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

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 (235) hide show
  1. package/lib/commonjs/components/backup/preview-credentials.js.map +1 -1
  2. package/lib/commonjs/components/credential/credential.js.map +1 -1
  3. package/lib/commonjs/components/entity/EntityButtons.js.map +1 -1
  4. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  5. package/lib/commonjs/components/entity/entity-details-with-buttons.js +2 -2
  6. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  7. package/lib/commonjs/components/entity/entity-details.js +3 -3
  8. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  9. package/lib/commonjs/components/history/history-details-screen.js +10 -10
  10. package/lib/commonjs/components/history/history-details-screen.js.map +1 -1
  11. package/lib/commonjs/components/history/history-list-item-icon.js +14 -8
  12. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  13. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  14. package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
  15. package/lib/commonjs/components/history/history-list-section-header.js +1 -1
  16. package/lib/commonjs/components/history/history-list-section-header.js.map +1 -1
  17. package/lib/commonjs/components/history/history-list.js.map +1 -1
  18. package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -1
  19. package/lib/commonjs/components/proof-request/v1/share-credential.js +1 -1
  20. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
  21. package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -1
  22. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  23. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
  24. package/lib/commonjs/ui-components/control/checkbox.js +2 -1
  25. package/lib/commonjs/ui-components/control/checkbox.js.map +1 -1
  26. package/lib/commonjs/ui-components/control/switch.js +2 -2
  27. package/lib/commonjs/ui-components/control/switch.js.map +1 -1
  28. package/lib/commonjs/ui-components/history/history-section-header.js +1 -1
  29. package/lib/commonjs/ui-components/history/history-section-header.js.map +1 -1
  30. package/lib/commonjs/ui-components/history/history-section-list-item.js +1 -1
  31. package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
  32. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  33. package/lib/commonjs/utils/history.js.map +1 -1
  34. package/lib/commonjs/utils/hooks/core/backup.js +2 -2
  35. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  36. package/lib/commonjs/utils/hooks/core/cache.js +10 -10
  37. package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
  38. package/lib/commonjs/utils/hooks/core/core-config.js.map +1 -1
  39. package/lib/commonjs/utils/hooks/core/core-init.js +4 -2
  40. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  41. package/lib/commonjs/utils/hooks/core/credential-schemas.js +1 -1
  42. package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
  43. package/lib/commonjs/utils/hooks/core/credentials.js +4 -4
  44. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  45. package/lib/commonjs/utils/hooks/core/dids.js +2 -2
  46. package/lib/commonjs/utils/hooks/core/dids.js.map +1 -1
  47. package/lib/commonjs/utils/hooks/core/history.js +1 -1
  48. package/lib/commonjs/utils/hooks/core/history.js.map +1 -1
  49. package/lib/commonjs/utils/hooks/core/identifiers.js +2 -2
  50. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
  51. package/lib/commonjs/utils/hooks/core/index.js +22 -0
  52. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  53. package/lib/commonjs/utils/hooks/core/proof-schemas.js +1 -1
  54. package/lib/commonjs/utils/hooks/core/proof-schemas.js.map +1 -1
  55. package/lib/commonjs/utils/hooks/core/proofs.js +11 -11
  56. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  57. package/lib/commonjs/utils/hooks/core/trust-entity.js +1 -1
  58. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  59. package/lib/commonjs/utils/hooks/core/trust-list.js +32 -0
  60. package/lib/commonjs/utils/hooks/core/trust-list.js.map +1 -0
  61. package/lib/commonjs/utils/hooks/core/verifier-instance.js +52 -0
  62. package/lib/commonjs/utils/hooks/core/verifier-instance.js.map +1 -0
  63. package/lib/commonjs/utils/hooks/core/wallet-unit.js +38 -3
  64. package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
  65. package/lib/commonjs/utils/hooks/revocation/credential-status.js +1 -1
  66. package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
  67. package/lib/commonjs/utils/parsers/credential-images.js +3 -3
  68. package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
  69. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  70. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  71. package/lib/commonjs/utils/parsers/credential.js +9 -9
  72. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  73. package/lib/commonjs/utils/parsers/query.js +2 -2
  74. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  75. package/lib/module/components/backup/preview-credentials.js.map +1 -1
  76. package/lib/module/components/credential/credential.js.map +1 -1
  77. package/lib/module/components/entity/EntityButtons.js.map +1 -1
  78. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  79. package/lib/module/components/entity/entity-details-with-buttons.js +3 -3
  80. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  81. package/lib/module/components/entity/entity-details.js +4 -4
  82. package/lib/module/components/entity/entity-details.js.map +1 -1
  83. package/lib/module/components/history/history-details-screen.js +11 -11
  84. package/lib/module/components/history/history-details-screen.js.map +1 -1
  85. package/lib/module/components/history/history-list-item-icon.js +15 -9
  86. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  87. package/lib/module/components/history/history-list-item.js.map +1 -1
  88. package/lib/module/components/history/history-list-screen.js.map +1 -1
  89. package/lib/module/components/history/history-list-section-header.js +1 -1
  90. package/lib/module/components/history/history-list-section-header.js.map +1 -1
  91. package/lib/module/components/history/history-list.js.map +1 -1
  92. package/lib/module/components/proof-request/v1/select-credential.js.map +1 -1
  93. package/lib/module/components/proof-request/v1/share-credential.js +2 -2
  94. package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
  95. package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -1
  96. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  97. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
  98. package/lib/module/ui-components/control/checkbox.js +2 -1
  99. package/lib/module/ui-components/control/checkbox.js.map +1 -1
  100. package/lib/module/ui-components/control/switch.js +3 -3
  101. package/lib/module/ui-components/control/switch.js.map +1 -1
  102. package/lib/module/ui-components/history/history-section-header.js +1 -1
  103. package/lib/module/ui-components/history/history-section-header.js.map +1 -1
  104. package/lib/module/ui-components/history/history-section-list-item.js +1 -1
  105. package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
  106. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  107. package/lib/module/utils/history.js.map +1 -1
  108. package/lib/module/utils/hooks/core/backup.js +3 -3
  109. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  110. package/lib/module/utils/hooks/core/cache.js +11 -11
  111. package/lib/module/utils/hooks/core/cache.js.map +1 -1
  112. package/lib/module/utils/hooks/core/core-config.js.map +1 -1
  113. package/lib/module/utils/hooks/core/core-init.js +4 -2
  114. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  115. package/lib/module/utils/hooks/core/credential-schemas.js +1 -1
  116. package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
  117. package/lib/module/utils/hooks/core/credentials.js +5 -5
  118. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  119. package/lib/module/utils/hooks/core/dids.js +3 -3
  120. package/lib/module/utils/hooks/core/dids.js.map +1 -1
  121. package/lib/module/utils/hooks/core/history.js +1 -1
  122. package/lib/module/utils/hooks/core/history.js.map +1 -1
  123. package/lib/module/utils/hooks/core/identifiers.js +3 -3
  124. package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
  125. package/lib/module/utils/hooks/core/index.js +2 -0
  126. package/lib/module/utils/hooks/core/index.js.map +1 -1
  127. package/lib/module/utils/hooks/core/proof-schemas.js +1 -1
  128. package/lib/module/utils/hooks/core/proof-schemas.js.map +1 -1
  129. package/lib/module/utils/hooks/core/proofs.js +12 -12
  130. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  131. package/lib/module/utils/hooks/core/trust-entity.js +2 -2
  132. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  133. package/lib/module/utils/hooks/core/trust-list.js +24 -0
  134. package/lib/module/utils/hooks/core/trust-list.js.map +1 -0
  135. package/lib/module/utils/hooks/core/verifier-instance.js +43 -0
  136. package/lib/module/utils/hooks/core/verifier-instance.js.map +1 -0
  137. package/lib/module/utils/hooks/core/wallet-unit.js +36 -3
  138. package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
  139. package/lib/module/utils/hooks/revocation/credential-status.js +2 -2
  140. package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
  141. package/lib/module/utils/parsers/credential-images.js +4 -4
  142. package/lib/module/utils/parsers/credential-images.js.map +1 -1
  143. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  144. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  145. package/lib/module/utils/parsers/credential.js +10 -10
  146. package/lib/module/utils/parsers/credential.js.map +1 -1
  147. package/lib/module/utils/parsers/query.js +2 -2
  148. package/lib/module/utils/parsers/query.js.map +1 -1
  149. package/lib/typescript/components/backup/preview-credentials.d.ts +2 -2
  150. package/lib/typescript/components/credential/credential.d.ts +2 -2
  151. package/lib/typescript/components/entity/EntityButtons.d.ts +2 -2
  152. package/lib/typescript/components/entity/entity-attributes.d.ts +2 -2
  153. package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +3 -3
  154. package/lib/typescript/components/entity/entity-details.d.ts +5 -5
  155. package/lib/typescript/components/history/history-details-screen.d.ts +2 -2
  156. package/lib/typescript/components/history/history-list-item-icon.d.ts +3 -3
  157. package/lib/typescript/components/history/history-list-item.d.ts +5 -5
  158. package/lib/typescript/components/history/history-list-screen.d.ts +4 -4
  159. package/lib/typescript/components/history/history-list.d.ts +5 -5
  160. package/lib/typescript/components/proof-request/v1/select-credential.d.ts +2 -2
  161. package/lib/typescript/components/proof-request/v1/share-credential.d.ts +6 -6
  162. package/lib/typescript/components/proof-request/v2/select-credential-v2.d.ts +3 -3
  163. package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +4 -4
  164. package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +5 -5
  165. package/lib/typescript/ui-components/control/checkbox.d.ts +1 -1
  166. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +2 -2
  167. package/lib/typescript/utils/history.d.ts +3 -3
  168. package/lib/typescript/utils/hooks/core/backup.d.ts +3 -3
  169. package/lib/typescript/utils/hooks/core/cache.d.ts +2 -2
  170. package/lib/typescript/utils/hooks/core/core-config.d.ts +4 -4
  171. package/lib/typescript/utils/hooks/core/core-init.d.ts +1 -1
  172. package/lib/typescript/utils/hooks/core/credential-schemas.d.ts +6 -6
  173. package/lib/typescript/utils/hooks/core/credentials.d.ts +9 -16
  174. package/lib/typescript/utils/hooks/core/dids.d.ts +2 -2
  175. package/lib/typescript/utils/hooks/core/history.d.ts +2 -2
  176. package/lib/typescript/utils/hooks/core/identifiers.d.ts +3 -3
  177. package/lib/typescript/utils/hooks/core/index.d.ts +2 -0
  178. package/lib/typescript/utils/hooks/core/proof-schemas.d.ts +7 -7
  179. package/lib/typescript/utils/hooks/core/proofs.d.ts +9 -9
  180. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +5 -5
  181. package/lib/typescript/utils/hooks/core/trust-list.d.ts +5 -0
  182. package/lib/typescript/utils/hooks/core/verifier-instance.d.ts +8 -0
  183. package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +11 -5
  184. package/lib/typescript/utils/parsers/credential-images.d.ts +2 -2
  185. package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +7 -7
  186. package/lib/typescript/utils/parsers/credential-sharing.d.ts +8 -8
  187. package/lib/typescript/utils/parsers/credential.d.ts +11 -11
  188. package/lib/typescript/utils/parsers/query.d.ts +8 -8
  189. package/package.json +3 -3
  190. package/src/components/backup/preview-credentials.tsx +2 -2
  191. package/src/components/credential/credential.tsx +2 -2
  192. package/src/components/entity/EntityButtons.tsx +2 -2
  193. package/src/components/entity/entity-attributes.tsx +2 -2
  194. package/src/components/entity/entity-details-with-buttons.tsx +6 -11
  195. package/src/components/entity/entity-details.tsx +16 -17
  196. package/src/components/history/history-details-screen.tsx +13 -13
  197. package/src/components/history/history-list-item-icon.tsx +17 -15
  198. package/src/components/history/history-list-item.tsx +5 -9
  199. package/src/components/history/history-list-screen.tsx +4 -4
  200. package/src/components/history/history-list-section-header.tsx +1 -1
  201. package/src/components/history/history-list.tsx +6 -6
  202. package/src/components/proof-request/v1/select-credential.tsx +2 -2
  203. package/src/components/proof-request/v1/share-credential.tsx +11 -13
  204. package/src/components/proof-request/v2/select-credential-v2.tsx +3 -6
  205. package/src/components/proof-request/v2/share-credential-v2-group.tsx +10 -10
  206. package/src/components/proof-request/v2/share-credential-v2.tsx +9 -9
  207. package/src/ui-components/control/checkbox.tsx +13 -11
  208. package/src/ui-components/control/switch.tsx +23 -21
  209. package/src/ui-components/detail/detail.stories.tsx +1 -1
  210. package/src/ui-components/history/history-section-header.tsx +1 -1
  211. package/src/ui-components/history/history-section-list-item.tsx +1 -1
  212. package/src/ui-components/screens/nerd-mode-screen.tsx +2 -2
  213. package/src/utils/history.ts +4 -4
  214. package/src/utils/hooks/core/backup.ts +3 -3
  215. package/src/utils/hooks/core/cache.ts +13 -13
  216. package/src/utils/hooks/core/core-config.ts +3 -3
  217. package/src/utils/hooks/core/core-init.ts +3 -4
  218. package/src/utils/hooks/core/credential-schemas.ts +5 -8
  219. package/src/utils/hooks/core/credentials.ts +16 -32
  220. package/src/utils/hooks/core/dids.ts +4 -4
  221. package/src/utils/hooks/core/history.ts +3 -3
  222. package/src/utils/hooks/core/identifiers.ts +4 -8
  223. package/src/utils/hooks/core/index.ts +2 -0
  224. package/src/utils/hooks/core/proof-schemas.ts +16 -22
  225. package/src/utils/hooks/core/proofs.ts +33 -34
  226. package/src/utils/hooks/core/trust-entity.ts +8 -10
  227. package/src/utils/hooks/core/trust-list.ts +29 -0
  228. package/src/utils/hooks/core/verifier-instance.ts +54 -0
  229. package/src/utils/hooks/core/wallet-unit.ts +47 -14
  230. package/src/utils/hooks/revocation/credential-status.ts +2 -2
  231. package/src/utils/parsers/credential-images.tsx +6 -10
  232. package/src/utils/parsers/credential-sharing-v2.tsx +20 -22
  233. package/src/utils/parsers/credential-sharing.tsx +28 -28
  234. package/src/utils/parsers/credential.ts +43 -43
  235. package/src/utils/parsers/query.ts +22 -16
