@unif/react-native-camera 1.2.6 → 2.0.0

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 (407) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +92 -22
  3. package/lib/module/camera/Camera.js +163 -285
  4. package/lib/module/camera/Camera.js.map +1 -1
  5. package/lib/module/camera/Container.js +209 -49
  6. package/lib/module/camera/Container.js.map +1 -1
  7. package/lib/module/camera/Error.js +23 -18
  8. package/lib/module/camera/Error.js.map +1 -1
  9. package/lib/module/camera/FocusIndicator.js +35 -41
  10. package/lib/module/camera/FocusIndicator.js.map +1 -1
  11. package/lib/module/camera/ModalView.js +28 -21
  12. package/lib/module/camera/ModalView.js.map +1 -1
  13. package/lib/module/camera/NoCamera.js +38 -14
  14. package/lib/module/camera/NoCamera.js.map +1 -1
  15. package/lib/module/camera/NoPermission.js +44 -38
  16. package/lib/module/camera/NoPermission.js.map +1 -1
  17. package/lib/module/camera/capturePhotoHelper.js +24 -0
  18. package/lib/module/camera/capturePhotoHelper.js.map +1 -0
  19. package/lib/module/camera/footer/Footer.js +83 -140
  20. package/lib/module/camera/footer/Footer.js.map +1 -1
  21. package/lib/module/camera/footer/index.js +3 -2
  22. package/lib/module/camera/footer/index.js.map +1 -1
  23. package/lib/module/camera/index.js +11 -13
  24. package/lib/module/camera/index.js.map +1 -1
  25. package/lib/module/camera/preview/PreView.js +36 -93
  26. package/lib/module/camera/preview/PreView.js.map +1 -1
  27. package/lib/module/camera/preview/PreViewContainer.js +28 -29
  28. package/lib/module/camera/preview/PreViewContainer.js.map +1 -1
  29. package/lib/module/camera/preview/PreviewFooter.js +30 -21
  30. package/lib/module/camera/preview/PreviewFooter.js.map +1 -1
  31. package/lib/module/camera/preview/SinglePre.js +28 -60
  32. package/lib/module/camera/preview/SinglePre.js.map +1 -1
  33. package/lib/module/camera/preview/index.js +6 -12
  34. package/lib/module/camera/preview/index.js.map +1 -1
  35. package/lib/module/camera/setup/SetUp.js +67 -189
  36. package/lib/module/camera/setup/SetUp.js.map +1 -1
  37. package/lib/module/camera/setup/index.js +3 -2
  38. package/lib/module/camera/setup/index.js.map +1 -1
  39. package/lib/module/components/Carousel/Carousel.js +33 -40
  40. package/lib/module/components/Carousel/Carousel.js.map +1 -1
  41. package/lib/module/components/Carousel/SlideItem.js +22 -70
  42. package/lib/module/components/Carousel/SlideItem.js.map +1 -1
  43. package/lib/module/components/Carousel/index.js +4 -11
  44. package/lib/module/components/Carousel/index.js.map +1 -1
  45. package/lib/module/components/Loading.js +15 -61
  46. package/lib/module/components/Loading.js.map +1 -1
  47. package/lib/module/components/PreviewThumbnail.js +36 -33
  48. package/lib/module/components/PreviewThumbnail.js.map +1 -1
  49. package/lib/module/components/index.js +5 -8
  50. package/lib/module/components/index.js.map +1 -1
  51. package/lib/module/hooks/index.js +5 -11
  52. package/lib/module/hooks/index.js.map +1 -1
  53. package/lib/module/hooks/useCamera.js +44 -0
  54. package/lib/module/hooks/useCamera.js.map +1 -0
  55. package/lib/module/hooks/useConfirm.js +13 -49
  56. package/lib/module/hooks/useConfirm.js.map +1 -1
  57. package/lib/module/hooks/useCreation.js +18 -0
  58. package/lib/module/hooks/useCreation.js.map +1 -0
  59. package/lib/module/index.js +4 -24
  60. package/lib/module/index.js.map +1 -1
  61. package/lib/module/package.json +1 -0
  62. package/lib/module/utils/depsAreSame.js +7 -4
  63. package/lib/module/utils/depsAreSame.js.map +1 -1
  64. package/lib/module/utils/index.js +6 -14
  65. package/lib/module/utils/index.js.map +1 -1
  66. package/lib/module/utils/interface.js +1 -21
  67. package/lib/module/utils/interface.js.map +1 -1
  68. package/lib/module/utils/px-to-dp.js +6 -10
  69. package/lib/module/utils/px-to-dp.js.map +1 -1
  70. package/lib/module/utils/util.js +16 -40
  71. package/lib/module/utils/util.js.map +1 -1
  72. package/lib/typescript/jest.setup.d.ts +1 -0
  73. package/lib/typescript/jest.setup.d.ts.map +1 -0
  74. package/lib/typescript/package.json +1 -0
  75. package/lib/typescript/src/camera/Camera.d.ts +18 -10
  76. package/lib/typescript/src/camera/Camera.d.ts.map +1 -1
  77. package/lib/typescript/src/camera/Container.d.ts +7 -5
  78. package/lib/typescript/src/camera/Container.d.ts.map +1 -1
  79. package/lib/typescript/src/camera/Error.d.ts +3 -7
  80. package/lib/typescript/src/camera/Error.d.ts.map +1 -1
  81. package/lib/typescript/src/camera/FocusIndicator.d.ts +7 -7
  82. package/lib/typescript/src/camera/FocusIndicator.d.ts.map +1 -1
  83. package/lib/typescript/src/camera/ModalView.d.ts +7 -4
  84. package/lib/typescript/src/camera/ModalView.d.ts.map +1 -1
  85. package/lib/typescript/src/camera/NoCamera.d.ts +5 -3
  86. package/lib/typescript/src/camera/NoCamera.d.ts.map +1 -1
  87. package/lib/typescript/src/camera/NoPermission.d.ts +6 -3
  88. package/lib/typescript/src/camera/NoPermission.d.ts.map +1 -1
  89. package/lib/typescript/src/camera/capturePhotoHelper.d.ts +16 -0
  90. package/lib/typescript/src/camera/capturePhotoHelper.d.ts.map +1 -0
  91. package/lib/typescript/src/camera/footer/Footer.d.ts +13 -15
  92. package/lib/typescript/src/camera/footer/Footer.d.ts.map +1 -1
  93. package/lib/typescript/src/camera/footer/index.d.ts +1 -2
  94. package/lib/typescript/src/camera/footer/index.d.ts.map +1 -1
  95. package/lib/typescript/src/camera/index.d.ts +9 -5
  96. package/lib/typescript/src/camera/index.d.ts.map +1 -1
  97. package/lib/typescript/src/camera/preview/PreView.d.ts +6 -9
  98. package/lib/typescript/src/camera/preview/PreView.d.ts.map +1 -1
  99. package/lib/typescript/src/camera/preview/PreViewContainer.d.ts +8 -5
  100. package/lib/typescript/src/camera/preview/PreViewContainer.d.ts.map +1 -1
  101. package/lib/typescript/src/camera/preview/PreviewFooter.d.ts +6 -6
  102. package/lib/typescript/src/camera/preview/PreviewFooter.d.ts.map +1 -1
  103. package/lib/typescript/src/camera/preview/SinglePre.d.ts +5 -28
  104. package/lib/typescript/src/camera/preview/SinglePre.d.ts.map +1 -1
  105. package/lib/typescript/src/camera/preview/index.d.ts +4 -4
  106. package/lib/typescript/src/camera/preview/index.d.ts.map +1 -1
  107. package/lib/typescript/src/camera/setup/SetUp.d.ts +12 -11
  108. package/lib/typescript/src/camera/setup/SetUp.d.ts.map +1 -1
  109. package/lib/typescript/src/camera/setup/index.d.ts +1 -2
  110. package/lib/typescript/src/camera/setup/index.d.ts.map +1 -1
  111. package/lib/typescript/src/components/Carousel/Carousel.d.ts +6 -8
  112. package/lib/typescript/src/components/Carousel/Carousel.d.ts.map +1 -1
  113. package/lib/typescript/src/components/Carousel/SlideItem.d.ts +4 -12
  114. package/lib/typescript/src/components/Carousel/SlideItem.d.ts.map +1 -1
  115. package/lib/typescript/src/components/Carousel/index.d.ts +2 -3
  116. package/lib/typescript/src/components/Carousel/index.d.ts.map +1 -1
  117. package/lib/typescript/src/components/Loading.d.ts +1 -3
  118. package/lib/typescript/src/components/Loading.d.ts.map +1 -1
  119. package/lib/typescript/src/components/PreviewThumbnail.d.ts +7 -8
  120. package/lib/typescript/src/components/PreviewThumbnail.d.ts.map +1 -1
  121. package/lib/typescript/src/components/index.d.ts +2 -7
  122. package/lib/typescript/src/components/index.d.ts.map +1 -1
  123. package/lib/typescript/src/hooks/index.d.ts +3 -3
  124. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  125. package/lib/typescript/src/hooks/useCamera.d.ts +4 -0
  126. package/lib/typescript/src/hooks/useCamera.d.ts.map +1 -0
  127. package/lib/typescript/src/hooks/useConfirm.d.ts +1 -5
  128. package/lib/typescript/src/hooks/useConfirm.d.ts.map +1 -1
  129. package/lib/typescript/src/hooks/useCreation.d.ts +2 -0
  130. package/lib/typescript/src/hooks/useCreation.d.ts.map +1 -0
  131. package/lib/typescript/src/index.d.ts +3 -4
  132. package/lib/typescript/src/index.d.ts.map +1 -1
  133. package/lib/typescript/src/utils/depsAreSame.d.ts +1 -2
  134. package/lib/typescript/src/utils/depsAreSame.d.ts.map +1 -1
  135. package/lib/typescript/src/utils/index.d.ts +2 -4
  136. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  137. package/lib/typescript/src/utils/interface.d.ts +30 -70
  138. package/lib/typescript/src/utils/interface.d.ts.map +1 -1
  139. package/lib/typescript/src/utils/px-to-dp.d.ts +1 -3
  140. package/lib/typescript/src/utils/px-to-dp.d.ts.map +1 -1
  141. package/lib/typescript/src/utils/util.d.ts +8 -9
  142. package/lib/typescript/src/utils/util.d.ts.map +1 -1
  143. package/package.json +120 -107
  144. package/src/camera/Camera.tsx +210 -331
  145. package/src/camera/Container.tsx +224 -50
  146. package/src/camera/Error.tsx +22 -23
  147. package/src/camera/FocusIndicator.tsx +36 -46
  148. package/src/camera/ModalView.tsx +26 -24
  149. package/src/camera/NoCamera.tsx +37 -14
  150. package/src/camera/NoPermission.tsx +45 -37
  151. package/src/camera/capturePhotoHelper.ts +37 -0
  152. package/src/camera/footer/Footer.tsx +104 -195
  153. package/src/camera/footer/index.tsx +1 -2
  154. package/src/camera/index.tsx +12 -13
  155. package/src/camera/preview/PreView.tsx +22 -103
  156. package/src/camera/preview/PreViewContainer.tsx +23 -27
  157. package/src/camera/preview/PreviewFooter.tsx +28 -22
  158. package/src/camera/preview/SinglePre.tsx +23 -68
  159. package/src/camera/preview/index.tsx +4 -13
  160. package/src/camera/setup/SetUp.tsx +80 -217
  161. package/src/camera/setup/index.tsx +1 -3
  162. package/src/components/Carousel/Carousel.tsx +22 -42
  163. package/src/components/Carousel/SlideItem.tsx +12 -87
  164. package/src/components/Carousel/index.tsx +2 -13
  165. package/src/components/Loading.tsx +7 -69
  166. package/src/components/PreviewThumbnail.tsx +38 -33
  167. package/src/components/index.tsx +2 -7
  168. package/src/hooks/index.ts +3 -12
  169. package/src/hooks/useCamera.tsx +42 -0
  170. package/src/hooks/useConfirm.tsx +10 -57
  171. package/src/hooks/useCreation.ts +26 -0
  172. package/src/index.tsx +3 -37
  173. package/src/utils/depsAreSame.ts +7 -8
  174. package/src/utils/index.ts +2 -12
  175. package/src/utils/interface.ts +26 -87
  176. package/src/utils/px-to-dp.tsx +5 -9
  177. package/src/utils/util.ts +17 -42
  178. package/UnifRNCamera.podspec +0 -41
  179. package/android/CMakeLists.txt +0 -15
  180. package/android/build.gradle +0 -124
  181. package/android/cpp-adapter.cpp +0 -8
  182. package/android/gradle.properties +0 -5
  183. package/android/src/main/AndroidManifest.xml +0 -3
  184. package/android/src/main/AndroidManifestNew.xml +0 -2
  185. package/android/src/main/java/com/unif/reactnativecamera/ReactNativeCameraModule.java +0 -34
  186. package/android/src/main/java/com/unif/reactnativecamera/ReactNativeCameraPackage.java +0 -45
  187. package/android/src/newarch/ReactNativeCameraSpec.java +0 -9
  188. package/android/src/oldarch/ReactNativeCameraSpec.java +0 -13
  189. package/cpp/unif-react-native-camera.cpp +0 -7
  190. package/cpp/unif-react-native-camera.h +0 -8
  191. package/ios/ReactNativeCamera.h +0 -15
  192. package/ios/ReactNativeCamera.mm +0 -51
  193. package/lib/commonjs/NativeReactNativeCamera.js +0 -17
  194. package/lib/commonjs/NativeReactNativeCamera.js.map +0 -1
  195. package/lib/commonjs/assets/close.png +0 -0
  196. package/lib/commonjs/assets/home/record.png +0 -0
  197. package/lib/commonjs/assets/home/take.png +0 -0
  198. package/lib/commonjs/assets/preview/back.png +0 -0
  199. package/lib/commonjs/assets/preview/del.png +0 -0
  200. package/lib/commonjs/assets/preview/rotate.png +0 -0
  201. package/lib/commonjs/assets/preview/save.png +0 -0
  202. package/lib/commonjs/assets/tools/auto.png +0 -0
  203. package/lib/commonjs/assets/tools/defaultEye.png +0 -0
  204. package/lib/commonjs/assets/tools/enlarge.png +0 -0
  205. package/lib/commonjs/assets/tools/fishEye.png +0 -0
  206. package/lib/commonjs/assets/tools/narrow.png +0 -0
  207. package/lib/commonjs/assets/tools/off.png +0 -0
  208. package/lib/commonjs/assets/tools/on.png +0 -0
  209. package/lib/commonjs/assets/tools/volumeOff.png +0 -0
  210. package/lib/commonjs/assets/tools/volumeOn.png +0 -0
  211. package/lib/commonjs/camera/Camera.js +0 -316
  212. package/lib/commonjs/camera/Camera.js.map +0 -1
  213. package/lib/commonjs/camera/Container.js +0 -64
  214. package/lib/commonjs/camera/Container.js.map +0 -1
  215. package/lib/commonjs/camera/Error.js +0 -30
  216. package/lib/commonjs/camera/Error.js.map +0 -1
  217. package/lib/commonjs/camera/FocusIndicator.js +0 -64
  218. package/lib/commonjs/camera/FocusIndicator.js.map +0 -1
  219. package/lib/commonjs/camera/ModalView.js +0 -37
  220. package/lib/commonjs/camera/ModalView.js.map +0 -1
  221. package/lib/commonjs/camera/NoCamera.js +0 -23
  222. package/lib/commonjs/camera/NoCamera.js.map +0 -1
  223. package/lib/commonjs/camera/NoPermission.js +0 -50
  224. package/lib/commonjs/camera/NoPermission.js.map +0 -1
  225. package/lib/commonjs/camera/footer/Footer.js +0 -159
  226. package/lib/commonjs/camera/footer/Footer.js.map +0 -1
  227. package/lib/commonjs/camera/footer/index.js +0 -14
  228. package/lib/commonjs/camera/footer/index.js.map +0 -1
  229. package/lib/commonjs/camera/index.js +0 -35
  230. package/lib/commonjs/camera/index.js.map +0 -1
  231. package/lib/commonjs/camera/preview/PreView.js +0 -109
  232. package/lib/commonjs/camera/preview/PreView.js.map +0 -1
  233. package/lib/commonjs/camera/preview/PreViewContainer.js +0 -42
  234. package/lib/commonjs/camera/preview/PreViewContainer.js.map +0 -1
  235. package/lib/commonjs/camera/preview/PreviewFooter.js +0 -35
  236. package/lib/commonjs/camera/preview/PreviewFooter.js.map +0 -1
  237. package/lib/commonjs/camera/preview/SinglePre.js +0 -72
  238. package/lib/commonjs/camera/preview/SinglePre.js.map +0 -1
  239. package/lib/commonjs/camera/preview/index.js +0 -28
  240. package/lib/commonjs/camera/preview/index.js.map +0 -1
  241. package/lib/commonjs/camera/setup/SetUp.js +0 -205
  242. package/lib/commonjs/camera/setup/SetUp.js.map +0 -1
  243. package/lib/commonjs/camera/setup/index.js +0 -14
  244. package/lib/commonjs/camera/setup/index.js.map +0 -1
  245. package/lib/commonjs/camera/watermark/Render.js +0 -110
  246. package/lib/commonjs/camera/watermark/Render.js.map +0 -1
  247. package/lib/commonjs/camera/watermark/ViewShotWatermark.js +0 -143
  248. package/lib/commonjs/camera/watermark/ViewShotWatermark.js.map +0 -1
  249. package/lib/commonjs/camera/watermark/index.js +0 -21
  250. package/lib/commonjs/camera/watermark/index.js.map +0 -1
  251. package/lib/commonjs/components/Back.js +0 -48
  252. package/lib/commonjs/components/Back.js.map +0 -1
  253. package/lib/commonjs/components/Carousel/Carousel.js +0 -51
  254. package/lib/commonjs/components/Carousel/Carousel.js.map +0 -1
  255. package/lib/commonjs/components/Carousel/SlideItem.js +0 -84
  256. package/lib/commonjs/components/Carousel/SlideItem.js.map +0 -1
  257. package/lib/commonjs/components/Carousel/index.js +0 -21
  258. package/lib/commonjs/components/Carousel/index.js.map +0 -1
  259. package/lib/commonjs/components/Delete.js +0 -36
  260. package/lib/commonjs/components/Delete.js.map +0 -1
  261. package/lib/commonjs/components/Loading.js +0 -75
  262. package/lib/commonjs/components/Loading.js.map +0 -1
  263. package/lib/commonjs/components/Modal/Confirm.js +0 -121
  264. package/lib/commonjs/components/Modal/Confirm.js.map +0 -1
  265. package/lib/commonjs/components/Modal/index.js +0 -14
  266. package/lib/commonjs/components/Modal/index.js.map +0 -1
  267. package/lib/commonjs/components/PreviewThumbnail.js +0 -44
  268. package/lib/commonjs/components/PreviewThumbnail.js.map +0 -1
  269. package/lib/commonjs/components/Rotate.js +0 -32
  270. package/lib/commonjs/components/Rotate.js.map +0 -1
  271. package/lib/commonjs/components/Save.js +0 -48
  272. package/lib/commonjs/components/Save.js.map +0 -1
  273. package/lib/commonjs/components/index.js +0 -73
  274. package/lib/commonjs/components/index.js.map +0 -1
  275. package/lib/commonjs/hooks/index.js +0 -21
  276. package/lib/commonjs/hooks/index.js.map +0 -1
  277. package/lib/commonjs/hooks/useCamera.tsx/index.js +0 -90
  278. package/lib/commonjs/hooks/useCamera.tsx/index.js.map +0 -1
  279. package/lib/commonjs/hooks/useConfirm.js +0 -61
  280. package/lib/commonjs/hooks/useConfirm.js.map +0 -1
  281. package/lib/commonjs/hooks/useCreation/index.js +0 -34
  282. package/lib/commonjs/hooks/useCreation/index.js.map +0 -1
  283. package/lib/commonjs/index.js +0 -39
  284. package/lib/commonjs/index.js.map +0 -1
  285. package/lib/commonjs/utils/common.js +0 -69
  286. package/lib/commonjs/utils/common.js.map +0 -1
  287. package/lib/commonjs/utils/depsAreSame.js +0 -14
  288. package/lib/commonjs/utils/depsAreSame.js.map +0 -1
  289. package/lib/commonjs/utils/index.js +0 -72
  290. package/lib/commonjs/utils/index.js.map +0 -1
  291. package/lib/commonjs/utils/interface.js +0 -24
  292. package/lib/commonjs/utils/interface.js.map +0 -1
  293. package/lib/commonjs/utils/px-to-dp.js +0 -21
  294. package/lib/commonjs/utils/px-to-dp.js.map +0 -1
  295. package/lib/commonjs/utils/render-item.js +0 -40
  296. package/lib/commonjs/utils/render-item.js.map +0 -1
  297. package/lib/commonjs/utils/util.js +0 -53
  298. package/lib/commonjs/utils/util.js.map +0 -1
  299. package/lib/commonjs/utils/watermark.js +0 -49
  300. package/lib/commonjs/utils/watermark.js.map +0 -1
  301. package/lib/module/NativeReactNativeCamera.js +0 -12
  302. package/lib/module/NativeReactNativeCamera.js.map +0 -1
  303. package/lib/module/assets/close.png +0 -0
  304. package/lib/module/assets/home/record.png +0 -0
  305. package/lib/module/assets/home/take.png +0 -0
  306. package/lib/module/assets/preview/back.png +0 -0
  307. package/lib/module/assets/preview/del.png +0 -0
  308. package/lib/module/assets/preview/rotate.png +0 -0
  309. package/lib/module/assets/preview/save.png +0 -0
  310. package/lib/module/assets/tools/auto.png +0 -0
  311. package/lib/module/assets/tools/defaultEye.png +0 -0
  312. package/lib/module/assets/tools/enlarge.png +0 -0
  313. package/lib/module/assets/tools/fishEye.png +0 -0
  314. package/lib/module/assets/tools/narrow.png +0 -0
  315. package/lib/module/assets/tools/off.png +0 -0
  316. package/lib/module/assets/tools/on.png +0 -0
  317. package/lib/module/assets/tools/volumeOff.png +0 -0
  318. package/lib/module/assets/tools/volumeOn.png +0 -0
  319. package/lib/module/camera/watermark/Render.js +0 -102
  320. package/lib/module/camera/watermark/Render.js.map +0 -1
  321. package/lib/module/camera/watermark/ViewShotWatermark.js +0 -133
  322. package/lib/module/camera/watermark/ViewShotWatermark.js.map +0 -1
  323. package/lib/module/camera/watermark/index.js +0 -13
  324. package/lib/module/camera/watermark/index.js.map +0 -1
  325. package/lib/module/components/Back.js +0 -40
  326. package/lib/module/components/Back.js.map +0 -1
  327. package/lib/module/components/Delete.js +0 -28
  328. package/lib/module/components/Delete.js.map +0 -1
  329. package/lib/module/components/Modal/Confirm.js +0 -111
  330. package/lib/module/components/Modal/Confirm.js.map +0 -1
  331. package/lib/module/components/Modal/index.js +0 -3
  332. package/lib/module/components/Modal/index.js.map +0 -1
  333. package/lib/module/components/Rotate.js +0 -24
  334. package/lib/module/components/Rotate.js.map +0 -1
  335. package/lib/module/components/Save.js +0 -40
  336. package/lib/module/components/Save.js.map +0 -1
  337. package/lib/module/hooks/useCamera.tsx/index.js +0 -81
  338. package/lib/module/hooks/useCamera.tsx/index.js.map +0 -1
  339. package/lib/module/hooks/useCreation/index.js +0 -27
  340. package/lib/module/hooks/useCreation/index.js.map +0 -1
  341. package/lib/module/utils/common.js +0 -62
  342. package/lib/module/utils/common.js.map +0 -1
  343. package/lib/module/utils/render-item.js +0 -32
  344. package/lib/module/utils/render-item.js.map +0 -1
  345. package/lib/module/utils/watermark.js +0 -39
  346. package/lib/module/utils/watermark.js.map +0 -1
  347. package/lib/typescript/src/NativeReactNativeCamera.d.ts +0 -6
  348. package/lib/typescript/src/NativeReactNativeCamera.d.ts.map +0 -1
  349. package/lib/typescript/src/camera/watermark/Render.d.ts +0 -26
  350. package/lib/typescript/src/camera/watermark/Render.d.ts.map +0 -1
  351. package/lib/typescript/src/camera/watermark/ViewShotWatermark.d.ts +0 -41
  352. package/lib/typescript/src/camera/watermark/ViewShotWatermark.d.ts.map +0 -1
  353. package/lib/typescript/src/camera/watermark/index.d.ts +0 -4
  354. package/lib/typescript/src/camera/watermark/index.d.ts.map +0 -1
  355. package/lib/typescript/src/components/Back.d.ts +0 -20
  356. package/lib/typescript/src/components/Back.d.ts.map +0 -1
  357. package/lib/typescript/src/components/Delete.d.ts +0 -7
  358. package/lib/typescript/src/components/Delete.d.ts.map +0 -1
  359. package/lib/typescript/src/components/Modal/Confirm.d.ts +0 -9
  360. package/lib/typescript/src/components/Modal/Confirm.d.ts.map +0 -1
  361. package/lib/typescript/src/components/Modal/index.d.ts +0 -3
  362. package/lib/typescript/src/components/Modal/index.d.ts.map +0 -1
  363. package/lib/typescript/src/components/Rotate.d.ts +0 -9
  364. package/lib/typescript/src/components/Rotate.d.ts.map +0 -1
  365. package/lib/typescript/src/components/Save.d.ts +0 -20
  366. package/lib/typescript/src/components/Save.d.ts.map +0 -1
  367. package/lib/typescript/src/hooks/useCamera.tsx/index.d.ts +0 -5
  368. package/lib/typescript/src/hooks/useCamera.tsx/index.d.ts.map +0 -1
  369. package/lib/typescript/src/hooks/useCreation/index.d.ts +0 -3
  370. package/lib/typescript/src/hooks/useCreation/index.d.ts.map +0 -1
  371. package/lib/typescript/src/utils/common.d.ts +0 -14
  372. package/lib/typescript/src/utils/common.d.ts.map +0 -1
  373. package/lib/typescript/src/utils/render-item.d.ts +0 -10
  374. package/lib/typescript/src/utils/render-item.d.ts.map +0 -1
  375. package/lib/typescript/src/utils/watermark.d.ts +0 -11
  376. package/lib/typescript/src/utils/watermark.d.ts.map +0 -1
  377. package/src/NativeReactNativeCamera.ts +0 -15
  378. package/src/assets/close.png +0 -0
  379. package/src/assets/home/record.png +0 -0
  380. package/src/assets/home/take.png +0 -0
  381. package/src/assets/preview/back.png +0 -0
  382. package/src/assets/preview/del.png +0 -0
  383. package/src/assets/preview/rotate.png +0 -0
  384. package/src/assets/preview/save.png +0 -0
  385. package/src/assets/tools/auto.png +0 -0
  386. package/src/assets/tools/defaultEye.png +0 -0
  387. package/src/assets/tools/enlarge.png +0 -0
  388. package/src/assets/tools/fishEye.png +0 -0
  389. package/src/assets/tools/narrow.png +0 -0
  390. package/src/assets/tools/off.png +0 -0
  391. package/src/assets/tools/on.png +0 -0
  392. package/src/assets/tools/volumeOff.png +0 -0
  393. package/src/assets/tools/volumeOn.png +0 -0
  394. package/src/camera/watermark/Render.tsx +0 -128
  395. package/src/camera/watermark/ViewShotWatermark.tsx +0 -134
  396. package/src/camera/watermark/index.tsx +0 -12
  397. package/src/components/Back.tsx +0 -37
  398. package/src/components/Delete.tsx +0 -30
  399. package/src/components/Modal/Confirm.tsx +0 -116
  400. package/src/components/Modal/index.tsx +0 -3
  401. package/src/components/Rotate.tsx +0 -32
  402. package/src/components/Save.tsx +0 -37
  403. package/src/hooks/useCamera.tsx/index.tsx +0 -95
  404. package/src/hooks/useCreation/index.ts +0 -25
  405. package/src/utils/common.ts +0 -67
  406. package/src/utils/render-item.tsx +0 -39
  407. package/src/utils/watermark.ts +0 -55
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 tongyizixun
3
+ Copyright (c) 2026 unif-design
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  of this software and associated documentation files (the "Software"), to deal
6
6
  in the Software without restriction, including without limitation the rights
