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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) 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-BnPnXqAt.d.ts → Camera-Cc__1Nc-.d.ts} +2 -0
  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/{DataCaptureContext-LM_Re1B4.d.ts → DataCaptureContext-BcSpF9Dt.d.ts} +2 -1
  10. package/build/js/DataCaptureContext.d.ts +2 -2
  11. package/build/js/DataCaptureContext.js +1 -1
  12. package/build/js/DataCaptureContextRelated.d.ts +2 -2
  13. package/build/js/DataCaptureVersion.js +1 -1
  14. package/build/js/DataCaptureView.d.ts +2 -2
  15. package/build/js/DataCaptureView.js +1 -1
  16. package/build/js/Feedback.js +1 -1
  17. package/build/js/FrameData.d.ts +2 -2
  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 +2 -2
  21. package/build/js/NotificationPresenter/private/ConcreteNotificationPresenter.d.ts +2 -2
  22. package/build/js/NotificationPresenter/private/presets.d.ts +2 -2
  23. package/build/js/ScanditIconBuilder.js +1 -1
  24. package/build/js/SingleImageUploader.d.ts +1 -1
  25. package/build/js/Sound.d.ts +4 -0
  26. package/build/js/Sound.js +1 -1
  27. package/build/js/chunks/chunk-22UMTZI6.js +1 -0
  28. package/build/js/chunks/{chunk-H7FKC2FI.js → chunk-2MK5Y4IL.js} +1 -1
  29. package/build/js/chunks/chunk-6AQGNP4S.js +1 -0
  30. package/build/js/chunks/chunk-6IHWEHG3.js +1 -0
  31. package/build/js/chunks/chunk-AAPD5YU3.js +1 -0
  32. package/build/js/chunks/chunk-AKGGJKCA.js +35 -0
  33. package/build/js/chunks/chunk-EEWGHHL4.js +1 -0
  34. package/build/js/chunks/{chunk-OCKYBUXO.js → chunk-EIOVYBFS.js} +1 -1
  35. package/build/js/chunks/chunk-EYBP3672.js +1 -0
  36. package/build/js/chunks/{chunk-BQO4QYI6.js → chunk-F3Y2X52X.js} +1 -1
  37. package/build/js/chunks/chunk-HHA4HDG5.js +6 -0
  38. package/build/js/chunks/{chunk-RYXKMXTY.js → chunk-HILZP6OW.js} +1 -1
  39. package/build/js/chunks/chunk-LV6LGCDC.js +1 -0
  40. package/build/js/chunks/chunk-NYYGU4ZV.js +1 -0
  41. package/build/js/chunks/{chunk-XVH5A2QH.js → chunk-PDJEYYPX.js} +1 -1
  42. package/build/js/chunks/chunk-QHBYNYWX.js +1 -0
  43. package/build/js/chunks/{chunk-M2ZQCUEL.js → chunk-QHNV2CFJ.js} +1 -1
  44. package/build/js/chunks/{chunk-7EGT56UE.js → chunk-QMLTR5JH.js} +1 -1
  45. package/build/js/chunks/chunk-QWKATH4N.js +1 -0
  46. package/build/js/chunks/chunk-RY2EW3RR.js +1 -0
  47. package/build/js/chunks/{chunk-IVQL2BYY.js → chunk-S2GRD6GO.js} +1 -1
  48. package/build/js/chunks/chunk-SJIN27Q5.js +1 -0
  49. package/build/js/chunks/{chunk-7ZU6DPLL.js → chunk-VWEJFI2M.js} +1 -1
  50. package/build/js/chunks/{chunk-YXXMWHFX.js → chunk-X653DLOR.js} +1 -1
  51. package/build/js/chunks/chunk-Y3TODCJD.js +1 -0
  52. package/build/js/chunks/chunk-ZAXZRQYF.js +1 -0
  53. package/build/js/controls/CameraFOVSwitchControl.d.ts +2 -2
  54. package/build/js/controls/CameraFOVSwitchControl.js +1 -1
  55. package/build/js/controls/CameraSwitchControl.d.ts +2 -2
  56. package/build/js/controls/CameraSwitchControl.js +1 -1
  57. package/build/js/controls/TorchSwitchControl.d.ts +2 -2
  58. package/build/js/controls/TorchSwitchControl.js +1 -1
  59. package/build/js/controls/common.d.ts +2 -2
  60. package/build/js/controls/index.d.ts +2 -2
  61. package/build/js/controls/index.js +1 -1
  62. package/build/js/defaults/DefaultsCamera.d.ts +2 -2
  63. package/build/js/defaults/DefaultsCameraSettings.d.ts +1 -1
  64. package/build/js/global.d.d.ts +1 -0
  65. package/build/js/index.d.ts +2 -2
  66. package/build/js/index.js +1 -1
  67. package/build/js/moduleLoader.d.ts +2 -2
  68. package/build/js/private/CameraAccess.d.ts +1 -1
  69. package/build/js/private/CameraManager.d.ts +2 -2
  70. package/build/js/private/CameraManager.js +1 -1
  71. package/build/js/private/CameraPool.d.ts +3 -2
  72. package/build/js/private/CameraPool.js +1 -1
  73. package/build/js/private/CanvasDrawerWithMetrics.d.ts +2 -2
  74. package/build/js/private/CoreModuleLicenseTextProvider.d.ts +2 -2
  75. package/build/js/private/CoreModuleLicenseTextProvider.js +1 -1
  76. package/build/js/private/DataCaptureContextRelated.d.ts +2 -2
  77. package/build/js/private/FrameReaders/FrameReader.d.ts +2 -2
  78. package/build/js/private/FrameReaders/FrameReader.js +1 -1
  79. package/build/js/private/FrameReaders/FrameReaderAbstract.d.ts +2 -2
  80. package/build/js/private/FrameReaders/GrayScaleFrameReader.d.ts +2 -2
  81. package/build/js/private/FrameReaders/GrayScaleFrameReader.js +1 -1
  82. package/build/js/private/FrameReaders/index.d.ts +2 -2
  83. package/build/js/private/FrameReaders/index.js +1 -1
  84. package/build/js/private/NormalizedModuleLoaderOptions.d.ts +2 -2
  85. package/build/js/private/SingleImageUploaderView.d.ts +2 -2
  86. package/build/js/private/SingleImageUploaderView.js +1 -1
  87. package/build/js/private/ViewControls+related.js +1 -1
  88. package/build/js/private/ViewControls_related.d.ts +2 -2
  89. package/build/js/private/ViewsRegistry.d.ts +2 -2
  90. package/build/js/private/customHowler/AudioCache.d.ts +37 -0
  91. package/build/js/private/customHowler/AudioCache.js +1 -0
  92. package/build/js/private/customHowler/Howl.d.ts +189 -0
  93. package/build/js/private/customHowler/Howl.js +1 -0
  94. package/build/js/private/customHowler/HowlRegistry.d.ts +18 -0
  95. package/build/js/private/customHowler/HowlRegistry.js +1 -0
  96. package/build/js/private/customHowler/Html5Sound.d.ts +52 -0
  97. package/build/js/private/customHowler/Html5Sound.js +1 -0
  98. package/build/js/private/customHowler/UnlockManager.d.ts +39 -0
  99. package/build/js/private/customHowler/UnlockManager.js +1 -0
  100. package/build/js/private/customHowler/WebAudioContextManager.d.ts +161 -0
  101. package/build/js/private/customHowler/WebAudioContextManager.js +1 -0
  102. package/build/js/private/customHowler/debug.d.ts +28 -0
  103. package/build/js/private/customHowler/debug.js +1 -0
  104. package/build/js/private/customHowler/index.d.ts +2 -0
  105. package/build/js/private/customHowler/index.js +1 -0
  106. package/build/js/private/customHowler/setup.d.ts +55 -0
  107. package/build/js/private/customHowler/setup.js +1 -0
  108. package/build/js/private/ui/atoms/Toast.d.ts +2 -2
  109. package/build/js/private/ui/atoms/Toast.js +1 -1
  110. package/build/js/private/ui/molecules/CameraFOVSwitchButton.js +1 -1
  111. package/build/js/private/ui/molecules/CameraSwitchButton.js +1 -1
  112. package/build/js/private/ui/molecules/HintPresenter.d.ts +2 -2
  113. package/build/js/private/ui/molecules/HintPresenter.js +1 -1
  114. package/build/js/private/ui/molecules/TorchSwitchIconButton.d.ts +1 -1
  115. package/build/js/private/ui/molecules/TorchSwitchIconButton.js +1 -1
  116. package/build/js/private/utils/replaceImagesInViewUtils.d.ts +2 -2
  117. package/build/js/worker/ImageConverterForwarder.d.ts +2 -2
  118. package/build/js/worker/ViewInfoHelper.d.ts +2 -2
  119. package/build/js/worker/WorkerMain.d.ts +2 -2
  120. package/build/js/worker/WorkerMain.js +1 -1
  121. package/build/js/worker/coreCapture.inlineWorker.d.ts +2 -2
  122. package/build/js/worker/coreCapture.inlineWorker.js +1 -1
  123. package/build/js/worker/dataCaptureEngine.d.ts +2 -2
  124. package/build/js/worker/dataCaptureEngine.js +1 -1
  125. package/build/js/worker/dataCaptureLoader.d.ts +2 -2
  126. package/build/js/worker/dataCaptureWorkerRelated.d.ts +2 -2
  127. package/build/js/worker/index.d.ts +2 -2
  128. package/build/js/worker/index.js +1 -1
  129. package/package.json +1 -1
  130. package/build/js/chunks/chunk-7JVAQ2A3.js +0 -1
  131. package/build/js/chunks/chunk-BV63CXZF.js +0 -1
  132. package/build/js/chunks/chunk-E7IMQECS.js +0 -35
  133. package/build/js/chunks/chunk-IBDUCVB4.js +0 -1
  134. package/build/js/chunks/chunk-KUAZYGPM.js +0 -1
  135. package/build/js/chunks/chunk-WBYBTOBZ.js +0 -1
  136. package/build/js/chunks/chunk-XW3Z6KKS.js +0 -1
  137. package/build/js/chunks/chunk-YMM2PV73.js +0 -6
  138. package/build/js/private/customHowler.d.ts +0 -27
  139. package/build/js/private/customHowler.js +0 -1
  140. /package/build/js/chunks/{chunk-FHNMZZV2.js → chunk-YRQQE3NR.js} +0 -0
  141. /package/build/js/chunks/{chunk-DQ5X7FNV.js → chunk-ZCEA7BEH.js} +0 -0
