pi-kiosk-shared 2.2.87 → 2.2.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/tenantCommandCenter.d.ts +6 -1
- package/dist/analytics/tenantCommandCenter.d.ts.map +1 -1
- package/dist/analyticsEventDescriptions.js +10 -10
- package/dist/analyticsEventLabels.js +3 -3
- package/dist/auditEventDescriptions.js +10 -10
- package/dist/auditEventLabels.js +6 -6
- package/dist/barcode-scanner.d.ts +2 -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/errors.js +1 -1
- package/dist/hooks/scannerCameraConstraints.d.ts +13 -0
- package/dist/hooks/scannerCameraConstraints.d.ts.map +1 -0
- package/dist/hooks/scannerCameraConstraints.js +49 -0
- package/dist/hooks/scannerCameraConstraints.js.map +1 -0
- package/dist/hooks/selectEngine.d.ts +10 -4
- package/dist/hooks/selectEngine.d.ts.map +1 -1
- package/dist/hooks/selectEngine.js +1 -16
- package/dist/hooks/selectEngine.js.map +1 -1
- package/dist/hooks/useBarcodeScanner.d.ts +18 -1
- package/dist/hooks/useBarcodeScanner.d.ts.map +1 -1
- package/dist/hooks/useBarcodeScanner.js +208 -34
- package/dist/hooks/useBarcodeScanner.js.map +1 -1
- package/dist/hooks/zxingWasmEngine.d.ts +66 -0
- package/dist/hooks/zxingWasmEngine.d.ts.map +1 -0
- package/dist/hooks/zxingWasmEngine.js +203 -0
- package/dist/hooks/zxingWasmEngine.js.map +1 -0
- package/dist/order/fulfillmentContracts.d.ts +2 -0
- package/dist/order/fulfillmentContracts.d.ts.map +1 -1
- package/dist/permissions/permissionLabels.js +4 -4
- package/dist/tenant-entitlements/adminMfaEntitlement.d.ts +1 -1
- package/dist/tenant-entitlements/adminMfaEntitlement.d.ts.map +1 -1
- package/dist/tenant-entitlements/adminMfaEntitlement.js +5 -1
- package/dist/tenant-entitlements/adminMfaEntitlement.js.map +1 -1
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.d.ts.map +1 -1
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.js +3 -0
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.js.map +1 -1
- package/dist/tenant-entitlements/capabilityEntitlementRequirements.d.ts +65 -0
- package/dist/tenant-entitlements/capabilityEntitlementRequirements.d.ts.map +1 -0
- package/dist/tenant-entitlements/capabilityEntitlementRequirements.js +1154 -0
- package/dist/tenant-entitlements/capabilityEntitlementRequirements.js.map +1 -0
- package/dist/tenant-entitlements/catalog.d.ts +1 -1
- package/dist/tenant-entitlements/catalog.d.ts.map +1 -1
- package/dist/tenant-entitlements/catalog.js +12 -4
- package/dist/tenant-entitlements/catalog.js.map +1 -1
- package/dist/tenant-entitlements/index.d.ts +3 -0
- package/dist/tenant-entitlements/index.d.ts.map +1 -1
- package/dist/tenant-entitlements/index.js +2 -0
- package/dist/tenant-entitlements/index.js.map +1 -1
- package/dist/tenant-entitlements/tenantBrandKitEntitlement.d.ts +2 -0
- package/dist/tenant-entitlements/tenantBrandKitEntitlement.d.ts.map +1 -0
- package/dist/tenant-entitlements/tenantBrandKitEntitlement.js +2 -0
- package/dist/tenant-entitlements/tenantBrandKitEntitlement.js.map +1 -0
- package/dist/tenant-entitlements/types.d.ts +4 -4
- package/dist/tenant-entitlements/types.d.ts.map +1 -1
- package/dist/tenant-entitlements/types.js +3 -2
- package/dist/tenant-entitlements/types.js.map +1 -1
- package/package.json +399 -394
|
@@ -65,7 +65,12 @@ export interface TenantCommandCenterIncident {
|
|
|
65
65
|
readonly severity: TenantCommandCenterIncidentSeverity;
|
|
66
66
|
readonly title: string;
|
|
67
67
|
readonly ageLabel: string;
|
|
68
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Deep link into commercial Události (`/:tenant/success-incident-centre/...`).
|
|
70
|
+
* Omitted when `incident_centre_ui` is not entitled (default OFF) so operators
|
|
71
|
+
* are not sent into a dead route — platform DEV uses `/dev/success-incident-centre`.
|
|
72
|
+
*/
|
|
73
|
+
readonly href?: string;
|
|
69
74
|
}
|
|
70
75
|
export interface TenantCommandCenterTopKiosk {
|
|
71
76
|
readonly rank: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenantCommandCenter.d.ts","sourceRoot":"","sources":["../../src/analytics/tenantCommandCenter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEvE,oEAAoE;AACpE,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,UAAU,CAAC;AAEf,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,yBAAyB,CAAC;AAE/C,MAAM,MAAM,6BAA6B,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/D,MAAM,MAAM,+BAA+B,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAElF,MAAM,MAAM,mCAAmC,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,+BAA+B,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErF,MAAM,MAAM,kCAAkC,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzE,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,yBAAyB;AACzB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,mFAAmF;IACnF,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;CACxC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,mCAAmC,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tenantCommandCenter.d.ts","sourceRoot":"","sources":["../../src/analytics/tenantCommandCenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { ANALYTICS_ACCOUNT_EVENTS, ANALYTICS_DONATION_EVENTS, ANALYTICS_EVENT_NA
|
|
|
3
3
|
const UNIVERSAL_DESCRIPTIONS = {
|
|
4
4
|
[ANALYTICS_UNIVERSAL_EVENTS.SESSION_STARTED]: {
|
|
5
5
|
en: 'Counts when a new customer visit starts on the sales point or phone app. One count per new visit — doing the same thing again in the same visit does not add another. This is not the same as the “sessions started” number on some charts, which is calculated differently.',
|
|
6
|
-
cs: 'Počítá se, když u
|
|
6
|
+
cs: 'Počítá se, když u prodejního místa nebo v aplikaci začne nová návštěva zákazníka. Jednou za každou novou návštěvu — opakování ve stejné návštěvě nepřidá další. Není totéž jako číslo „zahájených relací“ na některých grafech, které se počítá jinak.',
|
|
7
7
|
sk: 'Počíta sa, keď pri platobnom mieste alebo v aplikácii začne nová návšteva zákazníka. Raz za každú novú návštevu — opakovanie v rovnakej návšteve nepridá ďalšiu. Nie je to isté ako číslo „začatých relácií“ na niektorých grafoch, ktoré sa počíta inak.',
|
|
8
8
|
},
|
|
9
9
|
[ANALYTICS_UNIVERSAL_EVENTS.SESSION_COMPLETED]: {
|
|
@@ -13,7 +13,7 @@ const UNIVERSAL_DESCRIPTIONS = {
|
|
|
13
13
|
},
|
|
14
14
|
[ANALYTICS_UNIVERSAL_EVENTS.SESSION_ABANDONED]: {
|
|
15
15
|
en: 'Counts when someone leaves without finishing — closed tab, walked away, timed out, or cancelled in a way that ends the visit. One count per time that happens for a visit. Not the same as “payment failed” when they only cancel a payment step.',
|
|
16
|
-
cs: 'Počítá se, když někdo odejde bez dokončení — zavře stránku, odejde od
|
|
16
|
+
cs: 'Počítá se, když někdo odejde bez dokončení — zavře stránku, odejde od prodejního místa, vyprší čas, nebo zruší tak, že návštěva skončí. Jednou za každý takový konec návštěvy. Není totéž jako „platba selhala“, když zruší jen krok platby.',
|
|
17
17
|
sk: 'Počíta sa, keď niekto odíde bez dokončenia — zatvorí stránku, odíde od platobného miesta, vyprší čas, alebo zruší tak, že návšteva skončí. Raz za každý takýto koniec návštevy. Nie je to isté ako „platba zlyhala“, keď zruší len krok platby.',
|
|
18
18
|
},
|
|
19
19
|
[ANALYTICS_UNIVERSAL_EVENTS.SESSION_RECOVERED]: {
|
|
@@ -23,7 +23,7 @@ const UNIVERSAL_DESCRIPTIONS = {
|
|
|
23
23
|
},
|
|
24
24
|
[ANALYTICS_UNIVERSAL_EVENTS.SCREEN_VIEWED]: {
|
|
25
25
|
en: 'Counts each time a screen is shown on the sales point or customer app — home, cart, payment, and so on. Every time they open or return to a screen adds one. Not a new visit, not a payment result.',
|
|
26
|
-
cs: 'Počítá se pokaždé, když se u
|
|
26
|
+
cs: 'Počítá se pokaždé, když se u prodejního místa nebo v aplikaci zobrazí obrazovka — úvod, košík, platba atd. Každé otevření nebo návrat na obrazovku přidá jednu. Není nová návštěva ani výsledek platby.',
|
|
27
27
|
sk: 'Počíta sa vždy, keď sa pri platobnom mieste alebo v aplikácii zobrazí obrazovka — úvod, košík, platba atď. Každé otvorenie alebo návrat na obrazovku pridá jednu. Nie je to nová návšteva ani výsledok platby.',
|
|
28
28
|
},
|
|
29
29
|
[ANALYTICS_UNIVERSAL_EVENTS.CTA_CLICKED]: {
|
|
@@ -252,7 +252,7 @@ const RETAIL_DESCRIPTIONS = {
|
|
|
252
252
|
},
|
|
253
253
|
[ANALYTICS_RETAIL_EVENTS.RETAIL_TICKET_CREATED]: {
|
|
254
254
|
en: 'Counts when a sales-point collect-later ticket is created before payment. One count per ticket row.',
|
|
255
|
-
cs: 'Počítá se při vytvoření lístku
|
|
255
|
+
cs: 'Počítá se při vytvoření lístku prodejního místa pro vyzvednutí později před zaplacením. Jednou za každý lístek.',
|
|
256
256
|
sk: 'Počíta sa pri vytvorení lístka platobného miesta na vyzdvihnutie neskôr pred zaplatením. Raz za každý lístok.',
|
|
257
257
|
},
|
|
258
258
|
[ANALYTICS_RETAIL_EVENTS.RETAIL_PICKUP_SCHEDULED]: {
|
|
@@ -312,7 +312,7 @@ const RETAIL_DESCRIPTIONS = {
|
|
|
312
312
|
},
|
|
313
313
|
[ANALYTICS_RETAIL_EVENTS.PICKUP_QR_SCANNED]: {
|
|
314
314
|
en: 'Counts when staff or sales point scans a pickup QR or short code to resolve an order. One count per scan.',
|
|
315
|
-
cs: 'Počítá se, když personál nebo
|
|
315
|
+
cs: 'Počítá se, když personál nebo prodejní místo naskenuje QR nebo krátký kód pro dohledání objednávky. Jednou za sken.',
|
|
316
316
|
sk: 'Počíta sa, keď personál alebo platobné miesto naskenuje QR alebo krátky kód na dohľadanie objednávky. Raz za sken.',
|
|
317
317
|
},
|
|
318
318
|
[ANALYTICS_RETAIL_EVENTS.PICKUP_STAFF_MARK_PAID]: {
|
|
@@ -342,7 +342,7 @@ const RETAIL_DESCRIPTIONS = {
|
|
|
342
342
|
},
|
|
343
343
|
[ANALYTICS_RETAIL_EVENTS.KIOSK_CASH_COMPLETE]: {
|
|
344
344
|
en: 'Counts when a sales point cash checkout completes successfully. One count per completed cash sale.',
|
|
345
|
-
cs: 'Počítá se při úspěšném dokončení hotovostní pokladny u
|
|
345
|
+
cs: 'Počítá se při úspěšném dokončení hotovostní pokladny u prodejního místa. Jednou za hotovostní prodej.',
|
|
346
346
|
sk: 'Počíta sa pri úspešnom dokončení hotovostnej pokladne pri platobnom mieste. Raz za hotovostný predaj.',
|
|
347
347
|
},
|
|
348
348
|
[ANALYTICS_RETAIL_EVENTS.CHECKOUT_COLLECT_CONFIGURED]: {
|
|
@@ -352,7 +352,7 @@ const RETAIL_DESCRIPTIONS = {
|
|
|
352
352
|
},
|
|
353
353
|
[ANALYTICS_RETAIL_EVENTS.SLUG_LEGACY_REDIRECT]: {
|
|
354
354
|
en: 'Counts when a legacy kioskId shop URL redirects to a slug-based sales point URL. One count per redirect.',
|
|
355
|
-
cs: 'Počítá se při přesměrování staré URL s kioskId na URL s identifikátorem
|
|
355
|
+
cs: 'Počítá se při přesměrování staré URL s kioskId na URL s identifikátorem prodejního místa. Jednou za přesměrování.',
|
|
356
356
|
sk: 'Počíta sa pri presmerovaní starej URL s kioskId na URL s identifikátorom platobného miesta. Raz za presmerovanie.',
|
|
357
357
|
},
|
|
358
358
|
[ANALYTICS_RETAIL_EVENTS.TENANT_SWITCHED]: {
|
|
@@ -411,12 +411,12 @@ const DONATION_DESCRIPTIONS = {
|
|
|
411
411
|
const KIOSK_DESCRIPTIONS = {
|
|
412
412
|
[ANALYTICS_KIOSK_EVENTS.KIOSK_WAKEUP]: {
|
|
413
413
|
en: 'Counts when the sales point wakes up from the idle attract screen because someone touched it or it starts up. One count per wake-up. Starting a full customer visit may be counted separately.',
|
|
414
|
-
cs: 'Počítá se, když se
|
|
414
|
+
cs: 'Počítá se, když se prodejní místo probudí z úvodní obrazovky po dotyku nebo při startu. Jednou za probuzení. Zahájení celé návštěvy zákazníka se může počítat zvlášť.',
|
|
415
415
|
sk: 'Počíta sa, keď sa platobné miesto prebudí z úvodnej obrazovky po dotyku alebo pri štarte. Raz za prebudenie. Začatie celej návštevy zákazníka sa môže počítať osobitne.',
|
|
416
416
|
},
|
|
417
417
|
[ANALYTICS_KIOSK_EVENTS.KIOSK_TIMEOUT]: {
|
|
418
418
|
en: 'Counts when the sales point sits unused too long and returns to the attract screen by itself. One count per timeout. Someone walking away mid-order may also count as visit abandoned.',
|
|
419
|
-
cs: 'Počítá se, když
|
|
419
|
+
cs: 'Počítá se, když prodejní místo dlouho nikdo nepoužívá a sám se vrátí na úvodní obrazovku. Jednou za vypršení času. Odejití uprostřed objednávky může být také „návštěva opuštěna“.',
|
|
420
420
|
sk: 'Počíta sa, keď platobné miesto dlho nikto nepoužíva a samo sa vráti na úvodnú obrazovku. Raz za vypršanie času. Odchod uprostred objednávky môže byť aj „návšteva opustená“.',
|
|
421
421
|
},
|
|
422
422
|
};
|
|
@@ -495,7 +495,7 @@ const SERVER_OPS_DESCRIPTIONS = {
|
|
|
495
495
|
},
|
|
496
496
|
[ANALYTICS_SERVER_OPS_EVENTS.PHYSICAL_CARD_REVOKED]: {
|
|
497
497
|
en: 'Counts when a physical loyalty card is revoked and can no longer be scanned at a sales point. Emitted server-side after admin revoke.',
|
|
498
|
-
cs: 'Počítá se, když je fyzická věrnostní karta zneplatněna a nelze ji již naskenovat na
|
|
498
|
+
cs: 'Počítá se, když je fyzická věrnostní karta zneplatněna a nelze ji již naskenovat na prodejním místě. Emituje server po zneplatnění administrátorem.',
|
|
499
499
|
sk: 'Počíta sa, keď je fyzická vernostná karta zneplatnená a už ju nemožno naskenovať na platobnom mieste. Emituje server po zneplatnení administrátorom.',
|
|
500
500
|
},
|
|
501
501
|
[ANALYTICS_SERVER_OPS_EVENTS.RECURRING_PAYMENT_MISSED]: {
|
|
@@ -222,7 +222,7 @@ const ANALYTICS_LABEL_OVERRIDES = {
|
|
|
222
222
|
},
|
|
223
223
|
kiosk_cash_complete: {
|
|
224
224
|
en: 'Sales point cash checkout complete',
|
|
225
|
-
cs: 'Hotovostní pokladna na
|
|
225
|
+
cs: 'Hotovostní pokladna na prodejním místě dokončena',
|
|
226
226
|
sk: 'Hotovostná pokladňa na platobnom mieste dokončená',
|
|
227
227
|
},
|
|
228
228
|
checkout_collect_configured: {
|
|
@@ -275,12 +275,12 @@ const ANALYTICS_LABEL_OVERRIDES = {
|
|
|
275
275
|
donation_abandoned: { en: 'Donation abandoned', cs: 'Darování opuštěno', sk: 'Darovanie opustené' },
|
|
276
276
|
kiosk_wakeup: {
|
|
277
277
|
en: 'Sales point woken up',
|
|
278
|
-
cs: '
|
|
278
|
+
cs: 'Prodejní místo probuzeno',
|
|
279
279
|
sk: 'Platobné miesto prebudené',
|
|
280
280
|
},
|
|
281
281
|
kiosk_timeout: {
|
|
282
282
|
en: 'Sales point timed out',
|
|
283
|
-
cs: '
|
|
283
|
+
cs: 'Prodejní místo — vypršení nečinnosti',
|
|
284
284
|
sk: 'Platobné miesto — vypršanie nečinnosti',
|
|
285
285
|
},
|
|
286
286
|
product_barcode_assigned: {
|
|
@@ -367,17 +367,17 @@ export const AUDIT_EVENT_DESCRIPTIONS = {
|
|
|
367
367
|
},
|
|
368
368
|
'admin.salesPoint.deactivated': {
|
|
369
369
|
en: 'Recorded when a sales point is turned off for customers. One line per sales point. Payments already in progress are handled separately.',
|
|
370
|
-
cs: 'Zapíše se, když je
|
|
370
|
+
cs: 'Zapíše se, když je prodejní místo vypnuté pro zákazníky. Jeden řádek za prodejní místo. Platby už rozjeté se řeší zvlášť.',
|
|
371
371
|
sk: 'Zapíše sa, keď je platobné miesto vypnuté pre zákazníkov. Jeden riadok za platobné miesto. Platby už rozbehnuté sa riešia osobitne.',
|
|
372
372
|
},
|
|
373
373
|
'admin.salesPoint.reactivated': {
|
|
374
374
|
en: 'Recorded when a turned-off sales point is enabled again. One line per sales point.',
|
|
375
|
-
cs: 'Zapíše se, když je vypnuté
|
|
375
|
+
cs: 'Zapíše se, když je vypnuté prodejní místo znovu zapnuté. Jeden řádek za prodejní místo.',
|
|
376
376
|
sk: 'Zapíše sa, keď je vypnuté platobné miesto znova zapnuté. Jeden riadok za platobné miesto.',
|
|
377
377
|
},
|
|
378
378
|
'admin.salesPoint.permanently_deleted': {
|
|
379
379
|
en: 'Recorded when a sales point is removed from the system for good. One line per sales point. Old payment and audit records stay for compliance.',
|
|
380
|
-
cs: 'Zapíše se, když je
|
|
380
|
+
cs: 'Zapíše se, když je prodejní místo trvale odstraněno ze systému. Jeden řádek za prodejní místo. Staré platby a audit zůstávají kvůli evidenci.',
|
|
381
381
|
sk: 'Zapíše sa, keď je platobné miesto trvale odstránené zo systému. Jeden riadok za platobné miesto. Staré platby a audit zostávajú kvôli evidencii.',
|
|
382
382
|
},
|
|
383
383
|
'admin.tenant.deactivated': {
|
|
@@ -487,12 +487,12 @@ export const AUDIT_EVENT_DESCRIPTIONS = {
|
|
|
487
487
|
},
|
|
488
488
|
'admin.salesPoint.donation_projects.updated': {
|
|
489
489
|
en: 'Recorded when which charity projects appear on a sales point is saved. One line per save. Project names are not all listed in the audit line.',
|
|
490
|
-
cs: 'Zapíše se při uložení toho, které dárkové projekty se na
|
|
490
|
+
cs: 'Zapíše se při uložení toho, které dárkové projekty se na prodejním místě zobrazují. Jeden řádek za uložení. Názvy všech projektů nejsou v řádku auditu.',
|
|
491
491
|
sk: 'Zapíše sa pri uložení toho, ktoré darčekové projekty sa na platobnom mieste zobrazujú. Jeden riadok za uloženie. Názvy všetkých projektov nie sú v riadku auditu.',
|
|
492
492
|
},
|
|
493
493
|
'admin.salesPoint.donation_amounts.updated': {
|
|
494
494
|
en: 'Recorded when donation amount presets linked to a sales point are updated. One line per save.',
|
|
495
|
-
cs: 'Zapíše se při aktualizaci přednastavených částek daru navázaných na
|
|
495
|
+
cs: 'Zapíše se při aktualizaci přednastavených částek daru navázaných na prodejní místo. Jeden řádek za uložení.',
|
|
496
496
|
sk: 'Zapíše sa pri aktualizácii prednastavených čiastok daru naviazaných na platobné miesto. Jeden riadok za uloženie.',
|
|
497
497
|
},
|
|
498
498
|
'admin.product.media_saved': {
|
|
@@ -512,12 +512,12 @@ export const AUDIT_EVENT_DESCRIPTIONS = {
|
|
|
512
512
|
},
|
|
513
513
|
'admin.loyalty.physical_card_issued': {
|
|
514
514
|
en: 'Recorded when an administrator issues a new physical loyalty card for sales point scanning. The full card payload is never stored in this log.',
|
|
515
|
-
cs: 'Zapíše se, když administrátor vydá novou fyzickou věrnostní kartu pro skenování na
|
|
515
|
+
cs: 'Zapíše se, když administrátor vydá novou fyzickou věrnostní kartu pro skenování na prodejním místě. Plná hodnota karty se v záznamu neukládá.',
|
|
516
516
|
sk: 'Zapíše sa, keď administrátor vydá novú fyzickú vernostnú kartu na skenovanie na platobnom mieste. Plná hodnota karty sa v zázname neukladá.',
|
|
517
517
|
},
|
|
518
518
|
'admin.loyalty.physical_card_revoked': {
|
|
519
519
|
en: 'Recorded when a physical loyalty card is revoked and can no longer be used at a sales point. One line per revoked card.',
|
|
520
|
-
cs: 'Zapíše se, když je fyzická věrnostní karta zneplatněna a nelze ji již použít na
|
|
520
|
+
cs: 'Zapíše se, když je fyzická věrnostní karta zneplatněna a nelze ji již použít na prodejním místě. Jeden řádek za zneplatněnou kartu.',
|
|
521
521
|
sk: 'Zapíše sa, keď je fyzická vernostná karta zneplatnená a už ju nie je možné použiť na platobnom mieste. Jeden riadok za zneplatnenú kartu.',
|
|
522
522
|
},
|
|
523
523
|
'admin.promo.event.created': {
|
|
@@ -747,12 +747,12 @@ export const AUDIT_EVENT_DESCRIPTIONS = {
|
|
|
747
747
|
},
|
|
748
748
|
'payment.cash_checkout.self_confirm': {
|
|
749
749
|
en: 'Recorded when a customer self-confirms sales point cash checkout (ADR-PICKUP-CASH).',
|
|
750
|
-
cs: 'Zapíše se po vlastním potvrzení hotovostní platby zákazníkem u
|
|
750
|
+
cs: 'Zapíše se po vlastním potvrzení hotovostní platby zákazníkem u prodejního místa (ADR-PICKUP-CASH).',
|
|
751
751
|
sk: 'Zapíše sa po vlastnom potvrdení hotovostnej platby zákazníkom pri platobnom mieste (ADR-PICKUP-CASH).',
|
|
752
752
|
},
|
|
753
753
|
'payment.cash_shift.opened': {
|
|
754
754
|
en: 'Recorded when a cash drawer shift is opened at a sales point.',
|
|
755
|
-
cs: 'Zapíše se při otevření hotovostní směny u
|
|
755
|
+
cs: 'Zapíše se při otevření hotovostní směny u prodejního místa.',
|
|
756
756
|
sk: 'Zapíše sa pri otvorení hotovostnej zmeny pri platobnom mieste.',
|
|
757
757
|
},
|
|
758
758
|
'payment.cash_shift.closed': {
|
|
@@ -762,7 +762,7 @@ export const AUDIT_EVENT_DESCRIPTIONS = {
|
|
|
762
762
|
},
|
|
763
763
|
'payment.cash_drawer.open_signal': {
|
|
764
764
|
en: 'Recorded when the sales point signals a physical drawer open after cash payment completion.',
|
|
765
|
-
cs: 'Zapíše se, když
|
|
765
|
+
cs: 'Zapíše se, když prodejní místo po dokončení hotovostní platby signalizuje otevření zásuvky.',
|
|
766
766
|
sk: 'Zapíše sa, keď platobné miesto po dokončení hotovostnej platby signalizuje otvorenie zásuvky.',
|
|
767
767
|
},
|
|
768
768
|
'export.analytics.explore.exported': {
|
package/dist/auditEventLabels.js
CHANGED
|
@@ -368,17 +368,17 @@ const AUDIT_LABEL_OVERRIDES = {
|
|
|
368
368
|
},
|
|
369
369
|
'admin.salesPoint.deactivated': {
|
|
370
370
|
en: 'Sales point deactivated',
|
|
371
|
-
cs: '
|
|
371
|
+
cs: 'Prodejní místo deaktivováno',
|
|
372
372
|
sk: 'Platobné miesto deaktivované',
|
|
373
373
|
},
|
|
374
374
|
'admin.salesPoint.reactivated': {
|
|
375
375
|
en: 'Sales point reactivated',
|
|
376
|
-
cs: '
|
|
376
|
+
cs: 'Prodejní místo znovu aktivováno',
|
|
377
377
|
sk: 'Platobné miesto znova aktivované',
|
|
378
378
|
},
|
|
379
379
|
'admin.salesPoint.permanently_deleted': {
|
|
380
380
|
en: 'Sales point permanently deleted',
|
|
381
|
-
cs: '
|
|
381
|
+
cs: 'Prodejní místo trvale smazáno',
|
|
382
382
|
sk: 'Platobné miesto trvalo zmazané',
|
|
383
383
|
},
|
|
384
384
|
'admin.tenant.deactivated': {
|
|
@@ -488,12 +488,12 @@ const AUDIT_LABEL_OVERRIDES = {
|
|
|
488
488
|
},
|
|
489
489
|
'admin.salesPoint.donation_projects.updated': {
|
|
490
490
|
en: 'Sales point donation projects updated',
|
|
491
|
-
cs: 'Projekty daru na
|
|
491
|
+
cs: 'Projekty daru na prodejním místě upraveny',
|
|
492
492
|
sk: 'Projekty daru na platobnom mieste upravené',
|
|
493
493
|
},
|
|
494
494
|
'admin.salesPoint.donation_amounts.updated': {
|
|
495
495
|
en: 'Sales point donation amounts updated',
|
|
496
|
-
cs: 'Částky daru na
|
|
496
|
+
cs: 'Částky daru na prodejním místě upraveny',
|
|
497
497
|
sk: 'Čiastky daru na platobnom mieste upravené',
|
|
498
498
|
},
|
|
499
499
|
'admin.product.media_saved': {
|
|
@@ -748,7 +748,7 @@ const AUDIT_LABEL_OVERRIDES = {
|
|
|
748
748
|
},
|
|
749
749
|
'payment.cash_checkout.self_confirm': {
|
|
750
750
|
en: 'sales point cash checkout self-confirmed',
|
|
751
|
-
cs: 'Hotovostní platba u
|
|
751
|
+
cs: 'Hotovostní platba u prodejního místa potvrzena zákazníkem',
|
|
752
752
|
sk: 'Hotovostná platba pri platobnom mieste potvrdená zákazníkom',
|
|
753
753
|
},
|
|
754
754
|
'payment.cash_shift.opened': {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { useBarcodeScanner, type UseBarcodeScannerMessages, type UseBarcodeScannerOptions, type UseBarcodeScannerReturn, type ScannerStatus, } from './hooks/useBarcodeScanner.js';
|
|
2
|
-
export {
|
|
2
|
+
export type { ScannerEngine } from './hooks/selectEngine.js';
|
|
3
3
|
export { resolveScannerFormatConfig, type BarcodeScannerFormatProfile, type ScannerFormatConfig, } from './hooks/scannerFormats.js';
|
|
4
|
+
export { setZXingWasmUrl, isZXingWasmConfigured } from './hooks/zxingWasmEngine.js';
|
|
4
5
|
//# sourceMappingURL=barcode-scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barcode-scanner.d.ts","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,GACnB,MAAM,8BAA8B,CAAC;AACtC,
|
|
1
|
+
{"version":3,"file":"barcode-scanner.d.ts","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,GACnB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/barcode-scanner.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { useBarcodeScanner, } from './hooks/useBarcodeScanner.js';
|
|
2
|
-
export { selectBarcodeScannerEngine } from './hooks/selectEngine.js';
|
|
3
2
|
export { resolveScannerFormatConfig, } from './hooks/scannerFormats.js';
|
|
3
|
+
export { setZXingWasmUrl, isZXingWasmConfigured } from './hooks/zxingWasmEngine.js';
|
|
4
4
|
//# sourceMappingURL=barcode-scanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAKlB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAKlB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,GAG3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/errors.js
CHANGED
|
@@ -72,7 +72,7 @@ export class KioskError extends AppError {
|
|
|
72
72
|
}
|
|
73
73
|
/** Sales-point naming alias — retains `KIOSK_ERROR` code for v1 churn reduction. */
|
|
74
74
|
export class SalesPointError extends KioskError {
|
|
75
|
-
constructor(message = csSkEn('Chyba konfigurace
|
|
75
|
+
constructor(message = csSkEn('Chyba konfigurace prodejního místa', 'Chyba konfigurácie platobného miesta', 'Sales point configuration error')) {
|
|
76
76
|
super(message);
|
|
77
77
|
this.name = 'SalesPointError';
|
|
78
78
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-sensitivity camera constraints for live barcode / QR decode.
|
|
3
|
+
* Prefer rear camera + max practical resolution so small symbols fill pixels.
|
|
4
|
+
*/
|
|
5
|
+
export declare const SCANNER_VIDEO_CONSTRAINTS: MediaTrackConstraints;
|
|
6
|
+
/** Mild optical zoom when supported — enlarges distant/small codes without user effort. */
|
|
7
|
+
export declare const SCANNER_PREFERRED_ZOOM = 1.75;
|
|
8
|
+
/**
|
|
9
|
+
* Best-effort continuous autofocus + mild zoom after getUserMedia.
|
|
10
|
+
* Unsupported constraints are ignored so older devices still scan.
|
|
11
|
+
*/
|
|
12
|
+
export declare function applyScannerTrackEnhancements(track: MediaStreamTrack): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=scannerCameraConstraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scannerCameraConstraints.d.ts","sourceRoot":"","sources":["../../src/hooks/scannerCameraConstraints.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,qBAKvC,CAAC;AAkBF,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;GAGG;AACH,wBAAsB,6BAA6B,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC1F"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-sensitivity camera constraints for live barcode / QR decode.
|
|
3
|
+
* Prefer rear camera + max practical resolution so small symbols fill pixels.
|
|
4
|
+
*/
|
|
5
|
+
export const SCANNER_VIDEO_CONSTRAINTS = {
|
|
6
|
+
facingMode: { ideal: 'environment' },
|
|
7
|
+
width: { ideal: 3840, min: 1280 },
|
|
8
|
+
height: { ideal: 2160, min: 720 },
|
|
9
|
+
frameRate: { ideal: 30 },
|
|
10
|
+
};
|
|
11
|
+
/** Mild optical zoom when supported — enlarges distant/small codes without user effort. */
|
|
12
|
+
export const SCANNER_PREFERRED_ZOOM = 1.75;
|
|
13
|
+
/**
|
|
14
|
+
* Best-effort continuous autofocus + mild zoom after getUserMedia.
|
|
15
|
+
* Unsupported constraints are ignored so older devices still scan.
|
|
16
|
+
*/
|
|
17
|
+
export async function applyScannerTrackEnhancements(track) {
|
|
18
|
+
const getCapabilities = track.getCapabilities;
|
|
19
|
+
if (getCapabilities === undefined) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const capabilities = getCapabilities.call(track);
|
|
23
|
+
const advanced = [];
|
|
24
|
+
if (capabilities.focusMode?.includes('continuous') === true) {
|
|
25
|
+
advanced.push({ focusMode: 'continuous' });
|
|
26
|
+
}
|
|
27
|
+
const zoomCap = capabilities.zoom;
|
|
28
|
+
if (zoomCap !== undefined) {
|
|
29
|
+
const min = zoomCap.min ?? 1;
|
|
30
|
+
const max = zoomCap.max ?? 1;
|
|
31
|
+
if (max > min) {
|
|
32
|
+
const target = Math.min(max, Math.max(min, SCANNER_PREFERRED_ZOOM));
|
|
33
|
+
if (target > min) {
|
|
34
|
+
advanced.push({ zoom: target });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (advanced.length === 0) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const next = { advanced };
|
|
43
|
+
await track.applyConstraints(next);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// Device rejected advanced focus/zoom — keep the stream as opened.
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=scannerCameraConstraints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scannerCameraConstraints.js","sourceRoot":"","sources":["../../src/hooks/scannerCameraConstraints.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA0B;IAC9D,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;IACpC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;IACjC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;IACjC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;CACzB,CAAC;AAkBF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,KAAuB;IACzE,MAAM,eAAe,GAAI,KAA+B,CAAC,eAAe,CAAC;IACzE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAE/C,IAAI,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;YACpE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAgC,EAAE,QAAQ,EAAE,CAAC;QACvD,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Decode engines used by {@link useBarcodeScanner}:
|
|
3
|
+
* - `zxing-wasm` — ZXing-C++ WASM (primary; highest sensitivity; requires configured URL)
|
|
4
|
+
* - `native-detector` — Chromium BarcodeDetector (fast path when formats OK)
|
|
5
|
+
* - `zxing` — pure-JS @zxing fallback when WASM/native cannot start
|
|
6
|
+
*
|
|
7
|
+
* Engine selection lives only in `useBarcodeScanner` (runtime cascade).
|
|
8
|
+
* There is no separate `selectBarcodeScannerEngine` helper — that was a dual SoT (G7).
|
|
9
|
+
*/
|
|
10
|
+
export type ScannerEngine = 'zxing-wasm' | 'native-detector' | 'zxing';
|
|
5
11
|
//# sourceMappingURL=selectEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectEngine.d.ts","sourceRoot":"","sources":["../../src/hooks/selectEngine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"selectEngine.d.ts","sourceRoot":"","sources":["../../src/hooks/selectEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC"}
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import './scannerNativeTypes.js';
|
|
3
|
-
export async function selectBarcodeScannerEngine(formatProfile = 'retail') {
|
|
4
|
-
if (typeof window === 'undefined' || window.BarcodeDetector === undefined) {
|
|
5
|
-
return 'zxing';
|
|
6
|
-
}
|
|
7
|
-
const { nativeFormats } = resolveScannerFormatConfig(formatProfile);
|
|
8
|
-
try {
|
|
9
|
-
const supported = (await window.BarcodeDetector.getSupportedFormats()).map((value) => value.toLowerCase());
|
|
10
|
-
const ok = nativeFormats.every((format) => supported.includes(format));
|
|
11
|
-
return ok ? 'native-detector' : 'zxing';
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return 'zxing';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
export {};
|
|
17
2
|
//# sourceMappingURL=selectEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectEngine.js","sourceRoot":"","sources":["../../src/hooks/selectEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"selectEngine.js","sourceRoot":"","sources":["../../src/hooks/selectEngine.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './scannerNativeTypes.js';
|
|
2
|
-
import {
|
|
2
|
+
import type { ScannerEngine } from './selectEngine.js';
|
|
3
3
|
import { type BarcodeScannerFormatProfile } from './scannerFormats.js';
|
|
4
4
|
export type ScannerStatus = 'idle' | 'starting' | 'running' | 'denied' | 'error';
|
|
5
5
|
export interface UseBarcodeScannerMessages {
|
|
@@ -10,6 +10,8 @@ export interface UseBarcodeScannerMessages {
|
|
|
10
10
|
runningZxing: string;
|
|
11
11
|
error: string;
|
|
12
12
|
scannerOff: string;
|
|
13
|
+
/** G3 — high-sensitivity WASM missing / prepare failed (no silent weaker-engine fallthrough). */
|
|
14
|
+
wasmBootstrapFailed: string;
|
|
13
15
|
}
|
|
14
16
|
export interface UseBarcodeScannerOptions {
|
|
15
17
|
enabled: boolean;
|
|
@@ -17,11 +19,26 @@ export interface UseBarcodeScannerOptions {
|
|
|
17
19
|
onDecode: (rawValue: string) => void;
|
|
18
20
|
messages: UseBarcodeScannerMessages;
|
|
19
21
|
formatProfile?: BarcodeScannerFormatProfile;
|
|
22
|
+
/**
|
|
23
|
+
* G7 — fired when the tab/page backgrounds and the hook releases the camera.
|
|
24
|
+
* Parent should set `enabled` false so the CTA must be tapped again (no auto-restart).
|
|
25
|
+
*/
|
|
26
|
+
onBackgroundStop?: () => void;
|
|
20
27
|
}
|
|
21
28
|
export interface UseBarcodeScannerReturn {
|
|
22
29
|
status: ScannerStatus;
|
|
23
30
|
engine: ScannerEngine | null;
|
|
24
31
|
errorMessage: string | null;
|
|
25
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Live camera barcode/QR decode.
|
|
35
|
+
*
|
|
36
|
+
* Runtime cascade (single SoT — no selectBarcodeScannerEngine helper):
|
|
37
|
+
* 1. Configured ZXing-C++ WASM (required for sensitivity upgrade; missing URL /
|
|
38
|
+
* unloadable asset / instantiate fail → G3 `wasmBootstrapFailed`, no weaker-engine fallthrough)
|
|
39
|
+
* 2. After WASM is successfully instantiated and running: ≥{@link WASM_HARD_FAIL_BOUND}
|
|
40
|
+
* consecutive hard decode rejects → native BarcodeDetector (G4 only — not bootstrap)
|
|
41
|
+
* 3. then pure-JS @zxing/browser
|
|
42
|
+
*/
|
|
26
43
|
export declare function useBarcodeScanner(options: UseBarcodeScannerOptions): UseBarcodeScannerReturn;
|
|
27
44
|
//# sourceMappingURL=useBarcodeScanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBarcodeScanner.d.ts","sourceRoot":"","sources":["../../src/hooks/useBarcodeScanner.ts"],"names":[],"mappings":"AAGA,OAAO,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"useBarcodeScanner.d.ts","sourceRoot":"","sources":["../../src/hooks/useBarcodeScanner.ts"],"names":[],"mappings":"AAGA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,qBAAqB,CAAC;AAY7B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjF,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,aAAa,CAAC,EAAE,2BAA2B,CAAC;IAC5C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AASD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CAyY5F"}
|