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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/lib/commonjs/components/backup/preview-credentials.js.map +1 -1
  2. package/lib/commonjs/components/credential/credential.js.map +1 -1
  3. package/lib/commonjs/components/entity/EntityButtons.js.map +1 -1
  4. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  5. package/lib/commonjs/components/entity/entity-details-with-buttons.js +2 -2
  6. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  7. package/lib/commonjs/components/entity/entity-details.js +3 -3
  8. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  9. package/lib/commonjs/components/history/history-details-screen.js +10 -10
  10. package/lib/commonjs/components/history/history-details-screen.js.map +1 -1
  11. package/lib/commonjs/components/history/history-list-item-icon.js +12 -8
  12. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  13. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  14. package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
  15. package/lib/commonjs/components/history/history-list-section-header.js +1 -1
  16. package/lib/commonjs/components/history/history-list-section-header.js.map +1 -1
  17. package/lib/commonjs/components/history/history-list.js.map +1 -1
  18. package/lib/commonjs/components/proof-request/share-credential-card-notice.js.map +1 -1
  19. package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -1
  20. package/lib/commonjs/components/proof-request/v1/share-credential.js +1 -1
  21. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
  22. package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -1
  23. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +2 -2
  24. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  25. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +2 -2
  26. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
  27. package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
  28. package/lib/commonjs/ui-components/accessibility/locale/fi.json +1 -1
  29. package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
  30. package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
  31. package/lib/commonjs/ui-components/history/history-section-header.js +1 -1
  32. package/lib/commonjs/ui-components/history/history-section-header.js.map +1 -1
  33. package/lib/commonjs/ui-components/history/history-section-list-item.js +1 -1
  34. package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
  35. package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
  36. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  37. package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
  38. package/lib/commonjs/ui-components/settings/button-setting.js +3 -1
  39. package/lib/commonjs/ui-components/settings/button-setting.js.map +1 -1
  40. package/lib/commonjs/ui-components/settings/setting-item.js +4 -2
  41. package/lib/commonjs/ui-components/settings/setting-item.js.map +1 -1
  42. package/lib/commonjs/ui-components/settings/switch-setting.js +4 -2
  43. package/lib/commonjs/ui-components/settings/switch-setting.js.map +1 -1
  44. package/lib/commonjs/utils/date.js.map +1 -1
  45. package/lib/commonjs/utils/history.js.map +1 -1
  46. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  47. package/lib/commonjs/utils/hooks/core/backup.js +3 -3
  48. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  49. package/lib/commonjs/utils/hooks/core/cache.js +10 -10
  50. package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
  51. package/lib/commonjs/utils/hooks/core/core-context.js +5 -5
  52. package/lib/commonjs/utils/hooks/core/core-context.js.map +1 -1
  53. package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
  54. package/lib/commonjs/utils/hooks/core/credentials.js +3 -3
  55. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  56. package/lib/commonjs/utils/hooks/core/dids.js +1 -1
  57. package/lib/commonjs/utils/hooks/core/dids.js.map +1 -1
  58. package/lib/commonjs/utils/hooks/core/history.js +1 -1
  59. package/lib/commonjs/utils/hooks/core/history.js.map +1 -1
  60. package/lib/commonjs/utils/hooks/core/identifiers.js +3 -3
  61. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
  62. package/lib/commonjs/utils/hooks/core/proof-schemas.js.map +1 -1
  63. package/lib/commonjs/utils/hooks/core/proofs.js +9 -9
  64. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  65. package/lib/commonjs/utils/hooks/core/trust-entity.js +5 -5
  66. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  67. package/lib/commonjs/utils/hooks/core/wallet-unit.js +1 -1
  68. package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
  69. package/lib/commonjs/utils/hooks/navigation/open-settings.js.map +1 -1
  70. package/lib/commonjs/utils/hooks/revocation/credential-status.js +1 -1
  71. package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
  72. package/lib/commonjs/utils/parsers/credential-images.js +11 -10
  73. package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
  74. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +11 -8
  75. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  76. package/lib/commonjs/utils/parsers/credential-sharing.js +2 -2
  77. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  78. package/lib/commonjs/utils/parsers/credential.js +29 -16
  79. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  80. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  81. package/lib/commonjs/utils/url.js.map +1 -1
  82. package/lib/module/components/backup/preview-credentials.js.map +1 -1
  83. package/lib/module/components/credential/credential.js.map +1 -1
  84. package/lib/module/components/entity/EntityButtons.js.map +1 -1
  85. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  86. package/lib/module/components/entity/entity-details-with-buttons.js +3 -3
  87. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  88. package/lib/module/components/entity/entity-details.js +4 -4
  89. package/lib/module/components/entity/entity-details.js.map +1 -1
  90. package/lib/module/components/history/history-details-screen.js +11 -11
  91. package/lib/module/components/history/history-details-screen.js.map +1 -1
  92. package/lib/module/components/history/history-list-item-icon.js +13 -9
  93. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  94. package/lib/module/components/history/history-list-item.js.map +1 -1
  95. package/lib/module/components/history/history-list-screen.js.map +1 -1
  96. package/lib/module/components/history/history-list-section-header.js +1 -1
  97. package/lib/module/components/history/history-list-section-header.js.map +1 -1
  98. package/lib/module/components/history/history-list.js.map +1 -1
  99. package/lib/module/components/proof-request/share-credential-card-notice.js.map +1 -1
  100. package/lib/module/components/proof-request/v1/select-credential.js.map +1 -1
  101. package/lib/module/components/proof-request/v1/share-credential.js +2 -2
  102. package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
  103. package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -1
  104. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +2 -2
  105. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  106. package/lib/module/components/proof-request/v2/share-credential-v2.js +2 -2
  107. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
  108. package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
  109. package/lib/module/ui-components/accessibility/locale/fi.json +1 -1
  110. package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
  111. package/lib/module/ui-components/header/foldable-header.js.map +1 -1
  112. package/lib/module/ui-components/history/history-section-header.js +1 -1
  113. package/lib/module/ui-components/history/history-section-header.js.map +1 -1
  114. package/lib/module/ui-components/history/history-section-list-item.js +1 -1
  115. package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
  116. package/lib/module/ui-components/icons/entity.js.map +1 -1
  117. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  118. package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
  119. package/lib/module/ui-components/settings/button-setting.js +3 -1
  120. package/lib/module/ui-components/settings/button-setting.js.map +1 -1
  121. package/lib/module/ui-components/settings/setting-item.js +4 -2
  122. package/lib/module/ui-components/settings/setting-item.js.map +1 -1
  123. package/lib/module/ui-components/settings/switch-setting.js +4 -2
  124. package/lib/module/ui-components/settings/switch-setting.js.map +1 -1
  125. package/lib/module/utils/date.js.map +1 -1
  126. package/lib/module/utils/history.js.map +1 -1
  127. package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  128. package/lib/module/utils/hooks/core/backup.js +4 -4
  129. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  130. package/lib/module/utils/hooks/core/cache.js +11 -11
  131. package/lib/module/utils/hooks/core/cache.js.map +1 -1
  132. package/lib/module/utils/hooks/core/core-context.js +5 -5
  133. package/lib/module/utils/hooks/core/core-context.js.map +1 -1
  134. package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
  135. package/lib/module/utils/hooks/core/credentials.js +4 -4
  136. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  137. package/lib/module/utils/hooks/core/dids.js +2 -2
  138. package/lib/module/utils/hooks/core/dids.js.map +1 -1
  139. package/lib/module/utils/hooks/core/history.js +1 -1
  140. package/lib/module/utils/hooks/core/history.js.map +1 -1
  141. package/lib/module/utils/hooks/core/identifiers.js +4 -4
  142. package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
  143. package/lib/module/utils/hooks/core/proof-schemas.js.map +1 -1
  144. package/lib/module/utils/hooks/core/proofs.js +10 -10
  145. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  146. package/lib/module/utils/hooks/core/trust-entity.js +6 -6
  147. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  148. package/lib/module/utils/hooks/core/wallet-unit.js +2 -2
  149. package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
  150. package/lib/module/utils/hooks/navigation/open-settings.js.map +1 -1
  151. package/lib/module/utils/hooks/revocation/credential-status.js +2 -2
  152. package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
  153. package/lib/module/utils/parsers/credential-images.js +12 -11
  154. package/lib/module/utils/parsers/credential-images.js.map +1 -1
  155. package/lib/module/utils/parsers/credential-sharing-v2.js +11 -8
  156. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  157. package/lib/module/utils/parsers/credential-sharing.js +2 -2
  158. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  159. package/lib/module/utils/parsers/credential.js +30 -17
  160. package/lib/module/utils/parsers/credential.js.map +1 -1
  161. package/lib/module/utils/parsers/query.js.map +1 -1
  162. package/lib/module/utils/url.js.map +1 -1
  163. package/lib/typescript/components/backup/preview-credentials.d.ts +2 -2
  164. package/lib/typescript/components/credential/credential.d.ts +2 -2
  165. package/lib/typescript/components/entity/EntityButtons.d.ts +2 -2
  166. package/lib/typescript/components/entity/entity-attributes.d.ts +2 -2
  167. package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +3 -3
  168. package/lib/typescript/components/entity/entity-details.d.ts +5 -5
  169. package/lib/typescript/components/history/history-details-screen.d.ts +2 -2
  170. package/lib/typescript/components/history/history-list-item-icon.d.ts +3 -3
  171. package/lib/typescript/components/history/history-list-item.d.ts +5 -5
  172. package/lib/typescript/components/history/history-list-screen.d.ts +4 -4
  173. package/lib/typescript/components/history/history-list.d.ts +5 -5
  174. package/lib/typescript/components/proof-request/v1/select-credential.d.ts +2 -2
  175. package/lib/typescript/components/proof-request/v1/share-credential.d.ts +6 -6
  176. package/lib/typescript/components/proof-request/v2/select-credential-v2.d.ts +3 -3
  177. package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +4 -4
  178. package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +5 -5
  179. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +2 -2
  180. package/lib/typescript/ui-components/settings/setting-item.d.ts +1 -0
  181. package/lib/typescript/utils/history.d.ts +3 -3
  182. package/lib/typescript/utils/hooks/core/backup.d.ts +3 -3
  183. package/lib/typescript/utils/hooks/core/cache.d.ts +2 -2
  184. package/lib/typescript/utils/hooks/core/core-context.d.ts +1 -1
  185. package/lib/typescript/utils/hooks/core/credential-schemas.d.ts +6 -6
  186. package/lib/typescript/utils/hooks/core/credentials.d.ts +8 -8
  187. package/lib/typescript/utils/hooks/core/dids.d.ts +2 -2
  188. package/lib/typescript/utils/hooks/core/history.d.ts +2 -2
  189. package/lib/typescript/utils/hooks/core/identifiers.d.ts +3 -3
  190. package/lib/typescript/utils/hooks/core/proof-schemas.d.ts +7 -7
  191. package/lib/typescript/utils/hooks/core/proofs.d.ts +9 -9
  192. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +6 -6
  193. package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +5 -5
  194. package/lib/typescript/utils/parsers/credential-images.d.ts +2 -2
  195. package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +7 -7
  196. package/lib/typescript/utils/parsers/credential-sharing.d.ts +8 -8
  197. package/lib/typescript/utils/parsers/credential.d.ts +15 -14
  198. package/lib/typescript/utils/parsers/query.d.ts +8 -8
  199. package/package.json +6 -4
  200. package/src/components/backup/preview-credentials.tsx +2 -2
  201. package/src/components/credential/credential.tsx +2 -2
  202. package/src/components/entity/EntityButtons.tsx +2 -2
  203. package/src/components/entity/entity-attributes.tsx +4 -4
  204. package/src/components/entity/entity-details-with-buttons.tsx +11 -6
  205. package/src/components/entity/entity-details.tsx +17 -16
  206. package/src/components/history/history-details-screen.tsx +13 -16
  207. package/src/components/history/history-list-item-icon.tsx +19 -11
  208. package/src/components/history/history-list-item.tsx +9 -5
  209. package/src/components/history/history-list-screen.tsx +4 -4
  210. package/src/components/history/history-list-section-header.tsx +1 -1
  211. package/src/components/history/history-list.tsx +6 -6
  212. package/src/components/proof-request/share-credential-card-notice.tsx +1 -1
  213. package/src/components/proof-request/v1/select-credential.tsx +2 -2
  214. package/src/components/proof-request/v1/share-credential.tsx +13 -11
  215. package/src/components/proof-request/v2/select-credential-v2.tsx +6 -3
  216. package/src/components/proof-request/v2/share-credential-v2-group.tsx +12 -12
  217. package/src/components/proof-request/v2/share-credential-v2.tsx +11 -11
  218. package/src/ui-components/accessibility/accessibilityHistoryWrappers.tsx +4 -1
  219. package/src/ui-components/accessibility/locale/fi.json +1 -1
  220. package/src/ui-components/buttons/ghost-button.stories.tsx +0 -1
  221. package/src/ui-components/control/checkbox.stories.tsx +1 -1
  222. package/src/ui-components/control/switch.stories.tsx +1 -1
  223. package/src/ui-components/credential/card/credential-header.stories.tsx +0 -1
  224. package/src/ui-components/entity/entity-cluster.tsx +7 -6
  225. package/src/ui-components/header/foldable-header.tsx +8 -11
  226. package/src/ui-components/history/history-section-header.tsx +1 -1
  227. package/src/ui-components/history/history-section-list-item.tsx +1 -1
  228. package/src/ui-components/icons/entity.tsx +2 -2
  229. package/src/ui-components/pin/pin-code-screen.stories.tsx +1 -1
  230. package/src/ui-components/screens/image-preview-screen.stories.tsx +1 -1
  231. package/src/ui-components/screens/nerd-mode-screen.tsx +2 -2
  232. package/src/ui-components/screens/qr-code-scanner-screen.stories.tsx +1 -1
  233. package/src/ui-components/screens/section-list-screen.tsx +10 -1
  234. package/src/ui-components/searchbar/search-bar.stories.tsx +0 -1
  235. package/src/ui-components/settings/button-setting.tsx +2 -1
  236. package/src/ui-components/settings/setting-item.tsx +9 -2
  237. package/src/ui-components/settings/switch-setting.tsx +9 -2
  238. package/src/ui-components/text/typography.stories.tsx +2 -2
  239. package/src/utils/date.ts +2 -2
  240. package/src/utils/history.ts +4 -4
  241. package/src/utils/hooks/connectivity/connectivity.test.ts +2 -2
  242. package/src/utils/hooks/core/backup.ts +4 -4
  243. package/src/utils/hooks/core/cache.ts +13 -13
  244. package/src/utils/hooks/core/core-context.tsx +6 -6
  245. package/src/utils/hooks/core/credential-schemas.ts +7 -4
  246. package/src/utils/hooks/core/credentials.ts +21 -13
  247. package/src/utils/hooks/core/dids.ts +3 -3
  248. package/src/utils/hooks/core/history.ts +3 -3
  249. package/src/utils/hooks/core/identifiers.ts +9 -5
  250. package/src/utils/hooks/core/proof-schemas.ts +21 -16
  251. package/src/utils/hooks/core/proofs.ts +31 -27
  252. package/src/utils/hooks/core/trust-entity.ts +19 -12
  253. package/src/utils/hooks/core/wallet-unit.ts +21 -11
  254. package/src/utils/hooks/navigation/open-settings.ts +1 -1
  255. package/src/utils/hooks/revocation/credential-status.ts +2 -2
  256. package/src/utils/parsers/credential-images.tsx +19 -13
  257. package/src/utils/parsers/credential-sharing-v2.tsx +29 -24
  258. package/src/utils/parsers/credential-sharing.tsx +24 -24
  259. package/src/utils/parsers/credential.ts +63 -40
  260. package/src/utils/parsers/query.ts +16 -14
  261. package/src/utils/url.ts +1 -1