@@ -0,0 +1,161 @@
1
+ /// <reference types="emscripten" />
2
+ import { AudioCache } from './AudioCache.js';
3
+
4
+ declare function getAudioCacheInstance(): AudioCache;
5
+ /**
6
+ * Global Web Audio Context manager
7
+ * Manages a single AudioContext instance for efficient audio playback
8
+ *
9
+ * ## iOS Safari Audio Workaround
10
+ *
11
+ * iOS Safari has a known issue where Web Audio API playback may not produce
12
+ * sound on real devices (works fine in simulator). The workaround routes audio
13
+ * through a MediaStreamDestination connected to an HTML5 Audio element:
14
+ *
15
+ * ```
16
+ * AudioBufferSourceNode → GainNode → MediaStreamDestination → HTML5 <audio> → Speakers
17
+ * ```
18
+ *
19
+ * This tricks iOS Safari into treating the audio as a "live stream" (like a video
20
+ * conference), which it allows to play reliably. The HTML5 audio element stays
21
+ * playing continuously, acting as a bridge between Web Audio and the actual speakers.
22
+ *
23
+ * ## Why This Works
24
+ *
25
+ * - iOS Safari blocks standard Web Audio destination output (silently fails)
26
+ * - MediaStreams are treated differently (needed for WebRTC/conferencing)
27
+ * - By routing through MediaStream, iOS allows the audio to reach speakers
28
+ * - Web Audio API still runs off main thread (smooth UI rendering)
29
+ *
30
+ * ## References
31
+ *
32
+ * - Community workaround: https://www.reddit.com/r/webdev/comments/1ldjqa1/comment/mymw7v3/
33
+ * - Used for background audio, PWAs, and continuous scanning scenarios
34
+ */
35
+ declare class WebAudioContextManager {
36
+ private audioContext;
37
+ private isUnlocked;
38
+ private unlockPromise;
39
+ private unlockAttempts;
40
+ private readonly MAX_UNLOCK_ATTEMPTS;
41
+ private lastKnownSampleRate;
42
+ /** iOS-specific: MediaStreamDestination for routing audio */
43
+ private mediaStreamDestination;
44
+ /** iOS-specific: HTML5 audio element that plays the MediaStream */
45
+ private streamAudioElement;
46
+ private handlerStreamAudioElementError;
47
+ private handlerStreamAudioElementPause;
48
+ /**
49
+ * Get the AudioContext (must be created via unlock first on iOS)
50
+ *
51
+ * ## Sample Rate: Native Hardware Rate
52
+ *
53
+ * We let the browser use its native sample rate to prevent pitch shifting:
54
+ *
55
+ * **The Problem with Forcing 44.1kHz:**
56
+ * - iOS may ignore the sampleRate parameter in AudioContext constructor
57
+ * - This creates a mismatch between requested (44.1kHz) and actual sample rate
58
+ * - When AudioContext uses different rate than what we requested, audio plays at wrong pitch
59
+ * - This happens especially on iOS with dynamic audio routing
60
+ *
61
+ * **The Solution:**
62
+ * - Let the browser choose its native sample rate (no sampleRate parameter)
63
+ * - Detect the actual sample rate and remember it
64
+ * - If sample rate changes during session, recreate context to match
65
+ * - Web Audio API automatically resamples audio buffers to match
66
+ * - Sound quality remains identical (transparent resampling)
67
+ *
68
+ * **Why This Works:**
69
+ * - AudioContext will use the hardware's preferred rate
70
+ * - No mismatch between requested and actual rates
71
+ * - Prevents pitch shifting caused by rate mismatches
72
+ * - More stable across different iOS devices and configurations
73
+ */
74
+ getContext(): AudioContext;
75
+ /**
76
+ * Get the audio destination node.
77
+ *
78
+ * On iOS: Returns MediaStreamDestination routed through HTML5 Audio element
79
+ * On other platforms: Returns the standard AudioContext destination
80
+ *
81
+ * ## iOS MediaStreamDestination Workaround
82
+ *
83
+ * Why we need this:
84
+ * - iOS Safari silently blocks Web Audio API output on real devices
85
+ * - The AudioContext reports "running" and source.start() succeeds
86
+ * - But no sound reaches the speakers (works fine in iOS Simulator)
87
+ *
88
+ * The solution:
89
+ * 1. Create a MediaStreamDestination node from the AudioContext
90
+ * 2. Create an HTML5 <audio> element
91
+ * 3. Connect the audio element to the MediaStream via srcObject
92
+ * 4. Start playing the audio element (it plays continuously as a live stream)
93
+ * 5. Route all audio through this destination instead of context.destination
94
+ *
95
+ * Result:
96
+ * - iOS Safari treats this as a "live stream" (like WebRTC)
97
+ * - Live streams are allowed to play reliably on iOS
98
+ * - The <audio> element acts as a bridge to the speakers
99
+ * - Individual sounds play through the stream as they're triggered
100
+ *
101
+ * ## Lifecycle & Resource Management
102
+ *
103
+ * The stream audio element plays continuously for the page lifetime. This is
104
+ * intentional because:
105
+ * - Recreating it requires a user gesture on iOS (can't do on-demand)
106
+ * - Resource usage is minimal when no audio is playing through it
107
+ * - Stopping and restarting could fail due to iOS autoplay restrictions
108
+ *
109
+ * The element can be cleaned up by calling dispose() if needed, but this will
110
+ * require a new user gesture to re-enable audio on iOS.
111
+ *
112
+ * Error handling: If the stream stops or errors unexpectedly, it automatically
113
+ * attempts to restart to maintain audio functionality.
114
+ *
115
+ * @returns AudioDestinationNode (desktop) or MediaStreamAudioDestinationNode (iOS)
116
+ */
117
+ getDestination(): AudioDestinationNode | MediaStreamAudioDestinationNode;
118
+ onStreamAudioElementError(): void;
119
+ onStreamAudioElementPause(): void;
120
+ /**
121
+ * Create AudioContext (must be called synchronously during a user gesture on iOS)
122
+ */
123
+ private createContext;
124
+ /**
125
+ * Unlock audio playback on iOS/mobile during user gesture.
126
+ *
127
+ * ## iOS Safari Requirements
128
+ *
129
+ * iOS Safari requires explicit user interaction before audio can play:
130
+ *
131
+ * 1. **AudioContext must be created during a user gesture**
132
+ * - Creating it later (async) will result in silent playback
133
+ * - Must happen in synchronous event handler (touchstart, click, etc.)
134
+ *
135
+ * 2. **AudioContext.resume() must be called during a user gesture**
136
+ * - Even if state is "running", calling resume() during gesture is required
137
+ * - Must be initiated synchronously (can complete asynchronously)
138
+ *
139
+ * 3. **Actual audio playback must occur during the unlock**
140
+ * - Just creating and resuming context isn't enough
141
+ * - Must play a buffer (even silent) to truly unlock audio
142
+ *
143
+ * ## Implementation Flow
144
+ *
145
+ * 1. User taps screen (event handler runs synchronously)
146
+ * 2. Create AudioContext synchronously
147
+ * 3. Call context.resume() synchronously (completes async)
148
+ * 4. This async method plays a silent scratch buffer
149
+ * 5. On iOS, this creates MediaStreamDestination on first call
150
+ * 6. Mark as unlocked after successful playback
151
+ *
152
+ * @returns Promise that resolves when unlock is complete
153
+ */
154
+ unlock(): Promise<void>;
155
+ /**
156
+ * Get the unlock status
157
+ */
158
+ get unlocked(): boolean;
159
+ }
160
+
161
+ export { WebAudioContextManager, getAudioCacheInstance };
@@ -0,0 +1 @@
1
+ export{c as WebAudioContextManager,a as createAudioContext,b as getAudioCacheInstance}from'../../chunks/chunk-Y3TODCJD.js';
@@ -0,0 +1,28 @@
1
+ /// <reference types="emscripten" />
2
+ /**
3
+ * Debug logging wrapper - only logs when DEBUG is enabled
4
+ *
5
+ * Used for diagnostic information that helps troubleshoot audio issues.
6
+ * These logs are verbose and should not appear in production.
7
+ *
8
+ * ## Build-Time Configuration
9
+ *
10
+ * Enable debug logging by building with:
11
+ * ```bash
12
+ * DEBUG_AUDIO=true npm run build
13
+ * ```
14
+ *
15
+ * ## Debug Symbols
16
+ *
17
+ * - 🎧 Unlock event listener setup
18
+ * - 👆 User interaction detection
19
+ * - 🎵 AudioContext creation
20
+ * - 🔓 Unlock process (context resume, scratch buffer playback)
21
+ * - 🔊 Audio playback state, buffer data, and routing details
22
+ * - ✅ Success indicators
23
+ * - ⚠️ Warnings for potential issues
24
+ * - ❌ Error indicators
25
+ */
26
+ declare const debugLog: CallableFunction | undefined;
27
+
28
+ export { debugLog };
@@ -0,0 +1 @@
1
+ export{a as debugLog}from'../../chunks/chunk-SJIN27Q5.js';
@@ -0,0 +1,2 @@
1
+ /// <reference types="emscripten" />
2
+ export { Howl, HowlOptions } from './Howl.js';
@@ -0,0 +1 @@
1
+ export{a as disposeGlobalAudioContext,c as ensureUnlockSetup,b as resetGlobalAudioContext}from'../../chunks/chunk-6AQGNP4S.js';export{a as Howl}from'../../chunks/chunk-EEWGHHL4.js';
@@ -0,0 +1,55 @@
1
+ /// <reference types="emscripten" />
2
+ import { WebAudioContextManager } from './WebAudioContextManager.js';
3
+ import './AudioCache.js';
4
+
5
+ /**
6
+ * Get or create the global audio context manager
7
+ * NOTE: Does NOT create AudioContext yet - that happens during unlock
8
+ */
9
+ declare function getGlobalAudioContext(): WebAudioContextManager;
10
+ /**
11
+ * Setup unlock handlers - can be called multiple times safely
12
+ *
13
+ * ## When This Is Called
14
+ *
15
+ * This function is called in:
16
+ *
17
+ * DataCaptureContext.forLicenseKey() - During SDK initialization
18
+ *
19
+ * ## Why This Exists
20
+ *
21
+ * iOS Safari and modern browsers require user interaction before audio can play
22
+ * (autoplay policy). This function sets up event listeners for user gestures that
23
+ * will unlock audio playback.
24
+ *
25
+ * ## Event Listener Strategy
26
+ *
27
+ * Listens for: touchstart, touchend, click, keydown (same as howler.js)
28
+ * - Uses capture phase (true) to catch events early
29
+ * - Removes all listeners after first unlock (one-time setup)
30
+ *
31
+ * ## Synchronous vs Asynchronous Operations
32
+ *
33
+ * The unlock process has two phases:
34
+ *
35
+ * **Phase 1 - Synchronous (in event handler, during user gesture):**
36
+ * - Create AudioContext (iOS requirement)
37
+ * - Initiate context.resume() (iOS requirement)
38
+ * - These MUST happen synchronously or iOS will block audio
39
+ *
40
+ * **Phase 2 - Asynchronous (after event handler returns):**
41
+ * - Wait for resume() to complete
42
+ * - Play silent scratch buffer to verify unlock
43
+ * - Create MediaStreamDestination (iOS)
44
+ * - Mark as unlocked
45
+ *
46
+ * ## Why Synchronous Execution is Critical
47
+ *
48
+ * iOS Safari only allows certain audio operations during the synchronous
49
+ * execution of a user event handler. If we wait for promises or use async/await,
50
+ * the event handler returns and iOS considers the "user gesture context" to be over.
51
+ * Any audio operations after that point will be silently blocked.
52
+ */
53
+ declare function ensureUnlockSetup(): void;
54
+
55
+ export { ensureUnlockSetup, getGlobalAudioContext };
@@ -0,0 +1 @@
1
+ export{b as disposeGlobalAudioContext,d as ensureUnlockSetup,a as getGlobalAudioContext,c as resetGlobalAudioContext}from'../../chunks/chunk-22UMTZI6.js';
@@ -1,8 +1,8 @@
1
1
  /// <reference types="emscripten" />
