@scandit/web-datacapture-label 8.2.0 → 8.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/build/js/{LabelCapture-DGLkCHVN.d.ts → LabelCapture-DrHOFOh1.d.ts} +0 -1
  2. package/build/js/{LabelCaptureAdvancedOverlay-Gh80a5hZ.d.ts → LabelCaptureAdvancedOverlay-Dq97psgW.d.ts} +2 -2
  3. package/build/js/{LabelCaptureBasicOverlay-C6TRvWxE.d.ts → LabelCaptureBasicOverlay-C3OSXO1g.d.ts} +2 -2
  4. package/build/js/{NativeProxy-DreJVzqM.d.ts → NativeProxy-CYZsx-_W.d.ts} +28 -8
  5. package/build/js/api/AdaptiveRecognitionResult.d.ts +2 -3
  6. package/build/js/api/CustomText.d.ts +2 -3
  7. package/build/js/api/CustomTextBuilder.d.ts +4 -3
  8. package/build/js/api/CustomTextBuilder.js +1 -1
  9. package/build/js/api/DateText.d.ts +2 -3
  10. package/build/js/api/DateTextBuilder.d.ts +2 -3
  11. package/build/js/api/ExpiryDateText.d.ts +2 -3
  12. package/build/js/api/ExpiryDateTextBuilder.d.ts +2 -3
  13. package/build/js/api/LabelCapture.d.ts +3 -4
  14. package/build/js/api/LabelCapture.js +1 -1
  15. package/build/js/api/LabelCaptureAdaptiveRecognitionOverlay.d.ts +3 -4
  16. package/build/js/api/LabelCaptureAdaptiveRecognitionSettings.d.ts +2 -3
  17. package/build/js/api/LabelCaptureAdvancedOverlay.d.ts +4 -5
  18. package/build/js/api/LabelCaptureAdvancedOverlayListener.d.ts +4 -5
  19. package/build/js/api/LabelCaptureBasicOverlay.d.ts +4 -5
  20. package/build/js/api/LabelCaptureBasicOverlayListener.d.ts +4 -5
  21. package/build/js/api/LabelCaptureListener.d.ts +3 -4
  22. package/build/js/api/LabelCaptureOverlayJSON.d.ts +2 -3
  23. package/build/js/api/LabelCaptureSettings.d.ts +2 -3
  24. package/build/js/api/LabelCaptureValidationFlow/LabelCaptureValidationFlowOverlay.d.ts +95 -0
  25. package/build/js/api/LabelCaptureValidationFlow/LabelCaptureValidationFlowOverlay.js +1 -0
  26. package/build/js/api/LabelCaptureValidationFlow/private/ValidationFlowPresenter.d.ts +349 -0
  27. package/build/js/api/LabelCaptureValidationFlow/private/ValidationFlowPresenter.js +1 -0
  28. package/build/js/api/LabelCaptureValidationFlow/private/ValidationFlowStateManager.d.ts +194 -0
  29. package/build/js/api/LabelCaptureValidationFlow/private/ValidationFlowStateManager.js +1 -0
  30. package/build/js/api/LabelCaptureValidationFlow/private/ValidationFlowView.d.ts +297 -0
  31. package/build/js/api/LabelCaptureValidationFlow/private/ValidationFlowView.js +1 -0
  32. package/build/js/api/LabelDefinition.d.ts +2 -3
  33. package/build/js/api/PackingDateText.d.ts +2 -3
  34. package/build/js/api/PackingDateTextBuilder.d.ts +2 -3
  35. package/build/js/api/PrivateReceiptScanningHandler.d.ts +2 -3
  36. package/build/js/api/PrivateReceiptScanningListener.d.ts +2 -3
  37. package/build/js/api/PrivateValidationFlowHandler.d.ts +47 -4
  38. package/build/js/api/PrivateValidationFlowHandler.js +1 -1
  39. package/build/js/api/ReceiptScanningResult.d.ts +2 -3
  40. package/build/js/api/TotalPriceText.d.ts +2 -3
  41. package/build/js/api/TotalPriceTextBuilder.d.ts +2 -3
  42. package/build/js/api/UnitPriceText.d.ts +2 -3
  43. package/build/js/api/UnitPriceTextBuilder.d.ts +2 -3
  44. package/build/js/api/ValidationFlowField.d.ts +1 -1
  45. package/build/js/api/WeightText.d.ts +2 -3
  46. package/build/js/api/WeightTextBuilder.d.ts +2 -3
  47. package/build/js/chunks/chunk-4LEONM2D.js +1 -0
  48. package/build/js/chunks/chunk-AONFYCPA.js +1 -0
  49. package/build/js/chunks/chunk-DVWSNT7T.js +1 -0
  50. package/build/js/chunks/chunk-DXLTMLGV.js +2 -0
  51. package/build/js/chunks/chunk-F5UH7T5M.js +1 -0
  52. package/build/js/chunks/chunk-HMFPC3RG.js +1 -0
  53. package/build/js/chunks/chunk-KBXWH2TW.js +1 -0
  54. package/build/js/chunks/chunk-KFIB6ALQ.js +1 -0
  55. package/build/js/chunks/chunk-NDYVHCIR.js +1 -0
  56. package/build/js/chunks/chunk-OWLFTMGR.js +1 -0
  57. package/build/js/chunks/{chunk-SQXVN7WR.js → chunk-QBLOKSED.js} +1 -1
  58. package/build/js/chunks/chunk-TBGGF77V.js +1 -0
  59. package/build/js/chunks/chunk-TTPFUFVN.js +1 -0
  60. package/build/js/chunks/chunk-VEAIPJDT.js +1 -0
  61. package/build/js/chunks/chunk-WFKHPFU2.js +1 -0
  62. package/build/js/chunks/chunk-XZAS7UFN.js +1 -0
  63. package/build/js/djinni-types/sdcLabelInternalModuleCapture.d.ts +10 -442
  64. package/build/js/djinni-types/sdcLabelInternalModuleCapture.js +1 -1
  65. package/build/js/djinni-types/sdcLabelInternalModuleUiOverlay.d.ts +2 -3
  66. package/build/js/index.d.ts +6 -7
  67. package/build/js/index.js +1 -1
  68. package/build/js/moduleLoader.js +1 -1
  69. package/build/js/private/PrivateLabelFieldDefinition.d.ts +2 -3
  70. package/build/js/private/createProxiedViewFinder.d.ts +4 -5
  71. package/build/js/private/viewfinderTranslator.js +1 -1
  72. package/build/js/sdcLabelInternalModuleCapture-wUz3FjZK.d.ts +479 -0
  73. package/build/js/ui/atoms/Button.d.ts +0 -1
  74. package/build/js/ui/atoms/TextInput.d.ts +45 -47
  75. package/build/js/ui/atoms/TextInput.js +1 -1
  76. package/build/js/ui/controllers/KeyboardVisibilityController.d.ts +100 -0
  77. package/build/js/ui/controllers/KeyboardVisibilityController.js +1 -0
  78. package/build/js/ui/organisms/LabelCaptureValidationFlowLayout.d.ts +18 -13
  79. package/build/js/ui/organisms/LabelCaptureValidationFlowLayout.js +1 -1
  80. package/build/js/worker/LabelCaptureWorkerManager.d.ts +2 -3
  81. package/build/js/worker/LabelCaptureWorkerManager.js +1 -1
  82. package/build/js/worker/WorkerMain.d.ts +2 -3
  83. package/build/js/worker/WorkerMain.js +1 -1
  84. package/build/js/worker/WorkerRegistry.d.ts +2 -3
  85. package/build/js/worker/dataCaptureEngine.d.ts +2 -3
  86. package/build/js/worker/dataCaptureEngine.js +1 -1
  87. package/build/js/worker/dataCaptureWorkerRelated.d.ts +2 -3
  88. package/build/js/worker/handlers/FieldBuilderHandler.d.ts +2 -3
  89. package/build/js/worker/handlers/FieldBuilderHandler.js +1 -1
  90. package/build/js/worker/handlers/LabelCaptureAdvancedOverlayHandler.d.ts +2 -3
  91. package/build/js/worker/handlers/LabelCaptureAdvancedOverlayHandler.js +1 -1
  92. package/build/js/worker/handlers/LabelCaptureBasicOverlayHandler.d.ts +2 -3
  93. package/build/js/worker/handlers/LabelCaptureBasicOverlayHandler.js +1 -1
  94. package/build/js/worker/handlers/LabelCaptureHandler.d.ts +2 -3
  95. package/build/js/worker/handlers/LabelCaptureHandler.js +1 -1
  96. package/build/js/worker/handlers/ReceiptScanningHandler.d.ts +2 -3
  97. package/build/js/worker/handlers/ReceiptScanningHandler.js +1 -1
  98. package/build/js/worker/handlers/SettingsHandler.d.ts +2 -3
  99. package/build/js/worker/handlers/SettingsHandler.js +1 -1
  100. package/build/js/worker/handlers/ValidationFlowHandler.d.ts +2 -3
  101. package/build/js/worker/handlers/ValidationFlowHandler.js +1 -1
  102. package/build/js/worker/labelCapture.inlineWorker.d.ts +2 -3
  103. package/build/js/worker/labelCapture.inlineWorker.js +1 -1
  104. package/build/js/worker/labelWorkerHandler.d.ts +2 -3
  105. package/build/js/worker/proxies/AimerViewfinderProxy.d.ts +2 -3
  106. package/build/js/worker/proxies/AimerViewfinderProxy.js +1 -1
  107. package/build/js/worker/proxies/BarcodeFieldProxy.d.ts +2 -3
  108. package/build/js/worker/proxies/BarcodeFieldProxy.js +1 -1
  109. package/build/js/worker/proxies/CapturedLabelProxy.d.ts +2 -3
  110. package/build/js/worker/proxies/CapturedLabelProxy.js +1 -1
  111. package/build/js/worker/proxies/CustomBarcodeProxy.d.ts +2 -3
  112. package/build/js/worker/proxies/CustomBarcodeProxy.js +1 -1
  113. package/build/js/worker/proxies/CustomTextProxy.d.ts +3 -3
  114. package/build/js/worker/proxies/CustomTextProxy.js +1 -1
  115. package/build/js/worker/proxies/DateTextProxy.d.ts +2 -3
  116. package/build/js/worker/proxies/DateTextProxy.js +1 -1
  117. package/build/js/worker/proxies/ExpiryDateTextProxy.d.ts +2 -3
  118. package/build/js/worker/proxies/ExpiryDateTextProxy.js +1 -1
  119. package/build/js/worker/proxies/ImeiOneBarcodeProxy.d.ts +2 -3
  120. package/build/js/worker/proxies/ImeiOneBarcodeProxy.js +1 -1
  121. package/build/js/worker/proxies/ImeiTwoBarcodeProxy.d.ts +2 -3
  122. package/build/js/worker/proxies/ImeiTwoBarcodeProxy.js +1 -1
  123. package/build/js/worker/proxies/LabelCaptureAdvancedOverlayProxy.d.ts +2 -3
  124. package/build/js/worker/proxies/LabelCaptureAdvancedOverlayProxy.js +1 -1
  125. package/build/js/worker/proxies/LabelCaptureBasicOverlayProxy.d.ts +2 -3
  126. package/build/js/worker/proxies/LabelCaptureBasicOverlayProxy.js +1 -1
  127. package/build/js/worker/proxies/LabelCaptureHelperProxy.d.ts +2 -3
  128. package/build/js/worker/proxies/LabelCaptureHelperProxy.js +1 -1
  129. package/build/js/worker/proxies/LabelCaptureOverlayHelperProxy.d.ts +2 -3
  130. package/build/js/worker/proxies/LabelCaptureOverlayHelperProxy.js +1 -1
  131. package/build/js/worker/proxies/LabelCaptureProxy.d.ts +3 -3
  132. package/build/js/worker/proxies/LabelCaptureProxy.js +1 -1
  133. package/build/js/worker/proxies/LabelCaptureSessionProxy.d.ts +2 -3
  134. package/build/js/worker/proxies/LabelCaptureSessionProxy.js +1 -1
  135. package/build/js/worker/proxies/LabelCaptureSettingsProxy.d.ts +2 -3
  136. package/build/js/worker/proxies/LabelCaptureSettingsProxy.js +1 -1
  137. package/build/js/worker/proxies/LabelDefinitionProxy.d.ts +2 -3
  138. package/build/js/worker/proxies/LabelDefinitionProxy.js +1 -1
  139. package/build/js/worker/proxies/LabelFieldDefinitionProxy.d.ts +2 -3
  140. package/build/js/worker/proxies/LabelFieldDefinitionProxy.js +1 -1
  141. package/build/js/worker/proxies/LabelFieldLocationProxy.d.ts +2 -3
  142. package/build/js/worker/proxies/LabelFieldLocationProxy.js +1 -1
  143. package/build/js/worker/proxies/LabelFieldProxy.d.ts +2 -3
  144. package/build/js/worker/proxies/LabelFieldProxy.js +1 -1
  145. package/build/js/worker/proxies/NativeProxy.d.ts +2 -3
  146. package/build/js/worker/proxies/NativeProxy.js +1 -1
  147. package/build/js/worker/proxies/NoViewfinderProxy.d.ts +2 -3
  148. package/build/js/worker/proxies/NoViewfinderProxy.js +1 -1
  149. package/build/js/worker/proxies/PackingDateTextProxy.d.ts +2 -3
  150. package/build/js/worker/proxies/PackingDateTextProxy.js +1 -1
  151. package/build/js/worker/proxies/PartNumberBarcodeProxy.d.ts +2 -3
  152. package/build/js/worker/proxies/PartNumberBarcodeProxy.js +1 -1
  153. package/build/js/worker/proxies/ReceiptScanningHandlerProxy.d.ts +2 -3
  154. package/build/js/worker/proxies/ReceiptScanningOverlayProxy.d.ts +2 -3
  155. package/build/js/worker/proxies/ReceiptScanningOverlayProxy.js +1 -1
  156. package/build/js/worker/proxies/ReceiptScanningSettingsProxy.d.ts +2 -3
  157. package/build/js/worker/proxies/ReceiptScanningSettingsProxy.js +1 -1
  158. package/build/js/worker/proxies/RectangularViewfinderAnimationProxy.d.ts +2 -3
  159. package/build/js/worker/proxies/RectangularViewfinderAnimationProxy.js +1 -1
  160. package/build/js/worker/proxies/RectangularViewfinderProxy.d.ts +2 -3
  161. package/build/js/worker/proxies/RectangularViewfinderProxy.js +1 -1
  162. package/build/js/worker/proxies/SerialNumberBarcodeProxy.d.ts +2 -3
  163. package/build/js/worker/proxies/SerialNumberBarcodeProxy.js +1 -1
  164. package/build/js/worker/proxies/TotalPriceTextProxy.d.ts +2 -3
  165. package/build/js/worker/proxies/TotalPriceTextProxy.js +1 -1
  166. package/build/js/worker/proxies/UnitPriceTextProxy.d.ts +2 -3
  167. package/build/js/worker/proxies/UnitPriceTextProxy.js +1 -1
  168. package/build/js/worker/proxies/ValidationFlowListenerProxy.d.ts +3 -3
  169. package/build/js/worker/proxies/ValidationFlowListenerProxy.js +1 -1
  170. package/build/js/worker/proxies/ValidationFlowOverlayProxy.d.ts +2 -3
  171. package/build/js/worker/proxies/ValidationFlowOverlayProxy.js +1 -1
  172. package/build/js/worker/proxies/ValidationFlowSettingsProxy.d.ts +2 -3
  173. package/build/js/worker/proxies/ValidationFlowSettingsProxy.js +1 -1
  174. package/build/js/worker/proxies/WeightTextProxy.d.ts +2 -3
  175. package/build/js/worker/proxies/WeightTextProxy.js +1 -1
  176. package/build/js/worker/proxies/base/BarcodeFieldProxyBase.d.ts +2 -3
  177. package/build/js/worker/proxies/base/BarcodeFieldProxyBase.js +1 -1
  178. package/build/js/worker/proxies/base/LabelFieldDefinitionBaseProxy.d.ts +2 -3
  179. package/build/js/worker/proxies/base/LabelFieldDefinitionBaseProxy.js +1 -1
  180. package/build/js/worker/proxies/base/index.d.ts +2 -3
  181. package/build/js/worker/proxies/base/index.js +1 -1
  182. package/package.json +3 -3
  183. package/sdc-lib/scandit-datacapture-sdk-label-pthreads.js +1 -1
  184. package/sdc-lib/scandit-datacapture-sdk-label-pthreads.wasm +0 -0
  185. package/sdc-lib/scandit-datacapture-sdk-label-simd-pthreads.js +1 -1
  186. package/sdc-lib/scandit-datacapture-sdk-label-simd-pthreads.wasm +0 -0
  187. package/sdc-lib/scandit-datacapture-sdk-label-simd.js +1 -1
  188. package/sdc-lib/scandit-datacapture-sdk-label-simd.wasm +0 -0
  189. package/sdc-lib/scandit-datacapture-sdk-label.js +1 -1
  190. package/sdc-lib/scandit-datacapture-sdk-label.wasm +0 -0
  191. package/build/js/ResultOrError-wVDzYSuC.d.ts +0 -27
  192. package/build/js/api/LabelCaptureValidationFlowOverlay.d.ts +0 -166
  193. package/build/js/api/LabelCaptureValidationFlowOverlay.js +0 -1
  194. package/build/js/chunks/chunk-3WFVV6LL.js +0 -1
  195. package/build/js/chunks/chunk-6EPGEBWT.js +0 -1
  196. package/build/js/chunks/chunk-7LN4ULNN.js +0 -1
  197. package/build/js/chunks/chunk-BILNKC2Q.js +0 -1
  198. package/build/js/chunks/chunk-DV4WMUFU.js +0 -1
  199. package/build/js/chunks/chunk-IK62R3BD.js +0 -1
  200. package/build/js/chunks/chunk-IXBSL67X.js +0 -2
  201. package/build/js/chunks/chunk-NF5D6YGW.js +0 -1
  202. package/build/js/chunks/chunk-PLBJGJHF.js +0 -1
  203. package/build/js/chunks/chunk-TCXD3SSH.js +0 -1
  204. package/build/js/chunks/chunk-X6DRW2HT.js +0 -1