package/README.md CHANGED
@@ -1,38 +1,108 @@
1
1
  # @unif/react-native-camera
2
2
 
3
- camera
3
+ 基于 [react-native-vision-camera](https://github.com/mrousavy/react-native-vision-camera) 5.x 构建的 React Native 相机库,提供模态化相机界面,支持单拍 / 连拍 / 视频录制 / 捏合变焦 / 镜头切换 / 点击对焦。
4
4
 
5
- ## Installation
5
+ ## 安装
6
6
 
7
7
  ```sh
8
- npm install @unif/react-native-camera
8
+ yarn add @unif/react-native-camera \
9
+ react-native-vision-camera \
10
+ react-native-nitro-modules \
11
+ react-native-nitro-image \
12
+ react-native-reanimated \
13
+ react-native-worklets \
14
+ react-native-reanimated-carousel \
15
+ react-native-gesture-handler \
16
+ react-native-safe-area-context
9
17
  ```
10
18
 
11
- ###or
19
+ iOS 还需 `pod install`。
12
20
 
13
- ```sh
14
- yarn add @unif/react-native-camera
21
+ ### 权限配置
22
+
23
+ iOS `Info.plist`:
24
+
25
+ ```xml
26
+ <key>NSCameraUsageDescription</key><string>...</string>
27
+ <key>NSMicrophoneUsageDescription</key><string>...</string>
28
+ <key>NSPhotoLibraryAddUsageDescription</key><string>...</string>
15
29
  ```
16
30
 
17
- ## Usage
31
+ Android `AndroidManifest.xml`:
18
32
 
19
- ```ts
20
- import React from 'react';
33
+ ```xml
34
+ <uses-permission android:name="android.permission.CAMERA" />
35
+ <uses-permission android:name="android.permission.RECORD_AUDIO" />
36
+ <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
37
+ ```
21
38
 
22
- import { useCamera } from '@unif/react-native-camera';
39
+ ## 用法
23
40
 
41
+ ```tsx
42
+ import { useCamera } from '@unif/react-native-camera';
24
43
 
25
- const App = ()=>{
26
- const [api,holder]=useCamera()
27
- return <View>
28
- <Text onPress={async()=>{
29
- const res = await api.open({
30
- cameraMode: [{ mode: 'single' }, { mode: 'continuous' }],
31
- dataRetainedMode: 'clear',
32
- });
33
- }}>打开</Text>
34
- {holder}
44
+ const App = () => {
45
+ const [api, holder] = useCamera();
46
+ return (
47
+ <View>
48
+ <Text onPress={async () => {
49
+ const res = await api.open({
50
+ cameraMode: [
51
+ { mode: 'single', photoQuality: 'speed', jpegQuality: 0.9 },
52
+ { mode: 'continuous' },
53
+ ],
54
+ dataRetainedMode: 'clear',
55
+ });
56
+ // res.code: 200=ok, 0=cancelled, 403=no_permission, 404=no_device, 500=capture_failed, 503=video_failed
57
+ }}>打开相机</Text>
58
+ {holder}
35
59
  </View>
36
- }
60
+ );
61
+ };
62
+ ```
63
+
64
+ ## API
65
+
66
+ ### `useCamera()` → `[api, holder]`
67
+
68
+ 返回 `[CameraApi, React.ReactElement]`,把 `holder` 渲染进 React 树,调用 `api.open(config)` 打开相机。
69
+
70
+ ### `CameraApi`
71
+
72
+ - `open(config: OpenConfig): Promise<CameraResult>`
73
+ - `close(): void`
74
+
75
+ ### `OpenConfig`
76
+
77
+ | 字段 | 类型 | 说明 |
78
+ |---|---|---|
79
+ | `cameraMode` | `CameraMode[]` | 至少一项;多项时底部出现模式 tab |
80
+ | `dataRetainedMode` | `'clear' \| 'retain'` | 模式切换时是否保留已拍照片 |
81
+
82
+ ### `CameraMode`
83
+
84
+ | 字段 | 类型 | 默认 | 说明 |
85
+ |---|---|---|---|
86
+ | `mode` | `'single' \| 'continuous' \| 'video'` | — | 模式 |
87
+ | `photoQuality` | `'speed' \| 'balanced' \| 'quality'` | `'speed'` | 相机管线模式,影响拍摄延迟 |
88
+ | `jpegQuality` | `number (0~1)` | `0.9` | JPEG 压缩率 |
89
+
90
+ ### `CameraResult`
91
+
92
+ | 字段 | 类型 | 说明 |
93
+ |---|---|---|
94
+ | `code` | `0 \| 200 \| 403 \| 404 \| 500 \| 503` | 状态码 |
95
+ | `data` | `CustomPhotoFile[]` | 拍摄的文件列表 |
96
+ | `message` | `string` | 描述信息 |
97
+
98
+ ## 从 v1.x 升级
99
+
100
+ `v2.0.0` 的破坏性变更:
101
+
102
+ - 移除 `cameraMode[i].photoResolution` / `videoResolution` → 改用 `photoQuality` 控制速度 / `jpegQuality` 控制文件大小
103
+ - 移除 `watermark` 配置项(将在 v2.1.x 重新加入)
104
+ - 从顶层 `@unif/react-native-camera` 直接导入类型(不再走 `/lib/typescript/src/utils` deep path)
105
+
106
+ ## 许可
37
107
 
38
- ```
108
+ MIT
@@ -1,307 +1,185 @@
1
- /*
2
- * @Author: 刘利军
3
- * @Date: 2024-12-02 13:48:40
4
- * @LastEditors: 刘利军
5
- * @LastEditTime: 2025-01-17 08:44:43
6
- * @Description:
7
- * @PageName:
8
- */
1
+ "use strict";
9
2
 
10
- import { StyleSheet, Pressable } from 'react-native';
11
- import React, { useCallback, useRef, useState, useEffect } from 'react';
12
- import { Camera as VisionCamera, useCameraDevice, useCameraFormat } from 'react-native-vision-camera';
13
- import { SafeAreaProvider } from 'react-native-safe-area-context';
14
- import NoCamera from './NoCamera';
15
- import FocusIndicator from './FocusIndicator';
16
- import { Footer } from './footer';
17
- import { SetUp } from './setup';
18
- import { PreView, PreViewContainer, SinglePre } from './preview';
19
- import { GestureHandlerRootView } from 'react-native-gesture-handler';
20
- import { useConfirm } from '../hooks';
21
- import { ViewShotWatermark, WaterMarkRender } from './watermark';
22
- import Error from './Error';
23
- export const PhotoAspectRatio = {
24
- 4: 4 / 3,
25
- 16: 16 / 9
26
- };
27
- let enableShutterSound = false;
28
- let flash = 'off';
29
- const Camera = ({
30
- data,
31
- back,
32
- onChange
33
- }) => {
34
- var _cameraMode$, _cameraMode$2, _cameraMode$3, _cameraMode$4, _photos$;
35
- const {
36
- cameraMode,
37
- dataRetainedMode
38
- } = data;
39
- const [position, setPosition] = useState((cameraMode === null || cameraMode === void 0 || (_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
40
- const [preVis, setPreVis] = useState(false);
41
- const [photoResolution, setPhotoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
42
- const [videoResolution, setVideoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
43
- const [watermarkUriVis, setWatermarkUriVis] = useState(false);
44
- const device = useCameraDevice(position);
45
- const onError = useCallback(error => {
46
- setCameraError(error);
47
- }, []);
48
- const [aspectRatio, setAspectRatio] = useState(16);
49
- const [resizeMode, setResizeMode] = useState();
50
- const [zoom, setZoom] = useState(device === null || device === void 0 ? void 0 : device.neutralZoom);
51
- const format = useCameraFormat(device, [{
52
- photoAspectRatio: PhotoAspectRatio[aspectRatio]
53
- }, {
54
- videoAspectRatio: PhotoAspectRatio[aspectRatio]
55
- }, {
56
- videoResolution: videoResolution || 'max'
57
- }, {
58
- photoResolution: photoResolution || 'max'
59
- }]);
60
- const camera = useRef(null);
61
- const [photos, setPhotos] = useState([]);
62
- const [mode, setMode] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
3
+ import { forwardRef, useCallback, useImperativeHandle, useRef, useState } from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { Camera as VisionCamera, useMicrophonePermission, usePhotoOutput, useVideoOutput } from 'react-native-vision-camera';
6
+ import { runOnJS, useSharedValue } from 'react-native-reanimated';
7
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
8
+ import { buildPhotoFile } from "../utils/index.js";
9
+ import { capturePhotoToFile } from "./capturePhotoHelper.js";
10
+ import { FocusIndicator } from "./FocusIndicator.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ const NEUTRAL_ZOOM = 1;
13
+ export const Camera = /*#__PURE__*/forwardRef(function Camera({
14
+ device,
15
+ currentMode,
16
+ isActive = true,
17
+ flash,
18
+ aspectRatio,
19
+ zoomShared
20
+ }, ref) {
21
+ const cameraRef = useRef(null);
22
+ const targetResolution = (aspectRatio ?? '4:3') === '4:3' ? {
23
+ width: 1080,
24
+ height: 1440
25
+ } : {
26
+ width: 1080,
27
+ height: 1920
28
+ };
29
+ const photoOutput = usePhotoOutput({
30
+ qualityPrioritization: currentMode.photoQuality ?? 'speed',
31
+ quality: currentMode.jpegQuality ?? 0.9,
32
+ targetResolution
33
+ });
34
+ const videoOutput = useVideoOutput();
63
35
  const {
64
- confirmApi,
65
- contextHolder
66
- } = useConfirm();
67
- const [cameraError, setCameraError] = useState();
36
+ hasPermission: hasMic,
37
+ requestPermission: requestMic
38
+ } = useMicrophonePermission();
39
+ const activeRecorderRef = useRef(null);
40
+ const preparedRecorderRef = useRef(null);
41
+ const finishResolverRef = useRef(null);
42
+ const internalZoom = useSharedValue(NEUTRAL_ZOOM);
43
+ const zoom = zoomShared ?? internalZoom;
44
+ const zoomOffset = useSharedValue(0);
45
+ const pinchGesture = Gesture.Pinch().onBegin(() => {
46
+ 'worklet';
68
47
 
69
- // 聚焦点状态
70
- const [focusPoint, setFocusPoint] = useState(null);
48
+ zoomOffset.value = zoom.value;
49
+ }).onUpdate(e => {
50
+ 'worklet';
71
51
 
72
- // 防抖定时器
73
- const focusTimerRef = useRef(null);
74
-
75
- // 点击聚焦处理(带防抖)
76
- const handleFocus = useCallback((x, y) => {
77
- // 清除之前的防抖定时器
78
- if (focusTimerRef.current) {
79
- clearTimeout(focusTimerRef.current);
80
- }
81
-
82
- // 更新聚焦指示器位置
52
+ const z = zoomOffset.value * e.scale;
53
+ zoom.value = Math.min(Math.max(z, device.minZoom), device.maxZoom);
54
+ });
55
+ const [focusPoint, setFocusPoint] = useState(null);
56
+ const handleFocus = useCallback(async (x, y) => {
57
+ if (!device.supportsFocusMetering) return;
83
58
  setFocusPoint({
84
59
  x,
85
60
  y
86
61
  });
62
+ try {
63
+ await cameraRef.current?.focusTo({
64
+ x,
65
+ y
66
+ }, {
67
+ responsiveness: 'snappy',
68
+ adaptiveness: 'continuous',
69
+ autoResetAfter: 3
70
+ });
71
+ } catch (e) {
72
+ console.warn('focusTo failed', e);
73
+ }
74
+ }, [device.supportsFocusMetering]);
75
+ const tapGesture = Gesture.Tap().onEnd(({
76
+ x,
77
+ y
78
+ }) => {
79
+ 'worklet';
87
80
 
88
- // 防抖延迟执行聚焦
89
- focusTimerRef.current = setTimeout(async () => {
81
+ runOnJS(handleFocus)(x, y);
82
+ });
83
+ const composed = Gesture.Simultaneous(pinchGesture, tapGesture);
84
+ useImperativeHandle(ref, () => ({
85
+ capture: async () => {
90
86
  try {
91
- var _camera$current;
92
- await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.focus({
93
- x,
94
- y
95
- }));
96
- } catch (error) {
97
- // 忽略 focus-canceled 错误
98
- if (error && typeof error === 'object' && 'code' in error && error.code !== 'capture/focus-canceled') {
99
- console.error('Focus error:', error);
100
- }
101
- }
102
- // 延迟清除指示器
103
- setTimeout(() => setFocusPoint(null), 400);
104
- }, 300);
105
- }, []);
106
- useEffect(() => {
107
- return () => {
108
- if (focusTimerRef.current) {
109
- clearTimeout(focusTimerRef.current);
110
- }
111
- };
112
- }, []);
113
- if (cameraError) {
114
- return /*#__PURE__*/React.createElement(Error, {
115
- data: cameraError,
116
- onPress: () => setCameraError(undefined)
117
- });
118
- }
119
- if (device == null) {
120
- return /*#__PURE__*/React.createElement(NoCamera, null);
121
- }
122
- const commonBack = () => {
123
- setPreVis(false);
124
- };
125
- const signleBack = () => {
126
- setPhotos([]);
127
- commonBack();
128
- };
129
- const isSingle = () => dataRetainedMode === 'clear' && mode === 'single';
130
- const showPreview = () => {
131
- setPreVis(true);
132
- };
133
- const showVideo = () => cameraMode.some(item => item.mode === 'video');
134
- const confirm = () => {
135
- onChange({
136
- code: 200,
137
- data: photos.map(item => ({
138
- cameraMode: item.mode,
139
- id: new Date().getTime().toString(),
140
- cameraType: item.cameraType,
141
- path: item.path
142
- })),
143
- message: '保存成功'
144
- });
145
- };
146
- const openViewShotWatermark = () => {
147
- setWatermarkUriVis(val => !val);
148
- };
149
- return /*#__PURE__*/React.createElement(GestureHandlerRootView, null, /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(VisionCamera, {
150
- onError: onError,
151
- zoom: zoom,
152
- preview: true,
153
- ref: camera,
154
- style: styles.camera,
155
- device: device,
156
- isActive: true,
157
- enableZoomGesture: true,
158
- photoQualityBalance: "speed",
159
- photo: true,
160
- video: showVideo(),
161
- audio: showVideo(),
162
- resizeMode: resizeMode,
163
- format: format
164
- }), /*#__PURE__*/React.createElement(Pressable, {
165
- style: styles.cameraOverlay,
166
- onPress: event => {
167
- const {
168
- locationX,
169
- locationY
170
- } = event.nativeEvent;
171
- handleFocus(locationX, locationY);
172
- }
173
- }), /*#__PURE__*/React.createElement(SetUp, {
174
- isMultiCam: false,
175
- onChange: val => flash = val,
176
- onAspectRationChange: setAspectRatio,
177
- onScreenChange: setResizeMode,
178
- onVolumeChange: val => enableShutterSound = val,
179
- onFishEyeOpen: val => {
180
- if (val === 'fishEye') {
181
- setZoom(device.minZoom);
182
- }
183
- if (val === 'default') {
184
- setZoom(device.neutralZoom);
185
- }
186
- }
187
- }), /*#__PURE__*/React.createElement(Footer, {
188
- cameraMode: cameraMode,
189
- photos: photos,
190
- backPress: async () => {
191
- if (photos.length > 0) {
192
- const isBack = await confirmApi.open({
193
- text: '返回会清空已拍摄数据,请确认!'
87
+ const raw = await capturePhotoToFile(photoOutput, {
88
+ flashMode: flash ?? 'off',
89
+ enableShutterSound: true
194
90
  });
195
- if (isBack) {
196
- back();
197
- }
198
- } else {
199
- back();
200
- }
201
- },
202
- thumbnailPress: showPreview,
203
- onChange: item => {
204
- if (dataRetainedMode === 'clear') {
205
- setPhotos([]);
91
+ return buildPhotoFile({
92
+ path: raw.path,
93
+ width: raw.width,
94
+ height: raw.height
95
+ }, currentMode.mode);
96
+ } catch (e) {
97
+ console.warn('capturePhoto failed', e);
98
+ return null;
206
99
  }
207
- setMode(item.mode);
208
- setPhotoResolution(item.photoResolution);
209
- setVideoResolution(item.videoResolution);
210
100
  },
211
- takePress: async () => {
212
- var _camera$current2;
213
- const photo = await ((_camera$current2 = camera.current) === null || _camera$current2 === void 0 ? void 0 : _camera$current2.takePhoto({
214
- flash,
215
- enableShutterSound: enableShutterSound
216
- }));
217
- if (photo) {
218
- setPhotos(p => [...p, {
219
- ...photo,
220
- frontTime: new Date().getTime(),
221
- mode,
222
- cameraType: position
223
- }]);
101
+ startVideo: async () => {
102
+ if (!hasMic) {
103
+ await requestMic().catch(() => {});
224
104
  }
225
- // 拍照后进行水印
226
- if (data.watermark) {
227
- openViewShotWatermark();
228
- } else {
229
- if (isSingle()) {
230
- showPreview();
105
+ try {
106
+ let recorder = preparedRecorderRef.current;
107
+ if (recorder == null) {
108
+ recorder = await videoOutput.createRecorder({});
231
109
  }
110
+ preparedRecorderRef.current = null;
111
+ if (activeRecorderRef.current != null) return;
112
+ activeRecorderRef.current = recorder;
113
+ await recorder.startRecording((filePath, _reason) => {
114
+ const file = buildPhotoFile({
115
+ path: filePath,
116
+ width: 0,
117
+ height: 0
118
+ }, 'video', true);
119
+ activeRecorderRef.current = null;
120
+ finishResolverRef.current?.(file);
121
+ finishResolverRef.current = null;
122
+ }, error => {
123
+ console.warn('recorder error', error);
124
+ activeRecorderRef.current = null;
125
+ finishResolverRef.current?.(null);
126
+ finishResolverRef.current = null;
127
+ }, () => {}, () => {});
128
+ preparedRecorderRef.current = await videoOutput.createRecorder({});
129
+ } catch (e) {
130
+ console.warn('startRecording failed', e);
131
+ activeRecorderRef.current = null;
232
132
  }
233
133
  },
234
- savePress: () => confirm(),
235
- rotatePress: () => {
236
- setPosition(val => {
237
- if (val === 'back') {
238
- return 'front';
239
- }
240
- return 'back';
241
- });
242
- }
243
- }), watermarkUriVis && /*#__PURE__*/React.createElement(ViewShotWatermark, {
244
- resizeMode: resizeMode,
245
- data: photos.at(-1),
246
- watermark: data.watermark,
247
- onChange: value => {
248
- setPhotos(photosList => {
249
- return photosList.map(item => {
250
- if (item.frontTime === value.frontTime) {
251
- return value;
252
- }
253
- return item;
254
- });
255
- });
256
- openViewShotWatermark();
257
- if (isSingle()) {
258
- showPreview();
259
- }
260
- }
261
- }), /*#__PURE__*/React.createElement(PreViewContainer, {
262
- visible: preVis
263
- }, isSingle() ? /*#__PURE__*/React.createElement(SinglePre, {
264
- resizeMode: resizeMode,
265
- uri: (_photos$ = photos[0]) === null || _photos$ === void 0 ? void 0 : _photos$.path,
266
- onBack: () => signleBack(),
267
- onSave: () => confirm()
268
- }) : /*#__PURE__*/React.createElement(PreView, {
269
- cameraMode: cameraMode,
270
- data: photos,
271
- onBack: () => commonBack(),
272
- onDel: async snapItem => {
273
- const isConfirm = await confirmApi.open({
274
- text: '图片删除后无法恢复,请确认!'
275
- });
276
- if (isConfirm) {
277
- setPhotos(photoList => {
278
- return photoList.filter(photo => photo.path !== (snapItem === null || snapItem === void 0 ? void 0 : snapItem.path));
134
+ stopVideo: async () => {
135
+ const active = activeRecorderRef.current;
136
+ if (active == null) return null;
137
+ try {
138
+ const durationSec = active.recordedDuration;
139
+ const finishedPromise = new Promise(resolve => {
140
+ finishResolverRef.current = file => {
141
+ if (file != null && durationSec != null) {
142
+ resolve({
143
+ ...file,
144
+ duration: durationSec
145
+ });
146
+ } else {
147
+ resolve(file);
148
+ }
149
+ };
279
150
  });
280
- return isConfirm;
151
+ await active.stopRecording();
152
+ return await finishedPromise;
153
+ } catch (e) {
154
+ console.warn('stopRecording failed', e);
155
+ activeRecorderRef.current = null;
156
+ return null;
281
157
  }
282
- return isConfirm;
283
158
  }
284
- })), data.watermark && /*#__PURE__*/React.createElement(WaterMarkRender, {
285
- data: data.watermark
286
- }), contextHolder, focusPoint && /*#__PURE__*/React.createElement(FocusIndicator, {
287
- key: `${focusPoint.x}-${focusPoint.y}`,
288
- x: focusPoint.x,
289
- y: focusPoint.y
290
- })));
291
- };
292
- export default Camera;
293
- const styles = StyleSheet.create({
294
- camera: {
295
- flex: 1,
296
- backgroundColor: '#000'
297
- },
298
- cameraOverlay: {
299
- position: 'absolute',
300
- top: 0,
301
- left: 0,
302
- right: 0,
303
- bottom: 0,
304
- zIndex: 1
305
- }
159
+ }), [photoOutput, videoOutput, currentMode.mode, hasMic, requestMic, flash]);
160
+ const outputs = currentMode.mode === 'video' ? [videoOutput] : [photoOutput];
161
+ return /*#__PURE__*/_jsx(GestureDetector, {
162
+ gesture: composed,
163
+ children: /*#__PURE__*/_jsxs(View, {
164
+ style: StyleSheet.absoluteFill,
165
+ children: [/*#__PURE__*/_jsx(VisionCamera, {
166
+ ref: cameraRef,
167
+ style: StyleSheet.absoluteFill,
168
+ device: device,
169
+ isActive: isActive,
170
+ outputs: outputs,
171
+ constraints: [{
172
+ photoHDR: false
173
+ }],
174
+ zoom: zoom,
175
+ torchMode: currentMode.mode === 'video' && flash === 'on' ? 'on' : 'off',
176
+ onSubjectAreaChanged: () => cameraRef.current?.resetFocus(),
177
+ nativeID: "vision-camera"
178
+ }), focusPoint && /*#__PURE__*/_jsx(FocusIndicator, {
179
+ point: focusPoint,
180
+ onAnimationEnd: () => setFocusPoint(null)
181
+ }, `${focusPoint.x}-${focusPoint.y}`)]
182
+ })
183
+ });
306
184
  });
307
185
  //# sourceMappingURL=Camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","Pressable","React","useCallback","useRef","useState","useEffect","Camera","VisionCamera","useCameraDevice","useCameraFormat","SafeAreaProvider","NoCamera","FocusIndicator","Footer","SetUp","PreView","PreViewContainer","SinglePre","GestureHandlerRootView","useConfirm","ViewShotWatermark","WaterMarkRender","Error","PhotoAspectRatio","enableShutterSound","flash","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","onError","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","photoAspectRatio","videoAspectRatio","camera","photos","setPhotos","mode","setMode","confirmApi","contextHolder","cameraError","focusPoint","setFocusPoint","focusTimerRef","handleFocus","x","y","current","clearTimeout","setTimeout","_camera$current","focus","code","console","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","cameraOverlay","event","locationX","locationY","nativeEvent","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current2","takePhoto","p","frontTime","watermark","savePress","rotatePress","at","value","photosList","visible","uri","onBack","onSave","onDel","snapItem","isConfirm","photoList","filter","key","create","flex","backgroundColor","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useRef","useState","StyleSheet","View","Camera","VisionCamera","useMicrophonePermission","usePhotoOutput","useVideoOutput","runOnJS","useSharedValue","Gesture","GestureDetector","buildPhotoFile","capturePhotoToFile","FocusIndicator","jsx","_jsx","jsxs","_jsxs","NEUTRAL_ZOOM","device","currentMode","isActive","flash","aspectRatio","zoomShared","ref","cameraRef","targetResolution","width","height","photoOutput","qualityPrioritization","photoQuality","quality","jpegQuality","videoOutput","hasPermission","hasMic","requestPermission","requestMic","activeRecorderRef","preparedRecorderRef","finishResolverRef","internalZoom","zoom","zoomOffset","pinchGesture","Pinch","onBegin","value","onUpdate","e","z","scale","Math","min","max","minZoom","maxZoom","focusPoint","setFocusPoint","handleFocus","x","y","supportsFocusMetering","current","focusTo","responsiveness","adaptiveness","autoResetAfter","console","warn","tapGesture","Tap","onEnd","composed","Simultaneous","capture","raw","flashMode","enableShutterSound","path","mode","startVideo","catch","recorder","createRecorder","startRecording","filePath","_reason","file","error","stopVideo","active","durationSec","recordedDuration","finishedPromise","Promise","resolve","duration","stopRecording","outputs","gesture","children","style","absoluteFill","constraints","photoHDR","torchMode","onSubjectAreaChanged","resetFocus","nativeID","point","onAnimationEnd"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}