@procivis/one-react-native-components 0.3.22 → 0.3.47

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 (234) hide show
  1. package/lib/commonjs/components/entity/entity-attributes.js +15 -2
  2. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  3. package/lib/commonjs/components/entity/entity-details-with-buttons.js +14 -38
  4. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  5. package/lib/commonjs/components/entity/entity-details.js +63 -34
  6. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  7. package/lib/commonjs/components/entity/index.js +2 -15
  8. package/lib/commonjs/components/entity/index.js.map +1 -1
  9. package/lib/commonjs/components/history/history-list-item-icon.js +4 -1
  10. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  11. package/lib/commonjs/components/history/history-list-item.js +15 -3
  12. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  13. package/lib/commonjs/components/history/history-list-screen.js +2 -0
  14. package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
  15. package/lib/commonjs/components/proof-request/share-credential.js +2 -2
  16. package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
  17. package/lib/commonjs/ui-components/blur/index.js +2 -9
  18. package/lib/commonjs/ui-components/blur/index.js.map +1 -1
  19. package/lib/commonjs/ui-components/buttons/hold-button.js +3 -2
  20. package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -1
  21. package/lib/commonjs/ui-components/camera/index.js +2 -9
  22. package/lib/commonjs/ui-components/camera/index.js.map +1 -1
  23. package/lib/commonjs/ui-components/control/index.js +0 -12
  24. package/lib/commonjs/ui-components/control/index.js.map +1 -1
  25. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +1 -1
  26. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  27. package/lib/commonjs/ui-components/credential/credential-carousel-images.js +15 -8
  28. package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
  29. package/lib/commonjs/ui-components/entity/entity-cluster.js +51 -3
  30. package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
  31. package/lib/commonjs/ui-components/entity/index.js +3 -16
  32. package/lib/commonjs/ui-components/entity/index.js.map +1 -1
  33. package/lib/commonjs/ui-components/history/history-details.js +1 -1
  34. package/lib/commonjs/ui-components/history/history-details.js.map +1 -1
  35. package/lib/commonjs/ui-components/history/index.js +4 -27
  36. package/lib/commonjs/ui-components/history/index.js.map +1 -1
  37. package/lib/commonjs/ui-components/icons/entity.js +26 -1
  38. package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
  39. package/lib/commonjs/ui-components/icons/history.js +3 -1
  40. package/lib/commonjs/ui-components/icons/history.js.map +1 -1
  41. package/lib/commonjs/ui-components/input/index.js +3 -32
  42. package/lib/commonjs/ui-components/input/index.js.map +1 -1
  43. package/lib/commonjs/ui-components/list/index.js +4 -19
  44. package/lib/commonjs/ui-components/list/index.js.map +1 -1
  45. package/lib/commonjs/ui-components/loader/index.js +2 -13
  46. package/lib/commonjs/ui-components/loader/index.js.map +1 -1
  47. package/lib/commonjs/ui-components/pin/index.js +2 -21
  48. package/lib/commonjs/ui-components/pin/index.js.map +1 -1
  49. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js +1 -1
  50. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  51. package/lib/commonjs/ui-components/searchbar/index.js +3 -16
  52. package/lib/commonjs/ui-components/searchbar/index.js.map +1 -1
  53. package/lib/commonjs/ui-components/settings/index.js +6 -37
  54. package/lib/commonjs/ui-components/settings/index.js.map +1 -1
  55. package/lib/commonjs/ui-components/state/index.js +2 -15
  56. package/lib/commonjs/ui-components/state/index.js.map +1 -1
  57. package/lib/commonjs/utils/date.js +1 -1
  58. package/lib/commonjs/utils/date.js.map +1 -1
  59. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js +4 -0
  60. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  61. package/lib/commonjs/utils/hooks/core/backup.js +22 -66
  62. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  63. package/lib/commonjs/utils/hooks/core/core-init.js +33 -25
  64. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  65. package/lib/commonjs/utils/hooks/core/credentials.js +2 -1
  66. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  67. package/lib/commonjs/utils/hooks/core/identifiers.js +42 -0
  68. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -0
  69. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  70. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  71. package/lib/commonjs/utils/hooks/core/proofs.js +26 -15
  72. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  73. package/lib/commonjs/utils/hooks/core/trust-entity.js +60 -13
  74. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  75. package/lib/commonjs/utils/parsers/credential-sharing.js +9 -15
  76. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  77. package/lib/commonjs/utils/parsers/credential.js +7 -0
  78. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  79. package/lib/commonjs/utils/parsers/query.js +22 -4
  80. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  81. package/lib/module/components/entity/entity-attributes.js +16 -3
  82. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  83. package/lib/module/components/entity/entity-details-with-buttons.js +16 -40
  84. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  85. package/lib/module/components/entity/entity-details.js +65 -36
  86. package/lib/module/components/entity/entity-details.js.map +1 -1
  87. package/lib/module/components/entity/index.js +2 -2
  88. package/lib/module/components/entity/index.js.map +1 -1
  89. package/lib/module/components/history/history-list-item-icon.js +5 -2
  90. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  91. package/lib/module/components/history/history-list-item.js +16 -4
  92. package/lib/module/components/history/history-list-item.js.map +1 -1
  93. package/lib/module/components/history/history-list-screen.js +2 -0
  94. package/lib/module/components/history/history-list-screen.js.map +1 -1
  95. package/lib/module/components/proof-request/share-credential.js +2 -2
  96. package/lib/module/components/proof-request/share-credential.js.map +1 -1
  97. package/lib/module/ui-components/blur/index.js +2 -2
  98. package/lib/module/ui-components/blur/index.js.map +1 -1
  99. package/lib/module/ui-components/buttons/hold-button.js +4 -3
  100. package/lib/module/ui-components/buttons/hold-button.js.map +1 -1
  101. package/lib/module/ui-components/camera/index.js +2 -2
  102. package/lib/module/ui-components/camera/index.js.map +1 -1
  103. package/lib/module/ui-components/control/index.js +3 -3
  104. package/lib/module/ui-components/control/index.js.map +1 -1
  105. package/lib/module/ui-components/credential/card/credential-details-card.js +1 -1
  106. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  107. package/lib/module/ui-components/credential/credential-carousel-images.js +15 -8
  108. package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
  109. package/lib/module/ui-components/entity/entity-cluster.js +52 -4
  110. package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
  111. package/lib/module/ui-components/entity/index.js +4 -4
  112. package/lib/module/ui-components/entity/index.js.map +1 -1
  113. package/lib/module/ui-components/history/history-details.js +1 -1
  114. package/lib/module/ui-components/history/history-details.js.map +1 -1
  115. package/lib/module/ui-components/history/index.js +6 -6
  116. package/lib/module/ui-components/history/index.js.map +1 -1
  117. package/lib/module/ui-components/icons/entity.js +24 -0
  118. package/lib/module/ui-components/icons/entity.js.map +1 -1
  119. package/lib/module/ui-components/icons/history.js +2 -0
  120. package/lib/module/ui-components/icons/history.js.map +1 -1
  121. package/lib/module/ui-components/input/index.js +6 -6
  122. package/lib/module/ui-components/input/index.js.map +1 -1
  123. package/lib/module/ui-components/list/index.js +4 -4
  124. package/lib/module/ui-components/list/index.js.map +1 -1
  125. package/lib/module/ui-components/loader/index.js +4 -4
  126. package/lib/module/ui-components/loader/index.js.map +1 -1
  127. package/lib/module/ui-components/pin/index.js +3 -3
  128. package/lib/module/ui-components/pin/index.js.map +1 -1
  129. package/lib/module/ui-components/screens/nerd-mode-screen.js +1 -1
  130. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  131. package/lib/module/ui-components/searchbar/index.js +4 -4
  132. package/lib/module/ui-components/searchbar/index.js.map +1 -1
  133. package/lib/module/ui-components/settings/index.js +10 -10
  134. package/lib/module/ui-components/settings/index.js.map +1 -1
  135. package/lib/module/ui-components/state/index.js +2 -2
  136. package/lib/module/ui-components/state/index.js.map +1 -1
  137. package/lib/module/utils/date.js +1 -1
  138. package/lib/module/utils/date.js.map +1 -1
  139. package/lib/module/utils/hooks/connectivity/connectivity.test.js +4 -0
  140. package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  141. package/lib/module/utils/hooks/core/backup.js +24 -68
  142. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  143. package/lib/module/utils/hooks/core/core-init.js +30 -24
  144. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  145. package/lib/module/utils/hooks/core/credentials.js +2 -1
  146. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  147. package/lib/module/utils/hooks/core/identifiers.js +34 -0
  148. package/lib/module/utils/hooks/core/identifiers.js.map +1 -0
  149. package/lib/module/utils/hooks/core/index.js +1 -0
  150. package/lib/module/utils/hooks/core/index.js.map +1 -1
  151. package/lib/module/utils/hooks/core/proofs.js +26 -15
  152. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  153. package/lib/module/utils/hooks/core/trust-entity.js +60 -13
  154. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  155. package/lib/module/utils/parsers/credential-sharing.js +9 -15
  156. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  157. package/lib/module/utils/parsers/credential.js +7 -0
  158. package/lib/module/utils/parsers/credential.js.map +1 -1
  159. package/lib/module/utils/parsers/query.js +20 -3
  160. package/lib/module/utils/parsers/query.js.map +1 -1
  161. package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
  162. package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +2 -2
  163. package/lib/typescript/components/entity/entity-details.d.ts +4 -2
  164. package/lib/typescript/components/entity/index.d.ts +2 -1
  165. package/lib/typescript/components/history/history-list-item.d.ts +1 -0
  166. package/lib/typescript/components/history/history-list-screen.d.ts +2 -0
  167. package/lib/typescript/ui-components/blur/index.d.ts +2 -1
  168. package/lib/typescript/ui-components/buttons/hold-button.d.ts +2 -2
  169. package/lib/typescript/ui-components/camera/index.d.ts +2 -1
  170. package/lib/typescript/ui-components/control/index.d.ts +4 -2
  171. package/lib/typescript/ui-components/credential/credential-carousel-images.d.ts +1 -0
  172. package/lib/typescript/ui-components/entity/entity-cluster.d.ts +1 -0
  173. package/lib/typescript/ui-components/entity/index.d.ts +4 -2
  174. package/lib/typescript/ui-components/history/history-details.d.ts +4 -1
  175. package/lib/typescript/ui-components/history/index.d.ts +6 -3
  176. package/lib/typescript/ui-components/icons/entity.d.ts +1 -0
  177. package/lib/typescript/ui-components/icons/history.d.ts +2 -0
  178. package/lib/typescript/ui-components/input/index.d.ts +6 -3
  179. package/lib/typescript/ui-components/list/index.d.ts +4 -2
  180. package/lib/typescript/ui-components/loader/index.d.ts +4 -2
  181. package/lib/typescript/ui-components/pin/index.d.ts +4 -2
  182. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +4 -4
  183. package/lib/typescript/ui-components/searchbar/index.d.ts +4 -2
  184. package/lib/typescript/ui-components/settings/index.d.ts +10 -5
  185. package/lib/typescript/ui-components/state/index.d.ts +2 -1
  186. package/lib/typescript/utils/hooks/core/backup.d.ts +5 -0
  187. package/lib/typescript/utils/hooks/core/core-init.d.ts +4 -1
  188. package/lib/typescript/utils/hooks/core/credentials.d.ts +2 -1
  189. package/lib/typescript/utils/hooks/core/identifiers.d.ts +5 -0
  190. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  191. package/lib/typescript/utils/hooks/core/proofs.d.ts +3 -1
  192. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +10 -4
  193. package/lib/typescript/utils/parsers/query.d.ts +3 -2
  194. package/package.json +9 -4
  195. package/src/components/entity/entity-attributes.tsx +17 -3
  196. package/src/components/entity/entity-details-with-buttons.tsx +17 -42
  197. package/src/components/entity/entity-details.tsx +64 -37
  198. package/src/components/entity/index.ts +2 -1
  199. package/src/components/history/history-list-item-icon.tsx +5 -0
  200. package/src/components/history/history-list-item.tsx +19 -4
  201. package/src/components/history/history-list-screen.tsx +4 -1
  202. package/src/components/proof-request/share-credential.tsx +1 -1
  203. package/src/ui-components/blur/index.ts +2 -1
  204. package/src/ui-components/buttons/hold-button.tsx +6 -5
  205. package/src/ui-components/camera/index.tsx +2 -1
  206. package/src/ui-components/control/index.ts +4 -2
  207. package/src/ui-components/credential/card/credential-details-card.tsx +1 -1
  208. package/src/ui-components/credential/credential-carousel-images.tsx +15 -8
  209. package/src/ui-components/entity/entity-cluster.tsx +63 -10
  210. package/src/ui-components/entity/index.ts +4 -2
  211. package/src/ui-components/history/history-details.tsx +5 -2
  212. package/src/ui-components/history/index.ts +6 -3
  213. package/src/ui-components/icons/entity.tsx +23 -0
  214. package/src/ui-components/icons/history.tsx +2 -0
  215. package/src/ui-components/input/index.ts +6 -3
  216. package/src/ui-components/list/index.ts +4 -2
  217. package/src/ui-components/loader/index.ts +4 -2
  218. package/src/ui-components/pin/index.ts +4 -2
  219. package/src/ui-components/screens/nerd-mode-screen.tsx +5 -5
  220. package/src/ui-components/searchbar/index.ts +4 -2
  221. package/src/ui-components/settings/index.ts +10 -5
  222. package/src/ui-components/state/index.ts +2 -1
  223. package/src/utils/date.ts +1 -1
  224. package/src/utils/hooks/connectivity/connectivity.test.ts +7 -2
  225. package/src/utils/hooks/core/backup.ts +30 -72
  226. package/src/utils/hooks/core/core-init.ts +29 -23
  227. package/src/utils/hooks/core/credentials.ts +9 -3
  228. package/src/utils/hooks/core/identifiers.ts +39 -0
  229. package/src/utils/hooks/core/index.ts +2 -1
  230. package/src/utils/hooks/core/proofs.ts +31 -18
  231. package/src/utils/hooks/core/trust-entity.ts +55 -17
  232. package/src/utils/parsers/credential-sharing.tsx +30 -36
  233. package/src/utils/parsers/credential.ts +4 -0
  234. package/src/utils/parsers/query.tsx +14 -4