2
- import { N as GenericHint } from '../../../DataCaptureContext-LM_Re1B4.js';
2
+ import { N as GenericHint } from '../../../DataCaptureContext-BcSpF9Dt.js';
3
3
  import { ScanditIcon } from '../../../ScanditIcon.js';
4
4
  import { ScanditHTMLElement } from '../../utils/ScanditHTMLElement.js';
5
- import '../../../Camera-BnPnXqAt.js';
5
+ import '../../../Camera-Cc__1Nc-.js';
6
6
  import '../../../commons/Rect.js';
7
7
  import '../../Serializable.js';
8
8
  import '../../../commons/Point.js';
@@ -1 +1 @@
1
- export{b as Toast,a as ToastEvents}from'../../../chunks/chunk-XVH5A2QH.js';
1
+ export{b as Toast,a as ToastEvents}from'../../../chunks/chunk-PDJEYYPX.js';
@@ -1 +1 @@
1
- import {a as a$7}from'../../../chunks/chunk-74GO72VC.js';import {a as a$2}from'../../../chunks/chunk-SSTFVERQ.js';import {a as a$3}from'../../../chunks/chunk-WJOT37ST.js';import {a as a$6}from'../../../chunks/chunk-XIAF6V7E.js';import {a as a$1}from'../../../chunks/chunk-UWBNF47P.js';import {a}from'../../../chunks/chunk-EV4OEANA.js';import {a as a$4}from'../../../chunks/chunk-3A4KLILV.js';import {a as a$5}from'../../../chunks/chunk-LSZZVJ6B.js';var i=class i extends a{constructor(){super();this._currentMode="1.0x";this._ariaLabel="Switch camera field of view";this._useCustomImages=false;let e=this.attachShadow({mode:"open"});e.innerHTML=a$1`<button type="button"><slot></slot></button>`,e.append(i.createStyleElement().cloneNode(true));}get button(){var e,t;return (t=(e=this.shadowRoot)==null?void 0:e.querySelector("button"))!=null?t:void 0}get wideIcon(){var e;return (e=this.querySelector(a$2.tag))!=null?e:void 0}get ultraWideIcon(){var e;return (e=this.querySelector(a$3.tag))!=null?e:void 0}static create(){return document.createElement(i.tag)}static register(){a$4({[i.tag]:i});}static createStyleElement(){return a$5`:host{display:inline-block;--button-size:32px;--camera-fov-wide-idle:none;--camera-fov-wide-pressed:none;--camera-fov-ultrawide-idle:none;--camera-fov-ultrawide-pressed:none}:host[hidden]{display:none}button{align-items:center;border:none;cursor:pointer;display:flex;height:var(--button-size);justify-content:center;margin:0;outline:none;padding:0;width:var(--button-size);-webkit-tap-highlight-color:transparent;background:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;transform-origin:center;transition:outline .2s ease-in-out,transform .1s ease-in-out}button[data-pressed=true]{transform:scale(.95)}button[data-pressed=false]{transform:scale(1)}:host button:focus-visible{outline:2px solid #06c;outline-offset:2px}:host([data-use-custom-images=true]) ::slotted(*){display:none!important}:host([data-use-custom-images=true]) button{background-image:var(--camera-fov-wide-idle)}:host([data-use-custom-images=true]) button[data-pressed=true]{background-image:var(--camera-fov-wide-pressed)}:host([data-use-custom-images=true][data-current-mode="0.5x"]) button{background-image:var(--camera-fov-ultrawide-idle)}:host([data-use-custom-images=true][data-current-mode="0.5x"]) button[data-pressed=true]{background-image:var(--camera-fov-ultrawide-pressed)}`}connectedCallback(){if(!this.button)return;this.setupButtonWithSvgIcons();let e=this.button;!this._gestureRecognizer&&e&&(this._gestureRecognizer=new a$6(e),this._gestureRecognizer.addListener(this)),this.setAttribute("aria-label",this._ariaLabel);}setupButtonWithSvgIcons(){if(this.button){if(a$2.register(),a$3.register(),!this.wideIcon){let e=a$2.create();e.style.display="flex",this.appendChild(e);}if(!this.ultraWideIcon){let e=a$3.create();e.style.display="none",this.appendChild(e);}}}disconnectedCallback(){this._gestureRecognizer&&(this._gestureRecognizer.removeAllListeners(),this._gestureRecognizer=void 0);}set mode(e){e!=="0.5x"&&e!=="1.0x"||(this._currentMode=e,this.setAttribute("data-current-mode",e),this.updateIconVisibility());}get mode(){return this._currentMode}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.setAttribute("aria-label",e);}set useCustomImages(e){this._useCustomImages=e,e?this.setAttribute("data-use-custom-images","true"):this.removeAttribute("data-use-custom-images");}setCustomImages(e){let t=this.style,p=e.wide.idle?`url(${JSON.stringify(e.wide.idle)})`:"none",m=e.wide.pressed?`url(${JSON.stringify(e.wide.pressed)})`:"none",g=e.ultraWide.idle?`url(${JSON.stringify(e.ultraWide.idle)})`:"none",b=e.ultraWide.pressed?`url(${JSON.stringify(e.ultraWide.pressed)})`:"none";t.setProperty("--camera-fov-wide-idle",p),t.setProperty("--camera-fov-wide-pressed",m),t.setProperty("--camera-fov-ultrawide-idle",g),t.setProperty("--camera-fov-ultrawide-pressed",b),this.useCustomImages=true;}updateIconVisibility(){let e=this.wideIcon,t=this.ultraWideIcon;!e||!t||(this._currentMode==="0.5x"?(e.style.display="none",t.style.display="flex"):(e.style.display="flex",t.style.display="none"));}onTap(){this.dispatchEvent(new a$7({currentMode:this._currentMode}));}onPress(){let e=this.button;e&&e.setAttribute("data-pressed","true");}onRelease(){let e=this.button;e&&e.setAttribute("data-pressed","false");}};i.tag="scandit-camera-fov-switch-button";var c=i;export{c as CameraFOVSwitchButton};
1
+ import {a as a$3}from'../../../chunks/chunk-WJOT37ST.js';import {a as a$2}from'../../../chunks/chunk-SSTFVERQ.js';import {a as a$7}from'../../../chunks/chunk-74GO72VC.js';import {a as a$6}from'../../../chunks/chunk-XIAF6V7E.js';import {a as a$1}from'../../../chunks/chunk-UWBNF47P.js';import {a}from'../../../chunks/chunk-EV4OEANA.js';import {a as a$4}from'../../../chunks/chunk-3A4KLILV.js';import {a as a$5}from'../../../chunks/chunk-LSZZVJ6B.js';var i=class i extends a{constructor(){super();this._currentMode="1.0x";this._ariaLabel="Switch camera field of view";this._useCustomImages=false;let e=this.attachShadow({mode:"open"});e.innerHTML=a$1`<button type="button"><slot></slot></button>`,e.append(i.createStyleElement().cloneNode(true));}get button(){var e,t;return (t=(e=this.shadowRoot)==null?void 0:e.querySelector("button"))!=null?t:void 0}get wideIcon(){var e;return (e=this.querySelector(a$2.tag))!=null?e:void 0}get ultraWideIcon(){var e;return (e=this.querySelector(a$3.tag))!=null?e:void 0}static create(){return document.createElement(i.tag)}static register(){a$4({[i.tag]:i});}static createStyleElement(){return a$5`:host{display:inline-block;--button-size:32px;--camera-fov-wide-idle:none;--camera-fov-wide-pressed:none;--camera-fov-ultrawide-idle:none;--camera-fov-ultrawide-pressed:none}:host[hidden]{display:none}button{align-items:center;border:none;cursor:pointer;display:flex;height:var(--button-size);justify-content:center;margin:0;outline:none;padding:0;width:var(--button-size);-webkit-tap-highlight-color:transparent;background:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;transform-origin:center;transition:outline .2s ease-in-out,transform .1s ease-in-out}button[data-pressed=true]{transform:scale(.95)}button[data-pressed=false]{transform:scale(1)}:host button:focus-visible{outline:2px solid #06c;outline-offset:2px}:host([data-use-custom-images=true]) ::slotted(*){display:none!important}:host([data-use-custom-images=true]) button{background-image:var(--camera-fov-wide-idle)}:host([data-use-custom-images=true]) button[data-pressed=true]{background-image:var(--camera-fov-wide-pressed)}:host([data-use-custom-images=true][data-current-mode="0.5x"]) button{background-image:var(--camera-fov-ultrawide-idle)}:host([data-use-custom-images=true][data-current-mode="0.5x"]) button[data-pressed=true]{background-image:var(--camera-fov-ultrawide-pressed)}`}connectedCallback(){if(!this.button)return;this.setupButtonWithSvgIcons();let e=this.button;!this._gestureRecognizer&&e&&(this._gestureRecognizer=new a$6(e),this._gestureRecognizer.addListener(this)),this.setAttribute("aria-label",this._ariaLabel);}setupButtonWithSvgIcons(){if(this.button){if(a$2.register(),a$3.register(),!this.wideIcon){let e=a$2.create();e.style.display="flex",this.appendChild(e);}if(!this.ultraWideIcon){let e=a$3.create();e.style.display="none",this.appendChild(e);}}}disconnectedCallback(){this._gestureRecognizer&&(this._gestureRecognizer.removeAllListeners(),this._gestureRecognizer=void 0);}set mode(e){e!=="0.5x"&&e!=="1.0x"||(this._currentMode=e,this.setAttribute("data-current-mode",e),this.updateIconVisibility());}get mode(){return this._currentMode}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.setAttribute("aria-label",e);}set useCustomImages(e){this._useCustomImages=e,e?this.setAttribute("data-use-custom-images","true"):this.removeAttribute("data-use-custom-images");}setCustomImages(e){let t=this.style,p=e.wide.idle?`url(${JSON.stringify(e.wide.idle)})`:"none",m=e.wide.pressed?`url(${JSON.stringify(e.wide.pressed)})`:"none",g=e.ultraWide.idle?`url(${JSON.stringify(e.ultraWide.idle)})`:"none",b=e.ultraWide.pressed?`url(${JSON.stringify(e.ultraWide.pressed)})`:"none";t.setProperty("--camera-fov-wide-idle",p),t.setProperty("--camera-fov-wide-pressed",m),t.setProperty("--camera-fov-ultrawide-idle",g),t.setProperty("--camera-fov-ultrawide-pressed",b),this.useCustomImages=true;}updateIconVisibility(){let e=this.wideIcon,t=this.ultraWideIcon;!e||!t||(this._currentMode==="0.5x"?(e.style.display="none",t.style.display="flex"):(e.style.display="flex",t.style.display="none"));}onTap(){this.dispatchEvent(new a$7({currentMode:this._currentMode}));}onPress(){let e=this.button;e&&e.setAttribute("data-pressed","true");}onRelease(){let e=this.button;e&&e.setAttribute("data-pressed","false");}};i.tag="scandit-camera-fov-switch-button";var c=i;export{c as CameraFOVSwitchButton};
@@ -1 +1 @@
1
- import {b}from'../../../chunks/chunk-74GO72VC.js';import {a as a$3}from'../../../chunks/chunk-BSX3V75N.js';import {a as a$2}from'../../../chunks/chunk-A3ZT7PJA.js';import {a as a$6}from'../../../chunks/chunk-XIAF6V7E.js';import {a as a$7}from'../../../chunks/chunk-SGL5J2CI.js';import {a as a$1}from'../../../chunks/chunk-UWBNF47P.js';import {a}from'../../../chunks/chunk-EV4OEANA.js';import {a as a$4}from'../../../chunks/chunk-3A4KLILV.js';import {a as a$5}from'../../../chunks/chunk-LSZZVJ6B.js';var i=class i extends a{constructor(){super();this._currentMode="back";this._ariaLabel="Switch camera";this._useCustomImages=false;let t=this.attachShadow({mode:"open"});t.innerHTML=a$1`<button type="button"><slot></slot></button>`,t.append(i.createStyleElement().cloneNode(true));}get button(){var t,e;return (e=(t=this.shadowRoot)==null?void 0:t.querySelector("button"))!=null?e:void 0}get frontIcon(){var t;return (t=this.querySelector(a$2.tag))!=null?t:void 0}get backIcon(){var t;return (t=this.querySelector(a$3.tag))!=null?t:void 0}static create(){return document.createElement(i.tag)}static register(){a$4({[i.tag]:i});}static createStyleElement(){return a$5`:host{display:inline-block;--button-size:32px;--camera-switch-idle:none;--camera-switch-pressed:none}:host[hidden]{display:none}button{align-items:center;border:none;cursor:pointer;display:flex;height:var(--button-size);justify-content:center;margin:0;outline:none;padding:0;width:var(--button-size);-webkit-tap-highlight-color:transparent;background:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;opacity:1;transform-origin:center;transition:outline .2s ease-in-out,transform .1s ease-in-out}button[data-pressed=true]{transform:scale(.95)}button[data-pressed=false]{transform:scale(1)}:host button:focus-visible{outline:2px solid #06c;outline-offset:2px}:host([data-use-custom-images=true]) ::slotted(*){display:none!important}:host([data-use-custom-images=true]) button{background-image:var(--camera-switch-idle)}:host([data-use-custom-images=true]) button[data-pressed=true]{background-image:var(--camera-switch-pressed)}`}connectedCallback(){this.button&&(this.setupButtonWithSvgIcons(),!this._gestureRecognizer&&this.button&&(this._gestureRecognizer=new a$6(this.button),this._gestureRecognizer.addListener(this)),this.setAttribute("aria-label",this._ariaLabel));}setupButtonWithSvgIcons(){if(!this.button)return;a$2.register(),a$3.register();let t=a$7.fromHex("#FFFFFF");if(!this.frontIcon){let e=a$2.create();e.fill=`#${t.toJSON()}`,e.style.display="flex",this.appendChild(e);}if(!this.backIcon){let e=a$3.create();e.fill=`#${t.toJSON()}`,e.style.display="none",this.appendChild(e);}}disconnectedCallback(){this._gestureRecognizer&&(this._gestureRecognizer.removeAllListeners(),this._gestureRecognizer=void 0);}set mode(t){t!=="front"&&t!=="back"||(this._currentMode=t,this.updateIconVisibility());}get mode(){return this._currentMode}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){this._ariaLabel=t,this.setAttribute("aria-label",t);}set useCustomImages(t){this._useCustomImages=t,t?this.setAttribute("data-use-custom-images","true"):this.removeAttribute("data-use-custom-images");}setCustomImages(t){let e=this.style,h=t.idle?`url(${JSON.stringify(t.idle)})`:"none",m=t.pressed?`url(${JSON.stringify(t.pressed)})`:"none";e.setProperty("--camera-switch-idle",h),e.setProperty("--camera-switch-pressed",m),this.useCustomImages=true;}updateIconVisibility(){let t=this.frontIcon,e=this.backIcon;!t||!e||(this._currentMode==="back"?(t.style.display="none",e.style.display="flex"):(t.style.display="flex",e.style.display="none"));}onTap(){this.dispatchEvent(new b({currentMode:this._currentMode}));}onPress(){let t=this.button;t&&t.setAttribute("data-pressed","true");}onRelease(){let t=this.button;t&&t.setAttribute("data-pressed","false");}};i.tag="scandit-camera-switch-button";var p=i;export{p as CameraSwitchButton};
1
+ import {a as a$3}from'../../../chunks/chunk-BSX3V75N.js';import {a as a$2}from'../../../chunks/chunk-A3ZT7PJA.js';import {b}from'../../../chunks/chunk-74GO72VC.js';import {a as a$6}from'../../../chunks/chunk-XIAF6V7E.js';import {a as a$7}from'../../../chunks/chunk-SGL5J2CI.js';import {a as a$1}from'../../../chunks/chunk-UWBNF47P.js';import {a}from'../../../chunks/chunk-EV4OEANA.js';import {a as a$4}from'../../../chunks/chunk-3A4KLILV.js';import {a as a$5}from'../../../chunks/chunk-LSZZVJ6B.js';var i=class i extends a{constructor(){super();this._currentMode="back";this._ariaLabel="Switch camera";this._useCustomImages=false;let t=this.attachShadow({mode:"open"});t.innerHTML=a$1`<button type="button"><slot></slot></button>`,t.append(i.createStyleElement().cloneNode(true));}get button(){var t,e;return (e=(t=this.shadowRoot)==null?void 0:t.querySelector("button"))!=null?e:void 0}get frontIcon(){var t;return (t=this.querySelector(a$2.tag))!=null?t:void 0}get backIcon(){var t;return (t=this.querySelector(a$3.tag))!=null?t:void 0}static create(){return document.createElement(i.tag)}static register(){a$4({[i.tag]:i});}static createStyleElement(){return a$5`:host{display:inline-block;--button-size:32px;--camera-switch-idle:none;--camera-switch-pressed:none}:host[hidden]{display:none}button{align-items:center;border:none;cursor:pointer;display:flex;height:var(--button-size);justify-content:center;margin:0;outline:none;padding:0;width:var(--button-size);-webkit-tap-highlight-color:transparent;background:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;opacity:1;transform-origin:center;transition:outline .2s ease-in-out,transform .1s ease-in-out}button[data-pressed=true]{transform:scale(.95)}button[data-pressed=false]{transform:scale(1)}:host button:focus-visible{outline:2px solid #06c;outline-offset:2px}:host([data-use-custom-images=true]) ::slotted(*){display:none!important}:host([data-use-custom-images=true]) button{background-image:var(--camera-switch-idle)}:host([data-use-custom-images=true]) button[data-pressed=true]{background-image:var(--camera-switch-pressed)}`}connectedCallback(){this.button&&(this.setupButtonWithSvgIcons(),!this._gestureRecognizer&&this.button&&(this._gestureRecognizer=new a$6(this.button),this._gestureRecognizer.addListener(this)),this.setAttribute("aria-label",this._ariaLabel));}setupButtonWithSvgIcons(){if(!this.button)return;a$2.register(),a$3.register();let t=a$7.fromHex("#FFFFFF");if(!this.frontIcon){let e=a$2.create();e.fill=`#${t.toJSON()}`,e.style.display="flex",this.appendChild(e);}if(!this.backIcon){let e=a$3.create();e.fill=`#${t.toJSON()}`,e.style.display="none",this.appendChild(e);}}disconnectedCallback(){this._gestureRecognizer&&(this._gestureRecognizer.removeAllListeners(),this._gestureRecognizer=void 0);}set mode(t){t!=="front"&&t!=="back"||(this._currentMode=t,this.updateIconVisibility());}get mode(){return this._currentMode}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){this._ariaLabel=t,this.setAttribute("aria-label",t);}set useCustomImages(t){this._useCustomImages=t,t?this.setAttribute("data-use-custom-images","true"):this.removeAttribute("data-use-custom-images");}setCustomImages(t){let e=this.style,h=t.idle?`url(${JSON.stringify(t.idle)})`:"none",m=t.pressed?`url(${JSON.stringify(t.pressed)})`:"none";e.setProperty("--camera-switch-idle",h),e.setProperty("--camera-switch-pressed",m),this.useCustomImages=true;}updateIconVisibility(){let t=this.frontIcon,e=this.backIcon;!t||!e||(this._currentMode==="back"?(t.style.display="none",e.style.display="flex"):(t.style.display="flex",e.style.display="none"));}onTap(){this.dispatchEvent(new b({currentMode:this._currentMode}));}onPress(){let t=this.button;t&&t.setAttribute("data-pressed","true");}onRelease(){let t=this.button;t&&t.setAttribute("data-pressed","false");}};i.tag="scandit-camera-switch-button";var p=i;export{p as CameraSwitchButton};
@@ -2,12 +2,12 @@
2
2
  import '../../../ScanditIcon.js';
