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

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 (874) hide show
  1. package/README.md +3 -8
  2. package/lib/commonjs/components/backup/index.js.map +1 -1
  3. package/lib/commonjs/components/backup/preview-credentials.js +18 -22
  4. package/lib/commonjs/components/backup/preview-credentials.js.map +1 -1
  5. package/lib/commonjs/components/credential/credential.js +11 -12
  6. package/lib/commonjs/components/credential/credential.js.map +1 -1
  7. package/lib/commonjs/components/credential/index.js.map +1 -1
  8. package/lib/commonjs/components/entity/EntityButtons.js +20 -25
  9. package/lib/commonjs/components/entity/EntityButtons.js.map +1 -1
  10. package/lib/commonjs/components/entity/entity-attributes.js +15 -17
  11. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  12. package/lib/commonjs/components/entity/entity-details-with-buttons.js +18 -19
  13. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  14. package/lib/commonjs/components/entity/entity-details.js +12 -14
  15. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  16. package/lib/commonjs/components/entity/index.js +2 -2
  17. package/lib/commonjs/components/entity/index.js.map +1 -1
  18. package/lib/commonjs/components/history/history-details-screen.js +67 -0
  19. package/lib/commonjs/components/history/history-details-screen.js.map +1 -0
  20. package/lib/commonjs/components/history/history-list-item-icon.js +94 -0
  21. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -0
  22. package/lib/commonjs/components/history/history-list-item.js +45 -0
  23. package/lib/commonjs/components/history/history-list-item.js.map +1 -0
  24. package/lib/commonjs/components/history/history-list-screen.js +121 -0
  25. package/lib/commonjs/components/history/history-list-screen.js.map +1 -0
  26. package/lib/commonjs/components/history/history-list-section-header.js +39 -0
  27. package/lib/commonjs/components/history/history-list-section-header.js.map +1 -0
  28. package/lib/commonjs/components/history/history-list.js +100 -0
  29. package/lib/commonjs/components/history/history-list.js.map +1 -0
  30. package/lib/commonjs/components/history/index.js +72 -0
  31. package/lib/commonjs/components/history/index.js.map +1 -0
  32. package/lib/commonjs/components/index.js +11 -0
  33. package/lib/commonjs/components/index.js.map +1 -1
  34. package/lib/commonjs/components/navigation/header-buttons.js +21 -25
  35. package/lib/commonjs/components/navigation/header-buttons.js.map +1 -1
  36. package/lib/commonjs/components/navigation/index.js.map +1 -1
  37. package/lib/commonjs/components/proof-request/group.js +4 -5
  38. package/lib/commonjs/components/proof-request/group.js.map +1 -1
  39. package/lib/commonjs/components/proof-request/index.js.map +1 -1
  40. package/lib/commonjs/components/proof-request/select-credential.js +11 -12
  41. package/lib/commonjs/components/proof-request/select-credential.js.map +1 -1
  42. package/lib/commonjs/components/proof-request/share-credential.js +23 -27
  43. package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
  44. package/lib/commonjs/index.js.map +1 -1
  45. package/lib/commonjs/normalize-color.d.js.map +1 -1
  46. package/lib/commonjs/ui-components/accessibility/accessibility.js +11 -7
  47. package/lib/commonjs/ui-components/accessibility/accessibility.js.map +1 -1
  48. package/lib/commonjs/ui-components/accessibility/accessibilityHistory.js +8 -12
  49. package/lib/commonjs/ui-components/accessibility/accessibilityHistory.js.map +1 -1
  50. package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js +15 -17
  51. package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
  52. package/lib/commonjs/ui-components/accessibility/accessibilityLanguage.js +8 -10
  53. package/lib/commonjs/ui-components/accessibility/accessibilityLanguage.js.map +1 -1
  54. package/lib/commonjs/ui-components/accessibility/index.js +1 -30
  55. package/lib/commonjs/ui-components/accessibility/index.js.map +1 -1
  56. package/lib/commonjs/ui-components/accessibility/locale/index.js +2 -3
  57. package/lib/commonjs/ui-components/accessibility/locale/index.js.map +1 -1
  58. package/lib/commonjs/ui-components/accessibility/locale.test.js.map +1 -1
  59. package/lib/commonjs/ui-components/action-modal/ActionModal.js +9 -11
  60. package/lib/commonjs/ui-components/action-modal/ActionModal.js.map +1 -1
  61. package/lib/commonjs/ui-components/action-modal/index.js +1 -1
  62. package/lib/commonjs/ui-components/action-modal/index.js.map +1 -1
  63. package/lib/commonjs/ui-components/activity-indicator/activity-indicator.js +10 -12
  64. package/lib/commonjs/ui-components/activity-indicator/activity-indicator.js.map +1 -1
  65. package/lib/commonjs/ui-components/activity-indicator/index.js +1 -1
  66. package/lib/commonjs/ui-components/activity-indicator/index.js.map +1 -1
  67. package/lib/commonjs/ui-components/blur/blur-view.js +13 -15
  68. package/lib/commonjs/ui-components/blur/blur-view.js.map +1 -1
  69. package/lib/commonjs/ui-components/blur/index.js +2 -2
  70. package/lib/commonjs/ui-components/blur/index.js.map +1 -1
  71. package/lib/commonjs/ui-components/buttons/back-button.js +12 -15
  72. package/lib/commonjs/ui-components/buttons/back-button.js.map +1 -1
  73. package/lib/commonjs/ui-components/buttons/button.js +19 -22
  74. package/lib/commonjs/ui-components/buttons/button.js.map +1 -1
  75. package/lib/commonjs/ui-components/buttons/connectivity-button.js +16 -18
  76. package/lib/commonjs/ui-components/buttons/connectivity-button.js.map +1 -1
  77. package/lib/commonjs/ui-components/buttons/filter-button.js +8 -10
  78. package/lib/commonjs/ui-components/buttons/filter-button.js.map +1 -1
  79. package/lib/commonjs/ui-components/buttons/ghost-button.js +12 -14
  80. package/lib/commonjs/ui-components/buttons/ghost-button.js.map +1 -1
  81. package/lib/commonjs/ui-components/buttons/hold-button.js +244 -0
  82. package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -0
  83. package/lib/commonjs/ui-components/buttons/index.js +9 -37
  84. package/lib/commonjs/ui-components/buttons/index.js.map +1 -1
  85. package/lib/commonjs/ui-components/buttons/scan-button.js +7 -9
  86. package/lib/commonjs/ui-components/buttons/scan-button.js.map +1 -1
  87. package/lib/commonjs/ui-components/camera/camera-overlay.js +11 -14
  88. package/lib/commonjs/ui-components/camera/camera-overlay.js.map +1 -1
  89. package/lib/commonjs/ui-components/camera/index.js +2 -2
  90. package/lib/commonjs/ui-components/camera/index.js.map +1 -1
  91. package/lib/commonjs/ui-components/camera/qr-code-scanner.js +12 -14
  92. package/lib/commonjs/ui-components/camera/qr-code-scanner.js.map +1 -1
  93. package/lib/commonjs/ui-components/control/checkbox.js +11 -12
  94. package/lib/commonjs/ui-components/control/checkbox.js.map +1 -1
  95. package/lib/commonjs/ui-components/control/index.js.map +1 -1
  96. package/lib/commonjs/ui-components/control/switch.js +10 -12
  97. package/lib/commonjs/ui-components/control/switch.js.map +1 -1
  98. package/lib/commonjs/ui-components/credential/card/credential-card.js +22 -26
  99. package/lib/commonjs/ui-components/credential/card/credential-card.js.map +1 -1
  100. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +30 -35
  101. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  102. package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js +27 -20
  103. package/lib/commonjs/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  104. package/lib/commonjs/ui-components/credential/card/credential-header.js +25 -24
  105. package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
  106. package/lib/commonjs/ui-components/credential/card/credential-image-carousel.js +27 -29
  107. package/lib/commonjs/ui-components/credential/card/credential-image-carousel.js.map +1 -1
  108. package/lib/commonjs/ui-components/credential/card/index.js +6 -41
  109. package/lib/commonjs/ui-components/credential/card/index.js.map +1 -1
  110. package/lib/commonjs/ui-components/credential/credential-attribute-item.js +51 -60
  111. package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
  112. package/lib/commonjs/ui-components/credential/credential-carousel-images.js +18 -21
  113. package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
  114. package/lib/commonjs/ui-components/credential/index.js +2 -25
  115. package/lib/commonjs/ui-components/credential/index.js.map +1 -1
  116. package/lib/commonjs/ui-components/credential/selector-status.js +3 -4
  117. package/lib/commonjs/ui-components/credential/selector-status.js.map +1 -1
  118. package/lib/commonjs/ui-components/credential/selector.js +8 -10
  119. package/lib/commonjs/ui-components/credential/selector.js.map +1 -1
  120. package/lib/commonjs/ui-components/detail/detail.js +12 -14
  121. package/lib/commonjs/ui-components/detail/detail.js.map +1 -1
  122. package/lib/commonjs/ui-components/detail/index.js +1 -1
  123. package/lib/commonjs/ui-components/detail/index.js.map +1 -1
  124. package/lib/commonjs/ui-components/entity/avatar.js +14 -16
  125. package/lib/commonjs/ui-components/entity/avatar.js.map +1 -1
  126. package/lib/commonjs/ui-components/entity/entity-cluster.js +15 -18
  127. package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
  128. package/lib/commonjs/ui-components/entity/index.js +2 -2
  129. package/lib/commonjs/ui-components/entity/index.js.map +1 -1
  130. package/lib/commonjs/ui-components/header/focus-aware-status-bar.js +3 -4
  131. package/lib/commonjs/ui-components/header/focus-aware-status-bar.js.map +1 -1
  132. package/lib/commonjs/ui-components/header/foldable-header.js +14 -17
  133. package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
  134. package/lib/commonjs/ui-components/header/header.js +12 -14
  135. package/lib/commonjs/ui-components/header/header.js.map +1 -1
  136. package/lib/commonjs/ui-components/header/index.js +4 -24
  137. package/lib/commonjs/ui-components/header/index.js.map +1 -1
  138. package/lib/commonjs/ui-components/header/navigation-header.js +27 -33
  139. package/lib/commonjs/ui-components/header/navigation-header.js.map +1 -1
  140. package/lib/commonjs/ui-components/history/data-item.js +30 -23
  141. package/lib/commonjs/ui-components/history/data-item.js.map +1 -1
  142. package/lib/commonjs/ui-components/history/history-details.js +181 -0
  143. package/lib/commonjs/ui-components/history/history-details.js.map +1 -0
  144. package/lib/commonjs/ui-components/history/{history-list-item.js → history-item.js} +47 -26
  145. package/lib/commonjs/ui-components/history/history-item.js.map +1 -0
  146. package/lib/commonjs/ui-components/history/history-section-header.js +7 -9
  147. package/lib/commonjs/ui-components/history/history-section-header.js.map +1 -1
  148. package/lib/commonjs/ui-components/history/history-section-list-item.js +13 -12
  149. package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
  150. package/lib/commonjs/ui-components/history/index.js +30 -9
  151. package/lib/commonjs/ui-components/history/index.js.map +1 -1
  152. package/lib/commonjs/ui-components/icons/connectivity.js +19 -24
  153. package/lib/commonjs/ui-components/icons/connectivity.js.map +1 -1
  154. package/lib/commonjs/ui-components/icons/credential.js +60 -71
  155. package/lib/commonjs/ui-components/icons/credential.js.map +1 -1
  156. package/lib/commonjs/ui-components/icons/entity.js +7 -8
  157. package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
  158. package/lib/commonjs/ui-components/icons/history.js +113 -133
  159. package/lib/commonjs/ui-components/icons/history.js.map +1 -1
  160. package/lib/commonjs/ui-components/icons/icons.js +73 -90
  161. package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
  162. package/lib/commonjs/ui-components/icons/index.js.map +1 -1
  163. package/lib/commonjs/ui-components/icons/input.js +3 -3
  164. package/lib/commonjs/ui-components/icons/input.js.map +1 -1
  165. package/lib/commonjs/ui-components/icons/keypad.js +69 -81
  166. package/lib/commonjs/ui-components/icons/keypad.js.map +1 -1
  167. package/lib/commonjs/ui-components/icons/loader.js +4 -4
  168. package/lib/commonjs/ui-components/icons/loader.js.map +1 -1
  169. package/lib/commonjs/ui-components/icons/nerd-view.js +6 -9
  170. package/lib/commonjs/ui-components/icons/nerd-view.js.map +1 -1
  171. package/lib/commonjs/ui-components/icons/selector.js +8 -9
  172. package/lib/commonjs/ui-components/icons/selector.js.map +1 -1
  173. package/lib/commonjs/ui-components/icons/wallet.js +16 -19
  174. package/lib/commonjs/ui-components/icons/wallet.js.map +1 -1
  175. package/lib/commonjs/ui-components/image/image-or-component.js +15 -18
  176. package/lib/commonjs/ui-components/image/image-or-component.js.map +1 -1
  177. package/lib/commonjs/ui-components/image/index.js +2 -9
  178. package/lib/commonjs/ui-components/image/index.js.map +1 -1
  179. package/lib/commonjs/ui-components/index.js.map +1 -1
  180. package/lib/commonjs/ui-components/input/index.js +2 -2
  181. package/lib/commonjs/ui-components/input/index.js.map +1 -1
  182. package/lib/commonjs/ui-components/input/radio-group.js +28 -25
  183. package/lib/commonjs/ui-components/input/radio-group.js.map +1 -1
  184. package/lib/commonjs/ui-components/input/selection-input.js +27 -38
  185. package/lib/commonjs/ui-components/input/selection-input.js.map +1 -1
  186. package/lib/commonjs/ui-components/input/text-input.js +25 -28
  187. package/lib/commonjs/ui-components/input/text-input.js.map +1 -1
  188. package/lib/commonjs/ui-components/list/index.js +20 -2
  189. package/lib/commonjs/ui-components/list/index.js.map +1 -1
  190. package/lib/commonjs/ui-components/list/list-page-loading-indicator.js +14 -0
  191. package/lib/commonjs/ui-components/list/list-page-loading-indicator.js.map +1 -0
  192. package/lib/commonjs/ui-components/list/list-section-header.js +10 -12
  193. package/lib/commonjs/ui-components/list/list-section-header.js.map +1 -1
  194. package/lib/commonjs/ui-components/list/list-title-header.js +6 -8
  195. package/lib/commonjs/ui-components/list/list-title-header.js.map +1 -1
  196. package/lib/commonjs/ui-components/list/wallet/empty-list.js +73 -0
  197. package/lib/commonjs/ui-components/list/wallet/empty-list.js.map +1 -0
  198. package/lib/commonjs/ui-components/list/wallet/empty-search-result.js +41 -0
  199. package/lib/commonjs/ui-components/list/wallet/empty-search-result.js.map +1 -0
  200. package/lib/commonjs/ui-components/list/wallet/index.js +21 -0
  201. package/lib/commonjs/ui-components/list/wallet/index.js.map +1 -0
  202. package/lib/commonjs/ui-components/loader/index.js +2 -2
  203. package/lib/commonjs/ui-components/loader/index.js.map +1 -1
  204. package/lib/commonjs/ui-components/loader/loader.js +17 -17
  205. package/lib/commonjs/ui-components/loader/loader.js.map +1 -1
  206. package/lib/commonjs/ui-components/loader/loading-result.js +22 -21
  207. package/lib/commonjs/ui-components/loader/loading-result.js.map +1 -1
  208. package/lib/commonjs/ui-components/nerd-view/index.js +2 -8
  209. package/lib/commonjs/ui-components/nerd-view/index.js.map +1 -1
  210. package/lib/commonjs/ui-components/nerd-view/nerd-mode-item.js +37 -41
  211. package/lib/commonjs/ui-components/nerd-view/nerd-mode-item.js.map +1 -1
  212. package/lib/commonjs/ui-components/pin/index.js +2 -2
  213. package/lib/commonjs/ui-components/pin/index.js.map +1 -1
  214. package/lib/commonjs/ui-components/pin/keypad.js +19 -23
  215. package/lib/commonjs/ui-components/pin/keypad.js.map +1 -1
  216. package/lib/commonjs/ui-components/pin/pin-code-screen.js +19 -21
  217. package/lib/commonjs/ui-components/pin/pin-code-screen.js.map +1 -1
  218. package/lib/commonjs/ui-components/pin/pin-lock-animation.js +1 -2
  219. package/lib/commonjs/ui-components/pin/pin-lock-animation.js.map +1 -1
  220. package/lib/commonjs/ui-components/pin/pin-lock.js +10 -12
  221. package/lib/commonjs/ui-components/pin/pin-lock.js.map +1 -1
  222. package/lib/commonjs/ui-components/pin/pins.js +8 -9
  223. package/lib/commonjs/ui-components/pin/pins.js.map +1 -1
  224. package/lib/commonjs/ui-components/screens/backup-screen.js +15 -18
  225. package/lib/commonjs/ui-components/screens/backup-screen.js.map +1 -1
  226. package/lib/commonjs/ui-components/screens/image-preview-screen.js +12 -14
  227. package/lib/commonjs/ui-components/screens/image-preview-screen.js.map +1 -1
  228. package/lib/commonjs/ui-components/screens/index.js +8 -49
  229. package/lib/commonjs/ui-components/screens/index.js.map +1 -1
  230. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js +34 -41
  231. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  232. package/lib/commonjs/ui-components/screens/qr-code-scanner-screen.js +14 -16
  233. package/lib/commonjs/ui-components/screens/qr-code-scanner-screen.js.map +1 -1
  234. package/lib/commonjs/ui-components/screens/scroll-view-screen.js +12 -14
  235. package/lib/commonjs/ui-components/screens/scroll-view-screen.js.map +1 -1
  236. package/lib/commonjs/ui-components/screens/section-list-screen.js +13 -15
  237. package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
  238. package/lib/commonjs/ui-components/searchbar/animated-search-bar.js +10 -12
  239. package/lib/commonjs/ui-components/searchbar/animated-search-bar.js.map +1 -1
  240. package/lib/commonjs/ui-components/searchbar/index.js +2 -2
  241. package/lib/commonjs/ui-components/searchbar/index.js.map +1 -1
  242. package/lib/commonjs/ui-components/searchbar/search-bar.js +15 -17
  243. package/lib/commonjs/ui-components/searchbar/search-bar.js.map +1 -1
  244. package/lib/commonjs/ui-components/settings/button-setting.js +14 -16
  245. package/lib/commonjs/ui-components/settings/button-setting.js.map +1 -1
  246. package/lib/commonjs/ui-components/settings/index.js +2 -2
  247. package/lib/commonjs/ui-components/settings/index.js.map +1 -1
  248. package/lib/commonjs/ui-components/settings/setting-item-separator.js +6 -8
  249. package/lib/commonjs/ui-components/settings/setting-item-separator.js.map +1 -1
  250. package/lib/commonjs/ui-components/settings/setting-item.js +11 -13
  251. package/lib/commonjs/ui-components/settings/setting-item.js.map +1 -1
  252. package/lib/commonjs/ui-components/settings/settings-button.js +7 -9
  253. package/lib/commonjs/ui-components/settings/settings-button.js.map +1 -1
  254. package/lib/commonjs/ui-components/settings/switch-setting.js +11 -13
  255. package/lib/commonjs/ui-components/settings/switch-setting.js.map +1 -1
  256. package/lib/commonjs/ui-components/state/error-screen.js +10 -12
  257. package/lib/commonjs/ui-components/state/error-screen.js.map +1 -1
  258. package/lib/commonjs/ui-components/state/index.js +2 -2
  259. package/lib/commonjs/ui-components/state/index.js.map +1 -1
  260. package/lib/commonjs/ui-components/text/base.js +14 -16
  261. package/lib/commonjs/ui-components/text/base.js.map +1 -1
  262. package/lib/commonjs/ui-components/text/font.js +11 -13
  263. package/lib/commonjs/ui-components/text/font.js.map +1 -1
  264. package/lib/commonjs/ui-components/text/index.js +2 -9
  265. package/lib/commonjs/ui-components/text/index.js.map +1 -1
  266. package/lib/commonjs/ui-components/text/typography.js +10 -13
  267. package/lib/commonjs/ui-components/text/typography.js.map +1 -1
  268. package/lib/commonjs/ui-components/theme/color-scheme-context.js +2 -1
  269. package/lib/commonjs/ui-components/theme/color-scheme-context.js.map +1 -1
  270. package/lib/commonjs/ui-components/theme/color-scheme.js.map +1 -1
  271. package/lib/commonjs/ui-components/theme/index.js.map +1 -1
  272. package/lib/commonjs/utils/array.js.map +1 -1
  273. package/lib/commonjs/utils/backup.js.map +1 -1
  274. package/lib/commonjs/utils/color.js +1 -1
  275. package/lib/commonjs/utils/color.js.map +1 -1
  276. package/lib/commonjs/utils/contrasting-status-bar.js +8 -10
  277. package/lib/commonjs/utils/contrasting-status-bar.js.map +1 -1
  278. package/lib/commonjs/utils/date.js +3 -3
  279. package/lib/commonjs/utils/date.js.map +1 -1
  280. package/lib/commonjs/utils/filtering.js +11 -0
  281. package/lib/commonjs/utils/filtering.js.map +1 -0
  282. package/lib/commonjs/utils/history.js +76 -0
  283. package/lib/commonjs/utils/history.js.map +1 -0
  284. package/lib/commonjs/utils/hooks/connectivity/connectivity.js +37 -23
  285. package/lib/commonjs/utils/hooks/connectivity/connectivity.js.map +1 -1
  286. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js +6 -0
  287. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  288. package/lib/commonjs/utils/hooks/core/backup.js +31 -31
  289. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  290. package/lib/commonjs/utils/hooks/core/cache.js +44 -0
  291. package/lib/commonjs/utils/hooks/core/cache.js.map +1 -0
  292. package/lib/commonjs/utils/hooks/core/core-config.js +15 -1
  293. package/lib/commonjs/utils/hooks/core/core-config.js.map +1 -1
  294. package/lib/commonjs/utils/hooks/core/core-context.js +15 -10
  295. package/lib/commonjs/utils/hooks/core/core-context.js.map +1 -1
  296. package/lib/commonjs/utils/hooks/core/core-init.js +18 -12
  297. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  298. package/lib/commonjs/utils/hooks/core/credential-schemas.js +16 -27
  299. package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
  300. package/lib/commonjs/utils/hooks/core/credentials.js +27 -37
  301. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  302. package/lib/commonjs/utils/hooks/core/dids.js +4 -6
  303. package/lib/commonjs/utils/hooks/core/dids.js.map +1 -1
  304. package/lib/commonjs/utils/hooks/core/error-code.js +3 -4
  305. package/lib/commonjs/utils/hooks/core/error-code.js.map +1 -1
  306. package/lib/commonjs/utils/hooks/core/history.js +5 -37
  307. package/lib/commonjs/utils/hooks/core/history.js.map +1 -1
  308. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  309. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  310. package/lib/commonjs/utils/hooks/core/proof-schemas.js +23 -38
  311. package/lib/commonjs/utils/hooks/core/proof-schemas.js.map +1 -1
  312. package/lib/commonjs/utils/hooks/core/proofs.js +107 -76
  313. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  314. package/lib/commonjs/utils/hooks/core/query.js +1 -2
  315. package/lib/commonjs/utils/hooks/core/query.js.map +1 -1
  316. package/lib/commonjs/utils/hooks/core/trust-entity.js +8 -4
  317. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  318. package/lib/commonjs/utils/hooks/credential-card/credential-card-expanding.js.map +1 -1
  319. package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js +1 -2
  320. package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js.map +1 -1
  321. package/lib/commonjs/utils/hooks/http/client.js.map +1 -1
  322. package/lib/commonjs/utils/hooks/index.js.map +1 -1
  323. package/lib/commonjs/utils/hooks/list/list-content-inset.js +9 -10
  324. package/lib/commonjs/utils/hooks/list/list-content-inset.js.map +1 -1
  325. package/lib/commonjs/utils/hooks/navigation/before-remove.js.map +1 -1
  326. package/lib/commonjs/utils/hooks/navigation/close-button-timeout.js.map +1 -1
  327. package/lib/commonjs/utils/hooks/navigation/deep-link.js +3 -4
  328. package/lib/commonjs/utils/hooks/navigation/deep-link.js.map +1 -1
  329. package/lib/commonjs/utils/hooks/navigation/index.js.map +1 -1
  330. package/lib/commonjs/utils/hooks/navigation/open-settings.js +1 -2
  331. package/lib/commonjs/utils/hooks/navigation/open-settings.js.map +1 -1
  332. package/lib/commonjs/utils/hooks/pin-security/pin-security.js +1 -2
  333. package/lib/commonjs/utils/hooks/pin-security/pin-security.js.map +1 -1
  334. package/lib/commonjs/utils/hooks/revocation/credential-status.js +17 -26
  335. package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
  336. package/lib/commonjs/utils/index.js +37 -1
  337. package/lib/commonjs/utils/index.js.map +1 -1
  338. package/lib/commonjs/utils/navigation.js +5 -5
  339. package/lib/commonjs/utils/navigation.js.map +1 -1
  340. package/lib/commonjs/utils/parsers/credential-images.js +1 -1
  341. package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
  342. package/lib/commonjs/utils/parsers/credential-sharing.js +16 -20
  343. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  344. package/lib/commonjs/utils/parsers/credential.js +16 -26
  345. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  346. package/lib/commonjs/utils/parsers/index.js +11 -0
  347. package/lib/commonjs/utils/parsers/index.js.map +1 -1
  348. package/lib/commonjs/utils/parsers/query.js +3 -2
  349. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  350. package/lib/commonjs/utils/parsers/universal-links.js +33 -0
  351. package/lib/commonjs/utils/parsers/universal-links.js.map +1 -0
  352. package/lib/commonjs/utils/parsers/universal-links.test.js +40 -0
  353. package/lib/commonjs/utils/parsers/universal-links.test.js.map +1 -0
  354. package/lib/commonjs/utils/ref.js.map +1 -1
  355. package/lib/commonjs/utils/reporting.js +4 -2
  356. package/lib/commonjs/utils/reporting.js.map +1 -1
  357. package/lib/commonjs/utils/string.js.map +1 -1
  358. package/lib/commonjs/utils/testID.js +1 -4
  359. package/lib/commonjs/utils/testID.js.map +1 -1
  360. package/lib/commonjs/utils/testID.test.js.map +1 -1
  361. package/lib/commonjs/utils/useMemoAsync.js +9 -0
  362. package/lib/commonjs/utils/useMemoAsync.js.map +1 -1
  363. package/lib/commonjs/utils/uuid.js +1 -1
  364. package/lib/commonjs/utils/uuid.js.map +1 -1
  365. package/lib/module/components/backup/index.js.map +1 -1
  366. package/lib/module/components/backup/preview-credentials.js +17 -21
  367. package/lib/module/components/backup/preview-credentials.js.map +1 -1
  368. package/lib/module/components/credential/credential.js +10 -11
  369. package/lib/module/components/credential/credential.js.map +1 -1
  370. package/lib/module/components/credential/index.js.map +1 -1
  371. package/lib/module/components/entity/EntityButtons.js +17 -21
  372. package/lib/module/components/entity/EntityButtons.js.map +1 -1
  373. package/lib/module/components/entity/entity-attributes.js +12 -13
  374. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  375. package/lib/module/components/entity/entity-details-with-buttons.js +15 -15
  376. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  377. package/lib/module/components/entity/entity-details.js +8 -9
  378. package/lib/module/components/entity/entity-details.js.map +1 -1
  379. package/lib/module/components/entity/index.js.map +1 -1
  380. package/lib/module/components/history/history-details-screen.js +59 -0
  381. package/lib/module/components/history/history-details-screen.js.map +1 -0
  382. package/lib/module/components/history/history-list-item-icon.js +84 -0
  383. package/lib/module/components/history/history-list-item-icon.js.map +1 -0
  384. package/lib/module/components/history/history-list-item.js +36 -0
  385. package/lib/module/components/history/history-list-item.js.map +1 -0
  386. package/lib/module/components/history/history-list-screen.js +112 -0
  387. package/lib/module/components/history/history-list-screen.js.map +1 -0
  388. package/lib/module/components/history/history-list-section-header.js +29 -0
  389. package/lib/module/components/history/history-list-section-header.js.map +1 -0
  390. package/lib/module/components/history/history-list.js +90 -0
  391. package/lib/module/components/history/history-list.js.map +1 -0
  392. package/lib/module/components/history/index.js +7 -0
  393. package/lib/module/components/history/index.js.map +1 -0
  394. package/lib/module/components/index.js +1 -0
  395. package/lib/module/components/index.js.map +1 -1
  396. package/lib/module/components/navigation/header-buttons.js +19 -23
  397. package/lib/module/components/navigation/header-buttons.js.map +1 -1
  398. package/lib/module/components/navigation/index.js.map +1 -1
  399. package/lib/module/components/proof-request/group.js +3 -4
  400. package/lib/module/components/proof-request/group.js.map +1 -1
  401. package/lib/module/components/proof-request/index.js.map +1 -1
  402. package/lib/module/components/proof-request/select-credential.js +10 -11
  403. package/lib/module/components/proof-request/select-credential.js.map +1 -1
  404. package/lib/module/components/proof-request/share-credential.js +21 -25
  405. package/lib/module/components/proof-request/share-credential.js.map +1 -1
  406. package/lib/module/index.js.map +1 -1
  407. package/lib/module/normalize-color.d.js.map +1 -1
  408. package/lib/module/ui-components/accessibility/accessibility.js +5 -7
  409. package/lib/module/ui-components/accessibility/accessibility.js.map +1 -1
  410. package/lib/module/ui-components/accessibility/accessibilityHistory.js +4 -8
  411. package/lib/module/ui-components/accessibility/accessibilityHistory.js.map +1 -1
  412. package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js +10 -8
  413. package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
  414. package/lib/module/ui-components/accessibility/accessibilityLanguage.js +6 -8
  415. package/lib/module/ui-components/accessibility/accessibilityLanguage.js.map +1 -1
  416. package/lib/module/ui-components/accessibility/index.js +4 -4
  417. package/lib/module/ui-components/accessibility/index.js.map +1 -1
  418. package/lib/module/ui-components/accessibility/locale/index.js.map +1 -1
  419. package/lib/module/ui-components/accessibility/locale.test.js.map +1 -1
  420. package/lib/module/ui-components/action-modal/ActionModal.js +7 -8
  421. package/lib/module/ui-components/action-modal/ActionModal.js.map +1 -1
  422. package/lib/module/ui-components/action-modal/index.js.map +1 -1
  423. package/lib/module/ui-components/activity-indicator/activity-indicator.js +6 -7
  424. package/lib/module/ui-components/activity-indicator/activity-indicator.js.map +1 -1
  425. package/lib/module/ui-components/activity-indicator/index.js.map +1 -1
  426. package/lib/module/ui-components/blur/blur-view.js +10 -11
  427. package/lib/module/ui-components/blur/blur-view.js.map +1 -1
  428. package/lib/module/ui-components/blur/index.js.map +1 -1
  429. package/lib/module/ui-components/buttons/back-button.js +10 -11
  430. package/lib/module/ui-components/buttons/back-button.js.map +1 -1
  431. package/lib/module/ui-components/buttons/button.js +17 -18
  432. package/lib/module/ui-components/buttons/button.js.map +1 -1
  433. package/lib/module/ui-components/buttons/connectivity-button.js +14 -14
  434. package/lib/module/ui-components/buttons/connectivity-button.js.map +1 -1
  435. package/lib/module/ui-components/buttons/filter-button.js +6 -7
  436. package/lib/module/ui-components/buttons/filter-button.js.map +1 -1
  437. package/lib/module/ui-components/buttons/ghost-button.js +9 -10
  438. package/lib/module/ui-components/buttons/ghost-button.js.map +1 -1
  439. package/lib/module/ui-components/buttons/hold-button.js +236 -0
  440. package/lib/module/ui-components/buttons/hold-button.js.map +1 -0
  441. package/lib/module/ui-components/buttons/index.js +8 -7
  442. package/lib/module/ui-components/buttons/index.js.map +1 -1
  443. package/lib/module/ui-components/buttons/scan-button.js +5 -6
  444. package/lib/module/ui-components/buttons/scan-button.js.map +1 -1
  445. package/lib/module/ui-components/camera/camera-overlay.js +7 -9
  446. package/lib/module/ui-components/camera/camera-overlay.js.map +1 -1
  447. package/lib/module/ui-components/camera/index.js.map +1 -1
  448. package/lib/module/ui-components/camera/qr-code-scanner.js +8 -9
  449. package/lib/module/ui-components/camera/qr-code-scanner.js.map +1 -1
  450. package/lib/module/ui-components/control/checkbox.js +9 -10
  451. package/lib/module/ui-components/control/checkbox.js.map +1 -1
  452. package/lib/module/ui-components/control/index.js.map +1 -1
  453. package/lib/module/ui-components/control/switch.js +8 -9
  454. package/lib/module/ui-components/control/switch.js.map +1 -1
  455. package/lib/module/ui-components/credential/card/credential-card.js +16 -17
  456. package/lib/module/ui-components/credential/card/credential-card.js.map +1 -1
  457. package/lib/module/ui-components/credential/card/credential-details-card.js +26 -30
  458. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  459. package/lib/module/ui-components/credential/card/credential-details-list-item.js +23 -15
  460. package/lib/module/ui-components/credential/card/credential-details-list-item.js.map +1 -1
  461. package/lib/module/ui-components/credential/card/credential-header.js +21 -19
  462. package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
  463. package/lib/module/ui-components/credential/card/credential-image-carousel.js +23 -23
  464. package/lib/module/ui-components/credential/card/credential-image-carousel.js.map +1 -1
  465. package/lib/module/ui-components/credential/card/index.js +10 -10
  466. package/lib/module/ui-components/credential/card/index.js.map +1 -1
  467. package/lib/module/ui-components/credential/credential-attribute-item.js +47 -55
  468. package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
  469. package/lib/module/ui-components/credential/credential-carousel-images.js +15 -18
  470. package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
  471. package/lib/module/ui-components/credential/index.js +2 -2
  472. package/lib/module/ui-components/credential/index.js.map +1 -1
  473. package/lib/module/ui-components/credential/selector-status.js +3 -3
  474. package/lib/module/ui-components/credential/selector-status.js.map +1 -1
  475. package/lib/module/ui-components/credential/selector.js +5 -6
  476. package/lib/module/ui-components/credential/selector.js.map +1 -1
  477. package/lib/module/ui-components/detail/detail.js +9 -10
  478. package/lib/module/ui-components/detail/detail.js.map +1 -1
  479. package/lib/module/ui-components/detail/index.js.map +1 -1
  480. package/lib/module/ui-components/entity/avatar.js +10 -11
  481. package/lib/module/ui-components/entity/avatar.js.map +1 -1
  482. package/lib/module/ui-components/entity/entity-cluster.js +11 -13
  483. package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
  484. package/lib/module/ui-components/entity/index.js.map +1 -1
  485. package/lib/module/ui-components/header/focus-aware-status-bar.js +1 -1
  486. package/lib/module/ui-components/header/focus-aware-status-bar.js.map +1 -1
  487. package/lib/module/ui-components/header/foldable-header.js +10 -12
  488. package/lib/module/ui-components/header/foldable-header.js.map +1 -1
  489. package/lib/module/ui-components/header/header.js +10 -11
  490. package/lib/module/ui-components/header/header.js.map +1 -1
  491. package/lib/module/ui-components/header/index.js +6 -6
  492. package/lib/module/ui-components/header/index.js.map +1 -1
  493. package/lib/module/ui-components/header/navigation-header.js +23 -28
  494. package/lib/module/ui-components/header/navigation-header.js.map +1 -1
  495. package/lib/module/ui-components/history/data-item.js +23 -15
  496. package/lib/module/ui-components/history/data-item.js.map +1 -1
  497. package/lib/module/ui-components/history/history-details.js +171 -0
  498. package/lib/module/ui-components/history/history-details.js.map +1 -0
  499. package/lib/module/ui-components/history/{history-list-item.js → history-item.js} +44 -22
  500. package/lib/module/ui-components/history/history-item.js.map +1 -0
  501. package/lib/module/ui-components/history/history-section-header.js +6 -7
  502. package/lib/module/ui-components/history/history-section-header.js.map +1 -1
  503. package/lib/module/ui-components/history/history-section-list-item.js +8 -9
  504. package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
  505. package/lib/module/ui-components/history/index.js +5 -4
  506. package/lib/module/ui-components/history/index.js.map +1 -1
  507. package/lib/module/ui-components/icons/connectivity.js +16 -21
  508. package/lib/module/ui-components/icons/connectivity.js.map +1 -1
  509. package/lib/module/ui-components/icons/credential.js +57 -68
  510. package/lib/module/ui-components/icons/credential.js.map +1 -1
  511. package/lib/module/ui-components/icons/entity.js +4 -5
  512. package/lib/module/ui-components/icons/entity.js.map +1 -1
  513. package/lib/module/ui-components/icons/history.js +101 -128
  514. package/lib/module/ui-components/icons/history.js.map +1 -1
  515. package/lib/module/ui-components/icons/icons.js +70 -87
  516. package/lib/module/ui-components/icons/icons.js.map +1 -1
  517. package/lib/module/ui-components/icons/index.js.map +1 -1
  518. package/lib/module/ui-components/icons/input.js.map +1 -1
  519. package/lib/module/ui-components/icons/keypad.js +66 -78
  520. package/lib/module/ui-components/icons/keypad.js.map +1 -1
  521. package/lib/module/ui-components/icons/loader.js +1 -1
  522. package/lib/module/ui-components/icons/loader.js.map +1 -1
  523. package/lib/module/ui-components/icons/nerd-view.js.map +1 -1
  524. package/lib/module/ui-components/icons/selector.js +5 -6
  525. package/lib/module/ui-components/icons/selector.js.map +1 -1
  526. package/lib/module/ui-components/icons/wallet.js +13 -16
  527. package/lib/module/ui-components/icons/wallet.js.map +1 -1
  528. package/lib/module/ui-components/image/image-or-component.js +12 -14
  529. package/lib/module/ui-components/image/image-or-component.js.map +1 -1
  530. package/lib/module/ui-components/image/index.js +2 -2
  531. package/lib/module/ui-components/image/index.js.map +1 -1
  532. package/lib/module/ui-components/index.js.map +1 -1
  533. package/lib/module/ui-components/input/index.js.map +1 -1
  534. package/lib/module/ui-components/input/radio-group.js +26 -22
  535. package/lib/module/ui-components/input/radio-group.js.map +1 -1
  536. package/lib/module/ui-components/input/selection-input.js +21 -31
  537. package/lib/module/ui-components/input/selection-input.js.map +1 -1
  538. package/lib/module/ui-components/input/text-input.js +21 -22
  539. package/lib/module/ui-components/input/text-input.js.map +1 -1
  540. package/lib/module/ui-components/list/index.js +1 -0
  541. package/lib/module/ui-components/list/index.js.map +1 -1
  542. package/lib/module/ui-components/list/list-page-loading-indicator.js +7 -0
  543. package/lib/module/ui-components/list/list-page-loading-indicator.js.map +1 -0
  544. package/lib/module/ui-components/list/list-section-header.js +8 -9
  545. package/lib/module/ui-components/list/list-section-header.js.map +1 -1
  546. package/lib/module/ui-components/list/list-title-header.js +4 -5
  547. package/lib/module/ui-components/list/list-title-header.js.map +1 -1
  548. package/lib/module/ui-components/list/wallet/empty-list.js +66 -0
  549. package/lib/module/ui-components/list/wallet/empty-list.js.map +1 -0
  550. package/lib/module/ui-components/list/wallet/empty-search-result.js +34 -0
  551. package/lib/module/ui-components/list/wallet/empty-search-result.js.map +1 -0
  552. package/lib/module/ui-components/list/wallet/index.js +4 -0
  553. package/lib/module/ui-components/list/wallet/index.js.map +1 -0
  554. package/lib/module/ui-components/loader/index.js.map +1 -1
  555. package/lib/module/ui-components/loader/loader.js +14 -12
  556. package/lib/module/ui-components/loader/loader.js.map +1 -1
  557. package/lib/module/ui-components/loader/loading-result.js +21 -19
  558. package/lib/module/ui-components/loader/loading-result.js.map +1 -1
  559. package/lib/module/ui-components/nerd-view/index.js +2 -2
  560. package/lib/module/ui-components/nerd-view/index.js.map +1 -1
  561. package/lib/module/ui-components/nerd-view/nerd-mode-item.js +31 -34
  562. package/lib/module/ui-components/nerd-view/nerd-mode-item.js.map +1 -1
  563. package/lib/module/ui-components/pin/index.js.map +1 -1
  564. package/lib/module/ui-components/pin/keypad.js +17 -19
  565. package/lib/module/ui-components/pin/keypad.js.map +1 -1
  566. package/lib/module/ui-components/pin/pin-code-screen.js +16 -17
  567. package/lib/module/ui-components/pin/pin-code-screen.js.map +1 -1
  568. package/lib/module/ui-components/pin/pin-lock-animation.js.map +1 -1
  569. package/lib/module/ui-components/pin/pin-lock.js +6 -7
  570. package/lib/module/ui-components/pin/pin-lock.js.map +1 -1
  571. package/lib/module/ui-components/pin/pins.js +7 -8
  572. package/lib/module/ui-components/pin/pins.js.map +1 -1
  573. package/lib/module/ui-components/screens/backup-screen.js +13 -14
  574. package/lib/module/ui-components/screens/backup-screen.js.map +1 -1
  575. package/lib/module/ui-components/screens/image-preview-screen.js +9 -10
  576. package/lib/module/ui-components/screens/image-preview-screen.js.map +1 -1
  577. package/lib/module/ui-components/screens/index.js +12 -12
  578. package/lib/module/ui-components/screens/index.js.map +1 -1
  579. package/lib/module/ui-components/screens/nerd-mode-screen.js +29 -34
  580. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  581. package/lib/module/ui-components/screens/qr-code-scanner-screen.js +10 -11
  582. package/lib/module/ui-components/screens/qr-code-scanner-screen.js.map +1 -1
  583. package/lib/module/ui-components/screens/scroll-view-screen.js +10 -11
  584. package/lib/module/ui-components/screens/scroll-view-screen.js.map +1 -1
  585. package/lib/module/ui-components/screens/section-list-screen.js +11 -12
  586. package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
  587. package/lib/module/ui-components/searchbar/animated-search-bar.js +6 -7
  588. package/lib/module/ui-components/searchbar/animated-search-bar.js.map +1 -1
  589. package/lib/module/ui-components/searchbar/index.js.map +1 -1
  590. package/lib/module/ui-components/searchbar/search-bar.js +11 -12
  591. package/lib/module/ui-components/searchbar/search-bar.js.map +1 -1
  592. package/lib/module/ui-components/settings/button-setting.js +10 -11
  593. package/lib/module/ui-components/settings/button-setting.js.map +1 -1
  594. package/lib/module/ui-components/settings/index.js.map +1 -1
  595. package/lib/module/ui-components/settings/setting-item-separator.js +4 -5
  596. package/lib/module/ui-components/settings/setting-item-separator.js.map +1 -1
  597. package/lib/module/ui-components/settings/setting-item.js +7 -8
  598. package/lib/module/ui-components/settings/setting-item.js.map +1 -1
  599. package/lib/module/ui-components/settings/settings-button.js +5 -6
  600. package/lib/module/ui-components/settings/settings-button.js.map +1 -1
  601. package/lib/module/ui-components/settings/switch-setting.js +9 -10
  602. package/lib/module/ui-components/settings/switch-setting.js.map +1 -1
  603. package/lib/module/ui-components/state/error-screen.js +7 -8
  604. package/lib/module/ui-components/state/error-screen.js.map +1 -1
  605. package/lib/module/ui-components/state/index.js.map +1 -1
  606. package/lib/module/ui-components/text/base.js +12 -13
  607. package/lib/module/ui-components/text/base.js.map +1 -1
  608. package/lib/module/ui-components/text/font.js +10 -11
  609. package/lib/module/ui-components/text/font.js.map +1 -1
  610. package/lib/module/ui-components/text/index.js +2 -2
  611. package/lib/module/ui-components/text/index.js.map +1 -1
  612. package/lib/module/ui-components/text/typography.js +8 -10
  613. package/lib/module/ui-components/text/typography.js.map +1 -1
  614. package/lib/module/ui-components/theme/color-scheme-context.js +1 -0
  615. package/lib/module/ui-components/theme/color-scheme-context.js.map +1 -1
  616. package/lib/module/ui-components/theme/color-scheme.js.map +1 -1
  617. package/lib/module/ui-components/theme/index.js.map +1 -1
  618. package/lib/module/utils/array.js.map +1 -1
  619. package/lib/module/utils/backup.js.map +1 -1
  620. package/lib/module/utils/color.js.map +1 -1
  621. package/lib/module/utils/contrasting-status-bar.js +5 -6
  622. package/lib/module/utils/contrasting-status-bar.js.map +1 -1
  623. package/lib/module/utils/date.js +4 -4
  624. package/lib/module/utils/date.js.map +1 -1
  625. package/lib/module/utils/filtering.js +4 -0
  626. package/lib/module/utils/filtering.js.map +1 -0
  627. package/lib/module/utils/history.js +66 -0
  628. package/lib/module/utils/history.js.map +1 -0
  629. package/lib/module/utils/hooks/connectivity/connectivity.js +36 -19
  630. package/lib/module/utils/hooks/connectivity/connectivity.js.map +1 -1
  631. package/lib/module/utils/hooks/connectivity/connectivity.test.js +6 -0
  632. package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  633. package/lib/module/utils/hooks/core/backup.js +31 -31
  634. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  635. package/lib/module/utils/hooks/core/cache.js +37 -0
  636. package/lib/module/utils/hooks/core/cache.js.map +1 -0
  637. package/lib/module/utils/hooks/core/core-config.js +11 -0
  638. package/lib/module/utils/hooks/core/core-config.js.map +1 -1
  639. package/lib/module/utils/hooks/core/core-context.js +14 -9
  640. package/lib/module/utils/hooks/core/core-context.js.map +1 -1
  641. package/lib/module/utils/hooks/core/core-init.js +16 -8
  642. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  643. package/lib/module/utils/hooks/core/credential-schemas.js +12 -19
  644. package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
  645. package/lib/module/utils/hooks/core/credentials.js +26 -36
  646. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  647. package/lib/module/utils/hooks/core/dids.js +3 -4
  648. package/lib/module/utils/hooks/core/dids.js.map +1 -1
  649. package/lib/module/utils/hooks/core/error-code.js +3 -3
  650. package/lib/module/utils/hooks/core/error-code.js.map +1 -1
  651. package/lib/module/utils/hooks/core/history.js +4 -35
  652. package/lib/module/utils/hooks/core/history.js.map +1 -1
  653. package/lib/module/utils/hooks/core/index.js +1 -0
  654. package/lib/module/utils/hooks/core/index.js.map +1 -1
  655. package/lib/module/utils/hooks/core/proof-schemas.js +19 -30
  656. package/lib/module/utils/hooks/core/proof-schemas.js.map +1 -1
  657. package/lib/module/utils/hooks/core/proofs.js +101 -67
  658. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  659. package/lib/module/utils/hooks/core/query.js.map +1 -1
  660. package/lib/module/utils/hooks/core/trust-entity.js +7 -3
  661. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  662. package/lib/module/utils/hooks/credential-card/credential-card-expanding.js.map +1 -1
  663. package/lib/module/utils/hooks/header/on-scroll-header-state.js +1 -2
  664. package/lib/module/utils/hooks/header/on-scroll-header-state.js.map +1 -1
  665. package/lib/module/utils/hooks/http/client.js.map +1 -1
  666. package/lib/module/utils/hooks/index.js.map +1 -1
  667. package/lib/module/utils/hooks/list/list-content-inset.js +9 -10
  668. package/lib/module/utils/hooks/list/list-content-inset.js.map +1 -1
  669. package/lib/module/utils/hooks/navigation/before-remove.js.map +1 -1
  670. package/lib/module/utils/hooks/navigation/close-button-timeout.js.map +1 -1
  671. package/lib/module/utils/hooks/navigation/deep-link.js +3 -4
  672. package/lib/module/utils/hooks/navigation/deep-link.js.map +1 -1
  673. package/lib/module/utils/hooks/navigation/index.js.map +1 -1
  674. package/lib/module/utils/hooks/navigation/open-settings.js +1 -2
  675. package/lib/module/utils/hooks/navigation/open-settings.js.map +1 -1
  676. package/lib/module/utils/hooks/pin-security/pin-security.js +1 -2
  677. package/lib/module/utils/hooks/pin-security/pin-security.js.map +1 -1
  678. package/lib/module/utils/hooks/revocation/credential-status.js +17 -26
  679. package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
  680. package/lib/module/utils/index.js +3 -0
  681. package/lib/module/utils/index.js.map +1 -1
  682. package/lib/module/utils/navigation.js +5 -5
  683. package/lib/module/utils/navigation.js.map +1 -1
  684. package/lib/module/utils/parsers/credential-images.js.map +1 -1
  685. package/lib/module/utils/parsers/credential-sharing.js +15 -19
  686. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  687. package/lib/module/utils/parsers/credential.js +16 -25
  688. package/lib/module/utils/parsers/credential.js.map +1 -1
  689. package/lib/module/utils/parsers/index.js +1 -0
  690. package/lib/module/utils/parsers/index.js.map +1 -1
  691. package/lib/module/utils/parsers/query.js +3 -2
  692. package/lib/module/utils/parsers/query.js.map +1 -1
  693. package/lib/module/utils/parsers/universal-links.js +25 -0
  694. package/lib/module/utils/parsers/universal-links.js.map +1 -0
  695. package/lib/module/utils/parsers/universal-links.test.js +38 -0
  696. package/lib/module/utils/parsers/universal-links.test.js.map +1 -0
  697. package/lib/module/utils/ref.js.map +1 -1
  698. package/lib/module/utils/reporting.js +1 -0
  699. package/lib/module/utils/reporting.js.map +1 -1
  700. package/lib/module/utils/string.js.map +1 -1
  701. package/lib/module/utils/testID.js +1 -4
  702. package/lib/module/utils/testID.js.map +1 -1
  703. package/lib/module/utils/testID.test.js.map +1 -1
  704. package/lib/module/utils/useMemoAsync.js +10 -0
  705. package/lib/module/utils/useMemoAsync.js.map +1 -1
  706. package/lib/module/utils/uuid.js.map +1 -1
  707. package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
  708. package/lib/typescript/components/history/history-details-screen.d.ts +20 -0
  709. package/lib/typescript/components/history/history-list-item-icon.d.ts +8 -0
  710. package/lib/typescript/components/history/history-list-item.d.ts +20 -0
  711. package/lib/typescript/components/history/history-list-screen.d.ts +22 -0
  712. package/lib/typescript/components/history/history-list-section-header.d.ts +13 -0
  713. package/lib/typescript/components/history/history-list.d.ts +19 -0
  714. package/lib/typescript/components/history/index.d.ts +6 -0
  715. package/lib/typescript/components/index.d.ts +1 -0
  716. package/lib/typescript/ui-components/accessibility/accessibility.d.ts +2 -2
  717. package/lib/typescript/ui-components/accessibility/accessibilityHistory.d.ts +1 -1
  718. package/lib/typescript/ui-components/accessibility/accessibilityHistoryWrappers.d.ts +3 -3
  719. package/lib/typescript/ui-components/accessibility/index.d.ts +5 -3
  720. package/lib/typescript/ui-components/buttons/button.d.ts +2 -2
  721. package/lib/typescript/ui-components/buttons/hold-button.d.ts +16 -0
  722. package/lib/typescript/ui-components/buttons/index.d.ts +15 -7
  723. package/lib/typescript/ui-components/buttons/scan-button.d.ts +2 -2
  724. package/lib/typescript/ui-components/credential/card/credential-header.d.ts +1 -1
  725. package/lib/typescript/ui-components/credential/card/index.d.ts +10 -5
  726. package/lib/typescript/ui-components/credential/index.d.ts +2 -1
  727. package/lib/typescript/ui-components/header/index.d.ts +6 -3
  728. package/lib/typescript/ui-components/history/data-item.d.ts +2 -2
  729. package/lib/typescript/ui-components/history/history-details.d.ts +51 -0
  730. package/lib/typescript/ui-components/history/{history-list-item.d.ts → history-item.d.ts} +4 -3
  731. package/lib/typescript/ui-components/history/history-section-header.d.ts +2 -2
  732. package/lib/typescript/ui-components/history/history-section-list-item.d.ts +2 -2
  733. package/lib/typescript/ui-components/history/index.d.ts +5 -4
  734. package/lib/typescript/ui-components/icons/history.d.ts +20 -35
  735. package/lib/typescript/ui-components/image/index.d.ts +2 -1
  736. package/lib/typescript/ui-components/input/selection-input.d.ts +1 -1
  737. package/lib/typescript/ui-components/list/index.d.ts +1 -0
  738. package/lib/typescript/ui-components/list/list-page-loading-indicator.d.ts +4 -0
  739. package/lib/typescript/ui-components/list/wallet/empty-list.d.ts +10 -0
  740. package/lib/typescript/ui-components/list/wallet/empty-search-result.d.ts +7 -0
  741. package/lib/typescript/ui-components/list/wallet/index.d.ts +3 -0
  742. package/lib/typescript/ui-components/nerd-view/index.d.ts +2 -1
  743. package/lib/typescript/ui-components/pin/keypad.d.ts +2 -2
  744. package/lib/typescript/ui-components/screens/index.d.ts +12 -6
  745. package/lib/typescript/ui-components/text/index.d.ts +2 -1
  746. package/lib/typescript/ui-components/text/typography.d.ts +14 -14
  747. package/lib/typescript/ui-components/theme/color-scheme.d.ts +1 -0
  748. package/lib/typescript/utils/filtering.d.ts +1 -0
  749. package/lib/typescript/utils/history.d.ts +10 -0
  750. package/lib/typescript/utils/hooks/connectivity/connectivity.d.ts +1 -1
  751. package/lib/typescript/utils/hooks/core/backup.d.ts +2 -1
  752. package/lib/typescript/utils/hooks/core/cache.d.ts +2 -0
  753. package/lib/typescript/utils/hooks/core/core-config.d.ts +5 -1
  754. package/lib/typescript/utils/hooks/core/core-init.d.ts +10 -1
  755. package/lib/typescript/utils/hooks/core/credentials.d.ts +7 -3
  756. package/lib/typescript/utils/hooks/core/history.d.ts +2 -5
  757. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  758. package/lib/typescript/utils/hooks/core/proofs.d.ts +14 -8
  759. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +5 -0
  760. package/lib/typescript/utils/hooks/revocation/credential-status.d.ts +2 -1
  761. package/lib/typescript/utils/index.d.ts +3 -0
  762. package/lib/typescript/utils/parsers/index.d.ts +1 -0
  763. package/lib/typescript/utils/parsers/universal-links.d.ts +1 -0
  764. package/lib/typescript/utils/parsers/universal-links.test.d.ts +1 -0
  765. package/lib/typescript/utils/ref.d.ts +1 -1
  766. package/package.json +60 -46
  767. package/src/components/entity/entity-attributes.tsx +4 -3
  768. package/src/components/entity/entity-details-with-buttons.tsx +4 -3
  769. package/src/components/history/history-details-screen.tsx +89 -0
  770. package/src/components/history/history-list-item-icon.tsx +108 -0
  771. package/src/components/history/history-list-item.tsx +53 -0
  772. package/src/components/history/history-list-screen.tsx +154 -0
  773. package/src/components/history/history-list-section-header.tsx +42 -0
  774. package/src/components/history/history-list.tsx +116 -0
  775. package/src/components/history/index.tsx +6 -0
  776. package/src/components/index.ts +1 -0
  777. package/src/ui-components/accessibility/accessibility.ts +2 -2
  778. package/src/ui-components/accessibility/accessibilityHistory.tsx +2 -2
  779. package/src/ui-components/accessibility/accessibilityHistoryWrappers.tsx +3 -5
  780. package/src/ui-components/accessibility/index.ts +4 -3
  781. package/src/ui-components/action-modal/ActionModal.stories.tsx +7 -3
  782. package/src/ui-components/activity-indicator/activity-indicator.stories.tsx +3 -6
  783. package/src/ui-components/buttons/back-button.stories.tsx +7 -8
  784. package/src/ui-components/buttons/button.stories.tsx +9 -10
  785. package/src/ui-components/buttons/connectivity-button.stories.tsx +10 -11
  786. package/src/ui-components/buttons/connectivity-button.tsx +1 -1
  787. package/src/ui-components/buttons/ghost-button.stories.tsx +8 -8
  788. package/src/ui-components/buttons/hold-button.stories.tsx +29 -0
  789. package/src/ui-components/buttons/hold-button.tsx +276 -0
  790. package/src/ui-components/buttons/index.ts +16 -6
  791. package/src/ui-components/buttons/scan-button.stories.tsx +8 -4
  792. package/src/ui-components/control/checkbox.stories.tsx +8 -8
  793. package/src/ui-components/control/switch.stories.tsx +11 -8
  794. package/src/ui-components/credential/card/credential-card.stories.tsx +22 -25
  795. package/src/ui-components/credential/card/credential-details-card.stories.tsx +249 -245
  796. package/src/ui-components/credential/card/credential-details-card.tsx +2 -2
  797. package/src/ui-components/credential/card/credential-details-list-item.tsx +16 -6
  798. package/src/ui-components/credential/card/credential-header.stories.tsx +15 -17
  799. package/src/ui-components/credential/card/credential-header.tsx +4 -1
  800. package/src/ui-components/credential/card/credential-image-carousel.tsx +4 -0
  801. package/src/ui-components/credential/card/index.ts +11 -5
  802. package/src/ui-components/credential/index.ts +2 -1
  803. package/src/ui-components/credential/selector.stories.tsx +7 -7
  804. package/src/ui-components/detail/detail.stories.tsx +11 -8
  805. package/src/ui-components/entity/avatar.stories.tsx +10 -7
  806. package/src/ui-components/entity/entity-cluster.stories.tsx +11 -8
  807. package/src/ui-components/header/header.stories.tsx +10 -7
  808. package/src/ui-components/header/index.ts +6 -3
  809. package/src/ui-components/header/navigation-header.stories.tsx +11 -8
  810. package/src/ui-components/history/data-item.tsx +13 -4
  811. package/src/ui-components/history/history-details.tsx +247 -0
  812. package/src/ui-components/history/{history-list-item.tsx → history-item.tsx} +72 -33
  813. package/src/ui-components/history/history-section-header.tsx +2 -2
  814. package/src/ui-components/history/history-section-list-item.tsx +3 -3
  815. package/src/ui-components/history/index.ts +5 -4
  816. package/src/ui-components/icons/history.tsx +82 -131
  817. package/src/ui-components/image/index.tsx +2 -1
  818. package/src/ui-components/input/radio-group.stories.tsx +34 -0
  819. package/src/ui-components/input/radio-group.tsx +8 -2
  820. package/src/ui-components/input/selection-input.stories.tsx +20 -17
  821. package/src/ui-components/list/index.ts +1 -0
  822. package/src/ui-components/list/list-page-loading-indicator.tsx +8 -0
  823. package/src/ui-components/list/wallet/empty-list.tsx +75 -0
  824. package/src/ui-components/list/wallet/empty-search-result.tsx +39 -0
  825. package/src/ui-components/list/wallet/index.tsx +4 -0
  826. package/src/ui-components/loader/loader.stories.tsx +6 -9
  827. package/src/ui-components/loader/loader.tsx +6 -3
  828. package/src/ui-components/loader/loading-result.stories.tsx +13 -10
  829. package/src/ui-components/loader/loading-result.tsx +8 -4
  830. package/src/ui-components/nerd-view/index.ts +2 -1
  831. package/src/ui-components/nerd-view/nerd-mode-item.tsx +2 -2
  832. package/src/ui-components/pin/pin-code-screen.stories.tsx +20 -13
  833. package/src/ui-components/screens/image-preview-screen.stories.tsx +9 -6
  834. package/src/ui-components/screens/index.ts +12 -6
  835. package/src/ui-components/screens/nerd-mode-screen.tsx +1 -1
  836. package/src/ui-components/screens/qr-code-scanner-screen.stories.tsx +10 -7
  837. package/src/ui-components/searchbar/search-bar.stories.tsx +15 -8
  838. package/src/ui-components/searchbar/search-bar.tsx +2 -2
  839. package/src/ui-components/state/error-screen.stories.tsx +8 -9
  840. package/src/ui-components/state/error-screen.tsx +1 -1
  841. package/src/ui-components/text/index.ts +2 -1
  842. package/src/ui-components/text/typography.stories.tsx +19 -12
  843. package/src/ui-components/theme/color-scheme-context.tsx +1 -0
  844. package/src/ui-components/theme/color-scheme.ts +1 -0
  845. package/src/utils/date.ts +5 -5
  846. package/src/utils/filtering.ts +5 -0
  847. package/src/utils/history.ts +71 -0
  848. package/src/utils/hooks/connectivity/connectivity.test.ts +8 -0
  849. package/src/utils/hooks/connectivity/connectivity.ts +28 -4
  850. package/src/utils/hooks/core/backup.ts +25 -21
  851. package/src/utils/hooks/core/cache.ts +43 -0
  852. package/src/utils/hooks/core/core-config.ts +19 -0
  853. package/src/utils/hooks/core/core-context.tsx +15 -2
  854. package/src/utils/hooks/core/core-init.ts +21 -7
  855. package/src/utils/hooks/core/credential-schemas.ts +1 -1
  856. package/src/utils/hooks/core/credentials.ts +9 -14
  857. package/src/utils/hooks/core/history.ts +2 -57
  858. package/src/utils/hooks/core/index.ts +1 -0
  859. package/src/utils/hooks/core/proof-schemas.ts +1 -1
  860. package/src/utils/hooks/core/proofs.ts +107 -49
  861. package/src/utils/hooks/core/trust-entity.ts +7 -3
  862. package/src/utils/hooks/navigation/open-settings.ts +2 -3
  863. package/src/utils/hooks/revocation/credential-status.ts +3 -2
  864. package/src/utils/index.ts +3 -0
  865. package/src/utils/navigation.ts +4 -2
  866. package/src/utils/parsers/credential.ts +1 -1
  867. package/src/utils/parsers/index.ts +1 -0
  868. package/src/utils/parsers/query.tsx +2 -0
  869. package/src/utils/parsers/universal-links.test.ts +57 -0
  870. package/src/utils/parsers/universal-links.ts +26 -0
  871. package/src/utils/ref.ts +1 -1
  872. package/src/utils/reporting.ts +1 -0
  873. package/lib/commonjs/ui-components/history/history-list-item.js.map +0 -1
  874. package/lib/module/ui-components/history/history-list-item.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","obj","__esModule","default","validityCheckedCardFromCredential","credential","invalidLVVC","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailErrorColor","credentialDetailPrimary","revoked","credentialDetailTestID","concatTestID","multipleCredentials","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","parentClaimPath","arguments","length","reduce","acc","result","Array","isArray","value","claimPath","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","map","status","fields","includes","find","_ref","keyMap","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","split","pop","path","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuerDid","_credential$issuerDid2","supportsSelectiveDisclosure","issuerDid","did","text","selectiveDisclosureNotice","noticeIcon","CredentialNoticeWarningIcon","cardTestId","getValidityState","displayedAttributes","_ref2","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuerDid3","SelectedRadio","cardProps","_ref3"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (invalidLVVC) {\n credentialHeaderDetail = {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.revoked,\n credentialDetailTestID: concatTestID(testID, 'header.invalid'),\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(credential, credential.claims, config, notice, testID, labels);\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: Claim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[], parentClaimPath = ''): Claim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (Array.isArray(claim.value)) {\n const claimPath = parentClaimPath ? `${parentClaimPath}/${claim.key}` : claim.key;\n result.push(...spreadClaims(claim.value, claimPath));\n }\n return [...acc, ...result];\n }, [] as Claim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n if (credential && selectiveDisclosureSupported === false) {\n return credential.claims.map((claim) => ({\n claim,\n id: claim.id,\n status: SelectorStatus.Required,\n }));\n }\n\n return request.fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim =\n credential &&\n spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n const status = getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return { ...detailsCardAttributeFromClaim(claim, config, testID), id };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosureNotice: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n invalidLVVC,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n );\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = request.fields.map((field) => {\n const claim = spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","invalidLVVC","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailErrorColor","credentialDetailPrimary","revoked","credentialDetailTestID","concatTestID","multipleCredentials","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","parentClaimPath","reduce","acc","result","Array","isArray","value","claimPath","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","map","status","fields","includes","find","keyMap","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","split","pop","path","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuerDid","_credential$issuerDid2","supportsSelectiveDisclosure","issuerDid","did","text","selectiveDisclosureNotice","noticeIcon","CredentialNoticeWarningIcon","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuerDid3","SelectedRadio","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (invalidLVVC) {\n credentialHeaderDetail = {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.revoked,\n credentialDetailTestID: concatTestID(testID, 'header.invalid'),\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(credential, credential.claims, config, notice, testID, labels);\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: Claim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[], parentClaimPath = ''): Claim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (Array.isArray(claim.value)) {\n const claimPath = parentClaimPath ? `${parentClaimPath}/${claim.key}` : claim.key;\n result.push(...spreadClaims(claim.value, claimPath));\n }\n return [...acc, ...result];\n }, [] as Claim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n if (credential && selectiveDisclosureSupported === false) {\n return credential.claims.map((claim) => ({\n claim,\n id: claim.id,\n status: SelectorStatus.Required,\n }));\n }\n\n return request.fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim =\n credential &&\n spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n const status = getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return { ...detailsCardAttributeFromClaim(claim, config, testID), id };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosureNotice: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n invalidLVVC,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n );\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: Claim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuerDid: credential.issuerDid?.did } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = request.fields.map((field) => {\n const claim = spreadClaims(credential.claims).find(({ key }) => {\n return key === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -11,13 +11,12 @@ var _icons = require("../../ui-components/icons");
