scandit-datacapture-frameworks-core 8.3.1 → 8.4.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.
package/dist/index.js CHANGED
@@ -606,15 +606,71 @@ __decorate([
606
606
  ignoreFromSerialization
607
607
  ], SwipeToZoom.prototype, "_controller", void 0);
608
608
 
609
+ class PinchToZoom extends DefaultSerializeable {
610
+ constructor() {
611
+ super();
612
+ this.type = 'pinchToZoom';
613
+ this.listeners = [];
614
+ }
615
+ addListener(listener) {
616
+ if (!this.listeners.includes(listener)) {
617
+ const wasEmpty = this.listeners.length === 0;
618
+ this.listeners.push(listener);
619
+ if (wasEmpty && this.onListenersChanged) {
620
+ this.onListenersChanged();
621
+ }
622
+ }
623
+ }
624
+ removeListener(listener) {
625
+ if (this.listeners.includes(listener)) {
626
+ this.listeners.splice(this.listeners.indexOf(listener), 1);
627
+ if (this.listeners.length === 0 && this.onListenersChanged) {
628
+ this.onListenersChanged();
629
+ }
630
+ }
631
+ }
632
+ triggerZoomIn() {
633
+ return __awaiter(this, void 0, void 0, function* () {
634
+ if (this._controller) {
635
+ yield this._controller.triggerZoomIn();
636
+ }
637
+ });
638
+ }
639
+ triggerZoomOut() {
640
+ return __awaiter(this, void 0, void 0, function* () {
641
+ if (this._controller) {
642
+ yield this._controller.triggerZoomOut();
643
+ }
644
+ });
645
+ }
646
+ }
647
+ __decorate([
648
+ ignoreFromSerialization
649
+ ], PinchToZoom.prototype, "listeners", void 0);
650
+ __decorate([
651
+ ignoreFromSerialization
652
+ ], PinchToZoom.prototype, "onListenersChanged", void 0);
653
+ __decorate([
654
+ ignoreFromSerialization
655
+ ], PinchToZoom.prototype, "_controller", void 0);
656
+
609
657
  class PrivateZoomGestureDeserializer {
610
658
  static fromJSON(json) {
611
- if (json && json.type === new SwipeToZoom()['type']) {
659
+ if (json && json.type === 'swipeToZoom') {
612
660
  return new SwipeToZoom();
613
661
  }
662
+ else if (json && json.type === 'pinchToZoom') {
663
+ return new PinchToZoom();
664
+ }
614
665
  else {
615
666
  return null;
616
667
  }
617
668
  }
669
+ static fromJSONArray(jsonArray) {
670
+ return jsonArray
671
+ .map(json => PrivateZoomGestureDeserializer.fromJSON(json))
672
+ .filter((gesture) => gesture !== null);
673
+ }
618
674
  }
619
675
 
620
676
  var ZoomGestureListenerEvents;
@@ -1666,6 +1722,49 @@ class CoreProxyAdapter {
1666
1722
  return result;
1667
1723
  });
1668
1724
  }
1725
+ /**
1726
+ * Registers a persistent listener for zoom level change events
1727
+ */
1728
+ registerZoomLevelListener() {
1729
+ return __awaiter(this, void 0, void 0, function* () {
1730
+ const result = yield this.proxy.$executeCore({
1731
+ moduleName: 'CoreModule',
1732
+ methodName: 'registerZoomLevelListener',
1733
+ isEventRegistration: true,
1734
+ });
1735
+ return result;
1736
+ });
1737
+ }
1738
+ /**
1739
+ * Unregisters the zoom level event listener
1740
+ */
1741
+ unregisterZoomLevelListener() {
1742
+ return __awaiter(this, void 0, void 0, function* () {
1743
+ const result = yield this.proxy.$executeCore({
1744
+ moduleName: 'CoreModule',
1745
+ methodName: 'unregisterZoomLevelListener',
1746
+ isEventRegistration: false,
1747
+ });
1748
+ return result;
1749
+ });
1750
+ }
1751
+ /**
1752
+ * Selects the zoom level on the ZoomSwitchControl. Returns the actual zoom level applied.
1753
+ * @param viewId View identifier
1754
+ * @param zoomLevel Desired zoom level as a zoom factor
1755
+ */
1756
+ selectZoomLevel(_a) {
1757
+ return __awaiter(this, arguments, void 0, function* ({ viewId, zoomLevel }) {
1758
+ const result = yield this.proxy.$executeCore({
1759
+ moduleName: 'CoreModule',
1760
+ methodName: 'selectZoomLevel',
1761
+ isEventRegistration: false,
1762
+ viewId,
1763
+ zoomLevel,
1764
+ });
1765
+ return Number(result.data);
1766
+ });
1767
+ }
1669
1768
  /**
1670
1769
  * Registers a persistent listener for macro mode change events
1671
1770
  */
@@ -2321,6 +2420,8 @@ class Camera extends DefaultSerializeable {
2321
2420
  this.listeners = [];
2322
2421
  this.torchListeners = [];
2323
2422
  this.macroModeListeners = [];
2423
+ this.zoomListeners = [];
2424
+ this._hasZoomListeners = false;
2324
2425
  this._context = null;
2325
2426
  this.nativeReadyResolver = null;
2326
2427
  this.nativeReadyRejecter = null;
@@ -2426,6 +2527,32 @@ class Camera extends DefaultSerializeable {
2426
2527
  void this.didChange();
2427
2528
  }
2428
2529
  }