3
3
  import '../../utils/ScanditHTMLElement.js';
4
4
  import '../../../commons/Rect.js';
5
- export { H as HintPresenter, bs as HintPresenterEvents } from '../../../DataCaptureContext-LM_Re1B4.js';
5
+ export { H as HintPresenter, bs as HintPresenterEvents } from '../../../DataCaptureContext-BcSpF9Dt.js';
6
6
  import '../../../commons/Color.js';
7
7
  import '../../Serializable.js';
8
8
  import '../../../commons/Point.js';
9
9
  import '../../../commons/Size.js';
10
- import '../../../Camera-BnPnXqAt.js';
10
+ import '../../../Camera-Cc__1Nc-.js';
11
11
  import '../../privateAccess.js';
12
12
  import '../../../DataCaptureContextSettings.js';
13
13
  import '../../../commons/JSONType.js';
@@ -1 +1 @@
1
- export{b as HintPresenter,a as HintPresenterEvents}from'../../../chunks/chunk-RYXKMXTY.js';
1
+ export{b as HintPresenter,a as HintPresenterEvents}from'../../../chunks/chunk-HILZP6OW.js';
@@ -1,5 +1,5 @@
1
1
  /// <reference types="emscripten" />
2
- import { T as TorchState } from '../../../Camera-BnPnXqAt.js';
2
+ import { T as TorchState } from '../../../Camera-Cc__1Nc-.js';
3
3
  import { GestureRecognizerListener } from '../../GestureRecognizer/GestureRecognizer.js';
