@scandit/web-datacapture-core 8.3.0 → 8.4.0-beta.1

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 (252) hide show
  1. package/build/js/{Camera-Cc__1Nc-.d.ts → Camera-HgH6fwnW.d.ts} +16 -2
  2. package/build/js/Camera.d.ts +1 -1
  3. package/build/js/Camera.js +1 -1
  4. package/build/js/CameraRelated.d.ts +1 -1
  5. package/build/js/CameraRelated.js +1 -1
  6. package/build/js/{DataCaptureContext-BcSpF9Dt.d.ts → DataCaptureContext-qacCkSOl.d.ts} +40 -21
  7. package/build/js/DataCaptureContext.d.ts +4 -4
  8. package/build/js/DataCaptureContext.js +1 -1
  9. package/build/js/DataCaptureContextRelated.d.ts +3 -3
  10. package/build/js/DataCaptureVersion.js +1 -1
  11. package/build/js/DataCaptureView.d.ts +3 -3
  12. package/build/js/DataCaptureView.js +1 -1
  13. package/build/js/DataCaptureViewPlusRelated-BOrDBPHq.d.ts +49 -0
  14. package/build/js/DataCaptureViewPlusRelated.d.ts +2 -24
  15. package/build/js/DataCaptureViewPlusRelated.js +1 -1
  16. package/build/js/Feedback.js +1 -1
  17. package/build/js/FrameData.d.ts +3 -3
  18. package/build/js/ImageFrameSource.d.ts +1 -1
  19. package/build/js/ImageFrameSource.js +1 -1
  20. package/build/js/NotificationPresenter/index.d.ts +3 -3
  21. package/build/js/NotificationPresenter/index.js +1 -1
  22. package/build/js/NotificationPresenter/private/ConcreteNotificationPresenter.d.ts +3 -3
  23. package/build/js/NotificationPresenter/private/presets.d.ts +3 -3
  24. package/build/js/ScanditIcon.js +1 -1
  25. package/build/js/ScanditIconBuilder.js +1 -1
  26. package/build/js/SingleImageUploader.d.ts +1 -1
  27. package/build/js/SingleImageUploader.js +1 -1
  28. package/build/js/Sound.js +1 -1
  29. package/build/js/ZoomGestureListener.d.ts +3 -0
  30. package/build/js/ZoomListener.d.ts +7 -0
  31. package/build/js/ZoomSwitchOrientation.d.ts +8 -0
  32. package/build/js/ZoomSwitchOrientation.js +1 -0
  33. package/build/js/chunks/{chunk-QHNV2CFJ.js → chunk-2UHUEJA4.js} +1 -1
  34. package/build/js/chunks/{chunk-6IM6NGGI.js → chunk-3MKSI2DV.js} +1 -1
  35. package/build/js/chunks/{chunk-22UMTZI6.js → chunk-4F2Q2P2O.js} +1 -1
  36. package/build/js/chunks/chunk-4KLHTKGW.js +1 -0
  37. package/build/js/chunks/chunk-4LGQ66HW.js +1 -0
  38. package/build/js/chunks/chunk-4QJAB4PO.js +1 -0
  39. package/build/js/chunks/chunk-4WA2PCJE.js +1 -0
  40. package/build/js/chunks/chunk-56OQ5EHO.js +1 -0
  41. package/build/js/chunks/{chunk-HILZP6OW.js → chunk-6AZW5IIG.js} +1 -1
  42. package/build/js/chunks/{chunk-YP53ND2Q.js → chunk-6EEMWSEO.js} +1 -1
  43. package/build/js/chunks/{chunk-QMLTR5JH.js → chunk-76IGNICM.js} +1 -1
  44. package/build/js/chunks/{chunk-A3ZT7PJA.js → chunk-7HYFN4JO.js} +1 -1
  45. package/build/js/chunks/chunk-7LTHFX4E.js +1 -0
  46. package/build/js/chunks/{chunk-SX5ZLP2O.js → chunk-7OFC24NE.js} +1 -1
  47. package/build/js/chunks/chunk-7SA74NKD.js +0 -0
  48. package/build/js/chunks/{chunk-YRQQE3NR.js → chunk-AC4QOIY7.js} +1 -1
  49. package/build/js/chunks/{chunk-S2GRD6GO.js → chunk-ACCTMSWC.js} +1 -1
  50. package/build/js/chunks/{chunk-EIOVYBFS.js → chunk-AD77NFCP.js} +1 -1
  51. package/build/js/chunks/chunk-AE2LWVIB.js +1 -0
  52. package/build/js/chunks/chunk-CA6FHIF6.js +35 -0
  53. package/build/js/chunks/{chunk-EEWGHHL4.js → chunk-CERFU73N.js} +1 -1
  54. package/build/js/chunks/{chunk-QWKATH4N.js → chunk-CGK5V6XZ.js} +1 -1
  55. package/build/js/chunks/chunk-D222MT4V.js +1 -0
  56. package/build/js/chunks/{chunk-ARODHCN7.js → chunk-DGIQ3GF7.js} +1 -1
  57. package/build/js/chunks/chunk-FHUC75ND.js +1 -0
  58. package/build/js/chunks/chunk-GMOTHEWV.js +1 -0
  59. package/build/js/chunks/chunk-GVHXM75D.js +1 -0
  60. package/build/js/chunks/chunk-H3J4TP2K.js +1 -0
  61. package/build/js/chunks/{chunk-X653DLOR.js → chunk-JLTSTUKY.js} +1 -1
  62. package/build/js/chunks/chunk-LPFXHHWJ.js +1 -0
  63. package/build/js/chunks/chunk-MA3GV76P.js +1 -0
  64. package/build/js/chunks/chunk-NIKRAADM.js +1 -0
  65. package/build/js/chunks/{chunk-FMOB7R2T.js → chunk-O4HDBWKK.js} +1 -1
  66. package/build/js/chunks/{chunk-33ZWDLU7.js → chunk-O7EM4VIM.js} +1 -1
  67. package/build/js/chunks/chunk-OLUNDJBC.js +1 -0
  68. package/build/js/chunks/{chunk-PM5CNTBV.js → chunk-OX64CCOP.js} +1 -1
  69. package/build/js/chunks/chunk-P2R7FW6C.js +1 -0
  70. package/build/js/chunks/chunk-P3NPNIWR.js +1 -0
  71. package/build/js/chunks/{chunk-2SGKGZ6F.js → chunk-QFSNPY5Y.js} +1 -1
  72. package/build/js/chunks/{chunk-BSX3V75N.js → chunk-QUWP3ILW.js} +1 -1
  73. package/build/js/chunks/chunk-RZTXUIJ5.js +0 -0
  74. package/build/js/chunks/chunk-SHM7SU3B.js +1 -0
  75. package/build/js/chunks/chunk-U2WQ3WDE.js +1 -0
  76. package/build/js/chunks/chunk-U4IMOTYL.js +1 -0
  77. package/build/js/chunks/{chunk-PDJEYYPX.js → chunk-U6MFAGMG.js} +1 -1
  78. package/build/js/chunks/{chunk-GS7VZDY5.js → chunk-U7ETOWGJ.js} +1 -1
  79. package/build/js/chunks/chunk-UNO6YIIA.js +1 -0
  80. package/build/js/chunks/{chunk-UJYGOVXB.js → chunk-V2OKMBZD.js} +1 -1
  81. package/build/js/chunks/{chunk-FCXZZH3O.js → chunk-VSROWPI6.js} +1 -1
  82. package/build/js/chunks/{chunk-ZCEA7BEH.js → chunk-WHRRC6V6.js} +1 -1
  83. package/build/js/chunks/{chunk-KVRNF3VA.js → chunk-WOOPJWJS.js} +1 -1
  84. package/build/js/chunks/chunk-XUIVDVLK.js +6 -0
  85. package/build/js/chunks/{chunk-NMXQDQYI.js → chunk-YE2GYNRP.js} +1 -1
  86. package/build/js/chunks/{chunk-VWEJFI2M.js → chunk-ZP3YIZEC.js} +1 -1
  87. package/build/js/chunks/{chunk-2MK5Y4IL.js → chunk-ZTKCGHYQ.js} +1 -1
  88. package/build/js/controls/CameraFOVSwitchControl.d.ts +6 -3
  89. package/build/js/controls/CameraFOVSwitchControl.js +1 -1
  90. package/build/js/controls/CameraSwitchControl.d.ts +3 -3
  91. package/build/js/controls/CameraSwitchControl.js +1 -1
  92. package/build/js/controls/TorchSwitchControl.d.ts +3 -3
  93. package/build/js/controls/TorchSwitchControl.js +1 -1
  94. package/build/js/controls/ZoomSwitchControl.d.ts +97 -0
  95. package/build/js/controls/ZoomSwitchControl.js +1 -0
  96. package/build/js/controls/common.d.ts +3 -3
  97. package/build/js/controls/index.d.ts +5 -3
  98. package/build/js/controls/index.js +1 -1
  99. package/build/js/defaults/DefaultsCamera.d.ts +4 -3
  100. package/build/js/defaults/DefaultsCamera.js +1 -1
  101. package/build/js/defaults/DefaultsCameraSettings.d.ts +2 -1
  102. package/build/js/defaults/DefaultsCameraSettings.js +1 -1
  103. package/build/js/defaults/DefaultsDataCaptureView.d.ts +2 -2
  104. package/build/js/defaults/DefaultsDataCaptureView.js +1 -1
  105. package/build/js/defaults/DefaultsDeserializers.d.ts +1 -1
  106. package/build/js/defaults/DefaultsDeserializers.js +1 -1
  107. package/build/js/index.d.ts +6 -4
  108. package/build/js/index.js +1 -1
  109. package/build/js/moduleLoader.d.ts +3 -3
  110. package/build/js/private/CameraAccess.d.ts +1 -1
  111. package/build/js/private/CameraManager.d.ts +3 -3
  112. package/build/js/private/CameraManager.js +1 -1
  113. package/build/js/private/CameraPool.d.ts +56 -22
  114. package/build/js/private/CameraPool.js +1 -1
  115. package/build/js/private/CanvasDrawerWithMetrics.d.ts +3 -3
  116. package/build/js/private/CoreModuleLicenseTextProvider.d.ts +3 -3
  117. package/build/js/private/CoreModuleLicenseTextProvider.js +1 -1
  118. package/build/js/private/CustomLocationsView.js +1 -1
  119. package/build/js/private/DataCaptureContextRelated.d.ts +3 -3
  120. package/build/js/private/FrameReaders/FrameReader.d.ts +3 -3
  121. package/build/js/private/FrameReaders/FrameReader.js +1 -1
  122. package/build/js/private/FrameReaders/FrameReaderAbstract.d.ts +3 -3
  123. package/build/js/private/FrameReaders/GrayScaleFrameReader.d.ts +3 -3
  124. package/build/js/private/FrameReaders/GrayScaleFrameReader.js +1 -1
  125. package/build/js/private/FrameReaders/index.d.ts +3 -3
  126. package/build/js/private/FrameReaders/index.js +1 -1
  127. package/build/js/private/GestureRecognizer/GestureRecognizer.d.ts +34 -0
  128. package/build/js/private/GestureRecognizer/GestureRecognizer.js +1 -1
  129. package/build/js/private/GestureRecognizer/PointerEventsDetector.js +1 -1
  130. package/build/js/private/GestureRecognizer/index.d.ts +1 -1
  131. package/build/js/private/GestureRecognizer/index.js +1 -1
  132. package/build/js/private/NormalizedModuleLoaderOptions.d.ts +3 -3
  133. package/build/js/private/SingleImageUploaderView.d.ts +3 -3
  134. package/build/js/private/SingleImageUploaderView.js +1 -1
  135. package/build/js/private/ViewControls+related.js +1 -1
  136. package/build/js/private/ViewControls_related.d.ts +3 -3
  137. package/build/js/private/ViewStyles.js +1 -1
  138. package/build/js/private/ViewsRegistry.d.ts +3 -3
  139. package/build/js/private/customHowler/Howl.js +1 -1
  140. package/build/js/private/customHowler/index.js +1 -1
  141. package/build/js/private/customHowler/setup.js +1 -1
  142. package/build/js/private/ui/atoms/AimerSvgIcon.js +1 -1
  143. package/build/js/private/ui/atoms/ArrowDownSvgIcon.js +1 -1
  144. package/build/js/private/ui/atoms/ArrowLeftSvgIcon.js +1 -1
  145. package/build/js/private/ui/atoms/ArrowRightSvgIcon.js +1 -1
  146. package/build/js/private/ui/atoms/ArrowUpSvgIcon.js +1 -1
  147. package/build/js/private/ui/atoms/ArrowsUp.js +1 -1
  148. package/build/js/private/ui/atoms/Backdrop.js +1 -1
  149. package/build/js/private/ui/atoms/CalendarExclamationMarkSvgIcon.js +1 -1
  150. package/build/js/private/ui/atoms/CameraFOVUltrawideSvgIcon.js +1 -1
  151. package/build/js/private/ui/atoms/CameraFOVWideSvgIcon.js +1 -1
  152. package/build/js/private/ui/atoms/CameraSwitchReverseSvgIcon.js +1 -1
  153. package/build/js/private/ui/atoms/CameraSwitchSvgIcon.js +1 -1
  154. package/build/js/private/ui/atoms/Card.js +1 -1
  155. package/build/js/private/ui/atoms/CardList.js +1 -1
  156. package/build/js/private/ui/atoms/CheckSvgIcon.js +1 -1
  157. package/build/js/private/ui/atoms/ChevronDownSvgIcon.js +1 -1
  158. package/build/js/private/ui/atoms/ChevronLeftSvgIcon.js +1 -1
  159. package/build/js/private/ui/atoms/ChevronRightSvgIcon.js +1 -1
  160. package/build/js/private/ui/atoms/ChevronUpSvgIcon.js +1 -1
  161. package/build/js/private/ui/atoms/CrossSvgIcon.js +1 -1
  162. package/build/js/private/ui/atoms/DeleteSvgIcon.js +1 -1
  163. package/build/js/private/ui/atoms/Dot5xSvgIcon.js +1 -1
  164. package/build/js/private/ui/atoms/ExclamationMarkSvgIcon.js +1 -1
  165. package/build/js/private/ui/atoms/GlassSvgIcon.js +1 -1
  166. package/build/js/private/ui/atoms/HandLensCheckSvgIcon.js +1 -1
  167. package/build/js/private/ui/atoms/KeyboardSvgIcon.js +1 -1
  168. package/build/js/private/ui/atoms/LowStockSvgIcon.js +1 -1
  169. package/build/js/private/ui/atoms/OnexSvgIcon.js +1 -1
  170. package/build/js/private/ui/atoms/PauseSvgIcon.js +1 -1
  171. package/build/js/private/ui/atoms/PrinterSvgIcon.js +1 -1
  172. package/build/js/private/ui/atoms/ProgressBar.js +1 -1
  173. package/build/js/private/ui/atoms/QuestionMarkSvgIcon.js +1 -1
  174. package/build/js/private/ui/atoms/RestartSvgIcon.js +1 -1
  175. package/build/js/private/ui/atoms/RoundedCheckSvgIcon.js +1 -1
  176. package/build/js/private/ui/atoms/RoundedCrossSvgIcon.js +1 -1
  177. package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.js +1 -1
  178. package/build/js/private/ui/atoms/ScanSvgIcon.js +1 -1
  179. package/build/js/private/ui/atoms/ShutterButton.js +1 -1
  180. package/build/js/private/ui/atoms/SlashSvgIcon.js +1 -1
  181. package/build/js/private/ui/atoms/StarFilledSvgIcon.js +1 -1
  182. package/build/js/private/ui/atoms/StarHalfFilledSvgIcon.js +1 -1
  183. package/build/js/private/ui/atoms/StarOutlinedSvgIcon.js +1 -1
  184. package/build/js/private/ui/atoms/SvgIcon.js +1 -1
  185. package/build/js/private/ui/atoms/ToPickSvgIcon.js +1 -1
  186. package/build/js/private/ui/atoms/Toast.d.ts +3 -3
  187. package/build/js/private/ui/atoms/Toast.js +1 -1
  188. package/build/js/private/ui/atoms/TorchOffSvgIcon.js +1 -1
  189. package/build/js/private/ui/atoms/TorchOnSvgIcon.js +1 -1
  190. package/build/js/private/ui/atoms/TwoxSvgIcon.js +1 -1
  191. package/build/js/private/ui/atoms/WrongItemSvgIcon.js +1 -1
  192. package/build/js/private/ui/molecules/ButtonEvents.d.ts +8 -1
  193. package/build/js/private/ui/molecules/ButtonEvents.js +1 -1
  194. package/build/js/private/ui/molecules/CameraFOVSwitchButton.d.ts +0 -1
  195. package/build/js/private/ui/molecules/CameraFOVSwitchButton.js +1 -1
  196. package/build/js/private/ui/molecules/CameraSwitchButton.d.ts +0 -1
  197. package/build/js/private/ui/molecules/CameraSwitchButton.js +1 -1
  198. package/build/js/private/ui/molecules/ControlsLayout.js +1 -1
  199. package/build/js/private/ui/molecules/HintPresenter.d.ts +3 -3
  200. package/build/js/private/ui/molecules/HintPresenter.js +1 -1
  201. package/build/js/private/ui/molecules/LoadingOverlay.js +1 -1
  202. package/build/js/private/ui/molecules/TorchSwitchIconButton.d.ts +1 -2
  203. package/build/js/private/ui/molecules/TorchSwitchIconButton.js +1 -1
  204. package/build/js/private/ui/molecules/ZoomSwitchPill.d.ts +70 -0
  205. package/build/js/private/ui/molecules/ZoomSwitchPill.js +1 -0
  206. package/build/js/private/utils/AnimationSimplePolyfill.js +1 -1
  207. package/build/js/private/utils/areEqualArrays.d.ts +4 -0
  208. package/build/js/private/utils/areEqualArrays.js +1 -0
  209. package/build/js/private/utils/index.d.ts +1 -0
  210. package/build/js/private/utils/index.js +1 -1
  211. package/build/js/private/utils/isPointerTouchEvent.d.ts +4 -0
  212. package/build/js/private/utils/isPointerTouchEvent.js +1 -0
  213. package/build/js/private/utils/polyfillLoader.js +1 -1
  214. package/build/js/private/utils/replaceImagesInViewUtils.d.ts +3 -3
  215. package/build/js/worker/ImageConverterForwarder.d.ts +3 -3
  216. package/build/js/worker/ViewInfoHelper.d.ts +3 -3
  217. package/build/js/worker/WorkerMain.d.ts +3 -3
  218. package/build/js/worker/WorkerMain.js +1 -1
  219. package/build/js/worker/coreCapture.inlineWorker.d.ts +3 -3
  220. package/build/js/worker/coreCapture.inlineWorker.js +1 -1
  221. package/build/js/worker/dataCaptureEngine.d.ts +3 -3
  222. package/build/js/worker/dataCaptureEngine.js +1 -1
  223. package/build/js/worker/dataCaptureLoader.d.ts +3 -3
  224. package/build/js/worker/dataCaptureWorkerRelated.d.ts +3 -3
  225. package/build/js/worker/helperFs.d.ts +3 -5
  226. package/build/js/worker/helperFs.js +1 -1
  227. package/build/js/worker/index.d.ts +3 -3
  228. package/build/js/worker/index.js +1 -1
  229. package/package.json +1 -1
  230. package/build/js/chunks/chunk-2AX7TBDI.js +0 -1
  231. package/build/js/chunks/chunk-2OCDIZIS.js +0 -1
  232. package/build/js/chunks/chunk-3D2HNEVH.js +0 -1
  233. package/build/js/chunks/chunk-6AQGNP4S.js +0 -1
  234. package/build/js/chunks/chunk-6IHWEHG3.js +0 -1
  235. package/build/js/chunks/chunk-6LHGFWQI.js +0 -1
  236. package/build/js/chunks/chunk-74GO72VC.js +0 -1
  237. package/build/js/chunks/chunk-A5G2NHT2.js +0 -1
  238. package/build/js/chunks/chunk-AKGGJKCA.js +0 -35
  239. package/build/js/chunks/chunk-DZKTI5AJ.js +0 -1
  240. package/build/js/chunks/chunk-EQP4U5U2.js +0 -1
  241. package/build/js/chunks/chunk-EYBP3672.js +0 -1
  242. package/build/js/chunks/chunk-F3Y2X52X.js +0 -1
  243. package/build/js/chunks/chunk-GX4YCYCH.js +0 -1
  244. package/build/js/chunks/chunk-HHA4HDG5.js +0 -6
  245. package/build/js/chunks/chunk-QHBYNYWX.js +0 -1
  246. package/build/js/chunks/chunk-RY2EW3RR.js +0 -1
  247. package/build/js/chunks/chunk-SSTFVERQ.js +0 -1
  248. package/build/js/chunks/chunk-WJOT37ST.js +0 -1
  249. package/build/js/chunks/chunk-XIAF6V7E.js +0 -1
  250. /package/build/js/{chunks/chunk-BUKZPAC5.js → ZoomGestureListener.js} +0 -0
  251. /package/build/js/{chunks/chunk-VFOSFLTM.js → ZoomListener.js} +0 -0
  252. /package/build/js/chunks/{chunk-O5D4KVS5.js → chunk-Y7BTRVB4.js} +0 -0