@@ -0,0 +1,194 @@
1
+ import { V as ValidationFlowState } from '../../../sdcLabelInternalModuleCapture-wUz3FjZK.js';
2
+ import { ValidationFlowField } from '../../ValidationFlowField.js';
3
+ import '../../../djinni-types/sdcBarcodeData.js';
4
+ import '../../../djinni-types/sdcSymbologySettings.js';
5
+ import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
6
+ import '../../../djinni-types/sdcCoreInternalSdkArea.js';
7
+ import '../../../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
8
+ import '../../../djinni-types/sdcCoreCommonGraphic.js';
9
+ import '../../../djinni-types/sdcCoreCommonGeometry.js';
10
+ import '../../../djinni-types/sdcCoreInternalSdkCommonAsync.js';
11
+ import '../../../djinni-types/sdcCoreInternalSdkOcr.js';
12
+ import '../../../djinni-types/sdcCoreCommon.js';
13
+ import '../../../djinni-types/sdcLabelData.js';
14
+ import '../../../djinni-types/sdcLabelInternalModuleData.js';
15
+ import '../../../djinni-types/sdcBarcodeInternalSdkData.js';
16
+ import '../../../djinni-types/sdcCoreCommonBuffer.js';
17
+ import '../../LabelField.js';
18
+ import '@scandit/web-datacapture-barcode';
19
+ import '@scandit/web-datacapture-core';
20
+ import '../../LabelFieldState.js';
21
+ import '../../LabelFieldType.js';
22
+ import '../../LabelFieldValueType.js';
23
+ import '../../LabelDateResult.js';
24
+
25
+ /**
26
+ * Cloud backup processing states (orthogonal to scanning)
27
+ */
28
+ declare enum CloudBackupState {
29
+ /** No cloud backup processing */
30
+ IDLE = "idle",
31
+ /** Cloud backup processing in progress */
32
+ PROCESSING = "processing"
33
+ }
34
+ /**
35
+ * Individual input field states
36
+ */
37
+ declare enum InputState {
38
+ /** Empty or cleared, no validation */
39
+ Initial = "initial",
40
+ /** Actively scanning via camera */
41
+ Scanning = "scanning",
42
+ /** Being processed by cloud backup service */
43
+ CloudBackup = "cloudBackup",
44
+ /** Successfully validated */
45
+ Validated = "validated",
46
+ /** Validation failed */
47
+ Error = "error"
48
+ }
49
+ /**
50
+ * Manages validation flow state:
51
+ * - Validation flow state: overall scanning state from native handler (IDLE, IN_COMPLETE_SCAN, etc.)
52
+ * - Focused input: tracks which input is currently focused by name (for UI state)
53
+ * - Cloud backup state: handles cloud processing (orthogonal to scanning)
54
+ * - Input states: per-field validation states
55
+ */
56
+ declare class ValidationFlowStateManager {
57
+ private cloudBackupStateMachine;
58
+ /** Tracks the overall validation flow state from the native handler */
59
+ private validationFlowState;
60
+ /** Tracks the name of the currently focused input */
61
+ private currentInputName;
62
+ /** Tracks which fields are currently being processed by cloud backup */
63
+ private cloudBackupFields;
64
+ /** Per-field input states */
65
+ private fieldStates;
66
+ /** Scan results from the last onFieldsScanned event, keyed by field name. CLEARED_SCAN_RESULT indicates a cleared/deleted result. */
67
+ private scanResultMap;
68
+ constructor();
69
+ /**
70
+ * Current validation flow state from the native handler
71
+ */
72
+ get validationFlowHandlerState(): ValidationFlowState;
73
+ /**
74
+ * Set the validation flow state (called when receiving state updates from native handler)
75
+ */
76
+ set validationFlowHandlerState(state: ValidationFlowState);
77
+ /**
78
+ * Whether currently in a scanning state (complete or partial scan)
79
+ */
80
+ get isScanning(): boolean;
81
+ /**
82
+ * Whether currently scanning OR processing cloud backup
83
+ */
84
+ get isScanningOrCloudBackup(): boolean;
85
+ /**
86
+ * Whether in paused state
87
+ */
88
+ get isPaused(): boolean;
89
+ /**
90
+ * Whether in finished state
91
+ */
92
+ get isFinished(): boolean;
93
+ /**
94
+ * Whether in idle state
95
+ */
96
+ get isIdle(): boolean;
97
+ /**
98
+ * Current cloud backup state
99
+ */
100
+ get cloudBackupState(): CloudBackupState;
101
+ /**
102
+ * Whether cloud backup is processing
103
+ */
104
+ get isCloudBackupProcessing(): boolean;
105
+ /**
106
+ * Whether an input is currently processed
107
+ */
108
+ get hasCurrentInputName(): boolean;
109
+ /**
110
+ * Get the name of the currently focused input
111
+ */
112
+ getCurrentInputName(): string | null;
113
+ /**
114
+ * Set the focused input by name
115
+ */
116
+ setCurrentInputName(inputName: string): void;
117
+ /**
118
+ * Clear the focused input
119
+ */
120
+ clearCurrentInputName(): void;
121
+ /**
122
+ * Start cloud backup processing for specific fields.
123
+ * Only transitions IDLE → PROCESSING; if already PROCESSING, just updates the field set.
124
+ */
125
+ startCloudBackup(fieldNames: string[]): void;
126
+ /**
127
+ * Stop cloud backup processing (all fields)
128
+ */
129
+ stopCloudBackup(): void;
130
+ /**
131
+ * Cancel cloud backup for a specific field
132
+ */
133
+ cancelCloudBackupForField(fieldName: string): void;
134
+ /**
135
+ * Resume cloud backup for a specific field (uncancel)
136
+ */
137
+ uncancelCloudBackupForField(fieldName: string): void;
138
+ /**
139
+ * Check if a specific field is being processed by cloud backup
140
+ */
141
+ isFieldInCloudBackup(fieldName: string): boolean;
142
+ /**
143
+ * Get all fields currently in cloud backup
144
+ */
145
+ getCloudBackupFields(): string[];
146
+ /**
147
+ * Subscribe to cloud backup state changes
148
+ */
149
+ onCloudBackupStateChange(listener: (currentState: CloudBackupState, previousState: CloudBackupState, context?: unknown) => void): void;
150
+ /**
151
+ * Unsubscribe from cloud backup state changes
152
+ */
153
+ offCloudBackupStateChange(listener: (currentState: CloudBackupState, previousState: CloudBackupState, context?: unknown) => void): void;
154
+ /**
155
+ * Register all fields at initialization. Does not override existing state.
156
+ */
157
+ registerFields(fieldNames: string[]): void;
158
+ /**
159
+ * Remove all field state (call on re-initialization).
160
+ */
161
+ clearFields(): void;
162
+ /**
163
+ * Set field state, enforcing the invariant:
164
+ * if currentInputName === fieldName and state is Scanning or CloudBackup → use Initial instead.
165
+ */
166
+ setInputState(fieldName: string, state: InputState): void;
167
+ /**
168
+ * Read the stored (invariant-enforced) state. Defaults to Initial for unknown fields.
169
+ */
170
+ getInputState(fieldName: string): InputState;
171
+ /**
172
+ * True if fieldName === currentInputName (field is focused or in blur-validation flow).
173
+ */
174
+ isCurrentInputName(fieldName: string): boolean;
175
+ /**
176
+ * Store the latest batch of scan results from onFieldsScanned.
177
+ * All backend results are stored; value-based filtering happens at read time in the presenter.
178
+ * Replaces any previously stored results.
179
+ */
180
+ setScanResults(validationFlowFields: ValidationFlowField[]): void;
181
+ updateScanResults(validationFlowFields: ValidationFlowField[]): void;
182
+ deleteScanResult(fieldName: string): void;
183
+ /**
184
+ * Get the stored scan result for a specific field.
185
+ */
186
+ getScanResult(fieldName: string): ValidationFlowField | undefined;
187
+ /**
188
+ * Clear all stored scan results (called at the end of syncInputWithState so that
189
+ * subsequent syncs without new results start from a clean slate).
190
+ */
191
+ clearScanResults(): void;
192
+ }
193
+
194
+ export { CloudBackupState, InputState, ValidationFlowStateManager };
@@ -0,0 +1 @@
1
+ export{a as CloudBackupState,b as InputState,c as ValidationFlowStateManager}from'../../../chunks/chunk-TTPFUFVN.js';
@@ -0,0 +1,297 @@
1
+ import { Color, DataCaptureView } from '@scandit/web-datacapture-core';
2
+ import { LabelCaptureValidationFlowLayoutEvents, LabelCaptureValidationFlowLayoutEventMap } from '../../../ui/organisms/LabelCaptureValidationFlowLayout.js';
3
+ import { TextInput, TextInputType, TextInputEvents } from '../../../ui/atoms/TextInput.js';
4
+ import { InputState } from './ValidationFlowStateManager.js';
5
+ import '@scandit/web-datacapture-core/build/js/private/ui/atoms/Backdrop.js';
6
+ import '@scandit/web-datacapture-core/build/js/private/utils/index.js';
7
+ import '../../../ui/atoms/Button.js';
8
+ import '@scandit/web-datacapture-core/build/js/private/GestureRecognizer/GestureRecognizer.js';
9
+ import '@scandit/web-datacapture-core/build/js/commons/Color.js';
10
+ import '../../../sdcLabelInternalModuleCapture-wUz3FjZK.js';
11
+ import '../../../djinni-types/sdcBarcodeData.js';
12
+ import '../../../djinni-types/sdcSymbologySettings.js';
13
+ import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
14
+ import '../../../djinni-types/sdcCoreInternalSdkArea.js';
15
+ import '../../../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
16
+ import '../../../djinni-types/sdcCoreCommonGraphic.js';
17
+ import '../../../djinni-types/sdcCoreCommonGeometry.js';
18
+ import '../../../djinni-types/sdcCoreInternalSdkCommonAsync.js';
19
+ import '../../../djinni-types/sdcCoreInternalSdkOcr.js';
20
+ import '../../../djinni-types/sdcCoreCommon.js';
21
+ import '../../../djinni-types/sdcLabelData.js';
22
+ import '../../../djinni-types/sdcLabelInternalModuleData.js';
23
+ import '../../../djinni-types/sdcBarcodeInternalSdkData.js';
24
+ import '../../../djinni-types/sdcCoreCommonBuffer.js';
25
+ import '../../ValidationFlowField.js';
26
+ import '../../LabelField.js';
27
+ import '@scandit/web-datacapture-barcode';
28
+ import '../../LabelFieldState.js';
29
+ import '../../LabelFieldType.js';
30
+ import '../../LabelFieldValueType.js';
31
+ import '../../LabelDateResult.js';
32
+
33
+ /**
34
+ * Configuration for creating an input field
35
+ */
36
+ interface InputFieldConfig {
37
+ name: string;
38
+ type: TextInputType;
39
+ label: string;
40
+ value: string;
41
+ required: boolean;
42
+ loadingText: string;
43
+ }
44
+ /**
45
+ * View layer interface - handles only UI/DOM operations
46
+ * Does not contain business logic or state management
47
+ */
48
+ interface IValidationFlowView {
49
+ /**
50
+ * Get all input elements
51
+ */
52
+ getInputs(): TextInput[];
53
+ /**
54
+ * Get input by field name
55
+ */
56
+ getInputByName(fieldName: string): TextInput | null;
57
+ /**
58
+ * Check if an input with the given field name exists
59
+ */
60
+ hasInput(fieldName: string): boolean;
61
+ /**
62
+ * Check if an input with the given field name is currently focused
63
+ */
64
+ isInputFocused(fieldName: string): boolean;
65
+ /**
66
+ * Show scanning mode buttons (pause button)
67
+ */
68
+ showScanningButtons(): void;
69
+ /**
70
+ * Show validation mode buttons (clear all, submit)
71
+ */
72
+ showValidationButtons(): void;
73
+ /**
74
+ * Hide all buttons
75
+ */
76
+ hideAllButtons(): void;
77
+ /**
78
+ * Enable or disable the submit button
79
+ */
80
+ setSubmitButtonDisabled(disabled: boolean): void;
81
+ /**
82
+ * Update input visual state
83
+ */
84
+ updateInputVisualState(fieldName: string, config: {
85
+ value?: string;
86
+ loading?: boolean;
87
+ loadingText?: string;
88
+ invalid?: boolean;
89
+ hintMessage?: string;
90
+ backgroundColor?: Color | string;
91
+ }): void;
92
+ /**
93
+ * Reset input validation state (remove error/success indicators)
94
+ */
95
+ resetInputValidation(fieldName: string): void;
96
+ /**
97
+ * Update scan icon visibility for an input
98
+ */
99
+ updateScanIconVisibility(fieldName: string, visible: boolean): void;
100
+ /**
101
+ * Update scan icon visibility for all inputs
102
+ */
103
+ updateAllScanIconVisibility(visible: boolean): void;
104
+ /**
105
+ * Update input visual state based on InputState enum
106
+ * This is a high-level method that encapsulates all visual updates for a given state
107
+ */
108
+ updateInputForState(fieldName: string, state: InputState, value: string, config: {
109
+ scanningText?: string;
110
+ adaptiveScanningText?: string;
111
+ hintMessage?: string;
112
+ backgroundColor?: Color | string;
113
+ scanIconVisible?: boolean;
114
+ }): void;
115
+ /**
116
+ * Show adaptive recognition overlay
117
+ */
118
+ showAdaptiveRecognitionOverlay(): void;
119
+ /**
120
+ * Hide adaptive recognition overlay
121
+ */
122
+ hideAdaptiveRecognitionOverlay(): void;
123
+ /**
124
+ * Show backdrop
125
+ */
126
+ showBackdrop(): Promise<void>;
127
+ /**
128
+ * Hide backdrop
129
+ */
130
+ hideBackdrop(): Promise<void>;
131
+ /**
132
+ * Move input to top of list with animation
133
+ */
134
+ moveInputToTop(fieldName: string): Promise<void>;
135
+ /**
136
+ * Restore all inputs to original positions
137
+ */
138
+ restoreInputsPositions(): Promise<void>;
139
+ /**
140
+ * Update button text
141
+ */
142
+ updateButtonText(config: {
143
+ finishButtonText?: string;
144
+ restartButtonText?: string;
145
+ pauseButtonText?: string;
146
+ }): void;
147
+ /**
148
+ * Set placeholder text for an input
149
+ */
150
+ setInputPlaceholder(fieldName: string, placeholder: string): void;
151
+ /**
152
+ * Clear placeholder text for an input
153
+ */
154
+ clearInputPlaceholder(fieldName: string): void;
155
+ /**
156
+ * Set input value
157
+ */
158
+ setInputValue(fieldName: string, value: string): void;
159
+ /**
160
+ * Get input value
161
+ */
162
+ getInputValue(fieldName: string): string;
163
+ /**
164
+ * Set input background color
165
+ */
166
+ setInputBackgroundColor(fieldName: string, color: Color | string): void;
167
+ /**
168
+ * Append inputs to the layout
169
+ */
170
+ appendInputs(...inputs: TextInput[]): void;
171
+ /**
172
+ * Initialize inputs from configuration
173
+ * Clears existing inputs and creates new ones
174
+ */
175
+ initializeInputs(configs: InputFieldConfig[]): void;
176
+ /**
177
+ * Remove all inputs from layout
178
+ */
179
+ clearInputs(): void;
180
+ /**
181
+ * Focus an input
182
+ */
183
+ focusInput(fieldName: string): void;
184
+ /**
185
+ * Blur an input
186
+ */
187
+ blurInput(fieldName: string): void;
188
+ /**
189
+ * Scroll an input into view with platform-specific behavior
190
+ * Automatically handles iOS-specific scroll positioning and margins
191
+ */
192
+ scrollInputIntoView(fieldName: string): void;
193
+ /**
194
+ * Check if an input is the currently active element
195
+ */
196
+ isInputActiveElement(fieldName: string): boolean;
197
+ /**
198
+ * Blur the currently active element (typically to dismiss keyboard)
199
+ */
200
+ blurActiveElement(): void;
201
+ /**
202
+ * Add event listener to the layout
203
+ */
204
+ addEventListener<K extends (typeof TextInputEvents)[keyof typeof TextInputEvents] | (typeof LabelCaptureValidationFlowLayoutEvents)[keyof typeof LabelCaptureValidationFlowLayoutEvents]>(type: K, listener: (this: HTMLElement, ev: LabelCaptureValidationFlowLayoutEventMap[K]) => void): void;
205
+ /**
206
+ * Remove event listener from the layout
207
+ */
208
+ removeEventListener<K extends (typeof TextInputEvents)[keyof typeof TextInputEvents] | (typeof LabelCaptureValidationFlowLayoutEvents)[keyof typeof LabelCaptureValidationFlowLayoutEvents]>(type: K, listener: (this: HTMLElement, ev: LabelCaptureValidationFlowLayoutEventMap[K]) => void): void;
209
+ /**
210
+ * Add click listener to submit button
211
+ */
212
+ addSubmitButtonListener(listener: () => void): void;
213
+ /**
214
+ * Remove click listener from submit button
215
+ */
216
+ removeSubmitButtonListener(listener: () => void): void;
217
+ /**
218
+ * Mount the view to the DataCaptureView
219
+ */
220
+ mount(dataCaptureView: DataCaptureView): Promise<void>;
221
+ /**
222
+ * Unmount the view and clean up
223
+ */
224
+ unmount(dataCaptureView: DataCaptureView): Promise<void>;
225
+ }
226
+ /**
227
+ * Concrete implementation of the view layer
228
+ * Wraps the LabelCaptureValidationFlowLayout and provides a clean interface
229
+ */
230
+ declare class ValidationFlowView implements IValidationFlowView {
231
+ private layout;
232
+ private dataCaptureViewRoot;
233
+ /**
234
+ * Ensure custom elements are registered (called once per application)
235
+ */
236
+ private static ensureCustomElementsRegistered;
237
+ constructor();
238
+ getInputs(): TextInput[];
239
+ getInputByName(fieldName: string): TextInput | null;
240
+ hasInput(fieldName: string): boolean;
241
+ isInputFocused(fieldName: string): boolean;
242
+ isFocusedElementAnTextInput(): boolean;
243
+ showScanningButtons(): void;
244
+ showValidationButtons(): void;
245
+ hideAllButtons(): void;
246
+ setSubmitButtonDisabled(disabled: boolean): void;
247
+ updateInputVisualState(fieldName: string, config: {
248
+ value?: string;
249
+ loading?: boolean;
250
+ loadingText?: string;
251
+ invalid?: boolean;
252
+ hintMessage?: string;
253
+ backgroundColor?: Color | string;
254
+ }): void;
255
+ resetInputValidation(fieldName: string): void;
256
+ updateScanIconVisibility(fieldName: string, visible: boolean): void;
257
+ updateAllScanIconVisibility(visible: boolean): void;
258
+ updateInputForState(fieldName: string, state: InputState, value: string, config: {
259
+ scanningText?: string;
260
+ adaptiveScanningText?: string;
261
+ hintMessage?: string;
262
+ backgroundColor?: Color | string;
263
+ scanIconVisible?: boolean;
264
+ }): void;
265
+ showAdaptiveRecognitionOverlay(): void;
266
+ hideAdaptiveRecognitionOverlay(): void;
267
+ showBackdrop(): Promise<void>;
268
+ hideBackdrop(): Promise<void>;
269
+ moveInputToTop(fieldName: string): Promise<void>;
270
+ restoreInputsPositions(): Promise<void>;
271
+ updateButtonText(config: {
272
+ finishButtonText?: string;
273
+ restartButtonText?: string;
274
+ pauseButtonText?: string;
275
+ }): void;
276
+ setInputPlaceholder(fieldName: string, placeholder: string): void;
277
+ clearInputPlaceholder(fieldName: string): void;
278
+ setInputValue(fieldName: string, value: string): void;
279
+ getInputValue(fieldName: string): string;
280
+ setInputBackgroundColor(fieldName: string, color: Color | string): void;
281
+ initializeInputs(configs: InputFieldConfig[]): void;
282
+ appendInputs(...inputs: TextInput[]): void;
283
+ clearInputs(): void;
284
+ focusInput(fieldName: string): void;
285
+ blurInput(fieldName: string): void;
286
+ scrollInputIntoView(fieldName: string): void;
287
+ isInputActiveElement(fieldName: string): boolean;
288
+ blurActiveElement(): void;
289
+ addEventListener<K extends (typeof TextInputEvents)[keyof typeof TextInputEvents] | (typeof LabelCaptureValidationFlowLayoutEvents)[keyof typeof LabelCaptureValidationFlowLayoutEvents]>(type: K, listener: (this: HTMLElement, ev: LabelCaptureValidationFlowLayoutEventMap[K]) => void): void;
290
+ removeEventListener<K extends (typeof TextInputEvents)[keyof typeof TextInputEvents] | (typeof LabelCaptureValidationFlowLayoutEvents)[keyof typeof LabelCaptureValidationFlowLayoutEvents]>(type: K, listener: (this: HTMLElement, ev: LabelCaptureValidationFlowLayoutEventMap[K]) => void): void;
291
+ addSubmitButtonListener(listener: () => void): void;
292
+ removeSubmitButtonListener(listener: () => void): void;
293
+ mount(dataCaptureView: DataCaptureView): Promise<void>;
294
+ unmount(dataCaptureView: DataCaptureView): Promise<void>;
295
+ }
296
+
297
+ export { type IValidationFlowView, type InputFieldConfig, ValidationFlowView };
@@ -0,0 +1 @@
1
+ export{a as ValidationFlowView}from'../../../chunks/chunk-WFKHPFU2.js';
@@ -15,19 +15,18 @@ import { DateText } from './DateText.js';
15
15
  import { ExpiryDateText } from './ExpiryDateText.js';