4
4
  import { ScanditHTMLElement } from '../../utils/ScanditHTMLElement.js';
5
5
  import '../../../commons/Rect.js';
@@ -1 +1 @@
1
- import {c}from'../../../chunks/chunk-74GO72VC.js';import {a as a$3}from'../../../chunks/chunk-NMXQDQYI.js';import {a as a$2}from'../../../chunks/chunk-SX5ZLP2O.js';import {a as a$7}from'../../../chunks/chunk-XIAF6V7E.js';import {a as a$6}from'../../../chunks/chunk-SGL5J2CI.js';import {a as a$1}from'../../../chunks/chunk-UWBNF47P.js';import {a}from'../../../chunks/chunk-EV4OEANA.js';import {a as a$4}from'../../../chunks/chunk-3A4KLILV.js';import {a as a$5}from'../../../chunks/chunk-LSZZVJ6B.js';var s=class s extends a{constructor(){super();this._size=32;this._shadow=false;this._ariaLabel="Toggle torch";this._useCustomImages=false;let t=this.attachShadow({mode:"open"});t.innerHTML=a$1`<button><slot></slot></button>`,t.append(s.createStyleElement().cloneNode(true));}get button(){var t,e;return (e=(t=this.shadowRoot)==null?void 0:t.querySelector("button"))!=null?e:void 0}get onIcon(){var t;return (t=this.querySelector(a$2.tag))!=null?t:void 0}get offIcon(){var t;return (t=this.querySelector(a$3.tag))!=null?t:void 0}set size(t){this._size=t;let e=this.onIcon,o=this.offIcon;e&&(e.size=this._size),o&&(o.size=this._size);}get size(){return this._size}set shadow(t){this._shadow=t;let e=this.onIcon,o=this.offIcon;e&&e.toggleAttribute("shadow",this._shadow),o&&o.toggleAttribute("shadow",this._shadow);}get shadow(){return this._shadow}get state(){var t;return (t=this.getAttribute("state"))!=null?t:"off"}set state(t){this.setAttribute("state",t),this.setAttribute("aria-pressed",t==="on"?"true":"false");}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){this._ariaLabel=t,this.setAttribute("aria-label",t);}set useCustomImages(t){this._useCustomImages=t,t?this.setAttribute("data-use-custom-images","true"):this.removeAttribute("data-use-custom-images");}setCustomImages(t){let e=this.style,o=t.on.idle?`url(${JSON.stringify(t.on.idle)})`:"none",i=t.on.pressed?`url(${JSON.stringify(t.on.pressed)})`:"none",n=t.off.idle?`url(${JSON.stringify(t.off.idle)})`:"none",b=t.off.pressed?`url(${JSON.stringify(t.off.pressed)})`:"none";e.setProperty("--torch-on-idle",o),e.setProperty("--torch-on-pressed",i),e.setProperty("--torch-off-idle",n),e.setProperty("--torch-off-pressed",b),this.useCustomImages=true;}static create(){return document.createElement(s.tag)}static register(){a$4({[s.tag]:s});}static createStyleElement(){return a$5`:host{display:inline-block;--button-size:32px;--torch-on-idle:none;--torch-on-pressed:none;--torch-off-idle:none;--torch-off-pressed:none}:host[hidden]{display:none}:host button{align-items:center;background:none;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;cursor:pointer;display:flex;height:var(--button-size);justify-content:center;margin:0;opacity:1;outline:none;padding:0;width:var(--button-size);-webkit-tap-highlight-color:transparent;transform-origin:center;transition:outline .2s ease-in-out,opacity .2s ease-in-out,transform .1s ease-in-out}:host([state=off]) button{opacity:.5}button[data-pressed=true]{transform:scale(.95)}button[data-pressed=false]{transform:scale(1)}:host button:focus-visible{outline:2px solid #06c;outline-offset:2px}:host([data-use-custom-images=true]) ::slotted(*){display:none!important}:host([data-use-custom-images=true][state=on]) button{background-image:var(--torch-on-idle)}:host([data-use-custom-images=true][state=on]) button[data-pressed=true]{background-image:var(--torch-on-pressed)}:host([data-use-custom-images=true][state=off]) button{background-image:var(--torch-off-idle)}:host([data-use-custom-images=true][state=off]) button[data-pressed=true]{background-image:var(--torch-off-pressed)}`}connectedCallback(){if(!this.button)return;if(a$2.register(),a$3.register(),!this.onIcon||!this.offIcon){let o=a$6.fromHex("#FFFFFF"),i=a$2.create(),n=a$3.create();i.toggleAttribute("shadow",this._shadow),n.toggleAttribute("shadow",this._shadow),i.size=this._size,n.size=this._size,n.fill=`#${o.toJSON()}`,i.fill=`#${o.toJSON()}`,this.appendChild(i),this.appendChild(n);}let t="off";(this.getAttribute("state")==="on"||this.getAttribute("state")==="off")&&(t=this.getAttribute("state")),this.state=t;let e=this.button;!this._gestureRecognizer&&e&&(this._gestureRecognizer=new a$7(e),this._gestureRecognizer.addListener(this)),this.setAttribute("aria-label",this._ariaLabel),this.setAttribute("aria-pressed",t==="on"?"true":"false");}attributeChangedCallback(t,e,o){t==="state"&&this.render(o);}render(t){let e=this.onIcon,o=this.offIcon;t==="on"?(o!=null&&(o.style.display="none"),e!=null&&(e.style.display="flex")):(e!=null&&(e.style.display="none"),o!=null&&(o.style.display="flex"));}disconnectedCallback(){this._gestureRecognizer&&(this._gestureRecognizer.removeAllListeners(),this._gestureRecognizer=void 0);}onTap(){this.dispatchEvent(new c({currentState:this.state}));}onPress(){let t=this.button;t&&t.setAttribute("data-pressed","true");}onRelease(){let t=this.button;t&&t.setAttribute("data-pressed","false");}};s.tag="scandit-torch-switch-icon-button",s.observedAttributes=["state"];var g=s;export{g as TorchSwitchIconButton};
1
+ import {a as a$3}from'../../../chunks/chunk-NMXQDQYI.js';import {a as a$2}from'../../../chunks/chunk-SX5ZLP2O.js';import {c}from'../../../chunks/chunk-74GO72VC.js';import {a as a$7}from'../../../chunks/chunk-XIAF6V7E.js';import {a as a$6}from'../../../chunks/chunk-SGL5J2CI.js';import {a as a$1}from'../../../chunks/chunk-UWBNF47P.js';import {a}from'../../../chunks/chunk-EV4OEANA.js';import {a as a$4}from'../../../chunks/chunk-3A4KLILV.js';import {a as a$5}from'../../../chunks/chunk-LSZZVJ6B.js';var s=class s extends a{constructor(){super();this._size=32;this._shadow=false;this._ariaLabel="Toggle torch";this._useCustomImages=false;let t=this.attachShadow({mode:"open"});t.innerHTML=a$1`<button><slot></slot></button>`,t.append(s.createStyleElement().cloneNode(true));}get button(){var t,e;return (e=(t=this.shadowRoot)==null?void 0:t.querySelector("button"))!=null?e:void 0}get onIcon(){var t;return (t=this.querySelector(a$2.tag))!=null?t:void 0}get offIcon(){var t;return (t=this.querySelector(a$3.tag))!=null?t:void 0}set size(t){this._size=t;let e=this.onIcon,o=this.offIcon;e&&(e.size=this._size),o&&(o.size=this._size);}get size(){return this._size}set shadow(t){this._shadow=t;let e=this.onIcon,o=this.offIcon;e&&e.toggleAttribute("shadow",this._shadow),o&&o.toggleAttribute("shadow",this._shadow);}get shadow(){return this._shadow}get state(){var t;return (t=this.getAttribute("state"))!=null?t:"off"}set state(t){this.setAttribute("state",t),this.setAttribute("aria-pressed",t==="on"?"true":"false");}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){this._ariaLabel=t,this.setAttribute("aria-label",t);}set useCustomImages(t){this._useCustomImages=t,t?this.setAttribute("data-use-custom-images","true"):this.removeAttribute("data-use-custom-images");}setCustomImages(t){let e=this.style,o=t.on.idle?`url(${JSON.stringify(t.on.idle)})`:"none",i=t.on.pressed?`url(${JSON.stringify(t.on.pressed)})`:"none",n=t.off.idle?`url(${JSON.stringify(t.off.idle)})`:"none",b=t.off.pressed?`url(${JSON.stringify(t.off.pressed)})`:"none";e.setProperty("--torch-on-idle",o),e.setProperty("--torch-on-pressed",i),e.setProperty("--torch-off-idle",n),e.setProperty("--torch-off-pressed",b),this.useCustomImages=true;}static create(){return document.createElement(s.tag)}static register(){a$4({[s.tag]:s});}static createStyleElement(){return a$5`:host{display:inline-block;--button-size:32px;--torch-on-idle:none;--torch-on-pressed:none;--torch-off-idle:none;--torch-off-pressed:none}:host[hidden]{display:none}:host button{align-items:center;background:none;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;cursor:pointer;display:flex;height:var(--button-size);justify-content:center;margin:0;opacity:1;outline:none;padding:0;width:var(--button-size);-webkit-tap-highlight-color:transparent;transform-origin:center;transition:outline .2s ease-in-out,opacity .2s ease-in-out,transform .1s ease-in-out}:host([state=off]) button{opacity:.5}button[data-pressed=true]{transform:scale(.95)}button[data-pressed=false]{transform:scale(1)}:host button:focus-visible{outline:2px solid #06c;outline-offset:2px}:host([data-use-custom-images=true]) ::slotted(*){display:none!important}:host([data-use-custom-images=true][state=on]) button{background-image:var(--torch-on-idle)}:host([data-use-custom-images=true][state=on]) button[data-pressed=true]{background-image:var(--torch-on-pressed)}:host([data-use-custom-images=true][state=off]) button{background-image:var(--torch-off-idle)}:host([data-use-custom-images=true][state=off]) button[data-pressed=true]{background-image:var(--torch-off-pressed)}`}connectedCallback(){if(!this.button)return;if(a$2.register(),a$3.register(),!this.onIcon||!this.offIcon){let o=a$6.fromHex("#FFFFFF"),i=a$2.create(),n=a$3.create();i.toggleAttribute("shadow",this._shadow),n.toggleAttribute("shadow",this._shadow),i.size=this._size,n.size=this._size,n.fill=`#${o.toJSON()}`,i.fill=`#${o.toJSON()}`,this.appendChild(i),this.appendChild(n);}let t="off";(this.getAttribute("state")==="on"||this.getAttribute("state")==="off")&&(t=this.getAttribute("state")),this.state=t;let e=this.button;!this._gestureRecognizer&&e&&(this._gestureRecognizer=new a$7(e),this._gestureRecognizer.addListener(this)),this.setAttribute("aria-label",this._ariaLabel),this.setAttribute("aria-pressed",t==="on"?"true":"false");}attributeChangedCallback(t,e,o){t==="state"&&this.render(o);}render(t){let e=this.onIcon,o=this.offIcon;t==="on"?(o!=null&&(o.style.display="none"),e!=null&&(e.style.display="flex")):(e!=null&&(e.style.display="none"),o!=null&&(o.style.display="flex"));}disconnectedCallback(){this._gestureRecognizer&&(this._gestureRecognizer.removeAllListeners(),this._gestureRecognizer=void 0);}onTap(){this.dispatchEvent(new c({currentState:this.state}));}onPress(){let t=this.button;t&&t.setAttribute("data-pressed","true");}onRelease(){let t=this.button;t&&t.setAttribute("data-pressed","false");}};s.tag="scandit-torch-switch-icon-button",s.observedAttributes=["state"];var g=s;export{g as TorchSwitchIconButton};
@@ -2,11 +2,11 @@
2
2
  import { Size } from '../../commons/Size.js';
