@scandit/web-datacapture-barcode 7.4.1 → 7.5.0-beta.2

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 (122) hide show
  1. package/build/js/ar/BarcodeAr.js +1 -1
  2. package/build/js/ar/BarcodeArAnnotationProvider.d.ts +1 -0
  3. package/build/js/ar/BarcodeArFeedback.js +1 -1
  4. package/build/js/ar/BarcodeArPresenter.d.ts +3 -1
  5. package/build/js/ar/BarcodeArPresenter.js +1 -1
  6. package/build/js/ar/BarcodeArView.d.ts +8 -1
  7. package/build/js/ar/BarcodeArView.js +1 -1
  8. package/build/js/ar/BarcodeArViewUiListener.d.ts +19 -0
  9. package/build/js/ar/BarcodeArViewUiListener.js +0 -0
  10. package/build/js/ar/ui/atoms/BarcodeArInfoAnnotationBodyComponent.d.ts +1 -0
  11. package/build/js/ar/ui/atoms/BarcodeArInfoAnnotationBodyComponent.js +1 -1
  12. package/build/js/ar/ui/atoms/BarcodeArInfoAnnotationFooter.js +1 -1
  13. package/build/js/ar/ui/atoms/BarcodeArInfoAnnotationHeader.js +1 -1
  14. package/build/js/ar/ui/atoms/private/BarcodeArInfoAnnotationHeaderFooterUtils.js +1 -1
  15. package/build/js/ar/ui/atoms/private/BarcodeStatusIconContainer.d.ts +4 -3
  16. package/build/js/ar/ui/atoms/private/BarcodeStatusIconContainer.js +1 -1
  17. package/build/js/ar/ui/organisms/BarcodeArAnnotation.d.ts +2 -0
  18. package/build/js/ar/ui/organisms/BarcodeArCircleHighlight.d.ts +3 -1
  19. package/build/js/ar/ui/organisms/BarcodeArCircleHighlight.js +1 -1
  20. package/build/js/ar/ui/organisms/BarcodeArInfoAnnotation.d.ts +2 -0
  21. package/build/js/ar/ui/organisms/BarcodeArInfoAnnotation.js +1 -1
  22. package/build/js/ar/ui/organisms/BarcodeArPopoverAnnotation.d.ts +1 -0
  23. package/build/js/ar/ui/organisms/BarcodeArRectangleHighlight.d.ts +10 -3
  24. package/build/js/ar/ui/organisms/BarcodeArRectangleHighlight.js +1 -1
  25. package/build/js/ar/ui/organisms/BarcodeArResponsiveAnnotation.d.ts +45 -0
  26. package/build/js/ar/ui/organisms/BarcodeArResponsiveAnnotation.js +1 -0
  27. package/build/js/ar/ui/organisms/BarcodeArStatusIconAnnotation.d.ts +8 -2
  28. package/build/js/ar/ui/organisms/BarcodeArStatusIconAnnotation.js +1 -1
  29. package/build/js/ar/ui/organisms/private/AnchorAndDirectionUtils.d.ts +1 -0
  30. package/build/js/ar/ui/organisms/private/BarcodeArAnnotationVariation.d.ts +7 -0
  31. package/build/js/ar/ui/organisms/private/BarcodeArAnnotationVariation.js +1 -0
  32. package/build/js/chunks/chunk-2SUUEVCZ.js +1 -0
  33. package/build/js/chunks/chunk-3AM2NMXL.js +1 -0
  34. package/build/js/chunks/chunk-5YBQLHNM.js +1 -0
  35. package/build/js/chunks/{chunk-D55IVUHN.js → chunk-6I7LWROK.js} +1 -1
  36. package/build/js/chunks/{chunk-Z5XSYMXM.js → chunk-7VFYOUPO.js} +1 -1
  37. package/build/js/chunks/chunk-ABYMHFHV.js +1 -0
  38. package/build/js/chunks/chunk-BZWA4BPU.js +7 -0
  39. package/build/js/chunks/{chunk-EUPONI3T.js → chunk-C3BYC73L.js} +1 -1
  40. package/build/js/chunks/{chunk-RDEBUZMC.js → chunk-CQRDFXZQ.js} +1 -1
  41. package/build/js/chunks/{chunk-WRSF34UR.js → chunk-F4E33CA6.js} +1 -1
  42. package/build/js/chunks/{chunk-AOYPDGOI.js → chunk-GT4V3BBH.js} +1 -1
  43. package/build/js/chunks/{chunk-2R3AXF37.js → chunk-IZNNTRDR.js} +1 -1
  44. package/build/js/chunks/{chunk-TBEB6P5W.js → chunk-J7JRYKFG.js} +1 -1
  45. package/build/js/chunks/{chunk-7GJVUU3G.js → chunk-JKO4EZPZ.js} +1 -1
  46. package/build/js/chunks/chunk-KMEGIFKL.js +1 -0
  47. package/build/js/chunks/chunk-NE5ADP4U.js +1 -0
  48. package/build/js/chunks/{chunk-PGZPJXZN.js → chunk-O6JPGVIL.js} +1 -1
  49. package/build/js/chunks/{chunk-KLLRZ5ML.js → chunk-OIMA4UQP.js} +1 -1
  50. package/build/js/chunks/chunk-OQVPV5PW.js +5 -0
  51. package/build/js/chunks/{chunk-WYBHX6B2.js → chunk-Q4CWFCYP.js} +1 -1
  52. package/build/js/chunks/chunk-RUJWPCWD.js +1 -0
  53. package/build/js/chunks/chunk-S5246TLI.js +9 -0
  54. package/build/js/chunks/{chunk-FLVXOM3V.js → chunk-SH7POIKZ.js} +1 -1
  55. package/build/js/chunks/chunk-VZNESTL2.js +6 -0
  56. package/build/js/chunks/{chunk-LGBIU7XO.js → chunk-WXR7X3J5.js} +1 -1
  57. package/build/js/chunks/chunk-ZD5V3IYR.js +2 -0
  58. package/build/js/find/BarcodeFind.js +1 -1
  59. package/build/js/find/BarcodeFindView.js +1 -1
  60. package/build/js/find/index.js +1 -1
  61. package/build/js/find/ui/molecules/TorchIconButton.js +1 -1
  62. package/build/js/index.d.ts +3 -0
  63. package/build/js/index.js +1 -1
  64. package/build/js/moduleLoader.js +1 -1
  65. package/build/js/spark/index.js +1 -1
  66. package/build/js/spark/ui/SparkScanView.js +1 -1
  67. package/build/js/spark/ui/SparkScanViewMiniPreview.js +1 -1
  68. package/build/js/spark/ui/SparkScanViewPresenter.js +1 -1
  69. package/build/js/spark/ui/SparkScanViewTriggerButton.js +1 -1
  70. package/build/js/spark/ui/index.js +1 -1
  71. package/build/js/worker/BarcodeCaptureWorkerManager.js +1 -1
  72. package/build/js/worker/WorkerMain.js +1 -1
  73. package/build/js/worker/barcodeCapture.inlineWorker.js +1 -1
  74. package/build/js/worker/dataCaptureEngine.js +1 -1
  75. package/package.json +3 -3
  76. package/sdc-lib/resources/models/barcode_classification_default.fde280355f0b.model +0 -0
  77. package/sdc-lib/resources/models/barcode_localization_default.ea245fd6454e.model +0 -0
  78. package/sdc-lib/resources/models/barcode_localization_dpm_default.313e68d94ae1.model +0 -0
  79. package/sdc-lib/resources/models/barcode_localization_generic_postal_code_default.42a9746ffe91.model +0 -0
  80. package/sdc-lib/resources/models/barcode_localization_oned_default.33db0e688e2c.model +0 -0
  81. package/sdc-lib/resources/models/barcode_localization_twod_default.547ff0613d2c.model +0 -0
  82. package/sdc-lib/resources/models/barcode_ocr_fallback_ocr_detector_default.d02cb8506d3f.model +0 -0
  83. package/sdc-lib/resources/models/barcode_semantics_ocr_detector_default.9e7b3e9f0b6c.model +0 -0
  84. package/sdc-lib/resources/models/eu_dl_localization.d02cb8506d3f.model +0 -0
  85. package/sdc-lib/resources/models/invalidated_id_classification_default.373f114cb966.model +0 -0
  86. package/sdc-lib/resources/models/ocr_barcode_semantics_default.f48356d94444.model +0 -0
  87. package/sdc-lib/resources/models/price_label_localization.b1f6616d5e10.model +0 -0
  88. package/sdc-lib/resources/models/price_localization_in_whole_label.614fcbe425d2.model +0 -0
  89. package/sdc-lib/resources/models/uk_dl_code_localization.d02cb8506d3f.model +0 -0
  90. package/sdc-lib/scandit-datacapture-sdk-barcode-pthreads.js +1 -1
  91. package/sdc-lib/scandit-datacapture-sdk-barcode-pthreads.wasm +0 -0
  92. package/sdc-lib/scandit-datacapture-sdk-barcode-simd-pthreads.js +1 -1
  93. package/sdc-lib/scandit-datacapture-sdk-barcode-simd-pthreads.wasm +0 -0
  94. package/sdc-lib/scandit-datacapture-sdk-barcode-simd.js +1 -1
  95. package/sdc-lib/scandit-datacapture-sdk-barcode-simd.wasm +0 -0
  96. package/sdc-lib/scandit-datacapture-sdk-barcode.js +1 -1
  97. package/sdc-lib/scandit-datacapture-sdk-barcode.wasm +0 -0
  98. package/build/js/chunks/chunk-4KRKVW3B.js +0 -1
  99. package/build/js/chunks/chunk-A2BKX6QD.js +0 -1
  100. package/build/js/chunks/chunk-BSEQX52V.js +0 -1
  101. package/build/js/chunks/chunk-GBKJMQMZ.js +0 -1
  102. package/build/js/chunks/chunk-GWSHGACY.js +0 -9
  103. package/build/js/chunks/chunk-ICRLCCOF.js +0 -1
  104. package/build/js/chunks/chunk-IRK7SW2B.js +0 -2
  105. package/build/js/chunks/chunk-JSJOGGUQ.js +0 -5
  106. package/build/js/chunks/chunk-UJWVVADW.js +0 -6
  107. package/build/js/chunks/chunk-XUOTM7YW.js +0 -7
  108. package/sdc-lib/resources/models/barcode_classification_default.b90ecc5d362d.model +0 -0
  109. package/sdc-lib/resources/models/barcode_localization_default.47d1f96d10cc.model +0 -0
  110. package/sdc-lib/resources/models/barcode_localization_dpm_default.2373d8bc7a9a.model +0 -0
  111. package/sdc-lib/resources/models/barcode_localization_generic_postal_code_default.4c1ba34eafc0.model +0 -0
  112. package/sdc-lib/resources/models/barcode_localization_oned_default.5f2c85a7773b.model +0 -0
  113. package/sdc-lib/resources/models/barcode_localization_twod_default.795c17cef2bf.model +0 -0
  114. package/sdc-lib/resources/models/barcode_ocr_fallback_ocr_detector_default.e440ae4acaf7.model +0 -0
  115. package/sdc-lib/resources/models/barcode_semantics_ocr_detector_default.f383d4282ee9.model +0 -0
  116. package/sdc-lib/resources/models/eu_dl_localization.e440ae4acaf7.model +0 -0
  117. package/sdc-lib/resources/models/invalidated_id_classification_default.a055873831c9.model +0 -0
  118. package/sdc-lib/resources/models/ocr_barcode_semantics_default.b8e0fdb8dc2c.model +0 -0
  119. package/sdc-lib/resources/models/price_label_localization.ae780fb79426.model +0 -0
  120. package/sdc-lib/resources/models/price_localization_in_whole_label.ae70141639d3.model +0 -0
  121. package/sdc-lib/resources/models/uk_dl_code_localization.e440ae4acaf7.model +0 -0
  122. /package/build/js/chunks/{chunk-3MQAMNCQ.js → chunk-QTXTS6WX.js} +0 -0
@@ -1 +1 @@
1
- export{a as BarcodeAr}from'../chunks/chunk-Z5XSYMXM.js';
1
+ export{a as BarcodeAr}from'../chunks/chunk-7VFYOUPO.js';
@@ -5,6 +5,7 @@ import '@scandit/web-datacapture-core/build/js/private/Serializable';
5
5
  import '../EncodingRange.js';
6
6
  import '../StructuredAppendData.js';
7
7
  import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
8
+ import './ui/organisms/private/BarcodeArAnnotationVariation.js';
8
9
 
