@procivis/one-react-native-components 0.3.99 → 0.3.106

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 (190) hide show
  1. package/lib/commonjs/components/history/history-list-item-icon.js +5 -3
  2. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  3. package/lib/commonjs/components/history/history-list-screen.js +1 -0
  4. package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
  5. package/lib/commonjs/components/proof-request/v1/share-credential.js +2 -14
  6. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
  7. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +1 -0
  8. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  9. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +1 -0
  10. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
  11. package/lib/commonjs/ui-components/buttons/connectivity-button.js +1 -0
  12. package/lib/commonjs/ui-components/buttons/connectivity-button.js.map +1 -1
  13. package/lib/commonjs/ui-components/buttons/filter-button.js +1 -0
  14. package/lib/commonjs/ui-components/buttons/filter-button.js.map +1 -1
  15. package/lib/commonjs/ui-components/buttons/ghost-button.js +1 -0
  16. package/lib/commonjs/ui-components/buttons/ghost-button.js.map +1 -1
  17. package/lib/commonjs/ui-components/buttons/hold-button.js +1 -0
  18. package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -1
  19. package/lib/commonjs/ui-components/buttons/scan-button.js +3 -0
  20. package/lib/commonjs/ui-components/buttons/scan-button.js.map +1 -1
  21. package/lib/commonjs/ui-components/buttons/share-button.js +1 -0
  22. package/lib/commonjs/ui-components/buttons/share-button.js.map +1 -1
  23. package/lib/commonjs/ui-components/control/checkbox.js +1 -0
  24. package/lib/commonjs/ui-components/control/checkbox.js.map +1 -1
  25. package/lib/commonjs/ui-components/credential/card/credential-card.js +1 -0
  26. package/lib/commonjs/ui-components/credential/card/credential-card.js.map +1 -1
  27. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +3 -1
  28. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  29. package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js +1 -0
  30. package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  31. package/lib/commonjs/ui-components/credential/card/credential-header.js +1 -0
  32. package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
  33. package/lib/commonjs/ui-components/credential/card/credential-image-carousel.js +2 -0
  34. package/lib/commonjs/ui-components/credential/card/credential-image-carousel.js.map +1 -1
  35. package/lib/commonjs/ui-components/credential/credential-attribute-item.js +1 -0
  36. package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
  37. package/lib/commonjs/ui-components/credential/credential-carousel-images.js +2 -1
  38. package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
  39. package/lib/commonjs/ui-components/credential/selector.js +1 -0
  40. package/lib/commonjs/ui-components/credential/selector.js.map +1 -1
  41. package/lib/commonjs/ui-components/entity/avatar.js +1 -0
  42. package/lib/commonjs/ui-components/entity/avatar.js.map +1 -1
  43. package/lib/commonjs/ui-components/header/foldable-header.js +26 -16
  44. package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
  45. package/lib/commonjs/ui-components/header/navigation-header.js +1 -0
  46. package/lib/commonjs/ui-components/header/navigation-header.js.map +1 -1
  47. package/lib/commonjs/ui-components/history/history-details.js +3 -1
  48. package/lib/commonjs/ui-components/history/history-details.js.map +1 -1
  49. package/lib/commonjs/ui-components/icons/history.js +1 -0
  50. package/lib/commonjs/ui-components/icons/history.js.map +1 -1
  51. package/lib/commonjs/ui-components/index.js +11 -0
  52. package/lib/commonjs/ui-components/index.js.map +1 -1
  53. package/lib/commonjs/ui-components/notice/index.js +14 -0
  54. package/lib/commonjs/ui-components/notice/index.js.map +1 -0
  55. package/lib/commonjs/ui-components/notice/wallet-notice.js +80 -0
  56. package/lib/commonjs/ui-components/notice/wallet-notice.js.map +1 -0
  57. package/lib/commonjs/ui-components/pin/keypad.js +1 -0
  58. package/lib/commonjs/ui-components/pin/keypad.js.map +1 -1
  59. package/lib/commonjs/ui-components/pin/pins.js +1 -0
  60. package/lib/commonjs/ui-components/pin/pins.js.map +1 -1
  61. package/lib/commonjs/ui-components/settings/setting-item.js +1 -0
  62. package/lib/commonjs/ui-components/settings/setting-item.js.map +1 -1
  63. package/lib/commonjs/ui-components/settings/settings-button.js +1 -0
  64. package/lib/commonjs/ui-components/settings/settings-button.js.map +1 -1
  65. package/lib/commonjs/utils/hooks/core/proofs.js +12 -2
  66. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  67. package/lib/commonjs/utils/parsers/credential-images.js +1 -1
  68. package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
  69. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +1 -1
  70. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  71. package/lib/commonjs/utils/parsers/credential-sharing.js +4 -10
  72. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  73. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  74. package/lib/module/components/history/history-list-item-icon.js +5 -3
  75. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  76. package/lib/module/components/history/history-list-screen.js +1 -0
  77. package/lib/module/components/history/history-list-screen.js.map +1 -1
  78. package/lib/module/components/proof-request/v1/share-credential.js +2 -14
  79. package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
  80. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +1 -0
  81. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  82. package/lib/module/components/proof-request/v2/share-credential-v2.js +1 -0
  83. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
  84. package/lib/module/ui-components/buttons/connectivity-button.js +1 -0
  85. package/lib/module/ui-components/buttons/connectivity-button.js.map +1 -1
  86. package/lib/module/ui-components/buttons/filter-button.js +1 -0
  87. package/lib/module/ui-components/buttons/filter-button.js.map +1 -1
  88. package/lib/module/ui-components/buttons/ghost-button.js +1 -0
  89. package/lib/module/ui-components/buttons/ghost-button.js.map +1 -1
  90. package/lib/module/ui-components/buttons/hold-button.js +1 -0
  91. package/lib/module/ui-components/buttons/hold-button.js.map +1 -1
  92. package/lib/module/ui-components/buttons/scan-button.js +3 -0
  93. package/lib/module/ui-components/buttons/scan-button.js.map +1 -1
  94. package/lib/module/ui-components/buttons/share-button.js +1 -0
  95. package/lib/module/ui-components/buttons/share-button.js.map +1 -1
  96. package/lib/module/ui-components/control/checkbox.js +1 -0
  97. package/lib/module/ui-components/control/checkbox.js.map +1 -1
  98. package/lib/module/ui-components/credential/card/credential-card.js +1 -0
  99. package/lib/module/ui-components/credential/card/credential-card.js.map +1 -1
  100. package/lib/module/ui-components/credential/card/credential-details-card.js +3 -1
  101. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  102. package/lib/module/ui-components/credential/card/credential-details-list-item.js +1 -0
  103. package/lib/module/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  104. package/lib/module/ui-components/credential/card/credential-header.js +1 -0
  105. package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
  106. package/lib/module/ui-components/credential/card/credential-image-carousel.js +2 -0
  107. package/lib/module/ui-components/credential/card/credential-image-carousel.js.map +1 -1
  108. package/lib/module/ui-components/credential/credential-attribute-item.js +1 -0
  109. package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
  110. package/lib/module/ui-components/credential/credential-carousel-images.js +2 -1
  111. package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
  112. package/lib/module/ui-components/credential/selector.js +1 -0
  113. package/lib/module/ui-components/credential/selector.js.map +1 -1
  114. package/lib/module/ui-components/entity/avatar.js +1 -0
  115. package/lib/module/ui-components/entity/avatar.js.map +1 -1
  116. package/lib/module/ui-components/header/foldable-header.js +26 -16
  117. package/lib/module/ui-components/header/foldable-header.js.map +1 -1
  118. package/lib/module/ui-components/header/navigation-header.js +1 -0
  119. package/lib/module/ui-components/header/navigation-header.js.map +1 -1
  120. package/lib/module/ui-components/history/history-details.js +3 -1
  121. package/lib/module/ui-components/history/history-details.js.map +1 -1
  122. package/lib/module/ui-components/icons/history.js +1 -0
  123. package/lib/module/ui-components/icons/history.js.map +1 -1
  124. package/lib/module/ui-components/index.js +1 -0
  125. package/lib/module/ui-components/index.js.map +1 -1
  126. package/lib/module/ui-components/notice/index.js +3 -0
  127. package/lib/module/ui-components/notice/index.js.map +1 -0
  128. package/lib/module/ui-components/notice/wallet-notice.js +72 -0
  129. package/lib/module/ui-components/notice/wallet-notice.js.map +1 -0
  130. package/lib/module/ui-components/pin/keypad.js +1 -0
  131. package/lib/module/ui-components/pin/keypad.js.map +1 -1
  132. package/lib/module/ui-components/pin/pins.js +1 -0
  133. package/lib/module/ui-components/pin/pins.js.map +1 -1
  134. package/lib/module/ui-components/settings/setting-item.js +1 -0
  135. package/lib/module/ui-components/settings/setting-item.js.map +1 -1
  136. package/lib/module/ui-components/settings/settings-button.js +1 -0
  137. package/lib/module/ui-components/settings/settings-button.js.map +1 -1
  138. package/lib/module/utils/hooks/core/proofs.js +12 -2
  139. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  140. package/lib/module/utils/parsers/credential-images.js +1 -1
  141. package/lib/module/utils/parsers/credential-images.js.map +1 -1
  142. package/lib/module/utils/parsers/credential-sharing-v2.js +1 -1
  143. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  144. package/lib/module/utils/parsers/credential-sharing.js +4 -10
  145. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  146. package/lib/module/utils/parsers/credential.js.map +1 -1
  147. package/lib/typescript/ui-components/index.d.ts +1 -0
  148. package/lib/typescript/ui-components/notice/index.d.ts +2 -0
  149. package/lib/typescript/ui-components/notice/wallet-notice.d.ts +11 -0
  150. package/lib/typescript/utils/hooks/core/proofs.d.ts +5 -3
  151. package/lib/typescript/utils/parsers/credential-sharing.d.ts +2 -2
  152. package/lib/typescript/utils/parsers/credential.d.ts +2 -29
  153. package/package.json +3 -3
  154. package/src/components/history/history-list-item-icon.tsx +4 -2
  155. package/src/components/history/history-list-screen.tsx +1 -0
  156. package/src/components/proof-request/v1/share-credential.tsx +1 -18
  157. package/src/components/proof-request/v2/share-credential-v2-group.tsx +1 -0
  158. package/src/components/proof-request/v2/share-credential-v2.tsx +1 -0
  159. package/src/ui-components/buttons/connectivity-button.tsx +1 -0
  160. package/src/ui-components/buttons/filter-button.tsx +1 -0
  161. package/src/ui-components/buttons/ghost-button.tsx +1 -0
  162. package/src/ui-components/buttons/hold-button.tsx +1 -0
  163. package/src/ui-components/buttons/scan-button.tsx +3 -0
  164. package/src/ui-components/buttons/share-button.tsx +1 -0
  165. package/src/ui-components/control/checkbox.tsx +1 -0
  166. package/src/ui-components/credential/card/credential-card.tsx +1 -0
  167. package/src/ui-components/credential/card/credential-details-card.tsx +2 -0
  168. package/src/ui-components/credential/card/credential-details-list-item.tsx +1 -0
  169. package/src/ui-components/credential/card/credential-header.tsx +1 -0
  170. package/src/ui-components/credential/card/credential-image-carousel.tsx +2 -2
  171. package/src/ui-components/credential/credential-attribute-item.tsx +1 -0
  172. package/src/ui-components/credential/credential-carousel-images.tsx +1 -0
  173. package/src/ui-components/credential/selector.tsx +1 -0
  174. package/src/ui-components/entity/avatar.tsx +1 -0
  175. package/src/ui-components/header/foldable-header.tsx +27 -20
  176. package/src/ui-components/header/navigation-header.tsx +1 -0
  177. package/src/ui-components/history/history-details.tsx +2 -0
  178. package/src/ui-components/icons/history.tsx +1 -0
  179. package/src/ui-components/index.ts +1 -0
  180. package/src/ui-components/notice/index.ts +3 -0
  181. package/src/ui-components/notice/wallet-notice.tsx +82 -0
  182. package/src/ui-components/pin/keypad.tsx +1 -0
  183. package/src/ui-components/pin/pins.tsx +1 -0
  184. package/src/ui-components/settings/setting-item.tsx +1 -0
  185. package/src/ui-components/settings/settings-button.tsx +1 -0
  186. package/src/utils/hooks/core/proofs.ts +10 -2
  187. package/src/utils/parsers/credential-images.tsx +1 -1
  188. package/src/utils/parsers/credential-sharing-v2.tsx +0 -1
  189. package/src/utils/parsers/credential-sharing.tsx +1 -10
  190. package/src/utils/parsers/credential.ts +2 -2