11
11
  var _date = require("../date");
12
12
  var _testID = require("../testID");
13
13
  var _credentialImages = require("./credential-images");
14
- let ValidityState;
15
- exports.ValidityState = ValidityState;
16
- (function (ValidityState) {
14
+ let ValidityState = exports.ValidityState = /*#__PURE__*/function (ValidityState) {
17
15
  ValidityState["Revoked"] = "revoked";
18
16
  ValidityState["Suspended"] = "suspended";
19
17
  ValidityState["Valid"] = "valid";
20
- })(ValidityState || (exports.ValidityState = ValidityState = {}));
18
+ return ValidityState;
19
+ }({});
21
20
  const getValidityState = credential => {
22
21
  if ((credential === null || credential === void 0 ? void 0 : credential.state) === _reactNativeOneCore.CredentialStateEnum.REVOKED) {
23
22
  return ValidityState.Revoked;
@@ -29,9 +28,9 @@ const getValidityState = credential => {
29
28
  };
30
29
  exports.getValidityState = getValidityState;
31
30
  const supportsSelectiveDisclosure = (credential, config) => {
32
- var _formatConfig$capabil, _formatConfig$capabil2;
31
+ var _formatConfig$capabil;
33
32
  const formatConfig = credential && (config === null || config === void 0 ? void 0 : config.format[credential.schema.format]);
34
- return formatConfig ? Boolean((_formatConfig$capabil = formatConfig.capabilities) === null || _formatConfig$capabil === void 0 ? void 0 : (_formatConfig$capabil2 = _formatConfig$capabil.features) === null || _formatConfig$capabil2 === void 0 ? void 0 : _formatConfig$capabil2.includes(_reactNativeOneCore.FormatFeatureEnum.SelectiveDisclosure)) : undefined;
33
+ return formatConfig ? Boolean((_formatConfig$capabil = formatConfig.capabilities) === null || _formatConfig$capabil === void 0 || (_formatConfig$capabil = _formatConfig$capabil.features) === null || _formatConfig$capabil === void 0 ? void 0 : _formatConfig$capabil.includes(_reactNativeOneCore.FormatFeatureEnum.SelectiveDisclosure)) : undefined;
35
34
  };
36
35
  exports.supportsSelectiveDisclosure = supportsSelectiveDisclosure;
37
36
  const findClaimByPathParts = (path, claims) => {
@@ -58,12 +57,8 @@ const hasMsoValidityIssues = credential => {
58
57
  return mdocMsoValidityIssue;
59
58
  };
60
59
  exports.hasMsoValidityIssues = hasMsoValidityIssues;
61
- const cardHeaderFromCredential = function (credential) {
60
+ const cardHeaderFromCredential = (credential, claims = [], config, testID, labels) => {
62
61
  var _formatDateTimeLocali, _layoutProperties$log, _layoutProperties$log2, _layoutProperties$log3;
63
- let claims = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
64
- let config = arguments.length > 2 ? arguments[2] : undefined;
65
- let testID = arguments.length > 3 ? arguments[3] : undefined;
66
- let labels = arguments.length > 4 ? arguments[4] : undefined;
67
62
  let credentialDetailPrimary = (_formatDateTimeLocali = (0, _date.formatDateTimeLocalized)(new Date(credential.issuanceDate))) !== null && _formatDateTimeLocali !== void 0 ? _formatDateTimeLocali : '';
68
63
  let credentialDetailSecondary;
69
64
  let credentialDetailErrorColor;
@@ -105,7 +100,7 @@ const cardHeaderFromCredential = function (credential) {
105
100
  }
106
101
  }
107
102
  return {
108
- color: layoutProperties === null || layoutProperties === void 0 ? void 0 : (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
103
+ color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
109
104
  credentialDetailErrorColor,
110
105
  credentialDetailPrimary,
111
106
  credentialDetailSecondary,
@@ -116,19 +111,14 @@ const cardHeaderFromCredential = function (credential) {
116
111
  uri: layoutProperties.logo.image
117
112
  }
118
113
  } : undefined,
119
- iconLabelColor: layoutProperties === null || layoutProperties === void 0 ? void 0 : (_layoutProperties$log3 = layoutProperties.logo) === null || _layoutProperties$log3 === void 0 ? void 0 : _layoutProperties$log3.fontColor,
114
+ iconLabelColor: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log3 = layoutProperties.logo) === null || _layoutProperties$log3 === void 0 ? void 0 : _layoutProperties$log3.fontColor,
120
115
  statusIcon,
121
116
  testID
122
117
  };
123
118
  };
124
119
  exports.cardHeaderFromCredential = cardHeaderFromCredential;
125
- const getCredentialCardPropsFromCredential = function (credential) {
120
+ const getCredentialCardPropsFromCredential = (credential, claims = [], config, notice, testID, labels) => {
126
121
  var _layoutProperties$bac, _layoutProperties$bac2;
127
- let claims = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
128
- let config = arguments.length > 2 ? arguments[2] : undefined;
129
- let notice = arguments.length > 3 ? arguments[3] : undefined;
130
- let testID = arguments.length > 4 ? arguments[4] : undefined;
131
- let labels = arguments.length > 5 ? arguments[5] : undefined;
132
122
  const {
133
123
  layoutProperties
134
124
  } = credential.schema;
@@ -145,7 +135,7 @@ const getCredentialCardPropsFromCredential = function (credential) {
145
135
  uri: layoutProperties.background.image
146
136
  }
147
137
  } : undefined,
148
- color: layoutProperties === null || layoutProperties === void 0 ? void 0 : (_layoutProperties$bac2 = layoutProperties.background) === null || _layoutProperties$bac2 === void 0 ? void 0 : _layoutProperties$bac2.color,
138
+ color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$bac2 = layoutProperties.background) === null || _layoutProperties$bac2 === void 0 ? void 0 : _layoutProperties$bac2.color,
149
139
  header: cardHeaderFromCredential(credential, claims, config, (0, _testID.concatTestID)(testID, 'header'), labels),
150
140
  testID,
151
141
  notice
@@ -167,7 +157,7 @@ const detailsCardAttributeValueFromClaim = (claim, config, testID) => {
167
157
  const typeConfig = config === null || config === void 0 ? void 0 : config.datatype[claim.dataType];
168
158
  if (claim.array) {
169
159
  return {
170
- values: claim.value.map((arrayValue, index) => {
160
+ values: (claim.value || []).map((arrayValue, index) => {
171
161
  return detailsCardAttributeFromClaim({
172
162
  ...arrayValue,
173
163
  id: `${arrayValue.id}/${index}`
@@ -292,7 +282,7 @@ const insertAttributeInObject = (attribute, object) => {
292
282
  const nextParent = (_object$attributes = object.attributes) === null || _object$attributes === void 0 ? void 0 : _object$attributes.find(a => a.name === first);
293
283
  if (!nextParent) {
294
284
  var _object$attributes2;
295
- (_object$attributes2 = object.attributes) === null || _object$attributes2 === void 0 ? void 0 : _object$attributes2.push(nestAttributeInDummyObject(attribute));
285
+ (_object$attributes2 = object.attributes) === null || _object$attributes2 === void 0 || _object$attributes2.push(nestAttributeInDummyObject(attribute));
296
286
  } else {
297
287
  insertAttributeInObject({
298
288
  ...attribute,
@@ -304,18 +294,18 @@ function parseBase64Image(image) {
304
294
  return image ? '__BASE64IMAGE__' : '';
305
295
  }
306
296
  function getCredentialSchemaWithoutImages(credentialSchema) {
307
- var _credentialSchema$lay, _credentialSchema$lay2, _credentialSchema$lay3, _credentialSchema$lay4, _credentialSchema$lay5, _credentialSchema$lay6;
297
+ var _credentialSchema$lay, _credentialSchema$lay2, _credentialSchema$lay3, _credentialSchema$lay4;
308
298
  return {
309
299
  ...credentialSchema,
310
300
  layoutProperties: {
311
301
  ...credentialSchema.layoutProperties,
312
302
  background: {
313
303
  ...((_credentialSchema$lay = credentialSchema.layoutProperties) === null || _credentialSchema$lay === void 0 ? void 0 : _credentialSchema$lay.background),
314
- image: parseBase64Image((_credentialSchema$lay2 = credentialSchema.layoutProperties) === null || _credentialSchema$lay2 === void 0 ? void 0 : (_credentialSchema$lay3 = _credentialSchema$lay2.background) === null || _credentialSchema$lay3 === void 0 ? void 0 : _credentialSchema$lay3.image)
304
+ image: parseBase64Image((_credentialSchema$lay2 = credentialSchema.layoutProperties) === null || _credentialSchema$lay2 === void 0 || (_credentialSchema$lay2 = _credentialSchema$lay2.background) === null || _credentialSchema$lay2 === void 0 ? void 0 : _credentialSchema$lay2.image)
315
305
  },
316
306
  logo: {
317
- ...((_credentialSchema$lay4 = credentialSchema.layoutProperties) === null || _credentialSchema$lay4 === void 0 ? void 0 : _credentialSchema$lay4.logo),
318
- image: parseBase64Image((_credentialSchema$lay5 = credentialSchema.layoutProperties) === null || _credentialSchema$lay5 === void 0 ? void 0 : (_credentialSchema$lay6 = _credentialSchema$lay5.logo) === null || _credentialSchema$lay6 === void 0 ? void 0 : _credentialSchema$lay6.image)
307
+ ...((_credentialSchema$lay3 = credentialSchema.layoutProperties) === null || _credentialSchema$lay3 === void 0 ? void 0 : _credentialSchema$lay3.logo),
308
+ image: parseBase64Image((_credentialSchema$lay4 = credentialSchema.layoutProperties) === null || _credentialSchema$lay4 === void 0 || (_credentialSchema$lay4 = _credentialSchema$lay4.logo) === null || _credentialSchema$lay4 === void 0 ? void 0 : _credentialSchema$lay4.image)
319
309
  }
320
310
  }
321
311
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_icons","_date","_testID","_credentialImages","ValidityState","exports","getValidityState","credential","state","CredentialStateEnum","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","_formatConfig$capabil2","formatConfig","format","schema","Boolean","capabilities","features","includes","FormatFeatureEnum","SelectiveDisclosure","undefined","findClaimByPathParts","path","claims","length","first","second","rest","claim","find","c","key","dataType","DataTypeEnum","Object","value","findClaimByPath","split","formatCredentialDetail","testID","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","mdocMsoValidity","mdocMsoValidityIssue","nextUpdate","Date","cardHeaderFromCredential","_formatDateTimeLocali","_layoutProperties$log","_layoutProperties$log2","_layoutProperties$log3","arguments","labels","credentialDetailPrimary","formatDateTimeLocalized","issuanceDate","credentialDetailSecondary","credentialDetailErrorColor","credentialDetailTestID","statusIcon","layoutProperties","suspendEndDate","suspendedUntil","suspended","concatTestID","CredentialWarningIcon","revoked","CredentialErrorIcon","validityIssues","primary","primaryAttribute","secondary","secondaryAttribute","color","logo","backgroundColor","credentialName","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","_layoutProperties$bac","_layoutProperties$bac2","notice","text","validityIssuesNotice","noticeIcon","CredentialNoticeWarningIcon","result","cardCarouselImages","getCarouselImagesFromClaims","cardImage","background","header","detailsCardAttributeFromClaim","id","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Array","isArray","attributes","nestedClaim","_formatDateLocalized","date","formatDateLocalized","File","_typeConfig$params","params","showAs","String","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","push","parent","a","insertAttributeInObject","join","nestAttributeInDummyObject","pathParts","disabled","object","_object$attributes","nextParent","_object$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4","_credentialSchema$lay5","_credentialSchema$lay6"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n CredentialListItem,\n CredentialSchema,\n CredentialStateEnum,\n DataTypeEnum,\n FormatFeatureEnum,\n} from '@procivis/react-native-one-core';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialErrorIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialStateEnum.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialStateEnum.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (credential: CredentialListItem | undefined, config: Config | undefined) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeatureEnum.SelectiveDisclosure))\n : undefined;\n};\n\nconst findClaimByPathParts = (path: string[], claims?: Claim[]): Claim | undefined => {\n if (!claims?.length) {\n return undefined;\n }\n const [first, second, ...rest] = path;\n const claim = claims.find((c) => c.key === first);\n if (claim === undefined || second === undefined || claim.dataType !== DataTypeEnum.Object) {\n return claim;\n }\n\n return findClaimByPathParts([`${first}/${second}`, ...rest], claim.value as Claim[]);\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[] | undefined) =>\n path ? findClaimByPathParts(path.split('/'), claims) : undefined;\n\nconst formatCredentialDetail = (claim: Claim, config: Config, testID: string): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidity: { nextUpdate: string } | undefined =\n 'mdocMsoValidity' in credential ? (credential.mdocMsoValidity as { nextUpdate: string }) : undefined;\n\n const mdocMsoValidityIssue = Boolean(\n mdocMsoValidity?.nextUpdate && new Date(mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): Omit<CredentialHeaderProps, 'style'> => {\n let credentialDetailPrimary = formatDateTimeLocalized(new Date(credential.issuanceDate)) ?? '';\n\n let credentialDetailSecondary: string | undefined;\n let credentialDetailErrorColor: boolean | undefined;\n let credentialDetailTestID: string | undefined;\n let statusIcon;\n\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialStateEnum.SUSPENDED:\n credentialDetailPrimary = credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended;\n credentialDetailTestID = concatTestID(testID, 'suspended');\n statusIcon = CredentialWarningIcon;\n break;\n case CredentialStateEnum.REVOKED:\n credentialDetailPrimary = labels.revoked;\n credentialDetailErrorColor = true;\n credentialDetailTestID = concatTestID(testID, 'revoked');\n statusIcon = CredentialErrorIcon;\n break;\n default: {\n if (hasMsoValidityIssues(credential)) {\n credentialDetailPrimary = labels.validityIssues;\n credentialDetailTestID = concatTestID(testID, 'validity-issue');\n statusIcon = CredentialWarningIcon;\n } else {\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'));\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'));\n }\n\n credentialDetailTestID = concatTestID(testID, 'detail');\n }\n break;\n }\n }\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName: credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n const { layoutProperties } = credential.schema;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID);\n return {\n id: claim.id,\n name: claim.key.split('/').pop(),\n path: claim.key,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.dataType];\n\n if (claim.array) {\n return {\n values: claim.value.map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(\n {\n ...arrayValue,\n id: `${arrayValue.id}/${index}`,\n },\n config,\n concatTestID(testID, index.toString()),\n );\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataTypeEnum.Object: {\n if (!Array.isArray(claim.value)) {\n return { attributes: [] };\n }\n return {\n attributes: (claim.value as Claim[]).map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString())),\n ),\n };\n }\n case DataTypeEnum.Date: {\n const date = claim.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataTypeEnum.File: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value) };\n }\n }\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString())),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyObject(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyObject = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n return {\n attributes: [nestAttributeInDummyObject({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: attribute.path,\n };\n};\n\n// Recursively insert an attribute into an object\n// Will create nested objects if necessary\nconst insertAttributeInObject = (attribute: CredentialAttribute, object: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = object.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n object.attributes?.push(nestAttributeInDummyObject(attribute));\n } else {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages(credentialSchema: CredentialSchema) {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_icons","_date","_testID","_credentialImages","ValidityState","exports","getValidityState","credential","state","CredentialStateEnum","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","FormatFeatureEnum","SelectiveDisclosure","undefined","findClaimByPathParts","path","claims","length","first","second","rest","claim","find","c","key","dataType","DataTypeEnum","Object","value","findClaimByPath","split","formatCredentialDetail","testID","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","mdocMsoValidity","mdocMsoValidityIssue","nextUpdate","Date","cardHeaderFromCredential","labels","_formatDateTimeLocali","_layoutProperties$log","_layoutProperties$log2","_layoutProperties$log3","credentialDetailPrimary","formatDateTimeLocalized","issuanceDate","credentialDetailSecondary","credentialDetailErrorColor","credentialDetailTestID","statusIcon","layoutProperties","suspendEndDate","suspendedUntil","suspended","concatTestID","CredentialWarningIcon","revoked","CredentialErrorIcon","validityIssues","primary","primaryAttribute","secondary","secondaryAttribute","color","logo","backgroundColor","credentialName","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","CredentialNoticeWarningIcon","result","cardCarouselImages","getCarouselImagesFromClaims","cardImage","background","header","detailsCardAttributeFromClaim","id","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Array","isArray","attributes","nestedClaim","_formatDateLocalized","date","formatDateLocalized","File","_typeConfig$params","params","showAs","String","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","push","parent","a","insertAttributeInObject","join","nestAttributeInDummyObject","pathParts","disabled","object","_object$attributes","nextParent","_object$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n CredentialListItem,\n CredentialSchema,\n CredentialStateEnum,\n DataTypeEnum,\n FormatFeatureEnum,\n} from '@procivis/react-native-one-core';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialErrorIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialStateEnum.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialStateEnum.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (credential: CredentialListItem | undefined, config: Config | undefined) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeatureEnum.SelectiveDisclosure))\n : undefined;\n};\n\nconst findClaimByPathParts = (path: string[], claims?: Claim[]): Claim | undefined => {\n if (!claims?.length) {\n return undefined;\n }\n const [first, second, ...rest] = path;\n const claim = claims.find((c) => c.key === first);\n if (claim === undefined || second === undefined || claim.dataType !== DataTypeEnum.Object) {\n return claim;\n }\n\n return findClaimByPathParts([`${first}/${second}`, ...rest], claim.value as Claim[]);\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[] | undefined) =>\n path ? findClaimByPathParts(path.split('/'), claims) : undefined;\n\nconst formatCredentialDetail = (claim: Claim, config: Config, testID: string): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidity: { nextUpdate: string } | undefined =\n 'mdocMsoValidity' in credential ? (credential.mdocMsoValidity as { nextUpdate: string }) : undefined;\n\n const mdocMsoValidityIssue = Boolean(\n mdocMsoValidity?.nextUpdate && new Date(mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n testID: string,\n labels: CardHeaderLabels,\n): Omit<CredentialHeaderProps, 'style'> => {\n let credentialDetailPrimary = formatDateTimeLocalized(new Date(credential.issuanceDate)) ?? '';\n\n let credentialDetailSecondary: string | undefined;\n let credentialDetailErrorColor: boolean | undefined;\n let credentialDetailTestID: string | undefined;\n let statusIcon;\n\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialStateEnum.SUSPENDED:\n credentialDetailPrimary = credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended;\n credentialDetailTestID = concatTestID(testID, 'suspended');\n statusIcon = CredentialWarningIcon;\n break;\n case CredentialStateEnum.REVOKED:\n credentialDetailPrimary = labels.revoked;\n credentialDetailErrorColor = true;\n credentialDetailTestID = concatTestID(testID, 'revoked');\n statusIcon = CredentialErrorIcon;\n break;\n default: {\n if (hasMsoValidityIssues(credential)) {\n credentialDetailPrimary = labels.validityIssues;\n credentialDetailTestID = concatTestID(testID, 'validity-issue');\n statusIcon = CredentialWarningIcon;\n } else {\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'));\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'));\n }\n\n credentialDetailTestID = concatTestID(testID, 'detail');\n }\n break;\n }\n }\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName: credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style'> => {\n const { layoutProperties } = credential.schema;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID);\n return {\n id: claim.id,\n name: claim.key.split('/').pop(),\n path: claim.key,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (claim: Claim, config: Config, testID: string): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.dataType];\n\n if (claim.array) {\n return {\n values: (claim.value || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(\n {\n ...arrayValue,\n id: `${arrayValue.id}/${index}`,\n },\n config,\n concatTestID(testID, index.toString()),\n );\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataTypeEnum.Object: {\n if (!Array.isArray(claim.value)) {\n return { attributes: [] };\n }\n return {\n attributes: (claim.value as Claim[]).map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString())),\n ),\n };\n }\n case DataTypeEnum.Date: {\n const date = claim.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataTypeEnum.File: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value) };\n }\n }\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: Config,\n testID: string,\n labels: CardLabels,\n): Omit<CredentialDetailsCardProps, 'expanded'> => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString())),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyObject(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyObject = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n return {\n attributes: [nestAttributeInDummyObject({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: attribute.path,\n };\n};\n\n// Recursively insert an attribute into an object\n// Will create nested objects if necessary\nconst insertAttributeInObject = (attribute: CredentialAttribute, object: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = object.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n object.attributes?.push(nestAttributeInDummyObject(attribute));\n } else {\n insertAttributeInObject({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages(credentialSchema: CredentialSchema) {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -47,4 +47,15 @@ Object.keys(_query).forEach(function (key) {
47
47
  }
48
48
  });
49
49
  });
50
+ var _universalLinks = require("./universal-links");
51
+ Object.keys(_universalLinks).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _universalLinks[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _universalLinks[key];
58
+ }
59
+ });
60
+ });
50
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_credential","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_credentialImages","_credentialSharing","_query"],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing';\nexport * from './query';\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,kBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_credential","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_credentialImages","_credentialSharing","_query","_universalLinks"],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing';\nexport * from './query';\nexport * from './universal-links';\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,kBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,eAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,eAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,eAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,eAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -35,9 +35,10 @@ const getQueryKeyFromHistoryListQueryParams = queryParams => {
35
35
  credentialId,
36
36
  credentialSchemaId,
37
37
  searchText,
38
- searchType
38
+ searchType,
39
+ proofSchemaId
39
40
  } = queryParams;
40
- return [entityId, action, entityTypes, createdDateFrom, createdDateTo, didId, credentialId, credentialSchemaId, searchText, searchType];
41
+ return [entityId, action, entityTypes, createdDateFrom, createdDateTo, didId, credentialId, credentialSchemaId, searchText, searchType, proofSchemaId];
41
42
  };
42
43
  exports.getQueryKeyFromHistoryListQueryParams = getQueryKeyFromHistoryListQueryParams;
43
44
  const getQueryKeyFromCredentialSchemaListQueryParams = queryParams => {
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryKeyFromCredentialListQueryParams","queryParams","name","sort","sortDirection","exact","role","ids","status","include","exports","getQueryKeyFromHistoryListQueryParams","entityId","action","entityTypes","createdDateFrom","createdDateTo","didId","credentialId","credentialSchemaId","searchText","searchType","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","proofStates","proofSchemaIds","getQueryKeyFromDidListQueryParams","did","type","deactivated","keyAlgorithms","keyRoles"],"sources":["query.tsx"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams?: Partial<CredentialListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, role, ids, status, include } = queryParams;\n return [name, sort, sortDirection, exact, role, ids, status, include];\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams?: Partial<HistoryListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const {\n entityId,\n action,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n didId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n } = queryParams;\n return [\n entityId,\n action,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n didId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n ];\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams?: Partial<CredentialSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, include } = queryParams;\n return [name, sort, sortDirection, exact, ids, include];\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams?: Partial<ProofSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids } = queryParams;\n return [name, sort, sortDirection, exact, ids];\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams?: Partial<ProofListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds } = queryParams;\n return [name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds];\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams?: Partial<DidListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const { name, did, type, deactivated, keyAlgorithms, keyRoles } = queryParams;\n return [name, did, type, deactivated, keyAlgorithms, keyRoles];\n};\n"],"mappings":";;;;;;AASO,MAAMA,wCAAwC,GAAIC,WAA0C,IAAK;EACtG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEC,IAAI;IAAEC,GAAG;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGR,WAAW;EACpF,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;AACvE,CAAC;AAACC,OAAA,CAAAV,wCAAA,GAAAA,wCAAA;AAEK,MAAMW,qCAAqC,GAAIV,WAAuC,IAAK;EAChG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,MAAM;IACJW,QAAQ;IACRC,MAAM;IACNC,WAAW;IACXC,eAAe;IACfC,aAAa;IACbC,KAAK;IACLC,YAAY;IACZC,kBAAkB;IAClBC,UAAU;IACVC;EACF,CAAC,GAAGpB,WAAW;EACf,OAAO,CACLW,QAAQ,EACRC,MAAM,EACNC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,KAAK,EACLC,YAAY,EACZC,kBAAkB,EAClBC,UAAU,EACVC,UAAU,CACX;AACH,CAAC;AAACX,OAAA,CAAAC,qCAAA,GAAAA,qCAAA;AAEK,MAAMW,8CAA8C,GAAIrB,WAAgD,IAAK;EAClH,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE,GAAG;IAAEE;EAAQ,CAAC,GAAGR,WAAW;EACtE,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,EAAEE,OAAO,CAAC;AACzD,CAAC;AAACC,OAAA,CAAAY,8CAAA,GAAAA,8CAAA;AAEK,MAAMC,yCAAyC,GAAItB,WAA2C,IAAK;EACxG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE;EAAI,CAAC,GAAGN,WAAW;EAC7D,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,CAAC;AAChD,CAAC;AAACG,OAAA,CAAAa,yCAAA,GAAAA,yCAAA;AAEK,MAAMC,mCAAmC,GAAIvB,WAAqC,IAAK;EAC5F,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE,GAAG;IAAEkB,WAAW;IAAEC;EAAe,CAAC,GAAGzB,WAAW;EAC1F,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,EAAEkB,WAAW,EAAEC,cAAc,CAAC;AAC7E,CAAC;AAAChB,OAAA,CAAAc,mCAAA,GAAAA,mCAAA;AAEK,MAAMG,iCAAiC,GAAI1B,WAAmC,IAAK;EACxF,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,MAAM;IAAEC,IAAI;IAAE0B,GAAG;IAAEC,IAAI;IAAEC,WAAW;IAAEC,aAAa;IAAEC;EAAS,CAAC,GAAG/B,WAAW;EAC7E,OAAO,CAACC,IAAI,EAAE0B,GAAG,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,EAAEC,QAAQ,CAAC;AAChE,CAAC;AAACtB,OAAA,CAAAiB,iCAAA,GAAAA,iCAAA"}
1
+ {"version":3,"names":["getQueryKeyFromCredentialListQueryParams","queryParams","name","sort","sortDirection","exact","role","ids","status","include","exports","getQueryKeyFromHistoryListQueryParams","entityId","action","entityTypes","createdDateFrom","createdDateTo","didId","credentialId","credentialSchemaId","searchText","searchType","proofSchemaId","getQueryKeyFromCredentialSchemaListQueryParams","getQueryKeyFromProofSchemaListQueryParams","getQueryKeyFromProofListQueryParams","proofStates","proofSchemaIds","getQueryKeyFromDidListQueryParams","did","type","deactivated","keyAlgorithms","keyRoles"],"sources":["query.tsx"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialSchemaListQuery,\n DidListQuery,\n HistoryListQuery,\n ProofListQuery,\n ProofSchemaListQuery,\n} from '@procivis/react-native-one-core';\n\nexport const getQueryKeyFromCredentialListQueryParams = (queryParams?: Partial<CredentialListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, role, ids, status, include } = queryParams;\n return [name, sort, sortDirection, exact, role, ids, status, include];\n};\n\nexport const getQueryKeyFromHistoryListQueryParams = (queryParams?: Partial<HistoryListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const {\n entityId,\n action,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n didId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n proofSchemaId,\n } = queryParams;\n return [\n entityId,\n action,\n entityTypes,\n createdDateFrom,\n createdDateTo,\n didId,\n credentialId,\n credentialSchemaId,\n searchText,\n searchType,\n proofSchemaId,\n ];\n};\n\nexport const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams?: Partial<CredentialSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, include } = queryParams;\n return [name, sort, sortDirection, exact, ids, include];\n};\n\nexport const getQueryKeyFromProofSchemaListQueryParams = (queryParams?: Partial<ProofSchemaListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids } = queryParams;\n return [name, sort, sortDirection, exact, ids];\n};\n\nexport const getQueryKeyFromProofListQueryParams = (queryParams?: Partial<ProofListQuery>) => {\n if (!queryParams) {\n return [];\n }\n const { name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds } = queryParams;\n return [name, sort, sortDirection, exact, ids, proofStates, proofSchemaIds];\n};\n\nexport const getQueryKeyFromDidListQueryParams = (queryParams?: Partial<DidListQuery>) => {\n if (!queryParams) {\n return [];\n }\n\n const { name, did, type, deactivated, keyAlgorithms, keyRoles } = queryParams;\n return [name, did, type, deactivated, keyAlgorithms, keyRoles];\n};\n"],"mappings":";;;;;;AASO,MAAMA,wCAAwC,GAAIC,WAA0C,IAAK;EACtG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEC,IAAI;IAAEC,GAAG;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGR,WAAW;EACpF,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEC,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;AACvE,CAAC;AAACC,OAAA,CAAAV,wCAAA,GAAAA,wCAAA;AAEK,MAAMW,qCAAqC,GAAIV,WAAuC,IAAK;EAChG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,MAAM;IACJW,QAAQ;IACRC,MAAM;IACNC,WAAW;IACXC,eAAe;IACfC,aAAa;IACbC,KAAK;IACLC,YAAY;IACZC,kBAAkB;IAClBC,UAAU;IACVC,UAAU;IACVC;EACF,CAAC,GAAGrB,WAAW;EACf,OAAO,CACLW,QAAQ,EACRC,MAAM,EACNC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,KAAK,EACLC,YAAY,EACZC,kBAAkB,EAClBC,UAAU,EACVC,UAAU,EACVC,aAAa,CACd;AACH,CAAC;AAACZ,OAAA,CAAAC,qCAAA,GAAAA,qCAAA;AAEK,MAAMY,8CAA8C,GAAItB,WAAgD,IAAK;EAClH,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE,GAAG;IAAEE;EAAQ,CAAC,GAAGR,WAAW;EACtE,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,EAAEE,OAAO,CAAC;AACzD,CAAC;AAACC,OAAA,CAAAa,8CAAA,GAAAA,8CAAA;AAEK,MAAMC,yCAAyC,GAAIvB,WAA2C,IAAK;EACxG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE;EAAI,CAAC,GAAGN,WAAW;EAC7D,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,CAAC;AAChD,CAAC;AAACG,OAAA,CAAAc,yCAAA,GAAAA,yCAAA;AAEK,MAAMC,mCAAmC,GAAIxB,WAAqC,IAAK;EAC5F,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EACA,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,KAAK;IAAEE,GAAG;IAAEmB,WAAW;IAAEC;EAAe,CAAC,GAAG1B,WAAW;EAC1F,OAAO,CAACC,IAAI,EAAEC,IAAI,EAAEC,aAAa,EAAEC,KAAK,EAAEE,GAAG,EAAEmB,WAAW,EAAEC,cAAc,CAAC;AAC7E,CAAC;AAACjB,OAAA,CAAAe,mCAAA,GAAAA,mCAAA;AAEK,MAAMG,iCAAiC,GAAI3B,WAAmC,IAAK;EACxF,IAAI,CAACA,WAAW,EAAE;IAChB,OAAO,EAAE;EACX;EAEA,MAAM;IAAEC,IAAI;IAAE2B,GAAG;IAAEC,IAAI;IAAEC,WAAW;IAAEC,aAAa;IAAEC;EAAS,CAAC,GAAGhC,WAAW;EAC7E,OAAO,CAACC,IAAI,EAAE2B,GAAG,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,EAAEC,QAAQ,CAAC;AAChE,CAAC;AAACvB,OAAA,CAAAkB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseUniversalLink = void 0;
7
+ var _parseUrl = _interopRequireDefault(require("parse-url"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const parseUniversalLink = universalLink => {
10
+ let parsedUrl;
11
+ try {
12
+ parsedUrl = (0, _parseUrl.default)(universalLink);
13
+ } catch (e) {
14
+ return undefined;
15
+ }
16
+ if (parsedUrl.parse_failed) {
17
+ return undefined;
18
+ }
19
+ const protocol = parsedUrl.protocol;
20
+ if (!['http', 'https'].includes(protocol)) {
21
+ return undefined;
22
+ }
23
+ if (!parsedUrl.pathname.startsWith('/app-link/')) {
24
+ return undefined;
25
+ }
26
+ if (parsedUrl.pathname === '/app-link/schema') {
27
+ return parsedUrl.query.url;
28
+ }
29
+ const originalProtocol = parsedUrl.pathname.split('/').pop();
30
+ return `${originalProtocol}://?${parsedUrl.search}`;
31
+ };
32
+ exports.parseUniversalLink = parseUniversalLink;
33
+ //# sourceMappingURL=universal-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_parseUrl","_interopRequireDefault","require","e","__esModule","default","parseUniversalLink","universalLink","parsedUrl","parseUrl","undefined","parse_failed","protocol","includes","pathname","startsWith","query","url","originalProtocol","split","pop","search","exports"],"sources":["universal-links.ts"],"sourcesContent":["import parseUrl from 'parse-url';\n\nexport const parseUniversalLink = (universalLink: string): string | undefined => {\n let parsedUrl: parseUrl.ParsedUrl;\n try {\n parsedUrl = parseUrl(universalLink);\n } catch (e) {\n return undefined;\n }\n\n if (parsedUrl.parse_failed) {\n return undefined;\n }\n const protocol = parsedUrl.protocol as string;\n if (!['http', 'https'].includes(protocol)) {\n return undefined;\n }\n if (!parsedUrl.pathname.startsWith('/app-link/')) {\n return undefined;\n }\n if (parsedUrl.pathname === '/app-link/schema') {\n return parsedUrl.query.url;\n }\n const originalProtocol = parsedUrl.pathname.split('/').pop();\n return `${originalProtocol}://?${parsedUrl.search}`;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,kBAAkB,GAAIC,aAAqB,IAAyB;EAC/E,IAAIC,SAA6B;EACjC,IAAI;IACFA,SAAS,GAAG,IAAAC,iBAAQ,EAACF,aAAa,CAAC;EACrC,CAAC,CAAC,OAAOJ,CAAC,EAAE;IACV,OAAOO,SAAS;EAClB;EAEA,IAAIF,SAAS,CAACG,YAAY,EAAE;IAC1B,OAAOD,SAAS;EAClB;EACA,MAAME,QAAQ,GAAGJ,SAAS,CAACI,QAAkB;EAC7C,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACD,QAAQ,CAAC,EAAE;IACzC,OAAOF,SAAS;EAClB;EACA,IAAI,CAACF,SAAS,CAACM,QAAQ,CAACC,UAAU,CAAC,YAAY,CAAC,EAAE;IAChD,OAAOL,SAAS;EAClB;EACA,IAAIF,SAAS,CAACM,QAAQ,KAAK,kBAAkB,EAAE;IAC7C,OAAON,SAAS,CAACQ,KAAK,CAACC,GAAG;EAC5B;EACA,MAAMC,gBAAgB,GAAGV,SAAS,CAACM,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;EAC5D,OAAO,GAAGF,gBAAgB,OAAOV,SAAS,CAACa,MAAM,EAAE;AACrD,CAAC;AAACC,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _universalLinks = require("./universal-links");
4
+ jest.mock('@react-native-community/netinfo', () => ({
5
+ addEventListener: () => {}
6
+ }));
7
+ jest.mock('react-native-bluetooth-state-manager', () => ({
8
+ onStateChange: () => {}
9
+ }));
10
+ describe('parseUniversalLink', () => {
11
+ test('Credential schema universal link url', () => {
12
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('https://desk.dev.procivis-one.com/app-link/schema?url=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Fschema%2Fv1%2F2c986182-0bca-4342-b0e0-4e149b1818c7');
13
+ expect(parsedLink).toStrictEqual('https://core.dev.procivis-one.com/ssi/schema/v1/2c986182-0bca-4342-b0e0-4e149b1818c7');
14
+ });
15
+ test('OpenID4VC credential offer universal link url', () => {
16
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('https://desk.dev.procivis-one.com/app-link/openid-credential-offer?credential_offer_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-issuer%2Fv1%2Ffde1ca86-3ea1-410e-9da4-b210355e5dd2%2Foffer%2F4e626c92-9f20-4031-992d-242563ab5ef3');
17
+ expect(parsedLink).toStrictEqual('openid-credential-offer://?credential_offer_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-issuer%2Fv1%2Ffde1ca86-3ea1-410e-9da4-b210355e5dd2%2Foffer%2F4e626c92-9f20-4031-992d-242563ab5ef3');
18
+ });
19
+ test('OpenID4VP proof request universal link url', () => {
20
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('https://desk.dev.procivis-one.com/app-link/openid4vp?client_id=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2Fresponse&client_id_scheme=verifier_attestation&request_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2F74fe0d75-d568-4178-9f73-5cd4e3f5a2ae%2Fclient-request');
21
+ expect(parsedLink).toStrictEqual('openid4vp://?client_id=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2Fresponse&client_id_scheme=verifier_attestation&request_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2F74fe0d75-d568-4178-9f73-5cd4e3f5a2ae%2Fclient-request');
22
+ });
23
+ test('Invalid link', () => {
24
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('invalid');
25
+ expect(parsedLink).toStrictEqual(undefined);
26
+ });
27
+ test('Non-universal link', () => {
28
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('openid4vp://?client_id=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2Fresponse&client_id_scheme=verifier_attestation&request_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2F74fe0d75-d568-4178-9f73-5cd4e3f5a2ae%2Fclient-request');
29
+ expect(parsedLink).toStrictEqual(undefined);
30
+ });
31
+ test('Invalid https universal link url', () => {
32
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('https://desk.dev.procivis-one.com/app-schema/link?url=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Fschema%2Fv1%2F2c986182-0bca-4342-b0e0-4e149b1818c7');
33
+ expect(parsedLink).toStrictEqual(undefined);
34
+ });
35
+ test('Schema universal link url with invalid params', () => {
36
+ const parsedLink = (0, _universalLinks.parseUniversalLink)('https://desk.dev.procivis-one.com/app-link/schema?key=value');
37
+ expect(parsedLink).toStrictEqual(undefined);
38
+ });
39
+ });
40
+ //# sourceMappingURL=universal-links.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_universalLinks","require","jest","mock","addEventListener","onStateChange","describe","test","parsedLink","parseUniversalLink","expect","toStrictEqual","undefined"],"sources":["universal-links.test.ts"],"sourcesContent":["import { parseUniversalLink } from './universal-links';\n\njest.mock('@react-native-community/netinfo', () => ({\n addEventListener: () => {},\n}));\n\njest.mock('react-native-bluetooth-state-manager', () => ({\n onStateChange: () => {},\n}));\n\ndescribe('parseUniversalLink', () => {\n test('Credential schema universal link url', () => {\n const parsedLink = parseUniversalLink(\n 'https://desk.dev.procivis-one.com/app-link/schema?url=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Fschema%2Fv1%2F2c986182-0bca-4342-b0e0-4e149b1818c7',\n );\n expect(parsedLink).toStrictEqual(\n 'https://core.dev.procivis-one.com/ssi/schema/v1/2c986182-0bca-4342-b0e0-4e149b1818c7',\n );\n });\n test('OpenID4VC credential offer universal link url', () => {\n const parsedLink = parseUniversalLink(\n 'https://desk.dev.procivis-one.com/app-link/openid-credential-offer?credential_offer_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-issuer%2Fv1%2Ffde1ca86-3ea1-410e-9da4-b210355e5dd2%2Foffer%2F4e626c92-9f20-4031-992d-242563ab5ef3',\n );\n expect(parsedLink).toStrictEqual(\n 'openid-credential-offer://?credential_offer_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-issuer%2Fv1%2Ffde1ca86-3ea1-410e-9da4-b210355e5dd2%2Foffer%2F4e626c92-9f20-4031-992d-242563ab5ef3',\n );\n });\n test('OpenID4VP proof request universal link url', () => {\n const parsedLink = parseUniversalLink(\n 'https://desk.dev.procivis-one.com/app-link/openid4vp?client_id=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2Fresponse&client_id_scheme=verifier_attestation&request_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2F74fe0d75-d568-4178-9f73-5cd4e3f5a2ae%2Fclient-request',\n );\n expect(parsedLink).toStrictEqual(\n 'openid4vp://?client_id=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2Fresponse&client_id_scheme=verifier_attestation&request_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2F74fe0d75-d568-4178-9f73-5cd4e3f5a2ae%2Fclient-request',\n );\n });\n\n test('Invalid link', () => {\n const parsedLink = parseUniversalLink('invalid');\n expect(parsedLink).toStrictEqual(undefined);\n });\n test('Non-universal link', () => {\n const parsedLink = parseUniversalLink(\n 'openid4vp://?client_id=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2Fresponse&client_id_scheme=verifier_attestation&request_uri=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Foidc-verifier%2Fv1%2F74fe0d75-d568-4178-9f73-5cd4e3f5a2ae%2Fclient-request',\n );\n expect(parsedLink).toStrictEqual(undefined);\n });\n test('Invalid https universal link url', () => {\n const parsedLink = parseUniversalLink(\n 'https://desk.dev.procivis-one.com/app-schema/link?url=https%3A%2F%2Fcore.dev.procivis-one.com%2Fssi%2Fschema%2Fv1%2F2c986182-0bca-4342-b0e0-4e149b1818c7',\n );\n expect(parsedLink).toStrictEqual(undefined);\n });\n test('Schema universal link url with invalid params', () => {\n const parsedLink = parseUniversalLink('https://desk.dev.procivis-one.com/app-link/schema?key=value');\n expect(parsedLink).toStrictEqual(undefined);\n });\n});\n"],"mappings":";;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEAC,IAAI,CAACC,IAAI,CAAC,iCAAiC,EAAE,OAAO;EAClDC,gBAAgB,EAAEA,CAAA,KAAM,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEHF,IAAI,CAACC,IAAI,CAAC,sCAAsC,EAAE,OAAO;EACvDE,aAAa,EAAEA,CAAA,KAAM,CAAC;AACxB,CAAC,CAAC,CAAC;AAEHC,QAAQ,CAAC,oBAAoB,EAAE,MAAM;EACnCC,IAAI,CAAC,sCAAsC,EAAE,MAAM;IACjD,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EACnC,0JACF,CAAC;IACDC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAC9B,sFACF,CAAC;EACH,CAAC,CAAC;EACFJ,IAAI,CAAC,+CAA+C,EAAE,MAAM;IAC1D,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EACnC,gPACF,CAAC;IACDC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAC9B,wMACF,CAAC;EACH,CAAC,CAAC;EACFJ,IAAI,CAAC,4CAA4C,EAAE,MAAM;IACvD,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EACnC,2TACF,CAAC;IACDC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAC9B,mRACF,CAAC;EACH,CAAC,CAAC;EAEFJ,IAAI,CAAC,cAAc,EAAE,MAAM;IACzB,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EAAC,SAAS,CAAC;IAChDC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAACC,SAAS,CAAC;EAC7C,CAAC,CAAC;EACFL,IAAI,CAAC,oBAAoB,EAAE,MAAM;IAC/B,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EACnC,mRACF,CAAC;IACDC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAACC,SAAS,CAAC;EAC7C,CAAC,CAAC;EACFL,IAAI,CAAC,kCAAkC,EAAE,MAAM;IAC7C,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EACnC,0JACF,CAAC;IACDC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAACC,SAAS,CAAC;EAC7C,CAAC,CAAC;EACFL,IAAI,CAAC,+CAA+C,EAAE,MAAM;IAC1D,MAAMC,UAAU,GAAG,IAAAC,kCAAkB,EAAC,6DAA6D,CAAC;IACpGC,MAAM,CAACF,UAAU,CAAC,CAACG,aAAa,CAACC,SAAS,CAAC;EAC7C,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","isWritable","obj","key","desc","Object","getOwnPropertyDescriptor","getPrototypeOf","Boolean","writable","useForwardedRef","passedRef","localRef","useRef","useMemo","ref","forwardedRef","instance","current","Function","e","exports"],"sources":["ref.ts"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\n\nconst isWritable = <T extends Object>(obj: T, key: keyof T) => {\n const desc =\n Object.getOwnPropertyDescriptor(obj, key) || Object.getOwnPropertyDescriptor(Object.getPrototypeOf(obj), key) || {};\n return Boolean(desc.writable);\n};\n\n/**\n * Transforms a forwarded ref to a locally usable reference object\n * @example\n * const Component = forwardRef<RefComponent, Props>((props, ref) => {\n * const [forwardedRef, refObject] = useForwardedRef(ref);\n * const onAction = useCallback(() => doSomething(refObject.current), [refObject]);\n * return <RefComponent ref={forwardedRef} {...props} />;\n * }\n */\nexport const useForwardedRef = <Component extends React.Component<any> | React.ComponentClass<any>>(\n passedRef?: React.Ref<Component>,\n) => {\n const localRef = useRef<Component>(null);\n return useMemo<[React.Ref<Component>, React.RefObject<Component>]>(() => {\n const ref: React.MutableRefObject<Component | null> = localRef;\n const forwardedRef: React.Ref<Component> = (instance: Component | null) => {\n ref.current = instance;\n if (passedRef) {\n if (passedRef instanceof Function) {\n passedRef(instance);\n } else if (isWritable(passedRef, 'current')) {\n try {\n (passedRef as any).current = instance;\n } catch (e) {}\n }\n }\n };\n\n return [forwardedRef, ref as React.RefObject<Component>];\n }, [passedRef]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAGA,CAAmBC,GAAM,EAAEC,GAAY,KAAK;EAC7D,MAAMC,IAAI,GACRC,MAAM,CAACC,wBAAwB,CAACJ,GAAG,EAAEC,GAAG,CAAC,IAAIE,MAAM,CAACC,wBAAwB,CAACD,MAAM,CAACE,cAAc,CAACL,GAAG,CAAC,EAAEC,GAAG,CAAC,IAAI,CAAC,CAAC;EACrH,OAAOK,OAAO,CAACJ,IAAI,CAACK,QAAQ,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAC1BC,SAAgC,IAC7B;EACH,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACxC,OAAO,IAAAC,cAAO,EAAqD,MAAM;IACvE,MAAMC,GAA6C,GAAGH,QAAQ;IAC9D,MAAMI,YAAkC,GAAIC,QAA0B,IAAK;MACzEF,GAAG,CAACG,OAAO,GAAGD,QAAQ;MACtB,IAAIN,SAAS,EAAE;QACb,IAAIA,SAAS,YAAYQ,QAAQ,EAAE;UACjCR,SAAS,CAACM,QAAQ,CAAC;QACrB,CAAC,MAAM,IAAIhB,UAAU,CAACU,SAAS,EAAE,SAAS,CAAC,EAAE;UAC3C,IAAI;YACDA,SAAS,CAASO,OAAO,GAAGD,QAAQ;UACvC,CAAC,CAAC,OAAOG,CAAC,EAAE,CAAC;QACf;MACF;IACF,CAAC;IAED,OAAO,CAACJ,YAAY,EAAED,GAAG,CAA+B;EAC1D,CAAC,EAAE,CAACJ,SAAS,CAAC,CAAC;AACjB,CAAC;AAACU,OAAA,CAAAX,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_react","require","isWritable","obj","key","desc","Object","getOwnPropertyDescriptor","getPrototypeOf","Boolean","writable","useForwardedRef","passedRef","localRef","useRef","useMemo","ref","forwardedRef","instance","current","Function","e","exports"],"sources":["ref.ts"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\n\nconst isWritable = <T extends Object>(obj: T, key: keyof T) => {\n const desc =\n Object.getOwnPropertyDescriptor(obj, key) || Object.getOwnPropertyDescriptor(Object.getPrototypeOf(obj), key) || {};\n return Boolean(desc.writable);\n};\n\n/**\n * Transforms a forwarded ref to a locally usable reference object\n * @example\n * const Component = forwardRef<RefComponent, Props>((props, ref) => {\n * const [forwardedRef, refObject] = useForwardedRef(ref);\n * const onAction = useCallback(() => doSomething(refObject.current), [refObject]);\n * return <RefComponent ref={forwardedRef} {...props} />;\n * }\n */\nexport const useForwardedRef = <Component extends React.ElementType<any, any>>(\n passedRef?: React.Ref<Component>,\n) => {\n const localRef = useRef<Component>(null);\n return useMemo<[React.Ref<Component>, React.RefObject<Component>]>(() => {\n const ref: React.MutableRefObject<Component | null> = localRef;\n const forwardedRef: React.Ref<Component> = (instance: Component | null) => {\n ref.current = instance;\n if (passedRef) {\n if (passedRef instanceof Function) {\n passedRef(instance);\n } else if (isWritable(passedRef, 'current')) {\n try {\n (passedRef as any).current = instance;\n } catch (e) {}\n }\n }\n };\n\n return [forwardedRef, ref as React.RefObject<Component>];\n }, [passedRef]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAGA,CAAmBC,GAAM,EAAEC,GAAY,KAAK;EAC7D,MAAMC,IAAI,GACRC,MAAM,CAACC,wBAAwB,CAACJ,GAAG,EAAEC,GAAG,CAAC,IAAIE,MAAM,CAACC,wBAAwB,CAACD,MAAM,CAACE,cAAc,CAACL,GAAG,CAAC,EAAEC,GAAG,CAAC,IAAI,CAAC,CAAC;EACrH,OAAOK,OAAO,CAACJ,IAAI,CAACK,QAAQ,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAC1BC,SAAgC,IAC7B;EACH,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACxC,OAAO,IAAAC,cAAO,EAAqD,MAAM;IACvE,MAAMC,GAA6C,GAAGH,QAAQ;IAC9D,MAAMI,YAAkC,GAAIC,QAA0B,IAAK;MACzEF,GAAG,CAACG,OAAO,GAAGD,QAAQ;MACtB,IAAIN,SAAS,EAAE;QACb,IAAIA,SAAS,YAAYQ,QAAQ,EAAE;UACjCR,SAAS,CAACM,QAAQ,CAAC;QACrB,CAAC,MAAM,IAAIhB,UAAU,CAACU,SAAS,EAAE,SAAS,CAAC,EAAE;UAC3C,IAAI;YACDA,SAAS,CAASO,OAAO,GAAGD,QAAQ;UACvC,CAAC,CAAC,OAAOG,CAAC,EAAE,CAAC;QACf;MACF;IACF,CAAC;IAED,OAAO,CAACJ,YAAY,EAAED,GAAG,CAA+B;EAC1D,CAAC,EAAE,CAACJ,SAAS,CAAC,CAAC;AACjB,CAAC;AAACU,OAAA,CAAAX,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -8,8 +8,10 @@ exports.reportException = reportException;
8
8
  exports.reportTraceInfo = reportTraceInfo;
9
9
  var _reactNativeOneCore = require("@procivis/react-native-one-core");
10
10
  var Sentry = _interopRequireWildcard(require("@sentry/react-native"));
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ /* eslint-disable no-console */
14
+
13
15
  function reportError(message) {
14
16
  if (!__DEV__) {
15
17
  try {