@scandit/web-datacapture-core 8.3.1 → 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 (256) hide show
  1. package/build/electron/common.cjs +1 -1
  2. package/build/electron/constants.cjs +1 -1
  3. package/build/electron/main.cjs +1 -1
  4. package/build/electron/preload.cjs +1 -1
  5. package/build/js/{Camera-Cc__1Nc-.d.ts → Camera-HgH6fwnW.d.ts} +16 -2
  6. package/build/js/Camera.d.ts +1 -1
  7. package/build/js/Camera.js +1 -1
  8. package/build/js/CameraRelated.d.ts +1 -1
  9. package/build/js/CameraRelated.js +1 -1
  10. package/build/js/{DataCaptureContext-BcSpF9Dt.d.ts → DataCaptureContext-qacCkSOl.d.ts} +40 -21
  11. package/build/js/DataCaptureContext.d.ts +4 -4
  12. package/build/js/DataCaptureContext.js +1 -1
  13. package/build/js/DataCaptureContextRelated.d.ts +3 -3
  14. package/build/js/DataCaptureVersion.js +1 -1
  15. package/build/js/DataCaptureView.d.ts +3 -3
  16. package/build/js/DataCaptureView.js +1 -1
  17. package/build/js/DataCaptureViewPlusRelated-BOrDBPHq.d.ts +49 -0
  18. package/build/js/DataCaptureViewPlusRelated.d.ts +2 -24
  19. package/build/js/DataCaptureViewPlusRelated.js +1 -1
  20. package/build/js/Feedback.js +1 -1
  21. package/build/js/FrameData.d.ts +3 -3
  22. package/build/js/ImageFrameSource.d.ts +1 -1
  23. package/build/js/ImageFrameSource.js +1 -1
  24. package/build/js/NotificationPresenter/index.d.ts +3 -3
  25. package/build/js/NotificationPresenter/index.js +1 -1
  26. package/build/js/NotificationPresenter/private/ConcreteNotificationPresenter.d.ts +3 -3
  27. package/build/js/NotificationPresenter/private/presets.d.ts +3 -3
  28. package/build/js/ScanditIcon.js +1 -1
  29. package/build/js/ScanditIconBuilder.js +1 -1
  30. package/build/js/SingleImageUploader.d.ts +1 -1
  31. package/build/js/SingleImageUploader.js +1 -1
  32. package/build/js/Sound.js +1 -1
  33. package/build/js/ZoomGestureListener.d.ts +3 -0
  34. package/build/js/ZoomListener.d.ts +7 -0
  35. package/build/js/ZoomSwitchOrientation.d.ts +8 -0
  36. package/build/js/ZoomSwitchOrientation.js +1 -0
  37. package/build/js/chunks/{chunk-U2VELHGX.js → chunk-2UHUEJA4.js} +1 -1
  38. package/build/js/chunks/{chunk-6IM6NGGI.js → chunk-3MKSI2DV.js} +1 -1
  39. package/build/js/chunks/{chunk-TNIR74NN.js → chunk-4F2Q2P2O.js} +1 -1
  40. package/build/js/chunks/chunk-4KLHTKGW.js +1 -0
  41. package/build/js/chunks/chunk-4LGQ66HW.js +1 -0
  42. package/build/js/chunks/chunk-4QJAB4PO.js +1 -0
  43. package/build/js/chunks/chunk-4WA2PCJE.js +1 -0
  44. package/build/js/chunks/chunk-56OQ5EHO.js +1 -0
  45. package/build/js/chunks/{chunk-HILZP6OW.js → chunk-6AZW5IIG.js} +1 -1
  46. package/build/js/chunks/{chunk-YP53ND2Q.js → chunk-6EEMWSEO.js} +1 -1
  47. package/build/js/chunks/{chunk-Z6CZGU5N.js → chunk-76IGNICM.js} +1 -1
  48. package/build/js/chunks/{chunk-A3ZT7PJA.js → chunk-7HYFN4JO.js} +1 -1
  49. package/build/js/chunks/chunk-7LTHFX4E.js +1 -0
  50. package/build/js/chunks/{chunk-SX5ZLP2O.js → chunk-7OFC24NE.js} +1 -1
  51. package/build/js/chunks/chunk-7SA74NKD.js +0 -0
  52. package/build/js/chunks/{chunk-YRQQE3NR.js → chunk-AC4QOIY7.js} +1 -1
  53. package/build/js/chunks/{chunk-XDTXM6UX.js → chunk-ACCTMSWC.js} +1 -1
  54. package/build/js/chunks/{chunk-5VJXJTUX.js → chunk-AD77NFCP.js} +1 -1
  55. package/build/js/chunks/chunk-AE2LWVIB.js +1 -0
  56. package/build/js/chunks/chunk-CA6FHIF6.js +35 -0
  57. package/build/js/chunks/{chunk-MBF27IWL.js → chunk-CERFU73N.js} +1 -1
  58. package/build/js/chunks/{chunk-FK5L5YTR.js → chunk-CGK5V6XZ.js} +1 -1
  59. package/build/js/chunks/chunk-D222MT4V.js +1 -0
  60. package/build/js/chunks/{chunk-ARODHCN7.js → chunk-DGIQ3GF7.js} +1 -1
  61. package/build/js/chunks/chunk-FHUC75ND.js +1 -0
  62. package/build/js/chunks/chunk-GMOTHEWV.js +1 -0
  63. package/build/js/chunks/chunk-GVHXM75D.js +1 -0
  64. package/build/js/chunks/chunk-H3J4TP2K.js +1 -0
  65. package/build/js/chunks/{chunk-GZCWMFWA.js → chunk-JLTSTUKY.js} +1 -1
  66. package/build/js/chunks/chunk-LPFXHHWJ.js +1 -0
  67. package/build/js/chunks/chunk-MA3GV76P.js +1 -0
  68. package/build/js/chunks/chunk-NIKRAADM.js +1 -0
  69. package/build/js/chunks/{chunk-FMOB7R2T.js → chunk-O4HDBWKK.js} +1 -1
  70. package/build/js/chunks/{chunk-33ZWDLU7.js → chunk-O7EM4VIM.js} +1 -1
  71. package/build/js/chunks/chunk-OLUNDJBC.js +1 -0
  72. package/build/js/chunks/{chunk-PM5CNTBV.js → chunk-OX64CCOP.js} +1 -1
  73. package/build/js/chunks/chunk-P2R7FW6C.js +1 -0
  74. package/build/js/chunks/chunk-P3NPNIWR.js +1 -0
  75. package/build/js/chunks/{chunk-2SGKGZ6F.js → chunk-QFSNPY5Y.js} +1 -1
  76. package/build/js/chunks/{chunk-BSX3V75N.js → chunk-QUWP3ILW.js} +1 -1
  77. package/build/js/chunks/chunk-RZTXUIJ5.js +0 -0
  78. package/build/js/chunks/chunk-SHM7SU3B.js +1 -0
  79. package/build/js/chunks/chunk-U2WQ3WDE.js +1 -0
  80. package/build/js/chunks/chunk-U4IMOTYL.js +1 -0
  81. package/build/js/chunks/{chunk-PDJEYYPX.js → chunk-U6MFAGMG.js} +1 -1
  82. package/build/js/chunks/{chunk-GS7VZDY5.js → chunk-U7ETOWGJ.js} +1 -1
  83. package/build/js/chunks/chunk-UNO6YIIA.js +1 -0
  84. package/build/js/chunks/{chunk-UJYGOVXB.js → chunk-V2OKMBZD.js} +1 -1
  85. package/build/js/chunks/{chunk-FCXZZH3O.js → chunk-VSROWPI6.js} +1 -1
  86. package/build/js/chunks/{chunk-ZCEA7BEH.js → chunk-WHRRC6V6.js} +1 -1
  87. package/build/js/chunks/{chunk-DTREAYZQ.js → chunk-WOOPJWJS.js} +1 -1
  88. package/build/js/chunks/chunk-XUIVDVLK.js +6 -0
  89. package/build/js/chunks/{chunk-NMXQDQYI.js → chunk-YE2GYNRP.js} +1 -1
  90. package/build/js/chunks/{chunk-XV75QMNK.js → chunk-ZP3YIZEC.js} +1 -1
  91. package/build/js/chunks/{chunk-35JLCTLQ.js → chunk-ZTKCGHYQ.js} +1 -1
  92. package/build/js/controls/CameraFOVSwitchControl.d.ts +6 -3
  93. package/build/js/controls/CameraFOVSwitchControl.js +1 -1
  94. package/build/js/controls/CameraSwitchControl.d.ts +3 -3
  95. package/build/js/controls/CameraSwitchControl.js +1 -1
  96. package/build/js/controls/TorchSwitchControl.d.ts +3 -3
  97. package/build/js/controls/TorchSwitchControl.js +1 -1
  98. package/build/js/controls/ZoomSwitchControl.d.ts +97 -0
  99. package/build/js/controls/ZoomSwitchControl.js +1 -0
  100. package/build/js/controls/common.d.ts +3 -3
  101. package/build/js/controls/index.d.ts +5 -3
  102. package/build/js/controls/index.js +1 -1
  103. package/build/js/defaults/DefaultsCamera.d.ts +4 -3
  104. package/build/js/defaults/DefaultsCamera.js +1 -1
  105. package/build/js/defaults/DefaultsCameraSettings.d.ts +2 -1
  106. package/build/js/defaults/DefaultsCameraSettings.js +1 -1
  107. package/build/js/defaults/DefaultsDataCaptureView.d.ts +2 -2
  108. package/build/js/defaults/DefaultsDataCaptureView.js +1 -1
  109. package/build/js/defaults/DefaultsDeserializers.d.ts +1 -1
  110. package/build/js/defaults/DefaultsDeserializers.js +1 -1
  111. package/build/js/index.d.ts +6 -4
  112. package/build/js/index.js +1 -1
  113. package/build/js/moduleLoader.d.ts +3 -3
  114. package/build/js/private/CameraAccess.d.ts +1 -1
  115. package/build/js/private/CameraManager.d.ts +3 -3
  116. package/build/js/private/CameraManager.js +1 -1
  117. package/build/js/private/CameraPool.d.ts +56 -22
  118. package/build/js/private/CameraPool.js +1 -1
  119. package/build/js/private/CanvasDrawerWithMetrics.d.ts +3 -3
  120. package/build/js/private/CoreModuleLicenseTextProvider.d.ts +3 -3
  121. package/build/js/private/CoreModuleLicenseTextProvider.js +1 -1
  122. package/build/js/private/CustomLocationsView.js +1 -1
  123. package/build/js/private/DataCaptureContextRelated.d.ts +3 -3
  124. package/build/js/private/FrameReaders/FrameReader.d.ts +3 -3
  125. package/build/js/private/FrameReaders/FrameReader.js +1 -1
  126. package/build/js/private/FrameReaders/FrameReaderAbstract.d.ts +3 -3
  127. package/build/js/private/FrameReaders/GrayScaleFrameReader.d.ts +3 -3
  128. package/build/js/private/FrameReaders/GrayScaleFrameReader.js +1 -1
  129. package/build/js/private/FrameReaders/index.d.ts +3 -3
  130. package/build/js/private/FrameReaders/index.js +1 -1
  131. package/build/js/private/GestureRecognizer/GestureRecognizer.d.ts +34 -0
  132. package/build/js/private/GestureRecognizer/GestureRecognizer.js +1 -1
  133. package/build/js/private/GestureRecognizer/PointerEventsDetector.js +1 -1
  134. package/build/js/private/GestureRecognizer/index.d.ts +1 -1
  135. package/build/js/private/GestureRecognizer/index.js +1 -1
  136. package/build/js/private/NormalizedModuleLoaderOptions.d.ts +3 -3
  137. package/build/js/private/SingleImageUploaderView.d.ts +3 -3
  138. package/build/js/private/SingleImageUploaderView.js +1 -1
  139. package/build/js/private/ViewControls+related.js +1 -1
  140. package/build/js/private/ViewControls_related.d.ts +3 -3
  141. package/build/js/private/ViewStyles.js +1 -1
  142. package/build/js/private/ViewsRegistry.d.ts +3 -3
  143. package/build/js/private/customHowler/Howl.js +1 -1
  144. package/build/js/private/customHowler/index.js +1 -1
  145. package/build/js/private/customHowler/setup.js +1 -1
  146. package/build/js/private/ui/atoms/AimerSvgIcon.js +1 -1
  147. package/build/js/private/ui/atoms/ArrowDownSvgIcon.js +1 -1
  148. package/build/js/private/ui/atoms/ArrowLeftSvgIcon.js +1 -1
  149. package/build/js/private/ui/atoms/ArrowRightSvgIcon.js +1 -1
  150. package/build/js/private/ui/atoms/ArrowUpSvgIcon.js +1 -1
  151. package/build/js/private/ui/atoms/ArrowsUp.js +1 -1
  152. package/build/js/private/ui/atoms/Backdrop.js +1 -1
  153. package/build/js/private/ui/atoms/CalendarExclamationMarkSvgIcon.js +1 -1
  154. package/build/js/private/ui/atoms/CameraFOVUltrawideSvgIcon.js +1 -1
  155. package/build/js/private/ui/atoms/CameraFOVWideSvgIcon.js +1 -1
  156. package/build/js/private/ui/atoms/CameraSwitchReverseSvgIcon.js +1 -1
  157. package/build/js/private/ui/atoms/CameraSwitchSvgIcon.js +1 -1
  158. package/build/js/private/ui/atoms/Card.js +1 -1
  159. package/build/js/private/ui/atoms/CardList.js +1 -1
  160. package/build/js/private/ui/atoms/CheckSvgIcon.js +1 -1
  161. package/build/js/private/ui/atoms/ChevronDownSvgIcon.js +1 -1
  162. package/build/js/private/ui/atoms/ChevronLeftSvgIcon.js +1 -1
  163. package/build/js/private/ui/atoms/ChevronRightSvgIcon.js +1 -1
  164. package/build/js/private/ui/atoms/ChevronUpSvgIcon.js +1 -1
  165. package/build/js/private/ui/atoms/CrossSvgIcon.js +1 -1
  166. package/build/js/private/ui/atoms/DeleteSvgIcon.js +1 -1
  167. package/build/js/private/ui/atoms/Dot5xSvgIcon.js +1 -1
  168. package/build/js/private/ui/atoms/ExclamationMarkSvgIcon.js +1 -1
  169. package/build/js/private/ui/atoms/GlassSvgIcon.js +1 -1
  170. package/build/js/private/ui/atoms/HandLensCheckSvgIcon.js +1 -1
  171. package/build/js/private/ui/atoms/KeyboardSvgIcon.js +1 -1
  172. package/build/js/private/ui/atoms/LowStockSvgIcon.js +1 -1
  173. package/build/js/private/ui/atoms/OnexSvgIcon.js +1 -1
  174. package/build/js/private/ui/atoms/PauseSvgIcon.js +1 -1
  175. package/build/js/private/ui/atoms/PrinterSvgIcon.js +1 -1
  176. package/build/js/private/ui/atoms/ProgressBar.js +1 -1
  177. package/build/js/private/ui/atoms/QuestionMarkSvgIcon.js +1 -1
  178. package/build/js/private/ui/atoms/RestartSvgIcon.js +1 -1
  179. package/build/js/private/ui/atoms/RoundedCheckSvgIcon.js +1 -1
  180. package/build/js/private/ui/atoms/RoundedCrossSvgIcon.js +1 -1
  181. package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.js +1 -1
  182. package/build/js/private/ui/atoms/ScanSvgIcon.js +1 -1
  183. package/build/js/private/ui/atoms/ShutterButton.js +1 -1
  184. package/build/js/private/ui/atoms/SlashSvgIcon.js +1 -1
  185. package/build/js/private/ui/atoms/StarFilledSvgIcon.js +1 -1
  186. package/build/js/private/ui/atoms/StarHalfFilledSvgIcon.js +1 -1
  187. package/build/js/private/ui/atoms/StarOutlinedSvgIcon.js +1 -1
  188. package/build/js/private/ui/atoms/SvgIcon.js +1 -1
  189. package/build/js/private/ui/atoms/ToPickSvgIcon.js +1 -1
  190. package/build/js/private/ui/atoms/Toast.d.ts +3 -3
  191. package/build/js/private/ui/atoms/Toast.js +1 -1
  192. package/build/js/private/ui/atoms/TorchOffSvgIcon.js +1 -1
  193. package/build/js/private/ui/atoms/TorchOnSvgIcon.js +1 -1
  194. package/build/js/private/ui/atoms/TwoxSvgIcon.js +1 -1
  195. package/build/js/private/ui/atoms/WrongItemSvgIcon.js +1 -1
  196. package/build/js/private/ui/molecules/ButtonEvents.d.ts +8 -1
  197. package/build/js/private/ui/molecules/ButtonEvents.js +1 -1
  198. package/build/js/private/ui/molecules/CameraFOVSwitchButton.d.ts +0 -1
  199. package/build/js/private/ui/molecules/CameraFOVSwitchButton.js +1 -1
  200. package/build/js/private/ui/molecules/CameraSwitchButton.d.ts +0 -1
  201. package/build/js/private/ui/molecules/CameraSwitchButton.js +1 -1
  202. package/build/js/private/ui/molecules/ControlsLayout.js +1 -1
  203. package/build/js/private/ui/molecules/HintPresenter.d.ts +3 -3
  204. package/build/js/private/ui/molecules/HintPresenter.js +1 -1
  205. package/build/js/private/ui/molecules/LoadingOverlay.js +1 -1
  206. package/build/js/private/ui/molecules/TorchSwitchIconButton.d.ts +1 -2
  207. package/build/js/private/ui/molecules/TorchSwitchIconButton.js +1 -1
  208. package/build/js/private/ui/molecules/ZoomSwitchPill.d.ts +70 -0
  209. package/build/js/private/ui/molecules/ZoomSwitchPill.js +1 -0
  210. package/build/js/private/utils/AnimationSimplePolyfill.js +1 -1
  211. package/build/js/private/utils/areEqualArrays.d.ts +4 -0
  212. package/build/js/private/utils/areEqualArrays.js +1 -0
  213. package/build/js/private/utils/index.d.ts +1 -0
  214. package/build/js/private/utils/index.js +1 -1
  215. package/build/js/private/utils/isPointerTouchEvent.d.ts +4 -0
  216. package/build/js/private/utils/isPointerTouchEvent.js +1 -0
  217. package/build/js/private/utils/polyfillLoader.js +1 -1
  218. package/build/js/private/utils/replaceImagesInViewUtils.d.ts +3 -3
  219. package/build/js/worker/ImageConverterForwarder.d.ts +3 -3
  220. package/build/js/worker/ViewInfoHelper.d.ts +3 -3
  221. package/build/js/worker/WorkerMain.d.ts +3 -3
  222. package/build/js/worker/WorkerMain.js +1 -1
  223. package/build/js/worker/coreCapture.inlineWorker.d.ts +3 -3
  224. package/build/js/worker/coreCapture.inlineWorker.js +1 -1
  225. package/build/js/worker/dataCaptureEngine.d.ts +3 -3
  226. package/build/js/worker/dataCaptureEngine.js +1 -1
  227. package/build/js/worker/dataCaptureLoader.d.ts +3 -3
  228. package/build/js/worker/dataCaptureWorkerRelated.d.ts +3 -3
  229. package/build/js/worker/helperFs.d.ts +3 -5
  230. package/build/js/worker/helperFs.js +1 -1
  231. package/build/js/worker/index.d.ts +3 -3
  232. package/build/js/worker/index.js +1 -1
  233. package/package.json +1 -1
  234. package/build/js/chunks/chunk-2AX7TBDI.js +0 -1
  235. package/build/js/chunks/chunk-2N546PXQ.js +0 -1
  236. package/build/js/chunks/chunk-3D2HNEVH.js +0 -1
  237. package/build/js/chunks/chunk-3JLTBSEJ.js +0 -1
  238. package/build/js/chunks/chunk-5DKZR6UB.js +0 -1
  239. package/build/js/chunks/chunk-6LHGFWQI.js +0 -1
  240. package/build/js/chunks/chunk-74GO72VC.js +0 -1
  241. package/build/js/chunks/chunk-A5G2NHT2.js +0 -1
  242. package/build/js/chunks/chunk-ATSAENLJ.js +0 -6
  243. package/build/js/chunks/chunk-DZKTI5AJ.js +0 -1
  244. package/build/js/chunks/chunk-EQP4U5U2.js +0 -1
  245. package/build/js/chunks/chunk-GX4YCYCH.js +0 -1
  246. package/build/js/chunks/chunk-INVYPEGF.js +0 -1
  247. package/build/js/chunks/chunk-KYAHE2Q3.js +0 -1
  248. package/build/js/chunks/chunk-QHBYNYWX.js +0 -1
  249. package/build/js/chunks/chunk-SSTFVERQ.js +0 -1
  250. package/build/js/chunks/chunk-U6MNF7M6.js +0 -35
  251. package/build/js/chunks/chunk-UQVVJP5Z.js +0 -1
  252. package/build/js/chunks/chunk-WJOT37ST.js +0 -1
  253. package/build/js/chunks/chunk-XIAF6V7E.js +0 -1
  254. /package/build/js/{chunks/chunk-BUKZPAC5.js → ZoomGestureListener.js} +0 -0
  255. /package/build/js/{chunks/chunk-VFOSFLTM.js → ZoomListener.js} +0 -0
  256. /package/build/js/chunks/{chunk-O5D4KVS5.js → chunk-Y7BTRVB4.js} +0 -0