@@ -0,0 +1,4 @@
1
+ /// <reference types="emscripten" />
2
+ declare function isPointerTouchEvent(event: MouseEvent | PointerEvent): event is PointerEvent;
3
+
4
+ export { isPointerTouchEvent };
@@ -0,0 +1 @@
1
+ export{a as isPointerTouchEvent}from'../../chunks/chunk-FHUC75ND.js';
@@ -1 +1 @@
1
- export{a as loadPolyfills}from'../../chunks/chunk-O5D4KVS5.js';
1
+ export{a as loadPolyfills}from'../../chunks/chunk-Y7BTRVB4.js';
@@ -2,17 +2,17 @@
2
2
  import { Size } from '../../commons/Size.js';
3
3
  import { Optional } from '../../tsHelper.js';
4
4
  import '../../ScanditIcon.js';
5
- import '../../DataCaptureContext-BcSpF9Dt.js';
5
+ import '../../DataCaptureContext-qacCkSOl.js';
6
6
  import '../Serializable.js';
7
7
  import '../../commons/Color.js';
8
8
  import './ScanditHTMLElement.js';
9
- import '../../Camera-Cc__1Nc-.js';
9
+ import '../../Camera-HgH6fwnW.js';
10
10
  import '../../commons/Rect.js';
11
11
  import '../../commons/Point.js';
12
12
  import '../privateAccess.js';
13
13
  import '../../DataCaptureContextSettings.js';
14
14
  import '../../commons/JSONType.js';
15
- import '../../DataCaptureViewPlusRelated.js';
15
+ import '../../DataCaptureViewPlusRelated-BOrDBPHq.js';
16
16
  import '../../NotificationPresenter/NotificationPresenter.js';
17
17
  import '../../NotificationPresenter/NotificationConfiguration.js';
18
18
  import '../../NotificationPresenter/NotificationStyle.js';
@@ -1,7 +1,7 @@
1
1
  /// <reference types="emscripten" />
2
2
  import { ImageConverterInstance, ImageBuffer, BitmapWithFormat } from '../private/djinni-types/index.js';
3
- import { W as WorkerFunctions } from '../DataCaptureContext-BcSpF9Dt.js';
4
- import '../Camera-Cc__1Nc-.js';
3
+ import { W as WorkerFunctions } from '../DataCaptureContext-qacCkSOl.js';
4
+ import '../Camera-HgH6fwnW.js';
5
5
  import '../commons/Rect.js';
6
6
  import '../private/Serializable.js';
7
7
  import '../commons/Point.js';
@@ -9,7 +9,7 @@ import '../commons/Size.js';
9
9
  import '../private/privateAccess.js';
10
10
  import '../DataCaptureContextSettings.js';
11
11
  import '../commons/JSONType.js';
12
- import '../DataCaptureViewPlusRelated.js';
12
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
13
13
  import '../NotificationPresenter/NotificationPresenter.js';
14
14
  import '../NotificationPresenter/NotificationConfiguration.js';
15
15
  import '../commons/Color.js';
@@ -1,6 +1,6 @@
1
1
  /// <reference types="emscripten" />
2
- import { V as ViewInfo } from '../DataCaptureContext-BcSpF9Dt.js';
3
- import '../Camera-Cc__1Nc-.js';
2
+ import { V as ViewInfo } from '../DataCaptureContext-qacCkSOl.js';
3
+ import '../Camera-HgH6fwnW.js';
4
4
  import '../commons/Rect.js';
5
5
  import '../private/Serializable.js';
6
6
  import '../commons/Point.js';
@@ -8,7 +8,7 @@ import '../commons/Size.js';
8
8
  import '../private/privateAccess.js';
9
9
  import '../DataCaptureContextSettings.js';
10
10
  import '../commons/JSONType.js';
11
- import '../DataCaptureViewPlusRelated.js';
11
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
12
12
  import '../NotificationPresenter/NotificationPresenter.js';
13
13
  import '../NotificationPresenter/NotificationConfiguration.js';
14
14
  import '../commons/Color.js';
@@ -1,6 +1,6 @@
1
1
  /// <reference types="emscripten" />
2
- import { K as DataCaptureEngine, L as Module, Q as AnyDataCaptureActionMessage, R as AugmentedWorker, S as ModuleHandler, T as DataCaptureCallbackMessage, U as DataCaptureActionMessageKey, X as EngineWorkerResponse } from '../DataCaptureContext-BcSpF9Dt.js';
3
- import '../Camera-Cc__1Nc-.js';
2
+ import { K as DataCaptureEngine, L as Module, Q as AnyDataCaptureActionMessage, R as AugmentedWorker, S as ModuleHandler, T as DataCaptureCallbackMessage, U as DataCaptureActionMessageKey, X as EngineWorkerResponse } from '../DataCaptureContext-qacCkSOl.js';
3
+ import '../Camera-HgH6fwnW.js';
4
4
  import '../commons/Rect.js';
5
5
  import '../private/Serializable.js';
6
6
  import '../commons/Point.js';
@@ -8,7 +8,7 @@ import '../commons/Size.js';
8
8
  import '../private/privateAccess.js';
9
9
  import '../DataCaptureContextSettings.js';
10
10
  import '../commons/JSONType.js';
11
- import '../DataCaptureViewPlusRelated.js';
11
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
12
12
  import '../NotificationPresenter/NotificationPresenter.js';
13
13
  import '../NotificationPresenter/NotificationConfiguration.js';
14
14
  import '../commons/Color.js';
@@ -1 +1 @@
1
- export{a as WorkerMain}from'../chunks/chunk-X653DLOR.js';
1
+ export{a as WorkerMain}from'../chunks/chunk-JLTSTUKY.js';
@@ -1,7 +1,7 @@
1
1
  /// <reference types="emscripten" />
2
- import { K as DataCaptureEngine, L as Module } from '../DataCaptureContext-BcSpF9Dt.js';
2
+ import { K as DataCaptureEngine, L as Module } from '../DataCaptureContext-qacCkSOl.js';
3
3
  import { WorkerMain } from './WorkerMain.js';
4
- import '../Camera-Cc__1Nc-.js';
4
+ import '../Camera-HgH6fwnW.js';
5
5
  import '../commons/Rect.js';
6
6
  import '../private/Serializable.js';
7
7
  import '../commons/Point.js';
@@ -9,7 +9,7 @@ import '../commons/Size.js';
9
9
  import '../private/privateAccess.js';
10
10
  import '../DataCaptureContextSettings.js';
11
11
  import '../commons/JSONType.js';
12
- import '../DataCaptureViewPlusRelated.js';
12
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
13
13
  import '../NotificationPresenter/NotificationPresenter.js';
14
14
  import '../NotificationPresenter/NotificationConfiguration.js';
15
15
  import '../commons/Color.js';
@@ -1 +1 @@
1
- export{b as InlineWorker,a as workerInstance}from'../chunks/chunk-6IHWEHG3.js';
1
+ export{b as InlineWorker,a as workerInstance}from'../chunks/chunk-LPFXHHWJ.js';
@@ -3,18 +3,18 @@ import '../private/BatteryInterface.js';
3
3
  import '../LoadingStatus.js';
4
4
  import '../commons/Point.js';
5
5
  import '../commons/Orientation.js';
6
- export { a1 as CreateContextParameters, K as DataCaptureEngine, aJ as LoadLibraryParameters, aT as ProcessFrameParameters, aW as ReportCameraPropertiesParameters, a_ as SetFrameSourceParameters, ba as UpdateContextParameters, W as WorkerFunctions } from '../DataCaptureContext-BcSpF9Dt.js';
6
+ export { a1 as CreateContextParameters, K as DataCaptureEngine, aJ as LoadLibraryParameters, aT as ProcessFrameParameters, aW as ReportCameraPropertiesParameters, a_ as SetFrameSourceParameters, ba as UpdateContextParameters, W as WorkerFunctions } from '../DataCaptureContext-qacCkSOl.js';
7
7
  import '../ScanditIcon.js';
8
8
  import '../private/FrameReaders/ColorType.js';
9
9
  import '../private/djinni-types/index.js';
10
10
  import '../private/Serializable.js';
11
- import '../Camera-Cc__1Nc-.js';
11
+ import '../Camera-HgH6fwnW.js';
12
12
  import '../commons/Rect.js';
13
13
  import '../commons/Size.js';
14
14
  import '../private/privateAccess.js';
15
15
  import '../DataCaptureContextSettings.js';
16
16
  import '../commons/JSONType.js';
17
- import '../DataCaptureViewPlusRelated.js';
17
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
18
18
  import '../NotificationPresenter/NotificationPresenter.js';
19
19
  import '../NotificationPresenter/NotificationConfiguration.js';
20
20
  import '../commons/Color.js';
@@ -1 +1 @@
1
- export{a as DataCaptureEngine}from'../chunks/chunk-QHNV2CFJ.js';
1
+ export{a as DataCaptureEngine}from'../chunks/chunk-2UHUEJA4.js';
@@ -1,9 +1,9 @@
1
1
  /// <reference types="emscripten" />
2
- export { k as DataCaptureLoader, l as DataCaptureLoaderOptions } from '../DataCaptureContext-BcSpF9Dt.js';
2
+ export { k as DataCaptureLoader, l as DataCaptureLoaderOptions } from '../DataCaptureContext-qacCkSOl.js';
3
3
  import '../LoadingStatus.js';
4
4
  import '../logger.js';
5
5
  import '../ScanditIcon.js';
6
- import '../Camera-Cc__1Nc-.js';
6
+ import '../Camera-HgH6fwnW.js';
7
7
  import '../commons/Rect.js';
8
8
  import '../private/Serializable.js';
9
9
  import '../commons/Point.js';
@@ -11,7 +11,7 @@ import '../commons/Size.js';
11
11
  import '../private/privateAccess.js';
12
12
  import '../DataCaptureContextSettings.js';
13
13
  import '../commons/JSONType.js';
14
- import '../DataCaptureViewPlusRelated.js';
14
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
15
15
  import '../NotificationPresenter/NotificationPresenter.js';
16
16
  import '../NotificationPresenter/NotificationConfiguration.js';
17
17
  import '../commons/Color.js';
@@ -2,7 +2,7 @@
2
2
  import '../commons/Orientation.js';
3
3
  import '../commons/Point.js';
4
4
  import '../commons/Rect.js';
5
- export { Y as AddNativeOverlayAction, Q as AnyDataCaptureActionMessage, R as AugmentedWorker, Z as BatteryData, _ as CaptureModeDeserializerInstance, $ as ConvertToJPEGResultDataCaptureAction, a0 as CreateContextDataCaptureAction, U as DataCaptureActionMessageKey, T as DataCaptureCallbackMessage, a2 as DataCaptureCallbackMessageKeys, a3 as DataCaptureContext, a4 as DataCaptureContextDeserializer, a5 as DataCaptureContextDeserializerResult, a6 as DataCaptureImageBufferFrameSource, a7 as DataCaptureView, a8 as DataCaptureWorker, a9 as DeleteFrameDataDataCaptureAction, aa as DeviceInterfaceInstance, ab as DidTapTrackedBarcode, ac as DisposeDataCaptureAction, ad as EmscriptenClassHandle, X as EngineWorkerResponse, ae as ExtractCentaurusLicenseDataCaptureAction, af as ExtractCentaurusLicenseResponse, ag as FlushAnalyticsDataCaptureAction, N as GenericHint, ah as GestureListener, ai as GestureRecognizer, aj as GetOpenSourceSoftwareLicenseInfoAction, ak as GetOpenSourceSoftwareLicenseInfoResponse, al as GetViewfinderInfoAction, am as GetViewfinderInfoResponse, an as GuidanceHint, ao as GuidanceHintAnchor, ap as GuidanceHintStyle, aq as HideGuidanceMessage, ar as HideHintWorkerMessage, as as HideToastMessage, at as HintAnchor, au as HintCornerStyle, av as HintFont, aw as HintHeight, ax as HintIcon, ay as HintPresenterV2, az as HintPresenterV2updateAction, aA as HintStyle, aB as HintTextAlignment, aC as HintWidth, aD as IsFeatureSupportedAction, aE as IsFeatureSupportedMessage, aF as IsFeatureSupportedResponse, aG as JSONParseable, aH as LicensedFeature, aI as LoadLibraryDataCaptureAction, L as Module, S as ModuleHandler, aK as ModuleMirrorAxis, aL as OnFrameProcessingFinishedMessage, aM as OnFrameProcessingStartedMessage, aN as OnFrameSkippedMessage, aO as OnTapAction, aP as PayloadForCommand, I as PerformanceMetrics, aQ as PerformanceMetricsReportMessage, aR as PlatformHintPresenter, aS as ProcessFrameDataCaptureAction, aU as RemoveNativeOverlayAction, aV as ReportCameraPropertiesDataCaptureAction, aX as RequestFrameDataDataCaptureAction, aY as RequestFrameDataResponse, aZ as SetFrameSourceDataCaptureAction, a$ as SetLogLevelDataCaptureAction, b0 as ShowGuidanceMessage, b1 as ShowHintWorkerMessage, b2 as ShowToastMessage, b3 as StartUpdateTimerMessage, b4 as StopUpdateTimerMessage, b5 as SuccessFeedbackWorkerMessage, b6 as ToastHint, b7 as ToastHintStyle, b8 as UpdateBatteryInfoDataCaptureAction, b9 as UpdateContextDataCaptureAction, bb as UpdateHintWorkerMessage, bc as Vector, V as ViewInfo, bd as ViewSizeChangedMessage, be as VisibilityChangeAction, bf as WasmFrameData, bg as WorkerResponse } from '../DataCaptureContext-BcSpF9Dt.js';
5
+ export { Y as AddNativeOverlayAction, Q as AnyDataCaptureActionMessage, R as AugmentedWorker, Z as BatteryData, _ as CaptureModeDeserializerInstance, $ as ConvertToJPEGResultDataCaptureAction, a0 as CreateContextDataCaptureAction, U as DataCaptureActionMessageKey, T as DataCaptureCallbackMessage, a2 as DataCaptureCallbackMessageKeys, a3 as DataCaptureContext, a4 as DataCaptureContextDeserializer, a5 as DataCaptureContextDeserializerResult, a6 as DataCaptureImageBufferFrameSource, a7 as DataCaptureView, a8 as DataCaptureWorker, a9 as DeleteFrameDataDataCaptureAction, aa as DeviceInterfaceInstance, ab as DidTapTrackedBarcode, ac as DisposeDataCaptureAction, ad as EmscriptenClassHandle, X as EngineWorkerResponse, ae as ExtractCentaurusLicenseDataCaptureAction, af as ExtractCentaurusLicenseResponse, ag as FlushAnalyticsDataCaptureAction, N as GenericHint, ah as GestureListener, ai as GestureRecognizer, aj as GetOpenSourceSoftwareLicenseInfoAction, ak as GetOpenSourceSoftwareLicenseInfoResponse, al as GetViewfinderInfoAction, am as GetViewfinderInfoResponse, an as GuidanceHint, ao as GuidanceHintAnchor, ap as GuidanceHintStyle, aq as HideGuidanceMessage, ar as HideHintWorkerMessage, as as HideToastMessage, at as HintAnchor, au as HintCornerStyle, av as HintFont, aw as HintHeight, ax as HintIcon, ay as HintPresenterV2, az as HintPresenterV2updateAction, aA as HintStyle, aB as HintTextAlignment, aC as HintWidth, aD as IsFeatureSupportedAction, aE as IsFeatureSupportedMessage, aF as IsFeatureSupportedResponse, aG as JSONParseable, aH as LicensedFeature, aI as LoadLibraryDataCaptureAction, L as Module, S as ModuleHandler, aK as ModuleMirrorAxis, aL as OnFrameProcessingFinishedMessage, aM as OnFrameProcessingStartedMessage, aN as OnFrameSkippedMessage, aO as OnTapAction, aP as PayloadForCommand, I as PerformanceMetrics, aQ as PerformanceMetricsReportMessage, aR as PlatformHintPresenter, aS as ProcessFrameDataCaptureAction, aU as RemoveNativeOverlayAction, aV as ReportCameraPropertiesDataCaptureAction, aX as RequestFrameDataDataCaptureAction, aY as RequestFrameDataResponse, aZ as SetFrameSourceDataCaptureAction, a$ as SetLogLevelDataCaptureAction, b0 as ShowGuidanceMessage, b1 as ShowHintWorkerMessage, b2 as ShowToastMessage, b3 as StartUpdateTimerMessage, b4 as StopUpdateTimerMessage, b5 as SuccessFeedbackWorkerMessage, b6 as ToastHint, b7 as ToastHintStyle, b8 as UpdateBatteryInfoDataCaptureAction, b9 as UpdateContextDataCaptureAction, bb as UpdateHintWorkerMessage, bc as Vector, V as ViewInfo, bd as ViewSizeChangedMessage, be as VisibilityChangeAction, bf as WasmFeedback, bg as WasmFrameData, bh as WorkerResponse } from '../DataCaptureContext-qacCkSOl.js';
6
6
  import '../LoadingStatus.js';
7
7
  import '../logger.js';
8
8
  import '../private/BatteryInterface.js';
@@ -10,11 +10,11 @@ import '../private/FrameReaders/ColorType.js';
10
10
  import '../private/djinni-types/index.js';
11
11
  import '../private/Serializable.js';
12
12
  import '../commons/Size.js';
13
- import '../Camera-Cc__1Nc-.js';
13
+ import '../Camera-HgH6fwnW.js';
14
14
  import '../private/privateAccess.js';
15
15
  import '../DataCaptureContextSettings.js';
16
16
  import '../commons/JSONType.js';
17
- import '../DataCaptureViewPlusRelated.js';
17
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
18
18
  import '../NotificationPresenter/NotificationPresenter.js';
19
19
  import '../NotificationPresenter/NotificationConfiguration.js';
20
20
  import '../commons/Color.js';
@@ -4,13 +4,11 @@ interface SetupFSOptions {
4
4
  indexedDBTimeoutMs: number;
5
5
  }
6
6
  /**
7
- * Initializes the filesystem wrapper with timeout protection and debouncing.
7
+ * Initializes the filesystem with IDBFS for persistent storage.
8
8
  *
9
9
  * Setup flow:
10
- * 1. Configure timeout from main thread
11
- * 2. Wrap FS.syncfs with our implementation
12
- * 3. Create and mount IDBFS
13
- * 4. Perform initial population sync
10
+ * 1. Create and mount IDBFS with autoPersist (writes are automatically persisted to IndexedDB)
11
+ * 2. Perform initial population sync to load previously persisted data
14
12
  */
15
13
  declare function setupFS(options: SetupFSOptions): Promise<void>;
16
14
 
@@ -1 +1 @@
1
- export{a as setupFS}from'../chunks/chunk-DZKTI5AJ.js';
1
+ export{a as setupFS}from'../chunks/chunk-GVHXM75D.js';
@@ -1,7 +1,7 @@
1
1
  /// <reference types="emscripten" />
2
2
  export { WorkerMain } from './WorkerMain.js';