@@ -1,62 +1,91 @@
1
1
  import { TrustEntityRoleEnum, TrustEntityStateEnum } from '@procivis/react-native-one-core';
2
2
  import React, { useMemo } from 'react';
3
3
  import EntityCluster from '../../ui-components/entity/entity-cluster';
4
- import { EntityTrustedIcon } from '../../ui-components/icons';
5
- import { concatTestID, replaceBreakingHyphens } from '../../utils';
4
+ import { EntityNotTrustedIcon, EntityTrustedIcon } from '../../ui-components/icons';
5
+ import { concatTestID, replaceBreakingHyphens, useIdentifierDetails } from '../../utils';
6
6
  import { useTrustEntity } from '../../utils/hooks/core/trust-entity';
7
+ const getCertificateCommonName = certificate => {
8
+ var _certificate$x509Attr;
9
+ return (_certificate$x509Attr = certificate.x509Attributes.subject.split(', ').find(s => s.startsWith('CN'))) === null || _certificate$x509Attr === void 0 || (_certificate$x509Attr = _certificate$x509Attr.split('=')) === null || _certificate$x509Attr === void 0 ? void 0 : _certificate$x509Attr.pop();
10
+ };
7
11
  const EntityDetails = ({
8
12
  labels,
9
13
  renderMore,
10
14
  role,
11
15
  style,
12
16
  testID,
17
+ sublineColor,
18
+ textColor,
13
19
  ...props
14
20
  }) => {
15
- var _props$did;
21
+ var _props$identifier, _props$identifier2;
16
22
  const {
17
- data
18
- } = useTrustEntity('did' in props ? (_props$did = props.did) === null || _props$did === void 0 ? void 0 : _props$did.id : undefined);
23
+ data,
24
+ isLoading: isLoadingTrustEntity
25
+ } = useTrustEntity('identifier' in props ? (_props$identifier = props.identifier) === null || _props$identifier === void 0 ? void 0 : _props$identifier.id : undefined);
19
26
  const trustEntity = 'entity' in props ? props.entity : data !== null && data !== void 0 ? data : undefined;