@@ -38,8 +38,7 @@ const defaultIcons = {
38
38
  INTERACTION_CREATED: _uiComponents.HistoryStatusAcceptedIcon,
39
39
  INTERACTION_ERRORED: _uiComponents.HistoryStatusErrorIcon,
40
40
  INTERACTION_EXPIRED: _uiComponents.HistoryStatusErrorIcon,
41
- REGISTRATION_CERTIFICATE_CREATED: _uiComponents.HistoryStatusAcceptedIcon,
42
- REGISTRATION_CERTIFICATE_REVOKED: _uiComponents.HistoryStatusErrorIcon
41
+ DELIVERED: _uiComponents.HistoryStatusAcceptedIcon
43
42
  },
44
43
  entityTypes: {
45
44
  BACKUP: _uiComponents.HistoryRevokeIcon,
@@ -62,7 +61,10 @@ const defaultIcons = {
62
61
  STS_ORGANISATION: _uiComponents.HistoryOrganisationIcon,
63
62
  STS_IAM_ROLE: _uiComponents.HistoryIdentifierIcon,
64
63
  STS_TOKEN: _uiComponents.HistoryKeyIcon,
65
- SIGNATURE: _uiComponents.HistoryCertificateIcon
64
+ SIGNATURE: _uiComponents.HistoryCertificateIcon,
65
+ STS_SESSION: _uiComponents.HistoryIdentifierIcon,
66
+ NOTIFICATION: _uiComponents.HistoryCredentialIcon,
67
+ SUPERVISORY_AUTHORITY: _uiComponents.HistoryCertificateIcon
66
68
  }
67
69
  };