3
- export { Y as AddNativeOverlayAction, Q as AnyDataCaptureActionMessage, R as AugmentedWorker, Z as BatteryData, _ as CaptureModeDeserializerInstance, $ as ConvertToJPEGResultDataCaptureAction, a0 as CreateContextDataCaptureAction, a1 as CreateContextParameters, U as DataCaptureActionMessageKey, T as DataCaptureCallbackMessage, a2 as DataCaptureCallbackMessageKeys, a3 as DataCaptureContext, a4 as DataCaptureContextDeserializer, a5 as DataCaptureContextDeserializerResult, K as DataCaptureEngine, a6 as DataCaptureImageBufferFrameSource, k as DataCaptureLoader, l as DataCaptureLoaderOptions, a7 as DataCaptureView, a8 as DataCaptureWorker, a9 as DeleteFrameDataDataCaptureAction, aa as DeviceInterfaceInstance, ab as DidTapTrackedBarcode, ac as DisposeDataCaptureAction, ad as EmscriptenClassHandle, X as EngineWorkerResponse, ae as ExtractCentaurusLicenseDataCaptureAction, af as ExtractCentaurusLicenseResponse, ag as FlushAnalyticsDataCaptureAction, N as GenericHint, ah as GestureListener, ai as GestureRecognizer, aj as GetOpenSourceSoftwareLicenseInfoAction, ak as GetOpenSourceSoftwareLicenseInfoResponse, al as GetViewfinderInfoAction, am as GetViewfinderInfoResponse, an as GuidanceHint, ao as GuidanceHintAnchor, ap as GuidanceHintStyle, aq as HideGuidanceMessage, ar as HideHintWorkerMessage, as as HideToastMessage, at as HintAnchor, au as HintCornerStyle, av as HintFont, aw as HintHeight, ax as HintIcon, ay as HintPresenterV2, az as HintPresenterV2updateAction, aA as HintStyle, aB as HintTextAlignment, aC as HintWidth, aD as IsFeatureSupportedAction, aE as IsFeatureSupportedMessage, aF as IsFeatureSupportedResponse, aG as JSONParseable, aH as LicensedFeature, aI as LoadLibraryDataCaptureAction, aJ as LoadLibraryParameters, L as Module, S as ModuleHandler, aK as ModuleMirrorAxis, aL as OnFrameProcessingFinishedMessage, aM as OnFrameProcessingStartedMessage, aN as OnFrameSkippedMessage, aO as OnTapAction, aP as PayloadForCommand, I as PerformanceMetrics, aQ as PerformanceMetricsReportMessage, aR as PlatformHintPresenter, aS as ProcessFrameDataCaptureAction, aT as ProcessFrameParameters, aU as RemoveNativeOverlayAction, aV as ReportCameraPropertiesDataCaptureAction, aW as ReportCameraPropertiesParameters, aX as RequestFrameDataDataCaptureAction, aY as RequestFrameDataResponse, aZ as SetFrameSourceDataCaptureAction, a_ as SetFrameSourceParameters, a$ as SetLogLevelDataCaptureAction, b0 as ShowGuidanceMessage, b1 as ShowHintWorkerMessage, b2 as ShowToastMessage, b3 as StartUpdateTimerMessage, b4 as StopUpdateTimerMessage, b5 as SuccessFeedbackWorkerMessage, b6 as ToastHint, b7 as ToastHintStyle, b8 as UpdateBatteryInfoDataCaptureAction, b9 as UpdateContextDataCaptureAction, ba as UpdateContextParameters, bb as UpdateHintWorkerMessage, bc as Vector, V as ViewInfo, bd as ViewSizeChangedMessage, be as VisibilityChangeAction, bf as WasmFrameData, W as WorkerFunctions, bg as WorkerResponse } from '../DataCaptureContext-BcSpF9Dt.js';
4
- import '../Camera-Cc__1Nc-.js';
3
+ export { Y as AddNativeOverlayAction, Q as AnyDataCaptureActionMessage, R as AugmentedWorker, Z as BatteryData, _ as CaptureModeDeserializerInstance, $ as ConvertToJPEGResultDataCaptureAction, a0 as CreateContextDataCaptureAction, a1 as CreateContextParameters, U as DataCaptureActionMessageKey, T as DataCaptureCallbackMessage, a2 as DataCaptureCallbackMessageKeys, a3 as DataCaptureContext, a4 as DataCaptureContextDeserializer, a5 as DataCaptureContextDeserializerResult, K as DataCaptureEngine, a6 as DataCaptureImageBufferFrameSource, k as DataCaptureLoader, l as DataCaptureLoaderOptions, a7 as DataCaptureView, a8 as DataCaptureWorker, a9 as DeleteFrameDataDataCaptureAction, aa as DeviceInterfaceInstance, ab as DidTapTrackedBarcode, ac as DisposeDataCaptureAction, ad as EmscriptenClassHandle, X as EngineWorkerResponse, ae as ExtractCentaurusLicenseDataCaptureAction, af as ExtractCentaurusLicenseResponse, ag as FlushAnalyticsDataCaptureAction, N as GenericHint, ah as GestureListener, ai as GestureRecognizer, aj as GetOpenSourceSoftwareLicenseInfoAction, ak as GetOpenSourceSoftwareLicenseInfoResponse, al as GetViewfinderInfoAction, am as GetViewfinderInfoResponse, an as GuidanceHint, ao as GuidanceHintAnchor, ap as GuidanceHintStyle, aq as HideGuidanceMessage, ar as HideHintWorkerMessage, as as HideToastMessage, at as HintAnchor, au as HintCornerStyle, av as HintFont, aw as HintHeight, ax as HintIcon, ay as HintPresenterV2, az as HintPresenterV2updateAction, aA as HintStyle, aB as HintTextAlignment, aC as HintWidth, aD as IsFeatureSupportedAction, aE as IsFeatureSupportedMessage, aF as IsFeatureSupportedResponse, aG as JSONParseable, aH as LicensedFeature, aI as LoadLibraryDataCaptureAction, aJ as LoadLibraryParameters, L as Module, S as ModuleHandler, aK as ModuleMirrorAxis, aL as OnFrameProcessingFinishedMessage, aM as OnFrameProcessingStartedMessage, aN as OnFrameSkippedMessage, aO as OnTapAction, aP as PayloadForCommand, I as PerformanceMetrics, aQ as PerformanceMetricsReportMessage, aR as PlatformHintPresenter, aS as ProcessFrameDataCaptureAction, aT as ProcessFrameParameters, aU as RemoveNativeOverlayAction, aV as ReportCameraPropertiesDataCaptureAction, aW as ReportCameraPropertiesParameters, aX as RequestFrameDataDataCaptureAction, aY as RequestFrameDataResponse, aZ as SetFrameSourceDataCaptureAction, a_ as SetFrameSourceParameters, a$ as SetLogLevelDataCaptureAction, b0 as ShowGuidanceMessage, b1 as ShowHintWorkerMessage, b2 as ShowToastMessage, b3 as StartUpdateTimerMessage, b4 as StopUpdateTimerMessage, b5 as SuccessFeedbackWorkerMessage, b6 as ToastHint, b7 as ToastHintStyle, b8 as UpdateBatteryInfoDataCaptureAction, b9 as UpdateContextDataCaptureAction, ba as UpdateContextParameters, bb as UpdateHintWorkerMessage, bc as Vector, V as ViewInfo, bd as ViewSizeChangedMessage, be as VisibilityChangeAction, bf as WasmFeedback, bg as WasmFrameData, W as WorkerFunctions, bh as WorkerResponse } from '../DataCaptureContext-qacCkSOl.js';
4
+ import '../Camera-HgH6fwnW.js';
5
5
  import '../commons/Rect.js';
6
6
  import '../private/Serializable.js';
7
7
  import '../commons/Point.js';
@@ -9,7 +9,7 @@ import '../commons/Size.js';
9
9
  import '../private/privateAccess.js';
10
10
  import '../DataCaptureContextSettings.js';
11
11
  import '../commons/JSONType.js';
12
- import '../DataCaptureViewPlusRelated.js';
12
+ import '../DataCaptureViewPlusRelated-BOrDBPHq.js';
13
13
  import '../NotificationPresenter/NotificationPresenter.js';
14
14
  import '../NotificationPresenter/NotificationConfiguration.js';
15
15
  import '../commons/Color.js';
@@ -1 +1 @@
1
- export{a as DataCaptureLoader}from'../chunks/chunk-YJNJGCAN.js';export{a as WorkerMain}from'../chunks/chunk-X653DLOR.js';export{a as DataCaptureEngine}from'../chunks/chunk-QHNV2CFJ.js';export{h as GuidanceHintAnchor,i as GuidanceHintStyle,g as HintAnchor,e as HintCornerStyle,a as HintFont,d as HintHeight,f as HintIcon,b as HintTextAlignment,c as HintWidth,k as LicensedFeature,j as ToastHintStyle}from'../chunks/chunk-WFKB322J.js';
1
+ export{a as DataCaptureLoader}from'../chunks/chunk-YJNJGCAN.js';export{a as WorkerMain}from'../chunks/chunk-JLTSTUKY.js';export{a as DataCaptureEngine}from'../chunks/chunk-2UHUEJA4.js';export{h as GuidanceHintAnchor,i as GuidanceHintStyle,g as HintAnchor,e as HintCornerStyle,a as HintFont,d as HintHeight,f as HintIcon,b as HintTextAlignment,c as HintWidth,k as LicensedFeature,j as ToastHintStyle}from'../chunks/chunk-WFKB322J.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scandit/web-datacapture-core",
3
- "version": "8.3.0",
3
+ "version": "8.4.0-beta.1",
4
4
  "description": "Scandit Data Capture SDK for the Web",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "sideEffects": false,