16
16
  import '@scandit/web-datacapture-barcode';
17
17
  import './BarcodeField.js';
18
- import '../NativeProxy-DreJVzqM.js';
18
+ import '../NativeProxy-CYZsx-_W.js';
19
19
  import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
20
20
  import '../djinni-types/sdcBarcodeInternalSdkData.js';
21
21
  import '../djinni-types/sdcBarcodeData.js';
22
22
  import '../djinni-types/sdcCoreCommonGeometry.js';
23
23
  import '../djinni-types/sdcCoreCommonBuffer.js';
24
- import '../djinni-types/sdcLabelInternalModuleCapture.js';
24
+ import '../sdcLabelInternalModuleCapture-wUz3FjZK.js';
25
25
  import '../djinni-types/sdcSymbologySettings.js';
26
26
  import '../djinni-types/sdcCoreInternalSdkArea.js';
27
27
  import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
28
28
  import '../djinni-types/sdcCoreCommonGraphic.js';
29
29
  import '../djinni-types/sdcCoreInternalSdkCommonAsync.js';
30
- import '../ResultOrError-wVDzYSuC.js';
31
30
  import '../djinni-types/sdcCoreInternalSdkOcr.js';
32
31
  import '../djinni-types/sdcCoreCommon.js';
33
32
  import '../djinni-types/sdcLabelData.js';