3
3
  import { Optional } from '../../tsHelper.js';
4
4
  import '../../ScanditIcon.js';
5
- import '../../DataCaptureContext-LM_Re1B4.js';
5
+ import '../../DataCaptureContext-BcSpF9Dt.js';
6
6
  import '../Serializable.js';
7
7
  import '../../commons/Color.js';
8
8
  import './ScanditHTMLElement.js';
9
- import '../../Camera-BnPnXqAt.js';
9
+ import '../../Camera-Cc__1Nc-.js';
10
10
  import '../../commons/Rect.js';
11
11
  import '../../commons/Point.js';
12
12
  import '../privateAccess.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-LM_Re1B4.js';
4
- import '../Camera-BnPnXqAt.js';
3
+ import { W as WorkerFunctions } from '../DataCaptureContext-BcSpF9Dt.js';
4
+ import '../Camera-Cc__1Nc-.js';
5
5
  import '../commons/Rect.js';
6
6
  import '../private/Serializable.js';
7
7
  import '../commons/Point.js';
@@ -1,6 +1,6 @@
1
1
  /// <reference types="emscripten" />
2
- import { V as ViewInfo } from '../DataCaptureContext-LM_Re1B4.js';
3
- import '../Camera-BnPnXqAt.js';
2
+ import { V as ViewInfo } from '../DataCaptureContext-BcSpF9Dt.js';
3
+ import '../Camera-Cc__1Nc-.js';
4
4
  import '../commons/Rect.js';