@@ -1 +0,0 @@
1
- var e={preferredResolution:"hd",zoomFactor:1,focusGestureStrategy:"manualUntilCapture",zoomGestureZoomFactor:2};export{e as a};
@@ -1 +0,0 @@
1
- import {a as a$2}from'./chunk-BDGRWHLY.js';import {a as a$1}from'./chunk-MA6UDVDJ.js';var a={focusGesture:null,zoomGesture:null,logoAnchor:"bottomRight",logoStyle:"extended",logoOffset:a$2.fromJSON({x:{value:0,unit:"fraction"},y:{value:0,unit:"fraction"}}),pointOfInterest:a$2.fromJSON({x:{value:.5,unit:"fraction"},y:{value:.5,unit:"fraction"}}),scanAreaMargins:a$1.fromJSON({left:{value:0,unit:"fraction"},right:{value:0,unit:"fraction"},top:{value:0,unit:"fraction"},bottom:{value:0,unit:"fraction"}}),cameraRecoveryText:"(This text is updated from translations)"};export{a};
@@ -1 +0,0 @@
1
- import {a}from'./chunk-6LHGFWQI.js';var u=(o=>(o.On="on",o.Off="off",o.Standby="standby",o.Starting="starting",o.Stopping="stopping",o.BootingUp="bootingUp",o.WakingUp="wakingUp",o.GoingToSleep="goingToSleep",o.ShuttingDown="shuttingDown",o))(u||{}),c=(t=>(t.On="on",t.Off="off",t))(c||{}),m=(t=>(t.WorldFacing="worldFacing",t.UserFacing="userFacing",t))(m||{}),p=(r=>(r.Auto="auto",r.HD="hd",r.FullHD="fullHd",r.UHD4K="uhd4k",r))(p||{}),g=(r=>(r.None="none",r.Manual="manual",r.ManualUntilCapture="manualUntilCapture",r.AutoOnLocation="autoOnLocation",r))(g||{});function l(a){var e;return ((e=a==null?void 0:a.toJSONObject())==null?void 0:e.type)==="camera"}var n=class a$1{constructor(e){this.preferredResolution=a.settings.preferredResolution;this.zoomFactor=a.settings.zoomFactor;this.zoomGestureZoomFactor=a.settings.zoomGestureZoomFactor;this.focus={focusGestureStrategy:a.settings.focusGestureStrategy};e!=null&&(this.preferredResolution=e.preferredResolution,this.zoomFactor=e.zoomFactor,this.zoomGestureZoomFactor=e.zoomGestureZoomFactor,this.focusGestureStrategy=e.focusGestureStrategy,this.copyPrivatePropertiesFrom(e));}get focusGestureStrategy(){return this.focus.focusGestureStrategy}set focusGestureStrategy(e){this.focus.focusGestureStrategy=e;}copyPrivatePropertiesFrom(e){for(let[t,s]of Object.entries(e))Object.getOwnPropertyNames(this).includes(t)||this.setProperty(t,s);}static fromJSON(e){let t=new a$1;return t.preferredResolution=e.preferredResolution,t.zoomFactor=e.zoomFactor,t.zoomGestureZoomFactor=e.zoomGestureZoomFactor,t.focusGestureStrategy=e.focusGestureStrategy,t.copyPrivatePropertiesFrom(e),t}setProperty(e,t){this[e]=t;}getProperty(e){return this[e]}toJSONObject(){let e={preferredResolution:this.preferredResolution,zoomFactor:this.zoomFactor,zoomGestureZoomFactor:this.zoomGestureZoomFactor,focus:{focusGestureStrategy:this.focus.focusGestureStrategy}},t={};for(let s of Object.keys(this))[...Object.keys(e),"focusGestureStrategy"].includes(s)||(t[s]=this[s]);return {...e,...t}}};export{u as a,c as b,m as c,p as d,g as e,l as f,n as g};
@@ -1 +0,0 @@
1
- import {b,c,d}from'./chunk-22UMTZI6.js';function n(){b();}function p(){c();}function i(){d();}export{n as a,p as b,i as c};
@@ -1 +0,0 @@
1
- import {a}from'./chunk-X653DLOR.js';var t=new a(globalThis,{get:()=>globalThis.Module,set:e=>{globalThis.Module=e;}});function l(e){}export{t as a,l as b};
@@ -1 +0,0 @@
1
- import {a}from'./chunk-2AX7TBDI.js';var t={settings:a,defaultPosition:"worldFacing",availablePositions:["worldFacing","userFacing"]};export{t as a};
@@ -1 +0,0 @@
1
- var r=class extends CustomEvent{constructor(e){super("camera-fov-changed",{detail:e,bubbles:true,composed:true});}},a=class extends CustomEvent{constructor(e){super("camera-switched",{detail:e,bubbles:true,composed:true});}},o=class extends CustomEvent{constructor(e){super("torch-toggled",{detail:e,bubbles:true,composed:true});}};export{r as a,a as b,o as c};
@@ -1 +0,0 @@
1
- import {a as a$1}from'./chunk-TPHGDMKG.js';import {a as a$2}from'./chunk-LSZZVJ6B.js';function a(){let i=a$2`@keyframes scandit-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.${a$1.CONTAINER_CLASS_NAME}{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.${a$1.CONTAINER_CLASS_NAME}:before{animation:scandit-rotation 1s linear infinite;background-color:#fff;content:" ";height:1px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:1px}`,o=a$2`.${a$1.PAINTBOARDS_CONTAINER_CLASS_NAME}{height:inherit;position:relative;width:100%}.${a$1.PAINTBOARD_CLASS_NAME}{aspect-ratio:16/9;background-color:#000;height:100%;min-height:1px;min-width:1px;position:relative;width:100%}.${a$1.PAINTBOARD_CLASS_NAME}.${a$1.PAINTBOARD_CLASS_NAME_STATE_ON}{aspect-ratio:auto}.${a$1.PAINTBOARD_CLASS_NAME} video{display:block;height:100%;object-fit:cover;transition:opacity .3s;width:100%}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.MIRRORED_CLASS_NAME}{transform:scaleX(-1)}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.CAMERA_RECOVERY_CLASS_NAME}{align-items:center;background-color:#000;color:#fff;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;transition:background-color .2s;width:100%;z-index:5}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.CAMERA_RECOVERY_CLASS_NAME}:focus-visible{outline:2px solid #06c;outline-offset:-4px}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.CAMERA_RECOVERY_CLASS_NAME}:hover:not([hidden]){background-color:#000c}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.ERROR_CLASS_NAME}{align-items:center;background-color:#00000080;color:#fff;display:flex;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:6}.${a$1.CAMERA_RECOVERY_CLASS_NAME}[hidden],.${a$1.ERROR_CLASS_NAME}[hidden]{display:none}.${a$1.PAINTBOARD_CLASS_NAME} canvas{height:100%;left:0;object-fit:cover;pointer-events:none;position:absolute;top:0;transition:opacity .3s;width:100%}`,n=a$2`.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.SINGLE_IMAGE_UPLOADER_CONTAINER_CLASS_NAME}{-webkit-tap-highlight-color:rgba(255,255,255,0);align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.SINGLE_IMAGE_UPLOADER_CONTAINER_CLASS_NAME} label{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center}.${a$1.PAINTBOARD_CLASS_NAME} .${a$1.SINGLE_IMAGE_UPLOADER_CONTAINER_CLASS_NAME} label input[type=file]{position:absolute;top:-9999px}.${a$1.PAINTBOARD_CLASS_NAME}.${a$1.SINGLE_IMAGE_UPLOADER_CONTAINER_CLASS_NAME} label button{pointer-events:none}`,A=a$2`.${a$1.FROZEN_FRAME}{height:100%;left:0;object-fit:cover;opacity:1;position:absolute;top:0;width:100%}.${a$1.FROZEN_FRAME}[hidden]{opacity:0;pointer-events:none;visibility:hidden}`;return [i,o,n,A]}export{a};
@@ -1,35 +0,0 @@
1
- import {a as a$4}from'./chunk-3A7LM5JG.js';import {a}from'./chunk-NQF3GUK2.js';import {a as a$2}from'./chunk-QHBIT2WY.js';import {b,a as a$3}from'./chunk-SK6L34IF.js';import {d}from'./chunk-YUZDO2PC.js';import {b as b$2}from'./chunk-QHBYNYWX.js';import {a as a$6}from'./chunk-ZKROZLQ4.js';import {a as a$a}from'./chunk-KAFNKP6O.js';import {a as a$9}from'./chunk-E4XJ4GKD.js';import {a as a$b}from'./chunk-QOCHMKNY.js';import {b as b$4}from'./chunk-FTD535WI.js';import {a as a$5}from'./chunk-R6E4CT22.js';import {a as a$c}from'./chunk-4BP7D26M.js';import {b as b$1}from'./chunk-YONR3EGV.js';import {a as a$7,b as b$3}from'./chunk-CX2R2XQK.js';import {a as a$1}from'./chunk-XR65N6EG.js';import {a as a$8}from'./chunk-QCZSSQAQ.js';var O=`
2
- attribute vec2 a_position;
3
- varying vec2 v_texcoord;
4
-
5
- void main() {
6
- gl_Position = vec4(a_position, 0, 1);
7
- v_texcoord = a_position * 0.5 + 0.5;
8
- }
9
- `,U=`
10
- precision mediump float;
11
- varying vec2 v_texcoord;
12
- uniform sampler2D u_texture;
13
- uniform float x_spacing; // Uniform for x-spacing between pixels
14
-
15
- // Function to calculate grayscale
16
- float toGray(vec4 color) {
17
- return dot(color.rgb, vec3(0.299, 0.587, 0.114));
18
- }
19
-
20
- void main() {
21
- // Sample adjacent pixels with spacing of 1/width
22
- vec4 a = texture2D(u_texture, v_texcoord + vec2(0.0 * x_spacing, 0.0));
23
- vec4 b = texture2D(u_texture, v_texcoord + vec2(1.0 * x_spacing, 0.0));
24
- vec4 c = texture2D(u_texture, v_texcoord + vec2(2.0 * x_spacing, 0.0));
25
- vec4 d = texture2D(u_texture, v_texcoord + vec2(3.0 * x_spacing, 0.0));
26
-
27
- // Calculate grayscale values
28
- float grayscaleA = toGray(a);
29
- float grayscaleB = toGray(b);
30
- float grayscaleC = toGray(c);
31
- float grayscaleD = toGray(d);
32
-
33
- // Set the final color with grayscale values
34
- gl_FragColor = vec4(grayscaleA, grayscaleB, grayscaleC, grayscaleD);
35
- }`,T=class extends a{constructor(t,i){super(t,i);this.colorType="GRAYSCALE";this._useRgbaFallback=false;this._positions=new Float32Array([-1,-1,-1,1,1,-1,1,-1,-1,1,1,1]);this._canvas=document.createElement("canvas");}get _webglContext(){var t;if(!this._ctx){if(this._ctx=(t=this._canvas)==null?void 0:t.getContext("webgl",{antialias:false}),!this._ctx)throw new Error("Cannot get WebGL context");this.setup();}return this._ctx}readFromSource(t){var R,_;let i=(R=t==null?void 0:t.videoWidth)!=null?R:this._contextWebGL.drawingBufferWidth,a=i%4!==0;if(a!==this._useRgbaFallback&&(a?(a$1.debug("[GrayScaleFrameReader] Video width not divisible by 4, falling back to RGBA reader for better performance",{width:i}),this._rgbaFallbackReader||(this._rgbaFallbackReader=new v(this._contextWebGL,{minPoolCapacity:this._minPoolCapacity,maxPoolCapacity:this._maxPoolCapacity}),this._rgbaFallbackReader.setup())):a$1.log(a$1.Level.Info,"[GrayScaleFrameReader] Video width now divisible by 4, using optimized grayscale reader",{width:i}),this._useRgbaFallback=a),this._useRgbaFallback&&this._rgbaFallbackReader)return this._rgbaFallbackReader.readFromSource(t);this.updateCanvasSizeIfNeeded(),this.updateFrameSizeIfNeeded();let{drawingBufferWidth:s,drawingBufferHeight:o,TEXTURE_2D:c,RGBA:d,UNSIGNED_BYTE:l,TRIANGLES:p}=this._webglContext;this._webglContext.viewport(0,0,s,o);let b=this._webglContext.getUniformLocation(this._shaderProgram,"x_spacing"),u=1/i;this._webglContext.uniform1f(b,u),this._webglContext.texImage2D(c,0,d,d,l,t),this._webglContext.drawArrays(p,0,6);let h=(_=this._framePool)==null?void 0:_.pop();if(!h)throw new Error("Frame pool found empty!");let g=s*o*4;return h.length!==g&&(a$1.warn("[GrayScaleFrameReader] Buffer from pool has wrong size, allocating new one",{bufferLength:h.length,requiredSize:g}),h=new Uint8ClampedArray(g)),this._webglContext.readPixels(0,0,s,o,d,l,h),{width:i,height:o,data:new Uint8ClampedArray(h.buffer,0,i*o),frameId:E(),colorType:"GRAYSCALE"}}setup(){this.initShaderProgram(),this.initBuffers(),this.initTexture();}dispose(){var t;this._ctx&&(this._shaderProgram&&(this._ctx.deleteProgram(this._shaderProgram),this._shaderProgram=null),this._positionBuffer&&(this._ctx.deleteBuffer(this._positionBuffer),this._positionBuffer=null),this._texture&&(this._ctx.deleteTexture(this._texture),this._texture=null),this._ctx=null),this._rgbaFallbackReader&&(this._rgbaFallbackReader.dispose(),this._rgbaFallbackReader=null),(t=this._framePool)==null||t.empty(),this._canvas=void 0;}updateCanvasSizeIfNeeded(){if(!this._canvas)return;let t=Math.ceil(this._contextWebGL.drawingBufferWidth/4);(this._canvas.width!==t||this._canvas.height!==this._contextWebGL.drawingBufferHeight)&&(this._canvas.width=t,this._canvas.height=this._contextWebGL.drawingBufferHeight);}updateFrameSizeIfNeeded(){let{drawingBufferWidth:t,drawingBufferHeight:i}=this._webglContext,a=t*i*4;this._frameSize!==a&&(this._frameSize=a,this._framePool&&this._framePool.empty(),this._framePool=new a$2({capacity:this._maxPoolCapacity,lowWaterMark:this._minPoolCapacity,createItem:()=>new Uint8ClampedArray(this._frameSize)}));}initShaderProgram(){let t=b(this._webglContext,this._webglContext.VERTEX_SHADER,O),i=b(this._webglContext,this._webglContext.FRAGMENT_SHADER,U);if(!t||!i)throw new Error("Shaders cannot be created");this._shaderProgram=a$3(this._webglContext,t,i),this._webglContext.useProgram(this._shaderProgram);}initBuffers(){this._positionBuffer=this._webglContext.createBuffer(),this._webglContext.bindBuffer(this._webglContext.ARRAY_BUFFER,this._positionBuffer),this._webglContext.bufferData(this._webglContext.ARRAY_BUFFER,this._positions,this._webglContext.STATIC_DRAW);let t=this._webglContext.getAttribLocation(this._shaderProgram,"a_position");this._webglContext.enableVertexAttribArray(t),this._webglContext.bindBuffer(this._webglContext.ARRAY_BUFFER,this._positionBuffer),this._webglContext.vertexAttribPointer(t,2,this._webglContext.FLOAT,false,0,0);}initTexture(){this._texture=this._webglContext.createTexture(),this._webglContext.bindTexture(this._webglContext.TEXTURE_2D,this._texture),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_WRAP_S,this._webglContext.CLAMP_TO_EDGE),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_WRAP_T,this._webglContext.CLAMP_TO_EDGE),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_MIN_FILTER,this._webglContext.LINEAR),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_MAG_FILTER,this._webglContext.LINEAR);let t=this._webglContext.getUniformLocation(this._shaderProgram,"u_texture");this._webglContext.uniform1i(t,0);}};var H=(a=>(a.CONTINUOUS="continuous",a.MANUAL="manual",a.NONE="none",a.SINGLE_SHOT="single-shot",a))(H||{}),Z=(s=>(s[s.ULTRA_HD=0]="ULTRA_HD",s[s.FULL_HD=1]="FULL_HD",s[s.HD=2]="HD",s[s.SD=3]="SD",s[s.NONE=4]="NONE",s))(Z||{});function E(){return a$4()}var X=(t=>(t.CAMERA_PROPERTIES="cameraProperties",t.CAMERA_ACCESS_ERROR="cameraAccessError",t))(X||{}),n=class n{constructor(){this.constraint=4;this.checkCameraVideoStreamAccessIfVisibleListener=this.checkCameraVideoStreamAccessIfVisible.bind(this);this.handleWebGLContextLostListener=this.handleWebGLContextLost.bind(this);this.listeners=new Map;this.mirrorImageOverrides=new Map;this.postStreamInitializationListener=this.postStreamInitialization.bind(this);this.triggerManualFocusListener=this.triggerManualFocus.bind(this);this.triggerZoomMoveListener=this.triggerZoomMove.bind(this);this.triggerZoomStartListener=this.triggerZoomStart.bind(this);this.videoResizeListener=a$5(this.handleVideoResize.bind(this),500);this.videoTrackEndedListener=this.videoTrackEndedRecovery.bind(this);this.videoTrackMuteListener=this.videoTrackMuteRecovery.bind(this);this._synchronousFrameHandling=false;this._glFrameReaders={GRAYSCALE:null,RGBA:null};this._frameReaderType="RGBA";this.isVideoStreamPaused=false;this.handleVideoPauseHandler=this.handleVideoPause.bind(this);this.cameraPosition="worldFacing",this.gui={isCameraRecoveryVisible:()=>false,setCameraRecoveryVisible:()=>{}},this.isWebGLSupported=!b$1.checkBrowserCompatibility().missingFeatures.includes("webGL"),this.videoElement=document.createElement("video"),this.videoElement.autoplay=true,this.videoElement.playsInline=true,this.videoElement.muted=true,this.videoElement.style.opacity="0",this.videoElement.poster=a$6,this.canvas=document.createElement("canvas"),this.canvas.addEventListener("webglcontextlost",this.handleWebGLContextLostListener);}get mediaStream(){return this._mediaStream}set mediaStream(e){this._mediaStream=e,e&&(this.mediaTrackCapabilitiesPromise=new Promise(t=>{this.mediaTrackCapabilitiesPromiseResolver=t;}));}get synchronousFrameHandling(){return this._synchronousFrameHandling}get canvas2dContext(){return this._canvas2dContext||(this._canvas2dContext=this.canvas.getContext("2d",{willReadFrequently:true}),this._canvas2dContext==null&&a$1.warn("Unable to get 2d canvas context"),this.handleVideoResize()),this._canvas2dContext}get canvasWebGLContext(){var e;if(!this._canvas2dContext&&!this._canvasWebGLContext){if(!this.isWebGLSupported){a$1.warn("WebGL context not supported, falling back to 2d canvas context. This may impact the scanning performance.");return}let t=(e=this.canvas.getContext("webgl",{alpha:false,antialias:false}))!=null?e:this.canvas.getContext("experimental-webgl",{alpha:false,antialias:false});t!=null&&(this._canvasWebGLContext=t,this.handleVideoResize());}return this._canvasWebGLContext}static instance(){return n._instance==null&&(n._instance=new n),n._instance}dispose(){b$2.clear(),n._instance=null;}recycle(e){var t;(t=this.getFrameReader())==null||t.recycle(e);}getCurrentFrame(){var e;return (e=this._glFrameReaders.RGBA)==null?void 0:e.readFromSource(this.videoElement)}requestVideoFrame(e,t=this.videoElement){return "requestVideoFrameCallback"in HTMLVideoElement.prototype?t.requestVideoFrameCallback(e):a$7(e)}cancelVideoFrame(e,t=this.videoElement){if("cancelVideoFrameCallback"in HTMLVideoElement.prototype){t.cancelVideoFrameCallback(e);return}b$3(e);}addListener(e,t){var a;let i=(a=this.listeners.get(e))!=null?a:[];i.includes(t)||this.listeners.set(e,[...i,t]);}async applyCameraSettings(e){if(this.selectedCameraSettings=e,this.activeCamera==null)throw new a$8(n.noCameraErrorParameters);return this.initializeCameraWithSettings(this.activeCamera,e)}captureImage(){var e;if(((e=this.mediaStream)==null?void 0:e.active)!=null){if(this.canvasWebGLContext!=null)return this.captureImageForWebGLContext();if(this.canvas2dContext!=null)return this.captureImageFor2dContext()}return null}async initializeCameraWithSettings(e,t){if(this.cameraInitializationPromise&&await this.cameraInitializationPromise,e==null)throw new a$8(n.noCameraErrorParameters);return this.setSelectedCamera(e),this.selectedCameraSettings=t,this.activeCameraSettings=t,this.cameraInitializationPromise=this.initializeCameraAndCheckUpdatedSettings(e),this.cameraInitializationPromise}isMirrorImageEnabled(){if(this.selectedCamera&&this.activeCamera){let e=this.mirrorImageOverrides.get(this.activeCamera);return e!=null?e:this.activeCamera.position==="userFacing"}return false}isPinchToZoomEnabled(){return this.pinchToZoomEnabled}isTapToFocusEnabled(){return this.tapToFocusEnabled}async isTorchAvailable(){var e;return this.mediaStream?(await this.waitForCapabilities(),((e=this.mediaTrackCapabilities)==null?void 0:e.torch)===true):false}async playVideo(){return new Promise(e=>{this._canvas2dContext&&this._canvas2dContext.clearRect(0,0,this.canvas.width,this.canvas.height);let t=this.videoElement.play();t==null?e():t.then(e).catch(()=>{e();});})}async reinitializeCamera(){if(this.activeCamera==null)a$1.debug("Camera reinitialization delayed");else {a$1.debug("Reinitialize camera:",this.activeCamera);try{let e=this.activeCamera;await this.stopStream(),await this.initializeCameraWithSettings(e,this.activeCameraSettings);}catch(e){throw a$1.warn("Couldn't access camera:",this.activeCamera,e),this.emit("cameraAccessError",e),e}}}removeListener(e,t){var s;let a=((s=this.listeners.get(e))!=null?s:[]).filter(o=>o!==t);this.listeners.set(e,a);}async setCameraPosition(e){var i;this.setInitialCameraPosition(e);let t=d.getMainCameraForPosition(await d.getCameras(),e);if(t&&t.deviceId!==((i=this.selectedCamera)==null?void 0:i.deviceId))return this.initializeCameraWithSettings(t,this.selectedCameraSettings)}async setExposure(e){var a,s,o,c,d,l,p,b;let t=(s=(a=this.mediaStream)==null?void 0:a.getVideoTracks())!=null?s:[];if(t.length===0||typeof t[0].applyConstraints!="function")return;await this.waitForCapabilities();let i=e.time!=null&&e.time>0?"manual":"continuous";if(((c=(o=this.mediaTrackCapabilities)==null?void 0:o.exposureMode)==null?void 0:c.includes(i))===true){if(await t[0].applyConstraints({advanced:[{exposureMode:i}]}),e.time!=null&&e.time>0&&this.mediaTrackCapabilities.exposureTime){let u=Math.max((d=this.mediaTrackCapabilities.exposureTime.min)!=null?d:.01,Math.min(e.time,(l=this.mediaTrackCapabilities.exposureTime.max)!=null?l:1e5));await t[0].applyConstraints({advanced:[{exposureTime:u}]});}else if(e.compensation!=null&&i==="continuous"&&this.mediaTrackCapabilities.exposureCompensation){let u=Math.max((p=this.mediaTrackCapabilities.exposureCompensation.min)!=null?p:-10,Math.min(e.compensation,(b=this.mediaTrackCapabilities.exposureCompensation.max)!=null?b:10));await t[0].applyConstraints({advanced:[{exposureCompensation:u}]});}}}async setFocus(e){var i,a,s,o,c;if(!this.mediaStream)return;let t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].applyConstraints=="function"){await this.waitForCapabilities();let d=e>=0?"manual":"continuous";if(((a=(i=this.mediaTrackCapabilities)==null?void 0:i.focusMode)==null?void 0:a.includes(d))===true&&(await t[0].applyConstraints({advanced:[{focusMode:d}]}),d==="manual"&&this.mediaTrackCapabilities.focusDistance)){let l=Math.max(0,Math.min(e,1))*(((s=this.mediaTrackCapabilities.focusDistance.max)!=null?s:1e3)-((o=this.mediaTrackCapabilities.focusDistance.min)!=null?o:.01))+((c=this.mediaTrackCapabilities.focusDistance.min)!=null?c:.01);await t[0].applyConstraints({advanced:[{focusDistance:l}]});}}}async setFrameRate(e){var t,i,a;if(this.mediaStream&&(await this.waitForCapabilities(),(t=this.mediaTrackCapabilities)!=null&&t.frameRate)){let s=this.mediaStream.getVideoTracks();if(s.length>0&&typeof s[0].applyConstraints=="function"){let o=Math.min((i=this.mediaTrackCapabilities.frameRate.max)!=null?i:240,(a=e.max)!=null?a:240);await s[0].applyConstraints({advanced:[{frameRate:o}]});}}}setInitialCameraPosition(e){this.cameraPosition=e;}setInteractionOptions(e,t,i){this.torchToggleEnabled=e,this.tapToFocusEnabled=t,this.pinchToZoomEnabled=i;}setMirrorImageEnabled(e,t){this.selectedCamera&&(e?(this.videoElement.classList.add(n.MIRRORED_CLASS_NAME),this.canvas.classList.add(n.MIRRORED_CLASS_NAME)):(this.videoElement.classList.remove(n.MIRRORED_CLASS_NAME),this.canvas.classList.remove(n.MIRRORED_CLASS_NAME)),t&&this.mirrorImageOverrides.set(this.selectedCamera,e));}setPinchToZoomEnabled(e){this.pinchToZoomEnabled=e,this.mediaStream&&(this.pinchToZoomEnabled?this.enablePinchToZoomListeners():this.disablePinchToZoomListeners());}setSelectedCamera(e){this.selectedCamera=e;}setSelectedCameraSettings(e){this.selectedCameraSettings=e;}setTapToFocusEnabled(e){this.tapToFocusEnabled=e,this.mediaStream&&(this.tapToFocusEnabled?this.enableTapToFocusListeners():this.disableTapToFocusListeners());}async setTorchEnabled(e){var t;if(this.mediaStream&&((t=this.mediaTrackCapabilities)==null?void 0:t.torch)===true){this.torchEnabled=e;let i=this.mediaStream.getVideoTracks();i.length>0&&typeof i[0].applyConstraints=="function"&&await i[0].applyConstraints({advanced:[{torch:e}]});}}async setZoom(e){var t,i,a;if(this.mediaStream&&(await this.waitForCapabilities(),(t=this.mediaTrackCapabilities)!=null&&t.zoom)){let s=this.mediaStream.getVideoTracks();if(s.length>0&&typeof s[0].applyConstraints=="function"){let o=Math.max((i=this.mediaTrackCapabilities.zoom.min)!=null?i:1,Math.min(e,(a=this.mediaTrackCapabilities.zoom.max)!=null?a:16));await s[0].applyConstraints({advanced:[{zoom:o}]});}}}async setupCameras(){if(this.cameraSetupPromise)return this.cameraSetupPromise;let e=this.isVideoStreamPaused;return this.cameraSetupPromise=this.setupCamerasAndStream(),this.cameraSetupPromise.then(()=>{e||(this.isVideoStreamPaused=false);})}pauseStream(){if(this.mediaStream){for(let e of this.mediaStream.getVideoTracks())e.enabled=false;this.isVideoStreamPaused=true,a$1.debug("Paused camera video stream",this.mediaStream);}}resumeStream(){if(this.mediaStream){for(let e of this.mediaStream.getVideoTracks())e.enabled=true;this.isVideoStreamPaused=false,a$1.debug("Resumed camera video stream",this.mediaStream);}}async stopStream(e=false){this.activeCamera&&(this.activeCamera.currentResolution=void 0),this.activeCamera=void 0,this.torchEnabled=false,this.isVideoStreamPaused=false,this.mediaStream&&(a$1.debug(`Stop camera video stream access${e?" (abort access detection)":""}:`,this.mediaStream),a$1.debug("Stopping camera video stream access",this.mediaStream),document.removeEventListener("visibilitychange",this.checkCameraVideoStreamAccessIfVisibleListener),window.clearTimeout(this.cameraAccessTimeout),window.clearInterval(this.videoMetadataCheckInterval),window.clearTimeout(this.getCapabilitiesTimeout),window.clearTimeout(this.manualFocusWaitTimeout),window.clearTimeout(this.manualToAutofocusResumeTimeout),window.clearInterval(this.autofocusInterval),this.videoElement.pause(),await new Promise(t=>{setTimeout(()=>{var i,a,s;for(let o of (a=(i=this.mediaStream)==null?void 0:i.getVideoTracks())!=null?a:[])o.removeEventListener("ended",this.videoTrackEndedListener),o.stop();this.videoElement.srcObject=null,this._canvas2dContext&&this._canvas2dContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.mediaStream=void 0,this.mediaTrackCapabilities=void 0,this.mediaTrackCapabilitiesPromise=void 0,this.mediaTrackCapabilitiesPromiseResolver=void 0,e||(s=this.abortedCameraInitializationResolveCallback)==null||s.call(this),t();},0);}));}stopVideoTracks(){if(this.mediaStream!=null)for(let e of this.mediaStream.getVideoTracks())e.stop();}async toggleTorch(){this.torchEnabled=!this.torchEnabled,await this.setTorchEnabled(this.torchEnabled);}updateCanvasVideoImage(){this.canvas2dContext.drawImage(this.videoElement,0,0);}async waitForCapabilities(){var e;return (e=this.mediaTrackCapabilitiesPromise)!=null?e:Promise.resolve()}setFrameReaderType(e){e!==this._frameReaderType&&(this._frameReaderType=e,a$1.log(a$1.Level.Debug,`Change frame reader type to ${this._frameReaderType} mode`));}async allowPictureInPicture(e){e?(this.videoElement.disablePictureInPicture=false,this.videoElement.removeAttribute("controlslist"),this.videoElement.removeAttribute("disablepictureinpicture")):(this.videoElement.disablePictureInPicture=true,this.videoElement.setAttribute("controlslist","nodownload"),this.videoElement.setAttribute("disablepictureinpicture","true")),await this.reinitializeCamera();}setFrameHandling(e){var t;this._synchronousFrameHandling=e,this._frameReaderOptions=this.getFrameReaderOptions(e),(t=this._glFrameReaders[this._frameReaderType])==null||t.dispose(),delete this._glFrameReaders[this._frameReaderType];}async setClipArea(e){if(this.activeCamera&&this.isVideoAndContextStateValid()){this.clipArea=e?this.frameRectFromViewRect(e):void 0,await this.initializeStreamForResolution(this.activeCamera,this.constraint,this.isVideoStreamPaused);return}this.clipArea=e;}frameRectFromViewRect(e){let t=this.videoElement.videoWidth/this.videoElement.clientWidth||1,i=this.videoElement.videoHeight/this.videoElement.clientHeight||1;return new a$9(new a$a(e.origin.x*t,e.origin.y*i),new a$b(e.size.width*t,e.size.height*i))}async accessAutoselectedCamera(e){let t=d.sortCamerasForCameraPosition(e,this.cameraPosition),i=t.shift();for(;i;)try{await this.initializeCameraWithSettings(i,this.selectedCameraSettings);return}catch(a){if(this.setSelectedCamera(),t.length>0){a$1.log(a$1.Level.Warn,"Couldn't access camera:",i,a),i=t.shift();continue}throw a}throw new a$8(n.noCameraErrorParameters)}getFrameReaderOptions(e){return e?{minPoolCapacity:0,maxPoolCapacity:1}:b$1.isDesktopDevice()?{maxPoolCapacity:2,minPoolCapacity:1}:{maxPoolCapacity:10,minPoolCapacity:3}}getFrameReader(){var t;if(this._glFrameReaders[this._frameReaderType])return this._glFrameReaders[this._frameReaderType];if(!this._canvasWebGLContext)return null;let e=(t=this._frameReaderOptions)!=null?t:this.getFrameReaderOptions(this._synchronousFrameHandling);switch(this._frameReaderType){case "GRAYSCALE":{this._glFrameReaders.GRAYSCALE=new T(this._canvasWebGLContext,e),this._glFrameReaders.RGBA=new v(this._canvasWebGLContext,{minPoolCapacity:1,maxPoolCapacity:2});break}case "RGBA":{this._glFrameReaders.RGBA=new v(this._canvasWebGLContext,e);break}default:b$4(this._frameReaderType);}return a$1.debug(`Created frame reader ${this._frameReaderType}`,e),this._glFrameReaders[this._frameReaderType]}async accessInitialCamera(){let e={position:this.cameraPosition,deviceId:"",label:""};try{await this.initializeCameraWithSettings(e,this.selectedCameraSettings);}catch{}finally{this.setSelectedCamera();}return e}recreateCanvas(){this.canvas.removeEventListener("webglcontextlost",this.handleWebGLContextLostListener),this._canvasWebGLContext=void 0,this._canvas2dContext=void 0;for(let t of Object.values(this._glFrameReaders))t==null||t.dispose();let e=document.createElement("canvas");e.addEventListener("webglcontextlost",this.handleWebGLContextLostListener),e.width=this.canvas.width,e.height=this.canvas.height,e.className=this.canvas.className,this.canvas=e;}captureImageFor2dContext(){if(!this.isVideoAndContextStateValid())return null;let{width:e,height:t}=this.canvas,i=E();return {colorType:"RGBA",data:this.canvas2dContext.getImageData(0,0,e,t).data,frameId:i,width:e,height:t}}areVideoAndWebGLSizeMismatching(){return this.canvasWebGLContext?this.canvasWebGLContext.drawingBufferWidth!==this.videoElement.videoWidth||this.canvasWebGLContext.drawingBufferHeight!==this.videoElement.videoHeight:true}captureImageForWebGLContext(){if(!this.isVideoAndContextStateValid()||!this.canvasWebGLContext||this.canvasWebGLContext.drawingBufferWidth<=2||this.canvasWebGLContext.drawingBufferHeight<=2||this.areVideoAndWebGLSizeMismatching()||this.getFrameReader()==null)return null;let e=this.getFrameReader().readFromSource(this.videoElement);if(e.data[3]!==255&&e.colorType==="RGBA"){if(a$1.log(a$1.Level.Warn,"Detected incorrect GPU accelerated WebGL image processing, switching to canvas mode"),this.recreateCanvas(),this.canvas2dContext==null)throw new Error("Unable to get 2d canvas context");return this.captureImage()}return e}async checkCameraAccess(e){return new Promise((t,i)=>{this.cameraAccessRejectCallback=a=>{a$1.log(a$1.Level.Debug,"Camera video stream access failure (video data load timeout):",e),this.gui.setCameraRecoveryVisible(true),i(a);},this.setCameraAccessTimeout();})}checkCameraVideoStreamAccessIfVisible(){document.visibilityState==="visible"&&(a$1.debug("Page is visible again, waiting for camera video stream start..."),document.removeEventListener("visibilitychange",this.checkCameraVideoStreamAccessIfVisibleListener),this.setCameraAccessTimeout());}async checkVideoMetadata(e){return new Promise((t,i)=>{this.videoElement.onloadeddata=()=>{if(this.videoElement.onloadeddata=null,window.clearTimeout(this.cameraAccessTimeout),this.videoElement.videoWidth>2&&this.videoElement.videoHeight>2&&this.videoElement.currentTime>0){this.updateActiveCameraCurrentResolution(e),a$1.log(a$1.Level.Debug,"Camera video stream access success:",e),t();return}let a=performance.now();window.clearInterval(this.videoMetadataCheckInterval),this.videoMetadataCheckInterval=window.setInterval(async()=>{if(this.videoElement.videoWidth<=2||this.videoElement.videoHeight<=2||this.videoElement.currentTime===0){if(performance.now()-a>n.videoMetadataCheckTimeoutMs){a$1.log(a$1.Level.Warn,"Camera video stream access failure (valid video metadata timeout):",e),window.clearInterval(this.videoMetadataCheckInterval),await this.stopStream(true),i(new a$8(n.notReadableErrorParameters));return}return}window.clearInterval(this.videoMetadataCheckInterval),this.updateActiveCameraCurrentResolution(e),a$1.log(a$1.Level.Debug,"Camera video stream access success:",e),t();},n.videoMetadataCheckIntervalMs);};})}disablePinchToZoomListeners(){this.videoElement.removeEventListener("touchstart",this.triggerZoomStartListener),this.videoElement.removeEventListener("touchmove",this.triggerZoomMoveListener);}disableTapToFocusListeners(){for(let e of ["touchend","mousedown"])this.videoElement.removeEventListener(e,this.triggerManualFocusListener);}emit(e,t){var a;let i=(a=this.listeners.get(e))!=null?a:[];for(let s of i)s(t);}enablePinchToZoomListeners(){this.videoElement.addEventListener("touchstart",this.triggerZoomStartListener),this.videoElement.addEventListener("touchmove",this.triggerZoomMoveListener);}enableTapToFocusListeners(){for(let e of ["touchend","mousedown"])this.videoElement.addEventListener(e,this.triggerManualFocusListener);}getActiveCamera(e,t,i){return e.length===1?e[0]:e.find(a=>a.deviceId===i||a.label!==""&&a.label===t)}getInitialCameraResolutionConstraint(e){var i;let t;switch((i=this.activeCameraSettings)==null?void 0:i.preferredResolution){case "uhd4k":{t=0;break}case "fullHd":{t=1;break}default:{t=2;break}}return t}async handleCameraInitializationError(e,t,i){if(!["OverconstrainedError","NotReadableError"].includes(i.name)||i.name==="NotReadableError"&&t===4)throw a$1.log(a$1.Level.Debug,"Camera video stream access failure (unrecoverable error)",e,i),i.name!=="NotAllowedError"&&d.markCameraAsInaccessible(e),i;if(i.name==="OverconstrainedError"&&t===4){if(e.deviceId==="")throw a$1.log(a$1.Level.Warn,"Camera video stream access failure (no camera with such type error)",e,i),i;a$1.log(a$1.Level.Warn,"Detected non-existent deviceId error, attempt to find and reaccess updated camera",e,i);let a=e.deviceId;if(await d.getCameras(true),a===e.deviceId)throw a$1.log(a$1.Level.Warn,"Camera video stream access failure (updated camera not found after non-existent deviceId error)",e,i),d.markCameraAsInaccessible(e),i;return a$1.log(a$1.Level.Warn,"Updated camera found (recovered from non-existent deviceId error), attempt to access it",e),this.initializeCameraForResolution(e)}return this.initializeCameraForResolution(e,t+1)}handleVideoResize(){if(!(this.videoElement.videoWidth<=2||this.videoElement.videoHeight<=2)){if(this.activeCamera&&this.updateActiveCameraCurrentResolution(this.activeCamera),this.canvasWebGLContext!=null){if(this.canvas.width===this.videoElement.videoWidth&&this.canvas.height===this.videoElement.videoHeight)return;this.canvas.width=this.videoElement.videoWidth,this.canvas.height=this.videoElement.videoHeight,this.canvasWebGLContext.viewport(0,0,this.canvasWebGLContext.drawingBufferWidth,this.canvasWebGLContext.drawingBufferHeight);}else if(this.canvas2dContext!=null){if(this.canvas.width===this.videoElement.videoWidth&&this.canvas.height===this.videoElement.videoHeight)return;this.canvas.width=this.videoElement.videoWidth,this.canvas.height=this.videoElement.videoHeight;}}}handleWebGLContextLost(){a$1.log(a$1.Level.Warn,"WebGL context has been lost, restoring..."),this._canvasWebGLContext=void 0,this.canvasWebGLContext?(this.handleVideoResize(),a$1.log(a$1.Level.Warn,"WebGL context restored")):a$1.log(a$1.Level.Error,"WebGL context restore failed");}async initializeCameraAndCheckUpdatedSettings(e){var t,i,a,s,o;try{if(await this.initializeCameraForResolution(e),this.selectedCameraSettings!==this.activeCameraSettings&&(this.selectedCameraSettings==null||this.activeCameraSettings==null||Object.keys(this.selectedCameraSettings).some(u=>{var h,g;return ((h=this.selectedCameraSettings)==null?void 0:h[u])!==((g=this.activeCameraSettings)==null?void 0:g[u])}))){this.activeCameraSettings=this.selectedCameraSettings,await this.initializeCameraAndCheckUpdatedSettings(e);return}this.activeCameraSettings&&this.activeCameraSettings.zoomFactor>1&&await this.setZoom(this.activeCameraSettings.zoomFactor);let c=(t=this.activeCameraSettings)==null?void 0:t.getProperty("minFrameRate"),d=(i=this.activeCameraSettings)==null?void 0:i.getProperty("maxFrameRate");(c!=null||d!=null)&&await this.setFrameRate({min:c,max:d});let l=(a=this.activeCameraSettings)==null?void 0:a.getProperty("manualLensPosition");l!=null&&await this.setFocus(l);let p=(s=this.activeCameraSettings)==null?void 0:s.getProperty("exposureTargetBias"),b=(o=this.activeCameraSettings)==null?void 0:o.getProperty("exposureDuration");(p!=null||b!=null)&&await this.setExposure({compensation:p,time:b});}finally{this.cameraInitializationPromise=void 0;}}async initializeCameraForResolution(e,t){var i;this.gui.setCameraRecoveryVisible(false),this.constraint=t!=null?t:this.getInitialCameraResolutionConstraint(e),this.mediaStream!=null&&e.deviceId!==""&&((i=this.activeCamera)==null?void 0:i.deviceId)===e.deviceId?await(b$1.isIPhone()?this.initializeStreamForResolution(e,this.constraint):this.updateStreamForResolution(e,this.constraint)):await this.initializeStreamForResolution(e,this.constraint);}async initializeStreamForResolution(e,t,i=false){var a;await this.stopStream();try{let s=(a=this.activeCameraSettings)==null?void 0:a.getProperty("preferredAspectRatio"),o=await d.accessCameraStream(e,t,s),c=await this.clipMediaStreamIfNeeded(o);if(a$1.log(a$1.Level.Debug,"Camera accessed, waiting for camera video stream start..."),typeof c.getVideoTracks()[0].getSettings=="function"){let d=c.getVideoTracks()[0].getSettings();if(d.width!=null&&d.height!=null&&(d.width===2||d.height===2)){if(a$1.log(a$1.Level.Debug,"Camera video stream access failure (invalid video metadata):",e),t===4)throw new a$8(n.notReadableErrorParameters);return await this.stopStream(),this.initializeStreamForResolution(e,t+1)}}this.mediaStream=c,i&&this.pauseStream();for(let d of this.mediaStream.getVideoTracks())d.addEventListener("ended",this.videoTrackEndedListener),d.addEventListener("mute",this.videoTrackMuteListener),d.addEventListener("unmute",this.videoTrackMuteListener);try{await this.setupCameraStreamVideo(e,c);}catch(d){if(t===4)throw d;return this.initializeStreamForResolution(e,t+1)}}catch(s){return this.handleCameraInitializationError(e,t,s)}}isVideoAndContextStateValid(){return this.videoElement.readyState===4&&this.videoElement.videoWidth>2&&this.videoElement.videoHeight>2&&this.canvas.width>2&&this.canvas.height>2}postStreamInitialization(){window.clearTimeout(this.getCapabilitiesTimeout),this.getCapabilitiesTimeout=window.setTimeout(()=>{this.storeStreamCapabilities(),this.setupAutofocus();},n.getCapabilitiesTimeoutMs);}async recoverStreamIfNeeded(){var t,i;let e=(t=this.mediaStream)==null?void 0:t.getVideoTracks();((i=e==null?void 0:e[0])==null?void 0:i.readyState)==="ended"&&await this.reinitializeCamera();}reportCameraProperties(e,t,i=true){this.emit("cameraProperties",{deviceId:e,isFrontFacing:t==="userFacing",hasAutofocus:i});}setCameraAccessTimeout(){window.clearTimeout(this.cameraAccessTimeout),this.cameraAccessTimeout=window.setTimeout(async()=>{var e;document.visibilityState==="visible"?(await this.stopStream(true),(e=this.cameraAccessRejectCallback)==null||e.call(this,new a$8(n.notReadableErrorParameters))):(a$1.debug("Page is currently not visible, delay camera video stream access detection"),document.addEventListener("visibilitychange",this.checkCameraVideoStreamAccessIfVisibleListener));},n.cameraAccessTimeoutMs);}setupAutofocus(){if(window.clearTimeout(this.manualFocusWaitTimeout),window.clearTimeout(this.manualToAutofocusResumeTimeout),this.mediaStream&&this.mediaTrackCapabilities){let e=this.mediaTrackCapabilities.focusMode;Array.isArray(e)&&!e.includes("continuous")&&e.includes("single-shot")&&(window.clearInterval(this.autofocusInterval),this.autofocusInterval=window.setInterval(this.triggerAutoFocus.bind(this),n.autofocusIntervalMs));}}async setupCameraStreamVideo(e,t){this.videoElement.addEventListener("loadedmetadata",this.postStreamInitializationListener),this.videoElement.addEventListener("resize",this.videoResizeListener),this.tapToFocusEnabled&&this.enableTapToFocusListeners(),this.pinchToZoomEnabled&&this.enablePinchToZoomListeners();let i=Promise.race([this.checkCameraAccess(e),this.checkVideoMetadata(e),new Promise(a=>{this.abortedCameraInitializationResolveCallback=a;})]);return this.videoElement.srcObject=t,this.videoElement.load(),await this.playVideo(),this.handleVideoResize(),this.reportCameraProperties(e.deviceId,e.position),i}async setupCamerasAndStream(){var e,t;try{let i;this.selectedCamera==null&&(i=await this.accessInitialCamera());let a=await d.getCameras(false,true),s=(t=(e=this.mediaStream)==null?void 0:e.getVideoTracks()[0])==null?void 0:t.getSettings().deviceId;if(this.mediaStream&&i){let o=this.getActiveCamera(a,i.label,s);if(o){if(d.adjustCameraFromMediaStream(this.mediaStream,o),b$1.isDesktopDevice()&&(d.setMainCameraForPositionOverridesOnDesktop(this.cameraPosition,o),d.setMainCameraForPositionOverridesOnDesktop(o.position,o)),a.length===1||d.getMainCameraForPosition(a,this.cameraPosition)===o){a$1.debug("Initial camera access was correct (main camera), keep camera:",o),this.setSelectedCamera(o),this.updateActiveCameraCurrentResolution(o),await this.recoverStreamIfNeeded();return}a$1.debug("Initial camera access was incorrect (not main camera), change camera",{...i,deviceId:s});}else a$1.debug("Initial camera access was incorrect (unknown camera), change camera",{...i,deviceId:s});}if(this.selectedCamera==null){await this.accessAutoselectedCamera(a);return}await this.initializeCameraWithSettings(this.selectedCamera,this.selectedCameraSettings);}finally{this.cameraSetupPromise=void 0;}}storeStreamCapabilities(){var e;if(this.mediaStream){let t=this.mediaStream.getVideoTracks();t.length>0&&typeof t[0].getCapabilities=="function"&&(this.mediaTrackCapabilities=t[0].getCapabilities()),this.mediaTrackCapabilitiesPromiseResolver&&this.mediaTrackCapabilitiesPromiseResolver();}this.activeCamera&&this.reportCameraProperties(this.activeCamera.deviceId,this.activeCamera.position,((e=this.mediaTrackCapabilities)==null?void 0:e.focusMode)==null||this.mediaTrackCapabilities.focusMode.includes("continuous"));}async triggerAutoFocus(){await this.triggerFocusMode("single-shot");}async triggerFocusMode(e){if(this.mediaStream){let t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].applyConstraints=="function")try{await t[0].applyConstraints({advanced:[{focusMode:e}]});}catch{}}}async triggerManualFocus(e){if(e){if(e.preventDefault(),e.type==="touchend"&&e.touches.length>0)return;if(this.pinchToZoomDistance!=null){this.pinchToZoomDistance=void 0;return}}if(window.clearTimeout(this.manualFocusWaitTimeout),window.clearTimeout(this.manualToAutofocusResumeTimeout),!this.mediaStream||!this.mediaTrackCapabilities)return;let t=this.mediaTrackCapabilities.focusMode;Array.isArray(t)&&t.includes("single-shot")&&(t.includes("continuous")&&t.includes("manual")?await this.triggerManualFocusForContinuous():t.includes("continuous")||await this.triggerManualFocusForSingleShot());}async triggerManualFocusForContinuous(){var i;if(!this.mediaStream)return;this.manualToAutofocusResumeTimeout=window.setTimeout(async()=>{await this.triggerFocusMode("continuous");},n.manualToAutofocusResumeTimeoutMs);let e=true,t=this.mediaStream.getVideoTracks();t.length>0&&typeof t[0].getConstraints=="function"&&(e=((i=t[0].getConstraints().advanced)==null?void 0:i.some(a=>a.focusMode==="manual"))===true),e?(await this.triggerFocusMode("continuous"),this.manualFocusWaitTimeout=window.setTimeout(async()=>{await this.triggerFocusMode("manual");},n.manualFocusWaitTimeoutMs)):await this.triggerFocusMode("manual");}async triggerManualFocusForSingleShot(){window.clearInterval(this.autofocusInterval),this.manualToAutofocusResumeTimeout=window.setTimeout(()=>{this.autofocusInterval=window.setInterval(this.triggerAutoFocus.bind(this),n.autofocusIntervalMs);},n.manualToAutofocusResumeTimeoutMs);try{await this.triggerFocusMode("single-shot");}catch{}}async triggerZoomMove(e){this.pinchToZoomDistance==null||(e==null?void 0:e.touches.length)!==2||e.preventDefault();}triggerZoomStart(e){var a,s,o,c;if((e==null?void 0:e.touches.length)!==2||(e.preventDefault(),this.pinchToZoomDistance=Math.hypot((e.touches[1].screenX-e.touches[0].screenX)/screen.width,(e.touches[1].screenY-e.touches[0].screenY)/screen.height),!this.mediaStream||!((a=this.mediaTrackCapabilities)!=null&&a.zoom)))return;let t=this.mediaStream.getVideoTracks();if(t.length===0||typeof t[0].getConstraints!="function")return;this.pinchToZoomInitialZoom=(s=this.mediaTrackCapabilities.zoom.min)!=null?s:1;let i=t[0].getConstraints();if(i.advanced){let d=(o=i.advanced.find(l=>"zoom"in l))==null?void 0:o.zoom;d!=null&&(this.pinchToZoomInitialZoom=typeof d=="number"?d:(c=d.ideal)!=null?c:1);}}updateActiveCameraCurrentResolution(e){this.videoElement.videoWidth>2&&this.videoElement.videoHeight>2&&(e.currentResolution={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),e.deviceId!==""&&(this.activeCamera=e,this.setMirrorImageEnabled(this.isMirrorImageEnabled(),false));}async updateStreamForResolution(e,t){var i;if(this.mediaStream==null)await this.initializeCameraForResolution(e,t);else try{let a=(i=this.activeCameraSettings)==null?void 0:i.getProperty("preferredAspectRatio");a$1.debug("Setting new resolution for active camera video stream..."),await this.mediaStream.getVideoTracks()[0].applyConstraints(d.getUserMediaVideoParameters(t,a)),await new Promise(o=>{this.videoElement.addEventListener("timeupdate",()=>{o();},{once:true});});let s=this.mediaStream.getVideoTracks()[0].getSettings();a$1.debug("New active camera video stream resolution set",{width:s.width,height:s.height});}catch(a){if(t===4)throw a;await this.updateStreamForResolution(e,t+1);}}async videoTrackEndedRecovery(){if(document.visibilityState==="visible")try{a$1.debug('Detected video track "ended" event, try to reinitialize camera'),await this.reinitializeCamera();}catch{}else a$1.debug("Page is currently not visible, delay camera reinitialization until visible"),document.addEventListener("visibilitychange",this.checkCameraVideoStreamAccessIfVisibleListener);}videoTrackMuteRecovery(e){if(this.videoElement.onloadeddata!=null){a$1.debug(`Detected video track "${e.type}" event, delay camera video stream access detection`),this.setCameraAccessTimeout();return}let t=e.type==="mute";t!==this.gui.isCameraRecoveryVisible()&&(a$1.debug(`Detected video track "${e.type}" event, ${t?"enable":"disable"} camera recovery`),this.gui.setCameraRecoveryVisible(t));}async clipMediaStreamIfNeeded(e){if(!this.clipArea)return e;let t=this.videoElement.cloneNode();t.srcObject=e,t.load();let i=document.createElement("canvas");i.width=this.clipArea.size.width,i.height=this.clipArea.size.height;let a=i.getContext("2d",{alpha:false,willReadFrequently:false});return a?(t.addEventListener("play",this.drawClippedFrame.bind(this,this.clipArea,t,a),{once:true}),t.addEventListener("pause",this.cleanupClippedStream.bind(this,t),{once:true}),await t.play(),i.captureStream()):e}drawClippedFrame(e,t,i){i.drawImage(t,e.origin.x,e.origin.y,e.size.width,e.size.height,0,0,e.size.width,e.size.height),this.clippedFrameRequestID=this.requestVideoFrame(this.drawClippedFrame.bind(this,e,t,i),t);}cleanupClippedStream(e){this.clippedFrameRequestID&&(this.cancelVideoFrame(this.clippedFrameRequestID,e),this.clippedFrameRequestID=void 0);}connectedCallback(e){e.replaceWith(this.videoElement),this.canvas.addEventListener("webglcontextlost",this.handleWebGLContextLostListener),this.videoElement.addEventListener("pause",this.handleVideoPauseHandler),this.playVideo();}disconnectedCallback(){this.canvas.removeEventListener("webglcontextlost",this.handleWebGLContextLostListener),this.videoElement.removeEventListener("pause",this.handleVideoPauseHandler),this.videoElement.remove(),this.videoElement.removeAttribute("width"),this.videoElement.removeAttribute("height"),this.videoElement.style.removeProperty("visibility");}getVideoElement(){return this.videoElement}handleVideoPause(){this.playVideo();}};n.autofocusIntervalMs=1500,n.cameraAccessTimeoutMs=4e3,n.getCapabilitiesTimeoutMs=500,n.manualFocusWaitTimeoutMs=400,n.manualToAutofocusResumeTimeoutMs=5e3,n.noCameraErrorParameters={name:"NoCameraAvailableError",message:"No camera available"},n.notReadableErrorParameters={name:"NotReadableError",message:"Could not initialize camera correctly"},n.videoMetadataCheckIntervalMs=50,n.videoMetadataCheckTimeoutMs=4e3,n.MIRRORED_CLASS_NAME=a$c.MIRRORED_CLASS_NAME,n._instance=null;var z=n;var v=class extends a{constructor(){super(...arguments);this.colorType="RGBA";}get _initialized(){return this._texture!=null&&this._framebuffer!=null}readFromSource(t){this._initialized||this.setup(),this.updateFrameSizeIfNeeded();let i=this._framePool.pop();return this._contextWebGL.texImage2D(this._contextWebGL.TEXTURE_2D,0,this._contextWebGL.RGBA,this._contextWebGL.RGBA,this._contextWebGL.UNSIGNED_BYTE,t),this._contextWebGL.readPixels(0,0,this._contextWebGL.drawingBufferWidth,this._contextWebGL.drawingBufferHeight,this._contextWebGL.RGBA,this._contextWebGL.UNSIGNED_BYTE,i),{width:this._contextWebGL.drawingBufferWidth,height:this._contextWebGL.drawingBufferHeight,data:i,frameId:E(),colorType:this.colorType}}setup(){this._texture=this._contextWebGL.createTexture(),this._texture==null&&a$1.warn("Could not create texture from WebGLRenderingContext"),this._contextWebGL.bindTexture(this._contextWebGL.TEXTURE_2D,this._texture),this._framebuffer=this._contextWebGL.createFramebuffer(),this._framebuffer==null&&a$1.warn("Could not create frameBuffer from WebGLRenderingContext"),this._contextWebGL.bindFramebuffer(this._contextWebGL.FRAMEBUFFER,this._framebuffer),this._contextWebGL.framebufferTexture2D(this._contextWebGL.FRAMEBUFFER,this._contextWebGL.COLOR_ATTACHMENT0,this._contextWebGL.TEXTURE_2D,this._texture,0),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_WRAP_S,this._contextWebGL.CLAMP_TO_EDGE),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_WRAP_T,this._contextWebGL.CLAMP_TO_EDGE),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_MIN_FILTER,this._contextWebGL.NEAREST),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_MAG_FILTER,this._contextWebGL.NEAREST);}dispose(){var t;this._texture!=null&&(this._contextWebGL.deleteTexture(this._texture),this._texture=null),this._framebuffer!=null&&(this._contextWebGL.deleteFramebuffer(this._framebuffer),this._framebuffer=null),(t=this._framePool)==null||t.empty();}updateFrameSizeIfNeeded(){var s;let{drawingBufferWidth:t,drawingBufferHeight:i}=this._contextWebGL,a=t*i*4;this._frameSize!==a&&(this._frameSize=a,(s=this._framePool)==null||s.empty(),this._framePool=new a$2({capacity:this._maxPoolCapacity,lowWaterMark:this._minPoolCapacity,createItem:()=>new Uint8ClampedArray(this._frameSize)}));}};export{v as a,T as b,H as c,Z as d,E as e,X as f,z as g};
@@ -1 +0,0 @@
1
- import {a as a$1}from'./chunk-XR65N6EG.js';import {a as a$2}from'./chunk-QCZSSQAQ.js';var r=Promise.resolve(),u=false,a=false,t=false,o,l=1500,d="";async function S(e){if(o==null)return;u=true;let n;try{let i=new Promise((f,s)=>{n=setTimeout(()=>{a$1.debug(`IndexedDB database is blocked (timed out after ${l}ms). If you are running a Debug wasm build, things are slower and the timeout can be configured via IndexedDBBlockedTimeoutMs in localStorage (requires page reload).`),s(new a$2({name:"BlockedIndexedDB",message:"IndexedDB database is blocked"}));},l);}),w=new Promise((f,s)=>{o==null||o(e,c=>{c!=null?s(c):f();});});await Promise.race([w,i]);}finally{n!==void 0&&clearTimeout(n),u=false;}}async function b(e){return a?(t=e,r):(u?(a=true,t=e,r=r.then(async()=>(a=false,S(t)))):(t=e,r=S(e)),r)}function P(){FS.syncfs=((e,n)=>{b(e).then(()=>n(),i=>n(i));});}async function v(e){if(d=e.writableDataPath,l=e.indexedDBTimeoutMs,o=FS.syncfs,o==null)throw new Error("FS.syncfs is not available");P();try{FS.mkdir(d);}catch(n){if(n.code!=="EEXIST")throw o=void 0,n}try{FS.mount(IDBFS,{},d);}catch(n){throw o=void 0,n}return b(true)}export{v as a};
@@ -1 +0,0 @@
1
- import {a as a$1}from'./chunk-IMXMNDKM.js';var a=class n{constructor(){this.type="singleImageUploader";this._settings=new a$1(null);this._desiredState="off";this.listeners=[];this._context=null;this._view=void 0;}static get default(){return new n}get desiredState(){return this._desiredState}get settings(){return this._settings}get context(){return this._context}set context(e){this._context=e;}set currentState(e){e!==this._currentState&&(this._currentState=e,this.notifyListeners(),this.notifyContext({type:"frameSourceState",newValue:e}));}get currentState(){return this._currentState}async switchToDesiredState(e){if(e==="on"){if(this.currentState==="on"||this.currentState==="starting")return}else if(this.currentState==="off"||this.currentState==="stopping")return;return this._desiredState=e,this.setCurrentState(e==="on"?"starting":"off")}addListener(e){e!=null&&(this.listeners.includes(e)||this.listeners.push(e));}removeListener(e){e!=null&&this.listeners.includes(e)&&this.listeners.splice(this.listeners.indexOf(e),1);}async applySettings(e){return this._settings=e,this.notifyContext({type:"singleImageModeUploaderSettings",newValue:this._settings})}toJSONObject(){return {type:this.type,settings:this.settings.toJSONObject(),desiredState:this.desiredState}}getCurrentState(){return this._currentState}async setCurrentState(e){if(e!==this._currentState)return this._currentState=e,this.notifyListeners(),this.notifyContext({type:"frameSourceState",newValue:e})}async notifyContext(e){if(this._context)return this._context.update([e])}notifyListeners(){for(let e of this.listeners)e.didChangeState&&e.didChangeState(this,this.currentState);}async processUploadedFileCapture(e){var t,r;await((t=this._context)==null?void 0:t.sendFrameToProcessor(e)),this.currentState="starting",(r=this._view)==null||r.onAfterImageProcessed();}addView(e){this._view=e;}};export{a};
@@ -1 +0,0 @@
1
- var e;(o=>{function i(){let r="8.3.0";return r}o.sdkVersion=i;})(e||(e={}));export{e as a};
@@ -1 +0,0 @@
1
- import {a as a$9}from'./chunk-GS7VZDY5.js';import {b as b$2}from'./chunk-HILZP6OW.js';import {a as a$a}from'./chunk-ARODHCN7.js';import {a as a$j}from'./chunk-A5G2NHT2.js';import {b,a as a$4}from'./chunk-RXDVYEE5.js';import {a as a$h}from'./chunk-S2GRD6GO.js';import {a as a$b}from'./chunk-TPHGDMKG.js';import {a as a$f}from'./chunk-GPPCTFZF.js';import {a as a$l}from'./chunk-Y7V35LNT.js';import {b as b$1}from'./chunk-24MGHMOY.js';import {a as a$e}from'./chunk-KVRNF3VA.js';import {a as a$g}from'./chunk-XIAF6V7E.js';import {a as a$c}from'./chunk-KYNYQBNF.js';import {a as a$7}from'./chunk-RSQRPDVQ.js';import {a}from'./chunk-2OCDIZIS.js';import {a as a$6}from'./chunk-IJQG3OU6.js';import {a as a$8}from'./chunk-I6SWF3FQ.js';import {a as a$3}from'./chunk-N5YZEC56.js';import {a as a$2}from'./chunk-VJB527QZ.js';import {a as a$1}from'./chunk-GHTCNOQN.js';import {a as a$d}from'./chunk-UWBNF47P.js';import {g}from'./chunk-AKGGJKCA.js';import {a as a$o}from'./chunk-LFJUGRQV.js';import {a as a$5}from'./chunk-KAFNKP6O.js';import {a as a$n}from'./chunk-E4XJ4GKD.js';import {a as a$k}from'./chunk-QOCHMKNY.js';import {a as a$i}from'./chunk-XR65N6EG.js';import {a as a$m}from'./chunk-WUHKODFA.js';var P="core.camera.recovery",K;K=a$o;var L=class L{constructor(){this.focusGesture=a.focusGesture;this.zoomGesture=a.zoomGesture;this._scanAreaMargins=a.scanAreaMargins;this._pointOfInterest=a.pointOfInterest;this._logoStyle=a.logoStyle;this._logoAnchor=a.logoAnchor;this._logoOffset=a.logoOffset;this._context=null;this.overlays=new Set;this.controls=new Set;this.frameSourceListener={didChangeState:this.onFrameSourceChange.bind(this)};this._previewCamera=null;this.isConnected=false;this.controlsElement=void 0;this.frozenFrameCanvas=document.createElement("canvas");this.listeners=[];this.isVideoElementDetached=false;this.orientation="portrait";this.hiddenProperties={stopVideoTracksOnVisibilityChange:true,freezeFrameWhenStoppingFrameSource:true};this.orientationObserver=new b;this.onOrientationChangeListener=this.onOrientationChange.bind(this);this.onHintPresenterUpdateHandler=this.onHintPresenterUpdate.bind(this);this.onViewFinderUpdateRequestedHandler=this.onViewFinderUpdateRequested.bind(this);this.onWorkerMessageHandler=this.onWorkerMessage.bind(this);this.htmlElementDidChangeHandler=this.htmlElementDidChange.bind(this);this.htmlElementDisconnectedHandler=this.htmlElementDisconnected.bind(this);this.notificationPresenter=null;this[K]={attachAdditionalLayer:this.attachAdditionalLayer.bind(this)};this.visibilityListener=this.onVisibilityChange.bind(this),this.cameraRecoveryListener=this.cameraRecovery.bind(this),a$1.getInstance().updateIfMissing(a$2);}get videoElement(){return g.instance().getVideoElement()}get scanAreaMargins(){return this._scanAreaMargins}set scanAreaMargins(e){var t;this._scanAreaMargins=e,(t=this.privateContext)==null||t.update();}get pointOfInterest(){return this._pointOfInterest}set pointOfInterest(e){var t;this._pointOfInterest=e,(t=this.privateContext)==null||t.update();}get logoStyle(){return this._logoStyle}set logoStyle(e){var t;this._logoStyle=e,(t=this.privateContext)==null||t.update();}get logoAnchor(){return this._logoAnchor}set logoAnchor(e){var t;this._logoAnchor=e,(t=this.privateContext)==null||t.update();}get logoOffset(){return this._logoOffset}set logoOffset(e){var t;this._logoOffset=e,(t=this.privateContext)==null||t.update();}get cameraRecoveryText(){return a$1.getInstance().get(P)}get width(){var e,t;return Math.round((t=(e=this.htmlElementState)==null?void 0:e.width)!=null?t:0)}get height(){var e,t;return Math.round((t=(e=this.htmlElementState)==null?void 0:e.height)!=null?t:0)}get canvasDrawer(){return !this._canvasDrawer&&this.canvasElement!=null&&(this._canvasDrawer=new b$1(this.canvasElement),this._canvasDrawer.startObservingCanvasResize()),this._canvasDrawer}get privateContext(){return this._context}static async forContext(e){let t=new L;return await t.setContext(e),t}showProgressBar(){var e;(e=this.loadingOverlay)==null||e.show();}hideProgressBar(){var e;(e=this.loadingOverlay)==null||e.hide();}setProgressBarPercentage(e){this.loadingOverlay&&(this.loadingOverlay.progress=e);}setProgressBarMessage(e){this.loadingOverlay&&(this.loadingOverlay.message=e);}getContext(){return this._context}async setContext(e){var t,i,a;if(this._context=e,e){if(this.overlays.size>0&&!((t=this.privateContext)!=null&&t.hasModes()))throw new Error(["Cannot assign this view to this context. This view has overlays but the context does not have any mode attached matching these overlays.","Remove the overlays first before attaching the view to the context, or add the corresponding mode to the context before attaching this view."].join(" "));await e.setView(this),(i=this.privateContext)==null||i.subscribeToWorkerMessages(this.onWorkerMessageHandler),(a=this._context)!=null&&a.frameSource&&await this.onFrameSourceChange(this._context.frameSource);}}connectToElement(e,t){var i,a,r,n;this.isConnected||(this.orientationObserver.register(),this.setupHtmlElement(e),(i=this.canvasDrawer)==null||i.startObservingCanvasResize(),this.htmlElementDidChange(),a$3.add(this),this.orientation=this.orientationObserver.orientation.value,this.orientationObserver.addEventListener(a$4,this.onOrientationChangeListener),(a=this.hintPresenter)==null||a.addEventListener("hintpresenterupdate",this.onHintPresenterUpdateHandler),(r=this.hintPresenter)==null||r.addEventListener("hintpresenterviewfinderupdaterequested",this.onViewFinderUpdateRequestedHandler),this.localizationSubscription=a$1.getInstance().subscribe(s=>{s[P]!=null&&(this.cameraRecoveryElement.textContent=s[P]);}),this._previewCamera=(n=t==null?void 0:t.camera)!=null?n:null,this._previewCamera&&(this._previewCamera.addListener(this.frameSourceListener),this.onFrameSourceChange(this._previewCamera)),this.updateControls(),this.isConnected=true);}detachFromElement(){var e,t,i,a,r,n,s,h;if(this.isConnected){(e=this.htmlElementState)==null||e.removeListeners(),this.removeStyles(),(t=this.canvasDrawer)==null||t.endObservingCanvasResize(),document.removeEventListener("visibilitychange",this.visibilityListener);for(let m of ["touchend","mousedown"])this.cameraRecoveryElement.removeEventListener(m,this.cameraRecoveryListener);(i=this.loadingOverlay)==null||i.remove(),(a=this.customLocationsView)==null||a.unmount(),this.notificationPresenter=null,this.htmlElementDidChange(),(r=this.gestureRecognizer)==null||r.removeAllListeners(),this.clearHtmlElementContent(),a$3.delete(this),this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(a$4,this.onOrientationChangeListener),(n=this.hintPresenter)==null||n.removeEventListener("hintpresenterupdate",this.onHintPresenterUpdateHandler),(s=this.hintPresenter)==null||s.removeEventListener("hintpresenterviewfinderupdaterequested",this.onViewFinderUpdateRequestedHandler),(h=this.localizationSubscription)==null||h.cancel(),g.instance().disconnectedCallback(),this._previewCamera&&(this._previewCamera.removeListener(this.frameSourceListener),this._previewCamera=null);for(let m of this.controls)this.removeControl(m);this.isConnected=false;}}async addOverlay(e){var t;this.overlays.has(e)||(this.overlays.add(e),await((t=this.privateContext)==null?void 0:t.update([{type:"addOverlay",newValue:e,view:this}])));}async removeOverlay(e){var t;this.overlays.has(e)&&(await((t=this.privateContext)==null?void 0:t.update([{type:"removeOverlay",newValue:e,view:this}])),this.overlays.delete(e));}addListener(e){this.listeners.includes(e)||this.listeners.push(e);}removeListener(e){this.listeners.includes(e)&&this.listeners.splice(this.listeners.indexOf(e),1);}viewPointForFramePoint(e){var u,V,D,R,F,A,M,I;let t={width:(V=(u=this.htmlElementState)==null?void 0:u.width)!=null?V:0,height:(R=(D=this.htmlElementState)==null?void 0:D.height)!=null?R:0},i={width:(A=(F=this.videoElement)==null?void 0:F.videoWidth)!=null?A:0,height:(I=(M=this.videoElement)==null?void 0:M.videoHeight)!=null?I:0},a=t.width/t.height,r=i.width/i.height,n=a>r?t.width/i.width:t.height/i.height,s={x:e.x*n,y:e.y*n},h=(i.width*n-t.width)/2,m=(i.height*n-t.height)/2;return new a$5(s.x-h,s.y-m)}viewQuadrilateralForFrameQuadrilateral(e){let t=this.viewPointForFramePoint(e.topLeft),i=this.viewPointForFramePoint(e.topRight),a=this.viewPointForFramePoint(e.bottomLeft),r=this.viewPointForFramePoint(e.bottomRight);return new a$6(t,i,r,a)}addControl(e){this.controls.has(e)||(this.controls.add(e),e.install(this).then(t=>{var i;t&&((i=this.privateContext)==null||i.update([{type:"addControl",newValue:e}]));}));}removeControl(e){var t;this.controls.has(e)&&(e.remove(true),this.controls.delete(e),(t=this.privateContext)==null||t.update([{type:"removeControl",newValue:e}]));}toJSONObject(){var e;return {scanAreaMargins:this.scanAreaMargins.toJSONObject(),pointOfInterest:this.pointOfInterest.toJSONObject(),logoAnchor:this.logoAnchor,logoOffset:this.logoOffset.toJSONObject(),logoHidden:(e=this.logoHidden)!=null?e:false,logoStyle:this.logoStyle,overlays:[...this.overlays].map(t=>t.toJSONObject()),controls:[...this.controls].map(t=>t.toJSONObject()),focusGesture:this.focusGesture?this.focusGesture.toJSONObject():null,zoomGesture:this.zoomGesture?this.zoomGesture.toJSONObject():null}}isCameraRecoveryVisible(){return !this.cameraRecoveryElement.hidden}setCameraRecoveryVisible(e){this.cameraRecoveryElement.hidden=!e;}async allowPictureInPicture(e){await g.instance().allowPictureInPicture(e);}viewAnchorPositionsForFrameAnchorPositions(e){let t=this.viewPointForFramePoint(e.topLeft),i=this.viewPointForFramePoint(e.topRight),a=this.viewPointForFramePoint(e.bottomLeft),r=this.viewPointForFramePoint(e.bottomRight),n=this.viewPointForFramePoint(e.centerLeft),s=this.viewPointForFramePoint(e.centerRight),h=this.viewPointForFramePoint(e.topCenter),m=this.viewPointForFramePoint(e.bottomCenter),u=this.viewPointForFramePoint(e.center);return new a$7(t,i,r,a,n,h,s,m,u)}setDidTapCustomLocationsViewListener(e){this.customLocationsView&&this.customLocationsView.listener===null&&(this.customLocationsView.listener=e);}renderCustomLocationsView(e){this.customLocationsView!=null&&(this.customLocationsView.setMirrored(g.instance().isMirrorImageEnabled()),Object.keys(e).includes("removedIds")?this.customLocationsView.render(e):this.customLocationsView.renderDomView(e));}getNotificationPresenter(){var e;if(!this.notificationPresenter){let t=(e=this.htmlElement)==null?void 0:e.querySelector(b$2.tag);if(!t)throw new Error("Notification presenter cannot be found. Please ensure the DataCaptureView is connected.");this.notificationPresenter=new a$8(t);}return this.notificationPresenter}removeStyles(){for(let e of document.querySelectorAll("style[scandit]"))e.remove();}onHintPresenterUpdate(e){var t;(t=this.privateContext)==null||t.workerCommand("hintPresenterV2update",{});}async onViewFinderUpdateRequested(e){var i;let t=await((i=this.privateContext)==null?void 0:i.workerCommand("getViewfinderInfo",{}));t!=null&&this.updateHintPresenterViewFinderRect(t.rect);}clearHtmlElementContent(){var e;this.htmlElement&&((e=this.canvasDrawer)==null||e.endObservingCanvasResize(),this.htmlElement.innerHTML="",this.cameraPaintboardElement=void 0,this.singleImageUploaderPaintboardElement=void 0,this.htmlElement=void 0);}setupHtmlElement(e){var r,n,s;this.createStyles(),this.htmlElement=e,b$2.register(),a$9.register(),a$a.register();let t=a$d`<div class="${a$b.CONTAINER_CLASS_NAME}" role="main" aria-label="Data capture view"><div class="${a$b.PAINTBOARDS_CONTAINER_CLASS_NAME}"><div data-js-id="loading-overlay"></div><div class="${a$b.PAINTBOARD_CLASS_NAME}" data-js-id="camera-paintboard"><div data-js-id="video-container"></div><img class="${a$b.FROZEN_FRAME}" data-js-id="frozen-frame" alt="Last captured camera frame shown while camera is on standby" hidden /><canvas></canvas><div data-js-id="${a$c.CUSTOM_VIEW_CONTAINER}"></div><${b$2.tag}></${b$2.tag}><${a$9.tag}></${a$9.tag}><div class="${a$b.CAMERA_RECOVERY_CLASS_NAME}" role="alert" aria-live="polite" aria-atomic="true" hidden>${this.cameraRecoveryText}</div><div class="${a$b.ERROR_CLASS_NAME}" role="alert" aria-live="assertive" aria-atomic="true" hidden></div></div><div class="${a$b.PAINTBOARD_CLASS_NAME}" data-js-id="singleimage-paintboard"></div></div></div>`;this.htmlElement.innerHTML=t,g.instance().connectedCallback(this.htmlElement.querySelector('[data-js-id="video-container"]')),this.isVideoElementDetached=false,this.hintPresenter=this.htmlElement.querySelector(b$2.tag),this.notificationPresenter=this.hintPresenter?new a$8(this.hintPresenter):null,this.loadingOverlay&&this.loadingOverlay.remove(),this.loadingOverlay=a$a.create(),this.loadingOverlay.hide(),(r=this.htmlElement.querySelector('[data-js-id="loading-overlay"]'))==null||r.replaceWith(this.loadingOverlay),this.customLocationsView&&this.customLocationsView.unmount(),this.customLocationsView=new a$e,this.customLocationsView.mount(this.htmlElement.querySelector(`[data-js-id="${a$c.CUSTOM_VIEW_CONTAINER}"]`)),this.customLocationsView.mapViewAnchorPositionsForFramePoint=h=>this.viewAnchorPositionsForFrameAnchorPositions(h),this.containerElement=this.htmlElement.querySelector(`.${a$b.CONTAINER_CLASS_NAME}`),this.cameraPaintboardElement=this.containerElement.querySelector('[data-js-id="camera-paintboard"]'),this.singleImageUploaderPaintboardElement=this.containerElement.querySelector('[data-js-id="singleimage-paintboard"]');let i=this.cameraPaintboardElement.querySelector("canvas");this.canvasElement==null?this.canvasElement=i:i.replaceWith(this.canvasElement);let a=this.cameraPaintboardElement.querySelector('[data-js-id="frozen-frame"]');this.frozenFrame==null?this.frozenFrame=a:a.replaceWith(this.frozenFrame),this.controlsElement=this.cameraPaintboardElement.querySelector(a$9.tag),this.cameraRecoveryElement=this.cameraPaintboardElement.querySelector(`.${a$b.CAMERA_RECOVERY_CLASS_NAME}`),this.errorElement=this.cameraPaintboardElement.querySelector(`.${a$b.ERROR_CLASS_NAME}`),this.lastFrameSourceState!=null&&((s=(n=this._context)==null?void 0:n.frameSource)==null||s.switchToDesiredState(this.lastFrameSourceState)),document.addEventListener("visibilitychange",this.visibilityListener);for(let h of ["touchend","mousedown"])this.cameraRecoveryElement.addEventListener(h,this.cameraRecoveryListener);this.htmlElementState&&this.htmlElementState.removeListeners(),this.htmlElementState=new a$f(this.htmlElement),this.htmlElementState.onStateChanged(this.htmlElementDidChangeHandler),this.htmlElementState.onDisconnected(this.htmlElementDisconnectedHandler),this.gestureRecognizer=new a$g(this.htmlElement),this.gestureRecognizer.addListener({onTap:async h=>{var m;(m=this.privateContext)==null||m.workerCommand("onTap",{point:h.toJSONObject()});}});}setupHtmlElementSingleImageUploader(e){var i;if(this.singleImageUploaderPaintboardElement==null)return;this.singleImageUploaderView&&this.singleImageUploaderView.unmount(),this.singleImageUploaderView=new a$h(e),this.singleImageUploaderView.mount(this.containerElement.querySelector('[data-js-id="singleimage-paintboard"]'));let t=(i=this._context)==null?void 0:i.frameSource;this.singleImageUploaderView.onInputCheck(a=>{t.getCurrentState()!=="starting"&&a.preventDefault();}),this.singleImageUploaderView.onBeforeFileRead(()=>{t._context&&this.singleImageUploaderView&&(this.singleImageUploaderView.canUploadFile=t._context.hasEnabledMode());}),this.singleImageUploaderView.onImageLoadError(()=>{t.currentState="starting",a$i.log(a$i.Level.Error,"Could not load image from selected file");}),this.singleImageUploaderView.onFileReaderError(a=>{var n,s;let r=a.target;t.currentState="starting",a$i.log(a$i.Level.Error,`Error while reading the file: ${(s=(n=r.error)==null?void 0:n.toString())!=null?s:""}`);}),this.singleImageUploaderView.onCaptureReady(async a=>{await t.processUploadedFileCapture(a);}),this.singleImageUploaderView.setButtonState(t.getCurrentState()==="starting"?"enabled":"disabled"),t.addView(this.singleImageUploaderView);}setupHtmlElementVisibility(e){this.cameraPaintboardElement!=null&&(this.cameraPaintboardElement.hidden=e!=="camera"),this.singleImageUploaderPaintboardElement!=null&&(this.singleImageUploaderPaintboardElement.hidden=e!=="singleImageUploader");}createStyles(){if(document.querySelector("style[scandit]")===null){let e=a$j();for(let[t,i]of Object.entries(e))i.setAttribute("scandit",`data-capture-sdk-${t}`),document.head.append(i);}}async onOrientationChange(e){var t,i;this.orientation=e.detail.value,await((i=this.privateContext)==null?void 0:i.update([{type:"viewChange",newValue:{...(t=this.htmlElementState)==null?void 0:t.toJSONObject(),orientation:this.orientation}}]));}htmlElementDidChange(){var i,a;if(!this.htmlElementState)return;let e=this.htmlElementState,t=e.toJSONObject();if(!a$f.areEquivalentJSONStates(this.lastHtmlElementState,t)){this.orientation=this.orientationObserver.orientation.value,(i=this.privateContext)==null||i.update([{type:"viewChange",newValue:{...e.toJSONObject(),orientation:this.orientation}}]),this.lastHtmlElementState=t,(a=this.canvasDrawer)==null||a.updateCanvasSizeAttributes(this.width,this.height),this.handleVideoDisplay(t.visible);for(let r of this.listeners)typeof r.didChangeSize=="function"&&r.didChangeSize(this,new a$k(t.size.width.value,t.size.height.value),this.orientation);}}async htmlElementDisconnected(){var e,t,i,a,r,n;g.instance().disconnectedCallback(),this.lastFrameSourceState=(t=(e=this._context)==null?void 0:e.frameSource)==null?void 0:t.getCurrentState(),await((a=(i=this._context)==null?void 0:i.frameSource)==null?void 0:a.switchToDesiredState("off")),await((n=this.privateContext)==null?void 0:n.update([{type:"viewChange",newValue:{...(r=this.htmlElementState)==null?void 0:r.toJSONObject(),orientation:this.orientation}}])),this.isConnected=false;}attachAdditionalLayer(e,t){var i;t==="above-controls"&&((i=this.controlsElement)==null||i.insertAdjacentElement("afterend",e));}handleVideoDisplay(e){this.videoElement==null||this.cameraPaintboardElement==null||(!e&&!this.isVideoElementDetached?(this.videoElement.width=0,this.videoElement.height=0,this.videoElement.style.opacity="0",this.videoElement.style.visibility="hidden",document.body.append(this.videoElement),this.isVideoElementDetached=true):e&&this.isVideoElementDetached&&(this.cameraPaintboardElement.insertAdjacentElement("afterbegin",this.videoElement),this.isVideoElementDetached=false,this.videoElement.style.removeProperty("visibility"),this.videoElement.removeAttribute("width"),this.videoElement.removeAttribute("height"),this.videoElement.style.removeProperty("opacity")));}isCanvasDrawerWithMetrics(e){return e instanceof a$l}onWorkerMessage(e){var t,i;switch(e.type){case "draw":{this.drawEngineCommands(e.payload);break}case "performanceMetricsReport":{let a=this._canvasDrawer;a!=null&&this.isCanvasDrawerWithMetrics(a)&&a.setPerformanceMetrics(e.payload);break}case "contextDidChangeStatus":{let a=a$m.fromJSON(e.payload);(t=this.loadingOverlay)==null||t.hide(),a.isValid?(this.clearError(),this.setVideoElementOpacity("1")):this.displayError(a);break}case "viewSizeChanged":{let a=e.payload;if(a==null)return;this.onSDCViewSizeChangedCallback(a);break}default:{(i=this.hintPresenter)==null||i.handleMessage(e);break}}}onSDCViewSizeChangedCallback(e){this.updateHintPresenterViewFinderRect(e.viewFinderRect);}updateHintPresenterViewFinderRect(e){var t;(t=this.hintPresenter)==null||t.setViewFinderRect(new a$n(new a$5(e.origin.x,e.origin.y),new a$k(e.size.width,e.size.height)));}drawEngineCommands(e){var t;(t=this.canvasDrawer)==null||t.draw(e);}displayError(e){this.errorElement.textContent=`Error ${e.code}: ${e.message}`,this.errorElement.hidden=false;}clearError(){this.errorElement.textContent="",this.errorElement.hidden=true;}updateControls(){var e;for(let t of this.controls)(e=t.update)==null||e.call(t,this);}async onFrameSourceChange(e){let t=e==null?void 0:e.type;if(this.setupHtmlElementVisibility(t),t==="camera"){let i=e==null?void 0:e.getCurrentState();i!=null&&await this.onCameraStateChanged(i);}else t==="singleImageUploader"&&this.setupHtmlElementSingleImageUploader(e.settings);}async onCameraStateChanged(e){var t;switch((t=this.cameraPaintboardElement)==null||t.classList.toggle(a$b.PAINTBOARD_CLASS_NAME_STATE_ON,e==="on"),e){case "stopping":{this.hiddenProperties.freezeFrameWhenStoppingFrameSource&&this.freezeFrame(),this.setVideoElementOpacity("0");return}case "starting":case "bootingUp":case "wakingUp":{if(!this.htmlElement){a$i.error("cannot set frame source stream before connecting view to an HTML element");return}this.videoElement&&(g.instance().gui.isCameraRecoveryVisible=this.isCameraRecoveryVisible.bind(this),g.instance().gui.setCameraRecoveryVisible=this.setCameraRecoveryVisible.bind(this),this.setVideoElementOpacity("0"));return}case "off":{this.setVideoElementOpacity("0"),this.updateControls();return}case "on":{await g.instance().waitForCapabilities(),this.updateControls(),this.unfreezeFrame(),this.setVideoElementOpacity("1");break}case "goingToSleep":{this.freezeFrame();break}}}setVideoElementOpacity(e){this.videoElement&&(this.videoElement.style.opacity=e),this.canvasElement&&(this.canvasElement.style.opacity=e);}onSingleImageUploaderSettingsChange(e){this.setupHtmlElementSingleImageUploader(e);}setHiddenProperty(e,t){this.hiddenProperties[e]=t;}async onVisibilityChange(){var t,i;let e=(t=this.videoElement)==null?void 0:t.srcObject;if(this.hiddenProperties.stopVideoTracksOnVisibilityChange&&(document.visibilityState==="hidden"&&g.instance().stopVideoTracks(),document.visibilityState==="visible"&&g.instance().activeCamera!=null&&e!=null))if(!e.active||(i=e.getVideoTracks()[0])!=null&&i.muted)try{a$i.debug('Detected visibility change ("visible") event with inactive video source, try to reinitialize camera'),await g.instance().reinitializeCamera();}catch{}else a$i.debug('Detected visibility change ("visible") event with active video source, replay video'),g.instance().playVideo();}async cameraRecovery(e){e.preventDefault(),g.instance().activeCamera=g.instance().selectedCamera,await g.instance().reinitializeCamera();}freezeFrame(){var i;if(!this.frozenFrame)return;let e=g.instance().getCurrentFrame();if(!e)return;let t=new ImageData(e.data,e.width,e.height);this.frozenFrameCanvas.width=t.width,this.frozenFrameCanvas.height=t.height,this.frozenFrame.width=t.width,this.frozenFrame.height=t.height,(i=this.frozenFrameCanvas.getContext("2d"))==null||i.putImageData(t,0,0),this.frozenFrame.src=this.frozenFrameCanvas.toDataURL("image/jpeg",.4),this.frozenFrame.classList.toggle(a$b.MIRRORED_CLASS_NAME,g.instance().isMirrorImageEnabled()),this.frozenFrame.hidden=false;}unfreezeFrame(){this.frozenFrame&&(this.frozenFrame.src="",this.frozenFrame.hidden=true);}},B=L;export{B as a};
@@ -1 +0,0 @@
1
- var i=(e=>(e.Minimal="minimal",e.Extended="extended",e))(i||{}),t=class{constructor(){this.type="tapToFocus";}toJSONObject(){return {type:this.type}}},r=class{constructor(){this.type="swipeToZoom";}toJSONObject(){return {type:this.type}}};export{i as a,t as b,r as c};
@@ -1,6 +0,0 @@
1
- import {a as a$7}from'./chunk-O5D4KVS5.js';import {a as a$4}from'./chunk-ACFJP5SR.js';import {a as a$a,c as c$3,b as b$3}from'./chunk-L66S4DN2.js';import {a as a$j}from'./chunk-BA3RP6L2.js';import {a as a$8}from'./chunk-AIC4H5KG.js';import {a as a$h}from'./chunk-KSCFPJAW.js';import {a as a$d}from'./chunk-JS3T7K2Z.js';import {a as a$f}from'./chunk-W3X3ZRQZ.js';import {b as b$2}from'./chunk-6H6FKGVE.js';import {a as a$c}from'./chunk-N5YZEC56.js';import {a as a$6}from'./chunk-VJB527QZ.js';import {a as a$5}from'./chunk-GHTCNOQN.js';import {a as a$1}from'./chunk-LXOZUOZU.js';import {a as a$g}from'./chunk-FGO2SSRS.js';import {c as c$1,a as a$e}from'./chunk-6AQGNP4S.js';import {g,e as e$1}from'./chunk-AKGGJKCA.js';import {a as a$9}from'./chunk-GPJEB376.js';import {b as b$1}from'./chunk-YONR3EGV.js';import {c as c$2,e}from'./chunk-SBC5K7IT.js';import {a as a$3}from'./chunk-XR65N6EG.js';import {f as f$1}from'./chunk-3D2HNEVH.js';import {a as a$i}from'./chunk-WUHKODFA.js';import {a as a$2}from'./chunk-7SW2PEHB.js';import {a as a$b}from'./chunk-QCZSSQAQ.js';import {c}from'./chunk-TR3NGINC.js';var Q=[{from:"unconfigured",to:"configuring"},{from:"configuring",to:"configured"},{from:"configuring",to:"unconfigured"},{from:"configured",to:"creating-context"},{from:"creating-context",to:"ready"},{from:"creating-context",to:"unconfigured"},{from:"ready",to:"unconfigured"},{from:"configured",to:"unconfigured"}];function v(C,e,t){let r=t.value;return t.value=function(...n){let i=f.stateMachine;return i.currentState==="ready"&&f.mainDataCaptureLoader!=null?r.apply(this,n):i.isInitializing||i.currentState==="configured"?i.waitForState("ready").then(()=>r.apply(this,n)):Promise.reject(new Error(`Please call DataCaptureContext.forLicenseKey() before calling ${String(e)}`))},t}function G(C){return C[a$j]!=null}function x(C){return "skipSerialization"in C||C[a$j]!=null}var q,Y,_,a=class a{constructor(){this._asyncImageConverterInstance=void 0;this.framework="web";this.runtimeEnvironment={deviceOS:(q=b$1.getUserAgentInfo().getOS().name)!=null?q:"",browser:(Y=b$1.getUserAgentInfo().getBrowser().name)!=null?Y:"",browserVersion:(_=b$1.getUserAgentInfo().getBrowser().version)!=null?_:"",get deviceModelName(){let{model:e,vendor:t}=b$1.getUserAgentInfo().getDevice();return (t==null||t==="")&&(t="Unknown"),(e==null||e==="")&&(e="Unknown"),[t,e].join(" ")}};this.settings=new a$2;this._frameSource=null;this._view=null;this.modes=new Set;this.components=[];this.listeners=[];this.updateListeners=new Set;this.cameraPropertiesReportListener=this.reportCameraProperties.bind(this);this.cameraAccessErrorListener=this.onCameraAccessError.bind(this);this.onWorkerMessageListener=this.onWorkerMessage.bind(this);this.onVisibilityChangeListener=this.onVisibilityChange.bind(this);this.batteryChangeListener=this.onBatteryChange.bind(this);this.pendingWorkerMessageListeners=new Set;this.delayedRegistration=false;this.highEndBlurryRecognition=false;this._frameHandlers=[];this._useSynchronousFrameFlow=false;}static get moduleLicenseTextProviders(){return [new b]}static get sharedInstance(){return a._sharedInstance==null&&(a._sharedInstance=new a),a._sharedInstance}static get currentState(){return a.stateMachine.currentState}static get isReady(){return a.stateMachine.currentState==="ready"}static get isInitializing(){return a.stateMachine.isInitializing}static addStateListener(e){a.stateMachine.addListener(e);}static removeStateListener(e){a.stateMachine.removeListener(e);}async initializeWithOptions(e){var t,r,n,i,s,o,u,c,l;a.deviceID===""&&(a.deviceID=await b$1.getDeviceId()),this.licenseKey=(r=(t=e.licenseKey)!=null?t:a.userLicenseKey)!=null?r:"",this.deviceName=(n=e.deviceName)!=null?n:"",this.dataCaptureInstance=(i=e.dataCaptureInstance)!=null?i:a.mainDataCaptureLoader,this.delayedRegistration=(s=e.delayedRegistration)!=null?s:false,e.settings!=null&&(this.settings=e.settings),this.highEndBlurryRecognition=(l=(c=(o=e.dataCaptureInstance)==null?void 0:o.highEndBlurryRecognition)!=null?c:(u=a.mainDataCaptureLoader)==null?void 0:u.highEndBlurryRecognition)!=null?l:false;for(let S of this.pendingWorkerMessageListeners)this.dataCaptureInstance.addWorkerListener(S);this.pendingWorkerMessageListeners.clear(),this.settings!=null&&await this.applySettings(this.settings),await this.createContext();}get frameSource(){return this._frameSource}get workerCommand(){if(this.dataCaptureInstance==null)throw new Error("Cannot call workerCommand before dataCaptureInstance is set");return this.dataCaptureInstance.workerCommand.bind(this.dataCaptureInstance)}static async forLicenseKey(e,t){return a$3.debug(`forLicenseKey called, current state: ${a.stateMachine.currentState}`),a.stateMachine.currentState==="ready"?(a$3.debug("DataCaptureContext is already ready, returning existing instance"),a.sharedInstance):a.stateMachine.isInitializing?(a$3.debug("DataCaptureContext is already initializing, waiting for completion"),await a.stateMachine.waitForState("ready"),a.sharedInstance):(a.stateMachine.currentState==="unconfigured"&&(a$3.debug("Starting initialization from unconfigured state"),await a.stateMachine.executeAsyncTransition({targetState:"configuring",action:async()=>{await a.internalConfigure(e,t);},onSuccess:"configured",onError:"unconfigured"}),await a.stateMachine.executeAsyncTransition({targetState:"creating-context",action:async()=>{await a.sharedInstance.initializeWithOptions({licenseKey:e,deviceName:t.deviceName,settings:t.settings});},onSuccess:"ready",onError:"unconfigured"})),a.sharedInstance)}static async internalConfigure(e$1,t){var S;a$4(),c$1(),a$5.getInstance().updateIfMissing(a$6);let{forceAllPolyfills:r,overrideThreadsSupport:n,overrideSimdSupport:i}=a.getOverridesFromQueryString(),[s,o,u]=await Promise.all([a$7({forceAllPolyfills:r}),c$2(),e()]);n!=="auto"&&(a$3.warn(`Threads support override: was ${u} is now ${n==="on"}`),u=n==="on"),i!=="auto"&&(a$3.warn(`SIMD support override: was ${o} is now ${i==="on"}`),o=i==="on"),a.capabilityInfo={simdSupport:o,threadsSupport:u},a$3.debug(`Capability info detected - SIMD: ${o}, Threads: ${u}`),await a.validateOptions({...t,licenseKey:e$1});let c={licenseKey:e$1,libraryLocation:a$8(t.libraryLocation),moduleLoaders:t.moduleLoaders,logLevel:(S=t.logLevel)!=null?S:a$3.Level.Debug,verifyResponseHash:true,loadProgressNotifier:b$2.notify.bind(b$2),simdSupport:o,threadsSupport:u};a$3.setLevel(c.logLevel),a.userLicenseKey=c.licenseKey,a.libraryLocation=c.libraryLocation,b$2.subscribe(a.updateViewsWithProgress);let l=b$1.checkBrowserCompatibility();if(!l.fullSupport&&!l.scannerSupport)throw new a$9(l);b$1.isSupportedIOSVersion()||a$3.warn(`Warning: Minimum supported iOS version is 14.6.
2
- Please check the minimum system requirements here:
3
- https://docs.scandit.com/system-requirements#browser-compatibility`),a.dataCaptureLoaders=await a.loadModules(c.moduleLoaders,c),a.mainDataCaptureLoader=[...a.dataCaptureLoaders.entries()][0][1],b$2.unsubscribe(a.updateViewsWithProgress);}static async forLicenseKeyInElectronPath(e,t){if(!a$a())throw new a$b({name:"MisconfigurationError",message:"forLicenseKeyInElectronPath can only be used in Electron applications"});let r=await c$3({licenseDataPath:e});if(r==null)throw new a$b({name:"NoLicenseKeyError",message:`Cannot retrieve license key for Electron app at ${e}`});return a.forLicenseKey(r.licenseKey,{...t})}static updateViewsWithProgress({percentage:e}){for(let t of a$c.values())t.setProgressBarPercentage(e);}static getOverridesFromQueryString(){var s,o,u;function e(c){return ["auto","off","on"].includes(c)}let t=new URLSearchParams(window.location.search),[r="auto",n="auto",i=false]=[(s=t.get("pthreads"))==null?void 0:s.toLowerCase(),(o=t.get("simd"))==null?void 0:o.toLowerCase(),((u=t.get("forceAllPolyfills"))==null?void 0:u.toLowerCase())==="true"];return {overrideThreadsSupport:e(r)?r:"auto",overrideSimdSupport:e(n)?n:"auto",forceAllPolyfills:i}}static async validateOptions(e){if(e.licenseKey==null||e.licenseKey.trim().length<64)throw new a$b({name:"NoLicenseKeyError",message:"No license key provided"});if(typeof e.libraryLocation!="string")throw new a$b({name:"MisconfigurationError",message:'Option "libraryLocation" was not provided'});if(!Array.isArray(e.moduleLoaders)||e.moduleLoaders.length===0)throw new a$b({name:"MisconfigurationError",message:'Option "moduleLoaders" is missing or empty'});let t=e.moduleLoaders.map(r=>r.moduleName);if(!["BarcodeCapture","IdCapture","LabelCapture"].includes(t[0]))throw new a$b({name:"MisconfigurationError",message:'Main modules must be loaded before side modules. For example "BarcodeCapture" must be loaded before "Parser".'})}static async loadModules(e,t){let r=new Map,n=new Map;for(let i of e)n.set(i.moduleName,i.load(t));await Promise.all(n.values());for(let[i,s]of n)r.set(i,await s);return r}static async getOpenSourceSoftwareLicenseInfo(){let e=[];for(let r of a.moduleLicenseTextProviders){let n=await r.getLicenseText();e.push(n);}let t=e.join(`
4
-
5
- `);return new a$d(t)}async setFrameSource(e){let t=e!==this._frameSource;if(this._frameSource!==null&&(this._frameSource.context=null),this._frameSource=e!=null?e:null,e&&(e.context=this,await this.workerCommand("setFrameSource",{mirrorAxis:this.getMirrorAxisForFrameSource(e),isCameraFrameSource:f$1(e)})),await this.update([{type:"frameSourceState",newValue:this.frameSource}]),t)for(let r of this.listeners)r.didChangeFrameSource&&r.didChangeFrameSource(this,this._frameSource);}addListener(e){this.listeners.includes(e)||this.listeners.push(e);}async flushAnalytics(){await this.workerCommand("flushAnalytics",{});}removeListener(e){this.listeners.includes(e)&&this.listeners.splice(this.listeners.indexOf(e),1);}async addMode(e){this.modes.add(e),await e.attachedToContext(this),this.updateCameraFrameFlow(),await this.update([],{updateContext:!x(e)});}async removeMode(e){this.modes.delete(e),await e.detachedFromContext(),this.updateCameraFrameFlow(),await this.update([],{updateContext:!x(e)});}async setMode(e){this.modes.has(e)||(this.modes.clear(),this.modes.add(e),await e.attachedToContext(this),this.updateCameraFrameFlow(),await this.update());}async removeCurrentMode(){for(let e of this.modes)await e.detachedFromContext();this.modes.clear(),await this.update();}async removeAllModes(){let e=Array.from(this.modes);for(let t of e)await this.removeMode(t);}async dispose(){if(a.stateMachine.currentState!=="unconfigured")try{await a.stateMachine.executeAsyncTransition({targetState:"unconfigured",action:async()=>{g.instance().removeListener("cameraProperties",this.cameraPropertiesReportListener),g.instance().removeListener("cameraAccessError",this.cameraAccessErrorListener),this.unsubscribeToVisibilityChange(this.onVisibilityChangeListener);for(let e of this.modes)await e.detachedFromContext();this._view&&(await this._view.setContext(null),this._view=null),this.dataCaptureInstance&&(await this.dataCaptureInstance.terminateDataCaptureWorker(true).catch(()=>{}),this.dataCaptureInstance=void 0),this.webBatteryInterface&&(this.webBatteryInterface.dispose(),this.webBatteryInterface=void 0),a.deviceID="";},onSuccess:"unconfigured",onError:"unconfigured"});}catch(e){if(a.stateMachine.currentState==="unconfigured")return;throw e}finally{this.modes.clear(),this.listeners=[],this.components.length=0,this.updateListeners.clear(),this.pendingWorkerMessageListeners.clear(),this.delayedRegistration=false,this.highEndBlurryRecognition=false,this._frameHandlers.length=0,this.frameSource&&(this.frameSource.context=null,this._frameSource=null),g.instance().dispose(),this.licenseKey="",this.deviceName="",a$e();}}async applySettings(e){this.settings=e,await this.update();}toJSONObject(){var e,t;return {licenseKey:this.licenseKey,framework:this.framework,deviceName:this.deviceName,...this.runtimeEnvironment,modes:[...this.modes].filter(r=>!x(r)).map(r=>r.toJSONObject()),components:this.components.map(r=>r.toJSONObject()),frameSource:this.frameSource?this.frameSource.toJSONObject():null,settings:this.settings.toJSONObject(),view:(t=(e=this._view)==null?void 0:e.toJSONObject())!=null?t:null}}getView(){return this._view}async setView(e){return this._view=e,this.update([{type:"viewSet",newValue:e}])}async getAppName(){let e=null;if(a$a()){let t=await b$3();if((t==null?void 0:t.appName)==null||t.appName==="")throw new Error("Cannot retrieve electron appName. Did you set it up in package.json? https://www.electronjs.org/docs/latest/api/app#appgetname");e=t.appName;}return e}urlToHostname(e){try{return new URL(e!=null?e:"").hostname}catch{return ""}}getParentDomain(){var t;let e="";return parent!==window&&(e||(e=this.urlToHostname((t=location.ancestorOrigins)==null?void 0:t[0])),e||(e=this.urlToHostname(document.referrer)),e||(e="")),e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1)),e}async createContext(){this.webBatteryInterface=await a$f.create();let e=this.webBatteryInterface.getBatteryInfo();await this.workerCommand("createContext",{context:this.toJSONObject(),deviceId:a.deviceID,delayedRegistration:this.delayedRegistration,highEndBlurryRecognition:this.highEndBlurryRecognition,appName:await this.getAppName(),parentDomain:this.getParentDomain(),isTablet:b$1.isTablet(),batteryInfo:e}),this.webBatteryInterface.addBatteryChangeListener(this.batteryChangeListener),this.subscribeToWorkerMessages(this.onWorkerMessageListener),this.subscribeToCameraManagerEvents(),this.subscribeToVisibilityChange(this.onVisibilityChangeListener),this._view!=null&&await this.setView(this._view),this.frameSource!=null&&await this.setFrameSource(this.frameSource);}subscribeToVisibilityChange(e){document.addEventListener("visibilitychange",e);}unsubscribeToVisibilityChange(e){document.removeEventListener("visibilitychange",e);}async requestFrameData(e){return this.workerCommand("requestFrameData",{frameId:e})}performanceMark(e){a$g(globalThis.performance)&&typeof globalThis.performance.mark=="function"&&performance.mark(e);}async sendFrameToProcessor(e){var n,i;let t=e instanceof ImageData?{data:e.data,width:e.width,height:e.height,frameId:(n=e.frameId)!=null?n:e$1(),colorType:(i=e.colorType)!=null?i:"RGBA"}:e,r=await this.sendFrameToHandlers(t);return t.data=r.capture.data,r.skip?r.capture:(this.performanceMark("processFrameBeforeSDC"),this.sendFrameToSDC(t))}async sendFrameToHandlers(e){for(let t of this._frameHandlers)if((await t(e)).action==="skip")return {skip:true,capture:e};return {skip:false,capture:e}}async sendFrameToSDC(e){return this.workerCommand("processFrame",e,[e.data.buffer])}registerFrameHandler(e){this._frameHandlers.includes(e)||this._frameHandlers.push(e);}unregisterFrameHandler(e){this._frameHandlers.includes(e)&&this._frameHandlers.splice(this._frameHandlers.indexOf(e),1);}onBatteryChange(e){this.workerCommand("updateBatteryInfo",{batteryInfo:e});}onVisibilityChange(){this.workerCommand("documentVisibility",{state:document.visibilityState});}getImageConverterInstance(e){return this._asyncImageConverterInstance==null&&(this._asyncImageConverterInstance=new a$h(e)),this._asyncImageConverterInstance}onWorkerMessage(e){if(e.type==="contextDidChangeStatus"){e.payload.isValid||a$3.error(e.payload);for(let t of this.listeners)t.didChangeStatus&&t.didChangeStatus(this,a$i.fromJSON(e.payload));}if(e.type==="didStartObservingContext")for(let t of this.listeners)t.didStartObservingContext&&t.didStartObservingContext(this);e.type==="onFrameProcessingFinished"&&this.performanceMark("processFrameAfterSDC"),e.type==="convertToJPEG"&&this.convertImageToJPEG(e);}async convertImageToJPEG(e){let{imageId:t,width:r,height:n,data:i,planes:s,orientation:o,quality:u}=e,c={getWidth:()=>r,getHeight:()=>n,getPlanes:()=>s,toBitmap:()=>i,getBitmapRepresentationFromYUV:()=>{throw new Error("Not implemented")},deepCopy:()=>{throw new Error("Not implemented")}},l=await this.getImageConverterInstance({quality:u}).convertToJpeg(c,o);return this.workerCommand("convertToJPEGResult",{imageId:t,result:l})}subscribeToCameraManagerEvents(){g.instance().addListener("cameraProperties",this.cameraPropertiesReportListener),g.instance().addListener("cameraAccessError",this.cameraAccessErrorListener);}async reportCameraProperties(e){return this.workerCommand("reportCameraProperties",e)}onCameraAccessError(e){for(let t of this.listeners)t.didChangeStatus&&t.didChangeStatus(this,a$i.fromJSON({code:33794,isValid:true,message:typeof(e==null?void 0:e.toString)=="function"?e.toString():"Unknown error"}));}async update(e=[],{updateContext:t=true}={}){var r,n;t&&await this.updateContext();for(let i of e){switch(i.type){case "frameSourceState":{await((r=this._view)==null?void 0:r.onFrameSourceChange(this.frameSource));break}case "singleImageModeUploaderSettings":{(n=this._view)==null||n.onSingleImageUploaderSettingsChange(i.newValue);break}case "addOverlay":{await this.addNativeOverlay(i.newValue);break}case "removeOverlay":{await this.removeNativeOverlay(i.newValue);break}}for(let s of this.updateListeners){let o=s(i);o instanceof Promise&&await o;}}}async updateContext(){await this.workerCommand("updateContext",{context:this.toJSONObject(),...this.getViewInfo()}).catch(e=>a$3.warn("Error while updating context:",e,this.toJSONObject()));}getViewInfo(){return this._view!=null?{view:{width:this._view.width,height:this._view.height,visible:this._view.width>0&&this._view.height>0,orientation:this._view.orientation}}:{view:null}}getMirrorAxisForFrameSource(e){let t="None";return f$1(e)&&e.getMirrorImageEnabled()&&(t="Y"),t}async addComponent(e){if(!this.components.includes(e))return this.components.push(e),e._context=this,this.update()}async addNativeOverlay(e){if(G(e))return this.workerCommand("addNativeOverlay",{overlayHandle:e[a$j]})}async removeNativeOverlay(e){if(G(e))return this.workerCommand("removeNativeOverlay",{overlayHandle:e[a$j]})}subscribeToWorkerMessages(e){this.dataCaptureInstance?this.dataCaptureInstance.addWorkerListener(e):this.pendingWorkerMessageListeners.add(e);}unsubscribeToWorkerMessages(e){this.dataCaptureInstance&&this.dataCaptureInstance.removeWorkerListener(e),this.pendingWorkerMessageListeners.delete(e);}hasEnabledMode(){return [...this.modes].some(e=>e.isEnabled())}updateCameraFrameFlow(){let e=[...this.modes].some(t=>t._synchronousFrameFlow===true);g.instance().setFrameHandling(e);}async isFeatureSupported(e){return (await this.workerCommand("isFeatureSupported",{feature:e})).supported}};a.deviceID="",a.stateMachine=new a$1("unconfigured",Q),a.mainDataCaptureLoader=void 0,a.dataCaptureLoaders=new Map,a.libraryLocation=void 0,a.userLicenseKey=null,a.capabilityInfo=void 0,c([v],a.prototype,"setFrameSource",1),c([v],a.prototype,"addMode",1),c([v],a.prototype,"removeMode",1),c([v],a.prototype,"setMode",1),c([v],a.prototype,"removeCurrentMode",1),c([v],a.prototype,"isFeatureSupported",1);var f=a;var b=class{constructor(e=f,t=a$3,r=globalThis.fetch.bind(globalThis)){this.staticContext=f;this.staticContext=e,this.logger=t,this.fetch=r;}get workerCommand(){var e;return (e=this.staticContext.mainDataCaptureLoader)==null?void 0:e.workerCommand.bind(this.staticContext.mainDataCaptureLoader)}async getLicenseText(){var i,s;let e=this.staticContext.stateMachine.currentState;if(e==="unconfigured"||e==="configuring")return this.logger.warn('You must call "DataCaptureContext.forLicenseKey" before retrieving open source license text info.'),"";let t=new URL(`${((i=this.staticContext.libraryLocation)!=null?i:"").replace(/\/$/,"")}/license/web-core-license.txt`),[r,n]=await Promise.all([(s=this.workerCommand)==null?void 0:s.call(this,"getOpenSourceSoftwareLicenseInfo",{}),this.fetchWebLicenseText(t.toString())]);return [r==null?void 0:r.licenseText,n].filter(o=>o!=null).join(`
6
- `)}async fetchWebLicenseText(e){return this.fetch(e,{mode:"cors",credentials:"include",headers:{"Content-Type":"text/plain"}}).then(async t=>{if(!t.ok)throw new Error(`${t.status} ${t.statusText}`);return t.text()}).catch(t=>(this.logger.warn(`Failed to fetch license from ${e}: ${t.toString()}`),null))}};export{b as a,f as b};