@@ -1,5 +1,5 @@
1
1
  import { nativeHandle } from '@scandit/web-datacapture-core/build/js/private/nativeHandle.js';
2
- import { N as NativeProxyHandle } from '../NativeProxy-DreJVzqM.js';
2
+ import { N as NativeProxyHandle } from '../NativeProxy-CYZsx-_W.js';
3
3
  import { LabelDateFormat } from './LabelDateFormat.js';
4
4
  import { TextField } from './TextField.js';
5
5
  import '@scandit/web-datacapture-barcode';
@@ -8,13 +8,12 @@ import '../djinni-types/sdcBarcodeInternalSdkData.js';
8
8
  import '../djinni-types/sdcBarcodeData.js';
9
9
  import '../djinni-types/sdcCoreCommonGeometry.js';
10
10
  import '../djinni-types/sdcCoreCommonBuffer.js';
11
- import '../djinni-types/sdcLabelInternalModuleCapture.js';
11
+ import '../sdcLabelInternalModuleCapture-wUz3FjZK.js';
12
12
  import '../djinni-types/sdcSymbologySettings.js';
13
13
  import '../djinni-types/sdcCoreInternalSdkArea.js';
14
14
  import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
15
15
  import '../djinni-types/sdcCoreCommonGraphic.js';