5
5
  import '../private/Serializable.js';
6
6
  import '../commons/Point.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-LM_Re1B4.js';
3
- import '../Camera-BnPnXqAt.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-BcSpF9Dt.js';
3
+ import '../Camera-Cc__1Nc-.js';
4
4
  import '../commons/Rect.js';
5
5
  import '../private/Serializable.js';
6
6
  import '../commons/Point.js';
@@ -1 +1 @@
1
- export{a as WorkerMain}from'../chunks/chunk-YXXMWHFX.js';
1
+ export{a as WorkerMain}from'../chunks/chunk-X653DLOR.js';
@@ -1,7 +1,7 @@
1
1
  /// <reference types="emscripten" />
2
- import { K as DataCaptureEngine, L as Module } from '../DataCaptureContext-LM_Re1B4.js';
2
+ import { K as DataCaptureEngine, L as Module } from '../DataCaptureContext-BcSpF9Dt.js';
3
3
  import { WorkerMain } from './WorkerMain.js';
4
- import '../Camera-BnPnXqAt.js';
4
+ import '../Camera-Cc__1Nc-.js';
5
5
  import '../commons/Rect.js';
6
6
  import '../private/Serializable.js';
7
7
  import '../commons/Point.js';
@@ -1 +1 @@
1
- export{b as InlineWorker,a as workerInstance}from'../chunks/chunk-WBYBTOBZ.js';
1
+ export{b as InlineWorker,a as workerInstance}from'../chunks/chunk-6IHWEHG3.js';
@@ -3,12 +3,12 @@ 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-LM_Re1B4.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';
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-BnPnXqAt.js';
11
+ import '../Camera-Cc__1Nc-.js';
12
12
  import '../commons/Rect.js';