@@ -1 +1 @@
1
- {"version":3,"names":["useIsFocused","React","useCallback","useMemo","Animated","StyleSheet","ActivityIndicator","useAppColorScheme","ListPageLoadingIndicator","concatTestID","useHistory","groupEntriesByDay","HistoryListItemView","HistoryListSectionHeaderView","HistoryListView","query","contentContainerStyle","getItemProps","groupItems","itemProps","labels","onEmpty","onScroll","props","isFocused","colorScheme","data","historyData","fetchNextPage","fetchNextHistoryPage","hasNextPage","hasNextHistoryPage","isLoading","history","items","pages","flat","map","page","values","undefined","setImmediate","length","onEndReached","catch","createElement","animate","SectionList","_extends","ListFooterComponent","color","accent","style","styles","footer","listContent","keyExtractor","item","id","renderItem","index","section","first","last","testID","toString","renderSectionHeader","date","firstYearEntry","sectionHeader","sections","stickySectionHeadersEnabled","create","marginVertical","paddingHorizontal"],"sources":["history-list.tsx"],"sourcesContent":["import { HistoryListItemBindingDto, HistoryListQueryBindingDto } from '@procivis/react-native-one-core';\nimport { useIsFocused } from '@react-navigation/native';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Animated, SectionListProps, StyleSheet } from 'react-native';\n\nimport { ActivityIndicator, useAppColorScheme } from '../../ui-components';\nimport ListPageLoadingIndicator from '../../ui-components/list/list-page-loading-indicator';\nimport { concatTestID, useHistory } from '../../utils';\nimport { groupEntriesByDay, HistoryGroupByDaySection } from '../../utils/history';\nimport { HistoryListItemLabels, HistoryListItemView, HistoryListItemViewProps } from './history-list-item';\nimport { HistoryListSectionHeaderLabels, HistoryListSectionHeaderView } from './history-list-section-header';\n\nexport type HistoryListLabels = {\n sectionHeader: HistoryListSectionHeaderLabels;\n item: HistoryListItemLabels;\n};\n\nexport interface HistoryListViewProps\n extends Omit<SectionListProps<HistoryListItemBindingDto, HistoryGroupByDaySection>, 'sections'> {\n // optional customization of item props\n getItemProps?: (item: HistoryListItemBindingDto) => Partial<HistoryListItemViewProps> | undefined;\n groupItems?: (entries: HistoryListItemBindingDto[]) => HistoryGroupByDaySection[];\n itemProps?: Partial<HistoryListItemViewProps>;\n labels: HistoryListLabels;\n // callback when empty list displayed\n onEmpty?: (empty: boolean) => void;\n query: Partial<HistoryListQueryBindingDto>;\n}\n\nexport const HistoryListView: FC<HistoryListViewProps> = ({\n query,\n contentContainerStyle,\n getItemProps,\n groupItems = groupEntriesByDay,\n itemProps,\n labels,\n onEmpty,\n onScroll,\n ...props\n}) => {\n const isFocused = useIsFocused();\n const colorScheme = useAppColorScheme();\n const {\n data: historyData,\n fetchNextPage: fetchNextHistoryPage,\n hasNextPage: hasNextHistoryPage,\n isLoading,\n } = useHistory(query);\n\n const history = useMemo(() => {\n const items = historyData?.pages\n .flat()\n .map((page) => page.values)\n .flat();\n if (!items) {\n return undefined;\n }\n if (historyData) {\n setImmediate(() => onEmpty?.(!items.length));\n }\n return groupItems(items);\n }, [historyData, onEmpty, groupItems]);\n\n const onEndReached = useCallback(() => {\n if (hasNextHistoryPage) {\n fetchNextHistoryPage().catch(() => {});\n }\n }, [fetchNextHistoryPage, hasNextHistoryPage]);\n\n if (!history) {\n return <ActivityIndicator animate={isFocused} />;\n }\n\n return (\n <Animated.SectionList<HistoryListItemBindingDto, HistoryGroupByDaySection>\n ListFooterComponent={\n isLoading ? <ListPageLoadingIndicator color={colorScheme.accent} style={styles.footer} /> : undefined\n }\n contentContainerStyle={[styles.listContent, contentContainerStyle]}\n keyExtractor={(item) => item.id}\n onEndReached={onEndReached}\n onScroll={onScroll}\n renderItem={({ item, index, section }) => (\n <HistoryListItemView\n first={!index}\n item={item}\n labels={labels.item}\n last={index === section.data.length - 1}\n testID={concatTestID(props.testID, 'item', index.toString())}\n {...itemProps}\n {...getItemProps?.(item)}\n />\n )}\n renderSectionHeader={({ section }) => (\n <HistoryListSectionHeaderView\n date={section.date}\n firstYearEntry={section.firstYearEntry}\n labels={labels.sectionHeader}\n testID={concatTestID(props.testID, 'section')}\n />\n )}\n sections={history}\n stickySectionHeadersEnabled={false}\n {...props}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n footer: {\n marginVertical: 16,\n },\n listContent: {\n paddingHorizontal: 16,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useIsFocused","React","useCallback","useMemo","Animated","StyleSheet","ActivityIndicator","useAppColorScheme","ListPageLoadingIndicator","concatTestID","useHistory","groupEntriesByDay","HistoryListItemView","HistoryListSectionHeaderView","HistoryListView","query","contentContainerStyle","getItemProps","groupItems","itemProps","labels","onEmpty","onScroll","props","isFocused","colorScheme","data","historyData","fetchNextPage","fetchNextHistoryPage","hasNextPage","hasNextHistoryPage","isLoading","history","items","pages","flat","map","page","values","undefined","setImmediate","length","onEndReached","catch","createElement","animate","SectionList","_extends","ListFooterComponent","color","accent","style","styles","footer","listContent","keyExtractor","item","id","renderItem","index","section","first","last","testID","toString","renderSectionHeader","date","firstYearEntry","sectionHeader","sections","stickySectionHeadersEnabled","create","marginVertical","paddingHorizontal"],"sources":["history-list.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } from '@procivis/react-native-one-core';\nimport { useIsFocused } from '@react-navigation/native';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Animated, SectionListProps, StyleSheet } from 'react-native';\n\nimport { ActivityIndicator, useAppColorScheme } from '../../ui-components';\nimport ListPageLoadingIndicator from '../../ui-components/list/list-page-loading-indicator';\nimport { concatTestID, useHistory } from '../../utils';\nimport { groupEntriesByDay, HistoryGroupByDaySection } from '../../utils/history';\nimport { HistoryListItemLabels, HistoryListItemView, HistoryListItemViewProps } from './history-list-item';\nimport { HistoryListSectionHeaderLabels, HistoryListSectionHeaderView } from './history-list-section-header';\n\nexport type HistoryListLabels = {\n sectionHeader: HistoryListSectionHeaderLabels;\n item: HistoryListItemLabels;\n};\n\nexport interface HistoryListViewProps\n extends Omit<SectionListProps<HistoryListItem, HistoryGroupByDaySection>, 'sections'> {\n // optional customization of item props\n getItemProps?: (item: HistoryListItem) => Partial<HistoryListItemViewProps> | undefined;\n groupItems?: (entries: HistoryListItem[]) => HistoryGroupByDaySection[];\n itemProps?: Partial<HistoryListItemViewProps>;\n labels: HistoryListLabels;\n // callback when empty list displayed\n onEmpty?: (empty: boolean) => void;\n query: Partial<HistoryListQuery>;\n}\n\nexport const HistoryListView: FC<HistoryListViewProps> = ({\n query,\n contentContainerStyle,\n getItemProps,\n groupItems = groupEntriesByDay,\n itemProps,\n labels,\n onEmpty,\n onScroll,\n ...props\n}) => {\n const isFocused = useIsFocused();\n const colorScheme = useAppColorScheme();\n const {\n data: historyData,\n fetchNextPage: fetchNextHistoryPage,\n hasNextPage: hasNextHistoryPage,\n isLoading,\n } = useHistory(query);\n\n const history = useMemo(() => {\n const items = historyData?.pages\n .flat()\n .map((page) => page.values)\n .flat();\n if (!items) {\n return undefined;\n }\n if (historyData) {\n setImmediate(() => onEmpty?.(!items.length));\n }\n return groupItems(items);\n }, [historyData, onEmpty, groupItems]);\n\n const onEndReached = useCallback(() => {\n if (hasNextHistoryPage) {\n fetchNextHistoryPage().catch(() => {});\n }\n }, [fetchNextHistoryPage, hasNextHistoryPage]);\n\n if (!history) {\n return <ActivityIndicator animate={isFocused} />;\n }\n\n return (\n <Animated.SectionList<HistoryListItem, HistoryGroupByDaySection>\n ListFooterComponent={\n isLoading ? <ListPageLoadingIndicator color={colorScheme.accent} style={styles.footer} /> : undefined\n }\n contentContainerStyle={[styles.listContent, contentContainerStyle]}\n keyExtractor={(item) => item.id}\n onEndReached={onEndReached}\n onScroll={onScroll}\n renderItem={({ item, index, section }) => (\n <HistoryListItemView\n first={!index}\n item={item}\n labels={labels.item}\n last={index === section.data.length - 1}\n testID={concatTestID(props.testID, 'item', index.toString())}\n {...itemProps}\n {...getItemProps?.(item)}\n />\n )}\n renderSectionHeader={({ section }) => (\n <HistoryListSectionHeaderView\n date={section.date}\n firstYearEntry={section.firstYearEntry}\n labels={labels.sectionHeader}\n testID={concatTestID(props.testID, 'section')}\n />\n )}\n sections={history}\n stickySectionHeadersEnabled={false}\n {...props}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n footer: {\n marginVertical: 16,\n },\n listContent: {\n paddingHorizontal: 16,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","selectCredentialCardFromCredential","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","config","cardWidth","get","width","card","attributes","createElement","onHeaderPress","expanded"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredentialBindingDto } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredentialBindingDto;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SACEC,kCAAkC,QAE7B,2CAA2C;AAElD,OAAO,MAAMC,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACG,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGlB,OAAO,CAAC,MAAMC,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEI,IAAI;IAAEC;EAAW,CAAC,GAAGjB,kCAAkC,CAC7DW,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPK,MAAM,EACNH,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAwB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPG,aAAa,EAAEb,OAAO;MACtBS,KAAK,EAAEF;IACT,CAAE;IACFO,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","selectCredentialCardFromCredential","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","config","cardWidth","get","width","card","attributes","createElement","onHeaderPress","expanded"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredential } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredential;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SACEC,kCAAkC,QAE7B,2CAA2C;AAElD,OAAO,MAAMC,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACG,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGlB,OAAO,CAAC,MAAMC,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEI,IAAI;IAAEC;EAAW,CAAC,GAAGjB,kCAAkC,CAC7DW,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPK,MAAM,EACNH,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAwB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPG,aAAa,EAAEb,OAAO;MACtBS,KAAK,EAAEF;IACT,CAAE;IACFO,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CredentialStateBindingEnum } from '@procivis/react-native-one-core';
1
+ import { CredentialState } from '@procivis/react-native-one-core';
2
2
  import React, { useMemo } from 'react';
3
3
  import { Dimensions, StyleSheet } from 'react-native';
4
4
  import { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';
@@ -33,7 +33,7 @@ export const ShareCredential = ({
33
33
  const selectionOptions = useMemo(() => request.applicableCredentials.filter(applicableCredentialId => allCredentials.some(({
34
34
  id,
35
35
  state
36
- }) => id === applicableCredentialId && state === CredentialStateBindingEnum.ACCEPTED)), [allCredentials, request]);
36
+ }) => id === applicableCredentialId && state === CredentialState.ACCEPTED)), [allCredentials, request]);
37
37
  const multipleCredentialsAvailable = selectionOptions.length > 1;