68
70
  const getHistoryItemActionIcon = action => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_uiComponents","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultIcons","actions","ACCEPTED","HistoryStatusAcceptedIcon","ACTIVATED","CLAIMS_REMOVED","HistoryStatusDeleteIcon","CREATED","DEACTIVATED","HistoryStatusErrorIcon","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","HistoryStatusSuspendIcon","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","INTERACTION_CREATED","INTERACTION_ERRORED","INTERACTION_EXPIRED","REGISTRATION_CERTIFICATE_CREATED","REGISTRATION_CERTIFICATE_REVOKED","entityTypes","BACKUP","HistoryRevokeIcon","CERTIFICATE","HistoryCertificateIcon","CREDENTIAL","HistoryCredentialIcon","CREDENTIAL_SCHEMA","HistorySchemaIcon","DID","HistoryDidIcon","IDENTIFIER","HistoryIdentifierIcon","KEY","HistoryKeyIcon","ORGANISATION","HistoryOrganisationIcon","PROOF","HistoryProofRequestIcon","PROOF_SCHEMA","TRUST_ANCHOR","HistoryTrustAnchorIcon","TRUST_ENTITY","HistoryTrustedEntityIcon","WALLET_UNIT","WALLET_RELYING_PARTY","USER","PROVIDER","STS_ROLE","STS_ORGANISATION","STS_IAM_ROLE","STS_TOKEN","SIGNATURE","getHistoryItemActionIcon","action","_defaultIcons$actions","exports","HistoryListItemIcon","item","statusIcon","typeIcon","useMemo","_defaultIcons$entityT","entityType","HistoryEntityTypeBindingEnum","HistoryActionBindingEnum","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistorySuspendIcon","HistoryIssueIcon","createElement","HistoryItemIcon","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import {\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryListItemBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n HistoryBackupCreatedIcon,\n HistoryBackupRestoredIcon,\n HistoryCertificateIcon,\n HistoryCredentialIcon,\n HistoryDidIcon,\n HistoryIdentifierIcon,\n HistoryIssueIcon,\n HistoryItemIcon,\n HistoryKeyIcon,\n HistoryOrganisationIcon,\n HistoryProofRequestIcon,\n HistoryRevokeIcon,\n HistorySchemaIcon,\n HistoryStatusAcceptedIcon,\n HistoryStatusDeleteIcon,\n HistoryStatusErrorIcon,\n HistoryStatusSuspendIcon,\n HistorySuspendIcon,\n HistoryTrustAnchorIcon,\n HistoryTrustedEntityIcon,\n} from '../../ui-components';\n\nconst defaultIcons: {\n actions: { [key in keyof typeof HistoryActionBindingEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeBindingEnum]: FC<SvgProps> };\n} = {\n actions: {\n ACCEPTED: HistoryStatusAcceptedIcon,\n ACTIVATED: HistoryStatusAcceptedIcon,\n CLAIMS_REMOVED: HistoryStatusDeleteIcon,\n CREATED: HistoryStatusAcceptedIcon,\n DEACTIVATED: HistoryStatusErrorIcon,\n DELETED: HistoryStatusDeleteIcon,\n ERRORED: HistoryStatusErrorIcon,\n IMPORTED: HistoryStatusAcceptedIcon,\n ISSUED: HistoryStatusAcceptedIcon,\n OFFERED: HistoryStatusAcceptedIcon,\n PENDING: HistoryStatusAcceptedIcon,\n REJECTED: HistoryStatusErrorIcon,\n REMOVED: HistoryStatusDeleteIcon,\n REQUESTED: HistoryStatusAcceptedIcon,\n RESTORED: HistoryStatusAcceptedIcon,\n RETRACTED: HistoryStatusErrorIcon,\n REVOKED: HistoryStatusErrorIcon,\n SHARED: HistoryStatusAcceptedIcon,\n SUSPENDED: HistoryStatusSuspendIcon,\n UPDATED: HistoryStatusAcceptedIcon,\n WITHDRAWN: HistoryStatusErrorIcon,\n REACTIVATED: HistoryStatusAcceptedIcon,\n CSR_GENERATED: HistoryStatusAcceptedIcon,\n EXPIRED: HistoryStatusErrorIcon,\n INTERACTION_CREATED: HistoryStatusAcceptedIcon,\n INTERACTION_ERRORED: HistoryStatusErrorIcon,\n INTERACTION_EXPIRED: HistoryStatusErrorIcon,\n REGISTRATION_CERTIFICATE_CREATED: HistoryStatusAcceptedIcon,\n REGISTRATION_CERTIFICATE_REVOKED: HistoryStatusErrorIcon,\n },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CERTIFICATE: HistoryCertificateIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n IDENTIFIER: HistoryIdentifierIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n WALLET_UNIT: HistoryTrustedEntityIcon,\n WALLET_RELYING_PARTY: HistoryTrustedEntityIcon,\n USER: HistoryIdentifierIcon,\n PROVIDER: HistoryIdentifierIcon,\n STS_ROLE: HistoryIdentifierIcon,\n STS_ORGANISATION: HistoryOrganisationIcon,\n STS_IAM_ROLE: HistoryIdentifierIcon,\n STS_TOKEN: HistoryKeyIcon,\n SIGNATURE: HistoryCertificateIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionBindingEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItemBindingDto;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeBindingEnum.BACKUP:\n switch (item.action) {\n case HistoryActionBindingEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionBindingEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeBindingEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionBindingEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionBindingEnum.SUSPENDED:\n return HistorySuspendIcon;\n default:\n break;\n }\n break;\n default:\n break;\n }\n\n return defaultIcons.entityTypes[item.entityType] ?? HistoryIssueIcon;\n }, [item.action, item.entityType]);\n return <HistoryItemIcon StatusIcon={statusIcon} TypeIcon={typeIcon} />;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_uiComponents","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultIcons","actions","ACCEPTED","HistoryStatusAcceptedIcon","ACTIVATED","CLAIMS_REMOVED","HistoryStatusDeleteIcon","CREATED","DEACTIVATED","HistoryStatusErrorIcon","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","HistoryStatusSuspendIcon","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","INTERACTION_CREATED","INTERACTION_ERRORED","INTERACTION_EXPIRED","DELIVERED","entityTypes","BACKUP","HistoryRevokeIcon","CERTIFICATE","HistoryCertificateIcon","CREDENTIAL","HistoryCredentialIcon","CREDENTIAL_SCHEMA","HistorySchemaIcon","DID","HistoryDidIcon","IDENTIFIER","HistoryIdentifierIcon","KEY","HistoryKeyIcon","ORGANISATION","HistoryOrganisationIcon","PROOF","HistoryProofRequestIcon","PROOF_SCHEMA","TRUST_ANCHOR","HistoryTrustAnchorIcon","TRUST_ENTITY","HistoryTrustedEntityIcon","WALLET_UNIT","WALLET_RELYING_PARTY","USER","PROVIDER","STS_ROLE","STS_ORGANISATION","STS_IAM_ROLE","STS_TOKEN","SIGNATURE","STS_SESSION","NOTIFICATION","SUPERVISORY_AUTHORITY","getHistoryItemActionIcon","action","_defaultIcons$actions","exports","HistoryListItemIcon","item","statusIcon","typeIcon","useMemo","_defaultIcons$entityT","entityType","HistoryEntityTypeBindingEnum","HistoryActionBindingEnum","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistorySuspendIcon","HistoryIssueIcon","createElement","HistoryItemIcon","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import {\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryListItemBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n HistoryBackupCreatedIcon,\n HistoryBackupRestoredIcon,\n HistoryCertificateIcon,\n HistoryCredentialIcon,\n HistoryDidIcon,\n HistoryIdentifierIcon,\n HistoryIssueIcon,\n HistoryItemIcon,\n HistoryKeyIcon,\n HistoryOrganisationIcon,\n HistoryProofRequestIcon,\n HistoryRevokeIcon,\n HistorySchemaIcon,\n HistoryStatusAcceptedIcon,\n HistoryStatusDeleteIcon,\n HistoryStatusErrorIcon,\n HistoryStatusSuspendIcon,\n HistorySuspendIcon,\n HistoryTrustAnchorIcon,\n HistoryTrustedEntityIcon,\n} from '../../ui-components';\n\nconst defaultIcons: {\n actions: { [key in keyof typeof HistoryActionBindingEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeBindingEnum]: FC<SvgProps> };\n} = {\n actions: {\n ACCEPTED: HistoryStatusAcceptedIcon,\n ACTIVATED: HistoryStatusAcceptedIcon,\n CLAIMS_REMOVED: HistoryStatusDeleteIcon,\n CREATED: HistoryStatusAcceptedIcon,\n DEACTIVATED: HistoryStatusErrorIcon,\n DELETED: HistoryStatusDeleteIcon,\n ERRORED: HistoryStatusErrorIcon,\n IMPORTED: HistoryStatusAcceptedIcon,\n ISSUED: HistoryStatusAcceptedIcon,\n OFFERED: HistoryStatusAcceptedIcon,\n PENDING: HistoryStatusAcceptedIcon,\n REJECTED: HistoryStatusErrorIcon,\n REMOVED: HistoryStatusDeleteIcon,\n REQUESTED: HistoryStatusAcceptedIcon,\n RESTORED: HistoryStatusAcceptedIcon,\n RETRACTED: HistoryStatusErrorIcon,\n REVOKED: HistoryStatusErrorIcon,\n SHARED: HistoryStatusAcceptedIcon,\n SUSPENDED: HistoryStatusSuspendIcon,\n UPDATED: HistoryStatusAcceptedIcon,\n WITHDRAWN: HistoryStatusErrorIcon,\n REACTIVATED: HistoryStatusAcceptedIcon,\n CSR_GENERATED: HistoryStatusAcceptedIcon,\n EXPIRED: HistoryStatusErrorIcon,\n INTERACTION_CREATED: HistoryStatusAcceptedIcon,\n INTERACTION_ERRORED: HistoryStatusErrorIcon,\n INTERACTION_EXPIRED: HistoryStatusErrorIcon,\n DELIVERED: HistoryStatusAcceptedIcon,\n },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CERTIFICATE: HistoryCertificateIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n IDENTIFIER: HistoryIdentifierIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n WALLET_UNIT: HistoryTrustedEntityIcon,\n WALLET_RELYING_PARTY: HistoryTrustedEntityIcon,\n USER: HistoryIdentifierIcon,\n PROVIDER: HistoryIdentifierIcon,\n STS_ROLE: HistoryIdentifierIcon,\n STS_ORGANISATION: HistoryOrganisationIcon,\n STS_IAM_ROLE: HistoryIdentifierIcon,\n STS_TOKEN: HistoryKeyIcon,\n SIGNATURE: HistoryCertificateIcon,\n STS_SESSION: HistoryIdentifierIcon,\n NOTIFICATION: HistoryCredentialIcon,\n SUPERVISORY_AUTHORITY: HistoryCertificateIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionBindingEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItemBindingDto;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeBindingEnum.BACKUP:\n switch (item.action) {\n case HistoryActionBindingEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionBindingEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeBindingEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionBindingEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionBindingEnum.SUSPENDED:\n return HistorySuspendIcon;\n default:\n break;\n }\n break;\n default:\n break;\n }\n\n return defaultIcons.entityTypes[item.entityType] ?? HistoryIssueIcon;\n }, [item.action, item.entityType]);\n return <HistoryItemIcon StatusIcon={statusIcon} TypeIcon={typeIcon} />;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -112,6 +112,7 @@ const styles = _reactNative.StyleSheet.create({
112
112
  },
113
113
  emptyNotice: {
114
114
  borderRadius: 12,
115
+ borderWidth: 0,
115
116
  marginHorizontal: 16,
116
117
  paddingBottom: 20,
117
118
  paddingHorizontal: 12,
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_historyList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HistoryListScreen","children","groupItems","groupEntriesByDay","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","_queryParams$search","colorScheme","useAppColorScheme","empty","setEmpty","useState","scrollOffset","Animated","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","search","text","handleSearchPhraseChange","useMemo","debounce","useEffect","undefined","headerHeight","insets","useListContentInset","additionalBottomPadding","createElement","View","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","Typography","align","color","preset","emptyTitle","shaded","emptySubtitle","HistoryListView","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","concatTestID","list","FoldableHeader","header","NavigationHeader","leftItem","BackButton","title","searchBar","rightButtons","FilterButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","staticHeader","exports","StyleSheet","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItemBindingDto, HistoryListQueryBindingDto } from '@procivis/react-native-one-core';\nimport { debounce } from 'lodash';\nimport React, { FC, PropsWithChildren, useEffect, useMemo, useState } from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport {\n BackButton,\n FilterButton,\n FoldableHeader,\n NavigationHeader,\n Typography,\n useAppColorScheme,\n} from '../../ui-components';\nimport { concatTestID, groupEntriesByDay, HistoryGroupByDaySection, useListContentInset } from '../../utils';\nimport { HistoryListLabels, HistoryListView } from './history-list';\nimport { HistoryListItemViewProps } from './history-list-item';\n\nexport type HistoryListScreenLabels = {\n emptyTitle: string;\n emptySubtitle: string;\n list: HistoryListLabels;\n title: string;\n search: string;\n};\n\nexport type HistoryListScreenProps = {\n groupItems?: (entries: HistoryListItemBindingDto[]) => HistoryGroupByDaySection[];\n itemInfoLabelMode?: HistoryListItemViewProps['infoLabelMode'];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItemBindingDto) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQueryBindingDto>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\n itemInfoLabelMode = 'entity',\n labels,\n onBackPressed,\n onHistoryItemPressed,\n onOpenFilter,\n onSearchPhraseChange,\n queryParams,\n testID = 'HistoryScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n const [empty, setEmpty] = useState<boolean>(false);\n const [scrollOffset] = useState(() => new Animated.Value(0));\n\n const [searchPhrase, setSearchPhrase] = useState<string>('');\n const searchBarVisible = !empty || Boolean(queryParams.search?.text);\n\n const handleSearchPhraseChange = useMemo(() => debounce(onSearchPhraseChange, 500), [onSearchPhraseChange]);\n useEffect(() => {\n handleSearchPhraseChange(searchPhrase || undefined);\n }, [searchPhrase, handleSearchPhraseChange]);\n\n const headerHeight = searchBarVisible ? 112 : 70;\n\n const insets = useListContentInset({\n additionalBottomPadding: 24,\n headerHeight,\n });\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: colorScheme.background,\n },\n ]}\n testID={testID}>\n {empty && (\n <View\n style={[\n styles.emptyNotice,\n {\n backgroundColor: colorScheme.white,\n marginTop: insets.paddingTop,\n },\n ]}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s\">\n {labels.emptyTitle}\n </Typography>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-small\" style={styles.shaded}>\n {labels.emptySubtitle}\n </Typography>\n </View>\n )}\n <HistoryListView\n contentContainerStyle={insets}\n groupItems={groupItems}\n itemProps={{ infoLabelMode: itemInfoLabelMode, onPress: onHistoryItemPressed }}\n onEmpty={setEmpty}\n onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollOffset } } }], {\n useNativeDriver: true,\n })}\n query={queryParams}\n testID={concatTestID(testID, 'list')}\n labels={labels.list}\n />\n {children}\n <FoldableHeader\n header={\n <NavigationHeader\n backgroundColor={'transparent'}\n leftItem={<BackButton onPress={onBackPressed} testID={concatTestID(testID, 'back')} />}\n title={labels.title}\n />\n }\n scrollOffset={scrollOffset}\n searchBar={\n !searchBarVisible\n ? undefined\n : {\n rightButtons: onOpenFilter\n ? [\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\n />,\n ]\n : undefined,\n rightButtonAlwaysVisible: true,\n searchBarProps: {\n onSearchPhraseChange: setSearchPhrase,\n placeholder: labels.search,\n searchPhrase,\n testID: concatTestID(testID, 'search'),\n },\n }\n }\n staticHeader={!searchBarVisible}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n emptyNotice: {\n borderRadius: 12,\n marginHorizontal: 16,\n paddingBottom: 20,\n paddingHorizontal: 12,\n paddingTop: 16,\n },\n shaded: {\n opacity: 0.7,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_historyList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HistoryListScreen","children","groupItems","groupEntriesByDay","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","_queryParams$search","colorScheme","useAppColorScheme","empty","setEmpty","useState","scrollOffset","Animated","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","search","text","handleSearchPhraseChange","useMemo","debounce","useEffect","undefined","headerHeight","insets","useListContentInset","additionalBottomPadding","createElement","View","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","Typography","align","color","preset","emptyTitle","shaded","emptySubtitle","HistoryListView","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","concatTestID","list","FoldableHeader","header","NavigationHeader","leftItem","BackButton","title","searchBar","rightButtons","FilterButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","staticHeader","exports","StyleSheet","create","flex","borderRadius","borderWidth","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItemBindingDto, HistoryListQueryBindingDto } from '@procivis/react-native-one-core';\nimport { debounce } from 'lodash';\nimport React, { FC, PropsWithChildren, useEffect, useMemo, useState } from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport {\n BackButton,\n FilterButton,\n FoldableHeader,\n NavigationHeader,\n Typography,\n useAppColorScheme,\n} from '../../ui-components';\nimport { concatTestID, groupEntriesByDay, HistoryGroupByDaySection, useListContentInset } from '../../utils';\nimport { HistoryListLabels, HistoryListView } from './history-list';\nimport { HistoryListItemViewProps } from './history-list-item';\n\nexport type HistoryListScreenLabels = {\n emptyTitle: string;\n emptySubtitle: string;\n list: HistoryListLabels;\n title: string;\n search: string;\n};\n\nexport type HistoryListScreenProps = {\n groupItems?: (entries: HistoryListItemBindingDto[]) => HistoryGroupByDaySection[];\n itemInfoLabelMode?: HistoryListItemViewProps['infoLabelMode'];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItemBindingDto) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQueryBindingDto>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\n itemInfoLabelMode = 'entity',\n labels,\n onBackPressed,\n onHistoryItemPressed,\n onOpenFilter,\n onSearchPhraseChange,\n queryParams,\n testID = 'HistoryScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n const [empty, setEmpty] = useState<boolean>(false);\n const [scrollOffset] = useState(() => new Animated.Value(0));\n\n const [searchPhrase, setSearchPhrase] = useState<string>('');\n const searchBarVisible = !empty || Boolean(queryParams.search?.text);\n\n const handleSearchPhraseChange = useMemo(() => debounce(onSearchPhraseChange, 500), [onSearchPhraseChange]);\n useEffect(() => {\n handleSearchPhraseChange(searchPhrase || undefined);\n }, [searchPhrase, handleSearchPhraseChange]);\n\n const headerHeight = searchBarVisible ? 112 : 70;\n\n const insets = useListContentInset({\n additionalBottomPadding: 24,\n headerHeight,\n });\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: colorScheme.background,\n },\n ]}\n testID={testID}>\n {empty && (\n <View\n style={[\n styles.emptyNotice,\n {\n backgroundColor: colorScheme.white,\n marginTop: insets.paddingTop,\n },\n ]}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s\">\n {labels.emptyTitle}\n </Typography>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-small\" style={styles.shaded}>\n {labels.emptySubtitle}\n </Typography>\n </View>\n )}\n <HistoryListView\n contentContainerStyle={insets}\n groupItems={groupItems}\n itemProps={{ infoLabelMode: itemInfoLabelMode, onPress: onHistoryItemPressed }}\n onEmpty={setEmpty}\n onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollOffset } } }], {\n useNativeDriver: true,\n })}\n query={queryParams}\n testID={concatTestID(testID, 'list')}\n labels={labels.list}\n />\n {children}\n <FoldableHeader\n header={\n <NavigationHeader\n backgroundColor={'transparent'}\n leftItem={<BackButton onPress={onBackPressed} testID={concatTestID(testID, 'back')} />}\n title={labels.title}\n />\n }\n scrollOffset={scrollOffset}\n searchBar={\n !searchBarVisible\n ? undefined\n : {\n rightButtons: onOpenFilter\n ? [\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\n />,\n ]\n : undefined,\n rightButtonAlwaysVisible: true,\n searchBarProps: {\n onSearchPhraseChange: setSearchPhrase,\n placeholder: labels.search,\n searchPhrase,\n testID: concatTestID(testID, 'search'),\n },\n }\n }\n staticHeader={!searchBarVisible}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n emptyNotice: {\n borderRadius: 12,\n borderWidth: 0,\n marginHorizontal: 16,\n paddingBottom: 20,\n paddingHorizontal: 12,\n paddingTop: 16,\n },\n shaded: {\n opacity: 0.7,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -47,12 +47,6 @@ const ShareCredential = ({
47
47
  ...credential,
48
48
  issuer: credential === null || credential === void 0 || (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
49
49
  } : undefined);
50
- const invalid = (0, _react.useMemo)(() => {
51
- if (!(credential !== null && credential !== void 0 && credential.lvvcIssuanceDate) || !request.validityCredentialNbf) {
52
- return false;
53
- }
54
- return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);
55
- }, [credential, request]);
56
50
  const footer = (0, _react.useMemo)(() => {
57
51
  if (!expanded) {
58
52
  return;
@@ -69,12 +63,6 @@ const ShareCredential = ({
69
63
  text: labels.suspendedCredentialNotice
70
64
  });
71
65
  }
72
- if (invalid) {
73
- return /*#__PURE__*/_react.default.createElement(_shareCredentialCardNotice.ShareCredentialCardNotice, {
74
- testID: (0, _utils.concatTestID)(testID, 'notice.invalid'),
75
- text: labels.invalidCredentialNotice
76
- });
77
- }
78
66
  if (multipleCredentialsAvailable) {
79
67
  return /*#__PURE__*/_react.default.createElement(_selectShareCredentialCardNotice.SelectShareCredentialCardNotice, {
80
68
  buttonTitle: labels.multipleCredentialsSelect,
@@ -83,14 +71,14 @@ const ShareCredential = ({
83
71
  text: labels.multipleCredentialsNotice
84
72
  });
85
73
  }
86
- }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
74
+ }, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
87
75
  if (!config) {
88
76
  return null;
89
77
  }
90
78
  const {
91
79
  card,
92
80
  attributes
93
- } = (0, _credentialSharing.shareCredentialCardFromCredential)(credential, invalid, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, testID, labels);
81
+ } = (0, _credentialSharing.shareCredentialCardFromCredential)(credential, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, testID, labels);
94
82
  return /*#__PURE__*/_react.default.createElement(_uiComponents.CredentialDetailsCardListItem, {
95
83
  attributes: attributes,
96
84
  card: {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credential","_credentialSharing","_selectShareCredentialCardNotice","_shareCredentialCardNotice","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","useAppColorScheme","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","CredentialStateBindingEnum","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","ValidityState","Revoked","createElement","ShareCredentialCardNotice","concatTestID","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","SelectShareCredentialCardNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","credentialId","onAttributeSelected","styles","borderColor","background","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetailBindingDto,\n CredentialListItemBindingDto,\n CredentialStateBindingEnum,\n PresentationDefinitionFieldBindingDto,\n PresentationDefinitionRequestedCredentialBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetailBindingDto[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionFieldBindingDto['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredentialBindingDto;\n selectedCredentialId?: CredentialListItemBindingDto['id'];\n selectedFields?: Array<PresentationDefinitionFieldBindingDto['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(\n ({ id, state }) => id === applicableCredentialId && state === CredentialStateBindingEnum.ACCEPTED,\n ),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (invalid) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credential","_credentialSharing","_selectShareCredentialCardNotice","_shareCredentialCardNotice","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","useAppColorScheme","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","CredentialStateBindingEnum","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuer","undefined","footer","ValidityState","Revoked","createElement","ShareCredentialCardNotice","concatTestID","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","SelectShareCredentialCardNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","credentialId","onAttributeSelected","styles","borderColor","background","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetailBindingDto,\n CredentialListItemBindingDto,\n CredentialStateBindingEnum,\n PresentationDefinitionFieldBindingDto,\n PresentationDefinitionRequestedCredentialBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetailBindingDto[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionFieldBindingDto['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredentialBindingDto;\n selectedCredentialId?: CredentialListItemBindingDto['id'];\n selectedFields?: Array<PresentationDefinitionFieldBindingDto['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(\n ({ id, state }) => id === applicableCredentialId && state === CredentialStateBindingEnum.ACCEPTED,\n ),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -148,6 +148,7 @@ const styles = _reactNative.StyleSheet.create({
148
148
  },
149
149
  groupedCredentialsWrapper: {
150
150
  borderRadius: 10 + _shareCredentialV.GroupedShareCredentialV2Padding,
151
+ borderWidth: 0,
151
152
  overflow: 'hidden',
152
153
  paddingBottom: _shareCredentialV.GroupedShareCredentialV2Padding
153
154
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_uiComponents","_credentialGroupHeader","_interopRequireDefault","_utils","_shareCredentialV","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","useCredentialListExpandedCard","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","useCallback","onNestedCardHeaderPress","credentialId","credentialCards","useMemo","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","Selector","status","SelectorStatus","SelectedRadio","Empty","UpIcon","DownIcon","ShareCredentialV2","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","concatTestID","groupHeaderAccessory","View","layout","LinearTransition","animatedWrapper","height","undefined","groupedCredentialsWrapper","BlurView","blurStyle","darkMode","StyleSheet","absoluteFill","TouchableOpacity","onPress","accessory","name","groupHeader","header","exports","create","CredentialCardShadow","borderRadius","GroupedShareCredentialV2Padding","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItemBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n PresentationDefinitionV2ResponseBindingDto,\n PresentationSubmitV2CredentialRequestBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, useCredentialListExpandedCard } from '../../../utils';\nimport { ShareCredentialLabels } from '../v1/share-credential';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequestBindingDto | PresentationSubmitV2CredentialRequestBindingDto[]\n>;\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItemBindingDto['id'],\n fieldPath: PresentationDefinitionV2ClaimBindingDto['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2ResponseBindingDto;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequestBindingDto[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequestBindingDto;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_uiComponents","_credentialGroupHeader","_interopRequireDefault","_utils","_shareCredentialV","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","useCredentialListExpandedCard","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","useCallback","onNestedCardHeaderPress","credentialId","credentialCards","useMemo","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","Selector","status","SelectorStatus","SelectedRadio","Empty","UpIcon","DownIcon","ShareCredentialV2","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","concatTestID","groupHeaderAccessory","View","layout","LinearTransition","animatedWrapper","height","undefined","groupedCredentialsWrapper","BlurView","blurStyle","darkMode","StyleSheet","absoluteFill","TouchableOpacity","onPress","accessory","name","groupHeader","header","exports","create","CredentialCardShadow","borderRadius","GroupedShareCredentialV2Padding","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItemBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n PresentationDefinitionV2ResponseBindingDto,\n PresentationSubmitV2CredentialRequestBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, useCredentialListExpandedCard } from '../../../utils';\nimport { ShareCredentialLabels } from '../v1/share-credential';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequestBindingDto | PresentationSubmitV2CredentialRequestBindingDto[]\n>;\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItemBindingDto['id'],\n fieldPath: PresentationDefinitionV2ClaimBindingDto['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2ResponseBindingDto;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequestBindingDto[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequestBindingDto;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -122,6 +122,7 @@ const styles = _reactNative.StyleSheet.create({
122
122
  },
123
123
  credential: {
124
124
  borderRadius: 10,
125
+ borderWidth: 0,
125
126
  marginBottom: 8
126
127
  },
127
128
  groupedCredential: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uiComponents","_utils","_credentialSharingV","_selectShareCredentialCardNotice","_shareCredentialCardNotice","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GroupedShareCredentialV2Padding","exports","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","useAppColorScheme","applicableCredentials","type_","undefined","failureHint","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","multipleCredentialsAvailable","Boolean","length","validityState","getValidityState","issuer","footer","ValidityState","Revoked","createElement","ShareCredentialCardNotice","concatTestID","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","SelectShareCredentialCardNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","useCallback","fieldPath","selected","card","header","attributes","shareCredentialCardFromV2PresentationCredential","accessory","CredentialDetailsCardListItem","credentialId","styles","groupedCredential","bordered","borderColor","background","StyleSheet","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n ApplicableCredentialOrFailureHintBindingEnum,\n CredentialListItemBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: ApplicableCredentialOrFailureHintBindingEnum;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItemBindingDto['id'],\n fieldPath: PresentationDefinitionV2ClaimBindingDto['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItemBindingDto['id'];\n selectedFields?: Array<PresentationDefinitionV2ClaimBindingDto['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;\n const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2ClaimBindingDto['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uiComponents","_utils","_credentialSharingV","_selectShareCredentialCardNotice","_shareCredentialCardNotice","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GroupedShareCredentialV2Padding","exports","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","useAppColorScheme","applicableCredentials","type_","undefined","failureHint","credential","find","c","id","data","config","useCoreConfig","cardWidth","useMemo","Dimensions","width","multipleCredentialsAvailable","Boolean","length","validityState","getValidityState","issuer","footer","ValidityState","Revoked","createElement","ShareCredentialCardNotice","concatTestID","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","SelectShareCredentialCardNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","useCallback","fieldPath","selected","card","header","attributes","shareCredentialCardFromV2PresentationCredential","accessory","CredentialDetailsCardListItem","credentialId","styles","groupedCredential","bordered","borderColor","background","StyleSheet","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n ApplicableCredentialOrFailureHintBindingEnum,\n CredentialListItemBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: ApplicableCredentialOrFailureHintBindingEnum;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItemBindingDto['id'],\n fieldPath: PresentationDefinitionV2ClaimBindingDto['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItemBindingDto['id'];\n selectedFields?: Array<PresentationDefinitionV2ClaimBindingDto['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;\n const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2ClaimBindingDto['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n borderWidth: 0,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -61,6 +61,7 @@ const ConnectivityButton = ({
61
61
  const styles = _reactNative.StyleSheet.create({
62
62
  button: {
63
63
  borderRadius: 20,
64
+ borderWidth: 0,
64
65
  overflow: 'hidden'
65
66
  },
66
67
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_accessibility","_connectivity","_text","_theme","e","__esModule","default","ConnectivityTransport","exports","ConnectivityButton","available","disabled","onPress","status","title","transport","testID","colorScheme","useAppColorScheme","backgroundColor","undefined","grayDark","white","opacity","icons","createElement","View","style","styles","Bluetooth","ConnectivityInternetOnIcon","concatTestID","ConnectivityInternetOffIcon","Internet","ConnectivityBluetoothOnIcon","ConnectivityBluetoothOffIcon","TouchableHighlight","button","container","Typography","color","text","preset","ConnectivityStatusIcon","StyleSheet","create","borderRadius","overflow","alignItems","flexDirection","height","paddingHorizontal","paddingVertical","gap","_default"],"sources":["connectivity-button.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { concatTestID } from '../../utils';\nimport { TouchableHighlight } from '../accessibility';\nimport {\n ConnectivityBluetoothOffIcon,\n ConnectivityBluetoothOnIcon,\n ConnectivityInternetOffIcon,\n ConnectivityInternetOnIcon,\n ConnectivityStatusIcon,\n} from '../icons/connectivity';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport enum ConnectivityTransport {\n Internet = 'Internet',\n Bluetooth = 'Bluetooth',\n All = 'All',\n}\n\nexport type ConnectivityButtonProps = {\n available: boolean;\n disabled?: boolean;\n onPress?: () => void;\n status?: boolean;\n title?: string;\n transport: ConnectivityTransport;\n testID?: string;\n};\n\nconst ConnectivityButton: FC<ConnectivityButtonProps> = ({\n available,\n disabled,\n onPress,\n status,\n title,\n transport,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n const backgroundColor = status === undefined ? colorScheme.grayDark : colorScheme.white;\n const opacity = disabled ? 0.7 : 1.0;\n const icons = (\n <View style={styles.icons}>\n {transport !== ConnectivityTransport.Bluetooth &&\n (available ? (\n <ConnectivityInternetOnIcon testID={concatTestID(testID, 'icon.on')} />\n ) : (\n <ConnectivityInternetOffIcon testID={concatTestID(testID, 'icon.off')} />\n ))}\n {transport !== ConnectivityTransport.Internet &&\n (available ? (\n <ConnectivityBluetoothOnIcon testID={concatTestID(testID, 'icon.on')} />\n ) : (\n <ConnectivityBluetoothOffIcon testID={concatTestID(testID, 'icon.off')} />\n ))}\n </View>\n );\n return (\n <TouchableHighlight onPress={onPress} style={styles.button} testID={testID}>\n <View style={[styles.container, { backgroundColor, opacity }]}>\n {icons}\n {title && (\n <Typography testID={concatTestID(testID, 'title')} color={colorScheme.text} preset=\"s\">\n {title}\n </Typography>\n )}\n {status !== undefined && <ConnectivityStatusIcon status={status} />}\n </View>\n </TouchableHighlight>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n borderRadius: 20,\n overflow: 'hidden',\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n height: 40,\n paddingHorizontal: 12,\n paddingVertical: 9,\n },\n icons: {\n alignItems: 'center',\n flexDirection: 'row',\n gap: 5,\n },\n});\n\nexport default ConnectivityButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_accessibility","_connectivity","_text","_theme","e","__esModule","default","ConnectivityTransport","exports","ConnectivityButton","available","disabled","onPress","status","title","transport","testID","colorScheme","useAppColorScheme","backgroundColor","undefined","grayDark","white","opacity","icons","createElement","View","style","styles","Bluetooth","ConnectivityInternetOnIcon","concatTestID","ConnectivityInternetOffIcon","Internet","ConnectivityBluetoothOnIcon","ConnectivityBluetoothOffIcon","TouchableHighlight","button","container","Typography","color","text","preset","ConnectivityStatusIcon","StyleSheet","create","borderRadius","borderWidth","overflow","alignItems","flexDirection","height","paddingHorizontal","paddingVertical","gap","_default"],"sources":["connectivity-button.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { concatTestID } from '../../utils';\nimport { TouchableHighlight } from '../accessibility';\nimport {\n ConnectivityBluetoothOffIcon,\n ConnectivityBluetoothOnIcon,\n ConnectivityInternetOffIcon,\n ConnectivityInternetOnIcon,\n ConnectivityStatusIcon,\n} from '../icons/connectivity';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport enum ConnectivityTransport {\n Internet = 'Internet',\n Bluetooth = 'Bluetooth',\n All = 'All',\n}\n\nexport type ConnectivityButtonProps = {\n available: boolean;\n disabled?: boolean;\n onPress?: () => void;\n status?: boolean;\n title?: string;\n transport: ConnectivityTransport;\n testID?: string;\n};\n\nconst ConnectivityButton: FC<ConnectivityButtonProps> = ({\n available,\n disabled,\n onPress,\n status,\n title,\n transport,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n\n const backgroundColor = status === undefined ? colorScheme.grayDark : colorScheme.white;\n const opacity = disabled ? 0.7 : 1.0;\n const icons = (\n <View style={styles.icons}>\n {transport !== ConnectivityTransport.Bluetooth &&\n (available ? (\n <ConnectivityInternetOnIcon testID={concatTestID(testID, 'icon.on')} />\n ) : (\n <ConnectivityInternetOffIcon testID={concatTestID(testID, 'icon.off')} />\n ))}\n {transport !== ConnectivityTransport.Internet &&\n (available ? (\n <ConnectivityBluetoothOnIcon testID={concatTestID(testID, 'icon.on')} />\n ) : (\n <ConnectivityBluetoothOffIcon testID={concatTestID(testID, 'icon.off')} />\n ))}\n </View>\n );\n return (\n <TouchableHighlight onPress={onPress} style={styles.button} testID={testID}>\n <View style={[styles.container, { backgroundColor, opacity }]}>\n {icons}\n {title && (\n <Typography testID={concatTestID(testID, 'title')} color={colorScheme.text} preset=\"s\">\n {title}\n </Typography>\n )}\n {status !== undefined && <ConnectivityStatusIcon status={status} />}\n </View>\n </TouchableHighlight>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n borderRadius: 20,\n borderWidth: 0,\n overflow: 'hidden',\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n height: 40,\n paddingHorizontal: 12,\n paddingVertical: 9,\n },\n icons: {\n alignItems: 'center',\n flexDirection: 'row',\n gap: 5,\n },\n});\n\nexport default ConnectivityButton;\n"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,7 @@ const styles = _reactNative.StyleSheet.create({
40
40
  button: {
41
41
  alignItems: 'center',
42
42
  borderRadius: 20,
43
+ borderWidth: 0,
43
44
  height: 40,
44
45
  justifyContent: 'center',
45
46
  width: 40
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_accessibilityHistoryWrappers","_icons","_colorSchemeContext","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","hitslop","bottom","left","right","top","FilterButton","active","style","props","colorScheme","useAppColorScheme","createElement","TouchableOpacity","accessibilityRole","accessibilityState","selected","hitSlop","styles","button","backgroundColor","accent","undefined","FilterIcon","color","white","StyleSheet","create","alignItems","borderRadius","height","justifyContent","width","_default","exports"],"sources":["filter-button.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Insets, StyleSheet, TouchableOpacityProps } from 'react-native';\n\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { FilterIcon } from '../icons/icons';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\nexport type FilterButtonProps = TouchableOpacityProps & {\n active: boolean;\n};\n\nconst hitslop: Insets = { bottom: 10, left: 10, right: 10, top: 10 };\n\nconst FilterButton: FC<FilterButtonProps> = ({ active, style, ...props }) => {\n const colorScheme = useAppColorScheme();\n return (\n <TouchableOpacity\n accessibilityRole=\"button\"\n accessibilityState={{ selected: active }}\n hitSlop={hitslop}\n style={[styles.button, { backgroundColor: active ? colorScheme.accent : undefined }, style]}\n {...props}>\n <FilterIcon color={active ? colorScheme.white : colorScheme.accent} />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n alignItems: 'center',\n borderRadius: 20,\n height: 40,\n justifyContent: 'center',\n width: 40,\n },\n});\n\nexport default FilterButton;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,6BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAAkE,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAMlE,MAAMO,OAAe,GAAG;EAAEC,MAAM,EAAE,EAAE;EAAEC,IAAI,EAAE,EAAE;EAAEC,KAAK,EAAE,EAAE;EAAEC,GAAG,EAAE;AAAG,CAAC;AAEpE,MAAMC,YAAmC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,KAAK;EAC3E,MAAMC,WAAW,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EACvC,oBACEhC,MAAA,CAAAS,OAAA,CAAAwB,aAAA,CAAC7B,6BAAA,CAAA8B,gBAAgB,EAAAxB,QAAA;IACfyB,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE;MAAEC,QAAQ,EAAET;IAAO,CAAE;IACzCU,OAAO,EAAEhB,OAAQ;IACjBO,KAAK,EAAE,CAACU,MAAM,CAACC,MAAM,EAAE;MAAEC,eAAe,EAAEb,MAAM,GAAGG,WAAW,CAACW,MAAM,GAAGC;IAAU,CAAC,EAAEd,KAAK;EAAE,GACxFC,KAAK,gBACT9B,MAAA,CAAAS,OAAA,CAAAwB,aAAA,CAAC5B,MAAA,CAAAuC,UAAU;IAACC,KAAK,EAAEjB,MAAM,GAAGG,WAAW,CAACe,KAAK,GAAGf,WAAW,CAACW;EAAO,CAAE,CACrD,CAAC;AAEvB,CAAC;AAED,MAAMH,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,MAAM,EAAE;IACNS,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA9C,OAAA,GAEYkB,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_accessibilityHistoryWrappers","_icons","_colorSchemeContext","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","hitslop","bottom","left","right","top","FilterButton","active","style","props","colorScheme","useAppColorScheme","createElement","TouchableOpacity","accessibilityRole","accessibilityState","selected","hitSlop","styles","button","backgroundColor","accent","undefined","FilterIcon","color","white","StyleSheet","create","alignItems","borderRadius","borderWidth","height","justifyContent","width","_default","exports"],"sources":["filter-button.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Insets, StyleSheet, TouchableOpacityProps } from 'react-native';\n\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { FilterIcon } from '../icons/icons';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\nexport type FilterButtonProps = TouchableOpacityProps & {\n active: boolean;\n};\n\nconst hitslop: Insets = { bottom: 10, left: 10, right: 10, top: 10 };\n\nconst FilterButton: FC<FilterButtonProps> = ({ active, style, ...props }) => {\n const colorScheme = useAppColorScheme();\n return (\n <TouchableOpacity\n accessibilityRole=\"button\"\n accessibilityState={{ selected: active }}\n hitSlop={hitslop}\n style={[styles.button, { backgroundColor: active ? colorScheme.accent : undefined }, style]}\n {...props}>\n <FilterIcon color={active ? colorScheme.white : colorScheme.accent} />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n alignItems: 'center',\n borderRadius: 20,\n borderWidth: 0,\n height: 40,\n justifyContent: 'center',\n width: 40,\n },\n});\n\nexport default FilterButton;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,6BAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAAkE,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAMlE,MAAMO,OAAe,GAAG;EAAEC,MAAM,EAAE,EAAE;EAAEC,IAAI,EAAE,EAAE;EAAEC,KAAK,EAAE,EAAE;EAAEC,GAAG,EAAE;AAAG,CAAC;AAEpE,MAAMC,YAAmC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,KAAK;EAC3E,MAAMC,WAAW,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EACvC,oBACEhC,MAAA,CAAAS,OAAA,CAAAwB,aAAA,CAAC7B,6BAAA,CAAA8B,gBAAgB,EAAAxB,QAAA;IACfyB,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE;MAAEC,QAAQ,EAAET;IAAO,CAAE;IACzCU,OAAO,EAAEhB,OAAQ;IACjBO,KAAK,EAAE,CAACU,MAAM,CAACC,MAAM,EAAE;MAAEC,eAAe,EAAEb,MAAM,GAAGG,WAAW,CAACW,MAAM,GAAGC;IAAU,CAAC,EAAEd,KAAK;EAAE,GACxFC,KAAK,gBACT9B,MAAA,CAAAS,OAAA,CAAAwB,aAAA,CAAC5B,MAAA,CAAAuC,UAAU;IAACC,KAAK,EAAEjB,MAAM,GAAGG,WAAW,CAACe,KAAK,GAAGf,WAAW,CAACW;EAAO,CAAE,CACrD,CAAC;AAEvB,CAAC;AAED,MAAMH,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,MAAM,EAAE;IACNS,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA/C,OAAA,GAEYkB,YAAY","ignoreList":[]}
@@ -50,6 +50,7 @@ const styles = _reactNative.StyleSheet.create({
50
50
  alignItems: 'center',
51
51
  backgroundColor: 'transparent',
52
52
  borderRadius: 12,
53
+ borderWidth: 0,
53
54
  height: 24,
54
55
  justifyContent: 'center',
55
56
  overflow: 'hidden',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_accessibility","_accessibilityHistoryWrappers","_theme","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","hitSlop","top","left","bottom","right","GhostButton","accessibilityLabel","icon","onPress","style","props","colorScheme","useAppColorScheme","accessible","useAccessibleAfterTransition","iconElement","useMemo","React","isValidElement","Icon","createElement","color","text","TouchableOpacity","accessibilityRole","styles","button","StyleSheet","create","alignItems","backgroundColor","borderRadius","height","justifyContent","overflow","width","_default","exports"],"sources":["ghost-button.tsx"],"sourcesContent":["import React, { FC, ReactNode, useMemo } from 'react';\nimport { Insets, StyleProp, StyleSheet, TouchableOpacityProps, ViewStyle } from 'react-native';\nimport type { SvgProps } from 'react-native-svg';\n\nimport { useAccessibleAfterTransition } from '../accessibility';\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAppColorScheme } from '../theme';\n\nexport type GhostButtonProps = TouchableOpacityProps & {\n accessibilityLabel: string;\n icon?: FC<SvgProps> | ReactNode;\n onPress: () => void;\n style?: StyleProp<ViewStyle>;\n};\n\nconst hitSlop: Insets = { top: 10, left: 10, bottom: 10, right: 10 };\n\nconst GhostButton: FC<GhostButtonProps> = ({ accessibilityLabel, icon, onPress, style, ...props }) => {\n const colorScheme = useAppColorScheme();\n const accessible = useAccessibleAfterTransition();\n\n const iconElement = useMemo(() => {\n if (React.isValidElement(icon)) {\n return icon;\n }\n const Icon = icon as FC<SvgProps>;\n return <Icon color={colorScheme.text} />;\n }, [colorScheme.text, icon]);\n\n return (\n <TouchableOpacity\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n accessible={accessible}\n hitSlop={hitSlop}\n onPress={onPress}\n style={[styles.button, style]}\n {...props}>\n {iconElement}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n alignItems: 'center',\n backgroundColor: 'transparent',\n borderRadius: 12,\n height: 24,\n justifyContent: 'center',\n overflow: 'hidden',\n width: 24,\n },\n});\n\nexport default GhostButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_accessibility","_accessibilityHistoryWrappers","_theme","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","hitSlop","top","left","bottom","right","GhostButton","accessibilityLabel","icon","onPress","style","props","colorScheme","useAppColorScheme","accessible","useAccessibleAfterTransition","iconElement","useMemo","React","isValidElement","Icon","createElement","color","text","TouchableOpacity","accessibilityRole","styles","button","StyleSheet","create","alignItems","backgroundColor","borderRadius","borderWidth","height","justifyContent","overflow","width","_default","exports"],"sources":["ghost-button.tsx"],"sourcesContent":["import React, { FC, ReactNode, useMemo } from 'react';\nimport { Insets, StyleProp, StyleSheet, TouchableOpacityProps, ViewStyle } from 'react-native';\nimport type { SvgProps } from 'react-native-svg';\n\nimport { useAccessibleAfterTransition } from '../accessibility';\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAppColorScheme } from '../theme';\n\nexport type GhostButtonProps = TouchableOpacityProps & {\n accessibilityLabel: string;\n icon?: FC<SvgProps> | ReactNode;\n onPress: () => void;\n style?: StyleProp<ViewStyle>;\n};\n\nconst hitSlop: Insets = { top: 10, left: 10, bottom: 10, right: 10 };\n\nconst GhostButton: FC<GhostButtonProps> = ({ accessibilityLabel, icon, onPress, style, ...props }) => {\n const colorScheme = useAppColorScheme();\n const accessible = useAccessibleAfterTransition();\n\n const iconElement = useMemo(() => {\n if (React.isValidElement(icon)) {\n return icon;\n }\n const Icon = icon as FC<SvgProps>;\n return <Icon color={colorScheme.text} />;\n }, [colorScheme.text, icon]);\n\n return (\n <TouchableOpacity\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n accessible={accessible}\n hitSlop={hitSlop}\n onPress={onPress}\n style={[styles.button, style]}\n {...props}>\n {iconElement}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n alignItems: 'center',\n backgroundColor: 'transparent',\n borderRadius: 12,\n borderWidth: 0,\n height: 24,\n justifyContent: 'center',\n overflow: 'hidden',\n width: 24,\n },\n});\n\nexport default GhostButton;\n"],"mappings":"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","ignoreList":[]}
@@ -203,6 +203,7 @@ HoldButton.displayName = 'HoldButton';
203
203
  const styles = _reactNative.StyleSheet.create({
204
204
  container: {
205
205
  borderRadius: 12,
206
+ borderWidth: 0,
206
207
  height: 68,
207
208
  overflow: 'hidden'
208
209
  },