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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/lib/commonjs/components/entity/entity-attributes.js +15 -2
  2. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  3. package/lib/commonjs/components/entity/entity-details-with-buttons.js +14 -38
  4. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  5. package/lib/commonjs/components/entity/entity-details.js +63 -34
  6. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  7. package/lib/commonjs/components/entity/index.js +2 -15
  8. package/lib/commonjs/components/entity/index.js.map +1 -1
  9. package/lib/commonjs/components/history/history-list-item-icon.js +4 -1
  10. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  11. package/lib/commonjs/components/history/history-list-item.js +15 -3
  12. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  13. package/lib/commonjs/components/history/history-list-screen.js +2 -0
  14. package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
  15. package/lib/commonjs/components/proof-request/share-credential.js +2 -2
  16. package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
  17. package/lib/commonjs/ui-components/blur/index.js +2 -9
  18. package/lib/commonjs/ui-components/blur/index.js.map +1 -1
  19. package/lib/commonjs/ui-components/buttons/hold-button.js +3 -2
  20. package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -1
  21. package/lib/commonjs/ui-components/camera/index.js +2 -9
  22. package/lib/commonjs/ui-components/camera/index.js.map +1 -1
  23. package/lib/commonjs/ui-components/control/index.js +0 -12
  24. package/lib/commonjs/ui-components/control/index.js.map +1 -1
  25. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +1 -1
  26. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  27. package/lib/commonjs/ui-components/credential/credential-carousel-images.js +15 -8
  28. package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
  29. package/lib/commonjs/ui-components/entity/entity-cluster.js +51 -3
  30. package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
  31. package/lib/commonjs/ui-components/entity/index.js +3 -16
  32. package/lib/commonjs/ui-components/entity/index.js.map +1 -1
  33. package/lib/commonjs/ui-components/history/history-details.js +1 -1
  34. package/lib/commonjs/ui-components/history/history-details.js.map +1 -1
  35. package/lib/commonjs/ui-components/history/index.js +4 -27
  36. package/lib/commonjs/ui-components/history/index.js.map +1 -1
  37. package/lib/commonjs/ui-components/icons/entity.js +26 -1
  38. package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
  39. package/lib/commonjs/ui-components/icons/history.js +3 -1
  40. package/lib/commonjs/ui-components/icons/history.js.map +1 -1
  41. package/lib/commonjs/ui-components/input/index.js +3 -32
  42. package/lib/commonjs/ui-components/input/index.js.map +1 -1
  43. package/lib/commonjs/ui-components/list/index.js +4 -19
  44. package/lib/commonjs/ui-components/list/index.js.map +1 -1
  45. package/lib/commonjs/ui-components/loader/index.js +2 -13
  46. package/lib/commonjs/ui-components/loader/index.js.map +1 -1
  47. package/lib/commonjs/ui-components/pin/index.js +2 -21
  48. package/lib/commonjs/ui-components/pin/index.js.map +1 -1
  49. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js +1 -1
  50. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  51. package/lib/commonjs/ui-components/searchbar/index.js +3 -16
  52. package/lib/commonjs/ui-components/searchbar/index.js.map +1 -1
  53. package/lib/commonjs/ui-components/settings/index.js +6 -37
  54. package/lib/commonjs/ui-components/settings/index.js.map +1 -1
  55. package/lib/commonjs/ui-components/state/index.js +2 -15
  56. package/lib/commonjs/ui-components/state/index.js.map +1 -1
  57. package/lib/commonjs/utils/date.js +1 -1
  58. package/lib/commonjs/utils/date.js.map +1 -1
  59. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js +4 -0
  60. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  61. package/lib/commonjs/utils/hooks/core/backup.js +22 -66
  62. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  63. package/lib/commonjs/utils/hooks/core/core-init.js +33 -25
  64. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  65. package/lib/commonjs/utils/hooks/core/credentials.js +2 -1
  66. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  67. package/lib/commonjs/utils/hooks/core/identifiers.js +42 -0
  68. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -0
  69. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  70. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  71. package/lib/commonjs/utils/hooks/core/proofs.js +26 -15
  72. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  73. package/lib/commonjs/utils/hooks/core/trust-entity.js +60 -13
  74. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  75. package/lib/commonjs/utils/parsers/credential-sharing.js +9 -15
  76. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  77. package/lib/commonjs/utils/parsers/credential.js +7 -0
  78. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  79. package/lib/commonjs/utils/parsers/query.js +22 -4
  80. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  81. package/lib/module/components/entity/entity-attributes.js +16 -3
  82. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  83. package/lib/module/components/entity/entity-details-with-buttons.js +16 -40
  84. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  85. package/lib/module/components/entity/entity-details.js +65 -36
  86. package/lib/module/components/entity/entity-details.js.map +1 -1
  87. package/lib/module/components/entity/index.js +2 -2
  88. package/lib/module/components/entity/index.js.map +1 -1
  89. package/lib/module/components/history/history-list-item-icon.js +5 -2
  90. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  91. package/lib/module/components/history/history-list-item.js +16 -4
  92. package/lib/module/components/history/history-list-item.js.map +1 -1
  93. package/lib/module/components/history/history-list-screen.js +2 -0
  94. package/lib/module/components/history/history-list-screen.js.map +1 -1
  95. package/lib/module/components/proof-request/share-credential.js +2 -2
  96. package/lib/module/components/proof-request/share-credential.js.map +1 -1
  97. package/lib/module/ui-components/blur/index.js +2 -2
  98. package/lib/module/ui-components/blur/index.js.map +1 -1
  99. package/lib/module/ui-components/buttons/hold-button.js +4 -3
  100. package/lib/module/ui-components/buttons/hold-button.js.map +1 -1
  101. package/lib/module/ui-components/camera/index.js +2 -2
  102. package/lib/module/ui-components/camera/index.js.map +1 -1
  103. package/lib/module/ui-components/control/index.js +3 -3
  104. package/lib/module/ui-components/control/index.js.map +1 -1
  105. package/lib/module/ui-components/credential/card/credential-details-card.js +1 -1
  106. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  107. package/lib/module/ui-components/credential/credential-carousel-images.js +15 -8
  108. package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
  109. package/lib/module/ui-components/entity/entity-cluster.js +52 -4
  110. package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
  111. package/lib/module/ui-components/entity/index.js +4 -4
  112. package/lib/module/ui-components/entity/index.js.map +1 -1
  113. package/lib/module/ui-components/history/history-details.js +1 -1
  114. package/lib/module/ui-components/history/history-details.js.map +1 -1
  115. package/lib/module/ui-components/history/index.js +6 -6
  116. package/lib/module/ui-components/history/index.js.map +1 -1
  117. package/lib/module/ui-components/icons/entity.js +24 -0
  118. package/lib/module/ui-components/icons/entity.js.map +1 -1
  119. package/lib/module/ui-components/icons/history.js +2 -0
  120. package/lib/module/ui-components/icons/history.js.map +1 -1
  121. package/lib/module/ui-components/input/index.js +6 -6
  122. package/lib/module/ui-components/input/index.js.map +1 -1
  123. package/lib/module/ui-components/list/index.js +4 -4
  124. package/lib/module/ui-components/list/index.js.map +1 -1
  125. package/lib/module/ui-components/loader/index.js +4 -4
  126. package/lib/module/ui-components/loader/index.js.map +1 -1
  127. package/lib/module/ui-components/pin/index.js +3 -3
  128. package/lib/module/ui-components/pin/index.js.map +1 -1
  129. package/lib/module/ui-components/screens/nerd-mode-screen.js +1 -1
  130. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  131. package/lib/module/ui-components/searchbar/index.js +4 -4
  132. package/lib/module/ui-components/searchbar/index.js.map +1 -1
  133. package/lib/module/ui-components/settings/index.js +10 -10
  134. package/lib/module/ui-components/settings/index.js.map +1 -1
  135. package/lib/module/ui-components/state/index.js +2 -2
  136. package/lib/module/ui-components/state/index.js.map +1 -1
  137. package/lib/module/utils/date.js +1 -1
  138. package/lib/module/utils/date.js.map +1 -1
  139. package/lib/module/utils/hooks/connectivity/connectivity.test.js +4 -0
  140. package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  141. package/lib/module/utils/hooks/core/backup.js +24 -68
  142. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  143. package/lib/module/utils/hooks/core/core-init.js +30 -24
  144. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  145. package/lib/module/utils/hooks/core/credentials.js +2 -1
  146. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  147. package/lib/module/utils/hooks/core/identifiers.js +34 -0
  148. package/lib/module/utils/hooks/core/identifiers.js.map +1 -0
  149. package/lib/module/utils/hooks/core/index.js +1 -0
  150. package/lib/module/utils/hooks/core/index.js.map +1 -1
  151. package/lib/module/utils/hooks/core/proofs.js +26 -15
  152. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  153. package/lib/module/utils/hooks/core/trust-entity.js +60 -13
  154. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  155. package/lib/module/utils/parsers/credential-sharing.js +9 -15
  156. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  157. package/lib/module/utils/parsers/credential.js +7 -0
  158. package/lib/module/utils/parsers/credential.js.map +1 -1
  159. package/lib/module/utils/parsers/query.js +20 -3
  160. package/lib/module/utils/parsers/query.js.map +1 -1
  161. package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
  162. package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +2 -2
  163. package/lib/typescript/components/entity/entity-details.d.ts +4 -2
  164. package/lib/typescript/components/entity/index.d.ts +2 -1
  165. package/lib/typescript/components/history/history-list-item.d.ts +1 -0
  166. package/lib/typescript/components/history/history-list-screen.d.ts +2 -0
  167. package/lib/typescript/ui-components/blur/index.d.ts +2 -1
  168. package/lib/typescript/ui-components/buttons/hold-button.d.ts +2 -2
  169. package/lib/typescript/ui-components/camera/index.d.ts +2 -1
  170. package/lib/typescript/ui-components/control/index.d.ts +4 -2
  171. package/lib/typescript/ui-components/credential/credential-carousel-images.d.ts +1 -0
  172. package/lib/typescript/ui-components/entity/entity-cluster.d.ts +1 -0
  173. package/lib/typescript/ui-components/entity/index.d.ts +4 -2
  174. package/lib/typescript/ui-components/history/history-details.d.ts +4 -1
  175. package/lib/typescript/ui-components/history/index.d.ts +6 -3
  176. package/lib/typescript/ui-components/icons/entity.d.ts +1 -0
  177. package/lib/typescript/ui-components/icons/history.d.ts +2 -0
  178. package/lib/typescript/ui-components/input/index.d.ts +6 -3
  179. package/lib/typescript/ui-components/list/index.d.ts +4 -2
  180. package/lib/typescript/ui-components/loader/index.d.ts +4 -2
  181. package/lib/typescript/ui-components/pin/index.d.ts +4 -2
  182. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +4 -4
  183. package/lib/typescript/ui-components/searchbar/index.d.ts +4 -2
  184. package/lib/typescript/ui-components/settings/index.d.ts +10 -5
  185. package/lib/typescript/ui-components/state/index.d.ts +2 -1
  186. package/lib/typescript/utils/hooks/core/backup.d.ts +5 -0
  187. package/lib/typescript/utils/hooks/core/core-init.d.ts +4 -1
  188. package/lib/typescript/utils/hooks/core/credentials.d.ts +2 -1
  189. package/lib/typescript/utils/hooks/core/identifiers.d.ts +5 -0
  190. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  191. package/lib/typescript/utils/hooks/core/proofs.d.ts +3 -1
  192. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +10 -4
  193. package/lib/typescript/utils/parsers/query.d.ts +3 -2
  194. package/package.json +9 -4
  195. package/src/components/entity/entity-attributes.tsx +17 -3
  196. package/src/components/entity/entity-details-with-buttons.tsx +17 -42
  197. package/src/components/entity/entity-details.tsx +64 -37
  198. package/src/components/entity/index.ts +2 -1
  199. package/src/components/history/history-list-item-icon.tsx +5 -0
  200. package/src/components/history/history-list-item.tsx +19 -4
  201. package/src/components/history/history-list-screen.tsx +4 -1
  202. package/src/components/proof-request/share-credential.tsx +1 -1
  203. package/src/ui-components/blur/index.ts +2 -1
  204. package/src/ui-components/buttons/hold-button.tsx +6 -5
  205. package/src/ui-components/camera/index.tsx +2 -1
  206. package/src/ui-components/control/index.ts +4 -2
  207. package/src/ui-components/credential/card/credential-details-card.tsx +1 -1
  208. package/src/ui-components/credential/credential-carousel-images.tsx +15 -8
  209. package/src/ui-components/entity/entity-cluster.tsx +63 -10
  210. package/src/ui-components/entity/index.ts +4 -2
  211. package/src/ui-components/history/history-details.tsx +5 -2
  212. package/src/ui-components/history/index.ts +6 -3
  213. package/src/ui-components/icons/entity.tsx +23 -0
  214. package/src/ui-components/icons/history.tsx +2 -0
  215. package/src/ui-components/input/index.ts +6 -3
  216. package/src/ui-components/list/index.ts +4 -2
  217. package/src/ui-components/loader/index.ts +4 -2
  218. package/src/ui-components/pin/index.ts +4 -2
  219. package/src/ui-components/screens/nerd-mode-screen.tsx +5 -5
  220. package/src/ui-components/searchbar/index.ts +4 -2
  221. package/src/ui-components/settings/index.ts +10 -5
  222. package/src/ui-components/state/index.ts +2 -1
  223. package/src/utils/date.ts +1 -1
  224. package/src/utils/hooks/connectivity/connectivity.test.ts +7 -2
  225. package/src/utils/hooks/core/backup.ts +30 -72
  226. package/src/utils/hooks/core/core-init.ts +29 -23
  227. package/src/utils/hooks/core/credentials.ts +9 -3
  228. package/src/utils/hooks/core/identifiers.ts +39 -0
  229. package/src/utils/hooks/core/index.ts +2 -1
  230. package/src/utils/hooks/core/proofs.ts +31 -18
  231. package/src/utils/hooks/core/trust-entity.ts +55 -17
  232. package/src/utils/parsers/credential-sharing.tsx +30 -36
  233. package/src/utils/parsers/credential.ts +4 -0
  234. package/src/utils/parsers/query.tsx +14 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_historyList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HistoryListScreen","children","groupItems","groupEntriesByDay","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","colorScheme","useAppColorScheme","empty","setEmpty","useState","scrollOffset","Animated","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","searchText","handleSearchPhraseChange","useMemo","debounce","useEffect","undefined","headerHeight","insets","useListContentInset","additionalBottomPadding","createElement","View","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","Typography","align","color","text","preset","emptyTitle","shaded","emptySubtitle","HistoryListView","contentContainerStyle","itemProps","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","concatTestID","list","FoldableHeader","header","NavigationHeader","leftItem","BackButton","title","searchBar","rightButton","FilterButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","search","staticHeader","exports","StyleSheet","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } from '@procivis/react-native-one-core';\nimport { debounce } from 'lodash';\nimport React, { FC, PropsWithChildren, useEffect, useMemo, useState } from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport {\n BackButton,\n FilterButton,\n FoldableHeader,\n NavigationHeader,\n Typography,\n useAppColorScheme,\n} from '../../ui-components';\nimport { concatTestID, groupEntriesByDay, HistoryGroupByDaySection, useListContentInset } from '../../utils';\nimport { HistoryListLabels, HistoryListView } from './history-list';\n\nexport type HistoryListScreenLabels = {\n emptyTitle: string;\n emptySubtitle: string;\n list: HistoryListLabels;\n title: string;\n search: string;\n};\n\nexport type HistoryListScreenProps = {\n groupItems?: (entries: HistoryListItem[]) => HistoryGroupByDaySection[];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItem) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQuery>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\n labels,\n onBackPressed,\n onHistoryItemPressed,\n onOpenFilter,\n onSearchPhraseChange,\n queryParams,\n testID = 'HistoryScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n const [empty, setEmpty] = useState<boolean>(false);\n const [scrollOffset] = useState(() => new Animated.Value(0));\n\n const [searchPhrase, setSearchPhrase] = useState<string>('');\n const searchBarVisible = !empty || Boolean(queryParams.searchText);\n\n const handleSearchPhraseChange = useMemo(() => debounce(onSearchPhraseChange, 500), [onSearchPhraseChange]);\n useEffect(() => {\n handleSearchPhraseChange(searchPhrase || undefined);\n }, [searchPhrase, handleSearchPhraseChange]);\n\n const headerHeight = searchBarVisible ? 112 : 70;\n\n const insets = useListContentInset({\n additionalBottomPadding: 24,\n headerHeight,\n });\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: colorScheme.background,\n },\n ]}\n testID={testID}>\n {empty && (\n <View\n style={[\n styles.emptyNotice,\n {\n backgroundColor: colorScheme.white,\n marginTop: insets.paddingTop,\n },\n ]}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s\">\n {labels.emptyTitle}\n </Typography>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-small\" style={styles.shaded}>\n {labels.emptySubtitle}\n </Typography>\n </View>\n )}\n <HistoryListView\n contentContainerStyle={insets}\n groupItems={groupItems}\n itemProps={{ onPress: onHistoryItemPressed }}\n onEmpty={setEmpty}\n onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollOffset } } }], {\n useNativeDriver: true,\n })}\n query={queryParams}\n testID={concatTestID(testID, 'list')}\n labels={labels.list}\n />\n {children}\n <FoldableHeader\n header={\n <NavigationHeader\n backgroundColor={'transparent'}\n leftItem={<BackButton onPress={onBackPressed} testID={concatTestID(testID, 'back')} />}\n title={labels.title}\n />\n }\n scrollOffset={scrollOffset}\n searchBar={\n !searchBarVisible\n ? undefined\n : {\n rightButton: onOpenFilter ? (\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\n />\n ) : undefined,\n rightButtonAlwaysVisible: true,\n searchBarProps: {\n onSearchPhraseChange: setSearchPhrase,\n placeholder: labels.search,\n searchPhrase,\n testID: concatTestID(testID, 'search'),\n },\n }\n }\n staticHeader={!searchBarVisible}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n emptyNotice: {\n borderRadius: 12,\n marginHorizontal: 16,\n paddingBottom: 20,\n paddingHorizontal: 12,\n paddingTop: 16,\n },\n shaded: {\n opacity: 0.7,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_historyList","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HistoryListScreen","children","groupItems","groupEntriesByDay","itemInfoLabelMode","labels","onBackPressed","onHistoryItemPressed","onOpenFilter","onSearchPhraseChange","queryParams","testID","colorScheme","useAppColorScheme","empty","setEmpty","useState","scrollOffset","Animated","Value","searchPhrase","setSearchPhrase","searchBarVisible","Boolean","searchText","handleSearchPhraseChange","useMemo","debounce","useEffect","undefined","headerHeight","insets","useListContentInset","additionalBottomPadding","createElement","View","style","styles","container","backgroundColor","background","emptyNotice","white","marginTop","paddingTop","Typography","align","color","text","preset","emptyTitle","shaded","emptySubtitle","HistoryListView","contentContainerStyle","itemProps","infoLabelMode","onPress","onEmpty","onScroll","event","nativeEvent","contentOffset","y","useNativeDriver","query","concatTestID","list","FoldableHeader","header","NavigationHeader","leftItem","BackButton","title","searchBar","rightButton","FilterButton","active","credentialSchemaId","rightButtonAlwaysVisible","searchBarProps","placeholder","search","staticHeader","exports","StyleSheet","create","flex","borderRadius","marginHorizontal","paddingBottom","paddingHorizontal","opacity"],"sources":["history-list-screen.tsx"],"sourcesContent":["import { HistoryListItem, HistoryListQuery } from '@procivis/react-native-one-core';\nimport { debounce } from 'lodash';\nimport React, { FC, PropsWithChildren, useEffect, useMemo, useState } from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport {\n BackButton,\n FilterButton,\n FoldableHeader,\n NavigationHeader,\n Typography,\n useAppColorScheme,\n} from '../../ui-components';\nimport { concatTestID, groupEntriesByDay, HistoryGroupByDaySection, useListContentInset } from '../../utils';\nimport { HistoryListLabels, HistoryListView } from './history-list';\nimport { HistoryListItemViewProps } from './history-list-item';\n\nexport type HistoryListScreenLabels = {\n emptyTitle: string;\n emptySubtitle: string;\n list: HistoryListLabels;\n title: string;\n search: string;\n};\n\nexport type HistoryListScreenProps = {\n groupItems?: (entries: HistoryListItem[]) => HistoryGroupByDaySection[];\n itemInfoLabelMode?: HistoryListItemViewProps['infoLabelMode'];\n labels: HistoryListScreenLabels;\n onBackPressed: () => void;\n onHistoryItemPressed: (historyItem: HistoryListItem) => void;\n onOpenFilter?: () => void;\n onSearchPhraseChange: (searchPhrase: string | undefined) => void;\n queryParams: Partial<HistoryListQuery>;\n testID?: string;\n};\n\nexport const HistoryListScreen: FC<PropsWithChildren<HistoryListScreenProps>> = ({\n children,\n groupItems = groupEntriesByDay,\n itemInfoLabelMode = 'entity',\n labels,\n onBackPressed,\n onHistoryItemPressed,\n onOpenFilter,\n onSearchPhraseChange,\n queryParams,\n testID = 'HistoryScreen',\n}) => {\n const colorScheme = useAppColorScheme();\n const [empty, setEmpty] = useState<boolean>(false);\n const [scrollOffset] = useState(() => new Animated.Value(0));\n\n const [searchPhrase, setSearchPhrase] = useState<string>('');\n const searchBarVisible = !empty || Boolean(queryParams.searchText);\n\n const handleSearchPhraseChange = useMemo(() => debounce(onSearchPhraseChange, 500), [onSearchPhraseChange]);\n useEffect(() => {\n handleSearchPhraseChange(searchPhrase || undefined);\n }, [searchPhrase, handleSearchPhraseChange]);\n\n const headerHeight = searchBarVisible ? 112 : 70;\n\n const insets = useListContentInset({\n additionalBottomPadding: 24,\n headerHeight,\n });\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: colorScheme.background,\n },\n ]}\n testID={testID}>\n {empty && (\n <View\n style={[\n styles.emptyNotice,\n {\n backgroundColor: colorScheme.white,\n marginTop: insets.paddingTop,\n },\n ]}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s\">\n {labels.emptyTitle}\n </Typography>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-small\" style={styles.shaded}>\n {labels.emptySubtitle}\n </Typography>\n </View>\n )}\n <HistoryListView\n contentContainerStyle={insets}\n groupItems={groupItems}\n itemProps={{ infoLabelMode: itemInfoLabelMode, onPress: onHistoryItemPressed }}\n onEmpty={setEmpty}\n onScroll={Animated.event([{ nativeEvent: { contentOffset: { y: scrollOffset } } }], {\n useNativeDriver: true,\n })}\n query={queryParams}\n testID={concatTestID(testID, 'list')}\n labels={labels.list}\n />\n {children}\n <FoldableHeader\n header={\n <NavigationHeader\n backgroundColor={'transparent'}\n leftItem={<BackButton onPress={onBackPressed} testID={concatTestID(testID, 'back')} />}\n title={labels.title}\n />\n }\n scrollOffset={scrollOffset}\n searchBar={\n !searchBarVisible\n ? undefined\n : {\n rightButton: onOpenFilter ? (\n <FilterButton\n active={Boolean(queryParams.credentialSchemaId)}\n onPress={onOpenFilter}\n testID={concatTestID(testID, 'filter')}\n />\n ) : undefined,\n rightButtonAlwaysVisible: true,\n searchBarProps: {\n onSearchPhraseChange: setSearchPhrase,\n placeholder: labels.search,\n searchPhrase,\n testID: concatTestID(testID, 'search'),\n },\n }\n }\n staticHeader={!searchBarVisible}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n emptyNotice: {\n borderRadius: 12,\n marginHorizontal: 16,\n paddingBottom: 20,\n paddingHorizontal: 12,\n paddingTop: 16,\n },\n shaded: {\n opacity: 0.7,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,7 @@ const ShareCredential = ({
