@procivis/one-react-native-components 0.1.63

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 (767) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +66 -0
  3. package/lib/commonjs/accessibility/accessibility.js +193 -0
  4. package/lib/commonjs/accessibility/accessibility.js.map +1 -0
  5. package/lib/commonjs/accessibility/accessibilityHistory.js +81 -0
  6. package/lib/commonjs/accessibility/accessibilityHistory.js.map +1 -0
  7. package/lib/commonjs/accessibility/accessibilityHistoryWrappers.js +49 -0
  8. package/lib/commonjs/accessibility/accessibilityHistoryWrappers.js.map +1 -0
  9. package/lib/commonjs/accessibility/accessibilityLanguage.js +63 -0
  10. package/lib/commonjs/accessibility/accessibilityLanguage.js.map +1 -0
  11. package/lib/commonjs/accessibility/index.js +129 -0
  12. package/lib/commonjs/accessibility/index.js.map +1 -0
  13. package/lib/commonjs/accessibility/locale/de.json +21 -0
  14. package/lib/commonjs/accessibility/locale/en.json +21 -0
  15. package/lib/commonjs/accessibility/locale/fr.json +21 -0
  16. package/lib/commonjs/accessibility/locale/index.js +21 -0
  17. package/lib/commonjs/accessibility/locale/index.js.map +1 -0
  18. package/lib/commonjs/accessibility/locale/it.json +21 -0
  19. package/lib/commonjs/accessibility/locale.test.js +15 -0
  20. package/lib/commonjs/accessibility/locale.test.js.map +1 -0
  21. package/lib/commonjs/action-modal/ActionModal.js +52 -0
  22. package/lib/commonjs/action-modal/ActionModal.js.map +1 -0
  23. package/lib/commonjs/action-modal/index.js +14 -0
  24. package/lib/commonjs/action-modal/index.js.map +1 -0
  25. package/lib/commonjs/activity-indicator/activity-indicator.js +34 -0
  26. package/lib/commonjs/activity-indicator/activity-indicator.js.map +1 -0
  27. package/lib/commonjs/activity-indicator/index.js +14 -0
  28. package/lib/commonjs/activity-indicator/index.js.map +1 -0
  29. package/lib/commonjs/blur/blur-view.js +76 -0
  30. package/lib/commonjs/blur/blur-view.js.map +1 -0
  31. package/lib/commonjs/blur/index.js +21 -0
  32. package/lib/commonjs/blur/index.js.map +1 -0
  33. package/lib/commonjs/buttons/back-button.js +37 -0
  34. package/lib/commonjs/buttons/back-button.js.map +1 -0
  35. package/lib/commonjs/buttons/button.js +153 -0
  36. package/lib/commonjs/buttons/button.js.map +1 -0
  37. package/lib/commonjs/buttons/connectivity-button.js +82 -0
  38. package/lib/commonjs/buttons/connectivity-button.js.map +1 -0
  39. package/lib/commonjs/buttons/filter-button.js +51 -0
  40. package/lib/commonjs/buttons/filter-button.js.map +1 -0
  41. package/lib/commonjs/buttons/ghost-button.js +62 -0
  42. package/lib/commonjs/buttons/ghost-button.js.map +1 -0
  43. package/lib/commonjs/buttons/index.js +104 -0
  44. package/lib/commonjs/buttons/index.js.map +1 -0
  45. package/lib/commonjs/buttons/scan-button.js +83 -0
  46. package/lib/commonjs/buttons/scan-button.js.map +1 -0
  47. package/lib/commonjs/camera/camera-overlay.js +61 -0
  48. package/lib/commonjs/camera/camera-overlay.js.map +1 -0
  49. package/lib/commonjs/camera/index.js +21 -0
  50. package/lib/commonjs/camera/index.js.map +1 -0
  51. package/lib/commonjs/camera/qr-code-scanner.js +50 -0
  52. package/lib/commonjs/camera/qr-code-scanner.js.map +1 -0
  53. package/lib/commonjs/control/checkbox.js +79 -0
  54. package/lib/commonjs/control/checkbox.js.map +1 -0
  55. package/lib/commonjs/control/index.js +32 -0
  56. package/lib/commonjs/control/index.js.map +1 -0
  57. package/lib/commonjs/control/switch.js +65 -0
  58. package/lib/commonjs/control/switch.js.map +1 -0
  59. package/lib/commonjs/credential/card/credential-card.js +189 -0
  60. package/lib/commonjs/credential/card/credential-card.js.map +1 -0
  61. package/lib/commonjs/credential/card/credential-details-card.js +201 -0
  62. package/lib/commonjs/credential/card/credential-details-card.js.map +1 -0
  63. package/lib/commonjs/credential/card/credential-details-list-item.js +84 -0
  64. package/lib/commonjs/credential/card/credential-details-list-item.js.map +1 -0
  65. package/lib/commonjs/credential/card/credential-header.js +172 -0
  66. package/lib/commonjs/credential/card/credential-header.js.map +1 -0
  67. package/lib/commonjs/credential/card/credential-image-carousel.js +124 -0
  68. package/lib/commonjs/credential/card/credential-image-carousel.js.map +1 -0
  69. package/lib/commonjs/credential/card/index.js +85 -0
  70. package/lib/commonjs/credential/card/index.js.map +1 -0
  71. package/lib/commonjs/credential/credential-attribute-item.js +289 -0
  72. package/lib/commonjs/credential/credential-attribute-item.js.map +1 -0
  73. package/lib/commonjs/credential/credential-carousel-images.js +98 -0
  74. package/lib/commonjs/credential/credential-carousel-images.js.map +1 -0
  75. package/lib/commonjs/credential/index.js +90 -0
  76. package/lib/commonjs/credential/index.js.map +1 -0
  77. package/lib/commonjs/credential/selector-status.js +17 -0
  78. package/lib/commonjs/credential/selector-status.js.map +1 -0
  79. package/lib/commonjs/credential/selector.js +79 -0
  80. package/lib/commonjs/credential/selector.js.map +1 -0
  81. package/lib/commonjs/detail/detail.js +84 -0
  82. package/lib/commonjs/detail/detail.js.map +1 -0
  83. package/lib/commonjs/detail/index.js +14 -0
  84. package/lib/commonjs/detail/index.js.map +1 -0
  85. package/lib/commonjs/entity/avatar.js +96 -0
  86. package/lib/commonjs/entity/avatar.js.map +1 -0
  87. package/lib/commonjs/entity/entity-cluster.js +66 -0
  88. package/lib/commonjs/entity/entity-cluster.js.map +1 -0
  89. package/lib/commonjs/entity/index.js +34 -0
  90. package/lib/commonjs/entity/index.js.map +1 -0
  91. package/lib/commonjs/header/focus-aware-status-bar.js +20 -0
  92. package/lib/commonjs/header/focus-aware-status-bar.js.map +1 -0
  93. package/lib/commonjs/header/foldable-header.js +89 -0
  94. package/lib/commonjs/header/foldable-header.js.map +1 -0
  95. package/lib/commonjs/header/header.js +105 -0
  96. package/lib/commonjs/header/header.js.map +1 -0
  97. package/lib/commonjs/header/index.js +55 -0
  98. package/lib/commonjs/header/index.js.map +1 -0
  99. package/lib/commonjs/header/navigation-header.js +148 -0
  100. package/lib/commonjs/header/navigation-header.js.map +1 -0
  101. package/lib/commonjs/history/data-item.js +70 -0
  102. package/lib/commonjs/history/data-item.js.map +1 -0
  103. package/lib/commonjs/history/history-list-item.js +90 -0
  104. package/lib/commonjs/history/history-list-item.js.map +1 -0
  105. package/lib/commonjs/history/history-section-header.js +49 -0
  106. package/lib/commonjs/history/history-section-header.js.map +1 -0
  107. package/lib/commonjs/history/history-section-list-item.js +47 -0
  108. package/lib/commonjs/history/history-section-list-item.js.map +1 -0
  109. package/lib/commonjs/history/index.js +55 -0
  110. package/lib/commonjs/history/index.js.map +1 -0
  111. package/lib/commonjs/icons/connectivity.js +139 -0
  112. package/lib/commonjs/icons/connectivity.js.map +1 -0
  113. package/lib/commonjs/icons/credential.js +162 -0
  114. package/lib/commonjs/icons/credential.js.map +1 -0
  115. package/lib/commonjs/icons/entity.js +34 -0
  116. package/lib/commonjs/icons/entity.js.map +1 -0
  117. package/lib/commonjs/icons/history.js +408 -0
  118. package/lib/commonjs/icons/history.js.map +1 -0
  119. package/lib/commonjs/icons/icons.js +250 -0
  120. package/lib/commonjs/icons/icons.js.map +1 -0
  121. package/lib/commonjs/icons/index.js +127 -0
  122. package/lib/commonjs/icons/index.js.map +1 -0
  123. package/lib/commonjs/icons/input.js +44 -0
  124. package/lib/commonjs/icons/input.js.map +1 -0
  125. package/lib/commonjs/icons/keypad.js +94 -0
  126. package/lib/commonjs/icons/keypad.js.map +1 -0
  127. package/lib/commonjs/icons/loader.js +180 -0
  128. package/lib/commonjs/icons/loader.js.map +1 -0
  129. package/lib/commonjs/icons/nerd-view.js +123 -0
  130. package/lib/commonjs/icons/nerd-view.js.map +1 -0
  131. package/lib/commonjs/icons/selector.js +56 -0
  132. package/lib/commonjs/icons/selector.js.map +1 -0
  133. package/lib/commonjs/icons/wallet.js +121 -0
  134. package/lib/commonjs/icons/wallet.js.map +1 -0
  135. package/lib/commonjs/image/image-or-component.js +80 -0
  136. package/lib/commonjs/image/image-or-component.js.map +1 -0
  137. package/lib/commonjs/image/index.js +21 -0
  138. package/lib/commonjs/image/index.js.map +1 -0
  139. package/lib/commonjs/index.js +292 -0
  140. package/lib/commonjs/index.js.map +1 -0
  141. package/lib/commonjs/input/index.js +65 -0
  142. package/lib/commonjs/input/index.js.map +1 -0
  143. package/lib/commonjs/input/radio-group.js +95 -0
  144. package/lib/commonjs/input/radio-group.js.map +1 -0
  145. package/lib/commonjs/input/selection-input.js +102 -0
  146. package/lib/commonjs/input/selection-input.js.map +1 -0
  147. package/lib/commonjs/input/text-input.js +195 -0
  148. package/lib/commonjs/input/text-input.js.map +1 -0
  149. package/lib/commonjs/list/index.js +34 -0
  150. package/lib/commonjs/list/index.js.map +1 -0
  151. package/lib/commonjs/list/list-section-header.js +36 -0
  152. package/lib/commonjs/list/list-section-header.js.map +1 -0
  153. package/lib/commonjs/list/list-title-header.js +35 -0
  154. package/lib/commonjs/list/list-title-header.js.map +1 -0
  155. package/lib/commonjs/loader/index.js +40 -0
  156. package/lib/commonjs/loader/index.js.map +1 -0
  157. package/lib/commonjs/loader/loader.js +140 -0
  158. package/lib/commonjs/loader/loader.js.map +1 -0
  159. package/lib/commonjs/loader/loading-result.js +92 -0
  160. package/lib/commonjs/loader/loading-result.js.map +1 -0
  161. package/lib/commonjs/nerd-view/index.js +27 -0
  162. package/lib/commonjs/nerd-view/index.js.map +1 -0
  163. package/lib/commonjs/nerd-view/nerd-mode-item.js +235 -0
  164. package/lib/commonjs/nerd-view/nerd-mode-item.js.map +1 -0
  165. package/lib/commonjs/normalize-color.d.js +2 -0
  166. package/lib/commonjs/normalize-color.d.js.map +1 -0
  167. package/lib/commonjs/pin/index.js +32 -0
  168. package/lib/commonjs/pin/index.js.map +1 -0
  169. package/lib/commonjs/pin/keypad.js +201 -0
  170. package/lib/commonjs/pin/keypad.js.map +1 -0
  171. package/lib/commonjs/pin/pin-code-screen.js +162 -0
  172. package/lib/commonjs/pin/pin-code-screen.js.map +1 -0
  173. package/lib/commonjs/pin/pins.js +54 -0
  174. package/lib/commonjs/pin/pins.js.map +1 -0
  175. package/lib/commonjs/screens/backup-screen.js +87 -0
  176. package/lib/commonjs/screens/backup-screen.js.map +1 -0
  177. package/lib/commonjs/screens/image-preview-screen.js +92 -0
  178. package/lib/commonjs/screens/image-preview-screen.js.map +1 -0
  179. package/lib/commonjs/screens/index.js +98 -0
  180. package/lib/commonjs/screens/index.js.map +1 -0
  181. package/lib/commonjs/screens/nerd-mode-screen.js +142 -0
  182. package/lib/commonjs/screens/nerd-mode-screen.js.map +1 -0
  183. package/lib/commonjs/screens/qr-code-scanner-screen.js +120 -0
  184. package/lib/commonjs/screens/qr-code-scanner-screen.js.map +1 -0
  185. package/lib/commonjs/screens/scroll-view-screen.js +94 -0
  186. package/lib/commonjs/screens/scroll-view-screen.js.map +1 -0
  187. package/lib/commonjs/screens/section-list-screen.js +67 -0
  188. package/lib/commonjs/screens/section-list-screen.js.map +1 -0
  189. package/lib/commonjs/searchbar/animated-search-bar.js +88 -0
  190. package/lib/commonjs/searchbar/animated-search-bar.js.map +1 -0
  191. package/lib/commonjs/searchbar/index.js +34 -0
  192. package/lib/commonjs/searchbar/index.js.map +1 -0
  193. package/lib/commonjs/searchbar/search-bar.js +99 -0
  194. package/lib/commonjs/searchbar/search-bar.js.map +1 -0
  195. package/lib/commonjs/settings/button-setting.js +67 -0
  196. package/lib/commonjs/settings/button-setting.js.map +1 -0
  197. package/lib/commonjs/settings/index.js +73 -0
  198. package/lib/commonjs/settings/index.js.map +1 -0
  199. package/lib/commonjs/settings/setting-item-separator.js +40 -0
  200. package/lib/commonjs/settings/setting-item-separator.js.map +1 -0
  201. package/lib/commonjs/settings/setting-item.js +79 -0
  202. package/lib/commonjs/settings/setting-item.js.map +1 -0
  203. package/lib/commonjs/settings/settings-button.js +35 -0
  204. package/lib/commonjs/settings/settings-button.js.map +1 -0
  205. package/lib/commonjs/settings/switch-setting.js +35 -0
  206. package/lib/commonjs/settings/switch-setting.js.map +1 -0
  207. package/lib/commonjs/state/error-screen.js +71 -0
  208. package/lib/commonjs/state/error-screen.js.map +1 -0
  209. package/lib/commonjs/state/index.js +27 -0
  210. package/lib/commonjs/state/index.js.map +1 -0
  211. package/lib/commonjs/text/base.js +40 -0
  212. package/lib/commonjs/text/base.js.map +1 -0
  213. package/lib/commonjs/text/font.js +64 -0
  214. package/lib/commonjs/text/font.js.map +1 -0
  215. package/lib/commonjs/text/index.js +21 -0
  216. package/lib/commonjs/text/index.js.map +1 -0
  217. package/lib/commonjs/text/typography.js +119 -0
  218. package/lib/commonjs/text/typography.js.map +1 -0
  219. package/lib/commonjs/theme/color-scheme-context.js +52 -0
  220. package/lib/commonjs/theme/color-scheme-context.js.map +1 -0
  221. package/lib/commonjs/theme/color-scheme.js +2 -0
  222. package/lib/commonjs/theme/color-scheme.js.map +1 -0
  223. package/lib/commonjs/theme/index.js +19 -0
  224. package/lib/commonjs/theme/index.js.map +1 -0
  225. package/lib/commonjs/utils/color.js +34 -0
  226. package/lib/commonjs/utils/color.js.map +1 -0
  227. package/lib/commonjs/utils/contrasting-status-bar.js +30 -0
  228. package/lib/commonjs/utils/contrasting-status-bar.js.map +1 -0
  229. package/lib/commonjs/utils/date.js +57 -0
  230. package/lib/commonjs/utils/date.js.map +1 -0
  231. package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js +21 -0
  232. package/lib/commonjs/utils/hooks/header/on-scroll-header-state.js.map +1 -0
  233. package/lib/commonjs/utils/hooks/index.js +20 -0
  234. package/lib/commonjs/utils/hooks/index.js.map +1 -0
  235. package/lib/commonjs/utils/hooks/list/list-content-inset.js +31 -0
  236. package/lib/commonjs/utils/hooks/list/list-content-inset.js.map +1 -0
  237. package/lib/commonjs/utils/index.js +83 -0
  238. package/lib/commonjs/utils/index.js.map +1 -0
  239. package/lib/commonjs/utils/navigation.js +51 -0
  240. package/lib/commonjs/utils/navigation.js.map +1 -0
  241. package/lib/commonjs/utils/ref.js +42 -0
  242. package/lib/commonjs/utils/ref.js.map +1 -0
  243. package/lib/commonjs/utils/testID.js +18 -0
  244. package/lib/commonjs/utils/testID.js.map +1 -0
  245. package/lib/commonjs/utils/testID.test.js +21 -0
  246. package/lib/commonjs/utils/testID.test.js.map +1 -0
  247. package/lib/commonjs/utils/useMemoAsync.js +26 -0
  248. package/lib/commonjs/utils/useMemoAsync.js.map +1 -0
  249. package/lib/module/accessibility/accessibility.js +185 -0
  250. package/lib/module/accessibility/accessibility.js.map +1 -0
  251. package/lib/module/accessibility/accessibilityHistory.js +71 -0
  252. package/lib/module/accessibility/accessibilityHistory.js.map +1 -0
  253. package/lib/module/accessibility/accessibilityHistoryWrappers.js +38 -0
  254. package/lib/module/accessibility/accessibilityHistoryWrappers.js.map +1 -0
  255. package/lib/module/accessibility/accessibilityLanguage.js +53 -0
  256. package/lib/module/accessibility/accessibilityLanguage.js.map +1 -0
  257. package/lib/module/accessibility/index.js +8 -0
  258. package/lib/module/accessibility/index.js.map +1 -0
  259. package/lib/module/accessibility/locale/de.json +21 -0
  260. package/lib/module/accessibility/locale/en.json +21 -0
  261. package/lib/module/accessibility/locale/fr.json +21 -0
  262. package/lib/module/accessibility/locale/index.js +12 -0
  263. package/lib/module/accessibility/locale/index.js.map +1 -0
  264. package/lib/module/accessibility/locale/it.json +21 -0
  265. package/lib/module/accessibility/locale.test.js +13 -0
  266. package/lib/module/accessibility/locale.test.js.map +1 -0
  267. package/lib/module/action-modal/ActionModal.js +44 -0
  268. package/lib/module/action-modal/ActionModal.js.map +1 -0
  269. package/lib/module/action-modal/index.js +3 -0
  270. package/lib/module/action-modal/index.js.map +1 -0
  271. package/lib/module/activity-indicator/activity-indicator.js +24 -0
  272. package/lib/module/activity-indicator/activity-indicator.js.map +1 -0
  273. package/lib/module/activity-indicator/index.js +3 -0
  274. package/lib/module/activity-indicator/index.js.map +1 -0
  275. package/lib/module/blur/blur-view.js +67 -0
  276. package/lib/module/blur/blur-view.js.map +1 -0
  277. package/lib/module/blur/index.js +3 -0
  278. package/lib/module/blur/index.js.map +1 -0
  279. package/lib/module/buttons/back-button.js +28 -0
  280. package/lib/module/buttons/back-button.js.map +1 -0
  281. package/lib/module/buttons/button.js +143 -0
  282. package/lib/module/buttons/button.js.map +1 -0
  283. package/lib/module/buttons/connectivity-button.js +73 -0
  284. package/lib/module/buttons/connectivity-button.js.map +1 -0
  285. package/lib/module/buttons/filter-button.js +43 -0
  286. package/lib/module/buttons/filter-button.js.map +1 -0
  287. package/lib/module/buttons/ghost-button.js +53 -0
  288. package/lib/module/buttons/ghost-button.js.map +1 -0
  289. package/lib/module/buttons/index.js +8 -0
  290. package/lib/module/buttons/index.js.map +1 -0
  291. package/lib/module/buttons/scan-button.js +75 -0
  292. package/lib/module/buttons/scan-button.js.map +1 -0
  293. package/lib/module/camera/camera-overlay.js +51 -0
  294. package/lib/module/camera/camera-overlay.js.map +1 -0
  295. package/lib/module/camera/index.js +3 -0
  296. package/lib/module/camera/index.js.map +1 -0
  297. package/lib/module/camera/qr-code-scanner.js +40 -0
  298. package/lib/module/camera/qr-code-scanner.js.map +1 -0
  299. package/lib/module/control/checkbox.js +70 -0
  300. package/lib/module/control/checkbox.js.map +1 -0
  301. package/lib/module/control/index.js +4 -0
  302. package/lib/module/control/index.js.map +1 -0
  303. package/lib/module/control/switch.js +56 -0
  304. package/lib/module/control/switch.js.map +1 -0
  305. package/lib/module/credential/card/credential-card.js +177 -0
  306. package/lib/module/credential/card/credential-card.js.map +1 -0
  307. package/lib/module/credential/card/credential-details-card.js +191 -0
  308. package/lib/module/credential/card/credential-details-card.js.map +1 -0
  309. package/lib/module/credential/card/credential-details-list-item.js +74 -0
  310. package/lib/module/credential/card/credential-details-list-item.js.map +1 -0
  311. package/lib/module/credential/card/credential-header.js +162 -0
  312. package/lib/module/credential/card/credential-header.js.map +1 -0
  313. package/lib/module/credential/card/credential-image-carousel.js +113 -0
  314. package/lib/module/credential/card/credential-image-carousel.js.map +1 -0
  315. package/lib/module/credential/card/index.js +11 -0
  316. package/lib/module/credential/card/index.js.map +1 -0
  317. package/lib/module/credential/credential-attribute-item.js +279 -0
  318. package/lib/module/credential/credential-attribute-item.js.map +1 -0
  319. package/lib/module/credential/credential-carousel-images.js +86 -0
  320. package/lib/module/credential/credential-carousel-images.js.map +1 -0
  321. package/lib/module/credential/index.js +9 -0
  322. package/lib/module/credential/index.js.map +1 -0
  323. package/lib/module/credential/selector-status.js +10 -0
  324. package/lib/module/credential/selector-status.js.map +1 -0
  325. package/lib/module/credential/selector.js +70 -0
  326. package/lib/module/credential/selector.js.map +1 -0
  327. package/lib/module/detail/detail.js +75 -0
  328. package/lib/module/detail/detail.js.map +1 -0
  329. package/lib/module/detail/index.js +3 -0
  330. package/lib/module/detail/index.js.map +1 -0
  331. package/lib/module/entity/avatar.js +86 -0
  332. package/lib/module/entity/avatar.js.map +1 -0
  333. package/lib/module/entity/entity-cluster.js +56 -0
  334. package/lib/module/entity/entity-cluster.js.map +1 -0
  335. package/lib/module/entity/index.js +5 -0
  336. package/lib/module/entity/index.js.map +1 -0
  337. package/lib/module/header/focus-aware-status-bar.js +12 -0
  338. package/lib/module/header/focus-aware-status-bar.js.map +1 -0
  339. package/lib/module/header/foldable-header.js +79 -0
  340. package/lib/module/header/foldable-header.js.map +1 -0
  341. package/lib/module/header/header.js +97 -0
  342. package/lib/module/header/header.js.map +1 -0
  343. package/lib/module/header/index.js +9 -0
  344. package/lib/module/header/index.js.map +1 -0
  345. package/lib/module/header/navigation-header.js +138 -0
  346. package/lib/module/header/navigation-header.js.map +1 -0
  347. package/lib/module/history/data-item.js +60 -0
  348. package/lib/module/history/data-item.js.map +1 -0
  349. package/lib/module/history/history-list-item.js +80 -0
  350. package/lib/module/history/history-list-item.js.map +1 -0
  351. package/lib/module/history/history-section-header.js +42 -0
  352. package/lib/module/history/history-section-header.js.map +1 -0
  353. package/lib/module/history/history-section-list-item.js +43 -0
  354. package/lib/module/history/history-section-list-item.js.map +1 -0
  355. package/lib/module/history/index.js +9 -0
  356. package/lib/module/history/index.js.map +1 -0
  357. package/lib/module/icons/connectivity.js +125 -0
  358. package/lib/module/icons/connectivity.js.map +1 -0
  359. package/lib/module/icons/credential.js +147 -0
  360. package/lib/module/icons/credential.js.map +1 -0
  361. package/lib/module/icons/entity.js +25 -0
  362. package/lib/module/icons/entity.js.map +1 -0
  363. package/lib/module/icons/history.js +391 -0
  364. package/lib/module/icons/history.js.map +1 -0
  365. package/lib/module/icons/icons.js +231 -0
  366. package/lib/module/icons/icons.js.map +1 -0
  367. package/lib/module/icons/index.js +12 -0
  368. package/lib/module/icons/index.js.map +1 -0
  369. package/lib/module/icons/input.js +33 -0
  370. package/lib/module/icons/input.js.map +1 -0
  371. package/lib/module/icons/keypad.js +81 -0
  372. package/lib/module/icons/keypad.js.map +1 -0
  373. package/lib/module/icons/loader.js +168 -0
  374. package/lib/module/icons/loader.js.map +1 -0
  375. package/lib/module/icons/nerd-view.js +110 -0
  376. package/lib/module/icons/nerd-view.js.map +1 -0
  377. package/lib/module/icons/selector.js +45 -0
  378. package/lib/module/icons/selector.js.map +1 -0
  379. package/lib/module/icons/wallet.js +111 -0
  380. package/lib/module/icons/wallet.js.map +1 -0
  381. package/lib/module/image/image-or-component.js +71 -0
  382. package/lib/module/image/image-or-component.js.map +1 -0
  383. package/lib/module/image/index.js +3 -0
  384. package/lib/module/image/index.js.map +1 -0
  385. package/lib/module/index.js +27 -0
  386. package/lib/module/index.js.map +1 -0
  387. package/lib/module/input/index.js +7 -0
  388. package/lib/module/input/index.js.map +1 -0
  389. package/lib/module/input/radio-group.js +87 -0
  390. package/lib/module/input/radio-group.js.map +1 -0
  391. package/lib/module/input/selection-input.js +92 -0
  392. package/lib/module/input/selection-input.js.map +1 -0
  393. package/lib/module/input/text-input.js +185 -0
  394. package/lib/module/input/text-input.js.map +1 -0
  395. package/lib/module/list/index.js +5 -0
  396. package/lib/module/list/index.js.map +1 -0
  397. package/lib/module/list/list-section-header.js +28 -0
  398. package/lib/module/list/list-section-header.js.map +1 -0
  399. package/lib/module/list/list-title-header.js +27 -0
  400. package/lib/module/list/list-title-header.js.map +1 -0
  401. package/lib/module/loader/index.js +5 -0
  402. package/lib/module/loader/index.js.map +1 -0
  403. package/lib/module/loader/loader.js +130 -0
  404. package/lib/module/loader/loader.js.map +1 -0
  405. package/lib/module/loader/loading-result.js +84 -0
  406. package/lib/module/loader/loading-result.js.map +1 -0
  407. package/lib/module/nerd-view/index.js +3 -0
  408. package/lib/module/nerd-view/index.js.map +1 -0
  409. package/lib/module/nerd-view/nerd-mode-item.js +224 -0
  410. package/lib/module/nerd-view/nerd-mode-item.js.map +1 -0
  411. package/lib/module/normalize-color.d.js +2 -0
  412. package/lib/module/normalize-color.d.js.map +1 -0
  413. package/lib/module/pin/index.js +4 -0
  414. package/lib/module/pin/index.js.map +1 -0
  415. package/lib/module/pin/keypad.js +191 -0
  416. package/lib/module/pin/keypad.js.map +1 -0
  417. package/lib/module/pin/pin-code-screen.js +152 -0
  418. package/lib/module/pin/pin-code-screen.js.map +1 -0
  419. package/lib/module/pin/pins.js +46 -0
  420. package/lib/module/pin/pins.js.map +1 -0
  421. package/lib/module/screens/backup-screen.js +78 -0
  422. package/lib/module/screens/backup-screen.js.map +1 -0
  423. package/lib/module/screens/image-preview-screen.js +83 -0
  424. package/lib/module/screens/image-preview-screen.js.map +1 -0
  425. package/lib/module/screens/index.js +13 -0
  426. package/lib/module/screens/index.js.map +1 -0
  427. package/lib/module/screens/nerd-mode-screen.js +132 -0
  428. package/lib/module/screens/nerd-mode-screen.js.map +1 -0
  429. package/lib/module/screens/qr-code-scanner-screen.js +110 -0
  430. package/lib/module/screens/qr-code-scanner-screen.js.map +1 -0
  431. package/lib/module/screens/scroll-view-screen.js +86 -0
  432. package/lib/module/screens/scroll-view-screen.js.map +1 -0
  433. package/lib/module/screens/section-list-screen.js +59 -0
  434. package/lib/module/screens/section-list-screen.js.map +1 -0
  435. package/lib/module/searchbar/animated-search-bar.js +78 -0
  436. package/lib/module/searchbar/animated-search-bar.js.map +1 -0
  437. package/lib/module/searchbar/index.js +5 -0
  438. package/lib/module/searchbar/index.js.map +1 -0
  439. package/lib/module/searchbar/search-bar.js +89 -0
  440. package/lib/module/searchbar/search-bar.js.map +1 -0
  441. package/lib/module/settings/button-setting.js +57 -0
  442. package/lib/module/settings/button-setting.js.map +1 -0
  443. package/lib/module/settings/index.js +11 -0
  444. package/lib/module/settings/index.js.map +1 -0
  445. package/lib/module/settings/setting-item-separator.js +32 -0
  446. package/lib/module/settings/setting-item-separator.js.map +1 -0
  447. package/lib/module/settings/setting-item.js +69 -0
  448. package/lib/module/settings/setting-item.js.map +1 -0
  449. package/lib/module/settings/settings-button.js +27 -0
  450. package/lib/module/settings/settings-button.js.map +1 -0
  451. package/lib/module/settings/switch-setting.js +27 -0
  452. package/lib/module/settings/switch-setting.js.map +1 -0
  453. package/lib/module/state/error-screen.js +63 -0
  454. package/lib/module/state/error-screen.js.map +1 -0
  455. package/lib/module/state/index.js +3 -0
  456. package/lib/module/state/index.js.map +1 -0
  457. package/lib/module/text/base.js +31 -0
  458. package/lib/module/text/base.js.map +1 -0
  459. package/lib/module/text/font.js +56 -0
  460. package/lib/module/text/font.js.map +1 -0
  461. package/lib/module/text/index.js +3 -0
  462. package/lib/module/text/index.js.map +1 -0
  463. package/lib/module/text/typography.js +111 -0
  464. package/lib/module/text/typography.js.map +1 -0
  465. package/lib/module/theme/color-scheme-context.js +44 -0
  466. package/lib/module/theme/color-scheme-context.js.map +1 -0
  467. package/lib/module/theme/color-scheme.js +2 -0
  468. package/lib/module/theme/color-scheme.js.map +1 -0
  469. package/lib/module/theme/index.js +3 -0
  470. package/lib/module/theme/index.js.map +1 -0
  471. package/lib/module/utils/color.js +23 -0
  472. package/lib/module/utils/color.js.map +1 -0
  473. package/lib/module/utils/contrasting-status-bar.js +21 -0
  474. package/lib/module/utils/contrasting-status-bar.js.map +1 -0
  475. package/lib/module/utils/date.js +51 -0
  476. package/lib/module/utils/date.js.map +1 -0
  477. package/lib/module/utils/hooks/header/on-scroll-header-state.js +14 -0
  478. package/lib/module/utils/hooks/header/on-scroll-header-state.js.map +1 -0
  479. package/lib/module/utils/hooks/index.js +5 -0
  480. package/lib/module/utils/hooks/index.js.map +1 -0
  481. package/lib/module/utils/hooks/list/list-content-inset.js +24 -0
  482. package/lib/module/utils/hooks/list/list-content-inset.js.map +1 -0
  483. package/lib/module/utils/index.js +9 -0
  484. package/lib/module/utils/index.js.map +1 -0
  485. package/lib/module/utils/navigation.js +45 -0
  486. package/lib/module/utils/navigation.js.map +1 -0
  487. package/lib/module/utils/ref.js +35 -0
  488. package/lib/module/utils/ref.js.map +1 -0
  489. package/lib/module/utils/testID.js +12 -0
  490. package/lib/module/utils/testID.js.map +1 -0
  491. package/lib/module/utils/testID.test.js +19 -0
  492. package/lib/module/utils/testID.test.js.map +1 -0
  493. package/lib/module/utils/useMemoAsync.js +20 -0
  494. package/lib/module/utils/useMemoAsync.js.map +1 -0
  495. package/lib/typescript/accessibility/accessibility.d.ts +55 -0
  496. package/lib/typescript/accessibility/accessibilityHistory.d.ts +13 -0
  497. package/lib/typescript/accessibility/accessibilityHistoryWrappers.d.ts +18 -0
  498. package/lib/typescript/accessibility/accessibilityLanguage.d.ts +20 -0
  499. package/lib/typescript/accessibility/index.d.ts +6 -0
  500. package/lib/typescript/accessibility/locale/index.d.ts +90 -0
  501. package/lib/typescript/accessibility/locale.test.d.ts +1 -0
  502. package/lib/typescript/action-modal/ActionModal.d.ts +10 -0
  503. package/lib/typescript/action-modal/index.d.ts +2 -0
  504. package/lib/typescript/activity-indicator/activity-indicator.d.ts +7 -0
  505. package/lib/typescript/activity-indicator/index.d.ts +2 -0
  506. package/lib/typescript/blur/blur-view.d.ts +10 -0
  507. package/lib/typescript/blur/index.d.ts +2 -0
  508. package/lib/typescript/buttons/back-button.d.ts +9 -0
  509. package/lib/typescript/buttons/button.d.ts +22 -0
  510. package/lib/typescript/buttons/connectivity-button.d.ts +17 -0
  511. package/lib/typescript/buttons/filter-button.d.ts +7 -0
  512. package/lib/typescript/buttons/ghost-button.d.ts +11 -0
  513. package/lib/typescript/buttons/index.d.ts +7 -0
  514. package/lib/typescript/buttons/scan-button.d.ts +5 -0
  515. package/lib/typescript/camera/camera-overlay.d.ts +7 -0
  516. package/lib/typescript/camera/index.d.ts +2 -0
  517. package/lib/typescript/camera/qr-code-scanner.d.ts +11 -0
  518. package/lib/typescript/control/checkbox.d.ts +9 -0
  519. package/lib/typescript/control/index.d.ts +3 -0
  520. package/lib/typescript/control/switch.d.ts +7 -0
  521. package/lib/typescript/credential/card/credential-card.d.ts +22 -0
  522. package/lib/typescript/credential/card/credential-details-card.d.ts +16 -0
  523. package/lib/typescript/credential/card/credential-details-list-item.d.ts +9 -0
  524. package/lib/typescript/credential/card/credential-header.d.ts +20 -0
  525. package/lib/typescript/credential/card/credential-image-carousel.d.ts +23 -0
  526. package/lib/typescript/credential/card/index.d.ts +10 -0
  527. package/lib/typescript/credential/credential-attribute-item.d.ts +48 -0
  528. package/lib/typescript/credential/credential-carousel-images.d.ts +19 -0
  529. package/lib/typescript/credential/index.d.ts +8 -0
  530. package/lib/typescript/credential/selector-status.d.ts +8 -0
  531. package/lib/typescript/credential/selector.d.ts +15 -0
  532. package/lib/typescript/detail/detail.d.ts +18 -0
  533. package/lib/typescript/detail/index.d.ts +2 -0
  534. package/lib/typescript/entity/avatar.d.ts +10 -0
  535. package/lib/typescript/entity/entity-cluster.d.ts +12 -0
  536. package/lib/typescript/entity/index.d.ts +4 -0
  537. package/lib/typescript/header/focus-aware-status-bar.d.ts +4 -0
  538. package/lib/typescript/header/foldable-header.d.ts +11 -0
  539. package/lib/typescript/header/header.d.ts +17 -0
  540. package/lib/typescript/header/index.d.ts +8 -0
  541. package/lib/typescript/header/navigation-header.d.ts +15 -0
  542. package/lib/typescript/history/data-item.d.ts +12 -0
  543. package/lib/typescript/history/history-list-item.d.ts +14 -0
  544. package/lib/typescript/history/history-section-header.d.ts +7 -0
  545. package/lib/typescript/history/history-section-list-item.d.ts +7 -0
  546. package/lib/typescript/history/index.d.ts +8 -0
  547. package/lib/typescript/icons/connectivity.d.ts +12 -0
  548. package/lib/typescript/icons/credential.d.ts +9 -0
  549. package/lib/typescript/icons/entity.d.ts +3 -0
  550. package/lib/typescript/icons/history.d.ts +42 -0
  551. package/lib/typescript/icons/icons.d.ts +13 -0
  552. package/lib/typescript/icons/index.d.ts +11 -0
  553. package/lib/typescript/icons/input.d.ts +3 -0
  554. package/lib/typescript/icons/keypad.d.ts +6 -0
  555. package/lib/typescript/icons/loader.d.ts +6 -0
  556. package/lib/typescript/icons/nerd-view.d.ts +7 -0
  557. package/lib/typescript/icons/selector.d.ts +10 -0
  558. package/lib/typescript/icons/wallet.d.ts +4 -0
  559. package/lib/typescript/image/image-or-component.d.ts +16 -0
  560. package/lib/typescript/image/index.d.ts +2 -0
  561. package/lib/typescript/index.d.ts +26 -0
  562. package/lib/typescript/input/index.d.ts +6 -0
  563. package/lib/typescript/input/radio-group.d.ts +23 -0
  564. package/lib/typescript/input/selection-input.d.ts +32 -0
  565. package/lib/typescript/input/text-input.d.ts +31 -0
  566. package/lib/typescript/list/index.d.ts +4 -0
  567. package/lib/typescript/list/list-section-header.d.ts +7 -0
  568. package/lib/typescript/list/list-title-header.d.ts +7 -0
  569. package/lib/typescript/loader/index.d.ts +4 -0
  570. package/lib/typescript/loader/loader.d.ts +14 -0
  571. package/lib/typescript/loader/loading-result.d.ts +16 -0
  572. package/lib/typescript/nerd-view/index.d.ts +2 -0
  573. package/lib/typescript/nerd-view/nerd-mode-item.d.ts +31 -0
  574. package/lib/typescript/pin/index.d.ts +3 -0
  575. package/lib/typescript/pin/keypad.d.ts +16 -0
  576. package/lib/typescript/pin/pin-code-screen.d.ts +32 -0
  577. package/lib/typescript/pin/pins.d.ts +7 -0
  578. package/lib/typescript/screens/backup-screen.d.ts +16 -0
  579. package/lib/typescript/screens/image-preview-screen.d.ts +9 -0
  580. package/lib/typescript/screens/index.d.ts +12 -0
  581. package/lib/typescript/screens/nerd-mode-screen.d.ts +22 -0
  582. package/lib/typescript/screens/qr-code-scanner-screen.d.ts +14 -0
  583. package/lib/typescript/screens/scroll-view-screen.d.ts +13 -0
  584. package/lib/typescript/screens/section-list-screen.d.ts +12 -0
  585. package/lib/typescript/searchbar/animated-search-bar.d.ts +10 -0
  586. package/lib/typescript/searchbar/index.d.ts +4 -0
  587. package/lib/typescript/searchbar/search-bar.d.ts +10 -0
  588. package/lib/typescript/settings/button-setting.d.ts +13 -0
  589. package/lib/typescript/settings/index.d.ts +10 -0
  590. package/lib/typescript/settings/setting-item-separator.d.ts +8 -0
  591. package/lib/typescript/settings/setting-item.d.ts +9 -0
  592. package/lib/typescript/settings/settings-button.d.ts +5 -0
  593. package/lib/typescript/settings/switch-setting.d.ts +13 -0
  594. package/lib/typescript/state/error-screen.d.ts +15 -0
  595. package/lib/typescript/state/index.d.ts +2 -0
  596. package/lib/typescript/text/base.d.ts +20 -0
  597. package/lib/typescript/text/font.d.ts +26 -0
  598. package/lib/typescript/text/index.d.ts +2 -0
  599. package/lib/typescript/text/typography.d.ts +112 -0
  600. package/lib/typescript/theme/color-scheme-context.d.ts +10 -0
  601. package/lib/typescript/theme/color-scheme.d.ts +31 -0
  602. package/lib/typescript/theme/index.d.ts +3 -0
  603. package/lib/typescript/utils/color.d.ts +4 -0
  604. package/lib/typescript/utils/contrasting-status-bar.d.ts +10 -0
  605. package/lib/typescript/utils/date.d.ts +12 -0
  606. package/lib/typescript/utils/hooks/header/on-scroll-header-state.d.ts +5 -0
  607. package/lib/typescript/utils/hooks/index.d.ts +4 -0
  608. package/lib/typescript/utils/hooks/list/list-content-inset.d.ts +8 -0
  609. package/lib/typescript/utils/index.d.ts +8 -0
  610. package/lib/typescript/utils/navigation.d.ts +9 -0
  611. package/lib/typescript/utils/ref.d.ts +11 -0
  612. package/lib/typescript/utils/testID.d.ts +6 -0
  613. package/lib/typescript/utils/testID.test.d.ts +1 -0
  614. package/lib/typescript/utils/useMemoAsync.d.ts +21 -0
  615. package/package.json +240 -0
  616. package/src/accessibility/accessibility.ts +215 -0
  617. package/src/accessibility/accessibilityHistory.tsx +77 -0
  618. package/src/accessibility/accessibilityHistoryWrappers.tsx +80 -0
  619. package/src/accessibility/accessibilityLanguage.tsx +66 -0
  620. package/src/accessibility/index.ts +35 -0
  621. package/src/accessibility/locale/de.json +21 -0
  622. package/src/accessibility/locale/en.json +21 -0
  623. package/src/accessibility/locale/fr.json +21 -0
  624. package/src/accessibility/locale/index.ts +19 -0
  625. package/src/accessibility/locale/it.json +21 -0
  626. package/src/accessibility/locale.test.ts +16 -0
  627. package/src/action-modal/ActionModal.stories.tsx +35 -0
  628. package/src/action-modal/ActionModal.tsx +45 -0
  629. package/src/action-modal/index.ts +3 -0
  630. package/src/activity-indicator/activity-indicator.stories.tsx +21 -0
  631. package/src/activity-indicator/activity-indicator.tsx +25 -0
  632. package/src/activity-indicator/index.ts +3 -0
  633. package/src/blur/blur-view.tsx +82 -0
  634. package/src/blur/index.ts +3 -0
  635. package/src/buttons/back-button.stories.tsx +31 -0
  636. package/src/buttons/back-button.tsx +31 -0
  637. package/src/buttons/button.stories.tsx +29 -0
  638. package/src/buttons/button.tsx +169 -0
  639. package/src/buttons/connectivity-button.stories.tsx +34 -0
  640. package/src/buttons/connectivity-button.tsx +95 -0
  641. package/src/buttons/filter-button.tsx +38 -0
  642. package/src/buttons/ghost-button.stories.tsx +28 -0
  643. package/src/buttons/ghost-button.tsx +56 -0
  644. package/src/buttons/index.ts +24 -0
  645. package/src/buttons/scan-button.stories.tsx +26 -0
  646. package/src/buttons/scan-button.tsx +66 -0
  647. package/src/camera/camera-overlay.tsx +48 -0
  648. package/src/camera/index.tsx +3 -0
  649. package/src/camera/qr-code-scanner.tsx +52 -0
  650. package/src/control/checkbox.stories.tsx +27 -0
  651. package/src/control/checkbox.tsx +81 -0
  652. package/src/control/index.ts +4 -0
  653. package/src/control/switch.stories.tsx +29 -0
  654. package/src/control/switch.tsx +47 -0
  655. package/src/credential/card/credential-card.stories.tsx +52 -0
  656. package/src/credential/card/credential-card.tsx +195 -0
  657. package/src/credential/card/credential-details-card.stories.tsx +268 -0
  658. package/src/credential/card/credential-details-card.tsx +242 -0
  659. package/src/credential/card/credential-details-list-item.tsx +87 -0
  660. package/src/credential/card/credential-header.stories.tsx +50 -0
  661. package/src/credential/card/credential-header.tsx +195 -0
  662. package/src/credential/card/credential-image-carousel.tsx +113 -0
  663. package/src/credential/card/index.ts +11 -0
  664. package/src/credential/credential-attribute-item.tsx +372 -0
  665. package/src/credential/credential-carousel-images.tsx +90 -0
  666. package/src/credential/index.ts +13 -0
  667. package/src/credential/selector-status.ts +8 -0
  668. package/src/credential/selector.stories.tsx +37 -0
  669. package/src/credential/selector.tsx +64 -0
  670. package/src/detail/detail.stories.tsx +65 -0
  671. package/src/detail/detail.tsx +98 -0
  672. package/src/detail/index.tsx +3 -0
  673. package/src/entity/avatar.stories.tsx +39 -0
  674. package/src/entity/avatar.tsx +87 -0
  675. package/src/entity/entity-cluster.stories.tsx +42 -0
  676. package/src/entity/entity-cluster.tsx +72 -0
  677. package/src/entity/index.ts +5 -0
  678. package/src/header/focus-aware-status-bar.tsx +10 -0
  679. package/src/header/foldable-header.tsx +107 -0
  680. package/src/header/header.stories.tsx +59 -0
  681. package/src/header/header.tsx +105 -0
  682. package/src/header/index.ts +9 -0
  683. package/src/header/navigation-header.stories.tsx +56 -0
  684. package/src/header/navigation-header.tsx +147 -0
  685. package/src/history/data-item.tsx +79 -0
  686. package/src/history/history-list-item.tsx +102 -0
  687. package/src/history/history-section-header.tsx +44 -0
  688. package/src/history/history-section-list-item.tsx +41 -0
  689. package/src/history/index.ts +9 -0
  690. package/src/icons/connectivity.tsx +114 -0
  691. package/src/icons/credential.tsx +118 -0
  692. package/src/icons/entity.tsx +21 -0
  693. package/src/icons/history.tsx +378 -0
  694. package/src/icons/icons.tsx +134 -0
  695. package/src/icons/index.ts +11 -0
  696. package/src/icons/input.tsx +29 -0
  697. package/src/icons/keypad.tsx +40 -0
  698. package/src/icons/loader.tsx +117 -0
  699. package/src/icons/nerd-view.tsx +105 -0
  700. package/src/icons/selector.tsx +43 -0
  701. package/src/icons/wallet.tsx +73 -0
  702. package/src/image/image-or-component.tsx +92 -0
  703. package/src/image/index.tsx +3 -0
  704. package/src/index.ts +26 -0
  705. package/src/input/index.ts +7 -0
  706. package/src/input/radio-group.tsx +110 -0
  707. package/src/input/selection-input.stories.tsx +46 -0
  708. package/src/input/selection-input.tsx +112 -0
  709. package/src/input/text-input.tsx +253 -0
  710. package/src/list/index.ts +5 -0
  711. package/src/list/list-section-header.tsx +37 -0
  712. package/src/list/list-title-header.tsx +30 -0
  713. package/src/loader/index.ts +5 -0
  714. package/src/loader/loader.stories.tsx +31 -0
  715. package/src/loader/loader.tsx +169 -0
  716. package/src/loader/loading-result.stories.tsx +67 -0
  717. package/src/loader/loading-result.tsx +93 -0
  718. package/src/nerd-view/index.ts +3 -0
  719. package/src/nerd-view/nerd-mode-item.tsx +296 -0
  720. package/src/normalize-color.d.ts +1 -0
  721. package/src/pin/index.ts +4 -0
  722. package/src/pin/keypad.tsx +166 -0
  723. package/src/pin/pin-code-screen.stories.tsx +80 -0
  724. package/src/pin/pin-code-screen.tsx +195 -0
  725. package/src/pin/pins.tsx +48 -0
  726. package/src/screens/backup-screen.tsx +92 -0
  727. package/src/screens/image-preview-screen.stories.tsx +28 -0
  728. package/src/screens/image-preview-screen.tsx +82 -0
  729. package/src/screens/index.ts +13 -0
  730. package/src/screens/nerd-mode-screen.tsx +150 -0
  731. package/src/screens/qr-code-scanner-screen.stories.tsx +37 -0
  732. package/src/screens/qr-code-scanner-screen.tsx +124 -0
  733. package/src/screens/scroll-view-screen.tsx +91 -0
  734. package/src/screens/section-list-screen.tsx +61 -0
  735. package/src/searchbar/animated-search-bar.tsx +96 -0
  736. package/src/searchbar/index.ts +5 -0
  737. package/src/searchbar/search-bar.stories.tsx +31 -0
  738. package/src/searchbar/search-bar.tsx +94 -0
  739. package/src/settings/button-setting.tsx +72 -0
  740. package/src/settings/index.ts +11 -0
  741. package/src/settings/setting-item-separator.tsx +32 -0
  742. package/src/settings/setting-item.tsx +68 -0
  743. package/src/settings/settings-button.tsx +23 -0
  744. package/src/settings/switch-setting.tsx +33 -0
  745. package/src/state/error-screen.stories.tsx +22 -0
  746. package/src/state/error-screen.tsx +71 -0
  747. package/src/state/index.ts +3 -0
  748. package/src/text/base.tsx +53 -0
  749. package/src/text/font.ts +52 -0
  750. package/src/text/index.ts +3 -0
  751. package/src/text/typography.stories.tsx +70 -0
  752. package/src/text/typography.tsx +117 -0
  753. package/src/theme/color-scheme-context.tsx +48 -0
  754. package/src/theme/color-scheme.ts +31 -0
  755. package/src/theme/index.ts +4 -0
  756. package/src/utils/color.ts +34 -0
  757. package/src/utils/contrasting-status-bar.tsx +21 -0
  758. package/src/utils/date.ts +49 -0
  759. package/src/utils/hooks/header/on-scroll-header-state.tsx +16 -0
  760. package/src/utils/hooks/index.ts +5 -0
  761. package/src/utils/hooks/list/list-content-inset.ts +24 -0
  762. package/src/utils/index.ts +19 -0
  763. package/src/utils/navigation.ts +37 -0
  764. package/src/utils/ref.ts +39 -0
  765. package/src/utils/testID.test.ts +20 -0
  766. package/src/utils/testID.ts +9 -0
  767. package/src/utils/useMemoAsync.ts +50 -0