2530
+ addZoomListener(listener) {
2531
+ if (this.zoomListeners.includes(listener)) {
2532
+ return;
2533
+ }
2534
+ this.zoomListeners.push(listener);
2535
+ this._hasZoomListeners = this.zoomListeners.length > 0;
2536
+ if (this.zoomListeners.length === 1) {
2537
+ void this.controller.subscribeZoomListener();
2538
+ }
2539
+ if (this.isActiveCamera) {
2540
+ void this.didChange();
2541
+ }
2542
+ }
2543
+ removeZoomListener(listener) {
2544
+ if (!this.zoomListeners.includes(listener)) {
2545
+ return;
2546
+ }
2547
+ this.zoomListeners.splice(this.zoomListeners.indexOf(listener), 1);
2548
+ this._hasZoomListeners = this.zoomListeners.length > 0;
2549
+ if (this.zoomListeners.length === 0) {
2550
+ void this.controller.unsubscribeZoomListener();
2551
+ }
2552
+ if (this.isActiveCamera) {
2553
+ void this.didChange();
2554
+ }
2555
+ }
2429
2556
  applySettings(settings) {
2430
2557
  return __awaiter(this, void 0, void 0, function* () {
2431
2558
  this.settings = settings;
@@ -2580,6 +2707,12 @@ __decorate([
2580
2707
  __decorate([
2581
2708
  ignoreFromSerialization
2582
2709
  ], Camera.prototype, "macroModeListeners", void 0);
2710
+ __decorate([
2711
+ ignoreFromSerialization
2712
+ ], Camera.prototype, "zoomListeners", void 0);
2713
+ __decorate([
2714
+ nameForSerialization('hasZoomListeners')
2715
+ ], Camera.prototype, "_hasZoomListeners", void 0);
2583
2716
  __decorate([
2584
2717
  ignoreFromSerialization
2585
2718
  ], Camera.prototype, "_context", void 0);
@@ -2889,6 +3022,11 @@ class CameraOwnershipHelper {
2889
3022
  }
2890
3023
  CameraOwnershipHelper.ownershipManager = CameraOwnershipManager.getInstance();
2891
3024
 
3025
+ var ZoomListenerEvents;
3026
+ (function (ZoomListenerEvents) {
3027
+ ZoomListenerEvents["didChangeZoomLevel"] = "ZoomListener.onZoomLevelChanged";
3028
+ })(ZoomListenerEvents || (ZoomListenerEvents = {}));
3029
+
2892
3030
  class CameraController extends BaseController {
2893
3031
  constructor(camera) {
2894
3032
  super('CoreProxy');
@@ -2904,6 +3042,10 @@ class CameraController extends BaseController {
2904
3042
  this.handleDidChangeMacroModeEventWrapper = (ev) => {
2905
3043
  return this.handleDidChangeMacroModeEvent(ev);
2906
3044
  };
3045
+ // Arrow function wrapper to avoid .bind(this) and always use current class state
3046
+ this.handleDidChangeZoomLevelEventWrapper = (ev) => {
3047
+ return this.handleDidChangeZoomLevelEvent(ev);
3048
+ };
2907
3049
  this.camera = camera;
2908
3050
  this.adapter = new CoreProxyAdapter(this._proxy);
2909
3051
  void this.subscribeListener();
@@ -2974,10 +3116,25 @@ class CameraController extends BaseController {
2974
3116
  this._proxy.eventEmitter.off(MacroModeListenerEvents.didChangeMacroMode, this.handleDidChangeMacroModeEventWrapper);
2975
3117
  });
2976
3118
  }
3119
+ subscribeZoomListener() {
3120
+ return __awaiter(this, void 0, void 0, function* () {
3121
+ yield this.adapter.registerZoomLevelListener();
3122
+ this._proxy.subscribeForEvents([ZoomListenerEvents.didChangeZoomLevel]);
3123
+ this._proxy.eventEmitter.on(ZoomListenerEvents.didChangeZoomLevel, this.handleDidChangeZoomLevelEventWrapper);
3124
+ });
3125
+ }
3126
+ unsubscribeZoomListener() {
3127
+ return __awaiter(this, void 0, void 0, function* () {
3128
+ yield this.adapter.unregisterZoomLevelListener();
3129
+ this._proxy.unsubscribeFromEvents([ZoomListenerEvents.didChangeZoomLevel]);
3130
+ this._proxy.eventEmitter.off(ZoomListenerEvents.didChangeZoomLevel, this.handleDidChangeZoomLevelEventWrapper);
3131
+ });
3132
+ }
2977
3133
  dispose() {
2978
3134
  void this.unsubscribeListener();
2979
3135
  void this.unsubscribeTorchListener();
2980
3136
  void this.unsubscribeMacroModeListener();
3137
+ void this.unsubscribeZoomListener();
2981
3138
  this._proxy.dispose();
2982
3139
  }
2983
3140
  handleDidChangeStateEvent(ev) {
@@ -3021,6 +3178,18 @@ class CameraController extends BaseController {
3021
3178
  });
3022
3179
  }
3023
3180
  }
3181
+ handleDidChangeZoomLevelEvent(ev) {
3182
+ const event = EventDataParser.parseIfShouldHandle(ev, {});
3183
+ if (event === SKIP || event === null) {
3184
+ return;
3185
+ }
3186
+ if (this.privateCamera.isActiveCamera) {
3187
+ this.privateCamera.zoomListeners.forEach(listener => {
3188
+ var _a;
3189
+ (_a = listener === null || listener === void 0 ? void 0 : listener.didChangeZoomLevel) === null || _a === void 0 ? void 0 : _a.call(listener, event.oldZoomLevel, event.newZoomLevel);
3190
+ });
3191
+ }
3192
+ }
3024
3193
  }
3025
3194
 
3026
3195
  class FrameDataController extends BaseController {
@@ -3569,7 +3738,8 @@ class DataCaptureViewController extends BaseController {
3569
3738
  updateView() {
3570
3739
  if (!this.isViewCreated())
3571
3740
  return Promise.resolve();
3572
- return this.adapter.updateDataCaptureView({ viewJson: JSON.stringify(this.view.toJSON()) });
3741
+ const json = this.view.toJSON();
3742
+ return this.adapter.updateDataCaptureView({ viewJson: JSON.stringify(json) });
3573
3743
  }
3574
3744
  dispose() {
3575
3745
  void this.unsubscribeListener();
@@ -3665,22 +3835,27 @@ class DataCaptureViewController extends BaseController {
3665
3835
  }
3666
3836
  updateZoomGestureListenerSubscription(zoomGesture, shouldSubscribe) {
3667
3837
  return __awaiter(this, void 0, void 0, function* () {
3668
- if (!zoomGesture) {
3669
- if (this._zoomGestureListenerRegistered) {
3670
- yield this.unsubscribeZoomGestureListener();
3671
- }
3672
- return;
3673
- }
3674
- const privateZoomGesture = zoomGesture;
3675
- const hasListeners = privateZoomGesture.listeners && privateZoomGesture.listeners.length > 0;
3676
- if (shouldSubscribe && hasListeners && !this._zoomGestureListenerRegistered) {
3838
+ // Check if any gesture in the current array has listeners
3839
+ const anyHasListeners = this.view.zoomGestures.some(gesture => {
3840
+ const privateGesture = gesture;
3841
+ return privateGesture.listeners && privateGesture.listeners.length > 0;
3842
+ });
3843
+ if (shouldSubscribe && anyHasListeners && !this._zoomGestureListenerRegistered) {
3677
3844
  yield this.subscribeZoomGestureListener();
3678
3845
  }
3679
- else if (!hasListeners && this._zoomGestureListenerRegistered) {
3846
+ else if (!anyHasListeners && this._zoomGestureListenerRegistered) {
3680
3847
  yield this.unsubscribeZoomGestureListener();
3681
3848
  }
3682
3849
  });
3683
3850
  }
3851
+ selectZoomLevel(zoomLevel) {
3852
+ return __awaiter(this, void 0, void 0, function* () {
3853
+ if (!this.isViewCreated()) {
3854
+ return Promise.resolve(zoomLevel);
3855
+ }
3856
+ return this.adapter.selectZoomLevel({ viewId: this.view.viewId, zoomLevel });
3857
+ });
3858
+ }
3684
3859
  subscribeZoomGestureListener() {
3685
3860
  return __awaiter(this, void 0, void 0, function* () {
3686
3861
  if (this._zoomGestureListenerRegistered || !this.isViewCreated()) {
@@ -3714,19 +3889,16 @@ class DataCaptureViewController extends BaseController {
3714
3889
  console.error('DataCaptureViewController onZoomInGesture payload is null');
3715
3890
  return;
3716
3891
  }
3717
- const zoomGesture = this.view.zoomGesture;
3718
- if (!zoomGesture) {
3719
- return;
3720
- }
3721
- const privateZoomGesture = zoomGesture;
3722
- if (!privateZoomGesture.listeners || privateZoomGesture.listeners.length === 0) {
3723
- return;
3724
- }
3725
- privateZoomGesture.listeners.forEach(listener => {
3726
- if (listener.didZoomInGesture) {
3727
- listener.didZoomInGesture(zoomGesture);
3892
+ for (const zoomGesture of this.view.zoomGestures) {
3893
+ const privateZoomGesture = zoomGesture;
3894
+ if (privateZoomGesture.listeners && privateZoomGesture.listeners.length > 0) {
3895
+ privateZoomGesture.listeners.forEach(listener => {
3896
+ if (listener.didZoomInGesture) {
3897
+ listener.didZoomInGesture(zoomGesture);
3898
+ }
3899
+ });
3728
3900
  }
3729
- });
3901
+ }
3730
3902
  }
3731
3903
  handleOnZoomOutGestureEvent(eventPayload) {
3732
3904
  const event = EventDataParser.parseIfShouldHandle(eventPayload, { viewId: this.view.viewId });
@@ -3737,19 +3909,16 @@ class DataCaptureViewController extends BaseController {
3737
3909
  console.error('DataCaptureViewController onZoomOutGesture payload is null');
3738
3910
  return;
3739
3911
  }
3740
- const zoomGesture = this.view.zoomGesture;
3741
- if (!zoomGesture) {
3742
- return;
3743
- }
3744
- const privateZoomGesture = zoomGesture;
3745
- if (!privateZoomGesture.listeners || privateZoomGesture.listeners.length === 0) {
3746
- return;
3747
- }
3748
- privateZoomGesture.listeners.forEach(listener => {
3749
- if (listener.didZoomOutGesture) {
3750
- listener.didZoomOutGesture(zoomGesture);
3912
+ for (const zoomGesture of this.view.zoomGestures) {
3913
+ const privateZoomGesture = zoomGesture;
3914
+ if (privateZoomGesture.listeners && privateZoomGesture.listeners.length > 0) {
3915
+ privateZoomGesture.listeners.forEach(listener => {
3916
+ if (listener.didZoomOutGesture) {
3917
+ listener.didZoomOutGesture(zoomGesture);
3918
+ }
3919
+ });
3751
3920
  }
3752
- });
3921
+ }
3753
3922
  }
3754
3923
  createView() {
3755
3924
  return this._proxy.$createDataCaptureView({ viewJson: JSON.stringify(this.view.toJSON()) });
@@ -3849,27 +4018,39 @@ class BaseDataCaptureView extends DefaultSerializeable {
3849
4018
  }
3850
4019
  void this.controller.updateView();
3851
4020
  }
3852
- get zoomGesture() {
3853
- return this._zoomGesture;
3854
- }
3855
- set zoomGesture(newValue) {
3856
- if (this._zoomGesture) {
3857
- const privateZoomGesture = this._zoomGesture;
3858
- privateZoomGesture.onListenersChanged = undefined;
3859
- privateZoomGesture._controller = null;
3860
- void this.controller.updateZoomGestureListenerSubscription(this._zoomGesture, false);
3861
- }
3862
- this._zoomGesture = newValue;
3863
- if (newValue) {
3864
- const privateZoomGesture = newValue;
3865
- privateZoomGesture._controller = this.controller;
3866
- privateZoomGesture.onListenersChanged = () => {
3867
- void this.controller.updateZoomGestureListenerSubscription(newValue, true);
4021
+ get zoomGestures() {
4022
+ return this._zoomGestures;
4023
+ }
4024
+ set zoomGestures(newValue) {
4025
+ // Detach old gestures
4026
+ for (const gesture of this._zoomGestures) {
4027
+ const privateGesture = gesture;
4028
+ privateGesture.onListenersChanged = undefined;
4029
+ privateGesture._controller = null;
4030
+ void this.controller.updateZoomGestureListenerSubscription(gesture, false);
4031
+ }
4032
+ this._zoomGestures = newValue;
4033
+ // Attach new gestures
4034
+ for (const gesture of this._zoomGestures) {
4035
+ const privateGesture = gesture;
4036
+ privateGesture._controller = this.controller;
4037
+ const capturedGesture = gesture;
4038
+ privateGesture.onListenersChanged = () => {
4039
+ void this.controller.updateZoomGestureListenerSubscription(capturedGesture, true);
3868
4040
  };
3869
- void this.controller.updateZoomGestureListenerSubscription(newValue, true);
4041
+ void this.controller.updateZoomGestureListenerSubscription(gesture, true);
3870
4042
  }
3871
4043
  void this.controller.updateView();
3872
4044
  }
4045
+ /** @deprecated Use zoomGestures instead. Will be removed in a future version. */
4046
+ get zoomGesture() {
4047
+ var _a;
4048
+ return (_a = this._zoomGestures[0]) !== null && _a !== void 0 ? _a : null;
4049
+ }
4050
+ /** @deprecated Use zoomGestures instead. Will be removed in a future version. */
4051
+ set zoomGesture(newValue) {
4052
+ this.zoomGestures = newValue != null ? [newValue] : [];
4053
+ }
3873
4054
  get logoStyle() {
3874
4055
  return this._logoStyle;
3875
4056
  }
@@ -3908,10 +4089,12 @@ class BaseDataCaptureView extends DefaultSerializeable {
3908
4089
  this._logoAnchor = this.coreDefaults.DataCaptureView.logoAnchor;
3909
4090
  this._logoOffset = this.coreDefaults.DataCaptureView.logoOffset;
3910
4091
  this._focusGesture = this.coreDefaults.DataCaptureView.focusGesture;
3911
- this._zoomGesture = this.coreDefaults.DataCaptureView.zoomGesture;
4092
+ this._zoomGestures = [];
3912
4093
  this._logoStyle = this.coreDefaults.DataCaptureView.logoStyle;
3913
4094
  this._shouldShowZoomNotification = (_a = this.coreDefaults.DataCaptureView.shouldShowZoomNotification) !== null && _a !== void 0 ? _a : true;
3914
4095
  this.controller = new DataCaptureViewController(this);
4096
+ // Wire up default zoom gestures after controller is available
4097
+ this.zoomGestures = this.coreDefaults.DataCaptureView.zoomGestures;
3915
4098
  }
3916
4099
  addOverlay(overlay) {
3917
4100
  return __awaiter(this, void 0, void 0, function* () {
@@ -4001,10 +4184,13 @@ class BaseDataCaptureView extends DefaultSerializeable {
4001
4184
  }
4002
4185
  createNativeView(viewId) {
4003
4186
  return __awaiter(this, void 0, void 0, function* () {
4187
+ var _a, _b, _c;
4004
4188
  if (this.isViewCreated) {
4005
4189
  return Promise.resolve();
4006
4190
  }
4007
4191
  this.viewId = viewId;
4192
+ const json = this.toJSON();
4193
+ console.log('[createNativeView] controls count:', (_b = (_a = json.controls) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0, 'control types:', (_c = json.controls) === null || _c === void 0 ? void 0 : _c.map((c) => c.type));
4008
4194
  yield this.controller.createNativeView();
4009
4195
  this.isViewCreated = true;
4010
4196
  this.notifyOverlaysOfViewIdChange();
@@ -4056,6 +4242,9 @@ class BaseDataCaptureView extends DefaultSerializeable {
4056
4242
  this[name] = value;
4057
4243
  void this.controller.updateView();
4058
4244
  }
4245
+ selectZoomLevel(zoomLevel) {
4246
+ return this.controller.selectZoomLevel(zoomLevel);
4247
+ }
4059
4248
  }
4060
4249
  __decorate([
4061
4250
  ignoreFromSerialization
@@ -4092,8 +4281,8 @@ __decorate([
4092
4281
  nameForSerialization('focusGesture')
4093
4282
  ], BaseDataCaptureView.prototype, "_focusGesture", void 0);
4094
4283
  __decorate([
4095
- nameForSerialization('zoomGesture')
4096
- ], BaseDataCaptureView.prototype, "_zoomGesture", void 0);
4284
+ nameForSerialization('zoomGestures')
4285
+ ], BaseDataCaptureView.prototype, "_zoomGestures", void 0);
4097
4286
  __decorate([
4098
4287
  nameForSerialization('logoStyle')
4099
4288
  ], BaseDataCaptureView.prototype, "_logoStyle", void 0);
@@ -4108,6 +4297,12 @@ __decorate([
4108
4297
  ], BaseDataCaptureView.prototype, "isViewCreated", void 0);
4109
4298
 
4110
4299
  class ZoomSwitchControl extends DefaultSerializeable {
4300
+ static get coreDefaults() {
4301
+ return getCoreDefaults();
4302
+ }
4303
+ get selectedZoomLevel() {
4304
+ return this._selectedZoomLevel;
4305
+ }
4111
4306
  constructor() {
4112
4307
  super();
4113
4308
  this.type = 'zoom';
@@ -4118,13 +4313,35 @@ class ZoomSwitchControl extends DefaultSerializeable {
4118
4313
  this.view = null;
4119
4314
  this.anchor = null;
4120
4315
  this.offset = null;
4316
+ /** @deprecated Use the unified `accessibilityLabel` property instead. */
4121
4317
  this.contentDescriptionWhenZoomedOut = null;
4318
+ /** @deprecated Use the unified `accessibilityLabel` property instead. */
4122
4319
  this.contentDescriptionWhenZoomedIn = null;
4320
+ /** @deprecated Use the unified `accessibilityLabel` property instead. */
4123
4321
  this.accessibilityLabelWhenZoomedOut = null;
4322
+ /** @deprecated Use the unified `accessibilityLabel` property instead. */
4124
4323
  this.accessibilityLabelWhenZoomedIn = null;
4324
+ /** @deprecated Use the unified `accessibilityHint` property instead. */
4125
4325
  this.accessibilityHintWhenZoomedOut = null;
4326
+ /** @deprecated Use the unified `accessibilityHint` property instead. */
4126
4327
  this.accessibilityHintWhenZoomedIn = null;
4328
+ // v2 properties (8.4) — defaults loaded from native
4329
+ this.orientation = ZoomSwitchControl.coreDefaults.ZoomSwitchControl.orientation;
4330
+ this.isAlwaysExpanded = ZoomSwitchControl.coreDefaults.ZoomSwitchControl.isAlwaysExpanded;
4331
+ this.isExpanded = ZoomSwitchControl.coreDefaults.ZoomSwitchControl.isExpanded;
4332
+ this.accessibilityLabel = ZoomSwitchControl.coreDefaults.ZoomSwitchControl.accessibilityLabel;
4333
+ this.accessibilityHint = ZoomSwitchControl.coreDefaults.ZoomSwitchControl.accessibilityHint;
4334
+ this._selectedZoomLevel = 1;
4335
+ }
4336
+ selectZoomLevel(level) {
4337
+ return __awaiter(this, void 0, void 0, function* () {
4338
+ if (this.view == null) {
4339
+ throw new Error('Control not yet attached to a view');
4340
+ }
4341
+ return this.view.selectZoomLevel(level);
4342
+ });
4127
4343
  }
4344
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4128
4345
  get zoomedOutImage() {
4129
4346
  var _a, _b;
4130
4347
  if (((_a = this.icon.zoomedOut.default) === null || _a === void 0 ? void 0 : _a.isBase64EncodedImage()) == true) {
@@ -4132,11 +4349,13 @@ class ZoomSwitchControl extends DefaultSerializeable {
4132
4349
  }
4133
4350
  return null;
4134
4351
  }
4352
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4135
4353
  set zoomedOutImage(zoomedOutImage) {
4136
4354
  var _a;
4137
4355
  this.icon.zoomedOut.default = ControlImage.fromBase64EncodedImage(zoomedOutImage);
4138
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4356
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4139
4357
  }
4358
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4140
4359
  get zoomedInImage() {
4141
4360
  var _a, _b;
4142
4361
  if (((_a = this.icon.zoomedIn.default) === null || _a === void 0 ? void 0 : _a.isBase64EncodedImage()) == true) {
@@ -4144,11 +4363,13 @@ class ZoomSwitchControl extends DefaultSerializeable {
4144
4363
  }
4145
4364
  return null;
4146
4365
  }
4366
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4147
4367
  set zoomedInImage(zoomedInImage) {
4148
4368
  var _a;
4149
4369
  this.icon.zoomedIn.default = ControlImage.fromBase64EncodedImage(zoomedInImage);
4150
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4370
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4151
4371
  }
4372
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4152
4373
  get zoomedInPressedImage() {
4153
4374
  var _a, _b;
4154
4375
  if (((_a = this.icon.zoomedIn.pressed) === null || _a === void 0 ? void 0 : _a.isBase64EncodedImage()) == true) {
@@ -4156,11 +4377,13 @@ class ZoomSwitchControl extends DefaultSerializeable {
4156
4377
  }
4157
4378
  return null;
4158
4379
  }
4380
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4159
4381
  set zoomedInPressedImage(zoomedInPressedImage) {
4160
4382
  var _a;
4161
4383
  this.icon.zoomedIn.pressed = ControlImage.fromBase64EncodedImage(zoomedInPressedImage);
4162
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4384
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4163
4385
  }
4386
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4164
4387
  get zoomedOutPressedImage() {
4165
4388
  var _a, _b;
4166
4389
  if (((_a = this.icon.zoomedOut.pressed) === null || _a === void 0 ? void 0 : _a.isBase64EncodedImage()) == true) {
@@ -4168,35 +4391,70 @@ class ZoomSwitchControl extends DefaultSerializeable {
4168
4391
  }
4169
4392
  return null;
4170
4393
  }
4394
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4171
4395
  set zoomedOutPressedImage(zoomedOutPressedImage) {
4172
4396
  var _a;
4173
4397
  this.icon.zoomedOut.pressed = ControlImage.fromBase64EncodedImage(zoomedOutPressedImage);
4174
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4398
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4175
4399
  }
4400
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4176
4401
  setZoomedInImage(resource) {
4177
4402
  var _a;
4178
4403
  this.icon.zoomedIn.default = ControlImage.fromResourceName(resource);
4179
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4404
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4180
4405
  }
4406
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4181
4407
  setZoomedInPressedImage(resource) {
4182
4408
  var _a;
4183
4409
  this.icon.zoomedIn.pressed = ControlImage.fromResourceName(resource);
4184
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4410
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4185
4411
  }
4412
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4186
4413
  setZoomedOutImage(resource) {
4187
4414
  var _a;
4188
4415
  this.icon.zoomedOut.default = ControlImage.fromResourceName(resource);
4189
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4416
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4190
4417
  }
4418
+ /** @deprecated Use the new ZoomSwitchControl v2 API. Image-based customization will be removed in 9.0. */
4191
4419
  setZoomedOutPressedImage(resource) {
4192
4420
  var _a;
4193
4421
  this.icon.zoomedOut.pressed = ControlImage.fromResourceName(resource);
4194
- void ((_a = this.view) === null || _a === void 0 ? void 0 : _a['controlUpdated']());
4422
+ void ((_a = this.view) === null || _a === void 0 ? void 0 : _a.controlUpdated());
4195
4423
  }
4196
4424
  }
4197
4425
  __decorate([
4198
4426
  ignoreFromSerialization
4199
4427
  ], ZoomSwitchControl.prototype, "view", void 0);
4428
+ __decorate([
4429
+ ignoreFromSerializationIfNull
4430
+ ], ZoomSwitchControl.prototype, "anchor", void 0);
4431
+ __decorate([
4432
+ ignoreFromSerializationIfNull
4433
+ ], ZoomSwitchControl.prototype, "offset", void 0);
4434
+ __decorate([
4435
+ ignoreFromSerializationIfNull
4436
+ ], ZoomSwitchControl.prototype, "contentDescriptionWhenZoomedOut", void 0);
4437
+ __decorate([
4438
+ ignoreFromSerializationIfNull
4439
+ ], ZoomSwitchControl.prototype, "contentDescriptionWhenZoomedIn", void 0);
4440
+ __decorate([
4441
+ ignoreFromSerializationIfNull
4442
+ ], ZoomSwitchControl.prototype, "accessibilityLabelWhenZoomedOut", void 0);
4443
+ __decorate([
4444
+ ignoreFromSerializationIfNull
4445
+ ], ZoomSwitchControl.prototype, "accessibilityLabelWhenZoomedIn", void 0);
4446
+ __decorate([
4447
+ ignoreFromSerializationIfNull
4448
+ ], ZoomSwitchControl.prototype, "accessibilityHintWhenZoomedOut", void 0);
4449
+ __decorate([
4450
+ ignoreFromSerializationIfNull
4451
+ ], ZoomSwitchControl.prototype, "accessibilityHintWhenZoomedIn", void 0);
4452
+ __decorate([
4453
+ ignoreFromSerialization
4454
+ ], ZoomSwitchControl.prototype, "_selectedZoomLevel", void 0);
4455
+ __decorate([
4456
+ ignoreFromSerialization
4457
+ ], ZoomSwitchControl, "coreDefaults", null);
4200
4458
 
4201
4459
  class TorchSwitchControl extends DefaultSerializeable {
4202
4460
  constructor() {
@@ -4295,15 +4553,25 @@ __decorate([
4295
4553
  ignoreFromSerialization
4296
4554
  ], TorchSwitchControl.prototype, "view", void 0);
4297
4555
  __decorate([
4556
+ ignoreFromSerializationIfNull
4557
+ ], TorchSwitchControl.prototype, "anchor", void 0);
4558
+ __decorate([
4559
+ ignoreFromSerializationIfNull
4560
+ ], TorchSwitchControl.prototype, "offset", void 0);
4561
+ __decorate([
4562
+ ignoreFromSerializationIfNull,
4298
4563
  nameForSerialization('accessibilityLabelWhenOff')
4299
4564
  ], TorchSwitchControl.prototype, "accessibilityLabelWhenOff", void 0);
4300
4565
  __decorate([
4566
+ ignoreFromSerializationIfNull,
4301
4567
  nameForSerialization('accessibilityHintWhenOff')
4302
4568
  ], TorchSwitchControl.prototype, "accessibilityHintWhenOff", void 0);
4303
4569
  __decorate([
4570
+ ignoreFromSerializationIfNull,
4304
4571
  nameForSerialization('accessibilityLabelWhenOn')
4305
4572
  ], TorchSwitchControl.prototype, "accessibilityLabelWhenOn", void 0);
4306
4573
  __decorate([
4574
+ ignoreFromSerializationIfNull,
4307
4575
  nameForSerialization('accessibilityHintWhenOn')
4308
4576
  ], TorchSwitchControl.prototype, "accessibilityHintWhenOn", void 0);
4309
4577
 
@@ -4360,14 +4628,15 @@ class CameraSettings extends DefaultSerializeable {
4360
4628
  this.focus.shouldPreferSmoothAutoFocus = newShouldPreferSmoothAutoFocus;
4361
4629
  }
4362
4630
  static fromJSON(json) {
4363
- var _a, _b, _c;
4631
+ var _a, _b, _c, _d;
4364
4632
  const settings = new CameraSettings();
4365
4633
  settings.preferredResolution = json.preferredResolution;
4366
4634
  settings.zoomFactor = json.zoomFactor;
4367
4635
  settings.zoomGestureZoomFactor = json.zoomGestureZoomFactor;
4368
- settings.macroMode = ((_a = json.macroMode) !== null && _a !== void 0 ? _a : CameraSettings.coreDefaults.Camera.Settings.macroMode);
4369
- settings.adaptiveExposure = (_b = json.adaptiveExposure) !== null && _b !== void 0 ? _b : CameraSettings.coreDefaults.Camera.Settings.adaptiveExposure;
4370
- settings.torchLevel = (_c = json.torchLevel) !== null && _c !== void 0 ? _c : CameraSettings.coreDefaults.Camera.Settings.torchLevel;
4636
+ settings.zoomLevels = (_a = json.zoomLevels) !== null && _a !== void 0 ? _a : [1, 2];
4637
+ settings.macroMode = ((_b = json.macroMode) !== null && _b !== void 0 ? _b : CameraSettings.coreDefaults.Camera.Settings.macroMode);
4638
+ settings.adaptiveExposure = (_c = json.adaptiveExposure) !== null && _c !== void 0 ? _c : CameraSettings.coreDefaults.Camera.Settings.adaptiveExposure;
4639
+ settings.torchLevel = (_d = json.torchLevel) !== null && _d !== void 0 ? _d : CameraSettings.coreDefaults.Camera.Settings.torchLevel;
4371
4640
  settings.focusRange = json.focusRange;
4372
4641
  settings.focusGestureStrategy = json.focusGestureStrategy;
4373
4642
  settings.shouldPreferSmoothAutoFocus = json.shouldPreferSmoothAutoFocus;
@@ -4385,7 +4654,9 @@ class CameraSettings extends DefaultSerializeable {
4385
4654
  super();
4386
4655
  this.preferredResolution = CameraSettings.coreDefaults.Camera.Settings.preferredResolution;
4387
4656
  this.zoomFactor = CameraSettings.coreDefaults.Camera.Settings.zoomFactor;
4657
+ /** @deprecated Use zoomLevels instead. */
4388
4658
  this.zoomGestureZoomFactor = CameraSettings.coreDefaults.Camera.Settings.zoomGestureZoomFactor;
4659
+ this.zoomLevels = CameraSettings.coreDefaults.Camera.Settings.zoomLevels;
4389
4660
  this.torchLevel = CameraSettings.coreDefaults.Camera.Settings.torchLevel;
4390
4661
  this.macroMode = CameraSettings.coreDefaults.Camera.Settings.macroMode;
4391
4662
  this.adaptiveExposure = CameraSettings.coreDefaults.Camera.Settings.adaptiveExposure;
@@ -4456,6 +4727,13 @@ var MacroMode;
4456
4727
  MacroMode["On"] = "on";
4457
4728
  })(MacroMode || (MacroMode = {}));
4458
4729
 
4730
+ var ZoomSwitchOrientation;
4731
+ (function (ZoomSwitchOrientation) {
4732
+ ZoomSwitchOrientation["Default"] = "default";
4733
+ ZoomSwitchOrientation["Horizontal"] = "horizontal";
4734
+ ZoomSwitchOrientation["Vertical"] = "vertical";
4735
+ })(ZoomSwitchOrientation || (ZoomSwitchOrientation = {}));
4736
+
4459
4737
  const NoViewfinder = { type: 'none' };
4460
4738
 
4461
4739
  class RectangularViewfinderAnimation extends DefaultSerializeable {
@@ -4619,8 +4897,12 @@ class LaserlineViewfinder extends DefaultSerializeable {
4619
4897
  }
4620
4898
  }
4621
4899
 
4900
+ // Capacitor returns nested values as already-parsed objects; other bridges (Cordova, RN) return JSON strings.
4901
+ function parseOrUse(value) {
4902
+ return typeof value === 'string' ? JSON.parse(value) : value;
4903
+ }
4622
4904
  function parseDefaults(jsonDefaults) {
4623
- var _a, _b, _c, _d, _e;
4905
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
4624
4906
  const coreDefaults = {
4625
4907
  Camera: {
4626
4908
  Settings: {
@@ -4628,41 +4910,52 @@ function parseDefaults(jsonDefaults) {
4628
4910
  zoomFactor: jsonDefaults.Camera.Settings.zoomFactor,
4629
4911
  focusRange: jsonDefaults.Camera.Settings.focusRange,
4630
4912
  zoomGestureZoomFactor: jsonDefaults.Camera.Settings.zoomGestureZoomFactor,
4913
+ zoomLevels: (_a = jsonDefaults.Camera.Settings.zoomLevels) !== null && _a !== void 0 ? _a : [1, 2],
4631
4914
  focusGestureStrategy: jsonDefaults.Camera.Settings.focusGestureStrategy,
4632
4915
  shouldPreferSmoothAutoFocus: jsonDefaults.Camera.Settings.shouldPreferSmoothAutoFocus,
4633
- torchLevel: (_a = jsonDefaults.Camera.Settings.torchLevel) !== null && _a !== void 0 ? _a : 1.0,
4634
- macroMode: ((_b = jsonDefaults.Camera.Settings.macroMode) !== null && _b !== void 0 ? _b : 'auto'),
4635
- adaptiveExposure: (_c = jsonDefaults.Camera.Settings.adaptiveExposure) !== null && _c !== void 0 ? _c : false,
4636
- manualLensPosition: (_d = jsonDefaults.Camera.Settings.manualLensPosition) !== null && _d !== void 0 ? _d : 0,
4637
- focusStrategy: (_e = jsonDefaults.Camera.Settings.focusStrategy) !== null && _e !== void 0 ? _e : 'auto',
4916
+ torchLevel: (_b = jsonDefaults.Camera.Settings.torchLevel) !== null && _b !== void 0 ? _b : 1.0,
4917
+ macroMode: ((_c = jsonDefaults.Camera.Settings.macroMode) !== null && _c !== void 0 ? _c : 'auto'),
4918
+ adaptiveExposure: (_d = jsonDefaults.Camera.Settings.adaptiveExposure) !== null && _d !== void 0 ? _d : false,
4919
+ manualLensPosition: (_e = jsonDefaults.Camera.Settings.manualLensPosition) !== null && _e !== void 0 ? _e : 0,
4920
+ focusStrategy: (_f = jsonDefaults.Camera.Settings.focusStrategy) !== null && _f !== void 0 ? _f : 'auto',
4638
4921
  properties: jsonDefaults.Camera.Settings.properties,
4639
4922
  },
4640
4923
  defaultPosition: (jsonDefaults.Camera.defaultPosition || null),
4641
4924
  availablePositions: jsonDefaults.Camera.availablePositions,
4642
4925
  },
4926
+ ZoomSwitchControl: {
4927
+ orientation: ((_h = (_g = jsonDefaults.ZoomSwitchControl) === null || _g === void 0 ? void 0 : _g.orientation) !== null && _h !== void 0 ? _h : 'horizontal'),
4928
+ isAlwaysExpanded: (_k = (_j = jsonDefaults.ZoomSwitchControl) === null || _j === void 0 ? void 0 : _j.isAlwaysExpanded) !== null && _k !== void 0 ? _k : false,
4929
+ isExpanded: (_m = (_l = jsonDefaults.ZoomSwitchControl) === null || _l === void 0 ? void 0 : _l.isExpanded) !== null && _m !== void 0 ? _m : false,
4930
+ accessibilityLabel: (_p = (_o = jsonDefaults.ZoomSwitchControl) === null || _o === void 0 ? void 0 : _o.accessibilityLabel) !== null && _p !== void 0 ? _p : 'Zoom <level>',
4931
+ accessibilityHint: (_r = (_q = jsonDefaults.ZoomSwitchControl) === null || _q === void 0 ? void 0 : _q.accessibilityHint) !== null && _r !== void 0 ? _r : 'Adjusts the camera zoom level',
4932
+ },
4643
4933
  DataCaptureView: {
4644
- scanAreaMargins: MarginsWithUnit['fromJSON'](JSON.parse(jsonDefaults.DataCaptureView.scanAreaMargins)),
4645
- pointOfInterest: PointWithUnit['fromJSON'](JSON.parse(jsonDefaults.DataCaptureView.pointOfInterest)),
4934
+ scanAreaMargins: MarginsWithUnit['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.scanAreaMargins)),
4935
+ pointOfInterest: PointWithUnit['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.pointOfInterest)),
4646
4936
  logoAnchor: jsonDefaults.DataCaptureView.logoAnchor,
4647
- logoOffset: PointWithUnit['fromJSON'](JSON.parse(jsonDefaults.DataCaptureView.logoOffset)),
4648
- focusGesture: PrivateFocusGestureDeserializer['fromJSON'](JSON.parse(jsonDefaults.DataCaptureView.focusGesture)),
4649
- zoomGesture: PrivateZoomGestureDeserializer['fromJSON'](JSON.parse(jsonDefaults.DataCaptureView.zoomGesture)),
4937
+ logoOffset: PointWithUnit['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.logoOffset)),
4938
+ focusGesture: PrivateFocusGestureDeserializer['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.focusGesture)),
4939
+ zoomGesture: PrivateZoomGestureDeserializer['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.zoomGesture)),
4940
+ zoomGestures: jsonDefaults.DataCaptureView.zoomGestures
4941
+ ? PrivateZoomGestureDeserializer['fromJSONArray'](parseOrUse(jsonDefaults.DataCaptureView.zoomGestures).map(parseOrUse))
4942
+ : PrivateZoomGestureDeserializer['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.zoomGesture)) != null
4943
+ ? [PrivateZoomGestureDeserializer['fromJSON'](parseOrUse(jsonDefaults.DataCaptureView.zoomGesture))]
4944
+ : [],
4650
4945
  logoStyle: jsonDefaults.DataCaptureView.logoStyle,
4651
4946
  shouldShowZoomNotification: jsonDefaults.DataCaptureView.shouldShowZoomNotification,
4652
4947
  },
4653
- RectangularViewfinder: Object
4654
- .keys(jsonDefaults.RectangularViewfinder.styles)
4655
- .reduce((acc, key) => {
4948
+ RectangularViewfinder: Object.keys(jsonDefaults.RectangularViewfinder.styles).reduce((acc, key) => {
4656
4949
  const viewfinder = jsonDefaults.RectangularViewfinder.styles[key];
4657
4950
  acc.styles[key] = {
4658
- size: SizeWithUnitAndAspect['fromJSON'](JSON.parse(viewfinder.size)),
4951
+ size: SizeWithUnitAndAspect['fromJSON'](parseOrUse(viewfinder.size)),
4659
4952
  color: Color['fromJSON'](viewfinder.color),
4660
4953
  disabledColor: Color['fromJSON'](viewfinder.disabledColor),
4661
4954
  style: viewfinder.style,
4662
4955
  lineStyle: viewfinder.lineStyle,
4663
4956
  dimming: viewfinder.dimming,
4664
4957
  disabledDimming: viewfinder.disabledDimming,
4665
- animation: RectangularViewfinderAnimation['fromJSON'](JSON.parse(viewfinder.animation)),
4958
+ animation: RectangularViewfinderAnimation['fromJSON'](parseOrUse(viewfinder.animation)),
4666
4959
  };
4667
4960
  return acc;
4668
4961
  }, { defaultStyle: jsonDefaults.RectangularViewfinder.defaultStyle, styles: {} }),
@@ -4672,7 +4965,7 @@ function parseDefaults(jsonDefaults) {
4672
4965
  },
4673
4966
  Brush: new Brush(Color['fromJSON'](jsonDefaults.Brush.fillColor), Color['fromJSON'](jsonDefaults.Brush.strokeColor), jsonDefaults.Brush.strokeWidth),
4674
4967
  LaserlineViewfinder: {
4675
- width: NumberWithUnit['fromJSON'](JSON.parse(jsonDefaults.LaserlineViewfinder.width)),
4968
+ width: NumberWithUnit['fromJSON'](parseOrUse(jsonDefaults.LaserlineViewfinder.width)),
4676
4969
  enabledColor: Color['fromJSON'](jsonDefaults.LaserlineViewfinder.enabledColor),
4677
4970
  disabledColor: Color['fromJSON'](jsonDefaults.LaserlineViewfinder.disabledColor),
4678
4971
  },
@@ -5100,5 +5393,5 @@ var ClusteringMode;
5100
5393
  ClusteringMode["AutoWithManualCorrection"] = "autoWithManualCorrection";
5101
5394
  })(ClusteringMode || (ClusteringMode = {}));
5102
5395
 
5103
- export { AimerViewfinder, Anchor, BaseController, BaseDataCaptureView, Brush, CORE_PROXY_TYPE_NAMES, Camera, CameraController, CameraOwnershipHelper, CameraOwnershipManager, CameraPosition, CameraSettings, ClusteringMode, Color, ContextStatus, ControlImage, CoreProxyAdapter, DataCaptureContext, DataCaptureContextEvents, DataCaptureContextSettings, DataCaptureViewController, DataCaptureViewEvents, DefaultSerializeable, Direction, EventDataParser, EventEmitter, Expiration, FactoryMaker, Feedback, FocusGestureListenerEvents, FocusGestureStrategy, FocusRange, FontFamily, FrameDataController, FrameDataSettings, FrameDataSettingsBuilder, FrameSourceListenerEvents, FrameSourceState, HTMLElementState, HtmlElementPosition, HtmlElementSize, ImageBuffer, ImageFrameSource, LaserlineViewfinder, LicenseInfo, LogoStyle, MacroMode, MacroModeListenerEvents, MarginsWithUnit, MeasureUnit, NativeProxy, NoViewfinder, NoneLocationSelection, NumberWithUnit, Observable, OpenSourceSoftwareLicenseInfo, Orientation, Point, PointWithUnit, PrivateFocusGestureDeserializer, PrivateFrameData, PrivateZoomGestureDeserializer, Quadrilateral, RadiusLocationSelection, Rect, RectWithUnit, RectangularLocationSelection, RectangularViewfinder, RectangularViewfinderAnimation, RectangularViewfinderLineStyle, RectangularViewfinderStyle, SKIP, ScanIntention, ScanditIcon, ScanditIconBuilder, ScanditIconShape, ScanditIconType, Size, SizeWithAspect, SizeWithUnit, SizeWithUnitAndAspect, SizingMode, Sound, SwipeToZoom, TapToFocus, TextAlignment, TorchListenerEvents, TorchState, TorchSwitchControl, Vibration, VibrationType, VideoResolution, WaveFormVibration, ZoomGestureListenerEvents, ZoomSwitchControl, createNativeProxy, ensureCoreDefaults, generateIdentifier, getCoreDefaults, ignoreFromSerialization, ignoreFromSerializationIfNull, loadCoreDefaults, nameForSerialization, registerCoreProxies, registerProxies, serializationDefault, setCoreDefaultsLoader };
5396
+ export { AimerViewfinder, Anchor, BaseController, BaseDataCaptureView, Brush, CORE_PROXY_TYPE_NAMES, Camera, CameraController, CameraOwnershipHelper, CameraOwnershipManager, CameraPosition, CameraSettings, ClusteringMode, Color, ContextStatus, ControlImage, CoreProxyAdapter, DataCaptureContext, DataCaptureContextEvents, DataCaptureContextSettings, DataCaptureViewController, DataCaptureViewEvents, DefaultSerializeable, Direction, EventDataParser, EventEmitter, Expiration, FactoryMaker, Feedback, FocusGestureListenerEvents, FocusGestureStrategy, FocusRange, FontFamily, FrameDataController, FrameDataSettings, FrameDataSettingsBuilder, FrameSourceListenerEvents, FrameSourceState, HTMLElementState, HtmlElementPosition, HtmlElementSize, ImageBuffer, ImageFrameSource, LaserlineViewfinder, LicenseInfo, LogoStyle, MacroMode, MacroModeListenerEvents, MarginsWithUnit, MeasureUnit, NativeProxy, NoViewfinder, NoneLocationSelection, NumberWithUnit, Observable, OpenSourceSoftwareLicenseInfo, Orientation, PinchToZoom, Point, PointWithUnit, PrivateFocusGestureDeserializer, PrivateFrameData, PrivateZoomGestureDeserializer, Quadrilateral, RadiusLocationSelection, Rect, RectWithUnit, RectangularLocationSelection, RectangularViewfinder, RectangularViewfinderAnimation, RectangularViewfinderLineStyle, RectangularViewfinderStyle, SKIP, ScanIntention, ScanditIcon, ScanditIconBuilder, ScanditIconShape, ScanditIconType, Size, SizeWithAspect, SizeWithUnit, SizeWithUnitAndAspect, SizingMode, Sound, SwipeToZoom, TapToFocus, TextAlignment, TorchListenerEvents, TorchState, TorchSwitchControl, Vibration, VibrationType, VideoResolution, WaveFormVibration, ZoomGestureListenerEvents, ZoomListenerEvents, ZoomSwitchControl, ZoomSwitchOrientation, createNativeProxy, ensureCoreDefaults, generateIdentifier, getCoreDefaults, ignoreFromSerialization, ignoreFromSerializationIfNull, loadCoreDefaults, nameForSerialization, registerCoreProxies, registerProxies, serializationDefault, setCoreDefaultsLoader };
5104
5397
  //# sourceMappingURL=index.js.map