27
+ const {
28
+ data: identifierDetail,
29
+ isLoading: isLoadingIdentifier
30
+ } = useIdentifierDetails('identifier' in props ? (_props$identifier2 = props.identifier) === null || _props$identifier2 === void 0 ? void 0 : _props$identifier2.id : undefined);
20
31
  const trusted = trustEntity && trustEntity.state === TrustEntityStateEnum.ACTIVE && (trustEntity.role === TrustEntityRoleEnum.BOTH || trustEntity.role === role);
32
+ const isLoading = isLoadingIdentifier || isLoadingTrustEntity;
33
+ const avatarProps = useMemo(() => {
34
+ var _identifierDetail$cer, _getCertificateCommon;
35
+ if (isLoading) {
36
+ return undefined;
37
+ }
38
+ const avatar = trusted && (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === 'DID' && trustEntity.logo ? {
39
+ imageSource: {
40
+ uri: trustEntity.logo
41
+ }
42
+ } : undefined;
43
+ const placeholderText = (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === 'CERTIFICATE' && (_identifierDetail$cer = identifierDetail.certificates) !== null && _identifierDetail$cer !== void 0 && _identifierDetail$cer[0] ? (_getCertificateCommon = getCertificateCommonName(identifierDetail.certificates[0])) === null || _getCertificateCommon === void 0 ? void 0 : _getCertificateCommon.substring(0, 1) : 'D';
44
+ const statusIcon = trusted ? /*#__PURE__*/React.createElement(EntityTrustedIcon, {
45
+ testID: concatTestID(testID, 'statusIcon', 'trusted')
46
+ }) : /*#__PURE__*/React.createElement(EntityNotTrustedIcon, {
47
+ testID: concatTestID(testID, 'statusIcon', 'notTrusted')
48
+ });
49
+ if (trustEntity) {
50
+ return {
51
+ avatar,
52
+ placeholderText: trusted && (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === 'DID' ? trustEntity.name.substring(0, 1) : placeholderText,
53
+ statusIcon,
54
+ testID: concatTestID(testID, 'avatar')
55
+ };
56
+ }
57
+ return {
58
+ placeholderText,
59
+ statusIcon
60
+ };
61
+ }, [trustEntity, trusted, identifierDetail, isLoading, testID]);
21
62
  const trustEntityName = useMemo(() => {
22
- if (!trusted) {
23
- return labels.unknown;
63
+ var _identifierDetail$cer2, _identifierDetail$did;
64
+ if (isLoading) {
65
+ return '';
24
66
  }
25
- return trustEntity.name;
26
- }, [labels.unknown, trustEntity, trusted]);
27
- const trustEntitySubline = useMemo(() => {
28
- if (!trustEntity) {
29
- var _props$did2;
30
- return 'did' in props ? (_props$did2 = props.did) !== null && _props$did2 !== void 0 && _props$did2.did ? replaceBreakingHyphens(props.did.did) : undefined : undefined;
67
+ if ((identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === 'CERTIFICATE' && (_identifierDetail$cer2 = identifierDetail.certificates) !== null && _identifierDetail$cer2 !== void 0 && _identifierDetail$cer2[0]) {
68
+ const commonName = getCertificateCommonName(identifierDetail.certificates[0]);
69
+ if (commonName) {
70
+ return commonName;
71
+ }
31
72
  }
32
- if (!trusted) {
33
- return replaceBreakingHyphens(trustEntity.did.did);
73
+ if (trustEntity) {
74
+ return trustEntity.name;
34
75
  }
35
- return undefined;
36
- }, [props, trustEntity, trusted]);
37
- const trustEntityStatusIcon = useMemo(() => {
38
- if (!trusted) {
39
- return undefined;
76
+ if (identifierDetail !== null && identifierDetail !== void 0 && (_identifierDetail$did = identifierDetail.did) !== null && _identifierDetail$did !== void 0 && _identifierDetail$did.did) {
77
+ return replaceBreakingHyphens(identifierDetail.did.did);
40
78
  }
41
- return /*#__PURE__*/React.createElement(EntityTrustedIcon, {
42
- testID: concatTestID(testID, 'statusIcon', 'trusted')
43
- });
44
- }, [testID, trusted]);
79
+ return labels.unknown;
80
+ }, [labels.unknown, trustEntity, identifierDetail, isLoading]);
45
81
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EntityCluster, {
46
- avatar: trustEntity ? {
47
- avatar: trusted && trustEntity.logo ? {
48
- imageSource: {
49
- uri: trustEntity.logo
50
- }
51
- } : undefined,
52
- placeholderText: trustEntity.name.substring(0, 1),
53
- statusIcon: trustEntityStatusIcon,
54
- testID: concatTestID(testID, 'avatar')
55
- } : undefined,
82
+ avatar: avatarProps,
56
83
  entityName: trustEntityName,
57
84
  style: style,
58
- subline: trustEntitySubline,
59
- testID: testID
85
+ testID: testID,
86
+ textColor: textColor,
87
+ sublineColor: sublineColor,
88
+ isLoading: isLoading
60
89
  }), trustEntity && renderMore && renderMore(trustEntity));
61
90
  };
62
91
  export default EntityDetails;
@@ -1 +1 @@
1
- {"version":3,"names":["TrustEntityRoleEnum","TrustEntityStateEnum","React","useMemo","EntityCluster","EntityTrustedIcon","concatTestID","replaceBreakingHyphens","useTrustEntity","EntityDetails","labels","renderMore","role","style","testID","props","_props$did","data","did","id","undefined","trustEntity","entity","trusted","state","ACTIVE","BOTH","trustEntityName","unknown","name","trustEntitySubline","_props$did2","trustEntityStatusIcon","createElement","Fragment","avatar","logo","imageSource","uri","placeholderText","substring","statusIcon","entityName","subline"],"sources":["entity-details.tsx"],"sourcesContent":["import { DidListItem, TrustEntity, TrustEntityRoleEnum, TrustEntityStateEnum } from '@procivis/react-native-one-core';\nimport React, { FC, ReactNode, useMemo } from 'react';\nimport { StyleProp, ViewStyle } from 'react-native';\n\nimport EntityCluster from '../../ui-components/entity/entity-cluster';\nimport { EntityTrustedIcon } from '../../ui-components/icons';\nimport { concatTestID, replaceBreakingHyphens } from '../../utils';\nimport { useTrustEntity } from '../../utils/hooks/core/trust-entity';\n\nexport type EntityDetailsLabels = {\n unknown: string;\n};\n\nexport type EntityDetailsProps = {\n labels: EntityDetailsLabels;\n renderMore?: (trustEntity: TrustEntity) => ReactNode;\n role: Exclude<TrustEntityRoleEnum, TrustEntityRoleEnum.BOTH>;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n} & (\n | {\n did?: DidListItem;\n }\n | {\n entity: TrustEntity;\n }\n);\n\nconst EntityDetails: FC<EntityDetailsProps> = ({ labels, renderMore, role, style, testID, ...props }) => {\n const { data } = useTrustEntity('did' in props ? props.did?.id : undefined);\n const trustEntity: TrustEntity | undefined = 'entity' in props ? props.entity : data ?? undefined;\n\n const trusted =\n trustEntity &&\n trustEntity.state === TrustEntityStateEnum.ACTIVE &&\n (trustEntity.role === TrustEntityRoleEnum.BOTH || trustEntity.role === role);\n\n const trustEntityName = useMemo(() => {\n if (!trusted) {\n return labels.unknown;\n }\n return trustEntity.name;\n }, [labels.unknown, trustEntity, trusted]);\n\n const trustEntitySubline = useMemo(() => {\n if (!trustEntity) {\n return 'did' in props ? (props.did?.did ? replaceBreakingHyphens(props.did.did) : undefined) : undefined;\n }\n if (!trusted) {\n return replaceBreakingHyphens(trustEntity.did.did);\n }\n return undefined;\n }, [props, trustEntity, trusted]);\n\n const trustEntityStatusIcon = useMemo(() => {\n if (!trusted) {\n return undefined;\n }\n return <EntityTrustedIcon testID={concatTestID(testID, 'statusIcon', 'trusted')} />;\n }, [testID, trusted]);\n\n return (\n <>\n <EntityCluster\n avatar={\n trustEntity\n ? {\n avatar: trusted && trustEntity.logo ? { imageSource: { uri: trustEntity.logo } } : undefined,\n placeholderText: trustEntity.name.substring(0, 1),\n statusIcon: trustEntityStatusIcon,\n testID: concatTestID(testID, 'avatar'),\n }\n : undefined\n }\n entityName={trustEntityName}\n style={style}\n subline={trustEntitySubline}\n testID={testID}\n />\n {trustEntity && renderMore && renderMore(trustEntity)}\n </>\n );\n};\n\nexport default EntityDetails;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TrustEntityRoleEnum","TrustEntityStateEnum","React","useMemo","EntityCluster","EntityNotTrustedIcon","EntityTrustedIcon","concatTestID","replaceBreakingHyphens","useIdentifierDetails","useTrustEntity","getCertificateCommonName","certificate","_certificate$x509Attr","x509Attributes","subject","split","find","s","startsWith","pop","EntityDetails","labels","renderMore","role","style","testID","sublineColor","textColor","props","_props$identifier","_props$identifier2","data","isLoading","isLoadingTrustEntity","identifier","id","undefined","trustEntity","entity","identifierDetail","isLoadingIdentifier","trusted","state","ACTIVE","BOTH","avatarProps","_identifierDetail$cer","_getCertificateCommon","avatar","type","logo","imageSource","uri","placeholderText","certificates","substring","statusIcon","createElement","name","trustEntityName","_identifierDetail$cer2","_identifierDetail$did","commonName","did","unknown","Fragment","entityName"],"sources":["entity-details.tsx"],"sourcesContent":["import { IdentifierCertificateDetail, IdentifierListItem,TrustEntity, TrustEntityRoleEnum, TrustEntityStateEnum } from '@procivis/react-native-one-core';\nimport React, { FC, ReactNode, useMemo } from 'react';\nimport { StyleProp, ViewStyle } from 'react-native';\n\nimport { AvatarProps } from '../../ui-components';\nimport EntityCluster from '../../ui-components/entity/entity-cluster';\nimport { EntityNotTrustedIcon, EntityTrustedIcon } from '../../ui-components/icons';\nimport { concatTestID, replaceBreakingHyphens, useIdentifierDetails } from '../../utils';\nimport { useTrustEntity } from '../../utils/hooks/core/trust-entity';\n\nexport type EntityDetailsLabels = {\n unknown: string;\n};\n\nexport type EntityDetailsProps = {\n labels: EntityDetailsLabels;\n renderMore?: (trustEntity: TrustEntity) => ReactNode;\n role: Exclude<TrustEntityRoleEnum, TrustEntityRoleEnum.BOTH>;\n style?: StyleProp<ViewStyle>;\n sublineColor?: string;\n textColor?: string;\n testID?: string;\n} & (\n | {\n identifier?: IdentifierListItem;\n }\n | {\n entity: TrustEntity;\n }\n );\n\nconst getCertificateCommonName = (certificate: IdentifierCertificateDetail): string | undefined => {\n return certificate.x509Attributes.subject.split(', ').find((s) => s.startsWith('CN'))?.split('=')?.pop();\n}\n\nconst EntityDetails: FC<EntityDetailsProps> = ({ labels, renderMore, role, style, testID, sublineColor, textColor, ...props }) => {\n const { data, isLoading: isLoadingTrustEntity } = useTrustEntity('identifier' in props ? props.identifier?.id : undefined);\n const trustEntity: TrustEntity | undefined = 'entity' in props ? props.entity : data ?? undefined;\n const { data: identifierDetail, isLoading: isLoadingIdentifier } = useIdentifierDetails('identifier' in props ? props.identifier?.id : undefined);\n\n const trusted =\n trustEntity &&\n trustEntity.state === TrustEntityStateEnum.ACTIVE &&\n (trustEntity.role === TrustEntityRoleEnum.BOTH || trustEntity.role === role);\n\n const isLoading = isLoadingIdentifier || isLoadingTrustEntity;\n\n const avatarProps: AvatarProps | undefined = useMemo(() => {\n if (isLoading) {\n return undefined;\n }\n\n const avatar = trusted && identifierDetail?.type === 'DID' && trustEntity.logo ? { imageSource: { uri: trustEntity.logo } } : undefined;\n\n const placeholderText = identifierDetail?.type === 'CERTIFICATE' && identifierDetail.certificates?.[0] ? getCertificateCommonName(identifierDetail.certificates[0])?.substring(0, 1) : 'D';\n\n const statusIcon = trusted ? \n <EntityTrustedIcon testID={concatTestID(testID, 'statusIcon', 'trusted')} /> :\n <EntityNotTrustedIcon testID={concatTestID(testID, 'statusIcon', 'notTrusted')} />;\n\n if (trustEntity) {\n return {\n avatar,\n placeholderText: trusted && identifierDetail?.type === 'DID' ? trustEntity.name.substring(0, 1) : placeholderText,\n statusIcon,\n testID: concatTestID(testID, 'avatar'),\n };\n }\n\n return {\n placeholderText,\n statusIcon,\n }\n }, [trustEntity, trusted, identifierDetail, isLoading, testID]);\n\n const trustEntityName = useMemo(() => {\n if (isLoading) {\n return '';\n }\n if (identifierDetail?.type === 'CERTIFICATE' && identifierDetail.certificates?.[0]) {\n const commonName = getCertificateCommonName(identifierDetail.certificates[0]);\n if (commonName) {\n return commonName;\n }\n }\n if (trustEntity) {\n return trustEntity.name;\n }\n if (identifierDetail?.did?.did) {\n return replaceBreakingHyphens(identifierDetail.did.did);\n }\n\n return labels.unknown;\n }, [labels.unknown, trustEntity, identifierDetail, isLoading]);\n\n return (\n <>\n <EntityCluster\n avatar={avatarProps}\n entityName={trustEntityName}\n style={style}\n testID={testID}\n textColor={textColor}\n sublineColor={sublineColor}\n isLoading={isLoading}\n />\n {trustEntity && renderMore && renderMore(trustEntity)}\n </>\n );\n};\n\nexport default EntityDetails;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import EntityDetails, { EntityDetailsLabels, EntityDetailsProps } from './entity-details';
2
- export { EntityDetails, EntityDetailsLabels, EntityDetailsProps };
1
+ import EntityDetails from './entity-details';
2
+ export { EntityDetails };
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EntityDetails","EntityDetailsLabels","EntityDetailsProps"],"sources":["index.ts"],"sourcesContent":["import EntityDetails, { EntityDetailsLabels, EntityDetailsProps } from './entity-details';\n\nexport { EntityDetails, EntityDetailsLabels, EntityDetailsProps };\n"],"mappings":"AAAA,OAAOA,aAAa,IAAIC,mBAAmB,EAAEC,kBAAkB,QAAQ,kBAAkB;AAEzF,SAASF,aAAa,EAAEC,mBAAmB,EAAEC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["EntityDetails"],"sources":["index.ts"],"sourcesContent":["import type { EntityDetailsLabels, EntityDetailsProps } from './entity-details';\nimport EntityDetails from './entity-details';\n\nexport { EntityDetails, EntityDetailsLabels, EntityDetailsProps };\n"],"mappings":"AACA,OAAOA,aAAa,MAAM,kBAAkB;AAE5C,SAASA,aAAa","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { HistoryActionEnum, HistoryEntityTypeEnum } from '@procivis/react-native-one-core';
2
2
  import React, { useMemo } from 'react';
3
- import { HistoryBackupCreatedIcon, HistoryBackupRestoredIcon, HistoryCredentialIcon, HistoryDidIcon, HistoryIssueIcon, HistoryItemIcon, HistoryKeyIcon, HistoryOrganisationIcon, HistoryProofRequestIcon, HistoryRevokeIcon, HistorySchemaIcon, HistoryStatusAcceptedIcon, HistoryStatusDeleteIcon, HistoryStatusErrorIcon, HistoryStatusSuspendIcon, HistorySuspendIcon, HistoryTrustAnchorIcon, HistoryTrustedEntityIcon } from '../../ui-components';
3
+ import { HistoryBackupCreatedIcon, HistoryBackupRestoredIcon, HistoryCertificateIcon, HistoryCredentialIcon, HistoryDidIcon, HistoryIdentifierIcon, HistoryIssueIcon, HistoryItemIcon, HistoryKeyIcon, HistoryOrganisationIcon, HistoryProofRequestIcon, HistoryRevokeIcon, HistorySchemaIcon, HistoryStatusAcceptedIcon, HistoryStatusDeleteIcon, HistoryStatusErrorIcon, HistoryStatusSuspendIcon, HistorySuspendIcon, HistoryTrustAnchorIcon, HistoryTrustedEntityIcon } from '../../ui-components';
4
4
  const defaultIcons = {
5
5
  actions: {
6
6
  ACCEPTED: HistoryStatusAcceptedIcon,
@@ -25,13 +25,16 @@ const defaultIcons = {
25
25
  UPDATED: HistoryStatusAcceptedIcon,
26
26
  WITHDRAWN: HistoryStatusErrorIcon,
27
27
  REACTIVATED: HistoryStatusAcceptedIcon,
28
- CSR_GENERATED: HistoryStatusAcceptedIcon
28
+ CSR_GENERATED: HistoryStatusAcceptedIcon,
29
+ EXPIRED: HistoryStatusErrorIcon
29
30
  },
30
31
  entityTypes: {
31
32
  BACKUP: HistoryRevokeIcon,
33
+ CERTIFICATE: HistoryCertificateIcon,
32
34
  CREDENTIAL: HistoryCredentialIcon,
33
35
  CREDENTIAL_SCHEMA: HistorySchemaIcon,
34
36
  DID: HistoryDidIcon,
37
+ IDENTIFIER: HistoryIdentifierIcon,
35
38
  KEY: HistoryKeyIcon,
36
39
  ORGANISATION: HistoryOrganisationIcon,
37
40
  PROOF: HistoryProofRequestIcon,
@@ -1 +1 @@
1
- {"version":3,"names":["HistoryActionEnum","HistoryEntityTypeEnum","React","useMemo","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistoryCredentialIcon","HistoryDidIcon","HistoryIssueIcon","HistoryItemIcon","HistoryKeyIcon","HistoryOrganisationIcon","HistoryProofRequestIcon","HistoryRevokeIcon","HistorySchemaIcon","HistoryStatusAcceptedIcon","HistoryStatusDeleteIcon","HistoryStatusErrorIcon","HistoryStatusSuspendIcon","HistorySuspendIcon","HistoryTrustAnchorIcon","HistoryTrustedEntityIcon","defaultIcons","actions","ACCEPTED","ACTIVATED","CLAIMS_REMOVED","CREATED","DEACTIVATED","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","entityTypes","BACKUP","CREDENTIAL","CREDENTIAL_SCHEMA","DID","KEY","ORGANISATION","PROOF","PROOF_SCHEMA","TRUST_ANCHOR","TRUST_ENTITY","getHistoryItemActionIcon","action","_defaultIcons$actions","HistoryListItemIcon","item","statusIcon","typeIcon","_defaultIcons$entityT","entityType","createElement","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import { HistoryActionEnum, HistoryEntityTypeEnum, HistoryListItem } 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 HistoryCredentialIcon,\n HistoryDidIcon,\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 HistoryActionEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeEnum]: 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 },\n entityTypes: {\n BACKUP: HistoryRevokeIcon,\n CREDENTIAL: HistoryCredentialIcon,\n CREDENTIAL_SCHEMA: HistorySchemaIcon,\n DID: HistoryDidIcon,\n KEY: HistoryKeyIcon,\n ORGANISATION: HistoryOrganisationIcon,\n PROOF: HistoryProofRequestIcon,\n PROOF_SCHEMA: HistorySchemaIcon,\n TRUST_ANCHOR: HistoryTrustAnchorIcon,\n TRUST_ENTITY: HistoryTrustedEntityIcon,\n },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItem;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeEnum.BACKUP:\n switch (item.action) {\n case HistoryActionEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionEnum.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":["HistoryActionEnum","HistoryEntityTypeEnum","React","useMemo","HistoryBackupCreatedIcon","HistoryBackupRestoredIcon","HistoryCertificateIcon","HistoryCredentialIcon","HistoryDidIcon","HistoryIdentifierIcon","HistoryIssueIcon","HistoryItemIcon","HistoryKeyIcon","HistoryOrganisationIcon","HistoryProofRequestIcon","HistoryRevokeIcon","HistorySchemaIcon","HistoryStatusAcceptedIcon","HistoryStatusDeleteIcon","HistoryStatusErrorIcon","HistoryStatusSuspendIcon","HistorySuspendIcon","HistoryTrustAnchorIcon","HistoryTrustedEntityIcon","defaultIcons","actions","ACCEPTED","ACTIVATED","CLAIMS_REMOVED","CREATED","DEACTIVATED","DELETED","ERRORED","IMPORTED","ISSUED","OFFERED","PENDING","REJECTED","REMOVED","REQUESTED","RESTORED","RETRACTED","REVOKED","SHARED","SUSPENDED","UPDATED","WITHDRAWN","REACTIVATED","CSR_GENERATED","EXPIRED","entityTypes","BACKUP","CERTIFICATE","CREDENTIAL","CREDENTIAL_SCHEMA","DID","IDENTIFIER","KEY","ORGANISATION","PROOF","PROOF_SCHEMA","TRUST_ANCHOR","TRUST_ENTITY","getHistoryItemActionIcon","action","_defaultIcons$actions","HistoryListItemIcon","item","statusIcon","typeIcon","_defaultIcons$entityT","entityType","createElement","StatusIcon","TypeIcon"],"sources":["history-list-item-icon.tsx"],"sourcesContent":["import { HistoryActionEnum, HistoryEntityTypeEnum, HistoryListItem } 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 HistoryActionEnum]: FC<SvgProps> };\n entityTypes: { [key in keyof typeof HistoryEntityTypeEnum]: 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 },\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 },\n};\n\nexport const getHistoryItemActionIcon = (action: HistoryActionEnum) => {\n return defaultIcons.actions[action] ?? HistoryStatusAcceptedIcon;\n};\n\nexport type HistoryListItemIconProps = {\n item: HistoryListItem;\n};\n\nexport const HistoryListItemIcon: FC<HistoryListItemIconProps> = ({ item }) => {\n const statusIcon = getHistoryItemActionIcon(item.action);\n const typeIcon = useMemo(() => {\n switch (item.entityType) {\n case HistoryEntityTypeEnum.BACKUP:\n switch (item.action) {\n case HistoryActionEnum.CREATED:\n return HistoryBackupCreatedIcon;\n case HistoryActionEnum.RESTORED:\n return HistoryBackupRestoredIcon;\n default:\n break;\n }\n break;\n case HistoryEntityTypeEnum.CREDENTIAL:\n switch (item.action) {\n case HistoryActionEnum.REVOKED:\n return HistoryRevokeIcon;\n case HistoryActionEnum.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,10 +1,11 @@
1
- import React, { useCallback } from 'react';
1
+ import React, { useCallback, useMemo } from 'react';
2
2
  import { HistoryItemView } from '../../ui-components';
3
3
  import { formatTime, useTrustEntity } from '../../utils';
4
4
  import { HistoryListItemIcon } from './history-list-item-icon';
5
5
  export const HistoryListItemView = ({
6
6
  dateFormatter = formatTime,
7
7
  first,
8
+ infoLabelMode = 'entity',
8
9
  item,
9
10
  labels,
10
11
  last,
@@ -12,10 +13,21 @@ export const HistoryListItemView = ({
12
13
  testID
13
14
  }) => {
14
15
  var _dateFormatter;
16
+ const identifierId = infoLabelMode === 'entity' ? item.target : undefined;
15
17
  const {
16
- data: entity
17
- } = useTrustEntity(item.target);
18
+ data: trustEntity
19
+ } = useTrustEntity(identifierId);
18
20
  const label = `${labels.entityTypes[item.entityType]} ${labels.actions[item.action]}`;
21
+ const info = useMemo(() => {
22
+ switch (infoLabelMode) {
23
+ case 'entity':
24
+ return trustEntity === null || trustEntity === void 0 ? void 0 : trustEntity.name;
25
+ case 'associatedLabel':
26
+ return item.name;
27
+ case 'none':
28
+ return undefined;
29
+ }
30
+ }, [infoLabelMode, item, trustEntity]);
19
31
  const icon = /*#__PURE__*/React.createElement(HistoryListItemIcon, {
20
32
  item: item
21
33
  });
@@ -25,7 +37,7 @@ export const HistoryListItemView = ({
25
37
  return /*#__PURE__*/React.createElement(HistoryItemView, {
26
38
  first: first,
27
39
  icon: icon,
28
- info: entity === null || entity === void 0 ? void 0 : entity.name,
40
+ info: info,
29
41
  label: label,
30
42
  last: last,
31
43
  onPress: pressHandler,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","HistoryItemView","formatTime","useTrustEntity","HistoryListItemIcon","HistoryListItemView","dateFormatter","first","item","labels","last","onPress","testID","_dateFormatter","data","entity","target","label","entityTypes","entityType","actions","action","icon","createElement","pressHandler","info","name","time","Date","createdDate"],"sources":["history-list-item.tsx"],"sourcesContent":["import { HistoryActionEnum, HistoryEntityTypeEnum, HistoryListItem } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback } from 'react';\n\nimport { HistoryItemView } from '../../ui-components';\nimport { formatTime, useTrustEntity } from '../../utils';\nimport { HistoryListItemIcon } from './history-list-item-icon';\n\nexport type HistoryListItemLabels = {\n actions: { [key in keyof typeof HistoryActionEnum]: string };\n entityTypes: { [key in keyof typeof HistoryEntityTypeEnum]: string };\n};\n\nexport interface HistoryListItemViewProps {\n dateFormatter?: (date: Date) => string;\n first?: boolean;\n item: HistoryListItem;\n labels: HistoryListItemLabels;\n last?: boolean;\n onPress?: (item: HistoryListItem) => void;\n testID?: string;\n}\n\nexport const HistoryListItemView: FC<HistoryListItemViewProps> = ({\n dateFormatter = formatTime,\n first,\n item,\n labels,\n last,\n onPress,\n testID\n}) => {\n const { data: entity } = useTrustEntity(item.target);\n\n const label = `${labels.entityTypes[item.entityType]} ${labels.actions[item.action]}`;\n const icon = <HistoryListItemIcon item={item} />;\n\n const pressHandler = useCallback(() => {\n onPress?.(item);\n }, [onPress, item]);\n\n return (\n <HistoryItemView\n first={first}\n icon={icon}\n info={entity?.name}\n label={label}\n last={last}\n onPress={pressHandler}\n testID={testID}\n time={dateFormatter(new Date(item.createdDate)) ?? ''}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,WAAW,QAAQ,OAAO;AAE9C,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,UAAU,EAAEC,cAAc,QAAQ,aAAa;AACxD,SAASC,mBAAmB,QAAQ,0BAA0B;AAiB9D,OAAO,MAAMC,mBAAiD,GAAGA,CAAC;EAChEC,aAAa,GAAGJ,UAAU;EAC1BK,KAAK;EACLC,IAAI;EACJC,MAAM;EACNC,IAAI;EACJC,OAAO;EACPC;AACF,CAAC,KAAK;EAAA,IAAAC,cAAA;EACJ,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGZ,cAAc,CAACK,IAAI,CAACQ,MAAM,CAAC;EAEpD,MAAMC,KAAK,GAAG,GAAGR,MAAM,CAACS,WAAW,CAACV,IAAI,CAACW,UAAU,CAAC,IAAIV,MAAM,CAACW,OAAO,CAACZ,IAAI,CAACa,MAAM,CAAC,EAAE;EACrF,MAAMC,IAAI,gBAAGvB,KAAA,CAAAwB,aAAA,CAACnB,mBAAmB;IAACI,IAAI,EAAEA;EAAK,CAAE,CAAC;EAEhD,MAAMgB,YAAY,GAAGxB,WAAW,CAAC,MAAM;IACrCW,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAGH,IAAI,CAAC;EACjB,CAAC,EAAE,CAACG,OAAO,EAAEH,IAAI,CAAC,CAAC;EAEnB,oBACET,KAAA,CAAAwB,aAAA,CAACtB,eAAe;IACdM,KAAK,EAAEA,KAAM;IACbe,IAAI,EAAEA,IAAK;IACXG,IAAI,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,IAAK;IACnBT,KAAK,EAAEA,KAAM;IACbP,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEa,YAAa;IACtBZ,MAAM,EAAEA,MAAO;IACfe,IAAI,GAAAd,cAAA,GAAEP,aAAa,CAAC,IAAIsB,IAAI,CAACpB,IAAI,CAACqB,WAAW,CAAC,CAAC,cAAAhB,cAAA,cAAAA,cAAA,GAAI;EAAG,CACvD,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","HistoryItemView","formatTime","useTrustEntity","HistoryListItemIcon","HistoryListItemView","dateFormatter","first","infoLabelMode","item","labels","last","onPress","testID","_dateFormatter","identifierId","target","undefined","data","trustEntity","label","entityTypes","entityType","actions","action","info","name","icon","createElement","pressHandler","time","Date","createdDate"],"sources":["history-list-item.tsx"],"sourcesContent":["import { HistoryActionEnum, HistoryEntityTypeEnum, HistoryListItem } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\n\nimport { HistoryItemView } from '../../ui-components';\nimport { formatTime, useTrustEntity } from '../../utils';\nimport { HistoryListItemIcon } from './history-list-item-icon';\n\nexport type HistoryListItemLabels = {\n actions: { [key in keyof typeof HistoryActionEnum]: string };\n entityTypes: { [key in keyof typeof HistoryEntityTypeEnum]: string };\n};\n\nexport interface HistoryListItemViewProps {\n dateFormatter?: (date: Date) => string;\n first?: boolean;\n infoLabelMode?: 'entity' | 'associatedLabel' | 'none';\n item: HistoryListItem;\n labels: HistoryListItemLabels;\n last?: boolean;\n onPress?: (item: HistoryListItem) => void;\n testID?: string;\n}\n\nexport const HistoryListItemView: FC<HistoryListItemViewProps> = ({\n dateFormatter = formatTime,\n first,\n infoLabelMode = 'entity',\n item,\n labels,\n last,\n onPress,\n testID,\n}) => {\n const identifierId = infoLabelMode === 'entity' ? item.target : undefined;\n const { data: trustEntity } = useTrustEntity(identifierId);\n\n const label = `${labels.entityTypes[item.entityType]} ${labels.actions[item.action]}`;\n\n const info = useMemo(() => {\n switch (infoLabelMode) {\n case 'entity':\n return trustEntity?.name;\n case 'associatedLabel':\n return item.name;\n case 'none':\n return undefined;\n }\n }, [infoLabelMode, item, trustEntity]);\n\n const icon = <HistoryListItemIcon item={item} />;\n\n const pressHandler = useCallback(() => {\n onPress?.(item);\n }, [onPress, item]);\n\n return (\n <HistoryItemView\n first={first}\n icon={icon}\n info={info}\n label={label}\n last={last}\n onPress={pressHandler}\n testID={testID}\n time={dateFormatter(new Date(item.createdDate)) ?? ''}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAEvD,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,UAAU,EAAEC,cAAc,QAAQ,aAAa;AACxD,SAASC,mBAAmB,QAAQ,0BAA0B;AAkB9D,OAAO,MAAMC,mBAAiD,GAAGA,CAAC;EAChEC,aAAa,GAAGJ,UAAU;EAC1BK,KAAK;EACLC,aAAa,GAAG,QAAQ;EACxBC,IAAI;EACJC,MAAM;EACNC,IAAI;EACJC,OAAO;EACPC;AACF,CAAC,KAAK;EAAA,IAAAC,cAAA;EACJ,MAAMC,YAAY,GAAGP,aAAa,KAAK,QAAQ,GAAGC,IAAI,CAACO,MAAM,GAAGC,SAAS;EACzE,MAAM;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAGhB,cAAc,CAACY,YAAY,CAAC;EAE1D,MAAMK,KAAK,GAAG,GAAGV,MAAM,CAACW,WAAW,CAACZ,IAAI,CAACa,UAAU,CAAC,IAAIZ,MAAM,CAACa,OAAO,CAACd,IAAI,CAACe,MAAM,CAAC,EAAE;EAErF,MAAMC,IAAI,GAAGzB,OAAO,CAAC,MAAM;IACzB,QAAQQ,aAAa;MACnB,KAAK,QAAQ;QACX,OAAOW,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEO,IAAI;MAC1B,KAAK,iBAAiB;QACpB,OAAOjB,IAAI,CAACiB,IAAI;MAClB,KAAK,MAAM;QACT,OAAOT,SAAS;IACpB;EACF,CAAC,EAAE,CAACT,aAAa,EAAEC,IAAI,EAAEU,WAAW,CAAC,CAAC;EAEtC,MAAMQ,IAAI,gBAAG7B,KAAA,CAAA8B,aAAA,CAACxB,mBAAmB;IAACK,IAAI,EAAEA;EAAK,CAAE,CAAC;EAEhD,MAAMoB,YAAY,GAAG9B,WAAW,CAAC,MAAM;IACrCa,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAGH,IAAI,CAAC;EACjB,CAAC,EAAE,CAACG,OAAO,EAAEH,IAAI,CAAC,CAAC;EAEnB,oBACEX,KAAA,CAAA8B,aAAA,CAAC3B,eAAe;IACdM,KAAK,EAAEA,KAAM;IACboB,IAAI,EAAEA,IAAK;IACXF,IAAI,EAAEA,IAAK;IACXL,KAAK,EAAEA,KAAM;IACbT,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEiB,YAAa;IACtBhB,MAAM,EAAEA,MAAO;IACfiB,IAAI,GAAAhB,cAAA,GAAER,aAAa,CAAC,IAAIyB,IAAI,CAACtB,IAAI,CAACuB,WAAW,CAAC,CAAC,cAAAlB,cAAA,cAAAA,cAAA,GAAI;EAAG,CACvD,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -7,6 +7,7 @@ import { HistoryListView } from './history-list';
7
7
  export const HistoryListScreen = ({
8
8
  children,
9
9
  groupItems = groupEntriesByDay,
10
+ itemInfoLabelMode = 'entity',
10
11
  labels,
11
12
  onBackPressed,
12
13
  onHistoryItemPressed,
@@ -52,6 +53,7 @@ export const HistoryListScreen = ({
52
53
  contentContainerStyle: insets,
53
54
  groupItems: groupItems,
54
55
  itemProps: {
56
+ infoLabelMode: itemInfoLabelMode,
55
57
  onPress: onHistoryItemPressed
56
58
  },
57
59
  onEmpty: setEmpty,
@@ -1 +1 @@
1
- {"version":3,"names":["debounce","React","useEffect","useMemo","useState","Animated","StyleSheet","View","BackButton","FilterButton","FoldableHeader","NavigationHeader","Typography","useAppColorScheme","concatTestID","groupEntriesByDay","useListContentInset","HistoryListView","HistoryListScreen","children","groupItems","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","colorScheme","empty","setEmpty","scrollOffset","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","searchText","handleSearchPhraseChange","undefined","headerHeight","insets","additionalBottomPadding","createElement","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","align","color","text","preset","emptyTitle","shaded","emptySubtitle","contentContainerStyle","itemProps","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","list","header","leftItem","title","searchBar","rightButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","search","staticHeader","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } 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';\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: HistoryListItem[]) => HistoryGroupByDaySection[];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItem) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQuery>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\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.searchText);\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={{ 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 rightButton: onOpenFilter ? (\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\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":["debounce","React","useEffect","useMemo","useState","Animated","StyleSheet","View","BackButton","FilterButton","FoldableHeader","NavigationHeader","Typography","useAppColorScheme","concatTestID","groupEntriesByDay","useListContentInset","HistoryListView","HistoryListScreen","children","groupItems","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","colorScheme","empty","setEmpty","scrollOffset","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","searchText","handleSearchPhraseChange","undefined","headerHeight","insets","additionalBottomPadding","createElement","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","align","color","text","preset","emptyTitle","shaded","emptySubtitle","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","list","header","leftItem","title","searchBar","rightButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","search","staticHeader","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } 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: HistoryListItem[]) => HistoryGroupByDaySection[];\n itemInfoLabelMode?: HistoryListItemViewProps['infoLabelMode'];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItem) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQuery>;\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.searchText);\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 rightButton: onOpenFilter ? (\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\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":[]}
@@ -23,7 +23,7 @@ export const ShareCredential = ({
23
23
  style,
24
24
  testID
25
25
  }) => {
26
- var _credential$issuerDid;
26
+ var _credential$issuer;
27
27
  const colorScheme = useAppColorScheme();
28
28
  const {
29
29
  data: credential,
@@ -39,7 +39,7 @@ export const ShareCredential = ({
39
39
  const multipleCredentialsAvailable = selectionOptions.length > 1;
40
40
  const validityState = getValidityState(credential ? {
41
41
  ...credential,
42
- issuerDid: credential === null || credential === void 0 || (_credential$issuerDid = credential.issuerDid) === null || _credential$issuerDid === void 0 ? void 0 : _credential$issuerDid.did
42
+ issuer: credential === null || credential === void 0 || (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
43
43
  } : undefined);
44
44
  const invalid = useMemo(() => {
45
45
  if (!(credential !== null && credential !== void 0 && credential.lvvcIssuanceDate) || !request.validityCredentialNbf) {
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialStateEnum","React","useMemo","StyleSheet","View","Button","ButtonType","CredentialDetailsCardListItem","Typography","useAppColorScheme","concatTestID","useCoreConfig","useCredentialDetail","getValidityState","ValidityState","shareCredentialCardFromCredential","ShareCredential","allCredentials","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuerDid","colorScheme","data","credential","isLoading","config","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","id","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuerDid","did","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","styles","notice","backgroundColor","background","align","color","text","preset","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","multipleCredentialsNotice","onPress","noticeButton","title","multipleCredentialsSelect","type","Secondary","card","attributes","Boolean","onAttributeSelected","borderColor","create","borderRadius","borderWidth","marginBottom","marginHorizontal","padding","marginTop","paddingVertical"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Button, ButtonType, CredentialDetailsCardListItem, Typography, useAppColorScheme } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { getValidityState, ValidityState } from '../../utils/parsers/credential';\nimport { shareCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialListItem[];\n credentialId: string;\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: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n credentialId,\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 { data: credential, isLoading } = useCredentialDetail(selectedCredentialId);\n const { data: config } = useCoreConfig();\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuerDid: credential?.issuerDid?.did,\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 <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.revoked')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.revokedCredentialNotice}\n </Typography>\n </View>\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.suspended')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.suspendedCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (invalid) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.invalid')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.invalidCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.multiple')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.multipleCredentialsNotice}\n </Typography>\n <Button\n onPress={onSelectCredential}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'notice.multiple.button')}\n title={labels.multipleCredentialsSelect}\n type={ButtonType.Secondary}\n />\n </View>\n );\n }\n }, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (isLoading || !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,\n onHeaderPress,\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 notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CredentialStateEnum","React","useMemo","StyleSheet","View","Button","ButtonType","CredentialDetailsCardListItem","Typography","useAppColorScheme","concatTestID","useCoreConfig","useCredentialDetail","getValidityState","ValidityState","shareCredentialCardFromCredential","ShareCredential","allCredentials","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","data","credential","isLoading","config","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","id","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","styles","notice","backgroundColor","background","align","color","text","preset","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","multipleCredentialsNotice","onPress","noticeButton","title","multipleCredentialsSelect","type","Secondary","card","attributes","Boolean","onAttributeSelected","borderColor","create","borderRadius","borderWidth","marginBottom","marginHorizontal","padding","marginTop","paddingVertical"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Button, ButtonType, CredentialDetailsCardListItem, Typography, useAppColorScheme } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { getValidityState, ValidityState } from '../../utils/parsers/credential';\nimport { shareCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialListItem[];\n credentialId: string;\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: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n credentialId,\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 { data: credential, isLoading } = useCredentialDetail(selectedCredentialId);\n const { data: config } = useCoreConfig();\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const 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 <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.revoked')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.revokedCredentialNotice}\n </Typography>\n </View>\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.suspended')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.suspendedCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (invalid) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.invalid')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.invalidCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.multiple')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.multipleCredentialsNotice}\n </Typography>\n <Button\n onPress={onSelectCredential}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'notice.multiple.button')}\n title={labels.multipleCredentialsSelect}\n type={ButtonType.Secondary}\n />\n </View>\n );\n }\n }, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (isLoading || !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,\n onHeaderPress,\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 notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import BlurView, { BlurViewProps } from './blur-view';
2
- export { BlurView, BlurViewProps };
1
+ import BlurView from './blur-view';
2
+ export { BlurView };
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BlurView","BlurViewProps"],"sources":["index.ts"],"sourcesContent":["import BlurView, { BlurViewProps } from './blur-view';\n\nexport { BlurView, BlurViewProps };\n"],"mappings":"AAAA,OAAOA,QAAQ,IAAIC,aAAa,QAAQ,aAAa;AAErD,SAASD,QAAQ,EAAEC,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["BlurView"],"sources":["index.ts"],"sourcesContent":["import type { BlurViewProps } from './blur-view';\nimport BlurView from './blur-view';\n\nexport { BlurView, BlurViewProps };\n"],"mappings":"AACA,OAAOA,QAAQ,MAAM,aAAa;AAElC,SAASA,QAAQ","ignoreList":[]}
@@ -2,7 +2,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
2
2
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
3
3
  import { StyleSheet, View } from 'react-native';
4
4
  import Animated, { cancelAnimation, Easing, runOnJS, useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';
5
- import { TouchableWithoutFeedback } from '../accessibility/accessibilityHistoryWrappers';
5
+ import { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';
6
6
  import { Typography } from '../text';
7
7
  import { useAppColorScheme } from '../theme';
8
8
  const Content = ({
@@ -144,13 +144,14 @@ const HoldButtonLayouted = ({
144
144
  textColor: colorScheme.accentText
145
145
  }, contentProps)))), /*#__PURE__*/React.createElement(View, {
146
146
  style: styles.pressableLayer
147
- }, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, _extends({
147
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
148
148
  accessibilityRole: "button",
149
149
  ref: ref,
150
150
  disabled: isFinished || disabled,
151
151
  onLongPress: onLongPress,
152
152
  onPressIn: isFinished ? undefined : onPressIn,
153
- onPressOut: isFinished ? undefined : onPressOut
153
+ onPressOut: isFinished ? undefined : onPressOut,
154
+ activeOpacity: 1
154
155
  }, props), /*#__PURE__*/React.createElement(View, {
155
156
  style: {
156
157
  width,