@@ -0,0 +1,84 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import React from 'react';
3
+ import { Platform, StyleSheet, View } from 'react-native';
4
+ import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
5
+ import { Button } from '../buttons/button';
6
+ import NavigationHeader from '../header/navigation-header';
7
+ import Typography from '../text/typography';
8
+ import { useAppColorScheme } from '../theme/color-scheme-context';
9
+ import LoaderView from './loader';
10
+ const LoadingResultScreen = _ref => {
11
+ let {
12
+ button,
13
+ header,
14
+ loader: {
15
+ label,
16
+ ...loaderProps
17
+ },
18
+ secondaryButton: button2,
19
+ style,
20
+ tertiaryButton: button3,
21
+ ...viewProps
22
+ } = _ref;
23
+ const colorScheme = useAppColorScheme();
24
+ const {
25
+ top
26
+ } = useSafeAreaInsets();
27
+ let headerPaddingStyle;
28
+ if (Platform.OS === 'android') {
29
+ headerPaddingStyle = {
30
+ paddingTop: top
31
+ };
32
+ } else if (!(header !== null && header !== void 0 && header.modalHandleVisible) && Platform.OS === 'ios') {
33
+ headerPaddingStyle = styles.modalHeaderWithoutHandle;
34
+ }
35
+ return /*#__PURE__*/React.createElement(View, _extends({
36
+ style: [styles.container, {
37
+ backgroundColor: colorScheme.background
38
+ }, style]
39
+ }, viewProps), /*#__PURE__*/React.createElement(View, {
40
+ style: [styles.headerWrapper, headerPaddingStyle]
41
+ }, /*#__PURE__*/React.createElement(NavigationHeader, header)), /*#__PURE__*/React.createElement(View, {
42
+ style: styles.loaderWrapper
43
+ }, /*#__PURE__*/React.createElement(LoaderView, loaderProps), /*#__PURE__*/React.createElement(Typography, {
44
+ align: "center",
45
+ color: colorScheme.text,
46
+ preset: "regular",
47
+ style: styles.label
48
+ }, label)), /*#__PURE__*/React.createElement(SafeAreaView, {
49
+ edges: ['bottom'],
50
+ style: styles.buttonWrapper
51
+ }, button && /*#__PURE__*/React.createElement(Button, button, button.title), button2 && /*#__PURE__*/React.createElement(Button, button2, button2.title), button3 && /*#__PURE__*/React.createElement(Button, button3, button3.title)));
52
+ };
53
+ const styles = StyleSheet.create({
54
+ buttonWrapper: {
55
+ gap: 12,
56
+ height: 274,
57
+ justifyContent: 'flex-end',
58
+ padding: 12
59
+ },
60
+ container: {
61
+ alignItems: 'stretch',
62
+ flex: 1,
63
+ flexDirection: 'column',
64
+ justifyContent: 'space-between'
65
+ },
66
+ headerWrapper: {
67
+ height: 215
68
+ },
69
+ label: {
70
+ marginHorizontal: 20,
71
+ marginTop: 20
72
+ },
73
+ loaderWrapper: {
74
+ alignItems: 'center',
75
+ flexDirection: 'column',
76
+ height: 108,
77
+ justifyContent: 'space-between'
78
+ },
79
+ modalHeaderWithoutHandle: {
80
+ paddingTop: 15
81
+ }
82
+ });
83
+ export default LoadingResultScreen;
84
+ //# sourceMappingURL=loading-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","StyleSheet","View","SafeAreaView","useSafeAreaInsets","Button","NavigationHeader","Typography","useAppColorScheme","LoaderView","LoadingResultScreen","_ref","button","header","loader","label","loaderProps","secondaryButton","button2","style","tertiaryButton","button3","viewProps","colorScheme","top","headerPaddingStyle","OS","paddingTop","modalHandleVisible","styles","modalHeaderWithoutHandle","createElement","_extends","container","backgroundColor","background","headerWrapper","loaderWrapper","align","color","text","preset","edges","buttonWrapper","title","create","gap","height","justifyContent","padding","alignItems","flex","flexDirection","marginHorizontal","marginTop"],"sources":["loading-result.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Platform, StyleSheet, View, ViewProps, ViewStyle } from 'react-native';\nimport { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { Button, ButtonProps } from '../buttons/button';\nimport NavigationHeader, { NavigationHeaderProps } from '../header/navigation-header';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\nimport LoaderView, { LoaderViewProps } from './loader';\n\nexport type LoadingResultScreenProps = ViewProps & {\n button?: ButtonProps;\n header?: NavigationHeaderProps;\n loader: LoaderViewProps & {\n label?: string;\n };\n secondaryButton?: ButtonProps;\n tertiaryButton?: ButtonProps;\n};\n\nconst LoadingResultScreen: FC<LoadingResultScreenProps> = ({\n button,\n header,\n loader: { label, ...loaderProps },\n secondaryButton: button2,\n style,\n tertiaryButton: button3,\n ...viewProps\n}) => {\n const colorScheme = useAppColorScheme();\n const { top } = useSafeAreaInsets();\n\n let headerPaddingStyle: ViewStyle | undefined;\n if (Platform.OS === 'android') {\n headerPaddingStyle = {\n paddingTop: top,\n };\n } else if (!header?.modalHandleVisible && Platform.OS === 'ios') {\n headerPaddingStyle = styles.modalHeaderWithoutHandle;\n }\n\n return (\n <View style={[styles.container, { backgroundColor: colorScheme.background }, style]} {...viewProps}>\n <View style={[styles.headerWrapper, headerPaddingStyle]}>\n <NavigationHeader {...header} />\n </View>\n <View style={styles.loaderWrapper}>\n <LoaderView {...loaderProps} />\n <Typography align=\"center\" color={colorScheme.text} preset=\"regular\" style={styles.label}>\n {label}\n </Typography>\n </View>\n <SafeAreaView edges={['bottom']} style={styles.buttonWrapper}>\n {button && <Button {...button}>{button.title}</Button>}\n {button2 && <Button {...button2}>{button2.title}</Button>}\n {button3 && <Button {...button3}>{button3.title}</Button>}\n </SafeAreaView>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n buttonWrapper: {\n gap: 12,\n height: 274,\n justifyContent: 'flex-end',\n padding: 12,\n },\n container: {\n alignItems: 'stretch',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n headerWrapper: {\n height: 215,\n },\n label: {\n marginHorizontal: 20,\n marginTop: 20,\n },\n loaderWrapper: {\n alignItems: 'center',\n flexDirection: 'column',\n height: 108,\n justifyContent: 'space-between',\n },\n modalHeaderWithoutHandle: {\n paddingTop: 15,\n },\n});\n\nexport default LoadingResultScreen;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAA8B,cAAc;AAC/E,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,gCAAgC;AAEhF,SAASC,MAAM,QAAqB,mBAAmB;AACvD,OAAOC,gBAAgB,MAAiC,6BAA6B;AACrF,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,OAAOC,UAAU,MAA2B,UAAU;AAYtD,MAAMC,mBAAiD,GAAGC,IAAA,IAQpD;EAAA,IARqD;IACzDC,MAAM;IACNC,MAAM;IACNC,MAAM,EAAE;MAAEC,KAAK;MAAE,GAAGC;IAAY,CAAC;IACjCC,eAAe,EAAEC,OAAO;IACxBC,KAAK;IACLC,cAAc,EAAEC,OAAO;IACvB,GAAGC;EACL,CAAC,GAAAX,IAAA;EACC,MAAMY,WAAW,GAAGf,iBAAiB,EAAE;EACvC,MAAM;IAAEgB;EAAI,CAAC,GAAGpB,iBAAiB,EAAE;EAEnC,IAAIqB,kBAAyC;EAC7C,IAAIzB,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;IAC7BD,kBAAkB,GAAG;MACnBE,UAAU,EAAEH;IACd,CAAC;EACH,CAAC,MAAM,IAAI,EAACX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEe,kBAAkB,KAAI5B,QAAQ,CAAC0B,EAAE,KAAK,KAAK,EAAE;IAC/DD,kBAAkB,GAAGI,MAAM,CAACC,wBAAwB;EACtD;EAEA,oBACE/B,KAAA,CAAAgC,aAAA,CAAC7B,IAAI,EAAA8B,QAAA;IAACb,KAAK,EAAE,CAACU,MAAM,CAACI,SAAS,EAAE;MAAEC,eAAe,EAAEX,WAAW,CAACY;IAAW,CAAC,EAAEhB,KAAK;EAAE,GAAKG,SAAS,gBAChGvB,KAAA,CAAAgC,aAAA,CAAC7B,IAAI;IAACiB,KAAK,EAAE,CAACU,MAAM,CAACO,aAAa,EAAEX,kBAAkB;EAAE,gBACtD1B,KAAA,CAAAgC,aAAA,CAACzB,gBAAgB,EAAKO,MAAM,CAAI,CAC3B,eACPd,KAAA,CAAAgC,aAAA,CAAC7B,IAAI;IAACiB,KAAK,EAAEU,MAAM,CAACQ;EAAc,gBAChCtC,KAAA,CAAAgC,aAAA,CAACtB,UAAU,EAAKO,WAAW,CAAI,eAC/BjB,KAAA,CAAAgC,aAAA,CAACxB,UAAU;IAAC+B,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAEhB,WAAW,CAACiB,IAAK;IAACC,MAAM,EAAC,SAAS;IAACtB,KAAK,EAAEU,MAAM,CAACd;EAAM,GACtFA,KAAK,CACK,CACR,eACPhB,KAAA,CAAAgC,aAAA,CAAC5B,YAAY;IAACuC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAACvB,KAAK,EAAEU,MAAM,CAACc;EAAc,GAC1D/B,MAAM,iBAAIb,KAAA,CAAAgC,aAAA,CAAC1B,MAAM,EAAKO,MAAM,EAAGA,MAAM,CAACgC,KAAK,CAAU,EACrD1B,OAAO,iBAAInB,KAAA,CAAAgC,aAAA,CAAC1B,MAAM,EAAKa,OAAO,EAAGA,OAAO,CAAC0B,KAAK,CAAU,EACxDvB,OAAO,iBAAItB,KAAA,CAAAgC,aAAA,CAAC1B,MAAM,EAAKgB,OAAO,EAAGA,OAAO,CAACuB,KAAK,CAAU,CAC5C,CACV;AAEX,CAAC;AAED,MAAMf,MAAM,GAAG5B,UAAU,CAAC4C,MAAM,CAAC;EAC/BF,aAAa,EAAE;IACbG,GAAG,EAAE,EAAE;IACPC,MAAM,EAAE,GAAG;IACXC,cAAc,EAAE,UAAU;IAC1BC,OAAO,EAAE;EACX,CAAC;EACDhB,SAAS,EAAE;IACTiB,UAAU,EAAE,SAAS;IACrBC,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,QAAQ;IACvBJ,cAAc,EAAE;EAClB,CAAC;EACDZ,aAAa,EAAE;IACbW,MAAM,EAAE;EACV,CAAC;EACDhC,KAAK,EAAE;IACLsC,gBAAgB,EAAE,EAAE;IACpBC,SAAS,EAAE;EACb,CAAC;EACDjB,aAAa,EAAE;IACba,UAAU,EAAE,QAAQ;IACpBE,aAAa,EAAE,QAAQ;IACvBL,MAAM,EAAE,GAAG;IACXC,cAAc,EAAE;EAClB,CAAC;EACDlB,wBAAwB,EAAE;IACxBH,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAejB,mBAAmB"}
@@ -0,0 +1,3 @@
1
+ import NerdModeItem, { ActionIcon, NerdModeItemProps } from './nerd-mode-item';
2
+ export { ActionIcon, NerdModeItem, NerdModeItemProps };
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NerdModeItem","ActionIcon","NerdModeItemProps"],"sources":["index.ts"],"sourcesContent":["import NerdModeItem, { ActionIcon, NerdModeItemProps } from './nerd-mode-item';\n\nexport { ActionIcon, NerdModeItem, NerdModeItemProps };\n"],"mappings":"AAAA,OAAOA,YAAY,IAAIC,UAAU,EAAEC,iBAAiB,QAAQ,kBAAkB;AAE9E,SAASD,UAAU,EAAED,YAAY,EAAEE,iBAAiB"}
@@ -0,0 +1,224 @@
1
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
+ import { Dimensions, Linking, StyleSheet, View } from 'react-native';
3
+ import { TouchableOpacity } from 'react-native-gesture-handler';
4
+ import Animated, { clamp, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
5
+ import { Button, ButtonType } from '../buttons/button';
6
+ import { CopyContentIcon, OpenLinkIcon } from '../icons/nerd-view';
7
+ import Typography from '../text/typography';
8
+ import { useAppColorScheme } from '../theme/color-scheme-context';
9
+ import { concatTestID } from '../utils/testID';
10
+ const VALUE_PREVIEW_LENGTH = 80;
11
+ const ICON_HEIGHT = 48;
12
+ const CONTAINER_PADDING = 8;
13
+
14
+ // The onExpand and expandedAttributes props are used to notify other expanded fields
15
+ // that the layout (and thus the scrollOffset / icon position) has changed. This
16
+ // will trigger a view measurement and repositioning of the icon on all expanded fields.
17
+
18
+ const styles = StyleSheet.create({
19
+ actionIcon: {
20
+ alignItems: 'center',
21
+ flex: 0.15,
22
+ height: ICON_HEIGHT,
23
+ justifyContent: 'center'
24
+ },
25
+ actionIconSingleLine: {
26
+ height: 24
27
+ },
28
+ attributeLabel: {
29
+ marginBottom: 4,
30
+ paddingHorizontal: 6
31
+ },
32
+ attributeValue: {
33
+ flex: 0.85,
34
+ flexGrow: 1
35
+ },
36
+ attributeValueContainer: {
37
+ borderRadius: 2,
38
+ borderWidth: 0.2,
39
+ flexDirection: 'row',
40
+ padding: CONTAINER_PADDING
41
+ },
42
+ container: {
43
+ paddingHorizontal: 20,
44
+ paddingTop: 16
45
+ },
46
+ expandValueButton: {
47
+ borderRadius: 4,
48
+ borderWidth: 0,
49
+ marginTop: 4
50
+ },
51
+ lastAttribute: {
52
+ paddingBottom: 30
53
+ }
54
+ });
55
+ export const ActionIcon = _ref => {
56
+ let {
57
+ value,
58
+ link,
59
+ onCopyToClipboard,
60
+ testID,
61
+ copy
62
+ } = _ref;
63
+ const handleCopy = useCallback(() => {
64
+ onCopyToClipboard(value);
65
+ }, [onCopyToClipboard, value]);
66
+ const openLink = useCallback(() => {
67
+ if (link) {
68
+ Linking.openURL(link);
69
+ }
70
+ }, [link]);
71
+ if (copy) {
72
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
73
+ onPress: handleCopy,
74
+ testID: testID
75
+ }, /*#__PURE__*/React.createElement(CopyContentIcon, null));
76
+ }
77
+ if (link) {
78
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
79
+ onPress: openLink,
80
+ testID: testID
81
+ }, /*#__PURE__*/React.createElement(OpenLinkIcon, null));
82
+ }
83
+ return null;
84
+ };
85
+ const TextWithHighlight = _ref2 => {
86
+ let {
87
+ highlightedText,
88
+ onLayout,
89
+ testID,
90
+ text
91
+ } = _ref2;
92
+ const colorScheme = useAppColorScheme();
93
+ return /*#__PURE__*/React.createElement(Typography, {
94
+ color: colorScheme.white,
95
+ onLayout: onLayout,
96
+ preset: "s/code",
97
+ style: styles.attributeValue,
98
+ testID: testID
99
+ }, /*#__PURE__*/React.createElement(Typography, {
100
+ color: colorScheme.nerdView.codeHighlightText,
101
+ preset: "s/code"
102
+ }, highlightedText), text);
103
+ };
104
+ const NerdModeItem = _ref3 => {
105
+ let {
106
+ highlightedText = '',
107
+ attributeText = '',
108
+ attributeKey,
109
+ labels,
110
+ link,
111
+ canBeCopied,
112
+ onCopyToClipboard,
113
+ onExpand,
114
+ expandedAttributes,
115
+ last = false,
116
+ scrollOffset,
117
+ element,
118
+ testID
119
+ } = _ref3;
120
+ const colorScheme = useAppColorScheme();
121
+ const valueViewRef = React.useRef(null);
122
+ const [isSingleLine, setIsSingleLine] = useState();
123
+ const expandedView = useSharedValue({
124
+ expandedAtOffset: 0,
125
+ viewHeight: 0,
126
+ viewStart: 0
127
+ });
128
+ const expandable = attributeText.length > VALUE_PREVIEW_LENGTH;
129
+ const [expanded, setExpanded] = useState(!expandable);
130
+ const screenMiddle = useMemo(() => Dimensions.get('screen').height / 2, []);
131
+ const iconTopPosition = useDerivedValue(() => {
132
+ if (isSingleLine === undefined) {
133
+ return 0;
134
+ }
135
+ if (!expanded || !expandable || !scrollOffset || isSingleLine) {
136
+ const iconHeight = isSingleLine ? 0 : ICON_HEIGHT;
137
+ return expandedView.value.viewHeight / 2 - iconHeight / 2;
138
+ }
139
+ const viewEnd = expandedView.value.viewStart + expandedView.value.viewHeight;
140
+ let zeroedOffset = scrollOffset.value - expandedView.value.expandedAtOffset;
141
+ if (expandedView.value.viewStart > screenMiddle) {
142
+ zeroedOffset = zeroedOffset - (expandedView.value.viewStart - screenMiddle + ICON_HEIGHT / 2);
143
+ } else {
144
+ if (viewEnd < screenMiddle + ICON_HEIGHT) {
145
+ zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);
146
+ } else if (expandedView.value.viewStart < screenMiddle && viewEnd > screenMiddle) {
147
+ zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);
148
+ }
149
+ }
150
+ return clamp(zeroedOffset, 0, expandedView.value.viewHeight - ICON_HEIGHT - 8);
151
+ });
152
+ const iconStyle = useAnimatedStyle(() => {
153
+ return {
154
+ transform: [{
155
+ translateY: iconTopPosition.value
156
+ }]
157
+ };
158
+ });
159
+ const previewText = expanded ? attributeText : attributeText.slice(0, VALUE_PREVIEW_LENGTH) + '...';
160
+ useEffect(() => {
161
+ if (!scrollOffset || isSingleLine === undefined) {
162
+ return;
163
+ }
164
+ setTimeout(() => {
165
+ var _valueViewRef$current;
166
+ (_valueViewRef$current = valueViewRef.current) === null || _valueViewRef$current === void 0 ? void 0 : _valueViewRef$current.measure((x, y, w, h, px, py) => {
167
+ expandedView.value = {
168
+ expandedAtOffset: isSingleLine ? 0 : scrollOffset.value,
169
+ viewHeight: isSingleLine ? 0 : h - 2 * CONTAINER_PADDING,
170
+ viewStart: py
171
+ };
172
+ });
173
+ }, 0);
174
+ // We only recompute when any attribute is expanded
175
+ // eslint-disable-next-line react-hooks/exhaustive-deps
176
+ }, [expandedAttributes, isSingleLine]);
177
+ const onTextLayout = useCallback(event => {
178
+ const {
179
+ height
180
+ } = event.nativeEvent.layout;
181
+ setIsSingleLine(height <= 24);
182
+ }, []);
183
+ return /*#__PURE__*/React.createElement(View, {
184
+ style: [styles.container, {
185
+ backgroundColor: colorScheme.nerdView.attributeSectionBackground
186
+ }, last ? styles.lastAttribute : {}],
187
+ testID: testID
188
+ }, /*#__PURE__*/React.createElement(Typography, {
189
+ color: colorScheme.nerdView.attributeLabel,
190
+ preset: "s/code",
191
+ style: styles.attributeLabel,
192
+ testID: concatTestID(testID, 'attributeLabel')
193
+ }, attributeKey), /*#__PURE__*/React.createElement(View, {
194
+ ref: valueViewRef,
195
+ style: [styles.attributeValueContainer, {
196
+ backgroundColor: colorScheme.nerdView.attributeValueBackground,
197
+ borderColor: colorScheme.nerdView.attributeValueBorder
198
+ }]
199
+ }, element ? element : /*#__PURE__*/React.createElement(TextWithHighlight, {
200
+ highlightedText: highlightedText,
201
+ onLayout: onTextLayout,
202
+ testID: concatTestID(testID, 'attributeValue'),
203
+ text: previewText
204
+ }), (canBeCopied || link) && isSingleLine !== undefined ? /*#__PURE__*/React.createElement(Animated.View, {
205
+ style: [styles.actionIcon, isSingleLine ? styles.actionIconSingleLine : undefined, iconStyle]
206
+ }, /*#__PURE__*/React.createElement(ActionIcon, {
207
+ copy: canBeCopied,
208
+ link: link,
209
+ onCopyToClipboard: onCopyToClipboard,
210
+ testID: concatTestID(testID, 'actionIcon'),
211
+ value: `${highlightedText}${attributeText}`
212
+ })) : null), expandable ? /*#__PURE__*/React.createElement(Button, {
213
+ onPress: () => {
214
+ onExpand && onExpand(!expanded);
215
+ setExpanded(!expanded);
216
+ },
217
+ style: styles.expandValueButton,
218
+ testID: concatTestID(testID, 'expandValueButton'),
219
+ title: expanded ? labels.collapse : labels.expand,
220
+ type: ButtonType.SmallTech
221
+ }) : null);
222
+ };
223
+ export default NerdModeItem;
224
+ //# sourceMappingURL=nerd-mode-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Dimensions","Linking","StyleSheet","View","TouchableOpacity","Animated","clamp","useAnimatedStyle","useDerivedValue","useSharedValue","Button","ButtonType","CopyContentIcon","OpenLinkIcon","Typography","useAppColorScheme","concatTestID","VALUE_PREVIEW_LENGTH","ICON_HEIGHT","CONTAINER_PADDING","styles","create","actionIcon","alignItems","flex","height","justifyContent","actionIconSingleLine","attributeLabel","marginBottom","paddingHorizontal","attributeValue","flexGrow","attributeValueContainer","borderRadius","borderWidth","flexDirection","padding","container","paddingTop","expandValueButton","marginTop","lastAttribute","paddingBottom","ActionIcon","_ref","value","link","onCopyToClipboard","testID","copy","handleCopy","openLink","openURL","createElement","onPress","TextWithHighlight","_ref2","highlightedText","onLayout","text","colorScheme","color","white","preset","style","nerdView","codeHighlightText","NerdModeItem","_ref3","attributeText","attributeKey","labels","canBeCopied","onExpand","expandedAttributes","last","scrollOffset","element","valueViewRef","useRef","isSingleLine","setIsSingleLine","expandedView","expandedAtOffset","viewHeight","viewStart","expandable","length","expanded","setExpanded","screenMiddle","get","iconTopPosition","undefined","iconHeight","viewEnd","zeroedOffset","iconStyle","transform","translateY","previewText","slice","setTimeout","_valueViewRef$current","current","measure","x","y","w","h","px","py","onTextLayout","event","nativeEvent","layout","backgroundColor","attributeSectionBackground","ref","attributeValueBackground","borderColor","attributeValueBorder","title","collapse","expand","type","SmallTech"],"sources":["nerd-mode-item.tsx"],"sourcesContent":["import React, { FunctionComponent, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Dimensions, LayoutChangeEvent, Linking, StyleSheet, View, ViewStyle } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\nimport Animated, {\n clamp,\n SharedValue,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n} from 'react-native-reanimated';\n\nimport { Button, ButtonType } from '../buttons/button';\nimport { CopyContentIcon, OpenLinkIcon } from '../icons/nerd-view';\nimport Typography from '../text/typography';\nimport { useAppColorScheme } from '../theme/color-scheme-context';\nimport { concatTestID } from '../utils/testID';\n\nconst VALUE_PREVIEW_LENGTH = 80;\nconst ICON_HEIGHT = 48;\nconst CONTAINER_PADDING = 8;\n\n// The onExpand and expandedAttributes props are used to notify other expanded fields\n// that the layout (and thus the scrollOffset / icon position) has changed. This\n// will trigger a view measurement and repositioning of the icon on all expanded fields.\n\nexport type NerdModeItemProps = {\n attributeKey: string;\n attributeText?: string;\n canBeCopied?: boolean;\n element?: React.ReactElement;\n expandedAttributes?: number;\n highlightedText?: string;\n labels: {\n expand: string;\n collapse: string;\n };\n last?: boolean;\n link?: string;\n onCopyToClipboard: (value: string) => void;\n onExpand?: (expanded: boolean) => void;\n scrollOffset?: SharedValue<number>;\n testID?: string;\n};\n\nconst styles = StyleSheet.create({\n actionIcon: {\n alignItems: 'center',\n flex: 0.15,\n height: ICON_HEIGHT,\n justifyContent: 'center',\n },\n actionIconSingleLine: {\n height: 24,\n },\n attributeLabel: {\n marginBottom: 4,\n paddingHorizontal: 6,\n },\n attributeValue: {\n flex: 0.85,\n flexGrow: 1,\n },\n attributeValueContainer: {\n borderRadius: 2,\n borderWidth: 0.2,\n flexDirection: 'row',\n padding: CONTAINER_PADDING,\n },\n container: {\n paddingHorizontal: 20,\n paddingTop: 16,\n },\n expandValueButton: {\n borderRadius: 4,\n borderWidth: 0,\n marginTop: 4,\n },\n lastAttribute: {\n paddingBottom: 30,\n },\n});\n\nexport const ActionIcon: FunctionComponent<{\n copy?: boolean;\n link?: string;\n onCopyToClipboard: (value: string) => void;\n style?: ViewStyle;\n testID?: string;\n value: string;\n}> = ({ value, link, onCopyToClipboard, testID, copy }) => {\n const handleCopy = useCallback(() => {\n onCopyToClipboard(value);\n }, [onCopyToClipboard, value]);\n\n const openLink = useCallback(() => {\n if (link) {\n Linking.openURL(link);\n }\n }, [link]);\n\n if (copy) {\n return (\n <TouchableOpacity onPress={handleCopy} testID={testID}>\n <CopyContentIcon />\n </TouchableOpacity>\n );\n }\n\n if (link) {\n return (\n <TouchableOpacity onPress={openLink} testID={testID}>\n <OpenLinkIcon />\n </TouchableOpacity>\n );\n }\n\n return null;\n};\n\nconst TextWithHighlight: FunctionComponent<{\n highlightedText: string;\n onLayout?: (event: LayoutChangeEvent) => void;\n testID: string;\n text: string;\n}> = ({ highlightedText, onLayout, testID, text }) => {\n const colorScheme = useAppColorScheme();\n return (\n <Typography\n color={colorScheme.white}\n onLayout={onLayout}\n preset=\"s/code\"\n style={styles.attributeValue}\n testID={testID}>\n <Typography color={colorScheme.nerdView.codeHighlightText} preset=\"s/code\">\n {highlightedText}\n </Typography>\n {text}\n </Typography>\n );\n};\n\nconst NerdModeItem: FunctionComponent<NerdModeItemProps> = ({\n highlightedText = '',\n attributeText = '',\n attributeKey,\n labels,\n link,\n canBeCopied,\n onCopyToClipboard,\n onExpand,\n expandedAttributes,\n last = false,\n scrollOffset,\n element,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const valueViewRef = React.useRef<View>(null);\n const [isSingleLine, setIsSingleLine] = useState<boolean>();\n\n const expandedView = useSharedValue({\n expandedAtOffset: 0,\n viewHeight: 0,\n viewStart: 0,\n });\n\n const expandable = attributeText.length > VALUE_PREVIEW_LENGTH;\n const [expanded, setExpanded] = useState(!expandable);\n\n const screenMiddle = useMemo(() => Dimensions.get('screen').height / 2, []);\n\n const iconTopPosition = useDerivedValue(() => {\n if (isSingleLine === undefined) {\n return 0;\n }\n if (!expanded || !expandable || !scrollOffset || isSingleLine) {\n const iconHeight = isSingleLine ? 0 : ICON_HEIGHT;\n return expandedView.value.viewHeight / 2 - iconHeight / 2;\n }\n\n const viewEnd = expandedView.value.viewStart + expandedView.value.viewHeight;\n let zeroedOffset = scrollOffset.value - expandedView.value.expandedAtOffset;\n\n if (expandedView.value.viewStart > screenMiddle) {\n zeroedOffset = zeroedOffset - (expandedView.value.viewStart - screenMiddle + ICON_HEIGHT / 2);\n } else {\n if (viewEnd < screenMiddle + ICON_HEIGHT) {\n zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);\n } else if (expandedView.value.viewStart < screenMiddle && viewEnd > screenMiddle) {\n zeroedOffset = zeroedOffset + (screenMiddle - expandedView.value.viewStart - ICON_HEIGHT / 2);\n }\n }\n\n return clamp(zeroedOffset, 0, expandedView.value.viewHeight - ICON_HEIGHT - 8);\n });\n\n const iconStyle = useAnimatedStyle(() => {\n return {\n transform: [\n {\n translateY: iconTopPosition.value,\n },\n ],\n };\n });\n\n const previewText = expanded ? attributeText : attributeText.slice(0, VALUE_PREVIEW_LENGTH) + '...';\n\n useEffect(() => {\n if (!scrollOffset || isSingleLine === undefined) {\n return;\n }\n\n setTimeout(() => {\n valueViewRef.current?.measure((x, y, w, h, px, py) => {\n expandedView.value = {\n expandedAtOffset: isSingleLine ? 0 : scrollOffset.value,\n viewHeight: isSingleLine ? 0 : h - 2 * CONTAINER_PADDING,\n viewStart: py,\n };\n });\n }, 0);\n // We only recompute when any attribute is expanded\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expandedAttributes, isSingleLine]);\n\n const onTextLayout = useCallback((event: LayoutChangeEvent) => {\n const { height } = event.nativeEvent.layout;\n setIsSingleLine(height <= 24);\n }, []);\n\n return (\n <View\n style={[\n styles.container,\n { backgroundColor: colorScheme.nerdView.attributeSectionBackground },\n last ? styles.lastAttribute : {},\n ]}\n testID={testID}>\n <Typography\n color={colorScheme.nerdView.attributeLabel}\n preset=\"s/code\"\n style={styles.attributeLabel}\n testID={concatTestID(testID, 'attributeLabel')}>\n {attributeKey}\n </Typography>\n <View\n ref={valueViewRef}\n style={[\n styles.attributeValueContainer,\n {\n backgroundColor: colorScheme.nerdView.attributeValueBackground,\n borderColor: colorScheme.nerdView.attributeValueBorder,\n },\n ]}>\n {element ? (\n element\n ) : (\n <TextWithHighlight\n highlightedText={highlightedText}\n onLayout={onTextLayout}\n testID={concatTestID(testID, 'attributeValue')!}\n text={previewText}\n />\n )}\n {(canBeCopied || link) && isSingleLine !== undefined ? (\n <Animated.View style={[styles.actionIcon, isSingleLine ? styles.actionIconSingleLine : undefined, iconStyle]}>\n {\n <ActionIcon\n copy={canBeCopied}\n link={link}\n onCopyToClipboard={onCopyToClipboard}\n testID={concatTestID(testID, 'actionIcon')}\n value={`${highlightedText}${attributeText}`}\n />\n }\n </Animated.View>\n ) : null}\n </View>\n {expandable ? (\n <Button\n onPress={() => {\n onExpand && onExpand(!expanded);\n setExpanded(!expanded);\n }}\n style={styles.expandValueButton}\n testID={concatTestID(testID, 'expandValueButton')}\n title={expanded ? labels.collapse : labels.expand}\n type={ButtonType.SmallTech}\n />\n ) : null}\n </View>\n );\n};\n\nexport default NerdModeItem;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=normalize-color.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["normalize-color.d.ts"],"sourcesContent":["declare module '@react-native/normalize-color';\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Biometry } from './keypad';
2
+ import { PinCodeScreen, PinCodeScreenActions, PinCodeScreenProps } from './pin-code-screen';
3
+ export { Biometry, PinCodeScreen, PinCodeScreenActions, PinCodeScreenProps };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Biometry","PinCodeScreen","PinCodeScreenActions","PinCodeScreenProps"],"sources":["index.ts"],"sourcesContent":["import { Biometry } from './keypad';\nimport { PinCodeScreen, PinCodeScreenActions, PinCodeScreenProps } from './pin-code-screen';\n\nexport { Biometry, PinCodeScreen, PinCodeScreenActions, PinCodeScreenProps };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,UAAU;AACnC,SAASC,aAAa,EAAEC,oBAAoB,EAAEC,kBAAkB,QAAQ,mBAAmB;AAE3F,SAASH,QAAQ,EAAEC,aAAa,EAAEC,oBAAoB,EAAEC,kBAAkB"}
@@ -0,0 +1,191 @@
1
+ import React, { useCallback, useMemo, useState } from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import { TouchableOpacity } from '../accessibility';
4
+ import { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';
5
+ import { FaceIDIcon, FingerprintIcon, KeypadBackspaceIcon, KeypadClearIcon } from '../icons/keypad';
6
+ import { Typography } from '../text';
7
+ import { useAppColorScheme } from '../theme';
8
+ import { concatTestID } from '../utils/testID';
9
+ const DigitKey = /*#__PURE__*/React.forwardRef((_ref, ref) => {
10
+ let {
11
+ onPress,
12
+ testID,
13
+ digit
14
+ } = _ref;
15
+ const colorScheme = useAppColorScheme();
16
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
17
+ testID: concatTestID(testID, String(digit)),
18
+ ref: ref,
19
+ accessibilityRole: "button",
20
+ style: [styles.key, {
21
+ backgroundColor: colorScheme.background
22
+ }],
23
+ disabled: !onPress,
24
+ onPress: () => onPress === null || onPress === void 0 ? void 0 : onPress(digit)
25
+ }, /*#__PURE__*/React.createElement(Typography, {
26
+ maxFontSizeMultiplier: 1.5,
27
+ color: colorScheme.text,
28
+ preset: "xl"
29
+ }, digit));
30
+ });
31
+ DigitKey.displayName = 'DigitKey';
32
+ export let Biometry;
33
+ (function (Biometry) {
34
+ Biometry["FaceID"] = "faceID";
35
+ Biometry["Other"] = "other";
36
+ })(Biometry || (Biometry = {}));
37
+ const MIN_HEIGHT = 360;
38
+ const MIN_WIDTH = 264;
39
+ const KEY_SIZE = 72;
40
+ export const Keypad = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
41
+ let {
42
+ testID,
43
+ onPressDigit,
44
+ onPressDelete,
45
+ biometry,
46
+ onBiometricPress,
47
+ style,
48
+ onDeleteAll
49
+ } = _ref2;
50
+ const t = useAccessibilityTranslation();
51
+ const colorScheme = useAppColorScheme();
52
+ const [layout, setLayout] = useState();
53
+ const onLayout = useCallback(event => setLayout(event.nativeEvent.layout), []);
54
+ const {
55
+ width,
56
+ height
57
+ } = useMemo(() => {
58
+ if (!layout) {
59
+ return {};
60
+ }
61
+ const RATIO = MIN_WIDTH / MIN_HEIGHT;
62
+ if (layout.width > layout.height * RATIO) {
63
+ return {
64
+ height: layout.height,
65
+ width: layout.height * RATIO
66
+ };
67
+ } else {
68
+ return {
69
+ width: layout.width,
70
+ height: layout.width / RATIO
71
+ };
72
+ }
73
+ }, [layout]);
74
+ const gap = width ? (width - 3 * KEY_SIZE) / 4 : undefined;
75
+ const lineStyles = [styles.line, {
76
+ width,
77
+ marginBottom: gap
78
+ }];
79
+ return /*#__PURE__*/React.createElement(View, {
80
+ testID: testID,
81
+ style: [styles.cover, style],
82
+ onLayout: onLayout
83
+ }, /*#__PURE__*/React.createElement(View, {
84
+ style: {
85
+ height
86
+ }
87
+ }, /*#__PURE__*/React.createElement(View, {
88
+ style: lineStyles
89
+ }, /*#__PURE__*/React.createElement(DigitKey, {
90
+ testID: testID,
91
+ ref: ref,
92
+ digit: 1,
93
+ onPress: onPressDigit
94
+ }), /*#__PURE__*/React.createElement(DigitKey, {
95
+ testID: testID,
96
+ digit: 2,
97
+ onPress: onPressDigit
98
+ }), /*#__PURE__*/React.createElement(DigitKey, {
99
+ testID: testID,
100
+ digit: 3,
101
+ onPress: onPressDigit
102
+ })), /*#__PURE__*/React.createElement(View, {
103
+ style: lineStyles
104
+ }, /*#__PURE__*/React.createElement(DigitKey, {
105
+ testID: testID,
106
+ digit: 4,
107
+ onPress: onPressDigit
108
+ }), /*#__PURE__*/React.createElement(DigitKey, {
109
+ testID: testID,
110
+ digit: 5,
111
+ onPress: onPressDigit
112
+ }), /*#__PURE__*/React.createElement(DigitKey, {
113
+ testID: testID,
114
+ digit: 6,
115
+ onPress: onPressDigit
116
+ })), /*#__PURE__*/React.createElement(View, {
117
+ style: lineStyles
118
+ }, /*#__PURE__*/React.createElement(DigitKey, {
119
+ testID: testID,
120
+ digit: 7,
121
+ onPress: onPressDigit
122
+ }), /*#__PURE__*/React.createElement(DigitKey, {
123
+ testID: testID,
124
+ digit: 8,
125
+ onPress: onPressDigit
126
+ }), /*#__PURE__*/React.createElement(DigitKey, {
127
+ testID: testID,
128
+ digit: 9,
129
+ onPress: onPressDigit
130
+ })), /*#__PURE__*/React.createElement(View, {
131
+ style: lineStyles
132
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
133
+ testID: concatTestID(testID, 'delete-all'),
134
+ accessibilityRole: "button",
135
+ accessibilityLabel: t('accessibility.control.clear'),
136
+ style: styles.key,
137
+ disabled: !onDeleteAll,
138
+ onPress: onDeleteAll
139
+ }, onDeleteAll ? /*#__PURE__*/React.createElement(KeypadClearIcon, {
140
+ color: colorScheme.text
141
+ }) : null), /*#__PURE__*/React.createElement(DigitKey, {
142
+ testID: testID,
143
+ digit: 0,
144
+ onPress: onPressDigit
145
+ }), biometry ? /*#__PURE__*/React.createElement(TouchableOpacity, {
146
+ testID: concatTestID(testID, 'biometry'),
147
+ accessibilityRole: "button",
148
+ accessibilityLabel: t(biometry === Biometry.FaceID ? 'accessibility.key.faceId' : 'accessibility.key.fingerprint'),
149
+ style: styles.key,
150
+ disabled: !onBiometricPress,
151
+ onPress: onBiometricPress
152
+ }, biometry === Biometry.FaceID ? /*#__PURE__*/React.createElement(FaceIDIcon, {
153
+ color: colorScheme.text
154
+ }) : /*#__PURE__*/React.createElement(FingerprintIcon, {
155
+ color: colorScheme.text
156
+ })) : /*#__PURE__*/React.createElement(TouchableOpacity, {
157
+ testID: concatTestID(testID, 'delete'),
158
+ accessibilityRole: "button",
159
+ accessibilityLabel: t('accessibility.control.delete'),
160
+ style: styles.key,
161
+ disabled: !onPressDelete,
162
+ onPress: onPressDelete
163
+ }, onPressDelete ? /*#__PURE__*/React.createElement(KeypadBackspaceIcon, {
164
+ color: colorScheme.text
165
+ }) : null))));
166
+ });
167
+ Keypad.displayName = 'Keypad';
168
+ const styles = StyleSheet.create({
169
+ cover: {
170
+ alignItems: 'center',
171
+ flex: 1,
172
+ justifyContent: 'center',
173
+ maxHeight: 2 * MIN_HEIGHT,
174
+ maxWidth: 2 * MIN_WIDTH,
175
+ minHeight: MIN_HEIGHT,
176
+ minWidth: MIN_WIDTH,
177
+ width: '100%'
178
+ },
179
+ key: {
180
+ alignItems: 'center',
181
+ borderRadius: KEY_SIZE / 2,
182
+ height: KEY_SIZE,
183
+ justifyContent: 'center',
184
+ width: KEY_SIZE
185
+ },
186
+ line: {
187
+ flexDirection: 'row',
188
+ justifyContent: 'space-evenly'
189
+ }
190
+ });
191
+ //# sourceMappingURL=keypad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","useState","StyleSheet","View","TouchableOpacity","useAccessibilityTranslation","FaceIDIcon","FingerprintIcon","KeypadBackspaceIcon","KeypadClearIcon","Typography","useAppColorScheme","concatTestID","DigitKey","forwardRef","_ref","ref","onPress","testID","digit","colorScheme","createElement","String","accessibilityRole","style","styles","key","backgroundColor","background","disabled","maxFontSizeMultiplier","color","text","preset","displayName","Biometry","MIN_HEIGHT","MIN_WIDTH","KEY_SIZE","Keypad","_ref2","onPressDigit","onPressDelete","biometry","onBiometricPress","onDeleteAll","t","layout","setLayout","onLayout","event","nativeEvent","width","height","RATIO","gap","undefined","lineStyles","line","marginBottom","cover","accessibilityLabel","FaceID","create","alignItems","flex","justifyContent","maxHeight","maxWidth","minHeight","minWidth","borderRadius","flexDirection"],"sources":["keypad.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { TouchableOpacity, TouchableOpacityRef } from '../accessibility';\nimport { useAccessibilityTranslation } from '../accessibility/accessibilityLanguage';\nimport { FaceIDIcon, FingerprintIcon, KeypadBackspaceIcon, KeypadClearIcon } from '../icons/keypad';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\nimport { concatTestID } from '../utils/testID';\n\ninterface DigitKeyProps {\n testID: string | undefined;\n digit: number;\n onPress?: (digit: number) => void;\n}\n\nconst DigitKey = React.forwardRef<TouchableOpacityRef, DigitKeyProps>(({ onPress, testID, digit }, ref) => {\n const colorScheme = useAppColorScheme();\n return (\n <TouchableOpacity\n testID={concatTestID(testID, String(digit))}\n ref={ref}\n accessibilityRole=\"button\"\n style={[styles.key, { backgroundColor: colorScheme.background }]}\n disabled={!onPress}\n onPress={() => onPress?.(digit)}>\n <Typography maxFontSizeMultiplier={1.5} color={colorScheme.text} preset=\"xl\">\n {digit}\n </Typography>\n </TouchableOpacity>\n );\n});\n\nDigitKey.displayName = 'DigitKey';\n\nexport enum Biometry {\n FaceID = 'faceID',\n Other = 'other',\n}\n\nexport interface KeypadProps {\n testID?: string;\n biometry?: Biometry | null;\n onBiometricPress?: () => void;\n onPressDigit?: (digit: number) => void;\n onPressDelete?: () => void;\n style?: StyleProp<ViewStyle>;\n onDeleteAll?: () => void;\n}\n\nconst MIN_HEIGHT = 360;\nconst MIN_WIDTH = 264;\nconst KEY_SIZE = 72;\n\nexport const Keypad = React.forwardRef<TouchableOpacityRef, KeypadProps>(\n ({ testID, onPressDigit, onPressDelete, biometry, onBiometricPress, style, onDeleteAll }, ref) => {\n const t = useAccessibilityTranslation();\n const colorScheme = useAppColorScheme();\n\n const [layout, setLayout] = useState<LayoutRectangle>();\n const onLayout = useCallback((event: LayoutChangeEvent) => setLayout(event.nativeEvent.layout), []);\n\n const { width, height } = useMemo(() => {\n if (!layout) {\n return {};\n }\n\n const RATIO = MIN_WIDTH / MIN_HEIGHT;\n if (layout.width > layout.height * RATIO) {\n return { height: layout.height, width: layout.height * RATIO };\n } else {\n return { width: layout.width, height: layout.width / RATIO };\n }\n }, [layout]);\n\n const gap = width ? (width - 3 * KEY_SIZE) / 4 : undefined;\n const lineStyles = [styles.line, { width, marginBottom: gap }];\n\n return (\n <View testID={testID} style={[styles.cover, style]} onLayout={onLayout}>\n <View style={{ height }}>\n <View style={lineStyles}>\n <DigitKey testID={testID} ref={ref} digit={1} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={2} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={3} onPress={onPressDigit} />\n </View>\n <View style={lineStyles}>\n <DigitKey testID={testID} digit={4} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={5} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={6} onPress={onPressDigit} />\n </View>\n <View style={lineStyles}>\n <DigitKey testID={testID} digit={7} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={8} onPress={onPressDigit} />\n <DigitKey testID={testID} digit={9} onPress={onPressDigit} />\n </View>\n <View style={lineStyles}>\n <TouchableOpacity\n testID={concatTestID(testID, 'delete-all')}\n accessibilityRole=\"button\"\n accessibilityLabel={t('accessibility.control.clear')}\n style={styles.key}\n disabled={!onDeleteAll}\n onPress={onDeleteAll}>\n {onDeleteAll ? <KeypadClearIcon color={colorScheme.text} /> : null}\n </TouchableOpacity>\n <DigitKey testID={testID} digit={0} onPress={onPressDigit} />\n {biometry ? (\n <TouchableOpacity\n testID={concatTestID(testID, 'biometry')}\n accessibilityRole=\"button\"\n accessibilityLabel={t(\n biometry === Biometry.FaceID ? 'accessibility.key.faceId' : 'accessibility.key.fingerprint',\n )}\n style={styles.key}\n disabled={!onBiometricPress}\n onPress={onBiometricPress}>\n {biometry === Biometry.FaceID ? (\n <FaceIDIcon color={colorScheme.text} />\n ) : (\n <FingerprintIcon color={colorScheme.text} />\n )}\n </TouchableOpacity>\n ) : (\n <TouchableOpacity\n testID={concatTestID(testID, 'delete')}\n accessibilityRole=\"button\"\n accessibilityLabel={t('accessibility.control.delete')}\n style={styles.key}\n disabled={!onPressDelete}\n onPress={onPressDelete}>\n {onPressDelete ? <KeypadBackspaceIcon color={colorScheme.text} /> : null}\n </TouchableOpacity>\n )}\n </View>\n </View>\n </View>\n );\n },\n);\n\nKeypad.displayName = 'Keypad';\n\nconst styles = StyleSheet.create({\n cover: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n maxHeight: 2 * MIN_HEIGHT,\n maxWidth: 2 * MIN_WIDTH,\n minHeight: MIN_HEIGHT,\n minWidth: MIN_WIDTH,\n width: '100%',\n },\n key: {\n alignItems: 'center',\n borderRadius: KEY_SIZE / 2,\n height: KEY_SIZE,\n justifyContent: 'center',\n width: KEY_SIZE,\n },\n line: {\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n },\n});\n"],"mappings":"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"}