16
16
  import '../djinni-types/sdcCoreInternalSdkCommonAsync.js';
17
- import '../ResultOrError-wVDzYSuC.js';
18
17
  import '../djinni-types/sdcCoreInternalSdkOcr.js';
19
18
  import '../djinni-types/sdcCoreCommon.js';
20
19
  import '../djinni-types/sdcLabelData.js';
@@ -2,20 +2,19 @@ import { PackingDateText } from './PackingDateText.js';
2
2
  import { TextFieldBuilder } from './TextFieldBuilder.js';
3
3
  import { LabelDateFormat } from './LabelDateFormat.js';
4
4
  import '@scandit/web-datacapture-core/build/js/private/nativeHandle.js';
5
- import '../NativeProxy-DreJVzqM.js';
5
+ import '../NativeProxy-CYZsx-_W.js';
6
6
  import '@scandit/web-datacapture-barcode';
7
7
  import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
8
8
  import '../djinni-types/sdcBarcodeInternalSdkData.js';
9
9
  import '../djinni-types/sdcBarcodeData.js';
10
10
  import '../djinni-types/sdcCoreCommonGeometry.js';
11
11
  import '../djinni-types/sdcCoreCommonBuffer.js';
12
- import '../djinni-types/sdcLabelInternalModuleCapture.js';
12
+ import '../sdcLabelInternalModuleCapture-wUz3FjZK.js';
13
13
  import '../djinni-types/sdcSymbologySettings.js';