31
31
  style,
32
32
  testID
33
33
  }) => {
34
- var _credential$issuerDid;
34
+ var _credential$issuer;
35
35
  const colorScheme = (0, _uiComponents.useAppColorScheme)();
36
36
  const {
37
37
  data: credential,
@@ -47,7 +47,7 @@ const ShareCredential = ({
47
47
  const multipleCredentialsAvailable = selectionOptions.length > 1;
48
48
  const validityState = (0, _credential.getValidityState)(credential ? {
49
49
  ...credential,
50
- issuerDid: credential === null || credential === void 0 || (_credential$issuerDid = credential.issuerDid) === null || _credential$issuerDid === void 0 ? void 0 : _credential$issuerDid.did
50
+ issuer: credential === null || credential === void 0 || (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
51
51
  } : undefined);
52
52
  const invalid = (0, _react.useMemo)(() => {
53
53
  if (!(credential !== null && credential !== void 0 && credential.lvvcIssuanceDate) || !request.validityCredentialNbf) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credentials","_credential","_credentialSharing","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuerDid","colorScheme","useAppColorScheme","data","credential","isLoading","useCredentialDetail","config","useCoreConfig","selectionOptions","useMemo","applicableCredentials","filter","applicableCredentialId","some","id","state","CredentialStateEnum","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuerDid","did","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","ValidityState","Revoked","createElement","View","styles","notice","backgroundColor","background","concatTestID","Typography","align","color","text","preset","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","multipleCredentialsNotice","Button","onPress","noticeButton","title","multipleCredentialsSelect","type","ButtonType","Secondary","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","onAttributeSelected","borderColor","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom","marginHorizontal","padding","marginTop","paddingVertical"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Button, ButtonType, CredentialDetailsCardListItem, Typography, useAppColorScheme } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { getValidityState, ValidityState } from '../../utils/parsers/credential';\nimport { shareCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialListItem[];\n credentialId: string;\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n credentialId,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const { data: credential, isLoading } = useCredentialDetail(selectedCredentialId);\n const { data: config } = useCoreConfig();\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuerDid: credential?.issuerDid?.did,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.revoked')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.revokedCredentialNotice}\n </Typography>\n </View>\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.suspended')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.suspendedCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (invalid) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.invalid')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.invalidCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.multiple')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.multipleCredentialsNotice}\n </Typography>\n <Button\n onPress={onSelectCredential}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'notice.multiple.button')}\n title={labels.multipleCredentialsSelect}\n type={ButtonType.Secondary}\n />\n </View>\n );\n }\n }, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (isLoading || !config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireWildcard","_reactNative","_uiComponents","_utils","_coreConfig","_credentials","_credential","_credentialSharing","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShareCredential","allCredentials","credentialId","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","useAppColorScheme","data","credential","isLoading","useCredentialDetail","config","useCoreConfig","selectionOptions","useMemo","applicableCredentials","filter","applicableCredentialId","some","id","state","CredentialStateEnum","ACCEPTED","multipleCredentialsAvailable","length","validityState","getValidityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","ValidityState","Revoked","createElement","View","styles","notice","backgroundColor","background","concatTestID","Typography","align","color","text","preset","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","multipleCredentialsNotice","Button","onPress","noticeButton","title","multipleCredentialsSelect","type","ButtonType","Secondary","card","attributes","shareCredentialCardFromCredential","Boolean","CredentialDetailsCardListItem","onAttributeSelected","borderColor","exports","StyleSheet","create","borderRadius","borderWidth","marginBottom","marginHorizontal","padding","marginTop","paddingVertical"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { ImageSourcePropType, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Button, ButtonType, CredentialDetailsCardListItem, Typography, useAppColorScheme } from '../../ui-components';\nimport { concatTestID } from '../../utils';\nimport { useCoreConfig } from '../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../utils/hooks/core/credentials';\nimport { getValidityState, ValidityState } from '../../utils/parsers/credential';\nimport { shareCredentialCardFromCredential, ShareCredentialCardLabels } from '../../utils/parsers/credential-sharing';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialListItem[];\n credentialId: string;\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n credentialId,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const { data: credential, isLoading } = useCredentialDetail(selectedCredentialId);\n const { data: config } = useCoreConfig();\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.revoked')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.revokedCredentialNotice}\n </Typography>\n </View>\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.suspended')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.suspendedCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (invalid) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.invalid')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.invalidCredentialNotice}\n </Typography>\n </View>\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <View\n style={[styles.notice, { backgroundColor: colorScheme.background }]}\n testID={concatTestID(testID, 'notice.multiple')}>\n <Typography align=\"center\" color={colorScheme.text} preset=\"s/line-height-capped\">\n {labels.multipleCredentialsNotice}\n </Typography>\n <Button\n onPress={onSelectCredential}\n style={styles.noticeButton}\n testID={concatTestID(testID, 'notice.multiple.button')}\n title={labels.multipleCredentialsSelect}\n type={ButtonType.Secondary}\n />\n </View>\n );\n }\n }, [colorScheme, expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (isLoading || !config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId,\n onHeaderPress,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n notice: {\n marginBottom: 22,\n marginHorizontal: 12,\n padding: 12,\n },\n noticeButton: {\n marginTop: 24,\n paddingVertical: 11,\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -9,13 +9,6 @@ Object.defineProperty(exports, "BlurView", {
9
9
  return _blurView.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "BlurViewProps", {
13
- enumerable: true,
14
- get: function () {
15
- return _blurView.BlurViewProps;
16
- }
17
- });
18
- var _blurView = _interopRequireWildcard(require("./blur-view"));
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ var _blurView = _interopRequireDefault(require("./blur-view"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_blurView","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sources":["index.ts"],"sourcesContent":["import BlurView, { BlurViewProps } from './blur-view';\n\nexport { BlurView, BlurViewProps };\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAsD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_blurView","_interopRequireDefault","require","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["import type { BlurViewProps } from './blur-view';\nimport BlurView from './blur-view';\n\nexport { BlurView, BlurViewProps };\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAmC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -152,13 +152,14 @@ const HoldButtonLayouted = ({
152
152
  textColor: colorScheme.accentText
153
153
  }, contentProps)))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
154
154
  style: styles.pressableLayer
155
- }, /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableWithoutFeedback, _extends({
155
+ }, /*#__PURE__*/_react.default.createElement(_accessibilityHistoryWrappers.TouchableOpacity, _extends({
156
156
  accessibilityRole: "button",
157
157
  ref: ref,
158
158
  disabled: isFinished || disabled,
159
159
  onLongPress: onLongPress,
160
160
  onPressIn: isFinished ? undefined : onPressIn,
161
- onPressOut: isFinished ? undefined : onPressOut
161
+ onPressOut: isFinished ? undefined : onPressOut,
162
+ activeOpacity: 1
162
163
  }, props), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
163
164
  style: {
164
165
  width,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_accessibilityHistoryWrappers","_text","_theme","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","Content","title","subtitlePrefix","subtitleSuffix","width","height","textColor","progress","holdTimeoutSecs","disabled","nums","useMemo","Array","from","map","_","index","subtitleHeight","setSubtitleHeight","useState","onSubtitleLayout","useCallback","nativeEvent","layout","translateY","useDerivedValue","value","movingUpStyle","useAnimatedStyle","transform","createElement","View","style","styles","contentWrapper","contentDisabled","pointerEvents","Typography","color","numberOfLines","subtitle","subtitleDisabled","onLayout","preset","subtitleSecsWrapper","subtitleSecs","val","key","HoldButtonLayouted","onFinished","ref","props","colorScheme","useAppColorScheme","isFinished","setFinished","useEffect","useSharedValue","onLongPress","onPressIn","holdTimeout","withTiming","duration","easing","Easing","linear","finished","runOnJS","onPressOut","cancelAnimation","translateX","movingRightStyle","movingLeftStyle","contentProps","Fragment","accent","movingLayer","backgroundColor","accentText","pressableLayer","TouchableWithoutFeedback","accessibilityRole","undefined","HoldButton","React","forwardRef","setLayout","onContainerLayout","container","white","background","borderColor","displayName","StyleSheet","create","borderRadius","overflow","opacity","alignItems","justifyContent","paddingBottom","paddingHorizontal","paddingTop","borderWidth","position","flexDirection","_default","exports"],"sources":["hold-button.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ColorValue, LayoutChangeEvent, StyleSheet, TouchableWithoutFeedbackProps, View } from 'react-native';\nimport Animated, {\n cancelAnimation,\n Easing,\n runOnJS,\n SharedValue,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { TouchableWithoutFeedback, TouchableWithoutFeedbackRef } from '../accessibility/accessibilityHistoryWrappers';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport interface HoldButtonProps\n extends Omit<\n TouchableWithoutFeedbackProps,\n 'children' | 'onLayout' | 'onPress' | 'onLongPress' | 'onPressIn' | 'onPressOut'\n > {\n title: string;\n subtitlePrefix: string;\n subtitleSuffix: string;\n holdTimeoutSecs?: number;\n onFinished: () => void;\n}\n\ninterface ContentProps {\n title: string;\n subtitlePrefix: string;\n subtitleSuffix: string;\n width: number;\n height: number;\n textColor: ColorValue;\n progress: SharedValue<number>;\n holdTimeoutSecs: number;\n disabled?: boolean;\n}\n\nconst Content = ({\n title,\n subtitlePrefix,\n subtitleSuffix,\n width,\n height,\n textColor,\n progress,\n holdTimeoutSecs,\n disabled,\n}: ContentProps) => {\n const nums = useMemo(\n () => Array.from({ length: holdTimeoutSecs + 1 }).map((_, index) => holdTimeoutSecs - index),\n [holdTimeoutSecs],\n );\n\n const [subtitleHeight, setSubtitleHeight] = useState<number>(0);\n const onSubtitleLayout = useCallback(({ nativeEvent }: LayoutChangeEvent) => {\n setSubtitleHeight(nativeEvent.layout.height);\n }, []);\n\n const translateY = useDerivedValue(\n () => progress.value * subtitleHeight * holdTimeoutSecs,\n [subtitleHeight, holdTimeoutSecs],\n );\n const movingUpStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: -translateY.value }],\n }), [translateY]);\n\n return (\n <View style={[styles.contentWrapper, disabled && styles.contentDisabled, { width, height }]} pointerEvents=\"none\">\n <Typography color={textColor} numberOfLines={1}>\n {title}\n </Typography>\n\n <View style={[styles.subtitle, disabled && styles.subtitleDisabled]}>\n <Typography onLayout={onSubtitleLayout} preset=\"s/line-height-capped\" color={textColor} numberOfLines={1}>\n {subtitlePrefix}\n </Typography>\n <View style={[styles.subtitleSecsWrapper, { height: subtitleHeight }]}>\n <Animated.View style={[styles.subtitleSecs, movingUpStyle]}>\n {nums.map((val) => (\n <Typography key={val} preset=\"s/line-height-capped\" color={textColor} numberOfLines={1}>\n {val}\n </Typography>\n ))}\n </Animated.View>\n </View>\n <Typography preset=\"s/line-height-capped\" color={textColor} numberOfLines={1}>\n {subtitleSuffix}\n </Typography>\n </View>\n </View>\n );\n};\n\ninterface HoldButtonLayoutedProps extends Omit<HoldButtonProps, 'style'> {\n ref: React.ForwardedRef<TouchableWithoutFeedbackRef>;\n width: number;\n height: number;\n}\n\nconst HoldButtonLayouted = ({\n title,\n subtitlePrefix,\n subtitleSuffix,\n onFinished,\n holdTimeoutSecs = 3,\n width,\n height,\n disabled,\n ref,\n ...props\n}: HoldButtonLayoutedProps) => {\n const colorScheme = useAppColorScheme();\n\n const [isFinished, setFinished] = useState(false);\n useEffect(() => {\n if (isFinished) {\n onFinished();\n }\n }, [isFinished, onFinished]);\n\n const progress = useSharedValue(0);\n\n const onLongPress = useCallback(() => {\n // Fix for detox bug https://github.com/wix/Detox/issues/4754\n if (isFinished || progress.value !== 0) {\n return;\n }\n setFinished(true);\n }, [progress, isFinished]);\n\n const onPressIn = useCallback(() => {\n const holdTimeout = holdTimeoutSecs * 1000;\n\n // start moving forward\n progress.value = withTiming(\n 1,\n {\n duration: (1 - progress.value) * holdTimeout,\n easing: Easing.linear,\n },\n (finished) => {\n if (finished) {\n runOnJS(setFinished)(true);\n } else {\n // start moving back\n progress.value = withTiming(0, {\n duration: progress.value * holdTimeout,\n easing: Easing.linear,\n });\n }\n },\n );\n }, [holdTimeoutSecs, progress]);\n\n const onPressOut = useCallback(() => cancelAnimation(progress), [progress]);\n\n const translateX = useDerivedValue(() => progress.value * width, [width]);\n const movingRightStyle = useAnimatedStyle(() => ({\n transform: [{ translateX: translateX.value }],\n }), [translateX]);\n const movingLeftStyle = useAnimatedStyle(() => ({\n transform: [{ translateX: -translateX.value }],\n }), [translateX]);\n\n const contentProps = useMemo(\n () => ({ title, subtitlePrefix, subtitleSuffix, progress, holdTimeoutSecs, width, height }),\n [title, subtitlePrefix, subtitleSuffix, progress, holdTimeoutSecs, width, height],\n );\n\n return (\n <>\n <Content textColor={colorScheme.accent} disabled={disabled} {...contentProps} />\n {!disabled && (\n <Animated.View style={[styles.movingLayer, { backgroundColor: colorScheme.accent }, movingRightStyle]}>\n <Animated.View style={movingLeftStyle}>\n <Content textColor={colorScheme.accentText} {...contentProps} />\n </Animated.View>\n </Animated.View>\n )}\n <View style={styles.pressableLayer}>\n <TouchableWithoutFeedback\n accessibilityRole=\"button\"\n ref={ref}\n disabled={isFinished || disabled}\n onLongPress={onLongPress}\n onPressIn={isFinished ? undefined : onPressIn}\n onPressOut={isFinished ? undefined : onPressOut}\n {...props}>\n <View style={{ width, height }} />\n </TouchableWithoutFeedback>\n </View>\n </>\n );\n};\n\n/**\n * Press and hold button component\n *\n * follows design: https://www.figma.com/design/cCmAyBQrQWCQZuDi85pJfe/Procivis-One-Wallet-Developments-2025?node-id=1-871\n */\nconst HoldButton = React.forwardRef<TouchableWithoutFeedbackRef, HoldButtonProps>(\n ({ style, disabled, ...props }, ref) => {\n const colorScheme = useAppColorScheme();\n\n const [layout, setLayout] = useState<{ width: number; height: number }>();\n const onContainerLayout = useCallback(({ nativeEvent }: LayoutChangeEvent) => {\n setLayout({ width: nativeEvent.layout.width, height: nativeEvent.layout.height });\n }, []);\n\n return (\n <View\n onLayout={onContainerLayout}\n style={[\n styles.container,\n disabled && styles.disabled,\n {\n backgroundColor: disabled ? colorScheme.white : colorScheme.background,\n borderColor: colorScheme.background,\n },\n style,\n ]}>\n {layout && <HoldButtonLayouted ref={ref} disabled={disabled} {...props} {...layout} />}\n </View>\n );\n },\n);\n\nHoldButton.displayName = 'HoldButton';\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 12,\n height: 68,\n overflow: 'hidden',\n },\n contentDisabled: {\n opacity: 0.4,\n },\n contentWrapper: {\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 16,\n paddingHorizontal: 24,\n paddingTop: 12,\n },\n disabled: {\n borderWidth: 1,\n },\n movingLayer: {\n overflow: 'hidden',\n position: 'absolute',\n },\n pressableLayer: {\n position: 'absolute',\n },\n subtitle: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n opacity: 0.8,\n },\n subtitleDisabled: {\n opacity: 1,\n },\n subtitleSecs: {\n alignItems: 'center',\n },\n subtitleSecsWrapper: {\n overflow: 'hidden',\n },\n});\n\nexport default HoldButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_accessibilityHistoryWrappers","_text","_theme","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","Content","title","subtitlePrefix","subtitleSuffix","width","height","textColor","progress","holdTimeoutSecs","disabled","nums","useMemo","Array","from","map","_","index","subtitleHeight","setSubtitleHeight","useState","onSubtitleLayout","useCallback","nativeEvent","layout","translateY","useDerivedValue","value","movingUpStyle","useAnimatedStyle","transform","createElement","View","style","styles","contentWrapper","contentDisabled","pointerEvents","Typography","color","numberOfLines","subtitle","subtitleDisabled","onLayout","preset","subtitleSecsWrapper","subtitleSecs","val","key","HoldButtonLayouted","onFinished","ref","props","colorScheme","useAppColorScheme","isFinished","setFinished","useEffect","useSharedValue","onLongPress","onPressIn","holdTimeout","withTiming","duration","easing","Easing","linear","finished","runOnJS","onPressOut","cancelAnimation","translateX","movingRightStyle","movingLeftStyle","contentProps","Fragment","accent","movingLayer","backgroundColor","accentText","pressableLayer","TouchableOpacity","accessibilityRole","undefined","activeOpacity","HoldButton","React","forwardRef","setLayout","onContainerLayout","container","white","background","borderColor","displayName","StyleSheet","create","borderRadius","overflow","opacity","alignItems","justifyContent","paddingBottom","paddingHorizontal","paddingTop","borderWidth","position","flexDirection","_default","exports"],"sources":["hold-button.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ColorValue, LayoutChangeEvent, StyleSheet, TouchableWithoutFeedbackProps, View } from 'react-native';\nimport Animated, {\n cancelAnimation,\n Easing,\n runOnJS,\n SharedValue,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { TouchableOpacity, TouchableOpacityRef } from '../accessibility/accessibilityHistoryWrappers';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\nexport interface HoldButtonProps\n extends Omit<\n TouchableWithoutFeedbackProps,\n 'children' | 'onLayout' | 'onPress' | 'onLongPress' | 'onPressIn' | 'onPressOut'\n > {\n title: string;\n subtitlePrefix: string;\n subtitleSuffix: string;\n holdTimeoutSecs?: number;\n onFinished: () => void;\n}\n\ninterface ContentProps {\n title: string;\n subtitlePrefix: string;\n subtitleSuffix: string;\n width: number;\n height: number;\n textColor: ColorValue;\n progress: SharedValue<number>;\n holdTimeoutSecs: number;\n disabled?: boolean;\n}\n\nconst Content = ({\n title,\n subtitlePrefix,\n subtitleSuffix,\n width,\n height,\n textColor,\n progress,\n holdTimeoutSecs,\n disabled,\n}: ContentProps) => {\n const nums = useMemo(\n () => Array.from({ length: holdTimeoutSecs + 1 }).map((_, index) => holdTimeoutSecs - index),\n [holdTimeoutSecs],\n );\n\n const [subtitleHeight, setSubtitleHeight] = useState<number>(0);\n const onSubtitleLayout = useCallback(({ nativeEvent }: LayoutChangeEvent) => {\n setSubtitleHeight(nativeEvent.layout.height);\n }, []);\n\n const translateY = useDerivedValue(\n () => progress.value * subtitleHeight * holdTimeoutSecs,\n [subtitleHeight, holdTimeoutSecs],\n );\n const movingUpStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: -translateY.value }],\n }), [translateY]);\n\n return (\n <View style={[styles.contentWrapper, disabled && styles.contentDisabled, { width, height }]} pointerEvents=\"none\">\n <Typography color={textColor} numberOfLines={1}>\n {title}\n </Typography>\n\n <View style={[styles.subtitle, disabled && styles.subtitleDisabled]}>\n <Typography onLayout={onSubtitleLayout} preset=\"s/line-height-capped\" color={textColor} numberOfLines={1}>\n {subtitlePrefix}\n </Typography>\n <View style={[styles.subtitleSecsWrapper, { height: subtitleHeight }]}>\n <Animated.View style={[styles.subtitleSecs, movingUpStyle]}>\n {nums.map((val) => (\n <Typography key={val} preset=\"s/line-height-capped\" color={textColor} numberOfLines={1}>\n {val}\n </Typography>\n ))}\n </Animated.View>\n </View>\n <Typography preset=\"s/line-height-capped\" color={textColor} numberOfLines={1}>\n {subtitleSuffix}\n </Typography>\n </View>\n </View>\n );\n};\n\ninterface HoldButtonLayoutedProps extends Omit<HoldButtonProps, 'style'> {\n ref: React.ForwardedRef<TouchableOpacityRef>;\n width: number;\n height: number;\n}\n\nconst HoldButtonLayouted = ({\n title,\n subtitlePrefix,\n subtitleSuffix,\n onFinished,\n holdTimeoutSecs = 3,\n width,\n height,\n disabled,\n ref,\n ...props\n}: HoldButtonLayoutedProps) => {\n const colorScheme = useAppColorScheme();\n\n const [isFinished, setFinished] = useState(false);\n useEffect(() => {\n if (isFinished) {\n onFinished();\n }\n }, [isFinished, onFinished]);\n\n const progress = useSharedValue(0);\n\n const onLongPress = useCallback(() => {\n // Fix for detox bug https://github.com/wix/Detox/issues/4754\n if (isFinished || progress.value !== 0) {\n return;\n }\n setFinished(true);\n }, [progress, isFinished]);\n\n const onPressIn = useCallback(() => {\n const holdTimeout = holdTimeoutSecs * 1000;\n\n // start moving forward\n progress.value = withTiming(\n 1,\n {\n duration: (1 - progress.value) * holdTimeout,\n easing: Easing.linear,\n },\n (finished) => {\n if (finished) {\n runOnJS(setFinished)(true);\n } else {\n // start moving back\n progress.value = withTiming(0, {\n duration: progress.value * holdTimeout,\n easing: Easing.linear,\n });\n }\n },\n );\n }, [holdTimeoutSecs, progress]);\n\n const onPressOut = useCallback(() => cancelAnimation(progress), [progress]);\n\n const translateX = useDerivedValue(() => progress.value * width, [width]);\n const movingRightStyle = useAnimatedStyle(() => ({\n transform: [{ translateX: translateX.value }],\n }), [translateX]);\n const movingLeftStyle = useAnimatedStyle(() => ({\n transform: [{ translateX: -translateX.value }],\n }), [translateX]);\n\n const contentProps = useMemo(\n () => ({ title, subtitlePrefix, subtitleSuffix, progress, holdTimeoutSecs, width, height }),\n [title, subtitlePrefix, subtitleSuffix, progress, holdTimeoutSecs, width, height],\n );\n\n return (\n <>\n <Content textColor={colorScheme.accent} disabled={disabled} {...contentProps} />\n {!disabled && (\n <Animated.View style={[styles.movingLayer, { backgroundColor: colorScheme.accent }, movingRightStyle]}>\n <Animated.View style={movingLeftStyle}>\n <Content textColor={colorScheme.accentText} {...contentProps} />\n </Animated.View>\n </Animated.View>\n )}\n <View style={styles.pressableLayer}>\n <TouchableOpacity\n accessibilityRole=\"button\"\n ref={ref}\n disabled={isFinished || disabled}\n onLongPress={onLongPress}\n onPressIn={isFinished ? undefined : onPressIn}\n onPressOut={isFinished ? undefined : onPressOut}\n activeOpacity={1}\n {...props}>\n <View style={{ width, height }} />\n </TouchableOpacity>\n </View>\n </>\n );\n};\n\n/**\n * Press and hold button component\n *\n * follows design: https://www.figma.com/design/cCmAyBQrQWCQZuDi85pJfe/Procivis-One-Wallet-Developments-2025?node-id=1-871\n */\nconst HoldButton = React.forwardRef<TouchableOpacityRef, HoldButtonProps>(\n ({ style, disabled, ...props }, ref) => {\n const colorScheme = useAppColorScheme();\n\n const [layout, setLayout] = useState<{ width: number; height: number }>();\n const onContainerLayout = useCallback(({ nativeEvent }: LayoutChangeEvent) => {\n setLayout({ width: nativeEvent.layout.width, height: nativeEvent.layout.height });\n }, []);\n\n return (\n <View\n onLayout={onContainerLayout}\n style={[\n styles.container,\n disabled && styles.disabled,\n {\n backgroundColor: disabled ? colorScheme.white : colorScheme.background,\n borderColor: colorScheme.background,\n },\n style,\n ]}>\n {layout && <HoldButtonLayouted ref={ref} disabled={disabled} {...props} {...layout} />}\n </View>\n );\n },\n);\n\nHoldButton.displayName = 'HoldButton';\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 12,\n height: 68,\n overflow: 'hidden',\n },\n contentDisabled: {\n opacity: 0.4,\n },\n contentWrapper: {\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 16,\n paddingHorizontal: 24,\n paddingTop: 12,\n },\n disabled: {\n borderWidth: 1,\n },\n movingLayer: {\n overflow: 'hidden',\n position: 'absolute',\n },\n pressableLayer: {\n position: 'absolute',\n },\n subtitle: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n opacity: 0.8,\n },\n subtitleDisabled: {\n opacity: 1,\n },\n subtitleSecs: {\n alignItems: 'center',\n },\n subtitleSecsWrapper: {\n overflow: 'hidden',\n },\n});\n\nexport default HoldButton;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAH,uBAAA,CAAAC,OAAA;AAWA,IAAAG,6BAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAA6C,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AA0B7C,MAAMG,OAAO,GAAGA,CAAC;EACfC,KAAK;EACLC,cAAc;EACdC,cAAc;EACdC,KAAK;EACLC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,eAAe;EACfC;AACY,CAAC,KAAK;EAClB,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAClB,MAAMC,KAAK,CAACC,IAAI,CAAC;IAAEf,MAAM,EAAEU,eAAe,GAAG;EAAE,CAAC,CAAC,CAACM,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAKR,eAAe,GAAGQ,KAAK,CAAC,EAC5F,CAACR,eAAe,CAClB,CAAC;EAED,MAAM,CAACS,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAC,eAAQ,EAAS,CAAC,CAAC;EAC/D,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,CAAC;IAAEC;EAA+B,CAAC,KAAK;IAC3EJ,iBAAiB,CAACI,WAAW,CAACC,MAAM,CAAClB,MAAM,CAAC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMmB,UAAU,GAAG,IAAAC,sCAAe,EAChC,MAAMlB,QAAQ,CAACmB,KAAK,GAAGT,cAAc,GAAGT,eAAe,EACvD,CAACS,cAAc,EAAET,eAAe,CAClC,CAAC;EACD,MAAMmB,aAAa,GAAG,IAAAC,uCAAgB,EAAC,OAAO;IAC5CC,SAAS,EAAE,CAAC;MAAEL,UAAU,EAAE,CAACA,UAAU,CAACE;IAAM,CAAC;EAC/C,CAAC,CAAC,EAAE,CAACF,UAAU,CAAC,CAAC;EAEjB,oBACE1D,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC7D,YAAA,CAAA8D,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,cAAc,EAAEzB,QAAQ,IAAIwB,MAAM,CAACE,eAAe,EAAE;MAAE/B,KAAK;MAAEC;IAAO,CAAC,CAAE;IAAC+B,aAAa,EAAC;EAAM,gBAC/GtE,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC1D,KAAA,CAAAiE,UAAU;IAACC,KAAK,EAAEhC,SAAU;IAACiC,aAAa,EAAE;EAAE,GAC5CtC,KACS,CAAC,eAEbnC,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC7D,YAAA,CAAA8D,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACO,QAAQ,EAAE/B,QAAQ,IAAIwB,MAAM,CAACQ,gBAAgB;EAAE,gBAClE3E,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC1D,KAAA,CAAAiE,UAAU;IAACK,QAAQ,EAAEtB,gBAAiB;IAACuB,MAAM,EAAC,sBAAsB;IAACL,KAAK,EAAEhC,SAAU;IAACiC,aAAa,EAAE;EAAE,GACtGrC,cACS,CAAC,eACbpC,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC7D,YAAA,CAAA8D,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACW,mBAAmB,EAAE;MAAEvC,MAAM,EAAEY;IAAe,CAAC;EAAE,gBACpEnD,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC5D,sBAAA,CAAAU,OAAQ,CAACmD,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACY,YAAY,EAAElB,aAAa;EAAE,GACxDjB,IAAI,CAACI,GAAG,CAAEgC,GAAG,iBACZhF,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC1D,KAAA,CAAAiE,UAAU;IAACU,GAAG,EAAED,GAAI;IAACH,MAAM,EAAC,sBAAsB;IAACL,KAAK,EAAEhC,SAAU;IAACiC,aAAa,EAAE;EAAE,GACpFO,GACS,CACb,CACY,CACX,CAAC,eACPhF,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC1D,KAAA,CAAAiE,UAAU;IAACM,MAAM,EAAC,sBAAsB;IAACL,KAAK,EAAEhC,SAAU;IAACiC,aAAa,EAAE;EAAE,GAC1EpC,cACS,CACR,CACF,CAAC;AAEX,CAAC;AAQD,MAAM6C,kBAAkB,GAAGA,CAAC;EAC1B/C,KAAK;EACLC,cAAc;EACdC,cAAc;EACd8C,UAAU;EACVzC,eAAe,GAAG,CAAC;EACnBJ,KAAK;EACLC,MAAM;EACNI,QAAQ;EACRyC,GAAG;EACH,GAAGC;AACoB,CAAC,KAAK;EAC7B,MAAMC,WAAW,GAAG,IAAAC,wBAAiB,EAAC,CAAC;EAEvC,MAAM,CAACC,UAAU,EAAEC,WAAW,CAAC,GAAG,IAAApC,eAAQ,EAAC,KAAK,CAAC;EACjD,IAAAqC,gBAAS,EAAC,MAAM;IACd,IAAIF,UAAU,EAAE;MACdL,UAAU,CAAC,CAAC;IACd;EACF,CAAC,EAAE,CAACK,UAAU,EAAEL,UAAU,CAAC,CAAC;EAE5B,MAAM1C,QAAQ,GAAG,IAAAkD,qCAAc,EAAC,CAAC,CAAC;EAElC,MAAMC,WAAW,GAAG,IAAArC,kBAAW,EAAC,MAAM;IACpC;IACA,IAAIiC,UAAU,IAAI/C,QAAQ,CAACmB,KAAK,KAAK,CAAC,EAAE;MACtC;IACF;IACA6B,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC,EAAE,CAAChD,QAAQ,EAAE+C,UAAU,CAAC,CAAC;EAE1B,MAAMK,SAAS,GAAG,IAAAtC,kBAAW,EAAC,MAAM;IAClC,MAAMuC,WAAW,GAAGpD,eAAe,GAAG,IAAI;;IAE1C;IACAD,QAAQ,CAACmB,KAAK,GAAG,IAAAmC,iCAAU,EACzB,CAAC,EACD;MACEC,QAAQ,EAAE,CAAC,CAAC,GAAGvD,QAAQ,CAACmB,KAAK,IAAIkC,WAAW;MAC5CG,MAAM,EAAEC,6BAAM,CAACC;IACjB,CAAC,EACAC,QAAQ,IAAK;MACZ,IAAIA,QAAQ,EAAE;QACZ,IAAAC,8BAAO,EAACZ,WAAW,CAAC,CAAC,IAAI,CAAC;MAC5B,CAAC,MAAM;QACL;QACAhD,QAAQ,CAACmB,KAAK,GAAG,IAAAmC,iCAAU,EAAC,CAAC,EAAE;UAC7BC,QAAQ,EAAEvD,QAAQ,CAACmB,KAAK,GAAGkC,WAAW;UACtCG,MAAM,EAAEC,6BAAM,CAACC;QACjB,CAAC,CAAC;MACJ;IACF,CACF,CAAC;EACH,CAAC,EAAE,CAACzD,eAAe,EAAED,QAAQ,CAAC,CAAC;EAE/B,MAAM6D,UAAU,GAAG,IAAA/C,kBAAW,EAAC,MAAM,IAAAgD,sCAAe,EAAC9D,QAAQ,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAE3E,MAAM+D,UAAU,GAAG,IAAA7C,sCAAe,EAAC,MAAMlB,QAAQ,CAACmB,KAAK,GAAGtB,KAAK,EAAE,CAACA,KAAK,CAAC,CAAC;EACzE,MAAMmE,gBAAgB,GAAG,IAAA3C,uCAAgB,EAAC,OAAO;IAC/CC,SAAS,EAAE,CAAC;MAAEyC,UAAU,EAAEA,UAAU,CAAC5C;IAAM,CAAC;EAC9C,CAAC,CAAC,EAAE,CAAC4C,UAAU,CAAC,CAAC;EACjB,MAAME,eAAe,GAAG,IAAA5C,uCAAgB,EAAC,OAAO;IAC9CC,SAAS,EAAE,CAAC;MAAEyC,UAAU,EAAE,CAACA,UAAU,CAAC5C;IAAM,CAAC;EAC/C,CAAC,CAAC,EAAE,CAAC4C,UAAU,CAAC,CAAC;EAEjB,MAAMG,YAAY,GAAG,IAAA9D,cAAO,EAC1B,OAAO;IAAEV,KAAK;IAAEC,cAAc;IAAEC,cAAc;IAAEI,QAAQ;IAAEC,eAAe;IAAEJ,KAAK;IAAEC;EAAO,CAAC,CAAC,EAC3F,CAACJ,KAAK,EAAEC,cAAc,EAAEC,cAAc,EAAEI,QAAQ,EAAEC,eAAe,EAAEJ,KAAK,EAAEC,MAAM,CAClF,CAAC;EAED,oBACEvC,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAAhE,MAAA,CAAAc,OAAA,CAAA8F,QAAA,qBACE5G,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC9B,OAAO,EAAAN,QAAA;IAACY,SAAS,EAAE8C,WAAW,CAACuB,MAAO;IAAClE,QAAQ,EAAEA;EAAS,GAAKgE,YAAY,CAAG,CAAC,EAC/E,CAAChE,QAAQ,iBACR3C,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC5D,sBAAA,CAAAU,OAAQ,CAACmD,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAAC2C,WAAW,EAAE;MAAEC,eAAe,EAAEzB,WAAW,CAACuB;IAAO,CAAC,EAAEJ,gBAAgB;EAAE,gBACpGzG,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC5D,sBAAA,CAAAU,OAAQ,CAACmD,IAAI;IAACC,KAAK,EAAEwC;EAAgB,gBACpC1G,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC9B,OAAO,EAAAN,QAAA;IAACY,SAAS,EAAE8C,WAAW,CAAC0B;EAAW,GAAKL,YAAY,CAAG,CAClD,CACF,CAChB,eACD3G,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC7D,YAAA,CAAA8D,IAAI;IAACC,KAAK,EAAEC,MAAM,CAAC8C;EAAe,gBACjCjH,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC3D,6BAAA,CAAA6G,gBAAgB,EAAAtF,QAAA;IACfuF,iBAAiB,EAAC,QAAQ;IAC1B/B,GAAG,EAAEA,GAAI;IACTzC,QAAQ,EAAE6C,UAAU,IAAI7C,QAAS;IACjCiD,WAAW,EAAEA,WAAY;IACzBC,SAAS,EAAEL,UAAU,GAAG4B,SAAS,GAAGvB,SAAU;IAC9CS,UAAU,EAAEd,UAAU,GAAG4B,SAAS,GAAGd,UAAW;IAChDe,aAAa,EAAE;EAAE,GACbhC,KAAK,gBACTrF,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC7D,YAAA,CAAA8D,IAAI;IAACC,KAAK,EAAE;MAAE5B,KAAK;MAAEC;IAAO;EAAE,CAAE,CACjB,CACd,CACN,CAAC;AAEP,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAM+E,UAAU,gBAAGC,cAAK,CAACC,UAAU,CACjC,CAAC;EAAEtD,KAAK;EAAEvB,QAAQ;EAAE,GAAG0C;AAAM,CAAC,EAAED,GAAG,KAAK;EACtC,MAAME,WAAW,GAAG,IAAAC,wBAAiB,EAAC,CAAC;EAEvC,MAAM,CAAC9B,MAAM,EAAEgE,SAAS,CAAC,GAAG,IAAApE,eAAQ,EAAoC,CAAC;EACzE,MAAMqE,iBAAiB,GAAG,IAAAnE,kBAAW,EAAC,CAAC;IAAEC;EAA+B,CAAC,KAAK;IAC5EiE,SAAS,CAAC;MAAEnF,KAAK,EAAEkB,WAAW,CAACC,MAAM,CAACnB,KAAK;MAAEC,MAAM,EAAEiB,WAAW,CAACC,MAAM,CAAClB;IAAO,CAAC,CAAC;EACnF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEvC,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC7D,YAAA,CAAA8D,IAAI;IACHW,QAAQ,EAAE8C,iBAAkB;IAC5BxD,KAAK,EAAE,CACLC,MAAM,CAACwD,SAAS,EAChBhF,QAAQ,IAAIwB,MAAM,CAACxB,QAAQ,EAC3B;MACEoE,eAAe,EAAEpE,QAAQ,GAAG2C,WAAW,CAACsC,KAAK,GAAGtC,WAAW,CAACuC,UAAU;MACtEC,WAAW,EAAExC,WAAW,CAACuC;IAC3B,CAAC,EACD3D,KAAK;EACL,GACDT,MAAM,iBAAIzD,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAACkB,kBAAkB,EAAAtD,QAAA;IAACwD,GAAG,EAAEA,GAAI;IAACzC,QAAQ,EAAEA;EAAS,GAAK0C,KAAK,EAAM5B,MAAM,CAAG,CACjF,CAAC;AAEX,CACF,CAAC;AAED6D,UAAU,CAACS,WAAW,GAAG,YAAY;AAErC,MAAM5D,MAAM,GAAG6D,uBAAU,CAACC,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,YAAY,EAAE,EAAE;IAChB3F,MAAM,EAAE,EAAE;IACV4F,QAAQ,EAAE;EACZ,CAAC;EACD9D,eAAe,EAAE;IACf+D,OAAO,EAAE;EACX,CAAC;EACDhE,cAAc,EAAE;IACdiE,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,eAAe;IAC/BC,aAAa,EAAE,EAAE;IACjBC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE;EACd,CAAC;EACD9F,QAAQ,EAAE;IACR+F,WAAW,EAAE;EACf,CAAC;EACD5B,WAAW,EAAE;IACXqB,QAAQ,EAAE,QAAQ;IAClBQ,QAAQ,EAAE;EACZ,CAAC;EACD1B,cAAc,EAAE;IACd0B,QAAQ,EAAE;EACZ,CAAC;EACDjE,QAAQ,EAAE;IACR2D,UAAU,EAAE,UAAU;IACtBO,aAAa,EAAE,KAAK;IACpBR,OAAO,EAAE;EACX,CAAC;EACDzD,gBAAgB,EAAE;IAChByD,OAAO,EAAE;EACX,CAAC;EACDrD,YAAY,EAAE;IACZsD,UAAU,EAAE;EACd,CAAC;EACDvD,mBAAmB,EAAE;IACnBqD,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAhI,OAAA,GAEYwG,UAAU","ignoreList":[]}
@@ -9,13 +9,6 @@ Object.defineProperty(exports, "QRCodeScanner", {
9
9
  return _qrCodeScanner.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "QRCodeScannerProps", {
13
- enumerable: true,
14
- get: function () {
15
- return _qrCodeScanner.QRCodeScannerProps;
16
- }
17
- });
18
- var _qrCodeScanner = _interopRequireWildcard(require("./qr-code-scanner"));
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ var _qrCodeScanner = _interopRequireDefault(require("./qr-code-scanner"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_qrCodeScanner","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sources":["index.tsx"],"sourcesContent":["import QRCodeScanner, { QRCodeScannerProps } from './qr-code-scanner';\n\nexport { QRCodeScanner, QRCodeScannerProps };\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAsE,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_qrCodeScanner","_interopRequireDefault","require","e","__esModule","default"],"sources":["index.tsx"],"sourcesContent":["import type { QRCodeScannerProps } from './qr-code-scanner';\nimport QRCodeScanner from './qr-code-scanner';\n\nexport { QRCodeScanner, QRCodeScannerProps };\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -9,24 +9,12 @@ Object.defineProperty(exports, "Checkbox", {
9
9
  return _checkbox.Checkbox;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "CheckboxProps", {
13
- enumerable: true,
14
- get: function () {
15
- return _checkbox.CheckboxProps;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "Switch", {
19
13
  enumerable: true,
20
14
  get: function () {
21
15
  return _switch.Switch;
22
16
  }
23
17
  });
24
- Object.defineProperty(exports, "SwitchProps", {
25
- enumerable: true,
26
- get: function () {
27
- return _switch.SwitchProps;
28
- }
29
- });
30
18
  var _checkbox = require("./checkbox");
31
19
  var _switch = require("./switch");
32
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_checkbox","require","_switch"],"sources":["index.ts"],"sourcesContent":["import { Checkbox, CheckboxProps } from './checkbox';\nimport { Switch, SwitchProps } from './switch';\n\nexport { Checkbox, CheckboxProps, Switch, SwitchProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_checkbox","require","_switch"],"sources":["index.ts"],"sourcesContent":["import type { CheckboxProps } from './checkbox';\nimport { Checkbox } from './checkbox';\nimport type { SwitchProps } from './switch';\nimport { Switch } from './switch';\n\nexport { Checkbox, CheckboxProps, Switch, SwitchProps };\n"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA","ignoreList":[]}
@@ -119,7 +119,7 @@ const CredentialDetailsCard = ({
119
119
  }), /*#__PURE__*/_react.default.createElement(_credentialCard.default, _extends({}, cardProps, {
120
120
  header: {
121
121
  ...header,
122
- accessory: (_header$accessory = header.accessory) !== null && _header$accessory !== void 0 ? _header$accessory : CaretIcon
122
+ accessory: (_header$accessory = header.accessory) !== null && _header$accessory !== void 0 ? _header$accessory : cardProps.onHeaderPress ? CaretIcon : undefined
123
123
  },
124
124
  style: [styles.card, cardProps.style]
125
125
  })), previewAttributes.length > 0 && /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_testID","_buttons","_credential","_colorSchemeContext","_credentialAttributeItem","_interopRequireDefault","_credentialCard","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","PREVIEW_ATTRIBUTES_COUNT","CredentialDetailsCard","animate","attributes","card","expanded","footer","onImagePreview","onAttributeSelected","style","showAllButtonLabel","testID","viewProps","_header$accessory","colorScheme","useAppColorScheme","previewAttributesHeight","setPreviewAttributesHeight","useState","fullAttributesHeight","setFullAttributesHeight","buttonViewHeight","setButtonViewHeight","allAttributesRendered","setAllAttributesRendered","CaretIcon","UpIcon","DownIcon","currentHeight","useSharedValue","undefined","previewAttributes","slice","extraAttributes","useMemo","useEffect","viewStyle","StyleSheet","flatten","styles","allAttributesWrapper","allAttributesWrapperWithFooter","padding","paddingBottom","additionalAttributesHeight","additionalHeight","newHeight","value","duration","withTiming","credentialAttributesStyle","useAnimatedStyle","height","onPreviewAttrContentLayout","useCallback","event","nativeEvent","layout","onFullAttrContentLayout","onButtonViewLayout","footerView","React","isValidElement","FooterComponent","createElement","header","cardProps","renderExtraAttributes","View","detailsCard","backgroundColor","white","concatTestID","accessory","attributesAnimatedWrapper","attributesWrapper","onLayout","previewAttributesWrapper","map","attribute","idx","key","id","last","toString","onPress","Button","type","ButtonType","Secondary","title","index","create","paddingHorizontal","width","overflow","paddingTop","position","borderRadius","marginTop","_default","exports"],"sources":["credential-details-card.tsx"],"sourcesContent":["import React, { ComponentType, FC, ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { ImageSourcePropType, LayoutChangeEvent, StyleSheet, View, ViewProps } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport { concatTestID } from '../../../utils/testID';\nimport { Button, ButtonType } from '../../buttons';\nimport { DownIcon, UpIcon } from '../../icons/credential';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialAttributeItem, { CredentialAttribute } from '../credential-attribute-item';\nimport CredentialCard, { CredentialCardProps } from './credential-card';\n\nexport type CredentialDetailsCardProps = ViewProps & {\n animate?: boolean;\n attributes: CredentialAttribute[] | false;\n card: CredentialCardProps;\n expanded?: boolean;\n footer?: ComponentType<any> | ReactElement;\n onImagePreview?: (name: string, image: ImageSourcePropType) => void;\n onAttributeSelected?: (id: string, selected: boolean) => void;\n showAllButtonLabel?: string;\n};\n\nconst PREVIEW_ATTRIBUTES_COUNT = 3;\n\nconst CredentialDetailsCard: FC<CredentialDetailsCardProps> = ({\n animate = true,\n attributes,\n card,\n expanded,\n footer,\n onImagePreview,\n onAttributeSelected,\n style,\n showAllButtonLabel,\n testID,\n ...viewProps\n}) => {\n const colorScheme = useAppColorScheme();\n const [previewAttributesHeight, setPreviewAttributesHeight] = useState<number>();\n const [fullAttributesHeight, setFullAttributesHeight] = useState<number>();\n const [buttonViewHeight, setButtonViewHeight] = useState<number>();\n\n const [allAttributesRendered, setAllAttributesRendered] = useState<boolean>(\n (attributes && attributes.length <= PREVIEW_ATTRIBUTES_COUNT) || !showAllButtonLabel,\n );\n\n const CaretIcon = expanded ? UpIcon : DownIcon;\n\n const currentHeight = useSharedValue<number | undefined>(undefined);\n\n const previewAttributes = attributes ? attributes.slice(0, PREVIEW_ATTRIBUTES_COUNT) : [];\n const extraAttributes = useMemo(() => (attributes ? attributes.slice(PREVIEW_ATTRIBUTES_COUNT) : []), [attributes]);\n\n useEffect(() => {\n if (!extraAttributes || allAttributesRendered) {\n setButtonViewHeight(0);\n }\n }, [extraAttributes, allAttributesRendered]);\n\n useEffect(() => {\n if (extraAttributes.length === 0) {\n const viewStyle = StyleSheet.flatten([\n styles.allAttributesWrapper,\n footer && styles.allAttributesWrapperWithFooter,\n ]);\n const padding = viewStyle.paddingBottom;\n setFullAttributesHeight(padding);\n }\n }, [extraAttributes, footer]);\n\n useEffect(() => {\n if (previewAttributesHeight === undefined || buttonViewHeight === undefined) {\n return;\n }\n if (allAttributesRendered && fullAttributesHeight === undefined) {\n return;\n }\n\n const additionalAttributesHeight = fullAttributesHeight ?? 0;\n const additionalHeight = allAttributesRendered ? additionalAttributesHeight : buttonViewHeight;\n const newHeight = expanded || !animate ? previewAttributesHeight + additionalHeight : 0;\n\n if (currentHeight.value === undefined || !animate) {\n currentHeight.value = newHeight;\n return;\n }\n\n const duration = !expanded\n ? 250\n : allAttributesRendered\n ? previewAttributes.length * 50\n : extraAttributes.length * 50;\n currentHeight.value = withTiming(newHeight, {\n duration,\n });\n }, [\n allAttributesRendered,\n buttonViewHeight,\n currentHeight,\n animate,\n expanded,\n extraAttributes.length,\n fullAttributesHeight,\n previewAttributes.length,\n previewAttributesHeight,\n ]);\n\n const credentialAttributesStyle = useAnimatedStyle(() => {\n if (currentHeight.value === undefined) {\n if (expanded) {\n return {};\n }\n return {\n height: 0,\n };\n }\n return {\n height: currentHeight.value,\n };\n }, [expanded, currentHeight]);\n\n const onPreviewAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setPreviewAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onFullAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setFullAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onButtonViewLayout = useCallback((event: LayoutChangeEvent) => {\n setButtonViewHeight(event.nativeEvent.layout.height);\n }, []);\n\n const footerView: ReactElement | undefined = useMemo(() => {\n if (!footer) {\n return undefined;\n }\n if (React.isValidElement(footer)) {\n return footer;\n } else {\n const FooterComponent = footer as React.ComponentType<any>;\n return <FooterComponent />;\n }\n }, [footer]);\n\n const { header, ...cardProps } = card;\n\n const renderExtraAttributes =\n allAttributesRendered || (previewAttributesHeight !== undefined && currentHeight.value !== undefined);\n return (\n <View\n style={[styles.detailsCard, { backgroundColor: colorScheme.white }, style]}\n {...viewProps}\n testID={concatTestID(card.testID, expanded ? 'expanded' : 'collapsed')}>\n <CredentialCard\n {...cardProps}\n header={{ ...header, accessory: header.accessory ?? CaretIcon }}\n style={[styles.card, cardProps.style]}\n />\n {previewAttributes.length > 0 && (\n <Animated.View style={[styles.attributesAnimatedWrapper, credentialAttributesStyle]}>\n <View style={styles.attributesWrapper}>\n <View onLayout={onPreviewAttrContentLayout} style={styles.previewAttributesWrapper}>\n {previewAttributes.map((attribute, idx) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && !extraAttributes.length && idx === previewAttributes.length - 1}\n testID={concatTestID(testID, 'attribute', idx.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n {!allAttributesRendered && extraAttributes.length > 0 && (\n <View style={styles.allAttributesWrapper} onLayout={onButtonViewLayout}>\n <Button\n onPress={() => setAllAttributesRendered(true)}\n type={ButtonType.Secondary}\n testID={concatTestID(testID, 'showAllAttributesButton')}\n title={showAllButtonLabel!}\n />\n </View>\n )}\n {renderExtraAttributes && (\n <View\n style={[styles.allAttributesWrapper, footerView && styles.allAttributesWrapperWithFooter]}\n onLayout={onFullAttrContentLayout}>\n {extraAttributes.map((attribute, index, { length }) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && index === length - 1}\n testID={concatTestID(testID, 'attribute', index.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n )}\n </View>\n </Animated.View>\n )}\n {footerView ? <View style={styles.footer}>{footerView}</View> : null}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n allAttributesWrapper: {\n paddingBottom: 12,\n paddingHorizontal: 4,\n width: '100%',\n },\n allAttributesWrapperWithFooter: {\n paddingBottom: 0,\n },\n attributesAnimatedWrapper: {\n overflow: 'hidden',\n },\n attributesWrapper: {\n paddingTop: 7,\n position: 'absolute',\n width: '100%',\n },\n card: {\n borderRadius: 0,\n },\n detailsCard: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n footer: {\n marginTop: 12,\n },\n previewAttributesWrapper: {\n paddingHorizontal: 4,\n width: '100%',\n },\n});\n\nexport default CredentialDetailsCard;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_testID","_buttons","_credential","_colorSchemeContext","_credentialAttributeItem","_interopRequireDefault","_credentialCard","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","PREVIEW_ATTRIBUTES_COUNT","CredentialDetailsCard","animate","attributes","card","expanded","footer","onImagePreview","onAttributeSelected","style","showAllButtonLabel","testID","viewProps","_header$accessory","colorScheme","useAppColorScheme","previewAttributesHeight","setPreviewAttributesHeight","useState","fullAttributesHeight","setFullAttributesHeight","buttonViewHeight","setButtonViewHeight","allAttributesRendered","setAllAttributesRendered","CaretIcon","UpIcon","DownIcon","currentHeight","useSharedValue","undefined","previewAttributes","slice","extraAttributes","useMemo","useEffect","viewStyle","StyleSheet","flatten","styles","allAttributesWrapper","allAttributesWrapperWithFooter","padding","paddingBottom","additionalAttributesHeight","additionalHeight","newHeight","value","duration","withTiming","credentialAttributesStyle","useAnimatedStyle","height","onPreviewAttrContentLayout","useCallback","event","nativeEvent","layout","onFullAttrContentLayout","onButtonViewLayout","footerView","React","isValidElement","FooterComponent","createElement","header","cardProps","renderExtraAttributes","View","detailsCard","backgroundColor","white","concatTestID","accessory","onHeaderPress","attributesAnimatedWrapper","attributesWrapper","onLayout","previewAttributesWrapper","map","attribute","idx","key","id","last","toString","onPress","Button","type","ButtonType","Secondary","title","index","create","paddingHorizontal","width","overflow","paddingTop","position","borderRadius","marginTop","_default","exports"],"sources":["credential-details-card.tsx"],"sourcesContent":["import React, { ComponentType, FC, ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { ImageSourcePropType, LayoutChangeEvent, StyleSheet, View, ViewProps } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nimport { concatTestID } from '../../../utils/testID';\nimport { Button, ButtonType } from '../../buttons';\nimport { DownIcon, UpIcon } from '../../icons/credential';\nimport { useAppColorScheme } from '../../theme/color-scheme-context';\nimport CredentialAttributeItem, { CredentialAttribute } from '../credential-attribute-item';\nimport CredentialCard, { CredentialCardProps } from './credential-card';\n\nexport type CredentialDetailsCardProps = ViewProps & {\n animate?: boolean;\n attributes: CredentialAttribute[] | false;\n card: CredentialCardProps;\n expanded?: boolean;\n footer?: ComponentType<any> | ReactElement;\n onImagePreview?: (name: string, image: ImageSourcePropType) => void;\n onAttributeSelected?: (id: string, selected: boolean) => void;\n showAllButtonLabel?: string;\n};\n\nconst PREVIEW_ATTRIBUTES_COUNT = 3;\n\nconst CredentialDetailsCard: FC<CredentialDetailsCardProps> = ({\n animate = true,\n attributes,\n card,\n expanded,\n footer,\n onImagePreview,\n onAttributeSelected,\n style,\n showAllButtonLabel,\n testID,\n ...viewProps\n}) => {\n const colorScheme = useAppColorScheme();\n const [previewAttributesHeight, setPreviewAttributesHeight] = useState<number>();\n const [fullAttributesHeight, setFullAttributesHeight] = useState<number>();\n const [buttonViewHeight, setButtonViewHeight] = useState<number>();\n\n const [allAttributesRendered, setAllAttributesRendered] = useState<boolean>(\n (attributes && attributes.length <= PREVIEW_ATTRIBUTES_COUNT) || !showAllButtonLabel,\n );\n\n const CaretIcon = expanded ? UpIcon : DownIcon;\n\n const currentHeight = useSharedValue<number | undefined>(undefined);\n\n const previewAttributes = attributes ? attributes.slice(0, PREVIEW_ATTRIBUTES_COUNT) : [];\n const extraAttributes = useMemo(() => (attributes ? attributes.slice(PREVIEW_ATTRIBUTES_COUNT) : []), [attributes]);\n\n useEffect(() => {\n if (!extraAttributes || allAttributesRendered) {\n setButtonViewHeight(0);\n }\n }, [extraAttributes, allAttributesRendered]);\n\n useEffect(() => {\n if (extraAttributes.length === 0) {\n const viewStyle = StyleSheet.flatten([\n styles.allAttributesWrapper,\n footer && styles.allAttributesWrapperWithFooter,\n ]);\n const padding = viewStyle.paddingBottom;\n setFullAttributesHeight(padding);\n }\n }, [extraAttributes, footer]);\n\n useEffect(() => {\n if (previewAttributesHeight === undefined || buttonViewHeight === undefined) {\n return;\n }\n if (allAttributesRendered && fullAttributesHeight === undefined) {\n return;\n }\n\n const additionalAttributesHeight = fullAttributesHeight ?? 0;\n const additionalHeight = allAttributesRendered ? additionalAttributesHeight : buttonViewHeight;\n const newHeight = expanded || !animate ? previewAttributesHeight + additionalHeight : 0;\n\n if (currentHeight.value === undefined || !animate) {\n currentHeight.value = newHeight;\n return;\n }\n\n const duration = !expanded\n ? 250\n : allAttributesRendered\n ? previewAttributes.length * 50\n : extraAttributes.length * 50;\n currentHeight.value = withTiming(newHeight, {\n duration,\n });\n }, [\n allAttributesRendered,\n buttonViewHeight,\n currentHeight,\n animate,\n expanded,\n extraAttributes.length,\n fullAttributesHeight,\n previewAttributes.length,\n previewAttributesHeight,\n ]);\n\n const credentialAttributesStyle = useAnimatedStyle(() => {\n if (currentHeight.value === undefined) {\n if (expanded) {\n return {};\n }\n return {\n height: 0,\n };\n }\n return {\n height: currentHeight.value,\n };\n }, [expanded, currentHeight]);\n\n const onPreviewAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setPreviewAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onFullAttrContentLayout = useCallback((event: LayoutChangeEvent) => {\n setFullAttributesHeight(event.nativeEvent.layout.height);\n }, []);\n\n const onButtonViewLayout = useCallback((event: LayoutChangeEvent) => {\n setButtonViewHeight(event.nativeEvent.layout.height);\n }, []);\n\n const footerView: ReactElement | undefined = useMemo(() => {\n if (!footer) {\n return undefined;\n }\n if (React.isValidElement(footer)) {\n return footer;\n } else {\n const FooterComponent = footer as React.ComponentType<any>;\n return <FooterComponent />;\n }\n }, [footer]);\n\n const { header, ...cardProps } = card;\n\n const renderExtraAttributes =\n allAttributesRendered || (previewAttributesHeight !== undefined && currentHeight.value !== undefined);\n return (\n <View\n style={[styles.detailsCard, { backgroundColor: colorScheme.white }, style]}\n {...viewProps}\n testID={concatTestID(card.testID, expanded ? 'expanded' : 'collapsed')}>\n <CredentialCard\n {...cardProps}\n header={{ ...header, accessory: header.accessory ?? (cardProps.onHeaderPress ? CaretIcon : undefined) }}\n style={[styles.card, cardProps.style]}\n />\n {previewAttributes.length > 0 && (\n <Animated.View style={[styles.attributesAnimatedWrapper, credentialAttributesStyle]}>\n <View style={styles.attributesWrapper}>\n <View onLayout={onPreviewAttrContentLayout} style={styles.previewAttributesWrapper}>\n {previewAttributes.map((attribute, idx) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && !extraAttributes.length && idx === previewAttributes.length - 1}\n testID={concatTestID(testID, 'attribute', idx.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n {!allAttributesRendered && extraAttributes.length > 0 && (\n <View style={styles.allAttributesWrapper} onLayout={onButtonViewLayout}>\n <Button\n onPress={() => setAllAttributesRendered(true)}\n type={ButtonType.Secondary}\n testID={concatTestID(testID, 'showAllAttributesButton')}\n title={showAllButtonLabel!}\n />\n </View>\n )}\n {renderExtraAttributes && (\n <View\n style={[styles.allAttributesWrapper, footerView && styles.allAttributesWrapperWithFooter]}\n onLayout={onFullAttrContentLayout}>\n {extraAttributes.map((attribute, index, { length }) => (\n <CredentialAttributeItem\n key={attribute.id}\n last={!footerView && index === length - 1}\n testID={concatTestID(testID, 'attribute', index.toString())}\n onImagePreview={onImagePreview}\n onPress={onAttributeSelected}\n {...attribute}\n />\n ))}\n </View>\n )}\n </View>\n </Animated.View>\n )}\n {footerView ? <View style={styles.footer}>{footerView}</View> : null}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n allAttributesWrapper: {\n paddingBottom: 12,\n paddingHorizontal: 4,\n width: '100%',\n },\n allAttributesWrapperWithFooter: {\n paddingBottom: 0,\n },\n attributesAnimatedWrapper: {\n overflow: 'hidden',\n },\n attributesWrapper: {\n paddingTop: 7,\n position: 'absolute',\n width: '100%',\n },\n card: {\n borderRadius: 0,\n },\n detailsCard: {\n borderRadius: 10,\n overflow: 'hidden',\n },\n footer: {\n marginTop: 12,\n },\n previewAttributesWrapper: {\n paddingHorizontal: 4,\n width: '100%',\n },\n});\n\nexport default CredentialDetailsCard;\n"],"mappings":"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","ignoreList":[]}
@@ -60,16 +60,23 @@ exports.Barcode = Barcode;
60
60
  const QrCode = ({
61
61
  content,
62
62
  padding,
63
- testID
63
+ testID,
64
+ onError
64
65
  }) => {
65
66
  const qrCodeXml = (0, _react.useMemo)(() => {
66
- return new _qrcodeSvg.default({
67
- container: 'svg-viewbox',
68
- content,
69
- join: true,
70
- padding: padding !== null && padding !== void 0 ? padding : 1
71
- }).svg();
72
- }, [content, padding]);
67
+ try {
68
+ return new _qrcodeSvg.default({
69
+ container: 'svg-viewbox',
70
+ content,
71
+ ecl: 'L',
72
+ join: true,
73
+ padding: padding !== null && padding !== void 0 ? padding : 1
74
+ }).svg();
75
+ } catch (err) {
76
+ onError && onError(err instanceof Error ? err.message : 'Unknown error occurred.');
77
+ return null;
78
+ }
79
+ }, [content, onError, padding]);
73
80
  return /*#__PURE__*/_react.default.createElement(_reactNativeSvg.SvgXml, {
74
81
  height: '100%',
75
82
  testID: testID,
@@ -1 +1 @@
1
- {"version":3,"names":["_pureSvgCode","require","_qrcodeSvg","_interopRequireDefault","_react","_interopRequireWildcard","_reactNative","_reactNativeSvg","_typography","_colorSchemeContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styles","StyleSheet","create","barcodeBackground","alignSelf","backgroundColor","borderRadius","barcodeContent","margin","container","flex","justifyContent","mrzBackground","paddingHorizontal","Barcode","content","width","height","testID","colorScheme","useAppColorScheme","barcodeXml","useMemo","barcode","barHeight","bgColor","white","createElement","View","style","SvgXml","xml","exports","QrCode","padding","qrCodeXml","QRCode","join","svg","Mrz","color","text","preset"],"sources":["credential-carousel-images.tsx"],"sourcesContent":["import { barcode } from 'pure-svg-code';\nimport QRCode from 'qrcode-svg';\nimport React, { FC, useMemo } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { SvgXml } from 'react-native-svg';\n\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\nconst styles = StyleSheet.create({\n barcodeBackground: {\n alignSelf: 'center',\n backgroundColor: 'white',\n borderRadius: 5,\n },\n barcodeContent: {\n margin: 12,\n },\n container: {\n flex: 1,\n justifyContent: 'center',\n },\n mrzBackground: {\n backgroundColor: 'white',\n paddingHorizontal: 12,\n },\n});\n\ntype BarcodeProps = {\n content: string;\n height?: number;\n testID?: string;\n width?: number;\n};\n\nexport const Barcode: FC<BarcodeProps> = ({ content, width = 220, height = 80, testID }) => {\n const colorScheme = useAppColorScheme();\n const barcodeXml = useMemo(\n () =>\n barcode(content, 'code128', {\n barHeight: height,\n bgColor: colorScheme.white,\n width: width,\n }),\n [content, colorScheme, height, width],\n );\n\n return (\n <View style={styles.container}>\n <View style={styles.barcodeBackground}>\n <SvgXml\n height={height}\n style={[styles.barcodeBackground, styles.barcodeContent]}\n testID={testID}\n width={width}\n xml={barcodeXml}\n />\n </View>\n </View>\n );\n};\n\ntype QrCodeProps = {\n content: string;\n padding?: number;\n testID?: string;\n};\n\nexport const QrCode: FC<QrCodeProps> = ({ content, padding, testID }) => {\n const qrCodeXml = useMemo(() => {\n return new QRCode({\n container: 'svg-viewbox',\n content,\n join: true,\n padding: padding ?? 1,\n }).svg();\n }, [content, padding]);\n return <SvgXml height={'100%'} testID={testID} width={'100%'} xml={qrCodeXml} />;\n};\n\nexport const Mrz: FC<{ content: string; testID?: string }> = ({ content, testID }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.container, styles.mrzBackground]}>\n <Typography color={colorScheme.text} preset={'s/code'} testID={testID}>\n {content}\n </Typography>\n </View>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pureSvgCode","require","_qrcodeSvg","_interopRequireDefault","_react","_interopRequireWildcard","_reactNative","_reactNativeSvg","_typography","_colorSchemeContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styles","StyleSheet","create","barcodeBackground","alignSelf","backgroundColor","borderRadius","barcodeContent","margin","container","flex","justifyContent","mrzBackground","paddingHorizontal","Barcode","content","width","height","testID","colorScheme","useAppColorScheme","barcodeXml","useMemo","barcode","barHeight","bgColor","white","createElement","View","style","SvgXml","xml","exports","QrCode","padding","onError","qrCodeXml","QRCode","ecl","join","svg","err","Error","message","Mrz","color","text","preset"],"sources":["credential-carousel-images.tsx"],"sourcesContent":["import { barcode } from 'pure-svg-code';\nimport QRCode from 'qrcode-svg';\nimport React, { FC, useMemo } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { SvgXml } from 'react-native-svg';\n\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\n\nconst styles = StyleSheet.create({\n barcodeBackground: {\n alignSelf: 'center',\n backgroundColor: 'white',\n borderRadius: 5,\n },\n barcodeContent: {\n margin: 12,\n },\n container: {\n flex: 1,\n justifyContent: 'center',\n },\n mrzBackground: {\n backgroundColor: 'white',\n paddingHorizontal: 12,\n },\n});\n\ntype BarcodeProps = {\n content: string;\n height?: number;\n testID?: string;\n width?: number;\n};\n\nexport const Barcode: FC<BarcodeProps> = ({ content, width = 220, height = 80, testID }) => {\n const colorScheme = useAppColorScheme();\n const barcodeXml = useMemo(\n () =>\n barcode(content, 'code128', {\n barHeight: height,\n bgColor: colorScheme.white,\n width: width,\n }),\n [content, colorScheme, height, width],\n );\n\n return (\n <View style={styles.container}>\n <View style={styles.barcodeBackground}>\n <SvgXml\n height={height}\n style={[styles.barcodeBackground, styles.barcodeContent]}\n testID={testID}\n width={width}\n xml={barcodeXml}\n />\n </View>\n </View>\n );\n};\n\ntype QrCodeProps = {\n content: string;\n padding?: number;\n testID?: string;\n onError?: (err: string) => void;\n};\n\nexport const QrCode: FC<QrCodeProps> = ({ content, padding, testID, onError }) => {\n const qrCodeXml = useMemo(() => {\n try {\n return new QRCode({\n container: 'svg-viewbox',\n content,\n ecl: 'L',\n join: true,\n padding: padding ?? 1,\n }).svg();\n } catch (err) {\n onError && onError(err instanceof Error ? err.message : 'Unknown error occurred.');\n return null;\n }\n }, [content, onError, padding]);\n return <SvgXml height={'100%'} testID={testID} width={'100%'} xml={qrCodeXml} />;\n};\n\nexport const Mrz: FC<{ content: string; testID?: string }> = ({ content, testID }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.container, styles.mrzBackground]}>\n <Typography color={colorScheme.text} preset={'s/code'} testID={testID}>\n {content}\n </Typography>\n </View>\n );\n};\n"],"mappings":"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","ignoreList":[]}