pi-kiosk-shared 2.2.89 → 2.2.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/barcode-scanner.d.ts +1 -1
- package/dist/barcode-scanner.d.ts.map +1 -1
- package/dist/barcode-scanner.js +1 -1
- package/dist/barcode-scanner.js.map +1 -1
- package/dist/hooks/scannerCameraConstraints.d.ts +43 -4
- package/dist/hooks/scannerCameraConstraints.d.ts.map +1 -1
- package/dist/hooks/scannerCameraConstraints.js +161 -22
- package/dist/hooks/scannerCameraConstraints.js.map +1 -1
- package/dist/hooks/scannerScanPasses.d.ts +21 -0
- package/dist/hooks/scannerScanPasses.d.ts.map +1 -0
- package/dist/hooks/scannerScanPasses.js +59 -0
- package/dist/hooks/scannerScanPasses.js.map +1 -0
- package/dist/hooks/selectEngine.d.ts +5 -6
- package/dist/hooks/selectEngine.d.ts.map +1 -1
- package/dist/hooks/useBarcodeScanner.d.ts +21 -9
- package/dist/hooks/useBarcodeScanner.d.ts.map +1 -1
- package/dist/hooks/useBarcodeScanner.js +143 -168
- package/dist/hooks/useBarcodeScanner.js.map +1 -1
- package/dist/hooks/zxingJsSensitiveDecode.d.ts +13 -0
- package/dist/hooks/zxingJsSensitiveDecode.d.ts.map +1 -0
- package/dist/hooks/zxingJsSensitiveDecode.js +54 -0
- package/dist/hooks/zxingJsSensitiveDecode.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/ui/Switch/Switch.d.ts.map +1 -1
- package/dist/ui/Switch/Switch.js +10 -3
- package/dist/ui/Switch/Switch.js.map +1 -1
- package/package.json +3 -5
- package/dist/hooks/zxingWasmEngine.d.ts +0 -66
- package/dist/hooks/zxingWasmEngine.d.ts.map +0 -1
- package/dist/hooks/zxingWasmEngine.js +0 -203
- package/dist/hooks/zxingWasmEngine.js.map +0 -1
|
@@ -3,29 +3,38 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
3
3
|
import { DecodeHintType } from '@zxing/library';
|
|
4
4
|
import './scannerNativeTypes.js';
|
|
5
5
|
import { resolveScannerFormatConfig, } from './scannerFormats.js';
|
|
6
|
-
import { applyScannerTrackEnhancements,
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
import { applyScannerTrackEnhancements, openScannerMediaStream, } from './scannerCameraConstraints.js';
|
|
7
|
+
import { createSensitiveZxingReader, decodeVideoFrameWithZxingJs, } from './zxingJsSensitiveDecode.js';
|
|
8
|
+
function isInsecureCameraContext() {
|
|
9
|
+
return typeof window !== 'undefined' && window.isSecureContext === false;
|
|
10
|
+
}
|
|
11
|
+
function isPermissionDeniedError(err) {
|
|
12
|
+
return (err instanceof DOMException &&
|
|
13
|
+
(err.name === 'NotAllowedError' || err.name === 'PermissionDeniedError'));
|
|
14
|
+
}
|
|
15
|
+
function isSecurityPolicyError(err) {
|
|
16
|
+
return err instanceof DOMException && err.name === 'SecurityError';
|
|
17
|
+
}
|
|
18
|
+
function isCameraInUseError(err) {
|
|
19
|
+
return (err instanceof DOMException &&
|
|
20
|
+
(err.name === 'NotReadableError' || err.name === 'AbortError'));
|
|
21
|
+
}
|
|
22
|
+
/** Multi-pass @zxing decode budget (~20–25 attempts/s). */
|
|
23
|
+
const ZXING_MIN_FRAME_INTERVAL_MS = 40;
|
|
13
24
|
/**
|
|
14
25
|
* Live camera barcode/QR decode.
|
|
15
26
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* 3. then pure-JS @zxing/browser
|
|
27
|
+
* Primary: pure-JS @zxing/browser `decodeFromStream` (former working engine)
|
|
28
|
+
* plus parallel multi-pass digital zoom + TRY_HARDER for distant / small codes.
|
|
29
|
+
* If stream fails but a canvas exists, multi-pass alone is the sensitive path.
|
|
30
|
+
* G5: never start native BarcodeDetector alone (no TRY_HARDER / distance assist) —
|
|
31
|
+
* hard-fail with recovery copy when neither @zxing path can start.
|
|
22
32
|
*/
|
|
23
33
|
export function useBarcodeScanner(options) {
|
|
24
34
|
const { enabled, videoRef, onDecode, messages, formatProfile = 'retail', onBackgroundStop, } = options;
|
|
25
35
|
const [status, setStatus] = useState('idle');
|
|
26
36
|
const [engine, setEngine] = useState(null);
|
|
27
37
|
const [errorMessage, setErrorMessage] = useState(null);
|
|
28
|
-
/** Latches after background release until parent sets `enabled` false (G7 / G10). */
|
|
29
38
|
const [heldOffByBackground, setHeldOffByBackground] = useState(false);
|
|
30
39
|
const onDecodeRef = useRef(onDecode);
|
|
31
40
|
useEffect(() => {
|
|
@@ -61,7 +70,6 @@ export function useBarcodeScanner(options) {
|
|
|
61
70
|
stopRef.current = null;
|
|
62
71
|
}
|
|
63
72
|
}, []);
|
|
64
|
-
// G7 — release camera on background; do not auto-restart on visible.
|
|
65
73
|
useEffect(() => {
|
|
66
74
|
if (typeof document === 'undefined') {
|
|
67
75
|
return;
|
|
@@ -100,13 +108,20 @@ export function useBarcodeScanner(options) {
|
|
|
100
108
|
let cancelled = false;
|
|
101
109
|
let stream = null;
|
|
102
110
|
let zxingControls = null;
|
|
103
|
-
let
|
|
104
|
-
let wasmFrameHandle = null;
|
|
105
|
-
let wasmBusy = false;
|
|
106
|
-
let wasmAbandoned = false;
|
|
107
|
-
let consecutiveWasmHardFails = 0;
|
|
111
|
+
let zxingFrameHandle = null;
|
|
108
112
|
const formatConfig = resolveScannerFormatConfig(formatProfile);
|
|
109
|
-
|
|
113
|
+
// G5: multi-pass needs a canvas; if creation fails, hard-fail later (never native-only).
|
|
114
|
+
const decodeCanvas = (() => {
|
|
115
|
+
if (typeof document === 'undefined') {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
return document.createElement('canvas');
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
})();
|
|
110
125
|
const cleanup = () => {
|
|
111
126
|
if (zxingControls !== null) {
|
|
112
127
|
try {
|
|
@@ -117,13 +132,9 @@ export function useBarcodeScanner(options) {
|
|
|
117
132
|
}
|
|
118
133
|
zxingControls = null;
|
|
119
134
|
}
|
|
120
|
-
if (
|
|
121
|
-
cancelAnimationFrame(
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
if (wasmFrameHandle !== null) {
|
|
125
|
-
cancelAnimationFrame(wasmFrameHandle);
|
|
126
|
-
wasmFrameHandle = null;
|
|
135
|
+
if (zxingFrameHandle !== null) {
|
|
136
|
+
cancelAnimationFrame(zxingFrameHandle);
|
|
137
|
+
zxingFrameHandle = null;
|
|
127
138
|
}
|
|
128
139
|
if (stream !== null) {
|
|
129
140
|
for (const track of stream.getTracks()) {
|
|
@@ -145,6 +156,14 @@ export function useBarcodeScanner(options) {
|
|
|
145
156
|
void (async () => {
|
|
146
157
|
setStatus('starting');
|
|
147
158
|
setErrorMessage(null);
|
|
159
|
+
if (isInsecureCameraContext()) {
|
|
160
|
+
if (!cancelled) {
|
|
161
|
+
setStatus('error');
|
|
162
|
+
setErrorMessage(messagesRef.current.insecureContext ?? messagesRef.current.noCamera);
|
|
163
|
+
}
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
// Missing MediaDevices (secure context prep for G3): prefer noCamera only.
|
|
148
167
|
if (typeof navigator === 'undefined' || navigator.mediaDevices === undefined) {
|
|
149
168
|
if (!cancelled) {
|
|
150
169
|
setStatus('error');
|
|
@@ -153,20 +172,31 @@ export function useBarcodeScanner(options) {
|
|
|
153
172
|
return;
|
|
154
173
|
}
|
|
155
174
|
try {
|
|
156
|
-
stream = await navigator.mediaDevices.getUserMedia(
|
|
157
|
-
video: SCANNER_VIDEO_CONSTRAINTS,
|
|
158
|
-
audio: false,
|
|
159
|
-
});
|
|
175
|
+
stream = await openScannerMediaStream(navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices));
|
|
160
176
|
}
|
|
161
177
|
catch (err) {
|
|
162
178
|
if (cancelled) {
|
|
163
179
|
return;
|
|
164
180
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
181
|
+
if (isPermissionDeniedError(err)) {
|
|
182
|
+
// Android Chrome often throws NotAllowedError on plain HTTP LAN URLs;
|
|
183
|
+
// prefer the HTTPS recovery copy when the context is still insecure.
|
|
184
|
+
if (isInsecureCameraContext()) {
|
|
185
|
+
setStatus('error');
|
|
186
|
+
setErrorMessage(messagesRef.current.insecureContext ?? messagesRef.current.noCamera);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
setStatus('denied');
|
|
190
|
+
setErrorMessage(messagesRef.current.permissionDenied);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else if (isSecurityPolicyError(err)) {
|
|
194
|
+
setStatus('error');
|
|
195
|
+
setErrorMessage(messagesRef.current.policyBlocked ?? messagesRef.current.error);
|
|
196
|
+
}
|
|
197
|
+
else if (isCameraInUseError(err)) {
|
|
198
|
+
setStatus('error');
|
|
199
|
+
setErrorMessage(messagesRef.current.cameraInUse ?? messagesRef.current.error);
|
|
170
200
|
}
|
|
171
201
|
else {
|
|
172
202
|
setStatus('error');
|
|
@@ -175,14 +205,28 @@ export function useBarcodeScanner(options) {
|
|
|
175
205
|
cleanup();
|
|
176
206
|
return;
|
|
177
207
|
}
|
|
208
|
+
// G5: cancel/unmount after GUM — release before enhance/play.
|
|
209
|
+
if (cancelled) {
|
|
210
|
+
cleanup();
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
178
213
|
const activeStream = stream;
|
|
179
214
|
const [primaryTrack] = activeStream.getVideoTracks();
|
|
180
215
|
if (primaryTrack !== undefined) {
|
|
181
216
|
await applyScannerTrackEnhancements(primaryTrack);
|
|
182
217
|
}
|
|
218
|
+
if (cancelled) {
|
|
219
|
+
cleanup();
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
183
222
|
const video = videoRef.current;
|
|
184
223
|
if (video === null) {
|
|
224
|
+
// G4: successful GUM but video element gone — surface error, release tracks.
|
|
185
225
|
cleanup();
|
|
226
|
+
if (!cancelled) {
|
|
227
|
+
setStatus('error');
|
|
228
|
+
setErrorMessage(messagesRef.current.error);
|
|
229
|
+
}
|
|
186
230
|
return;
|
|
187
231
|
}
|
|
188
232
|
video.setAttribute('playsinline', 'true');
|
|
@@ -198,44 +242,7 @@ export function useBarcodeScanner(options) {
|
|
|
198
242
|
cleanup();
|
|
199
243
|
return;
|
|
200
244
|
}
|
|
201
|
-
const
|
|
202
|
-
if (window.BarcodeDetector === undefined) {
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
const detector = new window.BarcodeDetector({
|
|
206
|
-
formats: [...formatConfig.nativeFormats],
|
|
207
|
-
});
|
|
208
|
-
const tick = async () => {
|
|
209
|
-
if (cancelled || video.readyState < 2) {
|
|
210
|
-
nativeFrameHandle = requestAnimationFrame(() => {
|
|
211
|
-
void tick();
|
|
212
|
-
});
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
try {
|
|
216
|
-
const results = await detector.detect(video);
|
|
217
|
-
if (results.length > 0) {
|
|
218
|
-
const first = results[0];
|
|
219
|
-
if (first !== undefined) {
|
|
220
|
-
onDecodeRef.current(first.rawValue);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
catch {
|
|
225
|
-
// unstable frames may throw; keep scanning
|
|
226
|
-
}
|
|
227
|
-
if (!cancelled) {
|
|
228
|
-
nativeFrameHandle = requestAnimationFrame(() => {
|
|
229
|
-
void tick();
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
nativeFrameHandle = requestAnimationFrame(() => {
|
|
234
|
-
void tick();
|
|
235
|
-
});
|
|
236
|
-
return true;
|
|
237
|
-
};
|
|
238
|
-
const startZxingJsFallback = async () => {
|
|
245
|
+
const startZxingStreamFallback = async () => {
|
|
239
246
|
const hints = new Map();
|
|
240
247
|
hints.set(DecodeHintType.POSSIBLE_FORMATS, [...formatConfig.zxingFormats]);
|
|
241
248
|
hints.set(DecodeHintType.TRY_HARDER, true);
|
|
@@ -256,112 +263,80 @@ export function useBarcodeScanner(options) {
|
|
|
256
263
|
return false;
|
|
257
264
|
}
|
|
258
265
|
};
|
|
259
|
-
const
|
|
260
|
-
if (
|
|
261
|
-
|
|
262
|
-
setErrorMessage(messagesRef.current.error);
|
|
266
|
+
const startZxingMultiPassLoop = () => {
|
|
267
|
+
if (decodeCanvas === null) {
|
|
268
|
+
return false;
|
|
263
269
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
if (cancelled) {
|
|
268
|
-
return;
|
|
270
|
+
let reader;
|
|
271
|
+
try {
|
|
272
|
+
reader = createSensitiveZxingReader(formatConfig.zxingFormats);
|
|
269
273
|
}
|
|
270
|
-
|
|
274
|
+
catch {
|
|
275
|
+
// Reader/bootstrap failure — do not pretend multi-pass started.
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
let lastAttemptMs = 0;
|
|
279
|
+
let busy = false;
|
|
280
|
+
const tick = () => {
|
|
281
|
+
if (cancelled) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const now = performance.now();
|
|
285
|
+
if (!busy &&
|
|
286
|
+
video.readyState >= 2 &&
|
|
287
|
+
now - lastAttemptMs >= ZXING_MIN_FRAME_INTERVAL_MS) {
|
|
288
|
+
lastAttemptMs = now;
|
|
289
|
+
busy = true;
|
|
290
|
+
try {
|
|
291
|
+
const text = decodeVideoFrameWithZxingJs(video, decodeCanvas, reader);
|
|
292
|
+
if (!cancelled && text !== null) {
|
|
293
|
+
onDecodeRef.current(text);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
// keep scanning
|
|
298
|
+
}
|
|
299
|
+
finally {
|
|
300
|
+
busy = false;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
271
303
|
if (!cancelled) {
|
|
272
|
-
|
|
273
|
-
setStatus('running');
|
|
304
|
+
zxingFrameHandle = requestAnimationFrame(tick);
|
|
274
305
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
if (cancelled) {
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
if (jsOk) {
|
|
282
|
-
setEngine('zxing');
|
|
283
|
-
setStatus('running');
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
failAllEngines();
|
|
306
|
+
};
|
|
307
|
+
zxingFrameHandle = requestAnimationFrame(tick);
|
|
308
|
+
return true;
|
|
287
309
|
};
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
310
|
+
// G5 engine order (max sensitivity — never native-only):
|
|
311
|
+
// 1) @zxing decodeFromStream (+ TRY_HARDER); if OK also start multi-pass
|
|
312
|
+
// 2) Else multi-pass canvas alone (when canvas exists)
|
|
313
|
+
// 3) Else hard-fail — do not start weak native BarcodeDetector alone
|
|
314
|
+
const streamOk = await startZxingStreamFallback();
|
|
315
|
+
// G5: if cancelled after controls assigned, stop them + release stream.
|
|
316
|
+
if (cancelled) {
|
|
293
317
|
cleanup();
|
|
294
|
-
};
|
|
295
|
-
// G3 — WASM is required for the sensitivity upgrade; never silently start a weaker engine.
|
|
296
|
-
// Unloadable / instantiate failure → wasmBootstrapFailed (not G4 fallthrough).
|
|
297
|
-
// G4 ≥8 fallthrough is ONLY for post-start decode rejects after successful instantiate.
|
|
298
|
-
if (!isZXingWasmConfigured() || wasmCanvas === null) {
|
|
299
|
-
failWasmBootstrap();
|
|
300
318
|
return;
|
|
301
319
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
320
|
+
if (streamOk) {
|
|
321
|
+
startZxingMultiPassLoop();
|
|
322
|
+
if (!cancelled) {
|
|
323
|
+
setEngine('zxing');
|
|
324
|
+
setStatus('running');
|
|
325
|
+
}
|
|
307
326
|
return;
|
|
308
327
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
315
|
-
wasmAbandoned = true;
|
|
316
|
-
if (wasmFrameHandle !== null) {
|
|
317
|
-
cancelAnimationFrame(wasmFrameHandle);
|
|
318
|
-
wasmFrameHandle = null;
|
|
319
|
-
}
|
|
320
|
-
void fallThroughFromWasm();
|
|
321
|
-
};
|
|
322
|
-
const tick = () => {
|
|
323
|
-
if (cancelled || wasmAbandoned) {
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
const now = performance.now();
|
|
327
|
-
if (!wasmBusy &&
|
|
328
|
-
video.readyState >= 2 &&
|
|
329
|
-
now - lastAttemptMs >= WASM_MIN_FRAME_INTERVAL_MS) {
|
|
330
|
-
lastAttemptMs = now;
|
|
331
|
-
wasmBusy = true;
|
|
332
|
-
void decodeVideoFrameWithZxingWasm(video, wasmCanvas, readerOptions)
|
|
333
|
-
.then((text) => {
|
|
334
|
-
if (cancelled || wasmAbandoned) {
|
|
335
|
-
return;
|
|
336
|
-
}
|
|
337
|
-
// G4 — null/empty = non-fatal; reset consecutive hard-fail counter.
|
|
338
|
-
consecutiveWasmHardFails = 0;
|
|
339
|
-
if (text !== null) {
|
|
340
|
-
onDecodeRef.current(text);
|
|
341
|
-
}
|
|
342
|
-
})
|
|
343
|
-
.catch(() => {
|
|
344
|
-
if (cancelled || wasmAbandoned) {
|
|
345
|
-
return;
|
|
346
|
-
}
|
|
347
|
-
consecutiveWasmHardFails += 1;
|
|
348
|
-
if (consecutiveWasmHardFails >= WASM_HARD_FAIL_BOUND) {
|
|
349
|
-
abandonWasmAndFallThrough();
|
|
350
|
-
}
|
|
351
|
-
})
|
|
352
|
-
.finally(() => {
|
|
353
|
-
wasmBusy = false;
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
if (!cancelled && !wasmAbandoned) {
|
|
357
|
-
wasmFrameHandle = requestAnimationFrame(tick);
|
|
328
|
+
if (startZxingMultiPassLoop()) {
|
|
329
|
+
if (!cancelled) {
|
|
330
|
+
setEngine('zxing');
|
|
331
|
+
setStatus('running');
|
|
358
332
|
}
|
|
359
|
-
|
|
360
|
-
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
361
335
|
if (!cancelled) {
|
|
362
|
-
|
|
363
|
-
|
|
336
|
+
setStatus('error');
|
|
337
|
+
setErrorMessage(messagesRef.current.error);
|
|
364
338
|
}
|
|
339
|
+
cleanup();
|
|
365
340
|
})();
|
|
366
341
|
return () => {
|
|
367
342
|
cancelled = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBarcodeScanner.js","sourceRoot":"","sources":["../../src/hooks/useBarcodeScanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBarcodeScanner.js","sourceRoot":"","sources":["../../src/hooks/useBarcodeScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-sensitivity pure-JS @zxing decode (the library that previously worked).
|
|
3
|
+
* Multi-pass digital zoom + TRY_HARDER for distant / small codes.
|
|
4
|
+
*/
|
|
5
|
+
import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
6
|
+
import { BarcodeFormat } from '@zxing/library';
|
|
7
|
+
export declare function createSensitiveZxingReader(formats: readonly BarcodeFormat[]): BrowserMultiFormatReader;
|
|
8
|
+
/**
|
|
9
|
+
* Decode one video frame via multi-pass canvas crops → @zxing decodeFromCanvas.
|
|
10
|
+
* Returns the first payload or null when nothing is found.
|
|
11
|
+
*/
|
|
12
|
+
export declare function decodeVideoFrameWithZxingJs(video: HTMLVideoElement, canvas: HTMLCanvasElement, reader: BrowserMultiFormatReader): string | null;
|
|
13
|
+
//# sourceMappingURL=zxingJsSensitiveDecode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zxingJsSensitiveDecode.d.ts","sourceRoot":"","sources":["../../src/hooks/zxingJsSensitiveDecode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAG/D,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,aAAa,EAAE,GAChC,wBAAwB,CAK1B;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,wBAAwB,GAC/B,MAAM,GAAG,IAAI,CAwCf"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-sensitivity pure-JS @zxing decode (the library that previously worked).
|
|
3
|
+
* Multi-pass digital zoom + TRY_HARDER for distant / small codes.
|
|
4
|
+
*/
|
|
5
|
+
import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
6
|
+
import { DecodeHintType } from '@zxing/library';
|
|
7
|
+
import { buildMaxSensitivityScanPasses } from './scannerScanPasses.js';
|
|
8
|
+
export function createSensitiveZxingReader(formats) {
|
|
9
|
+
const hints = new Map();
|
|
10
|
+
hints.set(DecodeHintType.POSSIBLE_FORMATS, [...formats]);
|
|
11
|
+
hints.set(DecodeHintType.TRY_HARDER, true);
|
|
12
|
+
return new BrowserMultiFormatReader(hints);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Decode one video frame via multi-pass canvas crops → @zxing decodeFromCanvas.
|
|
16
|
+
* Returns the first payload or null when nothing is found.
|
|
17
|
+
*/
|
|
18
|
+
export function decodeVideoFrameWithZxingJs(video, canvas, reader) {
|
|
19
|
+
const width = video.videoWidth;
|
|
20
|
+
const height = video.videoHeight;
|
|
21
|
+
if (width < 2 || height < 2) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const ctx = canvas.getContext('2d', { willReadFrequently: true });
|
|
25
|
+
if (ctx === null) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
ctx.imageSmoothingEnabled = false;
|
|
29
|
+
const passes = buildMaxSensitivityScanPasses(width, height);
|
|
30
|
+
for (const pass of passes) {
|
|
31
|
+
const outW = Math.max(2, Math.floor(pass.sw * pass.scale));
|
|
32
|
+
const outH = Math.max(2, Math.floor(pass.sh * pass.scale));
|
|
33
|
+
if (canvas.width !== outW) {
|
|
34
|
+
canvas.width = outW;
|
|
35
|
+
}
|
|
36
|
+
if (canvas.height !== outH) {
|
|
37
|
+
canvas.height = outH;
|
|
38
|
+
}
|
|
39
|
+
ctx.clearRect(0, 0, outW, outH);
|
|
40
|
+
ctx.drawImage(video, pass.sx, pass.sy, pass.sw, pass.sh, 0, 0, outW, outH);
|
|
41
|
+
try {
|
|
42
|
+
const result = reader.decodeFromCanvas(canvas);
|
|
43
|
+
const text = result.getText();
|
|
44
|
+
if (text.length > 0) {
|
|
45
|
+
return text;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// NotFoundException / checksum — try next pass
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=zxingJsSensitiveDecode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zxingJsSensitiveDecode.js","sourceRoot":"","sources":["../../src/hooks/zxingJsSensitiveDecode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAiB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,UAAU,0BAA0B,CACxC,OAAiC;IAEjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAuB,EACvB,MAAyB,EACzB,MAAgC;IAEhC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAElC,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Main barrel is Node-safe (no React UI). Runtime JS (not `.d.ts`):
|
|
8
8
|
* - `tsx watch` and `node dist/server.js` both resolve `node_modules/pi-kiosk-shared`
|
|
9
|
-
* after `ensureDist.mjs` overlays this `dist` (monorepo sibling `../shared` @ 2.2.
|
|
10
|
-
* consumers pin ^2.2.
|
|
9
|
+
* after `ensureDist.mjs` overlays this `dist` (monorepo sibling `../shared` @ 2.2.91;
|
|
10
|
+
* consumers pin ^2.2.91 matching shared/package.json — confirm registry at deploy time).
|
|
11
11
|
* React UI is `pi-kiosk-shared/ui`.
|
|
12
12
|
*
|
|
13
13
|
* Note: relative imports use explicit `.js` extensions so the compiled
|
package/dist/index.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Main barrel is Node-safe (no React UI). Runtime JS (not `.d.ts`):
|
|
8
8
|
* - `tsx watch` and `node dist/server.js` both resolve `node_modules/pi-kiosk-shared`
|
|
9
|
-
* after `ensureDist.mjs` overlays this `dist` (monorepo sibling `../shared` @ 2.2.
|
|
10
|
-
* consumers pin ^2.2.
|
|
9
|
+
* after `ensureDist.mjs` overlays this `dist` (monorepo sibling `../shared` @ 2.2.91;
|
|
10
|
+
* consumers pin ^2.2.91 matching shared/package.json — confirm registry at deploy time).
|
|
11
11
|
* React UI is `pi-kiosk-shared/ui`.
|
|
12
12
|
*
|
|
13
13
|
* Note: relative imports use explicit `.js` extensions so the compiled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/ui/Switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/ui/Switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAyC9D,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,GAAG;IACpF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM;sBATC,OAAO;+BACE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;qDAuBtD,CAAC"}
|
package/dist/ui/Switch/Switch.js
CHANGED
|
@@ -4,14 +4,21 @@ import { tv } from '../tvShim.js';
|
|
|
4
4
|
const switchTrack = tv({
|
|
5
5
|
base: [
|
|
6
6
|
'relative inline-flex h-[1.55rem] w-[2.85rem] shrink-0 cursor-pointer rounded-full',
|
|
7
|
-
|
|
7
|
+
/* OFF: muted inactive — avoid bright slate that reads as "on" on dark surfaces. */
|
|
8
|
+
'bg-[color-mix(in_srgb,var(--color-an-text-muted,var(--color-text-secondary,#71717a))_42%,var(--color-an-surface,var(--color-surface,#fff)))]',
|
|
9
|
+
'shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--color-an-border,var(--color-border,#cbd5e1))_70%,transparent)]',
|
|
10
|
+
'transition-[background-color,box-shadow] duration-150',
|
|
8
11
|
'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2',
|
|
9
12
|
'focus-visible:outline-[var(--color-focus-ring,var(--color-an-primary))]',
|
|
10
13
|
'disabled:cursor-not-allowed disabled:opacity-55',
|
|
11
14
|
].join(' '),
|
|
12
15
|
variants: {
|
|
13
16
|
checked: {
|
|
14
|
-
true:
|
|
17
|
+
true: [
|
|
18
|
+
/* ON: success green — clear true/false when brand primary is monochrome. */
|
|
19
|
+
'bg-[var(--color-an-success,var(--color-success,#16a34a))]',
|
|
20
|
+
'shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--color-an-success,var(--color-success,#16a34a))_55%,transparent)]',
|
|
21
|
+
].join(' '),
|
|
15
22
|
false: '',
|
|
16
23
|
},
|
|
17
24
|
},
|
|
@@ -20,7 +27,7 @@ const switchTrack = tv({
|
|
|
20
27
|
const switchKnob = tv({
|
|
21
28
|
base: [
|
|
22
29
|
'pointer-events-none absolute left-[2px] top-[2px] h-5 w-5 rounded-full bg-white',
|
|
23
|
-
'shadow-[0_1px_3px_rgba(15,23,42,0.
|
|
30
|
+
'shadow-[0_1px_3px_rgba(15,23,42,0.45)] transition-transform duration-150',
|
|
24
31
|
].join(' '),
|
|
25
32
|
variants: {
|
|
26
33
|
checked: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/ui/Switch/Switch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,EAAE;QACJ,mFAAmF;QACnF,
|
|
1
|
+
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/ui/Switch/Switch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,EAAE;QACJ,mFAAmF;QACnF,mFAAmF;QACnF,8IAA8I;QAC9I,gHAAgH;QAChH,uDAAuD;QACvD,8EAA8E;QAC9E,yEAAyE;QACzE,iDAAiD;KAClD,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,IAAI,EAAE;gBACJ,4EAA4E;gBAC5E,2DAA2D;gBAC3D,kHAAkH;aACnH,CAAC,IAAI,CAAC,GAAG,CAAC;YACX,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,EAAE;QACJ,iFAAiF;QACjF,0EAA0E;KAC3E,CAAC,IAAI,CAAC,GAAG,CAAC;IACX,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;CACpC,CAAC,CAAC;AAOH;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACnE,iBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,kBACC,OAAO,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,KACtC,IAAI,YAER,eAAM,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,iBAAc,MAAM,GAAG,GACxD,CACV,CACF,CAAC;AACF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-kiosk-shared",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.92",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Shared types, API contracts, and error classes for Pi Kiosk system",
|
|
@@ -307,8 +307,7 @@
|
|
|
307
307
|
}
|
|
308
308
|
},
|
|
309
309
|
"dependencies": {
|
|
310
|
-
"tailwind-variants": "^0.3.0"
|
|
311
|
-
"zxing-wasm": "^3.1.3"
|
|
310
|
+
"tailwind-variants": "^0.3.0"
|
|
312
311
|
},
|
|
313
312
|
"scripts": {
|
|
314
313
|
"build": "tsc",
|
|
@@ -379,8 +378,7 @@
|
|
|
379
378
|
"storybook": "^9.1.20",
|
|
380
379
|
"ts-jest": "^29.4.11",
|
|
381
380
|
"typescript": "^5.0.0",
|
|
382
|
-
"vite": "^6.4.3"
|
|
383
|
-
"zxing-wasm": "^3.1.3"
|
|
381
|
+
"vite": "^6.4.3"
|
|
384
382
|
},
|
|
385
383
|
"overrides": {
|
|
386
384
|
"babel-plugin-istanbul": "^8.0.2",
|