13
13
  import '../commons/Size.js';
14
14
  import '../private/privateAccess.js';
@@ -1 +1 @@
1
- export{a as DataCaptureEngine}from'../chunks/chunk-M2ZQCUEL.js';
1
+ export{a as DataCaptureEngine}from'../chunks/chunk-QHNV2CFJ.js';
@@ -1,9 +1,9 @@
1
1
  /// <reference types="emscripten" />
2
- export { k as DataCaptureLoader, l as DataCaptureLoaderOptions } from '../DataCaptureContext-LM_Re1B4.js';
2
+ export { k as DataCaptureLoader, l as DataCaptureLoaderOptions } from '../DataCaptureContext-BcSpF9Dt.js';
3
3
  import '../LoadingStatus.js';
4
4
  import '../logger.js';
5
5
  import '../ScanditIcon.js';
6
- import '../Camera-BnPnXqAt.js';
6
+ import '../Camera-Cc__1Nc-.js';
7
7
  import '../commons/Rect.js';
8
8
  import '../private/Serializable.js';
9
9
  import '../commons/Point.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-LM_Re1B4.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';
6
6
  import '../LoadingStatus.js';
7
7
  import '../logger.js';
8
8
  import '../private/BatteryInterface.js';
@@ -10,7 +10,7 @@ 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-BnPnXqAt.js';
13
+ import '../Camera-Cc__1Nc-.js';
14
14
  import '../private/privateAccess.js';
15
15
  import '../DataCaptureContextSettings.js';
16
16
  import '../commons/JSONType.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-LM_Re1B4.js';
4
- import '../Camera-BnPnXqAt.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';
5
5
  import '../commons/Rect.js';
6
6
  import '../private/Serializable.js';
7
7
  import '../commons/Point.js';
@@ -1 +1 @@
1
- export{a as DataCaptureLoader}from'../chunks/chunk-YJNJGCAN.js';export{a as WorkerMain}from'../chunks/chunk-YXXMWHFX.js';export{a as DataCaptureEngine}from'../chunks/chunk-M2ZQCUEL.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-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';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scandit/web-datacapture-core",
3
- "version": "8.3.0-beta.1",
3
+ "version": "8.3.0",
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;(o=>{function i(){let r="8.3.0-beta.1";return r}o.sdkVersion=i;})(e||(e={}));export{e as a};
@@ -1 +0,0 @@
1
- import {a as a$1}from'./chunk-KUAZYGPM.js';import {a}from'./chunk-XR65N6EG.js';var l=new Map;l.set("default",()=>import('../assets/beepSound.js'));var e=class e{constructor(r){this.resource=null;this.resource=r;}static get defaultSound(){return e._defaultSound instanceof e||(e._defaultSound=new e("default")),e._defaultSound}toJSONObject(){return this.resource!==null?{resource:this.resource}:{}}async play(){var r,o,i;if(this.resource==null||this.resource===""){a.warn("Sound resource is null or empty string. Cannot be played.");return}if(!this.audio){let a=await((i=(o=(r=l.get(this.resource))==null?void 0:r())==null?void 0:o.then(t=>(t==null?void 0:t.beepSound)||this.resource))!=null?i:Promise.resolve(this.resource));this.audio=new a$1({src:a,html5:true});}this.audio.play();}};e._defaultSound=null;var s=e;export{s as a};