@@ -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$9}from'./chunk-E4XJ4GKD.js';import {a as a$b}from'./chunk-QOCHMKNY.js';import {a as a$a}from'./chunk-KAFNKP6O.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-MA6UDVDJ.js';import {a as a$2}from'./chunk-BDGRWHLY.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 as a$1}from'./chunk-33ZWDLU7.js';import {a as a$3}from'./chunk-UWBNF47P.js';import {a as a$2}from'./chunk-3A4KLILV.js';var t=class t extends a$1{static create(){return document.createElement(t.tag)}static register(){a$2({[t.tag]:t});}render(){return a$3`<style>${t.tag}{display:flex}</style><svg width="${this.size}" height="${this.heightForViewbox(32,32)}" viewBox="0 0 32 32" fill="none"><rect opacity="0.5" width="32" height="32" rx="16" fill="white"/><path d="M7.98828 21.082C8.59668 21.082 9.08887 20.5898 9.08887 19.9814C9.08887 19.3662 8.59668 18.8809 7.98828 18.8809C7.37305 18.8809 6.8877 19.3662 6.8877 19.9814C6.8877 20.5898 7.37305 21.082 7.98828 21.082Z" fill="white"/><path d="M14.3662 21.2188C16.6152 21.2188 18.1807 19.7969 18.1807 17.6914C18.1807 15.8115 16.8408 14.4854 14.9541 14.4854C13.9492 14.4854 13.1426 14.8818 12.7393 15.5176H12.6982L12.9307 12.7764H16.8271C17.3467 12.7764 17.6748 12.4551 17.6748 11.9561C17.6748 11.457 17.3398 11.1357 16.8271 11.1357H12.5C11.7002 11.1357 11.2695 11.4707 11.2012 12.3047L10.9141 15.9209C10.9072 15.9551 10.9072 15.9756 10.9072 16.0029C10.8799 16.5566 11.2012 17.0283 11.8779 17.0283C12.3359 17.0283 12.541 16.9258 12.9443 16.5498C13.293 16.2148 13.7852 15.9619 14.373 15.9619C15.4463 15.9619 16.2119 16.7002 16.2119 17.7393C16.2119 18.8057 15.4395 19.5781 14.3662 19.5781C13.4775 19.5781 12.8965 19.1475 12.541 18.4365C12.3086 18.0674 12.0488 17.9238 11.6387 17.9238C11.1055 17.9238 10.7773 18.2383 10.7773 18.7646C10.7773 19.0107 10.8389 19.2227 10.9414 19.4414C11.4336 20.4873 12.8008 21.2188 14.3662 21.2188Z" fill="white"/><path d="M19.9307 21.1436C20.2861 21.1436 20.4844 21.0273 20.7578 20.6035L22.1865 18.457H22.2275L23.6836 20.6377C23.9092 20.9795 24.1006 21.1436 24.4902 21.1436C25.0303 21.1436 25.4404 20.8018 25.4404 20.2617C25.4404 20.043 25.3721 19.8516 25.2217 19.6465L23.5195 17.2949L25.1943 15.0596C25.3857 14.8135 25.4609 14.6152 25.4609 14.3691C25.4609 13.8633 25.085 13.5215 24.5244 13.5215C24.1553 13.5215 23.9434 13.6855 23.6768 14.1025L22.3369 16.1465H22.2959L20.9287 14.0889C20.6621 13.665 20.4502 13.5215 20.0469 13.5215C19.5 13.5215 19.0898 13.8975 19.0898 14.3965C19.0898 14.6289 19.1582 14.8271 19.3018 15.0186L21.0107 17.3496L19.2949 19.6465C19.1035 19.8994 19.0283 20.0908 19.0283 20.3301C19.0283 20.8086 19.4043 21.1436 19.9307 21.1436Z" fill="white"/></svg>`}};t.tag="scandit-camera-fov-ultrawide-icon";var a=t;export{a};
@@ -1 +0,0 @@
1
- import {a as a$1}from'./chunk-PM5CNTBV.js';import {a}from'./chunk-EP3GI7KA.js';import {a as a$2}from'./chunk-KAFNKP6O.js';var v=class extends a{constructor(e){super();this.isHover=false;this._onTouchStart=this.onTouchStart.bind(this);this._onTouchEnd=this.onTouchEnd.bind(this);this._onPointerDown=this.onPointerDown.bind(this);this._onPointerUp=this.onPointerUp.bind(this);this._onPointerEnter=this.onPointerEnter.bind(this);this._onPointerLeave=this.onPointerLeave.bind(this);a$1.detect(),this.element=e,this.setupEventListeners();}removeAllListeners(){this.element.removeEventListener("pointerenter",this._onPointerEnter),this.element.removeEventListener("pointerleave",this._onPointerLeave),a$1.hasApi?(this.element.removeEventListener(a$1.prefixIfNeeded("pointerdown"),this._onPointerDown),this.element.removeEventListener(a$1.prefixIfNeeded("pointerup"),this._onPointerUp)):a$1.hasTouch?(this.element.removeEventListener("touchstart",this._onTouchStart),this.element.removeEventListener("touchend",this._onTouchEnd)):(this.element.removeEventListener("mousedown",this._onPointerDown),this.element.removeEventListener("mouseup",this._onPointerUp)),this._listeners.clear();}setupEventListeners(){a$1.hasApi?(this.element.addEventListener(a$1.prefixIfNeeded("pointerdown"),this._onPointerDown),this.element.addEventListener(a$1.prefixIfNeeded("pointerup"),this._onPointerUp),this.element.addEventListener("pointerenter",this._onPointerEnter),this.element.addEventListener("pointerleave",this._onPointerLeave)):a$1.hasTouch?(this.element.addEventListener("touchstart",this._onTouchStart),this.element.addEventListener("touchend",this._onTouchEnd)):(this.element.addEventListener("mousedown",this._onPointerDown),this.element.addEventListener("mouseup",this._onPointerUp));}onPointerDown(e){let{clientX:t,clientY:n,button:i,currentTarget:h=this.element}=e;i===0&&(this.notifyPress(),this.onTap(this.pointRelativeToElement({clientX:t,clientY:n,rect:h.getBoundingClientRect()}),e));}onPointerUp(e){this.notifyRelease();}onTouchStart(e){let[t]=e.touches,{clientX:n,clientY:i}=t;this.notifyPress(),this.onTap(this.pointRelativeToElement({clientX:n,clientY:i,rect:this.element.getBoundingClientRect()}),e);}onTouchEnd(e){this.notifyRelease();}notifyPress(){var e;for(let t of this.listeners)(e=t.onPress)==null||e.call(t);}notifyRelease(){var e;for(let t of this.listeners)(e=t.onRelease)==null||e.call(t);}onPointerEnter(e){this.isHover=true,this.notifyHover(this.isHover);}onPointerLeave(e){this.isHover=false,this.notifyHover(this.isHover);}notifyHover(e){var t;for(let n of this.listeners)(t=n.onHover)==null||t.call(n,e);}pointRelativeToElement({clientX:e,clientY:t,rect:n}){return new a$2(e-n.left,t-n.top)}onTap(e,t){var n;for(let i of this.listeners)(n=i.onTap)==null||n.call(i,e,t);}};export{v as a};