14
14
  import '../djinni-types/sdcCoreInternalSdkArea.js';
15
15
  import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
16
16
  import '../djinni-types/sdcCoreCommonGraphic.js';
17
17
  import '../djinni-types/sdcCoreInternalSdkCommonAsync.js';
18
- import '../ResultOrError-wVDzYSuC.js';
19
18
  import '../djinni-types/sdcCoreInternalSdkOcr.js';
20
19
  import '../djinni-types/sdcCoreCommon.js';
21
20
  import '../djinni-types/sdcLabelData.js';
@@ -1,18 +1,17 @@
1
1
  import { PrivateReceiptScanningListener } from './PrivateReceiptScanningListener.js';
2
- import '../NativeProxy-DreJVzqM.js';
2
+ import '../NativeProxy-CYZsx-_W.js';
3
3
  import '@scandit/web-datacapture-barcode';
4
4
  import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
5
5
  import '../djinni-types/sdcBarcodeInternalSdkData.js';
6
6
  import '../djinni-types/sdcBarcodeData.js';
7
7
  import '../djinni-types/sdcCoreCommonGeometry.js';
8
8
  import '../djinni-types/sdcCoreCommonBuffer.js';
9
- import '../djinni-types/sdcLabelInternalModuleCapture.js';
9
+ import '../sdcLabelInternalModuleCapture-wUz3FjZK.js';
10
10
  import '../djinni-types/sdcSymbologySettings.js';