9
10
  interface BarcodeArAnnotationProvider {
10
11
  annotationForBarcode(barcode: Barcode, callback: (annotation: BarcodeArAnnotation) => void): Promise<void>;
@@ -1 +1 @@
1
- export{a as BarcodeArFeedback}from'../chunks/chunk-3MQAMNCQ.js';
1
+ export{a as BarcodeArFeedback}from'../chunks/chunk-QTXTS6WX.js';
@@ -14,18 +14,20 @@ import '../TrackedBarcode.js';
14
14
  import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
15
15
  import './BarcodeArAnnotationProvider.js';
16
16
  import './ui/organisms/BarcodeArAnnotation.js';
17
+ import './ui/organisms/private/BarcodeArAnnotationVariation.js';
17
18
  import './BarcodeArHighlightProvider.js';
18
19
  import './ui/organisms/BarcodeArHighlight.js';
20
+ import './BarcodeArViewUiListener.js';
19
21
 
20
22
  declare class BarcodeArPresenter implements BarcodeArListener {
21
23
  private readonly view;
22
24
  private context;
23
- private readonly barcodeAr;
24
25
  private viewSettings;
25
26
  private readonly cameraSettings;
26
27
  private torchState;
27
28
  private cameraSupportMap;
28
29
  private zoomFactor;
30
+ readonly barcodeAr: BarcodeAr;
29
31
  constructor(view: BarcodeArView, context: DataCaptureContext, barcodeAr: BarcodeAr, viewSettings: BarcodeArViewSettings, cameraSettings: CameraSettings);
30
32
  get currentCamera(): Camera;
31
33
  prepare(): Promise<void>;
@@ -1 +1 @@
1
- export{a as BarcodeArPresenter}from'../chunks/chunk-TBEB6P5W.js';
1
+ export{a as BarcodeArPresenter}from'../chunks/chunk-J7JRYKFG.js';
@@ -1,9 +1,10 @@
1
- import { Anchor, DataCaptureView, DataCaptureContext, CameraSettings } from '@scandit/web-datacapture-core';
1
+ import { Anchor, DataCaptureView, DataCaptureContext, CameraSettings, NotificationPresenter } from '@scandit/web-datacapture-core';
2
2
  import { ScanditHTMLElement } from '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
3
3
  import { B as BarcodeAr } from '../BarcodeAr-02zxFUGP.js';
4
4
  import { BarcodeArAnnotationProvider } from './BarcodeArAnnotationProvider.js';
5
5
  import { BarcodeArHighlightProvider } from './BarcodeArHighlightProvider.js';
6
6
  import { BarcodeArViewSettings } from './BarcodeArViewSettings.js';
7
+ import { BarcodeArViewUiListener } from './BarcodeArViewUiListener.js';
7
8
  import '@scandit/web-datacapture-core/build/js/private/Serializable';
8
9
  import './BarcodeArSettings.js';
9
10
  import '../Barcode.js';
@@ -14,6 +15,7 @@ import './BarcodeArFeedback.js';
14
15
  import './BarcodeArSession.js';
15
16
  import '../TrackedBarcode.js';
16
17
  import './ui/organisms/BarcodeArAnnotation.js';
18
+ import './ui/organisms/private/BarcodeArAnnotationVariation.js';
17
19
  import './ui/organisms/BarcodeArHighlight.js';
18
20
 
19
21
  declare class BarcodeArView extends ScanditHTMLElement {
@@ -34,6 +36,7 @@ declare class BarcodeArView extends ScanditHTMLElement {
34
36
  private onInfoAnnotationTapHandler;
35
37
  private backdrop;
36
38
  private pendingDeletionTimeout;
39
+ listener?: BarcodeArViewUiListener;
37
40
  set shouldShowZoomControl(value: boolean);
38
41
  get shouldShowZoomControl(): boolean;
39
42
  set shouldShowCameraSwitchControl(value: boolean);
@@ -54,6 +57,7 @@ declare class BarcodeArView extends ScanditHTMLElement {
54
57
  stop(): Promise<void>;
55
58
  pause(): Promise<void>;
56
59
  reset(): void;
60
+ getNotificationPresenter(): NotificationPresenter;
57
61
  private toggleTorchIcon;
58
62
  private onTorchButtonClick;
59
63
  private onCameraSwitchButtonClick;
@@ -85,6 +89,9 @@ declare class BarcodeArView extends ScanditHTMLElement {
85
89
  private identifierForAnnotation;
86
90
  private onHighlightsOrAnnotationForTrackedBarcode;
87
91
  private onAnnotation;
92
+ private updateExistingAnnotation;
93
+ private setupNewAnnotation;
94
+ private getAnnotationVariationForQuad;
88
95
  private onHighlight;
89
96
  private queryHighlightByDataIdentifier;
90
97
  private queryAnnotationByDataIdentifier;
@@ -1 +1 @@
1
- export{a as BarcodeArView}from'../chunks/chunk-BSEQX52V.js';
1
+ export{a as BarcodeArView}from'../chunks/chunk-2SUUEVCZ.js';
@@ -0,0 +1,19 @@
1
+ import { Barcode } from '../Barcode.js';
2
+ import { B as BarcodeAr } from '../BarcodeAr-02zxFUGP.js';
3
+ import { BarcodeArHighlight } from './ui/organisms/BarcodeArHighlight.js';
4
+ import '@scandit/web-datacapture-core';
5
+ import '@scandit/web-datacapture-core/build/js/private/Serializable';
6
+ import '../EncodingRange.js';
7
+ import '../StructuredAppendData.js';
8
+ import './BarcodeArSettings.js';
9
+ import '../SymbologySettings.js';
10
+ import './BarcodeArFeedback.js';
11
+ import './BarcodeArSession.js';
12
+ import '../TrackedBarcode.js';
13
+ import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
14
+
15
+ interface BarcodeArViewUiListener {
16
+ didTapHighlightForBarcode(barcodeAr: BarcodeAr, barcode: Barcode, highlight: BarcodeArHighlight): void;
17
+ }
18
+
19
+ export type { BarcodeArViewUiListener };
File without changes
@@ -6,6 +6,7 @@ declare class BarcodeArInfoAnnotationBodyComponent extends ScanditHTMLElement {
6
6
  isLeftIconTappable: boolean;
7
7
  isRightIconTappable: boolean;
8
8
  private textElement;
9
+ private containerElement;
9
10
  constructor();
10
11
  set rightIcon(icon: Optional<ScanditIcon>);
11
12
  get rightIcon(): Optional<ScanditIcon>;
@@ -1 +1 @@
1
- export{a as BarcodeArInfoAnnotationBodyComponent}from'../../../chunks/chunk-JSJOGGUQ.js';
1
+ export{a as BarcodeArInfoAnnotationBodyComponent}from'../../../chunks/chunk-OQVPV5PW.js';
@@ -1 +1 @@
1
- export{a as BarcodeArInfoAnnotationFooter}from'../../../chunks/chunk-PGZPJXZN.js';
1
+ export{a as BarcodeArInfoAnnotationFooter}from'../../../chunks/chunk-O6JPGVIL.js';
@@ -1 +1 @@
1
- export{a as BarcodeArInfoAnnotationHeader}from'../../../chunks/chunk-AOYPDGOI.js';
1
+ export{a as BarcodeArInfoAnnotationHeader}from'../../../chunks/chunk-GT4V3BBH.js';
@@ -1 +1 @@
1
- export{a as CONTAINER_SELECTOR,b as ICON_TEXT_SELECTOR,c as TEXT_SELECTOR,e as createStyles,d as createTemplate,h as getBackgroundColor,f as getIcon,n as getText,j as getTextColor,l as getTextSize,i as setBackgroundColor,o as setText,k as setTextColor,m as setTextSize,g as updateIcon}from'../../../../chunks/chunk-UJWVVADW.js';
1
+ export{a as CONTAINER_SELECTOR,b as ICON_TEXT_SELECTOR,c as TEXT_SELECTOR,e as createStyles,d as createTemplate,h as getBackgroundColor,f as getIcon,n as getText,j as getTextColor,l as getTextSize,i as setBackgroundColor,o as setText,k as setTextColor,m as setTextSize,g as updateIcon}from'../../../../chunks/chunk-VZNESTL2.js';
@@ -6,7 +6,6 @@ declare class BarcodeStatusIconContainer extends ScanditHTMLElement {
6
6
  private static readonly observedAttributes;
7
7
  private containerElement;
8
8
  private textContainer;
9
- private onToggleListener;
10
9
  constructor();
11
10
  set text(name: string);
12
11
  get text(): string;
@@ -14,12 +13,14 @@ declare class BarcodeStatusIconContainer extends ScanditHTMLElement {
14
13
  get tip(): boolean;
15
14
  set textColor(color: Color);
16
15
  get textColor(): Color;
16
+ set expanded(value: boolean);
17
+ set backgroundColor(color: Color);
18
+ get backgroundColor(): Color;
19
+ get expanded(): boolean;
17
20
  static create(): BarcodeStatusIconContainer;
18
21
  static register(): void;
19
22
  private static createStyleElement;
20
- onToggle(): void;
21
23
  connectedCallback(): void;
22
- disconnectedCallback(): void;
23
24
  attributeChangedCallback(name: string, _oldValue: string, newValue: string): void;
24
25
  private updateText;
25
26
  private toggleTip;
@@ -1 +1 @@
1
- export{a as BarcodeStatusIconContainer}from'../../../../chunks/chunk-XUOTM7YW.js';
1
+ export{a as BarcodeStatusIconContainer}from'../../../../chunks/chunk-BZWA4BPU.js';
@@ -1,5 +1,6 @@
1
1
  import { Point, Direction } from '@scandit/web-datacapture-core';
2
2
  import { ScanditHTMLElement } from '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
3
+ import { BarcodeArAnnotationVariation } from './private/BarcodeArAnnotationVariation.js';
3
4
 
4
5
  declare enum BarcodeArAnnotationTrigger {
5
6
  HighlightTap = "highlightTap",
@@ -18,6 +19,7 @@ declare enum BarcodeArAnnotationAnchor {
18
19
  interface PrivateBarcodeArAnnotation extends BarcodeArAnnotation {
19
20
  direction?: Direction;
20
21
  anchor?: BarcodeArAnnotationAnchor;
22
+ annotationVariation?: BarcodeArAnnotationVariation;
21
23
  dataset: {
22
24
  identifier: `${string}-annotation`;
23
25
  id: string;
@@ -12,10 +12,12 @@ declare enum BarcodeArCircleHighlightPreset {
12
12
  }
13
13
  declare class BarcodeArCircleHighlight extends ScanditHTMLElement implements BarcodeArHighlight {
14
14
  private _isPulsing;
15
+ private _icon;
15
16
  static tag: "scandit-barcode-ar-circle-highlight";
16
17
  set isPulsing(isPulsing: boolean);
17
18
  get isPulsing(): boolean;
18
- icon: ScanditIcon | null;
19
+ set icon(icon: ScanditIcon | null);
20
+ get icon(): ScanditIcon | null;
19
21
  private preset;
20
22
  private dot;
21
23
  private brushBuilder;
@@ -1 +1 @@
1
- export{b as BarcodeArCircleHighlight,a as BarcodeArCircleHighlightPreset}from'../../../chunks/chunk-4KRKVW3B.js';
1
+ export{b as BarcodeArCircleHighlight,a as BarcodeArCircleHighlightPreset}from'../../../chunks/chunk-RUJWPCWD.js';
@@ -9,6 +9,7 @@ import '@scandit/web-datacapture-core/build/js/private/Serializable';
9
9
  import '../../../EncodingRange.js';
10
10
  import '../../../StructuredAppendData.js';
11
11
  import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
12
+ import './private/BarcodeArAnnotationVariation.js';
12
13
 
13
14
  declare enum BarcodeArInfoAnnotationAnchor {
14
15
  Top = "top-center",
@@ -37,6 +38,7 @@ declare class BarcodeArInfoAnnotation extends ScanditHTMLElement implements Barc
37
38
  annotationTrigger: BarcodeArAnnotationTrigger;
38
39
  listener?: BarcodeArInfoAnnotationListener;
39
40
  private _barcode;
41
+ private _widthPreset;
40
42
  get barcode(): Barcode;
41
43
  private set barcode(value);
42
44
  private onPointerUpListener;
@@ -1 +1 @@
1
- export{d as BarcodeArInfoAnnotation,a as BarcodeArInfoAnnotationAnchor,c as BarcodeArInfoAnnotationEvent,b as BarcodeArInfoAnnotationWidthPreset}from'../../../chunks/chunk-GWSHGACY.js';
1
+ export{d as BarcodeArInfoAnnotation,a as BarcodeArInfoAnnotationAnchor,c as BarcodeArInfoAnnotationEvent,b as BarcodeArInfoAnnotationWidthPreset}from'../../../chunks/chunk-S5246TLI.js';
@@ -7,6 +7,7 @@ import '@scandit/web-datacapture-core/build/js/private/Serializable';
7
7
  import '../../../EncodingRange.js';
8
8
  import '../../../StructuredAppendData.js';
9
9
  import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
10
+ import './private/BarcodeArAnnotationVariation.js';
10
11
 
11
12
  interface BarcodeArPopoverAnnotationListener {
12
13
  onPopoverButtonTapped?(popover: BarcodeArPopoverAnnotation, button: BarcodeArPopoverAnnotationButton, buttonIndex: number): void;
@@ -9,10 +9,15 @@ import '../../../StructuredAppendData.js';
9
9
  declare class BarcodeArRectangleHighlight extends ScanditHTMLElement implements BarcodeArHighlight {
10
10
  static tag: "scandit-barcode-ar-rectangle-highlight";
11
11
  private _brush;
12
- private brushAsDom;
13
12
  private _icon;
14
- private iconBuilder;
15
13
  private _barcode;
14
+ private static readonly widthCssVariable;
15
+ private static readonly heightCssVariable;
16
+ private static readonly backgroundColorCssVariable;
17
+ private static readonly strokeColorCssVariable;
18
+ private static readonly strokeWidthCssVariable;
19
+ constructor();
20
+ connectedCallback(): void;
16
21
  protected set barcode(barcode: Barcode);
17
22
  get barcode(): Barcode;
18
23
  set brush(brush: Brush);
@@ -25,8 +30,10 @@ declare class BarcodeArRectangleHighlight extends ScanditHTMLElement implements
25
30
  get width(): number;
26
31
  static create(barcode: Barcode): BarcodeArRectangleHighlight;
27
32
  private static register;
28
- connectedCallback(): Promise<void>;
29
33
  private updateBrushColor;
34
+ private setStylePropertyValue;
35
+ private getStylePropertyValue;
36
+ private static createStyleElement;
30
37
  updatePosition(point: Point, transformOrigin: Point, rotationAngle: number): void;
31
38
  }
32
39
  declare global {
@@ -1 +1 @@
1
- export{a as BarcodeArRectangleHighlight}from'../../../chunks/chunk-GBKJMQMZ.js';
1
+ export{a as BarcodeArRectangleHighlight}from'../../../chunks/chunk-KMEGIFKL.js';
@@ -0,0 +1,45 @@
1
+ import { ScanditHTMLElement, Point } from '@scandit/web-datacapture-core';
2
+ import { Barcode } from '../../../Barcode.js';
3
+ import { BarcodeArAnnotation, BarcodeArAnnotationTrigger } from './BarcodeArAnnotation.js';
4
+ import { BarcodeArInfoAnnotation } from './BarcodeArInfoAnnotation.js';
5
+ import '@scandit/web-datacapture-core/build/js/private/Serializable';
6
+ import '../../../EncodingRange.js';
7
+ import '../../../StructuredAppendData.js';
8
+ import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
9
+ import './private/BarcodeArAnnotationVariation.js';
10
+ import '@scandit/web-datacapture-core/build/js/private/utils/index.js';
11
+ import '../atoms/BarcodeArInfoAnnotationBodyComponent.js';
12
+ import '../atoms/BarcodeArInfoAnnotationFooter.js';
13
+ import '../atoms/BarcodeArInfoAnnotationHeader.js';
14
+
15
+ declare class BarcodeArResponsiveAnnotation extends ScanditHTMLElement implements BarcodeArAnnotation {
16
+ static tag: "scandit-barcode-ar-responsive-annotation";
17
+ private _barcode;
18
+ private closeUp;
19
+ private farAway;
20
+ private static _threshold;
21
+ private _annotationVariation;
22
+ protected static register(): void;
23
+ static create(barcode: Barcode, closeUp: BarcodeArInfoAnnotation | null, farAway: BarcodeArInfoAnnotation | null): BarcodeArResponsiveAnnotation;
24
+ private get currentAnnotation();
25
+ get annotationTrigger(): BarcodeArAnnotationTrigger;
26
+ set annotationTrigger(trigger: BarcodeArAnnotationTrigger);
27
+ private set anchor(value);
28
+ private get anchor();
29
+ get barcode(): Barcode;
30
+ updatePosition(point: Point, transformOrigin: Point, rotationAngle: number): void;
31
+ private get annotationVariation();
32
+ private set annotationVariation(value);
33
+ private updateAnnotationVisibility;
34
+ static get threshold(): number;
35
+ static set threshold(threshold: number);
36
+ private connectedCallback;
37
+ private disconnectedCallback;
38
+ }
39
+ declare global {
40
+ interface HTMLElementTagNameMap {
41
+ [BarcodeArResponsiveAnnotation.tag]: BarcodeArResponsiveAnnotation;
42
+ }
43
+ }
44
+
45
+ export { BarcodeArResponsiveAnnotation };
@@ -0,0 +1 @@
1
+ export{a as BarcodeArResponsiveAnnotation}from'../../../chunks/chunk-3AM2NMXL.js';
@@ -2,6 +2,7 @@ import { ScanditIcon, Color, Point } from '@scandit/web-datacapture-core';
2
2
  import { ScanditHTMLElement } from '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
3
3
  import { BarcodeArAnnotation, BarcodeArAnnotationTrigger } from './BarcodeArAnnotation.js';
4
4
  import { Barcode } from '../../../Barcode.js';
5
+ import './private/BarcodeArAnnotationVariation.js';
5
6
  import '@scandit/web-datacapture-core/build/js/private/Serializable';
6
7
  import '../../../EncodingRange.js';
7
8
  import '../../../StructuredAppendData.js';
@@ -17,7 +18,10 @@ declare class BarcodeArStatusIconAnnotation extends ScanditHTMLElement implement
17
18
  annotationTrigger: BarcodeArAnnotationTrigger;
18
19
  anchor: BarcodeArStatusIconAnnotationAnchor;
19
20
  private readonly statusIconContainer;
21
+ private onToggleListener;
20
22
  private _barcode;
23
+ private _backgroundColor;
24
+ private _icon;
21
25
  constructor();
22
26
  get barcode(): Barcode;
23
27
  protected set barcode(barcode: Barcode);
@@ -25,8 +29,8 @@ declare class BarcodeArStatusIconAnnotation extends ScanditHTMLElement implement
25
29
  get text(): string;
26
30
  set hasTip(value: boolean);
27
31
  get hasTip(): boolean;
28
- set icon(icon: ScanditIcon);
29
- get icon(): ScanditIcon;
32
+ set icon(icon: ScanditIcon | null);
33
+ get icon(): ScanditIcon | null;
30
34
  set backgroundColor(color: Color);
31
35
  get backgroundColor(): Color;
32
36
  set textColor(color: Color);
@@ -34,6 +38,8 @@ declare class BarcodeArStatusIconAnnotation extends ScanditHTMLElement implement
34
38
  static create(barcode: Barcode): BarcodeArStatusIconAnnotation;
35
39
  private static register;
36
40
  connectedCallback(): Promise<void>;
41
+ disconnectedCallback(): void;
42
+ private onToggle;
37
43
  updatePosition(point: Point, transformOrigin: Point, rotationAngle: number): void;
38
44
  }
39
45
  declare global {
@@ -1 +1 @@
1
- export{b as BarcodeArStatusIconAnnotation,a as BarcodeArStatusIconAnnotationAnchor}from'../../../chunks/chunk-ICRLCCOF.js';
1
+ export{b as BarcodeArStatusIconAnnotation,a as BarcodeArStatusIconAnnotationAnchor}from'../../../chunks/chunk-NE5ADP4U.js';
@@ -1,6 +1,7 @@
1
1
  import { Direction } from '@scandit/web-datacapture-core';
2
2
  import { BarcodeArAnnotationAnchor } from '../BarcodeArAnnotation.js';
3
3
  import '@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';
4
+ import './BarcodeArAnnotationVariation.js';
4
5
 
5
6
  declare const isDirectionHorizontal: (direction: Direction | undefined) => boolean;
6
7
  declare const isDirectionVertical: (direction: Direction | undefined) => boolean;
@@ -0,0 +1,7 @@
1
+ declare enum BarcodeArAnnotationVariation {
2
+ Unknown = 0,
3
+ CloseUp = 1,
4
+ FarAway = 2
5
+ }
6
+
7
+ export { BarcodeArAnnotationVariation };
@@ -0,0 +1 @@
1
+ export{a as BarcodeArAnnotationVariation}from'../../../../chunks/chunk-5YBQLHNM.js';
@@ -0,0 +1 @@
1
+ import {a}from'./chunk-ZZQLFO35.js';import {a as a$8}from'./chunk-ZPCWOA3Y.js';import {a as a$7}from'./chunk-DQVSIMLI.js';import {b}from'./chunk-DGF7ODRH.js';import {a as a$a}from'./chunk-KMEGIFKL.js';import {a as a$5}from'./chunk-3AM2NMXL.js';import {b as b$1}from'./chunk-RUJWPCWD.js';import {a as a$6}from'./chunk-JKO4EZPZ.js';import {a as a$1}from'./chunk-I53W7VSB.js';import {a as a$9}from'./chunk-NDQSQK6H.js';import {a as a$2}from'./chunk-J7JRYKFG.js';import {a as a$4}from'./chunk-LKQMBRKB.js';import {a as a$3}from'./chunk-7VFYOUPO.js';import {Anchor,DataCaptureView,Direction,Point,Size}from'@scandit/web-datacapture-core';import {Backdrop}from'@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js';import {ScanditHTMLElement}from'@scandit/web-datacapture-core/build/js/private/utils/ScanditHTMLElement.js';import {css}from'@scandit/web-datacapture-core/build/js/private/utils/css.js';import {defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js';import {calculateArea,calculateWidth,calculateHeight}from'@scandit/web-datacapture-core/build/js/private/utils/quadrilateralUtils.js';import {Timeout}from'@scandit/web-datacapture-core/build/js/private/utils/timeout.js';var W={async highlightForBarcode(E,T){let t=a$a.create(E);T(t);}},c=class c extends ScanditHTMLElement{constructor(){super(...arguments);this.torchIconButton=null;this.cameraSwitchButton=null;this.zoomButton=null;this.onTorchButtonClickHandler=this.onTorchButtonClick.bind(this);this.onCameraSwitchButtonHandler=this.onCameraSwitchButtonClick.bind(this);this.onZoomButtonHandler=this.onZoomButtonClick.bind(this);this.onLayoutPointerDownHandler=this.onLayoutPointerDown.bind(this);this.onInfoAnnotationTapHandler=this.onInfoAnnotationTap.bind(this);this.pendingDeletionTimeout=null;}set shouldShowZoomControl(t){this.zoomButton&&(this.zoomButton.hidden=!t);}get shouldShowZoomControl(){return this.zoomButton===null?false:!this.zoomButton.hidden}set shouldShowCameraSwitchControl(t){this.cameraSwitchButton&&(this.cameraSwitchButton.hidden=!t);}get shouldShowCameraSwitchControl(){return this.cameraSwitchButton===null?false:!this.cameraSwitchButton.hidden}set shouldShowTorchControl(t){this.torchIconButton!==null&&(this.torchIconButton.hidden=!t);}get shouldShowTorchControl(){return this.torchIconButton===null?false:!this.torchIconButton.hidden}set torchControlPosition(t){var e;(e=this.torchIconButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.TopLeft:t}`);}get torchControlPosition(){var e,o;let t=(o=(e=this.torchIconButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.TopLeft:t.replace("controls-","")}set zoomControlPosition(t){var e;(e=this.zoomButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.BottomRight:t}`);}get zoomControlPosition(){var e,o;let t=(o=(e=this.zoomButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.BottomRight:t.replace("controls-","")}set cameraSwitchControlPosition(t){var e;(e=this.cameraSwitchButton)==null||e.setAttribute("slot",`controls-${t===Anchor.Center?Anchor.TopRight:t}`);}get cameraSwitchControlPosition(){var e,o;let t=(o=(e=this.zoomButton)==null?void 0:e.getAttribute("slot"))!=null?o:"";return t===""?Anchor.TopRight:t.replace("controls-","")}static async createWithSettings(t,e,o,i,n){c.register();let r=document.createElement(c.tag);return r.barcodeArViewSettings=i,r.layout=a.create(),r.append(r.layout),a$1(t)?(r.dataCaptureView=t,r.dataCaptureView.containerElement.prepend(r),await t.setContext(e)):(r.dataCaptureView=await DataCaptureView.forContext(e),r.dataCaptureView.connectToElement(t),r.dataCaptureView.containerElement.prepend(r)),r.presenter=new a$2(r,e,o,i,n!=null?n:a$3.createRecommendedCameraSettings()),await r.presenter.prepare(),r}static async create(t,e,o){return c.createWithSettings(t,e,o,new a$4)}static register(){defineCustomElements({[a.tag]:a,[a$8.tag]:a$8,[a$7.tag]:a$7,[a$6.tag]:a$6,[c.tag]:c,[Backdrop.tag]:Backdrop,[a$5.tag]:a$5});}static createStyleElement(){return css`[data-could-be-deleted=true]{display:none!important}[data-on-foreground=true]{z-index:3}${c.tag}{inset:0;position:absolute;z-index:1}`}async start(){return this.presenter.startSearching()}async stop(){return this.presenter.stopSearching()}async pause(){return this.presenter.pauseSearching()}reset(){this.deletePendingViews(),this.deleteAllViews();}getNotificationPresenter(){return this.dataCaptureView.getNotificationPresenter()}toggleTorchIcon(t){this.torchIconButton!==null&&(this.torchIconButton.state=t);}onTorchButtonClick(){this.presenter.onTorchButtonClicked();}onCameraSwitchButtonClick(){this.presenter.onCameraSwitchButtonClicked();}onZoomButtonClick(){this.presenter.onZoomButtonClicked();}changeZoomButtonIcon(t){this.zoomButton&&(this.zoomButton.zoom=`${t}x`);}connectedCallback(){this.torchIconButton=a$6.create(),this.torchIconButton.slot=`controls-${this.torchControlPosition}`,this.torchIconButton.hidden=true,this.torchIconButton.addEventListener("pointerdown",this.onTorchButtonClickHandler),this.cameraSwitchButton=a$8.create(),this.cameraSwitchButton.slot=`controls-${this.cameraSwitchControlPosition}`,this.cameraSwitchButton.hidden=true,this.cameraSwitchButton.addEventListener("pointerdown",this.onCameraSwitchButtonHandler),this.zoomButton=a$7.create(),this.zoomButton.slot=`controls-${this.zoomControlPosition}`,this.zoomButton.hidden=true,this.zoomButton.addEventListener("pointerdown",this.onZoomButtonHandler),this.layout.append(this.torchIconButton,this.cameraSwitchButton,this.zoomButton),this.layout.addEventListener("pointerdown",this.onLayoutPointerDownHandler),this.layout.addEventListener("BarcodeArInfoAnnotationEventTap",this.onInfoAnnotationTapHandler),this.backdrop=Backdrop.create(),this.layout.append(this.backdrop),this.pendingDeletionTimeout=new Timeout(1e3,()=>{this.deletePendingViews();}),this.prepend(c.createStyleElement());}disconnectedCallback(){var t,e,o;this.deleteAllViews(),(t=this.torchIconButton)==null||t.removeEventListener("pointerdown",this.onTorchButtonClickHandler),(e=this.cameraSwitchButton)==null||e.removeEventListener("pointerdown",this.onCameraSwitchButtonHandler),(o=this.zoomButton)==null||o.removeEventListener("pointerdown",this.onZoomButtonHandler),this.layout.removeEventListener("pointerdown",this.onLayoutPointerDownHandler),this.layout.removeEventListener("BarcodeArInfoAnnotationEventTap",this.onInfoAnnotationTapHandler);}isPopoverAnnotation(t){return t instanceof b}isAnnotation(t){var e;return ((e=t.dataset)==null?void 0:e.identifier)==null?false:t.dataset.identifier.endsWith("-annotation")}areMultiplePopoverAllowed(){for(let t of this.layout.querySelectorAll("[data-identifier$='-annotation']"))if(t&&this.isPopoverAnnotation(t)&&t.annotationTrigger==="highlightTapAndBarcodeScan")return true;return false}async onLayoutPointerDown(t){let e=t.target,o=e==null?void 0:e.closest("[data-identifier$='-highlight']"),i=e==null?void 0:e.closest(b.tag);if((o==null?void 0:o.dataset.id)!=null){await this.handleHighlightClick(o);return}if((i==null?void 0:i.dataset.id)!=null){await this.handleAnnotationClick(i);return}await this.handleClickOutside();}async handleHighlightClick(t){var o;this.presenter.emitTappedFeedback(),(o=this.listener)==null||o.didTapHighlightForBarcode(this.presenter.barcodeAr,t.barcode,t);let e=this.queryAnnotationByDataIdentifier(t.dataset.identifier.replace("-highlight",""));e&&(this.isPopoverAnnotation(e)?await this.handlePopoverHighlightClick(e,t):e.hidden=!e.hidden);}async handlePopoverHighlightClick(t,e){var o;if(!this.areMultiplePopoverAllowed()){let i=this.layout.querySelector(`${b.tag}[data-on-foreground="true"]`),n=(o=i==null?void 0:i.dataset.identifier)==null?void 0:o.replace("-annotation","-highlight"),r=this.layout.querySelector(`[data-identifier="${n}"]`);i!=null&&r!=null&&await this.hideBarcodeArPopover(i,r,false);}await this.toggleBarcodeArPopover(t,e);}async handleAnnotationClick(t){var i;let e=(i=t.dataset.identifier)==null?void 0:i.replace("-annotation","-highlight"),o=this.layout.querySelector(`[data-identifier="${e}"]`);o&&await this.toggleBarcodeArPopover(t,o);}async handleClickOutside(){var i;if(this.areMultiplePopoverAllowed())return;let t=this.layout.querySelector(`${b.tag}[data-on-foreground="true"]`);if(!t)return;let e=(i=t.dataset.identifier)==null?void 0:i.replace("-annotation","-highlight"),o=this.layout.querySelector(`[data-identifier="${e}"]`);o&&await this.hideBarcodeArPopover(t,o);}onInfoAnnotationTap(){this.presenter.emitTappedFeedback();}async showBarcodeArPopover(t,e){t.dataset.onForeground="true",t.hidden=false,e.dataset.onForeground="true",this.backdrop.open=true;}async hideBarcodeArPopover(t,e,o=true){t.dataset.onForeground="false",t.hidden=true,e&&(e.dataset.onForeground="false"),o&&this.hideBackdropIfNoPopovers();}hideBackdropIfNoPopovers(){[...this.layout.querySelectorAll(`${b.tag}`)].every(e=>e.hidden)&&(this.backdrop.open=false);}async toggleBarcodeArPopover(t,e){t.hidden?await this.showBarcodeArPopover(t,e):await this.hideBarcodeArPopover(t,e);}deleteAllViews(){for(let t of this.layout.querySelectorAll("[data-identifier]"))t.remove();}deletePendingViews(){for(let t of this.layout.querySelectorAll("[data-could-be-deleted='true']"))t.remove();this.hideBackdropIfNoPopovers();}identifierForHighlight(t){return `${t}-highlight`}identifierForAnnotation(t){return `${t}-annotation`}async onHighlightsOrAnnotationForTrackedBarcode(t){var e,o,i;await((o=(e=this.highlightProvider)!=null?e:W)==null?void 0:o.highlightForBarcode(t.barcode,async n=>this.onHighlight(t,n))),await((i=this.annotationProvider)==null?void 0:i.annotationForBarcode(t.barcode,async n=>this.onAnnotation(t,n)));}async onAnnotation(t,e){let o=e,i=a$9(t);this.updateExistingAnnotation(i)||(await this.setupNewAnnotation(o,i,t),this.updateAnnotationPosition(t,o));}updateExistingAnnotation(t){let e=this.queryAnnotationByDataId(t);return e?(e.dataset.couldBeDeleted="false",true):false}async setupNewAnnotation(t,e,o){if(t.dataset.id=e,t.dataset.identifier=this.identifierForAnnotation(o.identifier),t.hidden=true,this.layout.append(t),this.isPopoverAnnotation(t)){if(t.direction=Direction.Vertical,t.anchor==null&&(t.anchor="bottom-center"),this.areMultiplePopoverAllowed()||t.annotationTrigger==="highlightTapAndBarcodeScan"){let i=this.queryHighlightByDataId(e);i&&await this.showBarcodeArPopover(t,i);}}else t.hidden=t.annotationTrigger==="highlightTap";}getAnnotationVariationForQuad(t,e){let o=Math.max(0,Math.min(1,e)),i=t.anchorPositions,n=calculateArea(i),r=this.dataCaptureView.width,l=this.dataCaptureView.height,d=r*l;if(n<=0||d<=0)return 0;let u=n/d;return Math.max(0,Math.min(1,u))<=o?2:1}async onHighlight(t,e){let o=a$9(t),i=this.queryHighlightByDataId(o);i?i.dataset.couldBeDeleted="false":(e.dataset.id=o,e.dataset.identifier=this.identifierForHighlight(t.identifier),this.updateHighlightPosition(t,e),this.layout.append(e));}queryHighlightByDataIdentifier(t){return this.layout.querySelector(`[data-identifier$="${t}-highlight"]`)}queryAnnotationByDataIdentifier(t){return this.layout.querySelector(`[data-identifier$="${t}-annotation"]`)}queryHighlightByDataId(t){return this.layout.querySelector(`[data-identifier$="-highlight"][data-id="${t}"]`)}queryAnnotationByDataId(t){return this.layout.querySelector(`[data-identifier$="-annotation"][data-id="${t}"]`)}updateRemovedTrackedBarcodes(t){var i,n,r,l,d;let e=this.querySelectorAll("[data-identifier]");if(Object.keys(t.allTrackedBarcodes).length===0){for(let u of e)u.dataset.couldBeDeleted="true";(i=this.pendingDeletionTimeout)!=null&&i.running||(n=this.pendingDeletionTimeout)==null||n.start();return}let o=new Set(t.removedTrackedBarcodes);for(let u of e){let p=(r=u.dataset.identifier)==null?void 0:r.replace("-highlight","").replace("-annotation","");p!=null&&o.has(p)&&(u.dataset.couldBeDeleted="true");}(l=this.pendingDeletionTimeout)!=null&&l.running||(d=this.pendingDeletionTimeout)==null||d.start();}render(t){for(let[e,o]of Object.entries(t.allTrackedBarcodes)){t.addedTrackedBarcodes[e]!=null&&this.onHighlightsOrAnnotationForTrackedBarcode(o);let i=a$9(o),n=this.queryAnnotationByDataId(i),r=this.queryHighlightByDataId(i);r&&(this.updateBrushSize(r,o),this.updateHighlightPosition(o,r)),n&&this.updateAnnotationPosition(o,n,r);}this.updateRemovedTrackedBarcodes(t);}updateHighlightPosition(t,e,o="center"){if(e.hidden)return;let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions),n=this.normalizedViewPointFromFrameAnchorPositions(i,o);e.updatePosition(n,new Point(-50,-50),this.calculateRotationAngle(i.topLeft,i.topRight));}updateBrushSize(t,e){if(t.width==null||t.height==null)return;let o=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(e.anchorPositions),i=Math.round(calculateWidth(o)),n=Math.round(calculateHeight(o));t.width!==i&&(t.width=i),t.height!==n&&(t.height=n);}getTransformOrigin(t){return {"top-center":new Point(-50,0),"bottom-center":new Point(-50,-100),"left-center":new Point(0,-50),"right-center":new Point(-100,-50)}[t]}calculateAnnotationPosition(t,e,o){var p,w;let n=t.orderVerticesByPosition(),r=this.normalizedViewPointFromFrameAnchorPositions(t,"center"),d={"bottom-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"topCenter");return new Point(s.x,s.y-7)},"top-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"bottomCenter");return new Point(s.x,s.y+7)},"right-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"centerLeft");return new Point(s.x-7,s.y)},"left-center":()=>{let s=this.normalizedViewPointFromFrameAnchorPositions(n,"centerRight");return new Point(s.x+7,s.y)}}[e]();return o?o instanceof b$1?(p={"bottom-center":new Point(r.x,r.y-7-o.clientHeight/2),"top-center":new Point(r.x,r.y+7+o.clientHeight/2),"right-center":new Point(r.x-7-o.clientWidth/2,r.y),"left-center":new Point(r.x+7+o.clientWidth/2,r.y)}[e])!=null?p:d:(w={"bottom-center":new Point(r.x,r.y-7-o.clientHeight/2),"top-center":new Point(r.x,r.y+7+o.clientHeight/2),"right-center":new Point(r.x-7-o.clientWidth/2,r.y),"left-center":new Point(r.x+7+o.clientWidth/2,r.y)}[e])!=null?w:d:d}updateAnnotationPosition(t,e,o){let i=this.dataCaptureView.viewAnchorPositionsForFrameAnchorPositions(t.anchorPositions);if(e.anchor||(e.anchor="top-center"),e.annotationVariation!=null){let l=this.getAnnotationVariationForQuad(t,a$5.threshold);e.annotationVariation=l;}let n=this.getTransformOrigin(e.anchor),r=this.calculateAnnotationPosition(i,e.anchor,o);e.updatePosition(r,n,this.calculateRotationAngle(i.topLeft,i.topRight));}normalizedViewPointFromFrameAnchorPositions(t,e="center"){let o=this.presenter.currentCamera.getMirrorImageEnabled(),i=new Size(this.dataCaptureView.width,this.dataCaptureView.height);if(o){let r=t[{centerLeft:"centerRight",centerRight:"centerLeft",center:"center",topCenter:"topCenter",bottomCenter:"bottomCenter"}[e]];return Point.mirrorX(r,i)}return t[e]}calculateRotationAngle(t,e){let o=e.x-t.x,i=-(e.y-t.y),n=Math.atan2(i,o);return Math.round(n*(180/Math.PI))}};c.tag="scandit-barcode-ar-view";var k=c;export{k as a};
@@ -0,0 +1 @@
1
+ import {d}from'./chunk-S5246TLI.js';import {a}from'./chunk-CYVVGAZ4.js';import {ScanditHTMLElement,Logger}from'@scandit/web-datacapture-core';import {defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/defineCustomElements.js';var o=class o extends ScanditHTMLElement{constructor(){super(...arguments);this.closeUp=null;this.farAway=null;this._annotationVariation=1;}static register(){defineCustomElements({[o.tag]:o});}static create(t,a,i){let n=document.createElement(o.tag);return n._barcode=t,n.closeUp=a,n.farAway=i,a instanceof d||(Logger.warn("Only BarcodeArInfoAnnotation is supported at the moment. The close up annotation will be ignored."),n.closeUp=null),i instanceof d||(Logger.warn("Only BarcodeArInfoAnnotation is supported at the moment. The far away annotation will be ignored."),n.farAway=null),n.closeUp&&(n.closeUp.hidden=true),n.farAway&&(n.farAway.hidden=true),n}get currentAnnotation(){return this._annotationVariation===2?this.farAway:this.closeUp}get annotationTrigger(){var t,a;return (a=(t=this.currentAnnotation)==null?void 0:t.annotationTrigger)!=null?a:"highlightTapAndBarcodeScan"}set annotationTrigger(t){this.closeUp&&(this.closeUp.annotationTrigger=t),this.farAway&&(this.farAway.annotationTrigger=t);}set anchor(t){this.closeUp.anchor!==void 0&&(this.closeUp.anchor=t),this.farAway.anchor!==void 0&&(this.farAway.anchor=t);}get anchor(){var t;return (t=this.currentAnnotation.anchor)!=null?t:void 0}get barcode(){return this._barcode}updatePosition(t,a$1,i){this.updateAnnotationVisibility(),a(this,t,a$1);}get annotationVariation(){return this._annotationVariation}set annotationVariation(t){t!==this._annotationVariation&&(this._annotationVariation=t,this.updateAnnotationVisibility());}updateAnnotationVisibility(){let t=this._annotationVariation===2,a=!t;this.closeUp&&(this.closeUp.hidden=t),this.farAway&&(this.farAway.hidden=a);}static get threshold(){return o._threshold}static set threshold(t){o._threshold=t;}connectedCallback(){this.closeUp&&this.append(this.closeUp),this.farAway&&this.append(this.farAway),this.updateAnnotationVisibility();}disconnectedCallback(){this.closeUp&&this.closeUp.remove(),this.farAway&&this.farAway.remove();}};o.tag="scandit-barcode-ar-responsive-annotation",o._threshold=.1;var c=o;export{c as a};
@@ -0,0 +1 @@
1
+ var w=(p=>(p[p.Unknown=0]="Unknown",p[p.CloseUp=1]="CloseUp",p[p.FarAway=2]="FarAway",p))(w||{});export{w as a};
@@ -1 +1 @@
1
- import {a as a$1}from'./chunk-EUPONI3T.js';import {a as a$2}from'./chunk-62I36ZHW.js';import {b}from'./chunk-LGBIU7XO.js';import {a as a$6}from'./chunk-RWDAYBTQ.js';import {a as a$5,c,e,f,g,h,i,j,k,b as b$1,d as d$2}from'./chunk-DVHTYKDX.js';import {n,j as j$1,i as i$1,d as d$1,c as c$1,k as k$1,l,m,f as f$1,b as b$2,e as e$1,g as g$1}from'./chunk-4JEIREAU.js';import {d}from'./chunk-YBD5JYCX.js';import {a as a$3}from'./chunk-RDEBUZMC.js';import {a as a$4}from'./chunk-ZQ3QRLEZ.js';import {a}from'./chunk-P4F5WUAR.js';import {Point,CameraPosition,Color}from'@scandit/web-datacapture-core';import {OrientationObserver,orientationChangeEvent}from'@scandit/web-datacapture-core/build/js/private/OrientationObserver.js';import {ScanditHTMLElement,Timeout,defineCustomElements,css,clamp}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';var _=class v extends ScanditHTMLElement{constructor(){super(...arguments);this.targetModeButtonVisible=false;this.scanningBehaviorButtonVisible=false;this.torchControlVisible=true;this.zoomSwitchControlVisible=true;this.previewSizeControlVisible=true;this.barcodeFindButtonVisible=false;this.labelCaptureButtonVisible=false;this.cameraSwitchButtonVisible=false;this.previewCloseControlVisible=true;this.triggerButtonVisible=true;this.feedbackDelegate={getFeedbackForBarcode:()=>a.success()};this.torchButtonVisible=true;this.handModeButtonVisible=false;this.resizeObserver=null;this.onResizeHandler=this.onResize.bind(this);this.miniPreview=b.create();this.triggerButton=a$1.create();this.visualFeedback=a$2.create();this.miniPreviewTimeout=new Timeout(500,this.onMiniPreviewTimeoutFinished.bind(this));this.orientationObserver=new OrientationObserver;this.miniPreviewPointerUpListener=this.onMiniPreviewPointerUp.bind(this);this.miniPreviewPointerMoveListener=this.onMiniPreviewPointerMove.bind(this);this.miniPreviewButtonTapListener=this.onMiniPreviewButtonTap.bind(this);this.miniPreviewDragListener=this.onMiniPreviewDrag.bind(this);this.miniPreviewDragEndListener=this.onMiniPreviewDragEnd.bind(this);this.triggerButtonPointerDownListener=this.onTriggerButtonPointerDown.bind(this);this.triggerButtonTapListener=this.onTriggerButtonTap.bind(this);this.triggerButtonLongPressStartListener=this.onTriggerButtonLongPressStart.bind(this);this.triggerButtonLongPressEndListener=this.onTriggerButtonLongPressEnd.bind(this);this.triggerButtonDragListener=this.onTriggerButtonDrag.bind(this);this.toolbarButtonTapListener=this.onToolbarButtonTap.bind(this);this.clickOutsideListener=this.onClickOutside.bind(this);this.visibilityChangeListener=this.onVisibilityChange.bind(this);this.orientationChangeListener=this.onOrientationChange.bind(this);this.holdingToScan=false;}get _targetModeEnabledMessage(){var e;return (e=this.settings.toastSettings.targetModeEnabledMessage)!=null?e:"Aimer on"}get _targetModeDisabledMessage(){var e;return (e=this.settings.toastSettings.targetModeDisabledMessage)!=null?e:"Aimer off"}get _continuousModeEnabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeEnabledMessage)!=null?e:"Continuous mode on"}get _continuousModeDisabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeDisabledMessage)!=null?e:"Continuous mode off"}get _scanPausedMessage(){var e;return (e=this.settings.toastSettings.scanPausedMessage)!=null?e:"Scan paused"}get _torchEnabledMessage(){var e;return (e=this.settings.toastSettings.torchEnabledMessage)!=null?e:"Torch on"}get _torchDisabledMessage(){var e;return (e=this.settings.toastSettings.torchDisabledMessage)!=null?e:"Torch off"}get _zoomedInMessage(){var e;return (e=this.settings.toastSettings.zoomedInMessage)!=null?e:"2x zoom"}get _zoomedOutMessage(){var e;return (e=this.settings.toastSettings.zoomedOutMessage)!=null?e:"1x zoom"}static forElement(e,r,t,i){let n=v.create();return n.presenter=a$3.forView(n,r,t,i!=null?i:new a$4),n.settings=n.presenter.sparkScanViewSettings,n.append(n.miniPreview,n.triggerButton,n.visualFeedback,v.createStyleElement().cloneNode(true)),n.hidden=true,e.append(n),n}static create(){return defineCustomElements({[d]:v}),document.createElement("spark-scan-view")}static createStyleElement(){return css`:root{${a$5}:#12161966;${c}:#12161966;${e}:#5b707f4d;${f}:#fff;${g}:#121619cc;${h}:#fbc02c;${i}:#fff;${j}:#2ec1ce;${k}:#fa4446}${d}{position:relative}`}async prepareScanning(){this.mount(),this.hidden=false,await this.presenter.prepareScanning(this.miniPreview.host);}async startScanning(){await this.presenter.startScanning();}async pauseScanning(){await this.presenter.pauseScanning();}async stopScanning(){await this.presenter.stopScanning({sessionStopReason:"user"});}showToast(e){this.miniPreview.showToast("info",e,1e3);}setListener(e){this.presenter.setListener(e);}setTriggerButtonImage(e){this.triggerButton.setImage(e);}setWidthAndHeightCssStyleProperties(){var t,i;let e=((t=this.parentElement)==null?void 0:t.clientWidth)||document.body.clientWidth,r=((i=this.parentElement)==null?void 0:i.clientHeight)||document.body.clientHeight;this.style.setProperty("--dvw",`${e}px`),this.style.setProperty("--dvh",`${r}px`),this.style.setProperty("--dvw-half","calc(var(--dvw) / 2)"),this.style.setProperty("--dvh-half","calc(var(--dvh) / 2)");}onResize(){this.setWidthAndHeightCssStyleProperties(),this.triggerButton.repositionIfOutOfBounds(),this.miniPreview.repositionIfOutOfBounds();}mount(){this.unmount(),this.resizeObserver=new ResizeObserver(this.onResizeHandler),this.resizeObserver.observe(this.parentElement),this.miniPreview[n]=this.previewCloseControlVisible,this.miniPreview[j$1]=this.previewSizeControlVisible,this.miniPreview[i$1]=this.zoomSwitchControlVisible,this.miniPreview.size=this.settings.defaultMiniPreviewSize,this.miniPreview.toolbar&&(this.miniPreview.toolbar[d$1]=this.targetModeButtonVisible,this.miniPreview.toolbar[c$1]=this.scanningBehaviorButtonVisible,this.miniPreview.toolbar[k$1]=this.barcodeFindButtonVisible,this.miniPreview.toolbar[l]=this.labelCaptureButtonVisible,this.miniPreview.toolbar[m]=this.cameraSwitchButtonVisible),this.triggerButton.visible=this.triggerButtonVisible;for(let[e$1,r]of [[this.triggerButtonCollapsedColor,a$5],[this.triggerButtonExpandedColor,c],[this.triggerButtonAnimationColor,e],[this.triggerButtonTintColor,f],[this.toolbarBackgroundColor,g],[this.toolbarIconActiveTintColor,h],[this.toolbarIconInactiveTintColor,i]])e$1&&this.style.setProperty(r,`#${e$1.toJSON()}`);this.setTriggerButtonPressedColor("triggerButtonCollapsedColor",a$5,b$1),this.setTriggerButtonPressedColor("triggerButtonExpandedColor",c,d$2),this.miniPreview.addEventListener("pointerup",this.miniPreviewPointerUpListener),this.miniPreview.addEventListener("pointermove",this.miniPreviewPointerMoveListener),this.miniPreview.addEventListener("minipreviewbuttontap",this.miniPreviewButtonTapListener),this.miniPreview.addEventListener("toolbarbuttontap",this.toolbarButtonTapListener),this.miniPreview.addEventListener("drag",this.miniPreviewDragListener),this.miniPreview.addEventListener("dragend",this.miniPreviewDragEndListener),this.triggerButton.addEventListener("pointerdown",this.triggerButtonPointerDownListener),this.triggerButton.addEventListener("tap",this.triggerButtonTapListener),this.triggerButton.addEventListener("longpressstart",this.triggerButtonLongPressStartListener),this.triggerButton.addEventListener("longpressend",this.triggerButtonLongPressEndListener),this.triggerButton.addEventListener("drag",this.triggerButtonDragListener),this.orientationObserver.register(),this.orientationObserver.addEventListener(orientationChangeEvent,this.orientationChangeListener),this.orientationObserver.dispatchOrientationChangeEvent(this.orientationObserver.orientation),document.addEventListener("pointerup",this.clickOutsideListener),document.addEventListener("visibilitychange",this.visibilityChangeListener),this.setWidthAndHeightCssStyleProperties();}unmount(){var e;(e=this.resizeObserver)==null||e.disconnect(),this.miniPreview.removeEventListener("pointerup",this.miniPreviewPointerUpListener),this.miniPreview.removeEventListener("pointermove",this.miniPreviewPointerMoveListener),this.miniPreview.removeEventListener("minipreviewbuttontap",this.miniPreviewButtonTapListener),this.miniPreview.removeEventListener("toolbarbuttontap",this.toolbarButtonTapListener),this.miniPreview.removeEventListener("drag",this.miniPreviewDragListener),this.miniPreview.removeEventListener("dragend",this.miniPreviewDragEndListener),this.triggerButton.removeEventListener("pointerdown",this.triggerButtonPointerDownListener),this.triggerButton.removeEventListener("tap",this.triggerButtonTapListener),this.triggerButton.removeEventListener("holdstart",this.triggerButtonLongPressStartListener),this.triggerButton.removeEventListener("holdend",this.triggerButtonLongPressEndListener),this.triggerButton.removeEventListener("drag",this.triggerButtonDragListener),this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(orientationChangeEvent,this.orientationChangeListener),document.removeEventListener("pointerup",this.clickOutsideListener),document.removeEventListener("visibilitychange",this.visibilityChangeListener),this.miniPreviewTimeout.stop();}connectedCallback(){this.mount();}disconnectedCallback(){this.unmount();}setTorchAvailable(e){this.miniPreview.toolbar&&(this.miniPreview[f$1]=this.torchControlVisible&&e);}setZoomAvailable(e){this.miniPreview[i$1]=this.zoomSwitchControlVisible&&e;}switchToIdleState(){this.miniPreview.darkened=false,this.miniPreview.visible=false,this.miniPreview.hideToast(),this.triggerButton.expanded=false,this.triggerButton.stopPulsating();}async switchToActiveState(e,r,t,i){this.miniPreviewTimeout.stop(),this.miniPreview.hideToast(),this.miniPreview.cancelFadeOut(),this.miniPreview.darkened=false,this.miniPreview.visible=true,this.triggerButton.expanded=true,this.triggerButton.startPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=r),e&&(t&&this.style.setProperty(j,`#${t.toJSON()}`),await this.visualFeedback.emitSuccessFeedback()),i===true&&this.miniPreview.showToast("warning",this._zoomedInMessage,1e3);}async switchToInactiveState(e,r,t,i){this.miniPreview.darkened=t==="persistent"||e,this.miniPreview.visible=t==="persistent"||e,this.triggerButton.expanded=true,this.triggerButton.stopPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=r),e&&(i&&this.style.setProperty(j,`#${i.toJSON()}`),await this.visualFeedback.emitSuccessFeedback(),t==="default"&&this.miniPreviewTimeout.start()),t==="persistent"&&this.miniPreview.showToast("warning",this._scanPausedMessage,Number.POSITIVE_INFINITY);}async switchToErrorState(e,r){e.resumeCapturingDelay>0&&(this.triggerButton.stopPulsating(),this.miniPreview.showToast("error",e.message,e.resumeCapturingDelay)),r&&(this.style.setProperty(k,`#${e.visualFeedbackColor.toJSON()}`),await this.visualFeedback.emitErrorFeedback());}async onMiniPreviewPointerUp(){await this.presenter.onMiniPreviewPointerUp();}onMiniPreviewPointerMove(){this.presenter.onMiniPreviewPointerMove();}async onMiniPreviewButtonTap(e){switch(e.detail.tapped){case "torchButton":{await this.presenter.onTorchButtonTap(e.detail.enabled);break}case "closeButton":{await this.presenter.onMiniPreviewCloseButtonTap();break}case "resizeButton":{this.presenter.onMiniPreviewResizeButtonTap();break}case "zoomButton":{await this.presenter.onMiniPreviewZoomButtonTap(e.detail.zoomFactor);break}}this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}async onMiniPreviewDrag(e){e instanceof a$6&&await this.presenter.onMiniPreviewDrag(e.point,this.orientationObserver.orientation.type);}async onMiniPreviewDragEnd(e){e instanceof a$6&&await this.presenter.onMiniPreviewDragEnd();}async onTriggerButtonPointerDown(){await this.presenter.onTriggerButtonPointerDown();}async onTriggerButtonTap(){await this.presenter.onTriggerButtonTap();}async onTriggerButtonLongPressStart(){this.holdingToScan||(this.holdingToScan=true,await this.presenter.onTriggerButtonLongPressStart());}async onTriggerButtonLongPressEnd(){this.holdingToScan&&(this.holdingToScan=false,await this.presenter.onTriggerButtonLongPressEnd());}onTriggerButtonDrag(e){e instanceof a$6&&this.presenter.onTriggerButtonDrag(e.point,this.orientationObserver.orientation.type);}async onToolbarButtonTap(e){switch(this.miniPreview.rewindAnimation(),e.detail.tapped){case "targetModeButton":{await this.onTargetModeButtonTap(e);return}case "scanningBehaviorButton":{await this.onScanningBehaviorButtonTap(e);return}case "barcodeFindButton":{await this.onBarcodeFindButtonTap();return}case "labelCaptureButton":{await this.onLabelCaptureButtonTap();return}case "cameraSwitchButton":await this.onCameraSwitchButtonTap();}}async onClickOutside(e){e.composedPath().includes(this)||await this.presenter.onClickOutside();}async onVisibilityChange(){document.visibilityState==="hidden"&&await this.presenter.onVisibilityChange();}async onTargetModeButtonTap(e){await this.presenter.onTargetModeButtonTap(e.detail.enabled);}async onScanningBehaviorButtonTap(e){await this.presenter.onScanningBehaviorButtonTap(e.detail.enabled);}async onBarcodeFindButtonTap(){await this.presenter.onBarcodeFindButtonTap();}async onLabelCaptureButtonTap(){await this.presenter.onLabelCaptureButtonTap();}async onCameraSwitchButtonTap(){this.miniPreview[f$1]=false,await this.presenter.onCameraSwitchButtonTap();}async onTorchButtonTap(e){await this.presenter.onTorchButtonTap(e.detail.enabled);}async onMiniPreviewTimeoutFinished(){await this.miniPreview.fadeOut();}async onOrientationChange(e){this.setWidthAndHeightCssStyleProperties(),this.miniPreview.orientation=e.detail.type;let r,t,i,n;switch(e.detail.type){case "landscape-primary":case "landscape-secondary":{r=this.presenter.landscapeOrientationTriggerButtonTranslateX,t=this.presenter.landscapeOrientationTriggerButtonTranslateY,i=this.presenter.landscapeOrientationMiniPreviewTranslateX,n=this.presenter.landscapeOrientationMiniPreviewTranslateY;break}case "portrait-primary":case "portrait-secondary":{r=this.presenter.portraitOrientationTriggerButtonTranslateX,t=this.presenter.portraitOrientationTriggerButtonTranslateY,i=this.presenter.portraitOrientationMiniPreviewTranslateX,n=this.presenter.portraitOrientationMiniPreviewTranslateY;break}}this.triggerButton.translateTo(new Point(r,t)),this.miniPreview.translateTo(new Point(i,n)),await this.presenter.onOrientationChange();}targetModeButtonTapped(e,r=true){if(r){let t=e?"warning":"info",i=e?this._targetModeEnabledMessage:this._targetModeDisabledMessage;this.miniPreview.showToast(t,i,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[e$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}scanningBehaviorButtonTapped(e,r=true){if(r){let t=e?"warning":"info",i=e?this._continuousModeEnabledMessage:this._continuousModeDisabledMessage;this.miniPreview.showToast(t,i,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=e?"continuous":"single"),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}torchButtonTapped(e,r=true){if(r){let t=e?"warning":"info",i=e?this._torchEnabledMessage:this._torchDisabledMessage;this.miniPreview.showToast(t,i,1e3);}this.miniPreview.toolbar&&(this.miniPreview[g$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}cameraSwitchButtonTapped(e,r){var t;this.miniPreview[f$1]=this.torchControlVisible&&e,(t=this.miniPreview.toolbar)==null||t.enableCameraSwitchButton(r===CameraPosition.UserFacing);}getDefaultCssVariableValue(e){return window.getComputedStyle(this).getPropertyValue(e)}setTriggerButtonPressedColor(e,r,t){var B;let i=(B=this[e])!=null?B:Color.fromHex(this.getDefaultCssVariableValue(r)),n=clamp(i.alpha+i.alpha*.25,i.alpha,255),U=i.withAlpha(n);this.style.setProperty(t,`#${U.toJSON()}`);}};export{_ as a};
1
+ import {a as a$4}from'./chunk-ZQ3QRLEZ.js';import {a as a$1}from'./chunk-C3BYC73L.js';import {a as a$2}from'./chunk-62I36ZHW.js';import {b}from'./chunk-WXR7X3J5.js';import {a as a$6}from'./chunk-RWDAYBTQ.js';import {a as a$5,c,e,f,g,h,i,j,k,b as b$1,d as d$2}from'./chunk-DVHTYKDX.js';import {n,j as j$1,i as i$1,d as d$1,c as c$1,k as k$1,l,m,f as f$1,b as b$2,e as e$1,g as g$1}from'./chunk-4JEIREAU.js';import {d}from'./chunk-YBD5JYCX.js';import {a as a$3}from'./chunk-CQRDFXZQ.js';import {a}from'./chunk-P4F5WUAR.js';import {Point,CameraPosition,Color}from'@scandit/web-datacapture-core';import {OrientationObserver,orientationChangeEvent}from'@scandit/web-datacapture-core/build/js/private/OrientationObserver.js';import {ScanditHTMLElement,Timeout,defineCustomElements,css,clamp}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';var _=class v extends ScanditHTMLElement{constructor(){super(...arguments);this.targetModeButtonVisible=false;this.scanningBehaviorButtonVisible=false;this.torchControlVisible=true;this.zoomSwitchControlVisible=true;this.previewSizeControlVisible=true;this.barcodeFindButtonVisible=false;this.labelCaptureButtonVisible=false;this.cameraSwitchButtonVisible=false;this.previewCloseControlVisible=true;this.triggerButtonVisible=true;this.feedbackDelegate={getFeedbackForBarcode:()=>a.success()};this.torchButtonVisible=true;this.handModeButtonVisible=false;this.resizeObserver=null;this.onResizeHandler=this.onResize.bind(this);this.miniPreview=b.create();this.triggerButton=a$1.create();this.visualFeedback=a$2.create();this.miniPreviewTimeout=new Timeout(500,this.onMiniPreviewTimeoutFinished.bind(this));this.orientationObserver=new OrientationObserver;this.miniPreviewPointerUpListener=this.onMiniPreviewPointerUp.bind(this);this.miniPreviewPointerMoveListener=this.onMiniPreviewPointerMove.bind(this);this.miniPreviewButtonTapListener=this.onMiniPreviewButtonTap.bind(this);this.miniPreviewDragListener=this.onMiniPreviewDrag.bind(this);this.miniPreviewDragEndListener=this.onMiniPreviewDragEnd.bind(this);this.triggerButtonPointerDownListener=this.onTriggerButtonPointerDown.bind(this);this.triggerButtonTapListener=this.onTriggerButtonTap.bind(this);this.triggerButtonLongPressStartListener=this.onTriggerButtonLongPressStart.bind(this);this.triggerButtonLongPressEndListener=this.onTriggerButtonLongPressEnd.bind(this);this.triggerButtonDragListener=this.onTriggerButtonDrag.bind(this);this.toolbarButtonTapListener=this.onToolbarButtonTap.bind(this);this.clickOutsideListener=this.onClickOutside.bind(this);this.visibilityChangeListener=this.onVisibilityChange.bind(this);this.orientationChangeListener=this.onOrientationChange.bind(this);this.holdingToScan=false;}get _targetModeEnabledMessage(){var e;return (e=this.settings.toastSettings.targetModeEnabledMessage)!=null?e:"Aimer on"}get _targetModeDisabledMessage(){var e;return (e=this.settings.toastSettings.targetModeDisabledMessage)!=null?e:"Aimer off"}get _continuousModeEnabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeEnabledMessage)!=null?e:"Continuous mode on"}get _continuousModeDisabledMessage(){var e;return (e=this.settings.toastSettings.continuousModeDisabledMessage)!=null?e:"Continuous mode off"}get _scanPausedMessage(){var e;return (e=this.settings.toastSettings.scanPausedMessage)!=null?e:"Scan paused"}get _torchEnabledMessage(){var e;return (e=this.settings.toastSettings.torchEnabledMessage)!=null?e:"Torch on"}get _torchDisabledMessage(){var e;return (e=this.settings.toastSettings.torchDisabledMessage)!=null?e:"Torch off"}get _zoomedInMessage(){var e;return (e=this.settings.toastSettings.zoomedInMessage)!=null?e:"2x zoom"}get _zoomedOutMessage(){var e;return (e=this.settings.toastSettings.zoomedOutMessage)!=null?e:"1x zoom"}static forElement(e,r,t,i){let n=v.create();return n.presenter=a$3.forView(n,r,t,i!=null?i:new a$4),n.settings=n.presenter.sparkScanViewSettings,n.append(n.miniPreview,n.triggerButton,n.visualFeedback,v.createStyleElement().cloneNode(true)),n.hidden=true,e.append(n),n}static create(){return defineCustomElements({[d]:v}),document.createElement("spark-scan-view")}static createStyleElement(){return css`:root{${a$5}:#12161966;${c}:#12161966;${e}:#5b707f4d;${f}:#fff;${g}:#121619cc;${h}:#fbc02c;${i}:#fff;${j}:#2ec1ce;${k}:#fa4446}${d}{position:relative}`}async prepareScanning(){this.mount(),this.hidden=false,await this.presenter.prepareScanning(this.miniPreview.host);}async startScanning(){await this.presenter.startScanning();}async pauseScanning(){await this.presenter.pauseScanning();}async stopScanning(){await this.presenter.stopScanning({sessionStopReason:"user"});}showToast(e){this.miniPreview.showToast("info",e,1e3);}setListener(e){this.presenter.setListener(e);}setTriggerButtonImage(e){this.triggerButton.setImage(e);}setWidthAndHeightCssStyleProperties(){var t,i;let e=((t=this.parentElement)==null?void 0:t.clientWidth)||document.body.clientWidth,r=((i=this.parentElement)==null?void 0:i.clientHeight)||document.body.clientHeight;this.style.setProperty("--dvw",`${e}px`),this.style.setProperty("--dvh",`${r}px`),this.style.setProperty("--dvw-half","calc(var(--dvw) / 2)"),this.style.setProperty("--dvh-half","calc(var(--dvh) / 2)");}onResize(){this.setWidthAndHeightCssStyleProperties(),this.triggerButton.repositionIfOutOfBounds(),this.miniPreview.repositionIfOutOfBounds();}mount(){this.unmount(),this.resizeObserver=new ResizeObserver(this.onResizeHandler),this.resizeObserver.observe(this.parentElement),this.miniPreview[n]=this.previewCloseControlVisible,this.miniPreview[j$1]=this.previewSizeControlVisible,this.miniPreview[i$1]=this.zoomSwitchControlVisible,this.miniPreview.size=this.settings.defaultMiniPreviewSize,this.miniPreview.toolbar&&(this.miniPreview.toolbar[d$1]=this.targetModeButtonVisible,this.miniPreview.toolbar[c$1]=this.scanningBehaviorButtonVisible,this.miniPreview.toolbar[k$1]=this.barcodeFindButtonVisible,this.miniPreview.toolbar[l]=this.labelCaptureButtonVisible,this.miniPreview.toolbar[m]=this.cameraSwitchButtonVisible),this.triggerButton.visible=this.triggerButtonVisible;for(let[e$1,r]of [[this.triggerButtonCollapsedColor,a$5],[this.triggerButtonExpandedColor,c],[this.triggerButtonAnimationColor,e],[this.triggerButtonTintColor,f],[this.toolbarBackgroundColor,g],[this.toolbarIconActiveTintColor,h],[this.toolbarIconInactiveTintColor,i]])e$1&&this.style.setProperty(r,`#${e$1.toJSON()}`);this.setTriggerButtonPressedColor("triggerButtonCollapsedColor",a$5,b$1),this.setTriggerButtonPressedColor("triggerButtonExpandedColor",c,d$2),this.miniPreview.addEventListener("pointerup",this.miniPreviewPointerUpListener),this.miniPreview.addEventListener("pointermove",this.miniPreviewPointerMoveListener),this.miniPreview.addEventListener("minipreviewbuttontap",this.miniPreviewButtonTapListener),this.miniPreview.addEventListener("toolbarbuttontap",this.toolbarButtonTapListener),this.miniPreview.addEventListener("drag",this.miniPreviewDragListener),this.miniPreview.addEventListener("dragend",this.miniPreviewDragEndListener),this.triggerButton.addEventListener("pointerdown",this.triggerButtonPointerDownListener),this.triggerButton.addEventListener("tap",this.triggerButtonTapListener),this.triggerButton.addEventListener("longpressstart",this.triggerButtonLongPressStartListener),this.triggerButton.addEventListener("longpressend",this.triggerButtonLongPressEndListener),this.triggerButton.addEventListener("drag",this.triggerButtonDragListener),this.orientationObserver.register(),this.orientationObserver.addEventListener(orientationChangeEvent,this.orientationChangeListener),this.orientationObserver.dispatchOrientationChangeEvent(this.orientationObserver.orientation),document.addEventListener("pointerup",this.clickOutsideListener),document.addEventListener("visibilitychange",this.visibilityChangeListener),this.setWidthAndHeightCssStyleProperties();}unmount(){var e;(e=this.resizeObserver)==null||e.disconnect(),this.miniPreview.removeEventListener("pointerup",this.miniPreviewPointerUpListener),this.miniPreview.removeEventListener("pointermove",this.miniPreviewPointerMoveListener),this.miniPreview.removeEventListener("minipreviewbuttontap",this.miniPreviewButtonTapListener),this.miniPreview.removeEventListener("toolbarbuttontap",this.toolbarButtonTapListener),this.miniPreview.removeEventListener("drag",this.miniPreviewDragListener),this.miniPreview.removeEventListener("dragend",this.miniPreviewDragEndListener),this.triggerButton.removeEventListener("pointerdown",this.triggerButtonPointerDownListener),this.triggerButton.removeEventListener("tap",this.triggerButtonTapListener),this.triggerButton.removeEventListener("holdstart",this.triggerButtonLongPressStartListener),this.triggerButton.removeEventListener("holdend",this.triggerButtonLongPressEndListener),this.triggerButton.removeEventListener("drag",this.triggerButtonDragListener),this.orientationObserver.unregister(),this.orientationObserver.removeEventListener(orientationChangeEvent,this.orientationChangeListener),document.removeEventListener("pointerup",this.clickOutsideListener),document.removeEventListener("visibilitychange",this.visibilityChangeListener),this.miniPreviewTimeout.stop();}connectedCallback(){this.mount();}disconnectedCallback(){this.unmount();}setTorchAvailable(e){this.miniPreview.toolbar&&(this.miniPreview[f$1]=this.torchControlVisible&&e);}setZoomAvailable(e){this.miniPreview[i$1]=this.zoomSwitchControlVisible&&e;}switchToIdleState(){this.miniPreview.darkened=false,this.miniPreview.visible=false,this.miniPreview.hideToast(),this.triggerButton.expanded=false,this.triggerButton.stopPulsating();}async switchToActiveState(e,r,t,i){this.miniPreviewTimeout.stop(),this.miniPreview.hideToast(),this.miniPreview.cancelFadeOut(),this.miniPreview.darkened=false,this.miniPreview.visible=true,this.triggerButton.expanded=true,this.triggerButton.startPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=r),e&&(t&&this.style.setProperty(j,`#${t.toJSON()}`),await this.visualFeedback.emitSuccessFeedback()),i===true&&this.miniPreview.showToast("warning",this._zoomedInMessage,1e3);}async switchToInactiveState(e,r,t,i){this.miniPreview.darkened=t==="persistent"||e,this.miniPreview.visible=t==="persistent"||e,this.triggerButton.expanded=true,this.triggerButton.stopPulsating(),this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=r),e&&(i&&this.style.setProperty(j,`#${i.toJSON()}`),await this.visualFeedback.emitSuccessFeedback(),t==="default"&&this.miniPreviewTimeout.start()),t==="persistent"&&this.miniPreview.showToast("warning",this._scanPausedMessage,Number.POSITIVE_INFINITY);}async switchToErrorState(e,r){e.resumeCapturingDelay>0&&(this.triggerButton.stopPulsating(),this.miniPreview.showToast("error",e.message,e.resumeCapturingDelay)),r&&(this.style.setProperty(k,`#${e.visualFeedbackColor.toJSON()}`),await this.visualFeedback.emitErrorFeedback());}async onMiniPreviewPointerUp(){await this.presenter.onMiniPreviewPointerUp();}onMiniPreviewPointerMove(){this.presenter.onMiniPreviewPointerMove();}async onMiniPreviewButtonTap(e){switch(e.detail.tapped){case "torchButton":{await this.presenter.onTorchButtonTap(e.detail.enabled);break}case "closeButton":{await this.presenter.onMiniPreviewCloseButtonTap();break}case "resizeButton":{this.presenter.onMiniPreviewResizeButtonTap();break}case "zoomButton":{await this.presenter.onMiniPreviewZoomButtonTap(e.detail.zoomFactor);break}}this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}async onMiniPreviewDrag(e){e instanceof a$6&&await this.presenter.onMiniPreviewDrag(e.point,this.orientationObserver.orientation.type);}async onMiniPreviewDragEnd(e){e instanceof a$6&&await this.presenter.onMiniPreviewDragEnd();}async onTriggerButtonPointerDown(){await this.presenter.onTriggerButtonPointerDown();}async onTriggerButtonTap(){await this.presenter.onTriggerButtonTap();}async onTriggerButtonLongPressStart(){this.holdingToScan||(this.holdingToScan=true,await this.presenter.onTriggerButtonLongPressStart());}async onTriggerButtonLongPressEnd(){this.holdingToScan&&(this.holdingToScan=false,await this.presenter.onTriggerButtonLongPressEnd());}onTriggerButtonDrag(e){e instanceof a$6&&this.presenter.onTriggerButtonDrag(e.point,this.orientationObserver.orientation.type);}async onToolbarButtonTap(e){switch(this.miniPreview.rewindAnimation(),e.detail.tapped){case "targetModeButton":{await this.onTargetModeButtonTap(e);return}case "scanningBehaviorButton":{await this.onScanningBehaviorButtonTap(e);return}case "barcodeFindButton":{await this.onBarcodeFindButtonTap();return}case "labelCaptureButton":{await this.onLabelCaptureButtonTap();return}case "cameraSwitchButton":await this.onCameraSwitchButtonTap();}}async onClickOutside(e){e.composedPath().includes(this)||await this.presenter.onClickOutside();}async onVisibilityChange(){document.visibilityState==="hidden"&&await this.presenter.onVisibilityChange();}async onTargetModeButtonTap(e){await this.presenter.onTargetModeButtonTap(e.detail.enabled);}async onScanningBehaviorButtonTap(e){await this.presenter.onScanningBehaviorButtonTap(e.detail.enabled);}async onBarcodeFindButtonTap(){await this.presenter.onBarcodeFindButtonTap();}async onLabelCaptureButtonTap(){await this.presenter.onLabelCaptureButtonTap();}async onCameraSwitchButtonTap(){this.miniPreview[f$1]=false,await this.presenter.onCameraSwitchButtonTap();}async onTorchButtonTap(e){await this.presenter.onTorchButtonTap(e.detail.enabled);}async onMiniPreviewTimeoutFinished(){await this.miniPreview.fadeOut();}async onOrientationChange(e){this.setWidthAndHeightCssStyleProperties(),this.miniPreview.orientation=e.detail.type;let r,t,i,n;switch(e.detail.type){case "landscape-primary":case "landscape-secondary":{r=this.presenter.landscapeOrientationTriggerButtonTranslateX,t=this.presenter.landscapeOrientationTriggerButtonTranslateY,i=this.presenter.landscapeOrientationMiniPreviewTranslateX,n=this.presenter.landscapeOrientationMiniPreviewTranslateY;break}case "portrait-primary":case "portrait-secondary":{r=this.presenter.portraitOrientationTriggerButtonTranslateX,t=this.presenter.portraitOrientationTriggerButtonTranslateY,i=this.presenter.portraitOrientationMiniPreviewTranslateX,n=this.presenter.portraitOrientationMiniPreviewTranslateY;break}}this.triggerButton.translateTo(new Point(r,t)),this.miniPreview.translateTo(new Point(i,n)),await this.presenter.onOrientationChange();}targetModeButtonTapped(e,r=true){if(r){let t=e?"warning":"info",i=e?this._targetModeEnabledMessage:this._targetModeDisabledMessage;this.miniPreview.showToast(t,i,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[e$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}scanningBehaviorButtonTapped(e,r=true){if(r){let t=e?"warning":"info",i=e?this._continuousModeEnabledMessage:this._continuousModeDisabledMessage;this.miniPreview.showToast(t,i,1e3);}this.miniPreview.toolbar&&(this.miniPreview.toolbar[b$2]=e?"continuous":"single"),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}torchButtonTapped(e,r=true){if(r){let t=e?"warning":"info",i=e?this._torchEnabledMessage:this._torchDisabledMessage;this.miniPreview.showToast(t,i,1e3);}this.miniPreview.toolbar&&(this.miniPreview[g$1]=e),this.miniPreviewTimeout.running&&this.miniPreviewTimeout.start();}cameraSwitchButtonTapped(e,r){var t;this.miniPreview[f$1]=this.torchControlVisible&&e,(t=this.miniPreview.toolbar)==null||t.enableCameraSwitchButton(r===CameraPosition.UserFacing);}getDefaultCssVariableValue(e){return window.getComputedStyle(this).getPropertyValue(e)}setTriggerButtonPressedColor(e,r,t){var B;let i=(B=this[e])!=null?B:Color.fromHex(this.getDefaultCssVariableValue(r)),n=clamp(i.alpha+i.alpha*.25,i.alpha,255),U=i.withAlpha(n);this.style.setProperty(t,`#${U.toJSON()}`);}};export{_ as a};
@@ -1 +1 @@
1
- import {a}from'./chunk-3MQAMNCQ.js';import {a as a$1}from'./chunk-D26TRBZS.js';import {b}from'./chunk-EWNVCDJ6.js';import {CameraSettings,convertToPublicFrameData}from'@scandit/web-datacapture-core';import {warnMultithreadingUnavailable}from'@scandit/web-datacapture-core/build/js/private/utils/warnMultithreadingUnavailable.js';var o=class n{constructor(){this.skipSerialization=true;this.type="barcodeAr";this._isEnabled=true;this._context=null;this.listeners=new Set;this.privateListeners=new Set;this.workerMessageListener=this.onWorkerMessage.bind(this);}get context(){return this._context}static createRecommendedCameraSettings(){let e=new CameraSettings(b);return e.setProperty("grayScaleFrameReader",true),e}set context(e){this._context=e;}get allListeners(){return [...this.privateListeners,...this.listeners]}static async forContext(e,t){warnMultithreadingUnavailable();let r=new n;return r.feedback=await a.createDefaultBarcodeArFeedback(),r.settings=t,await(e==null?void 0:e.addMode(r)),r}isEnabled(){return this._isEnabled}addListener(e){this.listeners.add(e);}removeListener(e){this.listeners.delete(e);}set feedback(e){this._feedback=e;}get feedback(){return this._feedback}async setEnabled(e){var t;this._isEnabled=e,await this.workerCommand("barcodeArSetEnabled",{enabled:e}),await((t=this.context)==null?void 0:t.update([{type:"modeEnabled",newValue:e}],{updateContext:false}));}async applySettings(e){this.settings=e,await this.workerCommand("barcodeArApplySettings",{settings:e.toJSONObject()});}toJSONObject(){return {type:this.type,enabled:this._isEnabled,settings:this.settings.toJSONObject()}}async attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener),await this.workerCommand("barcodeArForSettings",{settings:this.settings.toJSONObject()});}async detachedFromContext(){var e;await this.workerCommand("barcodeArModeRemove",{}),(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null;}async start(){return this.workerCommand("barcodeArSearchStart",{})}async stop(){return this.workerCommand("barcodeArSearchStop",{})}async pause(){return this.workerCommand("barcodeArSearchPause",{})}async workerCommand(e,t){this.context!=null&&await this.context.workerCommand(e,t);}addPrivateListener(e){this.privateListeners.add(e);}removePrivateListener(e){this.privateListeners.delete(e);}async onWorkerMessage(e){var t;switch(e.type){case "barcodeArDidUpdateSession":{if(!this._isEnabled||!this._context)return;for(let r of this.allListeners)(t=r.didUpdateSession)==null||t.call(r,this,a$1.fromJSON(e.payload.session),convertToPublicFrameData(e.payload.frameData,this._context));break}}}};export{o as a};
1
+ import {a}from'./chunk-QTXTS6WX.js';import {a as a$1}from'./chunk-D26TRBZS.js';import {b}from'./chunk-EWNVCDJ6.js';import {CameraSettings,convertToPublicFrameData}from'@scandit/web-datacapture-core';import {warnMultithreadingUnavailable}from'@scandit/web-datacapture-core/build/js/private/utils/warnMultithreadingUnavailable.js';var o=class n{constructor(){this.skipSerialization=true;this.type="barcodeAr";this._isEnabled=true;this._context=null;this.listeners=new Set;this.privateListeners=new Set;this.workerMessageListener=this.onWorkerMessage.bind(this);}get context(){return this._context}static createRecommendedCameraSettings(){let e=new CameraSettings(b);return e.setProperty("grayScaleFrameReader",true),e}set context(e){this._context=e;}get allListeners(){return [...this.privateListeners,...this.listeners]}static async forContext(e,t){warnMultithreadingUnavailable();let r=new n;return r.feedback=await a.createDefaultBarcodeArFeedback(),r.settings=t,await(e==null?void 0:e.addMode(r)),r}isEnabled(){return this._isEnabled}addListener(e){this.listeners.add(e);}removeListener(e){this.listeners.delete(e);}set feedback(e){this._feedback=e;}get feedback(){return this._feedback}async setEnabled(e){var t;this._isEnabled=e,await this.workerCommand("barcodeArSetEnabled",{enabled:e}),await((t=this.context)==null?void 0:t.update([{type:"modeEnabled",newValue:e}],{updateContext:false}));}async applySettings(e){this.settings=e,await this.workerCommand("barcodeArApplySettings",{settings:e.toJSONObject()});}toJSONObject(){return {type:this.type,enabled:this._isEnabled,settings:this.settings.toJSONObject()}}async attachedToContext(e){this._context=e,this._context.subscribeToWorkerMessages(this.workerMessageListener),await this.workerCommand("barcodeArForSettings",{settings:this.settings.toJSONObject()});}async detachedFromContext(){var e;await this.workerCommand("barcodeArModeRemove",{}),(e=this._context)==null||e.unsubscribeToWorkerMessages(this.workerMessageListener),this._context=null;}async start(){return this.workerCommand("barcodeArSearchStart",{})}async stop(){return this.workerCommand("barcodeArSearchStop",{})}async pause(){return this.workerCommand("barcodeArSearchPause",{})}async workerCommand(e,t){this.context!=null&&await this.context.workerCommand(e,t);}addPrivateListener(e){this.privateListeners.add(e);}removePrivateListener(e){this.privateListeners.delete(e);}async onWorkerMessage(e){var t;switch(e.type){case "barcodeArDidUpdateSession":{if(!this._isEnabled||!this._context)return;for(let r of this.allListeners)(t=r.didUpdateSession)==null||t.call(r,this,a$1.fromJSON(e.payload.session),convertToPublicFrameData(e.payload.frameData,this._context));break}}}};export{o as a};
@@ -0,0 +1 @@
1
+ var s={"scandit-datacapture-sdk-barcode-pthreads.wasm":{bytes:7049951},"scandit-datacapture-sdk-barcode-simd-pthreads.wasm":{bytes:6990482},"scandit-datacapture-sdk-barcode-simd.wasm":{bytes:6873641},"scandit-datacapture-sdk-barcode.wasm":{bytes:6933396}};export{s as a};
@@ -0,0 +1,7 @@
1
+ import {a}from'./chunk-LAYALN2H.js';import {gray900}from'@scandit/web-datacapture-core/build/js/private/ui/colors.js';import {ScanditHTMLElement,html,defineCustomElements,css}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';import {Color}from'@scandit/web-datacapture-core';var e=class e extends ScanditHTMLElement{constructor(){super();let t=this.attachShadow({mode:"open"});t.innerHTML=html`<div class="container">
2
+ <span class="ghost-arrow arw-bottom-center"></span>
3
+ <div class="icon-container">
4
+ <slot name="barcode-icon"></slot>
5
+ </div>
6
+ <span class="text"></span>
7
+ </div>`,this.containerElement=t.querySelector(".container"),this.textContainer=this.containerElement.querySelector(".text"),t.append(e.createStyleElement().cloneNode(true)),t.append(a());}set text(t){this.updateText(t);}get text(){var t;return (t=this.textContainer.textContent)!=null?t:""}set tip(t){this.toggleTip(t);}get tip(){var t,o;return (o=(t=this.containerElement.querySelector(".ghost-arrow"))==null?void 0:t.classList.value.includes("arw-"))!=null?o:false}set textColor(t){this.style.setProperty("--text-color",`#${t.toJSON()}`);}get textColor(){return Color.fromJSON(this.style.getPropertyValue("--text-color"))}set expanded(t){this.toggleAttribute("expanded",t);}set backgroundColor(t){this.style.setProperty("--background-color",`#${t.toJSON()}`),this.style.setProperty("--arrow-background-color",`#${t.toJSON()}`);}get backgroundColor(){let t=this.style.getPropertyValue("--background-color");return Color.fromJSON(t===""?"FFFFFF":t)}get expanded(){return this.hasAttribute("expanded")}static create(){return document.createElement(e.tag)}static register(){defineCustomElements({[e.tag]:e});}static createStyleElement(){return css`:host{display:inline-flex;--size:32px;--padding:0px;--background-color:#fff;--text-color:#${gray900.toJSON()};--expanded-width:190px;--arrow-size:calc(var(--size)/5);--arrow-background-color:#fff;--arrow-offset:0px;cursor:pointer;font-family:SF Pro Text,sans-serif;font-size:1rem;font-style:normal;font-weight:600;transition:transform .25s ease-in-out;user-select:none;-webkit-tap-highlight-color:transparent}.ghost-arrow{height:var(--size);left:0;position:absolute;top:-2px;width:var(--size)}:host([hidden]){display:none}.container{background-color:var(--background-color);border-radius:calc(var(--size) + var(--padding)/2);box-shadow:0 1px 2px 0 #${gray900.withAlpha(.3).toJSON()};display:inline-flex;flex-direction:row;gap:10px;padding:var(--padding);position:relative;transition:width .25s ease-in-out;white-space:nowrap}.container,.icon-container{align-items:center;height:var(--size);width:var(--size)}.icon-container{display:flex;justify-content:center;position:absolute}.container span.text{color:var(--text-color);max-width:0;opacity:0;overflow:hidden;position:absolute;transform:translateX(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out,max-width .25s ease-in-out;white-space:nowrap}:host([expanded]) .container span.text{max-width:calc(var(--expanded-width) - var(--size) - 2px);opacity:1;transform:translateX(var(--size))}:host([expanded]){transform:translateX(calc(var(--expanded-width) - 50% - 2px - var(--size)/2))}:host([expanded]) .container{width:var(--expanded-width)}`}connectedCallback(){this.setAttribute("tip","true");}attributeChangedCallback(t,o,r){t==="text"?this.updateText(r):t==="tip"&&this.toggleTip(r==="true"||r==="");}updateText(t){this.textContainer.textContent=t.slice(0,20);}toggleTip(t){var o;(o=this.containerElement.querySelector(".ghost-arrow"))==null||o.classList.toggle("arw-bottom-center",t);}};e.tag="scandit-status-icon-container",e.observedAttributes=["text","tip"];var s=e;export{s as a};
@@ -1,4 +1,4 @@
1
- import {a as a$2}from'./chunk-OHSTP7TM.js';import {b as b$2}from'./chunk-RWDAYBTQ.js';import {b as b$1}from'./chunk-5DP5VNWQ.js';import {a as a$3}from'./chunk-T2Y2C76P.js';import {a as a$1,b as b$3}from'./chunk-OPL5NVVM.js';import {e,f as f$1,a,b as b$4,d,c}from'./chunk-DVHTYKDX.js';import {f}from'./chunk-YBD5JYCX.js';import {Point}from'@scandit/web-datacapture-core';import {ScanditHTMLElement,defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';var b=class f$2 extends ScanditHTMLElement{constructor(){super(...arguments);this._pointerDownListener=this.onPointerDown.bind(this);this._pointerUpListener=this.onPointerUp.bind(this);this._longPressController=new b$1(this);this._longPressStartListener=this.onLongPressStart.bind(this);}get minimized(){return !this.hasAttribute("expanded")}set minimized(t){this.toggleAttribute("minimized",!t);}get expanded(){return this.hasAttribute("expanded")}set expanded(t){this.toggleAttribute("expanded",t),this._dragController&&(this._dragController.margin=t?new Point(-65,-65):new Point(0,0),this._dragController.repositionIfOutOfBounds());}get pressed(){return this.hasAttribute("pressed")}set pressed(t){this.toggleAttribute("pressed",t);}get visible(){return this.hasAttribute("visible")}set visible(t){this.toggleAttribute("visible",t);}static create(){return defineCustomElements({[f]:f$2}),document.createElement(f)}connectedCallback(){var t;this.append(this.render()),this._dragController=new b$2(this,(t=this.parentElement)==null?void 0:t.parentElement),this._dragController.connect(),this.addEventListener("pointerdown",this._pointerDownListener),this.addEventListener("pointerup",this._pointerUpListener),this.addEventListener("longpressstart",this._longPressStartListener),this._longPressController.connect(),this._longPressController.elementsAllowedToTriggerLongPressEvents.add(this),this._pulse=this.querySelector(".pulse"),this._pulseAnimation=new Animation(new KeyframeEffect(this._pulse,[{background:"rgba(0, 0, 0, 0)"},{background:`var(${e})`,transform:"translate(-50%, -50%) scale(1.1)"},{background:"rgba(0, 0, 0, 0)"}],{duration:1100,easing:"ease-out",iterations:Number.POSITIVE_INFINITY}));}disconnectedCallback(){var t;this.removeEventListener("pointerdown",this._pointerDownListener),this.removeEventListener("pointerup",this._pointerUpListener),this.removeEventListener("longpressstart",this._longPressStartListener),(t=this._dragController)==null||t.disconnect(),this._longPressController.disconnect(),this.innerHTML="";}repositionIfOutOfBounds(){var t;(t=this._dragController)==null||t.repositionIfOutOfBounds();}translateTo(t){var i;(i=this._dragController)==null||i.translateTo(t,false);}setImage(t){var n;let i=this.querySelector("div");(n=i.firstElementChild)==null||n.remove(),t&&i.append(t);}startPulsating(){var t;(t=this._pulseAnimation)==null||t.play();}stopPulsating(){this._pulseAnimation&&(this._pulseAnimation.cancel(),this._pulseAnimation.currentTime=0);}render(){return a$2`
1
+ import {a as a$2}from'./chunk-OHSTP7TM.js';import {a as a$1,b as b$3}from'./chunk-OPL5NVVM.js';import {b as b$2}from'./chunk-RWDAYBTQ.js';import {b as b$1}from'./chunk-5DP5VNWQ.js';import {a as a$3}from'./chunk-T2Y2C76P.js';import {e,f as f$1,a,b as b$4,d,c}from'./chunk-DVHTYKDX.js';import {f}from'./chunk-YBD5JYCX.js';import {Point}from'@scandit/web-datacapture-core';import {ScanditHTMLElement,defineCustomElements}from'@scandit/web-datacapture-core/build/js/private/utils/index.js';var b=class f$2 extends ScanditHTMLElement{constructor(){super(...arguments);this._pointerDownListener=this.onPointerDown.bind(this);this._pointerUpListener=this.onPointerUp.bind(this);this._longPressController=new b$1(this);this._longPressStartListener=this.onLongPressStart.bind(this);}get minimized(){return !this.hasAttribute("expanded")}set minimized(t){this.toggleAttribute("minimized",!t);}get expanded(){return this.hasAttribute("expanded")}set expanded(t){this.toggleAttribute("expanded",t),this._dragController&&(this._dragController.margin=t?new Point(-65,-65):new Point(0,0),this._dragController.repositionIfOutOfBounds());}get pressed(){return this.hasAttribute("pressed")}set pressed(t){this.toggleAttribute("pressed",t);}get visible(){return this.hasAttribute("visible")}set visible(t){this.toggleAttribute("visible",t);}static create(){return defineCustomElements({[f]:f$2}),document.createElement(f)}connectedCallback(){var t;this.append(this.render()),this._dragController=new b$2(this,(t=this.parentElement)==null?void 0:t.parentElement),this._dragController.connect(),this.addEventListener("pointerdown",this._pointerDownListener),this.addEventListener("pointerup",this._pointerUpListener),this.addEventListener("longpressstart",this._longPressStartListener),this._longPressController.connect(),this._longPressController.elementsAllowedToTriggerLongPressEvents.add(this),this._pulse=this.querySelector(".pulse"),this._pulseAnimation=new Animation(new KeyframeEffect(this._pulse,[{background:"rgba(0, 0, 0, 0)"},{background:`var(${e})`,transform:"translate(-50%, -50%) scale(1.1)"},{background:"rgba(0, 0, 0, 0)"}],{duration:1100,easing:"ease-out",iterations:Number.POSITIVE_INFINITY}));}disconnectedCallback(){var t;this.removeEventListener("pointerdown",this._pointerDownListener),this.removeEventListener("pointerup",this._pointerUpListener),this.removeEventListener("longpressstart",this._longPressStartListener),(t=this._dragController)==null||t.disconnect(),this._longPressController.disconnect(),this.innerHTML="";}repositionIfOutOfBounds(){var t;(t=this._dragController)==null||t.repositionIfOutOfBounds();}translateTo(t){var i;(i=this._dragController)==null||i.translateTo(t,false);}setImage(t){var n;let i=this.querySelector("div");(n=i.firstElementChild)==null||n.remove(),t&&i.append(t);}startPulsating(){var t;(t=this._pulseAnimation)==null||t.play();}stopPulsating(){this._pulseAnimation&&(this._pulseAnimation.cancel(),this._pulseAnimation.currentTime=0);}render(){return a$2`
2
2
  <div>
3
3
  <div class="pulse"></div>
4
4
  <svg width="49" height="26" viewBox="0 0 49 26" fill="none" xmlns="http://www.w3.org/2000/svg">