38
38
  const validityState = getValidityState(credential ? {
39
39
  ...credential,
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialStateBindingEnum","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","getValidityState","ValidityState","shareCredentialCardFromCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetailBindingDto,\n CredentialListItemBindingDto,\n CredentialStateBindingEnum,\n PresentationDefinitionFieldBindingDto,\n PresentationDefinitionRequestedCredentialBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetailBindingDto[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionFieldBindingDto['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredentialBindingDto;\n selectedCredentialId?: CredentialListItemBindingDto['id'];\n selectedFields?: Array<PresentationDefinitionFieldBindingDto['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(\n ({ id, state }) => id === applicableCredentialId && state === CredentialStateBindingEnum.ACCEPTED,\n ),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CredentialState","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","getValidityState","ValidityState","shareCredentialCardFromCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialState,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetail[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialState.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","selectCredentialCardFromV2Credential","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","cardWidth","get","width","onHeaderPress","id","card","attributes","createElement","expanded"],"sources":["select-credential-v2.tsx"],"sourcesContent":["import {\n CredentialListItemBindingDto,\n PresentationDefinitionV2CredentialDetailBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { ShareCredentialCardLabels, useCoreConfig } from '../../../utils';\nimport { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';\n\nexport const SelectCredentialV2: FC<{\n credential: PresentationDefinitionV2CredentialDetailBindingDto;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n multiple: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelected?: (credentialId: CredentialListItemBindingDto['id'], selected: boolean) => void;\n selected: boolean;\n testID: string;\n}> = ({ credential, labels, lastItem, multiple, onImagePreview, onSelected, selected, testID }) => {\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const onHeaderPress = useCallback(() => {\n onSelected?.(credential.id, !selected);\n }, [credential.id, onSelected, selected]);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AAIA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACvD,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAAoCC,aAAa,QAAQ,gBAAgB;AACzE,SAASC,oCAAoC,QAAQ,8CAA8C;AAEnG,OAAO,MAAMC,kBASX,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGZ,aAAa,CAAC,CAAC;EACxC,MAAMa,SAAS,GAAGhB,OAAO,CAAC,MAAMC,UAAU,CAACgB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,MAAMC,aAAa,GAAGpB,WAAW,CAAC,MAAM;IACtCY,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAGL,UAAU,CAACc,EAAE,EAAE,CAACR,QAAQ,CAAC;EACxC,CAAC,EAAE,CAACN,UAAU,CAACc,EAAE,EAAET,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAEzC,IAAI,CAACN,UAAU,IAAI,CAACS,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAGlB,oCAAoC,CAC/DE,UAAU,EACVM,QAAQ,EACRH,QAAQ,EACRM,MAAM,EACNF,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAyB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPF,aAAa;MACbD,KAAK,EAAEF;IACT,CAAE;IACFQ,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","selectCredentialCardFromV2Credential","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","cardWidth","get","width","onHeaderPress","id","card","attributes","createElement","expanded"],"sources":["select-credential-v2.tsx"],"sourcesContent":["import { CredentialListItem, PresentationDefinitionV2Credential } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { ShareCredentialCardLabels, useCoreConfig } from '../../../utils';\nimport { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';\n\nexport const SelectCredentialV2: FC<{\n credential: PresentationDefinitionV2Credential;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n multiple: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelected?: (credentialId: CredentialListItem['id'], selected: boolean) => void;\n selected: boolean;\n testID: string;\n}> = ({ credential, labels, lastItem, multiple, onImagePreview, onSelected, selected, testID }) => {\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const onHeaderPress = useCallback(() => {\n onSelected?.(credential.id, !selected);\n }, [credential.id, onSelected, selected]);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACvD,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAAoCC,aAAa,QAAQ,gBAAgB;AACzE,SAASC,oCAAoC,QAAQ,8CAA8C;AAEnG,OAAO,MAAMC,kBASX,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGZ,aAAa,CAAC,CAAC;EACxC,MAAMa,SAAS,GAAGhB,OAAO,CAAC,MAAMC,UAAU,CAACgB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,MAAMC,aAAa,GAAGpB,WAAW,CAAC,MAAM;IACtCY,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAGL,UAAU,CAACc,EAAE,EAAE,CAACR,QAAQ,CAAC;EACxC,CAAC,EAAE,CAACN,UAAU,CAACc,EAAE,EAAET,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAEzC,IAAI,CAACN,UAAU,IAAI,CAACS,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAGlB,oCAAoC,CAC/DE,UAAU,EACVM,QAAQ,EACRH,QAAQ,EACRM,MAAM,EACNF,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAyB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPF,aAAa;MACbD,KAAK,EAAEF;IACT,CAAE;IACFQ,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","StyleSheet","Animated","LinearTransition","BlurView","CredentialCardShadow","DownIcon","Selector","SelectorStatus","TouchableOpacity","UpIcon","CredentialGroupHeader","concatTestID","useCredentialListExpandedCard","GroupedShareCredentialV2Padding","ShareCredentialV2","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","onNestedCardHeaderPress","credentialId","credentialCards","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","status","SelectedRadio","Empty","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","groupHeaderAccessory","View","layout","animatedWrapper","height","undefined","groupedCredentialsWrapper","blurStyle","darkMode","absoluteFill","onPress","accessory","name","groupHeader","header","create","borderRadius","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItemBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n PresentationDefinitionV2ResponseBindingDto,\n PresentationSubmitV2CredentialRequestBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, useCredentialListExpandedCard } from '../../../utils';\nimport { ShareCredentialLabels } from '../v1/share-credential';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequestBindingDto | PresentationSubmitV2CredentialRequestBindingDto[]\n>;\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItemBindingDto['id'],\n fieldPath: PresentationDefinitionV2ClaimBindingDto['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2ResponseBindingDto;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequestBindingDto[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequestBindingDto;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","StyleSheet","Animated","LinearTransition","BlurView","CredentialCardShadow","DownIcon","Selector","SelectorStatus","TouchableOpacity","UpIcon","CredentialGroupHeader","concatTestID","useCredentialListExpandedCard","GroupedShareCredentialV2Padding","ShareCredentialV2","multipleCredentialsSelected","selectedCredentials","credentialRequestId","Array","isArray","length","numberOfCardsForRequest","selection","heightForNumberOfCards","numberOfCards","ShareCredentialV2Group","labels","lastGroup","onGroupSelect","onImagePreview","onSelectCredential","onSelectField","presentationDefinition","requestGroup","selected","style","testID","valid","expandedCredential","onHeaderPress","reduce","acc","groupId","singleCredentialGroup","headerPressHandler","onNestedCardHeaderPress","credentialId","credentialCards","flatMap","credentialRequestIndex","credentialRequestsLength","lastQuery","credentialQuery","credentialQueries","credentialOrFailureHint","defaultSelection","type_","_credentialQuery$appl","applicableCredentials","id","userSelections","request","credentialSelections","credentialRequest","credentialIndex","credentialsLength","selectedFields","cardId","lastItem","cardExpanded","headerAccessory","createElement","status","SelectedRadio","Empty","expanded","grouped","key","selectedCredentialId","styles","requestedCredential","requestedCredentialLast","groupHeaderAccessory","View","layout","animatedWrapper","height","undefined","groupedCredentialsWrapper","blurStyle","darkMode","absoluteFill","onPress","accessory","name","groupHeader","header","create","borderRadius","borderWidth","overflow","paddingBottom","marginBottom"],"sources":["share-credential-v2-group.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2,\n PresentationDefinitionV2Claim,\n PresentationSubmitV2CredentialRequest,\n} from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { LinearTransition } from 'react-native-reanimated';\n\nimport {\n BlurView,\n CredentialCardShadow,\n DownIcon,\n Selector,\n SelectorStatus,\n TouchableOpacity,\n UpIcon,\n} from '../../../ui-components';\nimport CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';\nimport { concatTestID, useCredentialListExpandedCard } from '../../../utils';\nimport { ShareCredentialLabels } from '../v1/share-credential';\nimport { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';\n\nexport type CredentialQuerySelection = Record<\n string,\n PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]\n>;\n\nexport type ShareCredentialGroupLabels = ShareCredentialLabels & {\n groupHeader: string;\n};\n\nexport type ShareCredentialV2GroupProps = {\n labels: ShareCredentialGroupLabels;\n lastGroup: boolean;\n onGroupSelect?: (selected: boolean) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential: (requestCredentialId: string) => () => void;\n onSelectField: (\n requestCredentialId: string,\n ) => (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n presentationDefinition: PresentationDefinitionV2;\n requestGroup: string[];\n selected?: boolean;\n selectedCredentials?: CredentialQuerySelection;\n style?: StyleProp<ViewStyle>;\n testID: string;\n valid: boolean;\n};\n\nconst multipleCredentialsSelected = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n return (\n selectedCredentials &&\n selectedCredentials[credentialRequestId] &&\n Array.isArray(selectedCredentials[credentialRequestId]) &&\n (selectedCredentials[credentialRequestId] as PresentationSubmitV2CredentialRequest[]).length > 1\n );\n};\n\nconst numberOfCardsForRequest = (\n selectedCredentials: CredentialQuerySelection | undefined,\n credentialRequestId: string,\n) => {\n if (!selectedCredentials || !selectedCredentials[credentialRequestId]) {\n return 1;\n }\n const selection = selectedCredentials[credentialRequestId];\n if (Array.isArray(selection)) {\n return selection.length;\n }\n return 1;\n};\n\nconst heightForNumberOfCards = (numberOfCards: number) => 60 * (numberOfCards + 1) + 12 * numberOfCards;\n\nexport const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({\n labels,\n lastGroup,\n onGroupSelect,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n presentationDefinition,\n requestGroup,\n selected,\n selectedCredentials = {},\n style,\n testID,\n valid,\n}) => {\n const { expandedCredential, onHeaderPress } = useCredentialListExpandedCard();\n const numberOfCards = requestGroup.reduce(\n (acc, groupId) => acc + numberOfCardsForRequest(selectedCredentials, groupId),\n 0,\n );\n const singleCredentialGroup =\n requestGroup.length === 1 && !multipleCredentialsSelected(selectedCredentials, requestGroup[0]);\n\n const headerPressHandler = useCallback(() => {\n onGroupSelect?.(!selected);\n }, [selected, onGroupSelect]);\n\n const onNestedCardHeaderPress = useCallback(\n (credentialId: string) => () => {\n if (!selected) {\n onGroupSelect?.(true);\n }\n onHeaderPress(credentialId);\n },\n [selected, onGroupSelect, onHeaderPress],\n );\n\n const credentialCards = useMemo(() => {\n return requestGroup.flatMap((credentialRequestId, credentialRequestIndex, { length: credentialRequestsLength }) => {\n const lastQuery = credentialRequestIndex === credentialRequestsLength - 1;\n\n const credentialQuery = presentationDefinition.credentialQueries[credentialRequestId].credentialOrFailureHint;\n let defaultSelection: PresentationSubmitV2CredentialRequest;\n if (credentialQuery.type_ === 'APPLICABLE_CREDENTIALS') {\n defaultSelection = credentialQuery.applicableCredentials?.[0]\n ? {\n credentialId: credentialQuery.applicableCredentials[0].id,\n userSelections: [],\n }\n : {\n credentialId: '',\n userSelections: [],\n };\n } else {\n defaultSelection = {\n credentialId: '',\n userSelections: [],\n };\n }\n const request = selectedCredentials[credentialRequestId];\n const credentialSelections = request ? (Array.isArray(request) ? request : [request]) : [defaultSelection];\n\n return credentialSelections?.flatMap((credentialRequest, credentialIndex, { length: credentialsLength }) => {\n const selectedFields = credentialRequest.userSelections;\n const cardId = `${credentialRequestId}-${credentialRequest.credentialId}`;\n const lastItem = singleCredentialGroup ? lastGroup : lastQuery && credentialIndex === credentialsLength - 1;\n const cardExpanded = selected && (singleCredentialGroup || expandedCredential === cardId);\n const headerAccessory =\n singleCredentialGroup && valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : cardExpanded ? (\n UpIcon\n ) : (\n DownIcon\n );\n return (\n <ShareCredentialV2\n credentialQuery={credentialQuery}\n credentialRequestId={credentialRequestId}\n expanded={cardExpanded}\n grouped={!singleCredentialGroup}\n headerAccessory={headerAccessory}\n key={credentialRequestId}\n labels={labels}\n lastItem={lastItem}\n onHeaderPress={singleCredentialGroup ? headerPressHandler : onNestedCardHeaderPress(cardId)}\n onImagePreview={onImagePreview}\n onSelectCredential={onSelectCredential?.(credentialRequestId)}\n onSelectField={onSelectField(credentialRequestId)}\n selectedCredentialId={credentialRequest.credentialId}\n selectedFields={selectedFields}\n style={[!singleCredentialGroup && styles.requestedCredential, lastItem && styles.requestedCredentialLast]}\n testID={concatTestID(testID, credentialRequestId)}\n />\n );\n });\n });\n }, [\n expandedCredential,\n labels,\n lastGroup,\n headerPressHandler,\n onImagePreview,\n onNestedCardHeaderPress,\n onSelectCredential,\n onSelectField,\n presentationDefinition.credentialQueries,\n requestGroup,\n selected,\n selectedCredentials,\n singleCredentialGroup,\n testID,\n valid,\n ]);\n\n if (singleCredentialGroup) {\n return credentialCards[0];\n }\n\n const groupHeaderAccessory = valid ? (\n <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />\n ) : selected ? (\n UpIcon\n ) : (\n DownIcon\n );\n\n return (\n <Animated.View\n layout={LinearTransition}\n style={[\n styles.animatedWrapper,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n height: selected || lastGroup ? 'auto' : heightForNumberOfCards(numberOfCards),\n },\n style,\n ]}>\n <Animated.View\n layout={LinearTransition}\n style={[\n singleCredentialGroup ? undefined : styles.groupedCredentialsWrapper,\n !singleCredentialGroup && styles.requestedCredential,\n lastGroup && styles.requestedCredentialLast,\n style,\n ]}>\n <BlurView blurStyle=\"strong\" darkMode={true} style={StyleSheet.absoluteFill} />\n <TouchableOpacity onPress={headerPressHandler}>\n <CredentialGroupHeader accessory={groupHeaderAccessory} name={labels.groupHeader} style={styles.header} />\n </TouchableOpacity>\n {credentialCards}\n </Animated.View>\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n animatedWrapper: {\n ...CredentialCardShadow,\n },\n groupedCredentialsWrapper: {\n borderRadius: 10 + GroupedShareCredentialV2Padding,\n borderWidth: 0,\n overflow: 'hidden',\n paddingBottom: GroupedShareCredentialV2Padding,\n },\n header: {\n marginBottom: GroupedShareCredentialV2Padding,\n },\n requestedCredential: {\n marginBottom: 12,\n },\n requestedCredentialLast: {\n marginBottom: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","getValidityState","useCoreConfig","ValidityState","shareCredentialCardFromV2PresentationCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","GroupedShareCredentialV2Padding","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","applicableCredentials","type_","undefined","failureHint","credential","find","c","id","data","config","cardWidth","get","width","multipleCredentialsAvailable","Boolean","length","validityState","issuer","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","fieldPath","selected","card","header","attributes","accessory","credentialId","styles","groupedCredential","bordered","borderColor","background","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n ApplicableCredentialOrFailureHintBindingEnum,\n CredentialListItemBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: ApplicableCredentialOrFailureHintBindingEnum;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItemBindingDto['id'],\n fieldPath: PresentationDefinitionV2ClaimBindingDto['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItemBindingDto['id'];\n selectedFields?: Array<PresentationDefinitionV2ClaimBindingDto['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;\n const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2ClaimBindingDto['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n borderWidth: 0,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","getValidityState","useCoreConfig","ValidityState","shareCredentialCardFromV2PresentationCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","GroupedShareCredentialV2Padding","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","applicableCredentials","type_","undefined","failureHint","credential","find","c","id","data","config","cardWidth","get","width","multipleCredentialsAvailable","Boolean","length","validityState","issuer","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","fieldPath","selected","card","header","attributes","accessory","credentialId","styles","groupedCredential","bordered","borderColor","background","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n ApplicableCredentialOrFailureHint,\n CredentialListItem,\n PresentationDefinitionV2Claim,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: ApplicableCredentialOrFailureHint;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2Claim['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionV2Claim['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n credentialQuery.type_ === 'APPLICABLE_CREDENTIALS' ? credentialQuery.applicableCredentials : undefined;\n const failureHint = credentialQuery.type_ === 'FAILURE_HINT' ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2Claim['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n borderWidth: 0,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,7 @@ export const Checkbox = ({
21
21
  activeOpacity: 0.8,
22
22
  accessibilityRole: "checkbox",
23
23
  accessibilityState: {
24
+ checked: value,
24
25
  disabled
25
26
  },
26
27
  accessibilityValue: disabled ? undefined : {
@@ -38,7 +39,7 @@ export const Checkbox = ({
38
39
  borderColor: colorScheme.grayDark,
39
40
  backgroundColor: disabled ? colorScheme.background : colorScheme.white
40
41
  }]
41
- }), /*#__PURE__*/React.createElement(View, {
42
+ }), text && /*#__PURE__*/React.createElement(View, {
42
43
  style: [styles.text, disabled && styles.disabled]
43
44
  }, typeof text === 'string' ? /*#__PURE__*/React.createElement(Typography, {
44
45
  preset: "xs/line-height-small",
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","StyleSheet","View","TouchableOpacity","useAccessibilityTranslation","CheckedIcon","Typography","useAppColorScheme","Checkbox","style","text","value","disabled","onValueChanged","props","t","colorScheme","onPress","createElement","_extends","activeOpacity","accessibilityRole","accessibilityState","accessibilityValue","undefined","styles","container","backgroundColor","background","unchecked","borderColor","grayDark","white","preset","color","create","alignItems","borderRadius","borderWidth","flexDirection","padding","opacity","flex","marginLeft","height","width"],"sources":["checkbox.tsx"],"sourcesContent":["import React, { FC, ReactNode, useCallback } from 'react';\nimport { StyleSheet, TouchableOpacityProps, View } from 'react-native';\n\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';\nimport { CheckedIcon } from '../icons/selector';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport interface CheckboxProps extends TouchableOpacityProps {\n value: boolean;\n text: ReactNode;\n onValueChanged: (value: boolean) => void;\n disabled?: boolean;\n}\n\nexport const Checkbox: FC<CheckboxProps> = ({ style, text, value, disabled, onValueChanged, ...props }) => {\n const t = useAccessibilityTranslation();\n const colorScheme = useAppColorScheme();\n\n const onPress = useCallback(() => onValueChanged(!value), [onValueChanged, value]);\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ disabled }}\n accessibilityValue={\n disabled ? undefined : { text: t(value ? 'accessibility.control.checked' : 'accessibility.control.unchecked') }\n }\n disabled={disabled}\n style={[styles.container, { backgroundColor: colorScheme.background }, style]}\n onPress={onPress}\n {...props}>\n {value ? (\n <CheckedIcon style={disabled && styles.disabled} />\n ) : (\n <View\n style={[\n styles.unchecked,\n {\n borderColor: colorScheme.grayDark,\n backgroundColor: disabled ? colorScheme.background : colorScheme.white,\n },\n ]}\n />\n )}\n <View style={[styles.text, disabled && styles.disabled]}>\n {typeof text === 'string' ? (\n <Typography preset=\"xs/line-height-small\" color={colorScheme.text}>\n {text}\n </Typography>\n ) : (\n text\n )}\n </View>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderRadius: 12,\n borderWidth: 0,\n flexDirection: 'row',\n padding: 12,\n },\n disabled: {\n opacity: 0.4,\n },\n text: {\n flex: 1,\n marginLeft: 12,\n },\n unchecked: {\n borderRadius: 12,\n borderWidth: 1,\n height: 24,\n width: 24,\n },\n});\n"],"mappings":";AAAA,OAAOA,KAAK,IAAmBC,WAAW,QAAQ,OAAO;AACzD,SAASC,UAAU,EAAyBC,IAAI,QAAQ,cAAc;AAEtE,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,2BAA2B,QAAQ,wCAAwC;AACpF,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,UAAU,QAAQ,SAAS;AACpC,SAASC,iBAAiB,QAAQ,UAAU;AAS5C,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,cAAc;EAAE,GAAGC;AAAM,CAAC,KAAK;EACzG,MAAMC,CAAC,GAAGX,2BAA2B,CAAC,CAAC;EACvC,MAAMY,WAAW,GAAGT,iBAAiB,CAAC,CAAC;EAEvC,MAAMU,OAAO,GAAGjB,WAAW,CAAC,MAAMa,cAAc,CAAC,CAACF,KAAK,CAAC,EAAE,CAACE,cAAc,EAAEF,KAAK,CAAC,CAAC;EAElF,oBACEZ,KAAA,CAAAmB,aAAA,CAACf,gBAAgB,EAAAgB,QAAA;IACfC,aAAa,EAAE,GAAI;IACnBC,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEV;IAAS,CAAE;IACjCW,kBAAkB,EAChBX,QAAQ,GAAGY,SAAS,GAAG;MAAEd,IAAI,EAAEK,CAAC,CAACJ,KAAK,GAAG,+BAA+B,GAAG,iCAAiC;IAAE,CAC/G;IACDC,QAAQ,EAAEA,QAAS;IACnBH,KAAK,EAAE,CAACgB,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEX,WAAW,CAACY;IAAW,CAAC,EAAEnB,KAAK,CAAE;IAC9EQ,OAAO,EAAEA;EAAQ,GACbH,KAAK,GACRH,KAAK,gBACJZ,KAAA,CAAAmB,aAAA,CAACb,WAAW;IAACI,KAAK,EAAEG,QAAQ,IAAIa,MAAM,CAACb;EAAS,CAAE,CAAC,gBAEnDb,KAAA,CAAAmB,aAAA,CAAChB,IAAI;IACHO,KAAK,EAAE,CACLgB,MAAM,CAACI,SAAS,EAChB;MACEC,WAAW,EAAEd,WAAW,CAACe,QAAQ;MACjCJ,eAAe,EAAEf,QAAQ,GAAGI,WAAW,CAACY,UAAU,GAAGZ,WAAW,CAACgB;IACnE,CAAC;EACD,CACH,CACF,eACDjC,KAAA,CAAAmB,aAAA,CAAChB,IAAI;IAACO,KAAK,EAAE,CAACgB,MAAM,CAACf,IAAI,EAAEE,QAAQ,IAAIa,MAAM,CAACb,QAAQ;EAAE,GACrD,OAAOF,IAAI,KAAK,QAAQ,gBACvBX,KAAA,CAAAmB,aAAA,CAACZ,UAAU;IAAC2B,MAAM,EAAC,sBAAsB;IAACC,KAAK,EAAElB,WAAW,CAACN;EAAK,GAC/DA,IACS,CAAC,GAEbA,IAEE,CACU,CAAC;AAEvB,CAAC;AAED,MAAMe,MAAM,GAAGxB,UAAU,CAACkC,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE;EACX,CAAC;EACD5B,QAAQ,EAAE;IACR6B,OAAO,EAAE;EACX,CAAC;EACD/B,IAAI,EAAE;IACJgC,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE;EACd,CAAC;EACDd,SAAS,EAAE;IACTQ,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdM,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","StyleSheet","View","TouchableOpacity","useAccessibilityTranslation","CheckedIcon","Typography","useAppColorScheme","Checkbox","style","text","value","disabled","onValueChanged","props","t","colorScheme","onPress","createElement","_extends","activeOpacity","accessibilityRole","accessibilityState","checked","accessibilityValue","undefined","styles","container","backgroundColor","background","unchecked","borderColor","grayDark","white","preset","color","create","alignItems","borderRadius","borderWidth","flexDirection","padding","opacity","flex","marginLeft","height","width"],"sources":["checkbox.tsx"],"sourcesContent":["import React, { FC, ReactNode, useCallback } from 'react';\nimport { StyleSheet, TouchableOpacityProps, View } from 'react-native';\n\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';\nimport { CheckedIcon } from '../icons/selector';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport interface CheckboxProps extends TouchableOpacityProps {\n value: boolean;\n text?: ReactNode;\n onValueChanged: (value: boolean) => void;\n disabled?: boolean;\n}\n\nexport const Checkbox: FC<CheckboxProps> = ({ style, text, value, disabled, onValueChanged, ...props }) => {\n const t = useAccessibilityTranslation();\n const colorScheme = useAppColorScheme();\n\n const onPress = useCallback(() => onValueChanged(!value), [onValueChanged, value]);\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: value, disabled }}\n accessibilityValue={\n disabled ? undefined : { text: t(value ? 'accessibility.control.checked' : 'accessibility.control.unchecked') }\n }\n disabled={disabled}\n style={[styles.container, { backgroundColor: colorScheme.background }, style]}\n onPress={onPress}\n {...props}>\n {value ? (\n <CheckedIcon style={disabled && styles.disabled} />\n ) : (\n <View\n style={[\n styles.unchecked,\n {\n borderColor: colorScheme.grayDark,\n backgroundColor: disabled ? colorScheme.background : colorScheme.white,\n },\n ]}\n />\n )}\n {text && (\n <View style={[styles.text, disabled && styles.disabled]}>\n {typeof text === 'string' ? (\n <Typography preset=\"xs/line-height-small\" color={colorScheme.text}>\n {text}\n </Typography>\n ) : (\n text\n )}\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderRadius: 12,\n borderWidth: 0,\n flexDirection: 'row',\n padding: 12,\n },\n disabled: {\n opacity: 0.4,\n },\n text: {\n flex: 1,\n marginLeft: 12,\n },\n unchecked: {\n borderRadius: 12,\n borderWidth: 1,\n height: 24,\n width: 24,\n },\n});\n"],"mappings":";AAAA,OAAOA,KAAK,IAAmBC,WAAW,QAAQ,OAAO;AACzD,SAASC,UAAU,EAAyBC,IAAI,QAAQ,cAAc;AAEtE,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,2BAA2B,QAAQ,wCAAwC;AACpF,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,UAAU,QAAQ,SAAS;AACpC,SAASC,iBAAiB,QAAQ,UAAU;AAS5C,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,cAAc;EAAE,GAAGC;AAAM,CAAC,KAAK;EACzG,MAAMC,CAAC,GAAGX,2BAA2B,CAAC,CAAC;EACvC,MAAMY,WAAW,GAAGT,iBAAiB,CAAC,CAAC;EAEvC,MAAMU,OAAO,GAAGjB,WAAW,CAAC,MAAMa,cAAc,CAAC,CAACF,KAAK,CAAC,EAAE,CAACE,cAAc,EAAEF,KAAK,CAAC,CAAC;EAElF,oBACEZ,KAAA,CAAAmB,aAAA,CAACf,gBAAgB,EAAAgB,QAAA;IACfC,aAAa,EAAE,GAAI;IACnBC,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEC,OAAO,EAAEZ,KAAK;MAAEC;IAAS,CAAE;IACjDY,kBAAkB,EAChBZ,QAAQ,GAAGa,SAAS,GAAG;MAAEf,IAAI,EAAEK,CAAC,CAACJ,KAAK,GAAG,+BAA+B,GAAG,iCAAiC;IAAE,CAC/G;IACDC,QAAQ,EAAEA,QAAS;IACnBH,KAAK,EAAE,CAACiB,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEZ,WAAW,CAACa;IAAW,CAAC,EAAEpB,KAAK,CAAE;IAC9EQ,OAAO,EAAEA;EAAQ,GACbH,KAAK,GACRH,KAAK,gBACJZ,KAAA,CAAAmB,aAAA,CAACb,WAAW;IAACI,KAAK,EAAEG,QAAQ,IAAIc,MAAM,CAACd;EAAS,CAAE,CAAC,gBAEnDb,KAAA,CAAAmB,aAAA,CAAChB,IAAI;IACHO,KAAK,EAAE,CACLiB,MAAM,CAACI,SAAS,EAChB;MACEC,WAAW,EAAEf,WAAW,CAACgB,QAAQ;MACjCJ,eAAe,EAAEhB,QAAQ,GAAGI,WAAW,CAACa,UAAU,GAAGb,WAAW,CAACiB;IACnE,CAAC;EACD,CACH,CACF,EACAvB,IAAI,iBACHX,KAAA,CAAAmB,aAAA,CAAChB,IAAI;IAACO,KAAK,EAAE,CAACiB,MAAM,CAAChB,IAAI,EAAEE,QAAQ,IAAIc,MAAM,CAACd,QAAQ;EAAE,GACrD,OAAOF,IAAI,KAAK,QAAQ,gBACvBX,KAAA,CAAAmB,aAAA,CAACZ,UAAU;IAAC4B,MAAM,EAAC,sBAAsB;IAACC,KAAK,EAAEnB,WAAW,CAACN;EAAK,GAC/DA,IACS,CAAC,GAEbA,IAEE,CAEQ,CAAC;AAEvB,CAAC;AAED,MAAMgB,MAAM,GAAGzB,UAAU,CAACmC,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE;EACX,CAAC;EACD7B,QAAQ,EAAE;IACR8B,OAAO,EAAE;EACX,CAAC;EACDhC,IAAI,EAAE;IACJiC,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE;EACd,CAAC;EACDd,SAAS,EAAE;IACTQ,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdM,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React, { forwardRef } from 'react';
3
- import { Platform, StyleSheet, Switch as RNSwitch } from 'react-native';
3
+ import { Platform, StyleSheet, Switch as RNSwitch, View } from 'react-native';
4
4
  import { useAppColorScheme } from '../theme';
5
5
  const hitSlop = {
6
6
  top: 10,
@@ -19,7 +19,7 @@ export const Switch = /*#__PURE__*/forwardRef(({
19
19
  ...props
20
20
  }, ref) => {
21
21
  const colorScheme = useAppColorScheme();
22
- return /*#__PURE__*/React.createElement(RNSwitch, _extends({
22
+ return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(RNSwitch, _extends({
23
23
  ref: ref,
24
24
  value: value,
25
25
  disabled: disabled,
@@ -44,7 +44,7 @@ export const Switch = /*#__PURE__*/forwardRef(({
44
44
  // @ts-ignore: web only prop
45
45
  ,
46
46
  activeThumbColor: colorScheme.accent
47
- }, props));
47
+ }, props)));
48
48
  });
49
49
  const styles = StyleSheet.create({
50
50
  disabled: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","Platform","StyleSheet","Switch","RNSwitch","useAppColorScheme","hitSlop","top","bottom","left","right","value","disabled","style","onChange","props","ref","colorScheme","createElement","_extends","styles","onValueChange","trackColor","select","default","true","grayDark","false","ios","accent","thumbColor","background","white","ios_backgroundColor","activeThumbColor","create","opacity","displayName"],"sources":["switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Insets, Platform, StyleSheet, Switch as RNSwitch, SwitchProps as RNSwitchProps } from 'react-native';\n\nimport { useAppColorScheme } from '../theme';\n\nexport interface SwitchProps extends Omit<RNSwitchProps, 'value' | 'onChange' | 'onValueChange'> {\n value: boolean;\n onChange: (newValue: boolean) => void;\n}\n\nconst hitSlop: Insets = { top: 10, bottom: 10, left: 10, right: 10 };\n\n// https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=8%3A744&t=xeivYJN0RLNSObzn-4\n// https://www.figma.com/file/tNPSTYXGCjaVCK9z8Yvy0e/Procivis-SSI%2B-%E2%80%93-App-(Base-File)-(Copy)?node-id=156%3A13826&t=sDAfSW7cmQKmaWNG-4\nexport const Switch = forwardRef<RNSwitch, SwitchProps>(({ value, disabled, style, onChange, ...props }, ref) => {\n const colorScheme = useAppColorScheme();\n return (\n <RNSwitch\n ref={ref}\n value={value}\n disabled={disabled}\n hitSlop={hitSlop}\n style={[disabled && styles.disabled, style]}\n onValueChange={onChange}\n trackColor={Platform.select({\n default: { true: colorScheme.grayDark, false: colorScheme.grayDark },\n ios: { true: colorScheme.accent, false: colorScheme.grayDark },\n })}\n thumbColor={Platform.select({\n default: value ? colorScheme.accent : disabled ? colorScheme.background : colorScheme.white,\n ios: colorScheme.white,\n })}\n ios_backgroundColor={colorScheme.grayDark}\n // @ts-ignore: web only prop\n activeThumbColor={colorScheme.accent}\n {...props}\n />\n );\n});\n\nconst styles = StyleSheet.create({\n disabled: {\n opacity: 0.38,\n },\n});\n\nSwitch.displayName = 'Switch';\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAAiBC,QAAQ,EAAEC,UAAU,EAAEC,MAAM,IAAIC,QAAQ,QAAsC,cAAc;AAE7G,SAASC,iBAAiB,QAAQ,UAAU;AAO5C,MAAMC,OAAe,GAAG;EAAEC,GAAG,EAAE,EAAE;EAAEC,MAAM,EAAE,EAAE;EAAEC,IAAI,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;;AAEpE;AACA;AACA,OAAO,MAAMP,MAAM,gBAAGH,UAAU,CAAwB,CAAC;EAAEW,KAAK;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC/G,MAAMC,WAAW,GAAGZ,iBAAiB,CAAC,CAAC;EACvC,oBACEN,KAAA,CAAAmB,aAAA,CAACd,QAAQ,EAAAe,QAAA;IACPH,GAAG,EAAEA,GAAI;IACTL,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBN,OAAO,EAAEA,OAAQ;IACjBO,KAAK,EAAE,CAACD,QAAQ,IAAIQ,MAAM,CAACR,QAAQ,EAAEC,KAAK,CAAE;IAC5CQ,aAAa,EAAEP,QAAS;IACxBQ,UAAU,EAAErB,QAAQ,CAACsB,MAAM,CAAC;MAC1BC,OAAO,EAAE;QAAEC,IAAI,EAAER,WAAW,CAACS,QAAQ;QAAEC,KAAK,EAAEV,WAAW,CAACS;MAAS,CAAC;MACpEE,GAAG,EAAE;QAAEH,IAAI,EAAER,WAAW,CAACY,MAAM;QAAEF,KAAK,EAAEV,WAAW,CAACS;MAAS;IAC/D,CAAC,CAAE;IACHI,UAAU,EAAE7B,QAAQ,CAACsB,MAAM,CAAC;MAC1BC,OAAO,EAAEb,KAAK,GAAGM,WAAW,CAACY,MAAM,GAAGjB,QAAQ,GAAGK,WAAW,CAACc,UAAU,GAAGd,WAAW,CAACe,KAAK;MAC3FJ,GAAG,EAAEX,WAAW,CAACe;IACnB,CAAC,CAAE;IACHC,mBAAmB,EAAEhB,WAAW,CAACS;IACjC;IAAA;IACAQ,gBAAgB,EAAEjB,WAAW,CAACY;EAAO,GACjCd,KAAK,CACV,CAAC;AAEN,CAAC,CAAC;AAEF,MAAMK,MAAM,GAAGlB,UAAU,CAACiC,MAAM,CAAC;EAC/BvB,QAAQ,EAAE;IACRwB,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEFjC,MAAM,CAACkC,WAAW,GAAG,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","Platform","StyleSheet","Switch","RNSwitch","View","useAppColorScheme","hitSlop","top","bottom","left","right","value","disabled","style","onChange","props","ref","colorScheme","createElement","_extends","styles","onValueChange","trackColor","select","default","true","grayDark","false","ios","accent","thumbColor","background","white","ios_backgroundColor","activeThumbColor","create","opacity","displayName"],"sources":["switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Insets, Platform, StyleSheet, Switch as RNSwitch, SwitchProps as RNSwitchProps, View } from 'react-native';\n\nimport { useAppColorScheme } from '../theme';\n\nexport interface SwitchProps extends Omit<RNSwitchProps, 'value' | 'onChange' | 'onValueChange'> {\n value: boolean;\n onChange: (newValue: boolean) => void;\n}\n\nconst hitSlop: Insets = { top: 10, bottom: 10, left: 10, right: 10 };\n\n// https://www.figma.com/file/Gd0Tj0234hxtl3HMcCJThW/App-Component-Library-(Design)?node-id=8%3A744&t=xeivYJN0RLNSObzn-4\n// https://www.figma.com/file/tNPSTYXGCjaVCK9z8Yvy0e/Procivis-SSI%2B-%E2%80%93-App-(Base-File)-(Copy)?node-id=156%3A13826&t=sDAfSW7cmQKmaWNG-4\nexport const Switch = forwardRef<RNSwitch, SwitchProps>(({ value, disabled, style, onChange, ...props }, ref) => {\n const colorScheme = useAppColorScheme();\n return (\n <View>\n <RNSwitch\n ref={ref}\n value={value}\n disabled={disabled}\n hitSlop={hitSlop}\n style={[disabled && styles.disabled, style]}\n onValueChange={onChange}\n trackColor={Platform.select({\n default: { true: colorScheme.grayDark, false: colorScheme.grayDark },\n ios: { true: colorScheme.accent, false: colorScheme.grayDark },\n })}\n thumbColor={Platform.select({\n default: value ? colorScheme.accent : disabled ? colorScheme.background : colorScheme.white,\n ios: colorScheme.white,\n })}\n ios_backgroundColor={colorScheme.grayDark}\n // @ts-ignore: web only prop\n activeThumbColor={colorScheme.accent}\n {...props}\n />\n </View>\n );\n});\n\nconst styles = StyleSheet.create({\n disabled: {\n opacity: 0.38,\n },\n});\n\nSwitch.displayName = 'Switch';\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAAiBC,QAAQ,EAAEC,UAAU,EAAEC,MAAM,IAAIC,QAAQ,EAAgCC,IAAI,QAAQ,cAAc;AAEnH,SAASC,iBAAiB,QAAQ,UAAU;AAO5C,MAAMC,OAAe,GAAG;EAAEC,GAAG,EAAE,EAAE;EAAEC,MAAM,EAAE,EAAE;EAAEC,IAAI,EAAE,EAAE;EAAEC,KAAK,EAAE;AAAG,CAAC;;AAEpE;AACA;AACA,OAAO,MAAMR,MAAM,gBAAGH,UAAU,CAAwB,CAAC;EAAEY,KAAK;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC/G,MAAMC,WAAW,GAAGZ,iBAAiB,CAAC,CAAC;EACvC,oBACEP,KAAA,CAAAoB,aAAA,CAACd,IAAI,qBACHN,KAAA,CAAAoB,aAAA,CAACf,QAAQ,EAAAgB,QAAA;IACPH,GAAG,EAAEA,GAAI;IACTL,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBN,OAAO,EAAEA,OAAQ;IACjBO,KAAK,EAAE,CAACD,QAAQ,IAAIQ,MAAM,CAACR,QAAQ,EAAEC,KAAK,CAAE;IAC5CQ,aAAa,EAAEP,QAAS;IACxBQ,UAAU,EAAEtB,QAAQ,CAACuB,MAAM,CAAC;MAC1BC,OAAO,EAAE;QAAEC,IAAI,EAAER,WAAW,CAACS,QAAQ;QAAEC,KAAK,EAAEV,WAAW,CAACS;MAAS,CAAC;MACpEE,GAAG,EAAE;QAAEH,IAAI,EAAER,WAAW,CAACY,MAAM;QAAEF,KAAK,EAAEV,WAAW,CAACS;MAAS;IAC/D,CAAC,CAAE;IACHI,UAAU,EAAE9B,QAAQ,CAACuB,MAAM,CAAC;MAC1BC,OAAO,EAAEb,KAAK,GAAGM,WAAW,CAACY,MAAM,GAAGjB,QAAQ,GAAGK,WAAW,CAACc,UAAU,GAAGd,WAAW,CAACe,KAAK;MAC3FJ,GAAG,EAAEX,WAAW,CAACe;IACnB,CAAC,CAAE;IACHC,mBAAmB,EAAEhB,WAAW,CAACS;IACjC;IAAA;IACAQ,gBAAgB,EAAEjB,WAAW,CAACY;EAAO,GACjCd,KAAK,CACV,CACG,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMK,MAAM,GAAGnB,UAAU,CAACkC,MAAM,CAAC;EAC/BvB,QAAQ,EAAE;IACRwB,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEFlC,MAAM,CAACmC,WAAW,GAAG,QAAQ","ignoreList":[]}
@@ -4,7 +4,7 @@ import { concatTestID } from '../../utils/testID';
4
4
  import Typography from '../text/typography';
5
5
  import { useAppColorScheme } from '../theme/color-scheme-context';
6
6
 
7
- // component used on the history section lists (Settings->History, CredentialDetailBindingDto->History)
7
+ // component used on the history section lists (Settings->History, CredentialDetail->History)
8
8
  // https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev
9
9
 
10
10
  const HistorySectionHeaderView = ({
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","concatTestID","Typography","useAppColorScheme","HistorySectionHeaderView","day","year","testID","colorScheme","createElement","style","styles","header","accessibilityRole","color","text","preset","accent","create","flexDirection","justifyContent","marginVertical","paddingHorizontal","opacity"],"sources":["history-section-header.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { concatTestID } from '../../utils/testID';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\n// component used on the history section lists (Settings->History, CredentialDetailBindingDto->History)\n// https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev\n\nconst HistorySectionHeaderView: FC<{\n day: string;\n testID?: string;\n year?: string;\n}> = ({ day, year, testID }) => {\n const colorScheme = useAppColorScheme();\n\n return (\n <View style={styles.header}>\n <Typography accessibilityRole=\"header\" color={colorScheme.text} preset=\"m\" testID={concatTestID(testID, 'title')}>\n {day}\n </Typography>\n {year && (\n <Typography color={colorScheme.accent} preset=\"s/line-height-small\" style={styles.year}>\n {year}\n </Typography>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginVertical: 16,\n paddingHorizontal: 4,\n },\n year: {\n opacity: 0.7,\n },\n});\n\nexport default HistorySectionHeaderView;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,+BAA+B;;AAEjE;AACA;;AAEA,MAAMC,wBAIJ,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAO,CAAC,KAAK;EAC9B,MAAMC,WAAW,GAAGL,iBAAiB,CAAC,CAAC;EAEvC,oBACEL,KAAA,CAAAW,aAAA,CAACT,IAAI;IAACU,KAAK,EAAEC,MAAM,CAACC;EAAO,gBACzBd,KAAA,CAAAW,aAAA,CAACP,UAAU;IAACW,iBAAiB,EAAC,QAAQ;IAACC,KAAK,EAAEN,WAAW,CAACO,IAAK;IAACC,MAAM,EAAC,GAAG;IAACT,MAAM,EAAEN,YAAY,CAACM,MAAM,EAAE,OAAO;EAAE,GAC9GF,GACS,CAAC,EACZC,IAAI,iBACHR,KAAA,CAAAW,aAAA,CAACP,UAAU;IAACY,KAAK,EAAEN,WAAW,CAACS,MAAO;IAACD,MAAM,EAAC,qBAAqB;IAACN,KAAK,EAAEC,MAAM,CAACL;EAAK,GACpFA,IACS,CAEV,CAAC;AAEX,CAAC;AAED,MAAMK,MAAM,GAAGZ,UAAU,CAACmB,MAAM,CAAC;EAC/BN,MAAM,EAAE;IACNO,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,cAAc,EAAE,EAAE;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDhB,IAAI,EAAE;IACJiB,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,eAAenB,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","concatTestID","Typography","useAppColorScheme","HistorySectionHeaderView","day","year","testID","colorScheme","createElement","style","styles","header","accessibilityRole","color","text","preset","accent","create","flexDirection","justifyContent","marginVertical","paddingHorizontal","opacity"],"sources":["history-section-header.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { concatTestID } from '../../utils/testID';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\n// component used on the history section lists (Settings->History, CredentialDetail->History)\n// https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev\n\nconst HistorySectionHeaderView: FC<{\n day: string;\n testID?: string;\n year?: string;\n}> = ({ day, year, testID }) => {\n const colorScheme = useAppColorScheme();\n\n return (\n <View style={styles.header}>\n <Typography accessibilityRole=\"header\" color={colorScheme.text} preset=\"m\" testID={concatTestID(testID, 'title')}>\n {day}\n </Typography>\n {year && (\n <Typography color={colorScheme.accent} preset=\"s/line-height-small\" style={styles.year}>\n {year}\n </Typography>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginVertical: 16,\n paddingHorizontal: 4,\n },\n year: {\n opacity: 0.7,\n },\n});\n\nexport default HistorySectionHeaderView;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,+BAA+B;;AAEjE;AACA;;AAEA,MAAMC,wBAIJ,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAO,CAAC,KAAK;EAC9B,MAAMC,WAAW,GAAGL,iBAAiB,CAAC,CAAC;EAEvC,oBACEL,KAAA,CAAAW,aAAA,CAACT,IAAI;IAACU,KAAK,EAAEC,MAAM,CAACC;EAAO,gBACzBd,KAAA,CAAAW,aAAA,CAACP,UAAU;IAACW,iBAAiB,EAAC,QAAQ;IAACC,KAAK,EAAEN,WAAW,CAACO,IAAK;IAACC,MAAM,EAAC,GAAG;IAACT,MAAM,EAAEN,YAAY,CAACM,MAAM,EAAE,OAAO;EAAE,GAC9GF,GACS,CAAC,EACZC,IAAI,iBACHR,KAAA,CAAAW,aAAA,CAACP,UAAU;IAACY,KAAK,EAAEN,WAAW,CAACS,MAAO;IAACD,MAAM,EAAC,qBAAqB;IAACN,KAAK,EAAEC,MAAM,CAACL;EAAK,GACpFA,IACS,CAEV,CAAC;AAEX,CAAC;AAED,MAAMK,MAAM,GAAGZ,UAAU,CAACmB,MAAM,CAAC;EAC/BN,MAAM,EAAE;IACNO,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,cAAc,EAAE,EAAE;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDhB,IAAI,EAAE;IACJiB,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,eAAenB,wBAAwB","ignoreList":[]}
@@ -4,7 +4,7 @@ import { StyleSheet, View } from 'react-native';
4
4
  import { useAppColorScheme } from '../theme/color-scheme-context';
5
5
  import HistoryItemView from './history-item';
6
6
 
7
- // component used on the history section lists (Settings->History, CredentialDetailBindingDto->History)
7
+ // component used on the history section lists (Settings->History, CredentialDetail->History)
8
8
  // https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev
9
9
 
10
10
  const HistorySectionListItem = ({
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","useAppColorScheme","HistoryItemView","HistorySectionListItem","first","last","props","colorScheme","createElement","style","styles","item","backgroundColor","white","_extends","create","borderTopLeftRadius","borderTopRightRadius","marginTop","paddingTop","paddingHorizontal","borderBottomLeftRadius","borderBottomRightRadius","marginBottom","paddingBottom"],"sources":["history-section-list-item.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useAppColorScheme } from '../theme/color-scheme-context';\nimport HistoryItemView, { HistoryItemViewProps } from './history-item';\n\n// component used on the history section lists (Settings->History, CredentialDetailBindingDto->History)\n// https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev\n\nexport interface HistorySectionListItemProps extends HistoryItemViewProps {\n first?: boolean;\n}\n\nconst HistorySectionListItem: FC<HistorySectionListItemProps> = ({ first, last, ...props }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.item, first && styles.first, last && styles.last, { backgroundColor: colorScheme.white }]}>\n <HistoryItemView last={last} {...props} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n first: {\n borderTopLeftRadius: 20,\n borderTopRightRadius: 20,\n marginTop: 8,\n paddingTop: 12,\n },\n item: {\n paddingHorizontal: 12,\n },\n last: {\n borderBottomLeftRadius: 20,\n borderBottomRightRadius: 20,\n marginBottom: 12,\n paddingBottom: 12,\n },\n});\n\nexport default HistorySectionListItem;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,OAAOC,eAAe,MAAgC,gBAAgB;;AAEtE;AACA;;AAMA,MAAMC,sBAAuD,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAE,GAAGC;AAAM,CAAC,KAAK;EAC7F,MAAMC,WAAW,GAAGN,iBAAiB,CAAC,CAAC;EACvC,oBACEH,KAAA,CAAAU,aAAA,CAACR,IAAI;IAACS,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEP,KAAK,IAAIM,MAAM,CAACN,KAAK,EAAEC,IAAI,IAAIK,MAAM,CAACL,IAAI,EAAE;MAAEO,eAAe,EAAEL,WAAW,CAACM;IAAM,CAAC;EAAE,gBAC7Gf,KAAA,CAAAU,aAAA,CAACN,eAAe,EAAAY,QAAA;IAACT,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CACrC,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGX,UAAU,CAACgB,MAAM,CAAC;EAC/BX,KAAK,EAAE;IACLY,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,SAAS,EAAE,CAAC;IACZC,UAAU,EAAE;EACd,CAAC;EACDR,IAAI,EAAE;IACJS,iBAAiB,EAAE;EACrB,CAAC;EACDf,IAAI,EAAE;IACJgB,sBAAsB,EAAE,EAAE;IAC1BC,uBAAuB,EAAE,EAAE;IAC3BC,YAAY,EAAE,EAAE;IAChBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC;AAEF,eAAerB,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","useAppColorScheme","HistoryItemView","HistorySectionListItem","first","last","props","colorScheme","createElement","style","styles","item","backgroundColor","white","_extends","create","borderTopLeftRadius","borderTopRightRadius","marginTop","paddingTop","paddingHorizontal","borderBottomLeftRadius","borderBottomRightRadius","marginBottom","paddingBottom"],"sources":["history-section-list-item.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useAppColorScheme } from '../theme/color-scheme-context';\nimport HistoryItemView, { HistoryItemViewProps } from './history-item';\n\n// component used on the history section lists (Settings->History, CredentialDetail->History)\n// https://www.figma.com/file/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?type=design&node-id=1246-51813&mode=dev\n\nexport interface HistorySectionListItemProps extends HistoryItemViewProps {\n first?: boolean;\n}\n\nconst HistorySectionListItem: FC<HistorySectionListItemProps> = ({ first, last, ...props }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.item, first && styles.first, last && styles.last, { backgroundColor: colorScheme.white }]}>\n <HistoryItemView last={last} {...props} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n first: {\n borderTopLeftRadius: 20,\n borderTopRightRadius: 20,\n marginTop: 8,\n paddingTop: 12,\n },\n item: {\n paddingHorizontal: 12,\n },\n last: {\n borderBottomLeftRadius: 20,\n borderBottomRightRadius: 20,\n marginBottom: 12,\n paddingBottom: 12,\n },\n});\n\nexport default HistorySectionListItem;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,OAAOC,eAAe,MAAgC,gBAAgB;;AAEtE;AACA;;AAMA,MAAMC,sBAAuD,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAE,GAAGC;AAAM,CAAC,KAAK;EAC7F,MAAMC,WAAW,GAAGN,iBAAiB,CAAC,CAAC;EACvC,oBACEH,KAAA,CAAAU,aAAA,CAACR,IAAI;IAACS,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAEP,KAAK,IAAIM,MAAM,CAACN,KAAK,EAAEC,IAAI,IAAIK,MAAM,CAACL,IAAI,EAAE;MAAEO,eAAe,EAAEL,WAAW,CAACM;IAAM,CAAC;EAAE,gBAC7Gf,KAAA,CAAAU,aAAA,CAACN,eAAe,EAAAY,QAAA;IAACT,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CACrC,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGX,UAAU,CAACgB,MAAM,CAAC;EAC/BX,KAAK,EAAE;IACLY,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,SAAS,EAAE,CAAC;IACZC,UAAU,EAAE;EACd,CAAC;EACDR,IAAI,EAAE;IACJS,iBAAiB,EAAE;EACrB,CAAC;EACDf,IAAI,EAAE;IACJgB,sBAAsB,EAAE,EAAE;IAC1BC,uBAAuB,EAAE,EAAE;IAC3BC,YAAY,EAAE,EAAE;IAChBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC;AAEF,eAAerB,sBAAsB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","SectionList","StyleSheet","View","Animated","useAnimatedScrollHandler","useSharedValue","useSafeAreaInsets","EntityDetailsWithButtons","ContrastingStatusBar","concatTestID","TouchableOpacity","SectionEntityCluster","NavigationHeader","CloseIcon","NerdModeItem","Typography","useAppColorScheme","EntityType","isSectionEntityCluster","item","identifier","undefined","AnimatedSectionList","createAnimatedComponent","NerdModeScreen","sections","labels","onClose","onCopyToClipboard","entityCluster","testID","title","_entityCluster$testID","insets","colorScheme","scrollOffset","expandedAttributes","setExpandedAttributes","onExpand","expanded","prev","onScroll","contentOffset","value","y","lastElementsForSection","reduce","acc","sectionTitle","data","lastElement","length","attributeKey","createElement","Fragment","backgroundColor","nerdView","background","leftItem","onPress","color","white","style","paddingTop","top","titleColor","ListHeaderComponent","_extends","entityType","ProofEntity","entityLabels","attributesLabels","styles","textColor","renderItem","section","index","_item$testID","CredentialEntity","toString","last","renderSectionHeader","sectionHeaderContainer","sectionHeaderText","scrollEventThrottle","stickySectionHeadersEnabled","create","paddingHorizontal","paddingVertical","justifyContent","marginTop","opacity"],"sources":["nerd-mode-screen.tsx"],"sourcesContent":["import { GetIdentifierListItemBindingDto } from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useState } from 'react';\nimport { SectionList, StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport EntityDetailsWithButtons, { ContextRole } from '../../components/entity/entity-details-with-buttons';\nimport ContrastingStatusBar from '../../utils/contrasting-status-bar';\nimport { concatTestID } from '../../utils/testID';\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport SectionEntityCluster from '../entity/entity-cluster';\nimport NavigationHeader from '../header/navigation-header';\nimport { CloseIcon } from '../icons/icons';\nimport NerdModeItem, { NerdModeItemProps } from '../nerd-view/nerd-mode-item';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\nexport interface EntityLabels {\n trusted: string;\n unknownIssuer: string;\n unknownVerifier: string;\n visitWebsite: string;\n termsAndServices: string;\n privacyPolicy: string;\n}\n\nexport interface AttributesLabels {\n trustRegistry: string;\n issuerIdentifier: string;\n entityIdentifier: string;\n role: string;\n expand: string;\n collapse: string;\n}\n\ninterface SectionEntityCluster {\n identifier?: GetIdentifierListItemBindingDto;\n subline?: string;\n entityLabels: EntityLabels;\n role: ContextRole;\n testID?: string;\n}\n\ntype SectionAttribute = Omit<NerdModeItemProps, 'labels' | 'onCopyToClipboard'>;\n\ntype NerdModeSectionItem = SectionAttribute | SectionEntityCluster;\n\nexport type NerdModeSection = {\n data: NerdModeSectionItem[];\n title?: string;\n};\n\nexport type NerdModeScreenProps = {\n entityCluster?: SectionEntityCluster;\n labels: AttributesLabels;\n onClose: () => void;\n onCopyToClipboard: (value: string) => void;\n sections: NerdModeSection[];\n testID: string;\n title: string;\n};\n\nexport enum EntityType {\n CredentialEntity,\n ProofEntity,\n}\n\nfunction isSectionEntityCluster(item: NerdModeSectionItem): item is SectionEntityCluster {\n return (item as SectionEntityCluster).identifier !== undefined;\n}\n\nconst AnimatedSectionList = Animated.createAnimatedComponent(SectionList<NerdModeSectionItem>);\n\nconst NerdModeScreen: FunctionComponent<NerdModeScreenProps> = ({\n sections,\n labels,\n onClose,\n onCopyToClipboard,\n entityCluster,\n testID,\n title,\n}) => {\n const insets = useSafeAreaInsets();\n const colorScheme = useAppColorScheme();\n const scrollOffset = useSharedValue(0);\n const [expandedAttributes, setExpandedAttributes] = useState(0);\n\n // This is a bit of a hack. It's used to notify attributes that another attribute has been expanded\n // which will allow them to update their scroll offset accordingly.\n const onExpand = (expanded: boolean) => {\n setExpandedAttributes((prev) => (expanded ? prev + 1 : prev - 1));\n };\n\n const onScroll = useAnimatedScrollHandler({\n onScroll: ({ contentOffset }) => {\n scrollOffset.value = contentOffset.y;\n },\n });\n\n const lastElementsForSection = sections.reduce((acc, { title: sectionTitle = '', data }) => {\n const lastElement = data[data.length - 1];\n return {\n ...acc,\n [sectionTitle]: lastElement && !isSectionEntityCluster(lastElement) ? lastElement.attributeKey : '',\n };\n }, {} as Record<string, string>);\n\n return (\n <>\n <ContrastingStatusBar backgroundColor={colorScheme.nerdView.background} />\n <NavigationHeader\n leftItem={\n <TouchableOpacity onPress={onClose} testID={concatTestID(testID, 'closeIcon')}>\n <CloseIcon color={colorScheme.white} />\n </TouchableOpacity>\n }\n style={{\n backgroundColor: colorScheme.nerdView.background,\n paddingTop: insets.top,\n }}\n title={title}\n titleColor={colorScheme.white}\n />\n <AnimatedSectionList\n ListHeaderComponent={\n entityCluster ? (\n <EntityDetailsWithButtons\n {...entityCluster}\n entityType={EntityType.ProofEntity}\n entityLabels={entityCluster.entityLabels}\n attributesLabels={labels}\n style={[\n styles.entityCluster,\n {\n backgroundColor: colorScheme.nerdView.background,\n },\n ]}\n onCopyToClipboard={onCopyToClipboard}\n testID={entityCluster.testID ?? concatTestID(testID, 'entityCluster')}\n textColor={colorScheme.white}\n />\n ) : null\n }\n onScroll={onScroll}\n renderItem={({ item, section, index }) => {\n if (isSectionEntityCluster(item)) {\n return (\n <EntityDetailsWithButtons\n {...item}\n entityType={EntityType.CredentialEntity}\n entityLabels={item!.entityLabels}\n attributesLabels={labels}\n style={[\n styles.entityCluster,\n {\n backgroundColor: colorScheme.nerdView.background,\n },\n ]}\n onCopyToClipboard={onCopyToClipboard}\n testID={item.testID ?? concatTestID(testID, 'sectionEntityCluster', index.toString())}\n textColor={colorScheme.white}\n />\n );\n } else {\n return (\n <NerdModeItem\n {...item}\n expandedAttributes={expandedAttributes}\n labels={labels}\n last={lastElementsForSection[section.title] === item.attributeKey}\n onCopyToClipboard={onCopyToClipboard}\n onExpand={onExpand}\n scrollOffset={scrollOffset}\n testID={concatTestID(testID, item.testID)}\n />\n );\n }\n }}\n renderSectionHeader={({ section }) => {\n return section.title ? (\n <View style={styles.sectionHeaderContainer} testID={concatTestID(testID, section.title)}>\n <Typography color={colorScheme.white} style={styles.sectionHeaderText}>\n {section.title}\n </Typography>\n </View>\n ) : null;\n }}\n scrollEventThrottle={16}\n sections={sections}\n stickySectionHeadersEnabled={false}\n style={{ backgroundColor: colorScheme.nerdView.background }}\n testID={testID}\n />\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n entityCluster: {\n paddingHorizontal: 24,\n paddingVertical: 20,\n },\n sectionHeaderContainer: {\n justifyContent: 'center',\n marginTop: 20,\n paddingVertical: 16,\n },\n sectionHeaderText: {\n opacity: 0.7,\n paddingHorizontal: 20,\n },\n});\n\nexport default NerdModeScreen;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","SectionList","StyleSheet","View","Animated","useAnimatedScrollHandler","useSharedValue","useSafeAreaInsets","EntityDetailsWithButtons","ContrastingStatusBar","concatTestID","TouchableOpacity","SectionEntityCluster","NavigationHeader","CloseIcon","NerdModeItem","Typography","useAppColorScheme","EntityType","isSectionEntityCluster","item","identifier","undefined","AnimatedSectionList","createAnimatedComponent","NerdModeScreen","sections","labels","onClose","onCopyToClipboard","entityCluster","testID","title","_entityCluster$testID","insets","colorScheme","scrollOffset","expandedAttributes","setExpandedAttributes","onExpand","expanded","prev","onScroll","contentOffset","value","y","lastElementsForSection","reduce","acc","sectionTitle","data","lastElement","length","attributeKey","createElement","Fragment","backgroundColor","nerdView","background","leftItem","onPress","color","white","style","paddingTop","top","titleColor","ListHeaderComponent","_extends","entityType","ProofEntity","entityLabels","attributesLabels","styles","textColor","renderItem","section","index","_item$testID","CredentialEntity","toString","last","renderSectionHeader","sectionHeaderContainer","sectionHeaderText","scrollEventThrottle","stickySectionHeadersEnabled","create","paddingHorizontal","paddingVertical","justifyContent","marginTop","opacity"],"sources":["nerd-mode-screen.tsx"],"sourcesContent":["import { IdentifierListItem } from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useState } from 'react';\nimport { SectionList, StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport EntityDetailsWithButtons, { ContextRole } from '../../components/entity/entity-details-with-buttons';\nimport ContrastingStatusBar from '../../utils/contrasting-status-bar';\nimport { concatTestID } from '../../utils/testID';\nimport { TouchableOpacity } from '../accessibility/accessibilityHistoryWrappers';\nimport SectionEntityCluster from '../entity/entity-cluster';\nimport NavigationHeader from '../header/navigation-header';\nimport { CloseIcon } from '../icons/icons';\nimport NerdModeItem, { NerdModeItemProps } from '../nerd-view/nerd-mode-item';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\nexport interface EntityLabels {\n trusted: string;\n unknownIssuer: string;\n unknownVerifier: string;\n visitWebsite: string;\n termsAndServices: string;\n privacyPolicy: string;\n}\n\nexport interface AttributesLabels {\n trustRegistry: string;\n issuerIdentifier: string;\n entityIdentifier: string;\n role: string;\n expand: string;\n collapse: string;\n}\n\ninterface SectionEntityCluster {\n identifier?: IdentifierListItem;\n subline?: string;\n entityLabels: EntityLabels;\n role: ContextRole;\n testID?: string;\n}\n\ntype SectionAttribute = Omit<NerdModeItemProps, 'labels' | 'onCopyToClipboard'>;\n\ntype NerdModeSectionItem = SectionAttribute | SectionEntityCluster;\n\nexport type NerdModeSection = {\n data: NerdModeSectionItem[];\n title?: string;\n};\n\nexport type NerdModeScreenProps = {\n entityCluster?: SectionEntityCluster;\n labels: AttributesLabels;\n onClose: () => void;\n onCopyToClipboard: (value: string) => void;\n sections: NerdModeSection[];\n testID: string;\n title: string;\n};\n\nexport enum EntityType {\n CredentialEntity,\n ProofEntity,\n}\n\nfunction isSectionEntityCluster(item: NerdModeSectionItem): item is SectionEntityCluster {\n return (item as SectionEntityCluster).identifier !== undefined;\n}\n\nconst AnimatedSectionList = Animated.createAnimatedComponent(SectionList<NerdModeSectionItem>);\n\nconst NerdModeScreen: FunctionComponent<NerdModeScreenProps> = ({\n sections,\n labels,\n onClose,\n onCopyToClipboard,\n entityCluster,\n testID,\n title,\n}) => {\n const insets = useSafeAreaInsets();\n const colorScheme = useAppColorScheme();\n const scrollOffset = useSharedValue(0);\n const [expandedAttributes, setExpandedAttributes] = useState(0);\n\n // This is a bit of a hack. It's used to notify attributes that another attribute has been expanded\n // which will allow them to update their scroll offset accordingly.\n const onExpand = (expanded: boolean) => {\n setExpandedAttributes((prev) => (expanded ? prev + 1 : prev - 1));\n };\n\n const onScroll = useAnimatedScrollHandler({\n onScroll: ({ contentOffset }) => {\n scrollOffset.value = contentOffset.y;\n },\n });\n\n const lastElementsForSection = sections.reduce((acc, { title: sectionTitle = '', data }) => {\n const lastElement = data[data.length - 1];\n return {\n ...acc,\n [sectionTitle]: lastElement && !isSectionEntityCluster(lastElement) ? lastElement.attributeKey : '',\n };\n }, {} as Record<string, string>);\n\n return (\n <>\n <ContrastingStatusBar backgroundColor={colorScheme.nerdView.background} />\n <NavigationHeader\n leftItem={\n <TouchableOpacity onPress={onClose} testID={concatTestID(testID, 'closeIcon')}>\n <CloseIcon color={colorScheme.white} />\n </TouchableOpacity>\n }\n style={{\n backgroundColor: colorScheme.nerdView.background,\n paddingTop: insets.top,\n }}\n title={title}\n titleColor={colorScheme.white}\n />\n <AnimatedSectionList\n ListHeaderComponent={\n entityCluster ? (\n <EntityDetailsWithButtons\n {...entityCluster}\n entityType={EntityType.ProofEntity}\n entityLabels={entityCluster.entityLabels}\n attributesLabels={labels}\n style={[\n styles.entityCluster,\n {\n backgroundColor: colorScheme.nerdView.background,\n },\n ]}\n onCopyToClipboard={onCopyToClipboard}\n testID={entityCluster.testID ?? concatTestID(testID, 'entityCluster')}\n textColor={colorScheme.white}\n />\n ) : null\n }\n onScroll={onScroll}\n renderItem={({ item, section, index }) => {\n if (isSectionEntityCluster(item)) {\n return (\n <EntityDetailsWithButtons\n {...item}\n entityType={EntityType.CredentialEntity}\n entityLabels={item!.entityLabels}\n attributesLabels={labels}\n style={[\n styles.entityCluster,\n {\n backgroundColor: colorScheme.nerdView.background,\n },\n ]}\n onCopyToClipboard={onCopyToClipboard}\n testID={item.testID ?? concatTestID(testID, 'sectionEntityCluster', index.toString())}\n textColor={colorScheme.white}\n />\n );\n } else {\n return (\n <NerdModeItem\n {...item}\n expandedAttributes={expandedAttributes}\n labels={labels}\n last={lastElementsForSection[section.title] === item.attributeKey}\n onCopyToClipboard={onCopyToClipboard}\n onExpand={onExpand}\n scrollOffset={scrollOffset}\n testID={concatTestID(testID, item.testID)}\n />\n );\n }\n }}\n renderSectionHeader={({ section }) => {\n return section.title ? (\n <View style={styles.sectionHeaderContainer} testID={concatTestID(testID, section.title)}>\n <Typography color={colorScheme.white} style={styles.sectionHeaderText}>\n {section.title}\n </Typography>\n </View>\n ) : null;\n }}\n scrollEventThrottle={16}\n sections={sections}\n stickySectionHeadersEnabled={false}\n style={{ backgroundColor: colorScheme.nerdView.background }}\n testID={testID}\n />\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n entityCluster: {\n paddingHorizontal: 24,\n paddingVertical: 20,\n },\n sectionHeaderContainer: {\n justifyContent: 'center',\n marginTop: 20,\n paddingVertical: 16,\n },\n sectionHeaderText: {\n opacity: 0.7,\n paddingHorizontal: 20,\n },\n});\n\nexport default NerdModeScreen;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["moment","groupEntriesByDay","entries","groupedEntries","reduce","result","entry","entryDate","createdDate","matchingEntry","find","date","isSame","data","push","firstYearEntry","sort","a","b","valueOf","map","item","index","list"],"sources":["history.ts"],"sourcesContent":["import { HistoryListItemBindingDto } from '@procivis/react-native-one-core';\nimport moment, { Moment } from 'moment';\n\nexport interface HistoryGroupByDaySection {\n data: HistoryListItemBindingDto[];\n date: Moment;\n firstYearEntry: boolean;\n}\n\nexport const groupEntriesByDay = (entries: HistoryListItemBindingDto[]) => {\n const groupedEntries = entries.reduce((result: HistoryGroupByDaySection[], entry: HistoryListItemBindingDto) => {\n const entryDate = moment(entry.createdDate);\n\n const matchingEntry = result.find(({ date }) => date.isSame(entryDate, 'day'));\n if (matchingEntry) {\n matchingEntry.data.push(entry);\n } else {\n result.push({ data: [entry], date: entryDate, firstYearEntry: false });\n }\n\n return result;\n }, []);\n\n return groupedEntries\n .sort(({ date: a }, { date: b }) => b.valueOf() - a.valueOf())\n .map((item, index, list) => {\n item.firstYearEntry = !index || !list[index - 1].date.isSame(item.date, 'year');\n return item;\n });\n};\n"],"mappings":"AACA,OAAOA,MAAM,MAAkB,QAAQ;AAQvC,OAAO,MAAMC,iBAAiB,GAAIC,OAAoC,IAAK;EACzE,MAAMC,cAAc,GAAGD,OAAO,CAACE,MAAM,CAAC,CAACC,MAAkC,EAAEC,KAAgC,KAAK;IAC9G,MAAMC,SAAS,GAAGP,MAAM,CAACM,KAAK,CAACE,WAAW,CAAC;IAE3C,MAAMC,aAAa,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC;MAAEC;IAAK,CAAC,KAAKA,IAAI,CAACC,MAAM,CAACL,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,IAAIE,aAAa,EAAE;MACjBA,aAAa,CAACI,IAAI,CAACC,IAAI,CAACR,KAAK,CAAC;IAChC,CAAC,MAAM;MACLD,MAAM,CAACS,IAAI,CAAC;QAAED,IAAI,EAAE,CAACP,KAAK,CAAC;QAAEK,IAAI,EAAEJ,SAAS;QAAEQ,cAAc,EAAE;MAAM,CAAC,CAAC;IACxE;IAEA,OAAOV,MAAM;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,cAAc,CAClBa,IAAI,CAAC,CAAC;IAAEL,IAAI,EAAEM;EAAE,CAAC,EAAE;IAAEN,IAAI,EAAEO;EAAE,CAAC,KAAKA,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,CAC7DC,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,EAAEC,IAAI,KAAK;IAC1BF,IAAI,CAACN,cAAc,GAAG,CAACO,KAAK,IAAI,CAACC,IAAI,CAACD,KAAK,GAAG,CAAC,CAAC,CAACX,IAAI,CAACC,MAAM,CAACS,IAAI,CAACV,IAAI,EAAE,MAAM,CAAC;IAC/E,OAAOU,IAAI;EACb,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["moment","groupEntriesByDay","entries","groupedEntries","reduce","result","entry","entryDate","createdDate","matchingEntry","find","date","isSame","data","push","firstYearEntry","sort","a","b","valueOf","map","item","index","list"],"sources":["history.ts"],"sourcesContent":["import { HistoryListItem } from '@procivis/react-native-one-core';\nimport moment, { Moment } from 'moment';\n\nexport interface HistoryGroupByDaySection {\n data: HistoryListItem[];\n date: Moment;\n firstYearEntry: boolean;\n}\n\nexport const groupEntriesByDay = (entries: HistoryListItem[]) => {\n const groupedEntries = entries.reduce((result: HistoryGroupByDaySection[], entry: HistoryListItem) => {\n const entryDate = moment(entry.createdDate);\n\n const matchingEntry = result.find(({ date }) => date.isSame(entryDate, 'day'));\n if (matchingEntry) {\n matchingEntry.data.push(entry);\n } else {\n result.push({ data: [entry], date: entryDate, firstYearEntry: false });\n }\n\n return result;\n }, []);\n\n return groupedEntries\n .sort(({ date: a }, { date: b }) => b.valueOf() - a.valueOf())\n .map((item, index, list) => {\n item.firstYearEntry = !index || !list[index - 1].date.isSame(item.date, 'year');\n return item;\n });\n};\n"],"mappings":"AACA,OAAOA,MAAM,MAAkB,QAAQ;AAQvC,OAAO,MAAMC,iBAAiB,GAAIC,OAA0B,IAAK;EAC/D,MAAMC,cAAc,GAAGD,OAAO,CAACE,MAAM,CAAC,CAACC,MAAkC,EAAEC,KAAsB,KAAK;IACpG,MAAMC,SAAS,GAAGP,MAAM,CAACM,KAAK,CAACE,WAAW,CAAC;IAE3C,MAAMC,aAAa,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC;MAAEC;IAAK,CAAC,KAAKA,IAAI,CAACC,MAAM,CAACL,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,IAAIE,aAAa,EAAE;MACjBA,aAAa,CAACI,IAAI,CAACC,IAAI,CAACR,KAAK,CAAC;IAChC,CAAC,MAAM;MACLD,MAAM,CAACS,IAAI,CAAC;QAAED,IAAI,EAAE,CAACP,KAAK,CAAC;QAAEK,IAAI,EAAEJ,SAAS;QAAEQ,cAAc,EAAE;MAAM,CAAC,CAAC;IACxE;IAEA,OAAOV,MAAM;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOF,cAAc,CAClBa,IAAI,CAAC,CAAC;IAAEL,IAAI,EAAEM;EAAE,CAAC,EAAE;IAAEN,IAAI,EAAEO;EAAE,CAAC,KAAKA,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,CAAC,CAACE,OAAO,CAAC,CAAC,CAAC,CAC7DC,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,EAAEC,IAAI,KAAK;IAC1BF,IAAI,CAACN,cAAc,GAAG,CAACO,KAAK,IAAI,CAACC,IAAI,CAACD,KAAK,GAAG,CAAC,CAAC,CAACX,IAAI,CAACC,MAAM,CAACS,IAAI,CAACV,IAAI,EAAE,MAAM,CAAC;IAC/E,OAAOU,IAAI;EACb,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { IdentifierStateBindingEnum, IdentifierTypeBindingEnum } from '@procivis/react-native-one-core';
1
+ import { IdentifierState, IdentifierType } from '@procivis/react-native-one-core';
2
2
  import { useCallback } from 'react';
3
3
  import { useMutation, useQuery, useQueryClient } from 'react-query';
4
4
  import { reportException } from '../../reporting';
@@ -81,11 +81,11 @@ export const useBackupFinalizeImportProcedure = ({
81
81
  if (generateSwKey) {
82
82
  var _identifiers$values$f;
83
83
  const identifiers = await core.listIdentifiers({
84
- states: [IdentifierStateBindingEnum.ACTIVE],
84
+ states: [IdentifierState.ACTIVE],
85
85
  organisationId,
86
86
  page: 0,
87
87
  pageSize: 1,
88
- types: [IdentifierTypeBindingEnum.DID],
88
+ types: [IdentifierType.DID],
89
89
  isRemote: false
90
90
  });
91
91
  swIdentifierId = (_identifiers$values$f = identifiers.values.find(identifier => identifier.name.startsWith(SW_DID_NAME_PREFIX))) === null || _identifiers$values$f === void 0 ? void 0 : _identifiers$values$f.id;