11
11
  import '../djinni-types/sdcCoreInternalSdkArea.js';
12
12
  import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
13
13
  import '../djinni-types/sdcCoreCommonGraphic.js';
14
14
  import '../djinni-types/sdcCoreInternalSdkCommonAsync.js';
15
- import '../ResultOrError-wVDzYSuC.js';
16
15
  import '../djinni-types/sdcCoreInternalSdkOcr.js';
17
16
  import '../djinni-types/sdcCoreCommon.js';
18
17
  import '../djinni-types/sdcLabelData.js';
@@ -1,17 +1,16 @@
1
- import { a as ReceiptScanningResult } from '../NativeProxy-DreJVzqM.js';
1
+ import { a as ReceiptScanningResult } from '../NativeProxy-CYZsx-_W.js';
2
2
  import '@scandit/web-datacapture-barcode';
3
3
  import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
4
4
  import '../djinni-types/sdcBarcodeInternalSdkData.js';
5
5
  import '../djinni-types/sdcBarcodeData.js';
6
6
  import '../djinni-types/sdcCoreCommonGeometry.js';
7
7
  import '../djinni-types/sdcCoreCommonBuffer.js';
8
- import '../djinni-types/sdcLabelInternalModuleCapture.js';
8
+ import '../sdcLabelInternalModuleCapture-wUz3FjZK.js';
9
9
  import '../djinni-types/sdcSymbologySettings.js';
10
10
  import '../djinni-types/sdcCoreInternalSdkArea.js';
11
11
  import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
12
12
  import '../djinni-types/sdcCoreCommonGraphic.js';
13
13
  import '../djinni-types/sdcCoreInternalSdkCommonAsync.js';
14
- import '../ResultOrError-wVDzYSuC.js';
15
14
  import '../djinni-types/sdcCoreInternalSdkOcr.js';
16
15
  import '../djinni-types/sdcCoreCommon.js';
17
16
  import '../djinni-types/sdcLabelData.js';