@@ -1,4 +1,4 @@
1
- import { HistoryActionEnum } from '@procivis/react-native-one-core';
1
+ import { HistoryActionBindingEnum } from '@procivis/react-native-one-core';
2
2
  import React from 'react';
3
3
  import { useAppColorScheme } from '../../ui-components';
4
4
  import { HistoryDetailsView } from '../../ui-components/history/history-details';
@@ -6,17 +6,17 @@ import { capitalizeFirstLetter, concatTestID, formatDateTimeLocalized } from '..
6
6
  import { getHistoryItemActionIcon } from './history-list-item-icon';
7
7
  const getStatusTextColor = (action, colorScheme) => {
8
8
  switch (action) {
9
- case HistoryActionEnum.CLAIMS_REMOVED:
10
- case HistoryActionEnum.DEACTIVATED:
11
- case HistoryActionEnum.DELETED:
12
- case HistoryActionEnum.REJECTED:
13
- case HistoryActionEnum.REVOKED:
14
- case HistoryActionEnum.ERRORED:
9
+ case HistoryActionBindingEnum.CLAIMS_REMOVED:
10
+ case HistoryActionBindingEnum.DEACTIVATED:
11
+ case HistoryActionBindingEnum.DELETED:
12
+ case HistoryActionBindingEnum.REJECTED:
13
+ case HistoryActionBindingEnum.REVOKED:
14
+ case HistoryActionBindingEnum.ERRORED:
15
15
  return colorScheme.errorText;
16
- case HistoryActionEnum.SUSPENDED:
17
- case HistoryActionEnum.OFFERED:
18
- case HistoryActionEnum.PENDING:
19
- case HistoryActionEnum.REQUESTED:
16
+ case HistoryActionBindingEnum.SUSPENDED:
17
+ case HistoryActionBindingEnum.OFFERED:
18
+ case HistoryActionBindingEnum.PENDING:
19
+ case HistoryActionBindingEnum.REQUESTED:
20
20
  return colorScheme.text;
21
21
  default:
22
22
  return colorScheme.successText;
@@ -1 +1 @@
1
- {"version":3,"names":["HistoryActionEnum","React","useAppColorScheme","HistoryDetailsView","capitalizeFirstLetter","concatTestID","formatDateTimeLocalized","getHistoryItemActionIcon","getStatusTextColor","action","colorScheme","CLAIMS_REMOVED","DEACTIVATED","DELETED","REJECTED","REVOKED","ERRORED","errorText","SUSPENDED","OFFERED","PENDING","REQUESTED","text","successText","HistoryDetailsScreen","assets","dataHeader","headerButton","item","labels","onBackPressed","onInfoPressed","onImagePreview","testID","_formatDateTimeLocali","actionValueColor","createElement","data","header","date","Date","createdDate","icon","label","actions","color"],"sources":["history-details-screen.tsx"],"sourcesContent":["import {\n HistoryActionEnum,\n HistoryListItem,\n} from '@procivis/react-native-one-core';\nimport React, { FC, ReactElement } from 'react';\nimport { ImageSourcePropType } from 'react-native';\n\nimport { ColorScheme, useAppColorScheme } from '../../ui-components';\nimport {\n HistoryDetailsLabels,\n HistoryDetailsView,\n HistoryDetailsViewProps,\n} from '../../ui-components/history/history-details';\nimport { capitalizeFirstLetter, concatTestID, formatDateTimeLocalized } from '../../utils';\nimport { HistoryListItemLabels } from './history-list-item';\nimport { getHistoryItemActionIcon } from './history-list-item-icon';\n\nconst getStatusTextColor = (action: HistoryActionEnum, colorScheme: Readonly<ColorScheme>) => {\n switch (action) {\n case HistoryActionEnum.CLAIMS_REMOVED:\n case HistoryActionEnum.DEACTIVATED:\n case HistoryActionEnum.DELETED:\n case HistoryActionEnum.REJECTED:\n case HistoryActionEnum.REVOKED:\n case HistoryActionEnum.ERRORED:\n return colorScheme.errorText;\n case HistoryActionEnum.SUSPENDED:\n case HistoryActionEnum.OFFERED:\n case HistoryActionEnum.PENDING:\n case HistoryActionEnum.REQUESTED:\n return colorScheme.text;\n default:\n return colorScheme.successText;\n }\n};\n\nexport type HistoryDetailsScreenLabels = HistoryDetailsLabels & {\n item: HistoryListItemLabels;\n};\n\nexport type HistoryDetailsScreenProps = {\n assets: HistoryDetailsViewProps['assets'];\n dataHeader: HistoryDetailsViewProps['data']['header'];\n headerButton?: ReactElement;\n item: HistoryListItem;\n labels: HistoryDetailsScreenLabels;\n onBackPressed: () => void;\n onInfoPressed?: () => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n testID?: string;\n};\n\nexport const HistoryDetailsScreen: FC<HistoryDetailsScreenProps> = ({\n assets,\n dataHeader,\n headerButton,\n item,\n labels,\n onBackPressed,\n onInfoPressed,\n onImagePreview,\n testID = 'HistoryDetailScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n\n const actionValueColor = getStatusTextColor(item.action, colorScheme);\n\n return (\n <HistoryDetailsView\n assets={assets}\n data={{\n header: dataHeader,\n date: formatDateTimeLocalized(new Date(item.createdDate)) ?? '',\n action: {\n icon: getHistoryItemActionIcon(item.action),\n label: capitalizeFirstLetter(labels.item.actions[item.action]),\n color: actionValueColor,\n testID: concatTestID(testID, 'action', item.action),\n },\n }}\n headerButton={headerButton}\n labels={labels}\n onBackPressed={onBackPressed}\n onInfoPressed={onInfoPressed}\n onImagePreview={onImagePreview}\n testID={testID}\n />\n );\n};\n"],"mappings":"AAAA,SACEA,iBAAiB,QAEZ,iCAAiC;AACxC,OAAOC,KAAK,MAA4B,OAAO;AAG/C,SAAsBC,iBAAiB,QAAQ,qBAAqB;AACpE,SAEEC,kBAAkB,QAEb,6CAA6C;AACpD,SAASC,qBAAqB,EAAEC,YAAY,EAAEC,uBAAuB,QAAQ,aAAa;AAE1F,SAASC,wBAAwB,QAAQ,0BAA0B;AAEnE,MAAMC,kBAAkB,GAAGA,CAACC,MAAyB,EAAEC,WAAkC,KAAK;EAC5F,QAAQD,MAAM;IACZ,KAAKT,iBAAiB,CAACW,cAAc;IACrC,KAAKX,iBAAiB,CAACY,WAAW;IAClC,KAAKZ,iBAAiB,CAACa,OAAO;IAC9B,KAAKb,iBAAiB,CAACc,QAAQ;IAC/B,KAAKd,iBAAiB,CAACe,OAAO;IAC9B,KAAKf,iBAAiB,CAACgB,OAAO;MAC5B,OAAON,WAAW,CAACO,SAAS;IAC9B,KAAKjB,iBAAiB,CAACkB,SAAS;IAChC,KAAKlB,iBAAiB,CAACmB,OAAO;IAC9B,KAAKnB,iBAAiB,CAACoB,OAAO;IAC9B,KAAKpB,iBAAiB,CAACqB,SAAS;MAC9B,OAAOX,WAAW,CAACY,IAAI;IACzB;MACE,OAAOZ,WAAW,CAACa,WAAW;EAClC;AACF,CAAC;AAkBD,OAAO,MAAMC,oBAAmD,GAAGA,CAAC;EAClEC,MAAM;EACNC,UAAU;EACVC,YAAY;EACZC,IAAI;EACJC,MAAM;EACNC,aAAa;EACbC,aAAa;EACbC,cAAc;EACdC,MAAM,GAAG;AACX,CAAC,KAAK;EAAA,IAAAC,qBAAA;EACJ,MAAMxB,WAAW,GAAGR,iBAAiB,CAAC,CAAC;EAEvC,MAAMiC,gBAAgB,GAAG3B,kBAAkB,CAACoB,IAAI,CAACnB,MAAM,EAAEC,WAAW,CAAC;EAErE,oBACET,KAAA,CAAAmC,aAAA,CAACjC,kBAAkB;IACjBsB,MAAM,EAAEA,MAAO;IACfY,IAAI,EAAE;MACJC,MAAM,EAAEZ,UAAU;MAClBa,IAAI,GAAAL,qBAAA,GAAE5B,uBAAuB,CAAC,IAAIkC,IAAI,CAACZ,IAAI,CAACa,WAAW,CAAC,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MAC/DzB,MAAM,EAAE;QACNiC,IAAI,EAAEnC,wBAAwB,CAACqB,IAAI,CAACnB,MAAM,CAAC;QAC3CkC,KAAK,EAAEvC,qBAAqB,CAACyB,MAAM,CAACD,IAAI,CAACgB,OAAO,CAAChB,IAAI,CAACnB,MAAM,CAAC,CAAC;QAC9DoC,KAAK,EAAEV,gBAAgB;QACvBF,MAAM,EAAE5B,YAAY,CAAC4B,MAAM,EAAE,QAAQ,EAAEL,IAAI,CAACnB,MAAM;MACpD;IACF,CAAE;IACFkB,YAAY,EAAEA,YAAa;IAC3BE,MAAM,EAAEA,MAAO;IACfC,aAAa,EAAEA,aAAc;IAC7BC,aAAa,EAAEA,aAAc;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["HistoryActionBindingEnum","React","useAppColorScheme","HistoryDetailsView","capitalizeFirstLetter","concatTestID","formatDateTimeLocalized","getHistoryItemActionIcon","getStatusTextColor","action","colorScheme","CLAIMS_REMOVED","DEACTIVATED","DELETED","REJECTED","REVOKED","ERRORED","errorText","SUSPENDED","OFFERED","PENDING","REQUESTED","text","successText","HistoryDetailsScreen","assets","dataHeader","headerButton","item","labels","onBackPressed","onInfoPressed","onImagePreview","testID","_formatDateTimeLocali","actionValueColor","createElement","data","header","date","Date","createdDate","icon","label","actions","color"],"sources":["history-details-screen.tsx"],"sourcesContent":["import { HistoryActionBindingEnum, HistoryListItemBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC, ReactElement } from 'react';\nimport { ImageSourcePropType } from 'react-native';\n\nimport { ColorScheme, useAppColorScheme } from '../../ui-components';\nimport {\n HistoryDetailsLabels,\n HistoryDetailsView,\n HistoryDetailsViewProps,\n} from '../../ui-components/history/history-details';\nimport { capitalizeFirstLetter, concatTestID, formatDateTimeLocalized } from '../../utils';\nimport { HistoryListItemLabels } from './history-list-item';\nimport { getHistoryItemActionIcon } from './history-list-item-icon';\n\nconst getStatusTextColor = (action: HistoryActionBindingEnum, colorScheme: Readonly<ColorScheme>) => {\n switch (action) {\n case HistoryActionBindingEnum.CLAIMS_REMOVED:\n case HistoryActionBindingEnum.DEACTIVATED:\n case HistoryActionBindingEnum.DELETED:\n case HistoryActionBindingEnum.REJECTED:\n case HistoryActionBindingEnum.REVOKED:\n case HistoryActionBindingEnum.ERRORED:\n return colorScheme.errorText;\n case HistoryActionBindingEnum.SUSPENDED:\n case HistoryActionBindingEnum.OFFERED:\n case HistoryActionBindingEnum.PENDING:\n case HistoryActionBindingEnum.REQUESTED:\n return colorScheme.text;\n default:\n return colorScheme.successText;\n }\n};\n\nexport type HistoryDetailsScreenLabels = HistoryDetailsLabels & {\n item: HistoryListItemLabels;\n};\n\nexport type HistoryDetailsScreenProps = {\n assets: HistoryDetailsViewProps['assets'];\n dataHeader: HistoryDetailsViewProps['data']['header'];\n headerButton?: ReactElement;\n item: HistoryListItemBindingDto;\n labels: HistoryDetailsScreenLabels;\n onBackPressed: () => void;\n onInfoPressed?: () => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n testID?: string;\n};\n\nexport const HistoryDetailsScreen: FC<HistoryDetailsScreenProps> = ({\n assets,\n dataHeader,\n headerButton,\n item,\n labels,\n onBackPressed,\n onInfoPressed,\n onImagePreview,\n testID = 'HistoryDetailScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n\n const actionValueColor = getStatusTextColor(item.action, colorScheme);\n\n return (\n <HistoryDetailsView\n assets={assets}\n data={{\n header: dataHeader,\n date: formatDateTimeLocalized(new Date(item.createdDate)) ?? '',\n action: {\n icon: getHistoryItemActionIcon(item.action),\n label: capitalizeFirstLetter(labels.item.actions[item.action]),\n color: actionValueColor,\n testID: concatTestID(testID, 'action', item.action),\n },\n }}\n headerButton={headerButton}\n labels={labels}\n onBackPressed={onBackPressed}\n onInfoPressed={onInfoPressed}\n onImagePreview={onImagePreview}\n testID={testID}\n />\n );\n};\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAmC,iCAAiC;AACrG,OAAOC,KAAK,MAA4B,OAAO;AAG/C,SAAsBC,iBAAiB,QAAQ,qBAAqB;AACpE,SAEEC,kBAAkB,QAEb,6CAA6C;AACpD,SAASC,qBAAqB,EAAEC,YAAY,EAAEC,uBAAuB,QAAQ,aAAa;AAE1F,SAASC,wBAAwB,QAAQ,0BAA0B;AAEnE,MAAMC,kBAAkB,GAAGA,CAACC,MAAgC,EAAEC,WAAkC,KAAK;EACnG,QAAQD,MAAM;IACZ,KAAKT,wBAAwB,CAACW,cAAc;IAC5C,KAAKX,wBAAwB,CAACY,WAAW;IACzC,KAAKZ,wBAAwB,CAACa,OAAO;IACrC,KAAKb,wBAAwB,CAACc,QAAQ;IACtC,KAAKd,wBAAwB,CAACe,OAAO;IACrC,KAAKf,wBAAwB,CAACgB,OAAO;MACnC,OAAON,WAAW,CAACO,SAAS;IAC9B,KAAKjB,wBAAwB,CAACkB,SAAS;IACvC,KAAKlB,wBAAwB,CAACmB,OAAO;IACrC,KAAKnB,wBAAwB,CAACoB,OAAO;IACrC,KAAKpB,wBAAwB,CAACqB,SAAS;MACrC,OAAOX,WAAW,CAACY,IAAI;IACzB;MACE,OAAOZ,WAAW,CAACa,WAAW;EAClC;AACF,CAAC;AAkBD,OAAO,MAAMC,oBAAmD,GAAGA,CAAC;EAClEC,MAAM;EACNC,UAAU;EACVC,YAAY;EACZC,IAAI;EACJC,MAAM;EACNC,aAAa;EACbC,aAAa;EACbC,cAAc;EACdC,MAAM,GAAG;AACX,CAAC,KAAK;EAAA,IAAAC,qBAAA;EACJ,MAAMxB,WAAW,GAAGR,iBAAiB,CAAC,CAAC;EAEvC,MAAMiC,gBAAgB,GAAG3B,kBAAkB,CAACoB,IAAI,CAACnB,MAAM,EAAEC,WAAW,CAAC;EAErE,oBACET,KAAA,CAAAmC,aAAA,CAACjC,kBAAkB;IACjBsB,MAAM,EAAEA,MAAO;IACfY,IAAI,EAAE;MACJC,MAAM,EAAEZ,UAAU;MAClBa,IAAI,GAAAL,qBAAA,GAAE5B,uBAAuB,CAAC,IAAIkC,IAAI,CAACZ,IAAI,CAACa,WAAW,CAAC,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MAC/DzB,MAAM,EAAE;QACNiC,IAAI,EAAEnC,wBAAwB,CAACqB,IAAI,CAACnB,MAAM,CAAC;QAC3CkC,KAAK,EAAEvC,qBAAqB,CAACyB,MAAM,CAACD,IAAI,CAACgB,OAAO,CAAChB,IAAI,CAACnB,MAAM,CAAC,CAAC;QAC9DoC,KAAK,EAAEV,gBAAgB;QACvBF,MAAM,EAAE5B,YAAY,CAAC4B,MAAM,EAAE,QAAQ,EAAEL,IAAI,CAACnB,MAAM;MACpD;IACF,CAAE;IACFkB,YAAY,EAAEA,YAAa;IAC3BE,MAAM,EAAEA,MAAO;IACfC,aAAa,EAAEA,aAAc;IAC7BC,aAAa,EAAEA,aAAc;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { HistoryActionEnum, HistoryEntityTypeEnum } from '@procivis/react-native-one-core';
1
+ import { HistoryActionBindingEnum, HistoryEntityTypeBindingEnum } from '@procivis/react-native-one-core';
2
2
  import React, { useMemo } from 'react';
3
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 = {
@@ -28,7 +28,10 @@ const defaultIcons = {
28
28
  CSR_GENERATED: HistoryStatusAcceptedIcon,
29
29
  EXPIRED: HistoryStatusErrorIcon,
30
30
  INTERACTION_CREATED: HistoryStatusAcceptedIcon,
31
- INTERACTION_ERRORED: HistoryStatusErrorIcon
31
+ INTERACTION_ERRORED: HistoryStatusErrorIcon,
32
+ INTERACTION_EXPIRED: HistoryStatusErrorIcon,
33
+ REGISTRATION_CERTIFICATE_CREATED: HistoryStatusAcceptedIcon,
34
+ REGISTRATION_CERTIFICATE_REVOKED: HistoryStatusErrorIcon
32
35
  },
33
36
  entityTypes: {
34
37
  BACKUP: HistoryRevokeIcon,
@@ -50,7 +53,8 @@ const defaultIcons = {
50
53
  STS_ROLE: HistoryIdentifierIcon,
51
54
  STS_ORGANISATION: HistoryOrganisationIcon,
52
55
  STS_IAM_ROLE: HistoryIdentifierIcon,
53
- STS_TOKEN: HistoryKeyIcon
56
+ STS_TOKEN: HistoryKeyIcon,
57
+ SIGNATURE: HistoryCertificateIcon
54
58
  }
55
59
  };
56
60
  export const getHistoryItemActionIcon = action => {
@@ -64,21 +68,21 @@ export const HistoryListItemIcon = ({
64
68
  const typeIcon = useMemo(() => {
65
69
  var _defaultIcons$entityT;
66
70
  switch (item.entityType) {
67
- case HistoryEntityTypeEnum.BACKUP:
71
+ case HistoryEntityTypeBindingEnum.BACKUP:
68
72
  switch (item.action) {
69
- case HistoryActionEnum.CREATED:
73
+ case HistoryActionBindingEnum.CREATED:
70
74
  return HistoryBackupCreatedIcon;
71
- case HistoryActionEnum.RESTORED:
75
+ case HistoryActionBindingEnum.RESTORED:
72
76
  return HistoryBackupRestoredIcon;
73
77
  default:
74
78
  break;
75
79
  }
76
80
  break;
77
- case HistoryEntityTypeEnum.CREDENTIAL:
81
+ case HistoryEntityTypeBindingEnum.CREDENTIAL:
78
82
  switch (item.action) {
79
- case HistoryActionEnum.REVOKED:
83
+ case HistoryActionBindingEnum.REVOKED:
80
84
  return HistoryRevokeIcon;
81
- case HistoryActionEnum.SUSPENDED:
85
+ case HistoryActionBindingEnum.SUSPENDED:
82
86
  return HistorySuspendIcon;
83
87
  default:
84
88
  break;
@@ -1 +1 @@
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","INTERACTION_CREATED","INTERACTION_ERRORED","entityTypes","BACKUP","CERTIFICATE","CREDENTIAL","CREDENTIAL_SCHEMA","DID","IDENTIFIER","KEY","ORGANISATION","PROOF","PROOF_SCHEMA","TRUST_ANCHOR","TRUST_ENTITY","WALLET_UNIT","WALLET_RELYING_PARTY","USER","PROVIDER","STS_ROLE","STS_ORGANISATION","STS_IAM_ROLE","STS_TOKEN","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 INTERACTION_CREATED: HistoryStatusAcceptedIcon,\n INTERACTION_ERRORED: 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 },\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":["HistoryActionBindingEnum","HistoryEntityTypeBindingEnum","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","INTERACTION_CREATED","INTERACTION_ERRORED","INTERACTION_EXPIRED","REGISTRATION_CERTIFICATE_CREATED","REGISTRATION_CERTIFICATE_REVOKED","entityTypes","BACKUP","CERTIFICATE","CREDENTIAL","CREDENTIAL_SCHEMA","DID","IDENTIFIER","KEY","ORGANISATION","PROOF","PROOF_SCHEMA","TRUST_ANCHOR","TRUST_ENTITY","WALLET_UNIT","WALLET_RELYING_PARTY","USER","PROVIDER","STS_ROLE","STS_ORGANISATION","STS_IAM_ROLE","STS_TOKEN","SIGNATURE","getHistoryItemActionIcon","action","_defaultIcons$actions","HistoryListItemIcon","item","statusIcon","typeIcon","_defaultIcons$entityT","entityType","createElement","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 +1 @@
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":[]}
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 {\n HistoryActionBindingEnum,\n HistoryEntityTypeBindingEnum,\n HistoryListItemBindingDto,\n} 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 HistoryActionBindingEnum]: string };\n entityTypes: { [key in keyof typeof HistoryEntityTypeBindingEnum]: string };\n};\n\nexport interface HistoryListItemViewProps {\n dateFormatter?: (date: Date) => string;\n first?: boolean;\n infoLabelMode?: 'entity' | 'associatedLabel' | 'none';\n item: HistoryListItemBindingDto;\n labels: HistoryListItemLabels;\n last?: boolean;\n onPress?: (item: HistoryListItemBindingDto) => 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":"AAKA,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":[]}
@@ -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","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","_queryParams$search","colorScheme","empty","setEmpty","scrollOffset","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","search","text","handleSearchPhraseChange","undefined","headerHeight","insets","additionalBottomPadding","createElement","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","align","color","preset","emptyTitle","shaded","emptySubtitle","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","list","header","leftItem","title","searchBar","rightButtons","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","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.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":["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","_queryParams$search","colorScheme","empty","setEmpty","scrollOffset","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","search","text","handleSearchPhraseChange","undefined","headerHeight","insets","additionalBottomPadding","createElement","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","align","color","preset","emptyTitle","shaded","emptySubtitle","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","list","header","leftItem","title","searchBar","rightButtons","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","staticHeader","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":"AACA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,KAAK,IAA2BC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAClF,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAEzD,SACEC,UAAU,EACVC,YAAY,EACZC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,iBAAiB,QACZ,qBAAqB;AAC5B,SAASC,YAAY,EAAEC,iBAAiB,EAA4BC,mBAAmB,QAAQ,aAAa;AAC5G,SAA4BC,eAAe,QAAQ,gBAAgB;AAuBnE,OAAO,MAAMC,iBAAgE,GAAGA,CAAC;EAC/EC,QAAQ;EACRC,UAAU,GAAGL,iBAAiB;EAC9BM,iBAAiB,GAAG,QAAQ;EAC5BC,MAAM;EACNC,aAAa;EACbC,oBAAoB;EACpBC,YAAY;EACZC,oBAAoB;EACpBC,WAAW;EACXC,MAAM,GAAG;AACX,CAAC,KAAK;EAAA,IAAAC,mBAAA;EACJ,MAAMC,WAAW,GAAGjB,iBAAiB,CAAC,CAAC;EACvC,MAAM,CAACkB,KAAK,EAAEC,QAAQ,CAAC,GAAG5B,QAAQ,CAAU,KAAK,CAAC;EAClD,MAAM,CAAC6B,YAAY,CAAC,GAAG7B,QAAQ,CAAC,MAAM,IAAIC,QAAQ,CAAC6B,KAAK,CAAC,CAAC,CAAC,CAAC;EAE5D,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGhC,QAAQ,CAAS,EAAE,CAAC;EAC5D,MAAMiC,gBAAgB,GAAG,CAACN,KAAK,IAAIO,OAAO,EAAAT,mBAAA,GAACF,WAAW,CAACY,MAAM,cAAAV,mBAAA,uBAAlBA,mBAAA,CAAoBW,IAAI,CAAC;EAEpE,MAAMC,wBAAwB,GAAGtC,OAAO,CAAC,MAAMH,QAAQ,CAAC0B,oBAAoB,EAAE,GAAG,CAAC,EAAE,CAACA,oBAAoB,CAAC,CAAC;EAC3GxB,SAAS,CAAC,MAAM;IACduC,wBAAwB,CAACN,YAAY,IAAIO,SAAS,CAAC;EACrD,CAAC,EAAE,CAACP,YAAY,EAAEM,wBAAwB,CAAC,CAAC;EAE5C,MAAME,YAAY,GAAGN,gBAAgB,GAAG,GAAG,GAAG,EAAE;EAEhD,MAAMO,MAAM,GAAG5B,mBAAmB,CAAC;IACjC6B,uBAAuB,EAAE,EAAE;IAC3BF;EACF,CAAC,CAAC;EAEF,oBACE1C,KAAA,CAAA6C,aAAA,CAACvC,IAAI;IACHwC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,eAAe,EAAEpB,WAAW,CAACqB;IAC/B,CAAC,CACD;IACFvB,MAAM,EAAEA;EAAO,GACdG,KAAK,iBACJ9B,KAAA,CAAA6C,aAAA,CAACvC,IAAI;IACHwC,KAAK,EAAE,CACLC,MAAM,CAACI,WAAW,EAClB;MACEF,eAAe,EAAEpB,WAAW,CAACuB,KAAK;MAClCC,SAAS,EAAEV,MAAM,CAACW;IACpB,CAAC;EACD,gBACFtD,KAAA,CAAA6C,aAAA,CAAClC,UAAU;IAAC4C,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAE3B,WAAW,CAACU,IAAK;IAACkB,MAAM,EAAC;EAAG,GAC3DpC,MAAM,CAACqC,UACE,CAAC,eACb1D,KAAA,CAAA6C,aAAA,CAAClC,UAAU;IAAC4C,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAE3B,WAAW,CAACU,IAAK;IAACkB,MAAM,EAAC,qBAAqB;IAACX,KAAK,EAAEC,MAAM,CAACY;EAAO,GACnGtC,MAAM,CAACuC,aACE,CACR,CACP,eACD5D,KAAA,CAAA6C,aAAA,CAAC7B,eAAe;IACd6C,qBAAqB,EAAElB,MAAO;IAC9BxB,UAAU,EAAEA,UAAW;IACvB2C,SAAS,EAAE;MAAEC,aAAa,EAAE3C,iBAAiB;MAAE4C,OAAO,EAAEzC;IAAqB,CAAE;IAC/E0C,OAAO,EAAElC,QAAS;IAClBmC,QAAQ,EAAE9D,QAAQ,CAAC+D,KAAK,CAAC,CAAC;MAAEC,WAAW,EAAE;QAAEC,aAAa,EAAE;UAAEC,CAAC,EAAEtC;QAAa;MAAE;IAAE,CAAC,CAAC,EAAE;MAClFuC,eAAe,EAAE;IACnB,CAAC,CAAE;IACHC,KAAK,EAAE9C,WAAY;IACnBC,MAAM,EAAEd,YAAY,CAACc,MAAM,EAAE,MAAM,CAAE;IACrCN,MAAM,EAAEA,MAAM,CAACoD;EAAK,CACrB,CAAC,EACDvD,QAAQ,eACTlB,KAAA,CAAA6C,aAAA,CAACpC,cAAc;IACbiE,MAAM,eACJ1E,KAAA,CAAA6C,aAAA,CAACnC,gBAAgB;MACfuC,eAAe,EAAE,aAAc;MAC/B0B,QAAQ,eAAE3E,KAAA,CAAA6C,aAAA,CAACtC,UAAU;QAACyD,OAAO,EAAE1C,aAAc;QAACK,MAAM,EAAEd,YAAY,CAACc,MAAM,EAAE,MAAM;MAAE,CAAE,CAAE;MACvFiD,KAAK,EAAEvD,MAAM,CAACuD;IAAM,CACrB,CACF;IACD5C,YAAY,EAAEA,YAAa;IAC3B6C,SAAS,EACP,CAACzC,gBAAgB,GACbK,SAAS,GACT;MACEqC,YAAY,EAAEtD,YAAY,GACtB,cACExB,KAAA,CAAA6C,aAAA,CAACrC,YAAY;QACXuE,MAAM,EAAE1C,OAAO,CAACX,WAAW,CAACsD,kBAAkB,CAAE;QAChDhB,OAAO,EAAExC,YAAa;QACtBG,MAAM,EAAEd,YAAY,CAACc,MAAM,EAAE,QAAQ;MAAE,CACxC,CAAC,CACH,GACDc,SAAS;MACbwC,wBAAwB,EAAE,IAAI;MAC9BC,cAAc,EAAE;QACdzD,oBAAoB,EAAEU,eAAe;QACrCgD,WAAW,EAAE9D,MAAM,CAACiB,MAAM;QAC1BJ,YAAY;QACZP,MAAM,EAAEd,YAAY,CAACc,MAAM,EAAE,QAAQ;MACvC;IACF,CACL;IACDyD,YAAY,EAAE,CAAChD;EAAiB,CACjC,CACG,CAAC;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG1C,UAAU,CAACgF,MAAM,CAAC;EAC/BrC,SAAS,EAAE;IACTsC,IAAI,EAAE;EACR,CAAC;EACDnC,WAAW,EAAE;IACXoC,YAAY,EAAE,EAAE;IAChBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,EAAE;IACjBC,iBAAiB,EAAE,EAAE;IACrBpC,UAAU,EAAE;EACd,CAAC;EACDK,MAAM,EAAE;IACNgC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import moment from 'moment';
2
2
  import React, { useMemo } from 'react';
3
3
  import { HistorySectionHeaderView } from '../../ui-components';
4
- // components used on the history section lists (Settings->History, CredentialDetail->History)
4
+ // components used on the history section lists (Settings->History, CredentialDetailBindingDto->History)
5
5
  // https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev
6
6
 
7
7
  export const HistoryListSectionHeaderView = ({
@@ -1 +1 @@
1
- {"version":3,"names":["moment","React","useMemo","HistorySectionHeaderView","HistoryListSectionHeaderView","date","firstYearEntry","labels","testID","day","now","dateString","isSame","today","subtract","yesterday","format","createElement","year","toString","undefined"],"sources":["history-list-section-header.tsx"],"sourcesContent":["import moment, { Moment } from 'moment';\nimport React, { FC, useMemo } from 'react';\n\nimport { HistorySectionHeaderView } from '../../ui-components';\n\nexport type HistoryListSectionHeaderLabels = {\n today: string;\n yesterday: string;\n};\n\nexport type HistoryListSectionHeaderViewProps = {\n date: Moment;\n firstYearEntry: boolean;\n labels: HistoryListSectionHeaderLabels;\n testID?: string;\n};\n\n// components used on the history section lists (Settings->History, CredentialDetail->History)\n// https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev\n\nexport const HistoryListSectionHeaderView: FC<HistoryListSectionHeaderViewProps> = ({\n date,\n firstYearEntry,\n labels,\n testID,\n}) => {\n const day = useMemo(() => {\n const now = moment();\n const dateString = moment(date);\n\n if (dateString.isSame(now, 'day')) {\n return labels.today;\n } else if (dateString.isSame(now.subtract(1, 'day'), 'day')) {\n return labels.yesterday;\n }\n return dateString.format('Do MMMM');\n }, [date, labels]);\n\n return (\n <HistorySectionHeaderView day={day} testID={testID} year={firstYearEntry ? date.year().toString() : undefined} />\n );\n};\n"],"mappings":"AAAA,OAAOA,MAAM,MAAkB,QAAQ;AACvC,OAAOC,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAE1C,SAASC,wBAAwB,QAAQ,qBAAqB;AAc9D;AACA;;AAEA,OAAO,MAAMC,4BAAmE,GAAGA,CAAC;EAClFC,IAAI;EACJC,cAAc;EACdC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,GAAG,GAAGP,OAAO,CAAC,MAAM;IACxB,MAAMQ,GAAG,GAAGV,MAAM,CAAC,CAAC;IACpB,MAAMW,UAAU,GAAGX,MAAM,CAACK,IAAI,CAAC;IAE/B,IAAIM,UAAU,CAACC,MAAM,CAACF,GAAG,EAAE,KAAK,CAAC,EAAE;MACjC,OAAOH,MAAM,CAACM,KAAK;IACrB,CAAC,MAAM,IAAIF,UAAU,CAACC,MAAM,CAACF,GAAG,CAACI,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE;MAC3D,OAAOP,MAAM,CAACQ,SAAS;IACzB;IACA,OAAOJ,UAAU,CAACK,MAAM,CAAC,SAAS,CAAC;EACrC,CAAC,EAAE,CAACX,IAAI,EAAEE,MAAM,CAAC,CAAC;EAElB,oBACEN,KAAA,CAAAgB,aAAA,CAACd,wBAAwB;IAACM,GAAG,EAAEA,GAAI;IAACD,MAAM,EAAEA,MAAO;IAACU,IAAI,EAAEZ,cAAc,GAAGD,IAAI,CAACa,IAAI,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,GAAGC;EAAU,CAAE,CAAC;AAErH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["moment","React","useMemo","HistorySectionHeaderView","HistoryListSectionHeaderView","date","firstYearEntry","labels","testID","day","now","dateString","isSame","today","subtract","yesterday","format","createElement","year","toString","undefined"],"sources":["history-list-section-header.tsx"],"sourcesContent":["import moment, { Moment } from 'moment';\nimport React, { FC, useMemo } from 'react';\n\nimport { HistorySectionHeaderView } from '../../ui-components';\n\nexport type HistoryListSectionHeaderLabels = {\n today: string;\n yesterday: string;\n};\n\nexport type HistoryListSectionHeaderViewProps = {\n date: Moment;\n firstYearEntry: boolean;\n labels: HistoryListSectionHeaderLabels;\n testID?: string;\n};\n\n// components used on the history section lists (Settings->History, CredentialDetailBindingDto->History)\n// https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev\n\nexport const HistoryListSectionHeaderView: FC<HistoryListSectionHeaderViewProps> = ({\n date,\n firstYearEntry,\n labels,\n testID,\n}) => {\n const day = useMemo(() => {\n const now = moment();\n const dateString = moment(date);\n\n if (dateString.isSame(now, 'day')) {\n return labels.today;\n } else if (dateString.isSame(now.subtract(1, 'day'), 'day')) {\n return labels.yesterday;\n }\n return dateString.format('Do MMMM');\n }, [date, labels]);\n\n return (\n <HistorySectionHeaderView day={day} testID={testID} year={firstYearEntry ? date.year().toString() : undefined} />\n );\n};\n"],"mappings":"AAAA,OAAOA,MAAM,MAAkB,QAAQ;AACvC,OAAOC,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAE1C,SAASC,wBAAwB,QAAQ,qBAAqB;AAc9D;AACA;;AAEA,OAAO,MAAMC,4BAAmE,GAAGA,CAAC;EAClFC,IAAI;EACJC,cAAc;EACdC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,GAAG,GAAGP,OAAO,CAAC,MAAM;IACxB,MAAMQ,GAAG,GAAGV,MAAM,CAAC,CAAC;IACpB,MAAMW,UAAU,GAAGX,MAAM,CAACK,IAAI,CAAC;IAE/B,IAAIM,UAAU,CAACC,MAAM,CAACF,GAAG,EAAE,KAAK,CAAC,EAAE;MACjC,OAAOH,MAAM,CAACM,KAAK;IACrB,CAAC,MAAM,IAAIF,UAAU,CAACC,MAAM,CAACF,GAAG,CAACI,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE;MAC3D,OAAOP,MAAM,CAACQ,SAAS;IACzB;IACA,OAAOJ,UAAU,CAACK,MAAM,CAAC,SAAS,CAAC;EACrC,CAAC,EAAE,CAACX,IAAI,EAAEE,MAAM,CAAC,CAAC;EAElB,oBACEN,KAAA,CAAAgB,aAAA,CAACd,wBAAwB;IAACM,GAAG,EAAEA,GAAI;IAACD,MAAM,EAAEA,MAAO;IAACU,IAAI,EAAEZ,cAAc,GAAGD,IAAI,CAACa,IAAI,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,GAAGC;EAAU,CAAE,CAAC;AAErH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useIsFocused","React","useCallback","useMemo","Animated","StyleSheet","ActivityIndicator","useAppColorScheme","ListPageLoadingIndicator","concatTestID","useHistory","groupEntriesByDay","HistoryListItemView","HistoryListSectionHeaderView","HistoryListView","query","contentContainerStyle","getItemProps","groupItems","itemProps","labels","onEmpty","onScroll","props","isFocused","colorScheme","data","historyData","fetchNextPage","fetchNextHistoryPage","hasNextPage","hasNextHistoryPage","isLoading","history","items","pages","flat","map","page","values","undefined","setImmediate","length","onEndReached","catch","createElement","animate","SectionList","_extends","ListFooterComponent","color","accent","style","styles","footer","listContent","keyExtractor","item","id","renderItem","index","section","first","last","testID","toString","renderSectionHeader","date","firstYearEntry","sectionHeader","sections","stickySectionHeadersEnabled","create","marginVertical","paddingHorizontal"],"sources":["history-list.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } from '@procivis/react-native-one-core';\nimport { useIsFocused } from '@react-navigation/native';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Animated, SectionListProps, StyleSheet } from 'react-native';\n\nimport { ActivityIndicator, useAppColorScheme } from '../../ui-components';\nimport ListPageLoadingIndicator from '../../ui-components/list/list-page-loading-indicator';\nimport { concatTestID, useHistory } from '../../utils';\nimport { groupEntriesByDay, HistoryGroupByDaySection } from '../../utils/history';\nimport { HistoryListItemLabels, HistoryListItemView, HistoryListItemViewProps } from './history-list-item';\nimport { HistoryListSectionHeaderLabels, HistoryListSectionHeaderView } from './history-list-section-header';\n\nexport type HistoryListLabels = {\n sectionHeader: HistoryListSectionHeaderLabels;\n item: HistoryListItemLabels;\n};\n\nexport interface HistoryListViewProps\n extends Omit<SectionListProps<HistoryListItem, HistoryGroupByDaySection>, 'sections'> {\n // optional customization of item props\n getItemProps?: (item: HistoryListItem) => Partial<HistoryListItemViewProps> | undefined;\n groupItems?: (entries: HistoryListItem[]) => HistoryGroupByDaySection[];\n itemProps?: Partial<HistoryListItemViewProps>;\n labels: HistoryListLabels;\n // callback when empty list displayed\n onEmpty?: (empty: boolean) => void;\n query: Partial<HistoryListQuery>;\n}\n\nexport const HistoryListView: FC<HistoryListViewProps> = ({\n query,\n contentContainerStyle,\n getItemProps,\n groupItems = groupEntriesByDay,\n itemProps,\n labels,\n onEmpty,\n onScroll,\n ...props\n}) => {\n const isFocused = useIsFocused();\n const colorScheme = useAppColorScheme();\n const {\n data: historyData,\n fetchNextPage: fetchNextHistoryPage,\n hasNextPage: hasNextHistoryPage,\n isLoading,\n } = useHistory(query);\n\n const history = useMemo(() => {\n const items = historyData?.pages\n .flat()\n .map((page) => page.values)\n .flat();\n if (!items) {\n return undefined;\n }\n if (historyData) {\n setImmediate(() => onEmpty?.(!items.length));\n }\n return groupItems(items);\n }, [historyData, onEmpty, groupItems]);\n\n const onEndReached = useCallback(() => {\n if (hasNextHistoryPage) {\n fetchNextHistoryPage().catch(() => {});\n }\n }, [fetchNextHistoryPage, hasNextHistoryPage]);\n\n if (!history) {\n return <ActivityIndicator animate={isFocused} />;\n }\n\n return (\n <Animated.SectionList<HistoryListItem, HistoryGroupByDaySection>\n ListFooterComponent={\n isLoading ? <ListPageLoadingIndicator color={colorScheme.accent} style={styles.footer} /> : undefined\n }\n contentContainerStyle={[styles.listContent, contentContainerStyle]}\n keyExtractor={(item) => item.id}\n onEndReached={onEndReached}\n onScroll={onScroll}\n renderItem={({ item, index, section }) => (\n <HistoryListItemView\n first={!index}\n item={item}\n labels={labels.item}\n last={index === section.data.length - 1}\n testID={concatTestID(props.testID, 'item', index.toString())}\n {...itemProps}\n {...getItemProps?.(item)}\n />\n )}\n renderSectionHeader={({ section }) => (\n <HistoryListSectionHeaderView\n date={section.date}\n firstYearEntry={section.firstYearEntry}\n labels={labels.sectionHeader}\n testID={concatTestID(props.testID, 'section')}\n />\n )}\n sections={history}\n stickySectionHeadersEnabled={false}\n {...props}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n footer: {\n marginVertical: 16,\n },\n listContent: {\n paddingHorizontal: 16,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useIsFocused","React","useCallback","useMemo","Animated","StyleSheet","ActivityIndicator","useAppColorScheme","ListPageLoadingIndicator","concatTestID","useHistory","groupEntriesByDay","HistoryListItemView","HistoryListSectionHeaderView","HistoryListView","query","contentContainerStyle","getItemProps","groupItems","itemProps","labels","onEmpty","onScroll","props","isFocused","colorScheme","data","historyData","fetchNextPage","fetchNextHistoryPage","hasNextPage","hasNextHistoryPage","isLoading","history","items","pages","flat","map","page","values","undefined","setImmediate","length","onEndReached","catch","createElement","animate","SectionList","_extends","ListFooterComponent","color","accent","style","styles","footer","listContent","keyExtractor","item","id","renderItem","index","section","first","last","testID","toString","renderSectionHeader","date","firstYearEntry","sectionHeader","sections","stickySectionHeadersEnabled","create","marginVertical","paddingHorizontal"],"sources":["history-list.tsx"],"sourcesContent":["import { HistoryListItemBindingDto, HistoryListQueryBindingDto } from '@procivis/react-native-one-core';\nimport { useIsFocused } from '@react-navigation/native';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Animated, SectionListProps, StyleSheet } from 'react-native';\n\nimport { ActivityIndicator, useAppColorScheme } from '../../ui-components';\nimport ListPageLoadingIndicator from '../../ui-components/list/list-page-loading-indicator';\nimport { concatTestID, useHistory } from '../../utils';\nimport { groupEntriesByDay, HistoryGroupByDaySection } from '../../utils/history';\nimport { HistoryListItemLabels, HistoryListItemView, HistoryListItemViewProps } from './history-list-item';\nimport { HistoryListSectionHeaderLabels, HistoryListSectionHeaderView } from './history-list-section-header';\n\nexport type HistoryListLabels = {\n sectionHeader: HistoryListSectionHeaderLabels;\n item: HistoryListItemLabels;\n};\n\nexport interface HistoryListViewProps\n extends Omit<SectionListProps<HistoryListItemBindingDto, HistoryGroupByDaySection>, 'sections'> {\n // optional customization of item props\n getItemProps?: (item: HistoryListItemBindingDto) => Partial<HistoryListItemViewProps> | undefined;\n groupItems?: (entries: HistoryListItemBindingDto[]) => HistoryGroupByDaySection[];\n itemProps?: Partial<HistoryListItemViewProps>;\n labels: HistoryListLabels;\n // callback when empty list displayed\n onEmpty?: (empty: boolean) => void;\n query: Partial<HistoryListQueryBindingDto>;\n}\n\nexport const HistoryListView: FC<HistoryListViewProps> = ({\n query,\n contentContainerStyle,\n getItemProps,\n groupItems = groupEntriesByDay,\n itemProps,\n labels,\n onEmpty,\n onScroll,\n ...props\n}) => {\n const isFocused = useIsFocused();\n const colorScheme = useAppColorScheme();\n const {\n data: historyData,\n fetchNextPage: fetchNextHistoryPage,\n hasNextPage: hasNextHistoryPage,\n isLoading,\n } = useHistory(query);\n\n const history = useMemo(() => {\n const items = historyData?.pages\n .flat()\n .map((page) => page.values)\n .flat();\n if (!items) {\n return undefined;\n }\n if (historyData) {\n setImmediate(() => onEmpty?.(!items.length));\n }\n return groupItems(items);\n }, [historyData, onEmpty, groupItems]);\n\n const onEndReached = useCallback(() => {\n if (hasNextHistoryPage) {\n fetchNextHistoryPage().catch(() => {});\n }\n }, [fetchNextHistoryPage, hasNextHistoryPage]);\n\n if (!history) {\n return <ActivityIndicator animate={isFocused} />;\n }\n\n return (\n <Animated.SectionList<HistoryListItemBindingDto, HistoryGroupByDaySection>\n ListFooterComponent={\n isLoading ? <ListPageLoadingIndicator color={colorScheme.accent} style={styles.footer} /> : undefined\n }\n contentContainerStyle={[styles.listContent, contentContainerStyle]}\n keyExtractor={(item) => item.id}\n onEndReached={onEndReached}\n onScroll={onScroll}\n renderItem={({ item, index, section }) => (\n <HistoryListItemView\n first={!index}\n item={item}\n labels={labels.item}\n last={index === section.data.length - 1}\n testID={concatTestID(props.testID, 'item', index.toString())}\n {...itemProps}\n {...getItemProps?.(item)}\n />\n )}\n renderSectionHeader={({ section }) => (\n <HistoryListSectionHeaderView\n date={section.date}\n firstYearEntry={section.firstYearEntry}\n labels={labels.sectionHeader}\n testID={concatTestID(props.testID, 'section')}\n />\n )}\n sections={history}\n stickySectionHeadersEnabled={false}\n {...props}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n footer: {\n marginVertical: 16,\n },\n listContent: {\n paddingHorizontal: 16,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","Typography","useAppColorScheme","ShareCredentialCardNotice","children","testID","text","colorScheme","createElement","style","styles","notice","backgroundColor","background","align","color","preset","create","marginBottom","marginHorizontal","padding"],"sources":["share-credential-card-notice.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { Typography,useAppColorScheme } from '../../ui-components';\n\nexport type ShareCredentialCardNoticeProps = {\n testID: string;\n text: string;\n};\n\nexport const ShareCredentialCardNotice: FC<PropsWithChildren<ShareCredentialCardNoticeProps>> = ({\n children,\n testID,\n text,\n}) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.notice, { backgroundColor: colorScheme.background }]} testID={testID}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {text}\n </Typography>\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAiC,OAAO;AACpD,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,UAAU,EAACC,iBAAiB,QAAQ,qBAAqB;AAOlE,OAAO,MAAMC,yBAAgF,GAAGA,CAAC;EAC/FC,QAAQ;EACRC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGL,iBAAiB,CAAC,CAAC;EACvC,oBACEJ,KAAA,CAAAU,aAAA,CAACR,IAAI;IAACS,KAAK,EAAE,CAACC,MAAM,CAACC,MAAM,EAAE;MAAEC,eAAe,EAAEL,WAAW,CAACM;IAAW,CAAC,CAAE;IAACR,MAAM,EAAEA;EAAO,gBACxFP,KAAA,CAAAU,aAAA,CAACP,UAAU;IAACa,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAER,WAAW,CAACD,IAAK;IAACU,MAAM,EAAC;EAAsB,GAC9EV,IACS,CAAC,EACZF,QACG,CAAC;AAEX,CAAC;AAED,MAAMM,MAAM,GAAGX,UAAU,CAACkB,MAAM,CAAC;EAC/BN,MAAM,EAAE;IACNO,YAAY,EAAE,EAAE;IAChBC,gBAAgB,EAAE,EAAE;IACpBC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","Typography","useAppColorScheme","ShareCredentialCardNotice","children","testID","text","colorScheme","createElement","style","styles","notice","backgroundColor","background","align","color","preset","create","marginBottom","marginHorizontal","padding"],"sources":["share-credential-card-notice.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { Typography, useAppColorScheme } from '../../ui-components';\n\nexport type ShareCredentialCardNoticeProps = {\n testID: string;\n text: string;\n};\n\nexport const ShareCredentialCardNotice: FC<PropsWithChildren<ShareCredentialCardNoticeProps>> = ({\n children,\n testID,\n text,\n}) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.notice, { backgroundColor: colorScheme.background }]} testID={testID}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {text}\n </Typography>\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAiC,OAAO;AACpD,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,UAAU,EAAEC,iBAAiB,QAAQ,qBAAqB;AAOnE,OAAO,MAAMC,yBAAgF,GAAGA,CAAC;EAC/FC,QAAQ;EACRC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGL,iBAAiB,CAAC,CAAC;EACvC,oBACEJ,KAAA,CAAAU,aAAA,CAACR,IAAI;IAACS,KAAK,EAAE,CAACC,MAAM,CAACC,MAAM,EAAE;MAAEC,eAAe,EAAEL,WAAW,CAACM;IAAW,CAAC,CAAE;IAACR,MAAM,EAAEA;EAAO,gBACxFP,KAAA,CAAAU,aAAA,CAACP,UAAU;IAACa,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAER,WAAW,CAACD,IAAK;IAACU,MAAM,EAAC;EAAsB,GAC9EV,IACS,CAAC,EACZF,QACG,CAAC;AAEX,CAAC;AAED,MAAMM,MAAM,GAAGX,UAAU,CAACkB,MAAM,CAAC;EAC/BN,MAAM,EAAE;IACNO,YAAY,EAAE,EAAE;IAChBC,gBAAgB,EAAE,EAAE;IACpBC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","selectCredentialCardFromCredential","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","config","cardWidth","get","width","card","attributes","createElement","onHeaderPress","expanded"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredential } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredential;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SACEC,kCAAkC,QAE7B,2CAA2C;AAElD,OAAO,MAAMC,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACG,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGlB,OAAO,CAAC,MAAMC,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEI,IAAI;IAAEC;EAAW,CAAC,GAAGjB,kCAAkC,CAC7DW,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPK,MAAM,EACNH,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAwB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPG,aAAa,EAAEb,OAAO;MACtBS,KAAK,EAAEF;IACT,CAAE;IACFO,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","selectCredentialCardFromCredential","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","config","cardWidth","get","width","card","attributes","createElement","onHeaderPress","expanded"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredentialBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredentialBindingDto;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SACEC,kCAAkC,QAE7B,2CAA2C;AAElD,OAAO,MAAMC,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACG,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGlB,OAAO,CAAC,MAAMC,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEI,IAAI;IAAEC;EAAW,CAAC,GAAGjB,kCAAkC,CAC7DW,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPK,MAAM,EACNH,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAwB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPG,aAAa,EAAEb,OAAO;MACtBS,KAAK,EAAEF;IACT,CAAE;IACFO,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CredentialStateEnum } from '@procivis/react-native-one-core';
1
+ import { CredentialStateBindingEnum } from '@procivis/react-native-one-core';
2
2
  import React, { useMemo } from 'react';
3
3
  import { Dimensions, StyleSheet } from 'react-native';
4
4
  import { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';
@@ -33,7 +33,7 @@ export const ShareCredential = ({
33
33
  const selectionOptions = useMemo(() => request.applicableCredentials.filter(applicableCredentialId => allCredentials.some(({
34
34
  id,
35
35
  state
36
- }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED)), [allCredentials, request]);
36
+ }) => id === applicableCredentialId && state === CredentialStateBindingEnum.ACCEPTED)), [allCredentials, request]);
37
37
  const multipleCredentialsAvailable = selectionOptions.length > 1;
38
38
  const validityState = getValidityState(credential ? {
39
39
  ...credential,
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialStateEnum","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","getValidityState","ValidityState","shareCredentialCardFromCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\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: CredentialDetail[];\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 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(({ 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 <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":["CredentialStateBindingEnum","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","getValidityState","ValidityState","shareCredentialCardFromCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","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 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","selectCredentialCardFromV2Credential","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","cardWidth","get","width","onHeaderPress","id","card","attributes","createElement","expanded"],"sources":["select-credential-v2.tsx"],"sourcesContent":["import { CredentialListItem, PresentationDefinitionV2CredentialDetail } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { ShareCredentialCardLabels, useCoreConfig } from '../../../utils';\nimport { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';\n\nexport const SelectCredentialV2: FC<{\n credential: PresentationDefinitionV2CredentialDetail;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n multiple: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelected?: (credentialId: CredentialListItem['id'], selected: boolean) => void;\n selected: boolean;\n testID: string;\n}> = ({ credential, labels, lastItem, multiple, onImagePreview, onSelected, selected, testID }) => {\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const onHeaderPress = useCallback(() => {\n onSelected?.(credential.id, !selected);\n }, [credential.id, onSelected, selected]);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACvD,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAAoCC,aAAa,QAAQ,gBAAgB;AACzE,SAASC,oCAAoC,QAAQ,8CAA8C;AAEnG,OAAO,MAAMC,kBASX,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGZ,aAAa,CAAC,CAAC;EACxC,MAAMa,SAAS,GAAGhB,OAAO,CAAC,MAAMC,UAAU,CAACgB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,MAAMC,aAAa,GAAGpB,WAAW,CAAC,MAAM;IACtCY,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAGL,UAAU,CAACc,EAAE,EAAE,CAACR,QAAQ,CAAC;EACxC,CAAC,EAAE,CAACN,UAAU,CAACc,EAAE,EAAET,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAEzC,IAAI,CAACN,UAAU,IAAI,CAACS,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAGlB,oCAAoC,CAC/DE,UAAU,EACVM,QAAQ,EACRH,QAAQ,EACRM,MAAM,EACNF,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAyB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPF,aAAa;MACbD,KAAK,EAAEF;IACT,CAAE;IACFQ,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","selectCredentialCardFromV2Credential","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","cardWidth","get","width","onHeaderPress","id","card","attributes","createElement","expanded"],"sources":["select-credential-v2.tsx"],"sourcesContent":["import {\n CredentialListItemBindingDto,\n PresentationDefinitionV2CredentialDetailBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { ShareCredentialCardLabels, useCoreConfig } from '../../../utils';\nimport { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';\n\nexport const SelectCredentialV2: FC<{\n credential: PresentationDefinitionV2CredentialDetailBindingDto;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n multiple: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelected?: (credentialId: CredentialListItemBindingDto['id'], selected: boolean) => void;\n selected: boolean;\n testID: string;\n}> = ({ credential, labels, lastItem, multiple, onImagePreview, onSelected, selected, testID }) => {\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const onHeaderPress = useCallback(() => {\n onSelected?.(credential.id, !selected);\n }, [credential.id, onSelected, selected]);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AAIA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACvD,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAAoCC,aAAa,QAAQ,gBAAgB;AACzE,SAASC,oCAAoC,QAAQ,8CAA8C;AAEnG,OAAO,MAAMC,kBASX,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGZ,aAAa,CAAC,CAAC;EACxC,MAAMa,SAAS,GAAGhB,OAAO,CAAC,MAAMC,UAAU,CAACgB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,MAAMC,aAAa,GAAGpB,WAAW,CAAC,MAAM;IACtCY,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAGL,UAAU,CAACc,EAAE,EAAE,CAACR,QAAQ,CAAC;EACxC,CAAC,EAAE,CAACN,UAAU,CAACc,EAAE,EAAET,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAEzC,IAAI,CAACN,UAAU,IAAI,CAACS,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAGlB,oCAAoC,CAC/DE,UAAU,EACVM,QAAQ,EACRH,QAAQ,EACRM,MAAM,EACNF,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAyB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPF,aAAa;MACbD,KAAK,EAAEF;IACT,CAAE;IACFQ,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -54,9 +54,9 @@ export const ShareCredentialV2Group = ({
54
54
  length: credentialRequestsLength
55
55
  }) => {
56
56
  const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;
57
- const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId];
57
+ const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;
58
58
  let defaultSelection;
59
- if ('applicableCredentials' in credentialQuery) {
59
+ if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {
60
60
  var _credentialQuery$appl;
61
61
  defaultSelection = (_credentialQuery$appl = credentialQuery.applicableCredentials) !== null && _credentialQuery$appl !== void 0 && _credentialQuery$appl[0] ? {
62
62
  credentialId: credentialQuery.applicableCredentials[0].id,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","StyleSheet","Animated","LinearTransition","BlurView","CredentialCardShadow","DownIcon","Selector","SelectorStatus","TouchableOpacity","UpIcon","CredentialGroupHeader","concatTestID","useCredentialListExpandedCard","GroupedShareCredentialV2Padding","ShareCredentialV2","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","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","onNestedCardHeaderPress","credentialId","credentialCards","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","defaultSelection","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","status","SelectedRadio","Empty","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","groupHeaderAccessory","View","layout","animatedWrapper","height","undefined","groupedCredentialsWrapper","blurStyle","darkMode","absoluteFill","onPress","accessory","name","groupHeader","header","create","borderRadius","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2CredentialClaim,\n PresentationSubmitV2CredentialRequest,\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 PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\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: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2CredentialClaim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\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 PresentationSubmitV2CredentialRequest[]).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];\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if ('applicableCredentials' in credentialQuery) {\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","useCallback","useMemo","StyleSheet","Animated","LinearTransition","BlurView","CredentialCardShadow","DownIcon","Selector","SelectorStatus","TouchableOpacity","UpIcon","CredentialGroupHeader","concatTestID","useCredentialListExpandedCard","GroupedShareCredentialV2Padding","ShareCredentialV2","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","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","onNestedCardHeaderPress","credentialId","credentialCards","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","status","SelectedRadio","Empty","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","groupHeaderAccessory","View","layout","animatedWrapper","height","undefined","groupedCredentialsWrapper","blurStyle","darkMode","absoluteFill","onPress","accessory","name","groupHeader","header","create","borderRadius","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":[]}
@@ -25,8 +25,8 @@ export const ShareCredentialV2 = ({
25
25
  }) => {
26
26
  var _applicableCredential, _credential$issuer;
27
27
  const colorScheme = useAppColorScheme();
28
- const applicableCredentials = 'applicableCredentials' in credentialQuery ? credentialQuery.applicableCredentials : undefined;
29
- const failureHint = 'failureHint' in credentialQuery ? credentialQuery.failureHint : undefined;
28
+ const applicableCredentials = credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;
29
+ const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;
30
30
  const credential = (_applicableCredential = applicableCredentials === null || applicableCredentials === void 0 ? void 0 : applicableCredentials.find(c => c.id === selectedCredentialId)) !== null && _applicableCredential !== void 0 ? _applicableCredential : applicableCredentials === null || applicableCredentials === void 0 ? void 0 : applicableCredentials[0];
31
31
  const {
32
32
  data: config