@mleonard9/vin-scanner 1.2.6 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +287 -16
  2. package/android/src/main/java/com/visioncamerabarcodescanner/VisionCameraBarcodeScannerModule.kt +76 -23
  3. package/android/src/main/java/com/visioncameratextrecognition/VisionCameraTextRecognitionModule.kt +69 -26
  4. package/ios/VisionCameraBarcodeScanner.m +60 -6
  5. package/ios/VisionCameraTextRecognition.m +67 -13
  6. package/lib/commonjs/ManualVinInput.js +147 -0
  7. package/lib/commonjs/ManualVinInput.js.map +1 -0
  8. package/lib/commonjs/PendingVinBanner.js +120 -0
  9. package/lib/commonjs/PendingVinBanner.js.map +1 -0
  10. package/lib/commonjs/TextVinPrompt.js +132 -0
  11. package/lib/commonjs/TextVinPrompt.js.map +1 -0
  12. package/lib/commonjs/haptics.js +36 -0
  13. package/lib/commonjs/haptics.js.map +1 -0
  14. package/lib/commonjs/index.js +196 -15
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/scanBarcodes.js +14 -3
  17. package/lib/commonjs/scanBarcodes.js.map +1 -1
  18. package/lib/commonjs/scanText.js +14 -3
  19. package/lib/commonjs/scanText.js.map +1 -1
  20. package/lib/commonjs/useVinScanner.js +205 -33
  21. package/lib/commonjs/useVinScanner.js.map +1 -1
  22. package/lib/commonjs/vinUtils.js +165 -32
  23. package/lib/commonjs/vinUtils.js.map +1 -1
  24. package/lib/module/ManualVinInput.js +139 -0
  25. package/lib/module/ManualVinInput.js.map +1 -0
  26. package/lib/module/PendingVinBanner.js +112 -0
  27. package/lib/module/PendingVinBanner.js.map +1 -0
  28. package/lib/module/TextVinPrompt.js +124 -0
  29. package/lib/module/TextVinPrompt.js.map +1 -0
  30. package/lib/module/haptics.js +27 -0
  31. package/lib/module/haptics.js.map +1 -0
  32. package/lib/module/index.js +179 -16
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/scanBarcodes.js +14 -3
  35. package/lib/module/scanBarcodes.js.map +1 -1
  36. package/lib/module/scanText.js +14 -3
  37. package/lib/module/scanText.js.map +1 -1
  38. package/lib/module/useVinScanner.js +206 -34
  39. package/lib/module/useVinScanner.js.map +1 -1
  40. package/lib/module/vinUtils.js +165 -32
  41. package/lib/module/vinUtils.js.map +1 -1
  42. package/lib/typescript/src/ManualVinInput.d.ts +11 -0
  43. package/lib/typescript/src/ManualVinInput.d.ts.map +1 -0
  44. package/lib/typescript/src/PendingVinBanner.d.ts +17 -0
  45. package/lib/typescript/src/PendingVinBanner.d.ts.map +1 -0
  46. package/lib/typescript/src/TextVinPrompt.d.ts +20 -0
  47. package/lib/typescript/src/TextVinPrompt.d.ts.map +1 -0
  48. package/lib/typescript/src/haptics.d.ts +4 -0
  49. package/lib/typescript/src/haptics.d.ts.map +1 -0
  50. package/lib/typescript/src/index.d.ts +4 -1
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/lib/typescript/src/scanBarcodes.d.ts.map +1 -1
  53. package/lib/typescript/src/scanText.d.ts.map +1 -1
  54. package/lib/typescript/src/types.d.ts +136 -7
  55. package/lib/typescript/src/types.d.ts.map +1 -1
  56. package/lib/typescript/src/useVinScanner.d.ts +3 -1
  57. package/lib/typescript/src/useVinScanner.d.ts.map +1 -1
  58. package/lib/typescript/src/vinUtils.d.ts +12 -3
  59. package/lib/typescript/src/vinUtils.d.ts.map +1 -1
  60. package/package.json +8 -2
  61. package/src/ManualVinInput.tsx +145 -0
  62. package/src/PendingVinBanner.tsx +128 -0
  63. package/src/TextVinPrompt.tsx +139 -0
  64. package/src/haptics.ts +32 -0
  65. package/src/index.tsx +203 -24
  66. package/src/scanBarcodes.ts +16 -4
  67. package/src/scanText.ts +16 -4
  68. package/src/types.ts +140 -11
  69. package/src/useVinScanner.ts +232 -39
  70. package/src/vinUtils.ts +210 -79
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_RESOLVED_OPTIONS","barcode","enabled","formats","text","language","detection","resultMode","textScanInterval","maxFrameRate","forceOrientation","resolveOptions","options","_options$detection","_options$detection2","_options$barcode","_options$barcode2","_options$text","_options$text2","_options$detection3","_options$detection4","Math","max","length","transliteration","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","weights","OCR_SUBSTITUTIONS","generateSubstitutionCandidates","value","maxSubstitutions","candidates","Set","positions","i","char","push","positionsToTry","slice","generate","current","posIndex","substitutionCount","add","pos","undefined","replacements","forEach","replacement","newValue","Array","from","extractWithContext","matches","VIN_PATTERN","patterns","pattern","match","exec","captured","replace","candidate","toUpperCase","test","tokenizeCandidate","normalized","vin","cleaned","tokens","split","filter","token","hasSubstitutableChars","substitutions","sub","isValidWmi","firstChar","isValidVin","chars","sum","numeric","Number","parseInt","weight","remainder","expected","toString","checkDigit","toBoundingBox","preferred","maybe","top","bottom","left","right","width","height","block","blockBox","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineBox","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementBox","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","candidateFromBarcode","values","rawValue","displayValue","boundingBox","map","source","origin","rawPayload","candidateFromText","valueMap","Map","elementText","order","lineText","blockText","resultText","v","_valueMap$get","has","get","set","rawText","entries","_detection$elementTex","_detection$lineText","includes","dedupeCandidates","_candidate$boundingBo","_candidate$boundingBo2","key","join","buildVinCandidates","payload","list","prefersBarcodeFirst","addBarcodeCandidates","barcodes","addTextCandidates","textBlocks","textBlock","pickFirstCandidate"],"sourceRoot":"../../src","sources":["vinUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_RESOLVED_OPTIONS","barcode","enabled","formats","text","language","requireConfirmation","pendingTtlMs","detection","textScanInterval","maxFrameRate","forceOrientation","scanRegion","x","y","width","height","minLuma","minSharpness","minConfidence","barcodeFallbackAfter","showOverlay","overlayColors","high","medium","low","duplicateDebounceMs","resolveOptions","options","_options$detection","_options$barcode","_options$barcode2","_options$text","_options$text2","_options$text3","_options$text4","_options$detection2","_options$detection3","_options$detection4","_options$detection5","_options$detection6","_options$detection7","_options$detection8","Math","max","length","transliteration","A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z","weights","OCR_SUBSTITUTIONS","generateSubstitutionCandidates","value","maxSubstitutions","candidates","Set","positions","i","char","push","positionsToTry","slice","generate","current","posIndex","substitutionCount","add","pos","undefined","replacements","forEach","replacement","newValue","Array","from","extractWithContext","matches","VIN_PATTERN","patterns","pattern","match","exec","captured","replace","candidate","toUpperCase","test","calculateConfidence","source","origin","rawPayload","score","wmi","knownManufacturers","includes","charCounts","Map","set","get","maxRepeat","values","resultText","lowerText","toLowerCase","min","tokenizeCandidate","normalized","vin","cleaned","tokens","split","filter","token","hasSubstitutableChars","substitutions","sub","isValidWmi","firstChar","isValidVin","chars","sum","numeric","Number","parseInt","weight","remainder","expected","toString","checkDigit","toBoundingBox","preferred","maybe","top","bottom","left","right","block","blockBox","blockFrameTop","blockFrameBottom","blockFrameLeft","blockFrameRight","lineBox","lineFrameTop","lineFrameBottom","lineFrameLeft","lineFrameRight","elementBox","elementFrameTop","elementFrameBottom","elementFrameLeft","elementFrameRight","candidateFromBarcode","rawValue","displayValue","boundingBox","map","confidence","candidateFromText","valueMap","elementText","order","lineText","blockText","v","_valueMap$get","has","rawText","entries","_detection$elementTex","_detection$lineText","dedupeCandidates","_candidate$boundingBo","_candidate$boundingBo2","key","join","buildVinCandidates","payload","list","addBarcodeCandidates","barcodes","addTextCandidates","textBlocks","textBlock","pickFirstCandidate"],"sourceRoot":"../../src","sources":["vinUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type ManualVinInputProps = {
3
+ initialValue?: string;
4
+ onSubmit?: (vin: string) => void;
5
+ buttonLabel?: string;
6
+ buttonColor?: string;
7
+ placeholder?: string;
8
+ };
9
+ export declare function ManualVinInput({ initialValue, onSubmit, buttonLabel, buttonColor, placeholder, }: ManualVinInputProps): React.JSX.Element;
10
+ export default ManualVinInput;
11
+ //# sourceMappingURL=ManualVinInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManualVinInput.d.ts","sourceRoot":"","sources":["../../../src/ManualVinInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,KAAK,mBAAmB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,wBAAgB,cAAc,CAAC,EAC7B,YAAiB,EACjB,QAAQ,EACR,WAAuB,EACvB,WAAuB,EACvB,WAAoC,GACrC,EAAE,mBAAmB,qBAmDrB;AAwED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { VinCandidate } from './types';
3
+ type PendingVinBannerProps = {
4
+ visible: boolean;
5
+ candidates: VinCandidate[];
6
+ onConfirm: (candidate: VinCandidate) => void;
7
+ onDismiss?: () => void;
8
+ buttonLabel?: string;
9
+ buttonColor?: string;
10
+ };
11
+ /**
12
+ * Compact bottom banner for pending text VINs.
13
+ * Works well together with `text.requireConfirmation`.
14
+ */
15
+ export declare function PendingVinBanner({ visible, candidates, onConfirm, onDismiss, buttonLabel, buttonColor, }: PendingVinBannerProps): React.JSX.Element | null;
16
+ export default PendingVinBanner;
17
+ //# sourceMappingURL=PendingVinBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PendingVinBanner.d.ts","sourceRoot":"","sources":["../../../src/PendingVinBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,SAAS,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAuB,EACvB,WAAuB,GACxB,EAAE,qBAAqB,4BAiDvB;AAsDD,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import type { VinCandidate } from './types';
3
+ type TextVinPromptProps = {
4
+ visible: boolean;
5
+ candidates: VinCandidate[];
6
+ onConfirm: (candidate: VinCandidate) => void;
7
+ onDismiss?: () => void;
8
+ title?: string;
9
+ buttonLabel?: string;
10
+ buttonColor?: string;
11
+ subtitle?: string;
12
+ };
13
+ /**
14
+ * Lightweight confirmation UI for text VINs.
15
+ * - Shows detected VINs in a simple modal.
16
+ * - Barcodes should be handled upstream (they bypass this UI).
17
+ */
18
+ export declare function TextVinPrompt({ visible, candidates, onConfirm, onDismiss, title, subtitle, buttonLabel, buttonColor, }: TextVinPromptProps): React.JSX.Element | null;
19
+ export default TextVinPrompt;
20
+ //# sourceMappingURL=TextVinPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextVinPrompt.d.ts","sourceRoot":"","sources":["../../../src/TextVinPrompt.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,SAAS,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAsB,EACtB,QAAQ,EACR,WAAuB,EACvB,WAAuB,GACxB,EAAE,kBAAkB,4BAkCpB;AAoED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const triggerSuccessHaptic: () => void;
2
+ export declare const triggerWarningHaptic: () => void;
3
+ export declare const triggerSoftHaptic: () => void;
4
+ //# sourceMappingURL=haptics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haptics.d.ts","sourceRoot":"","sources":["../../../src/haptics.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,oBAAoB,YAA2B,CAAC;AAC7D,eAAO,MAAM,oBAAoB,YAA2B,CAAC;AAC7D,eAAO,MAAM,iBAAiB,YAA+B,CAAC"}
@@ -3,7 +3,10 @@ export declare const Camera: React.ForwardRefExoticComponent<{
3
3
  callback: (event: import("./types").VinScannerEvent) => void;
4
4
  options?: import("./types").VinScannerOptions;
5
5
  } & import("react-native-vision-camera").CameraProps & React.RefAttributes<any>>;
6
- export type { BarcodeDetection, BarcodeFormat, BarcodeScannerOptions, CameraTypes, DetectionOptions, TextDetection, TextRecognitionOptions, TextScannerOptions, VinCandidate, VinResultMode, VinScannerEvent, VinScannerOptions, } from './types';
6
+ export type { BarcodeDetection, BarcodeFormat, BarcodeScannerOptions, BoundingBox, CameraSettings, CameraTypes, DetectionOptions, OverlayColors, TextDetection, TextRecognitionOptions, TextScannerOptions, VinCandidate, VinCandidateSource, VinScannerEvent, VinScannerOptions, VinTextOrigin, } from './types';
7
7
  export { useVinScanner } from './useVinScanner';
8
8
  export { isValidVin } from './vinUtils';
9
+ export { TextVinPrompt } from './TextVinPrompt';
10
+ export { PendingVinBanner } from './PendingVinBanner';
11
+ export { ManualVinInput } from './ManualVinInput';
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAuBnD,eAAO,MAAM,MAAM;;;gFAmEjB,CAAC;AA0BH,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAyBhE,eAAO,MAAM,MAAM;;;gFA6OjB,CAAC;AA0BH,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanBarcodes.d.ts","sourceRoot":"","sources":["../../../src/scanBarcodes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,oBAAoB,EAIpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAsHjB,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,GAC1B,oBAAoB,CAwBtB"}
1
+ {"version":3,"file":"scanBarcodes.d.ts","sourceRoot":"","sources":["../../../src/scanBarcodes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAiIjB,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,kBAAkB,GAC1B,oBAAoB,CAwBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanText.d.ts","sourceRoot":"","sources":["../../../src/scanText.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AA4FjB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAyBvB"}
1
+ {"version":3,"file":"scanText.d.ts","sourceRoot":"","sources":["../../../src/scanText.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAKV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAuGjB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAyBvB"}
@@ -7,6 +7,7 @@ export type FrameOrientation = 'portrait' | 'portrait-upside-down' | 'landscape-
7
7
  export type NativeBarcodeFormatMap = Partial<Record<BarcodeFormat, boolean>>;
8
8
  export type BarcodePluginArgs = NativeBarcodeFormatMap & {
9
9
  orientation?: FrameOrientation;
10
+ scanRegion?: ScanRegion;
10
11
  };
11
12
  export type BarcodeDetection = {
12
13
  width?: number;
@@ -47,8 +48,12 @@ export type TextRecognitionOptions = {
47
48
  * Only blocks containing text matching this pattern will be returned.
48
49
  */
49
50
  validationPattern?: string;
51
+ /**
52
+ * Optional scan region to restrict ML Kit processing.
53
+ * Note: Native implementation pending.
54
+ */
55
+ scanRegion?: ScanRegion;
50
56
  };
51
- export type VinResultMode = 'first' | 'all';
52
57
  export type BoundingBox = {
53
58
  top: number;
54
59
  left: number;
@@ -58,22 +63,39 @@ export type BoundingBox = {
58
63
  height?: number;
59
64
  };
60
65
  export type VinCandidateSource = 'barcode' | 'text';
66
+ export type VinTextOrigin = 'rawValue' | 'displayValue' | 'block' | 'line' | 'element';
61
67
  export type VinCandidate = {
62
68
  value: string;
63
69
  source: VinCandidateSource;
70
+ /** Confidence score from 0.0 (lowest) to 1.0 (highest) */
71
+ confidence: number;
72
+ origin?: VinTextOrigin;
64
73
  boundingBox?: BoundingBox;
65
- origin?: 'rawValue' | 'displayValue' | 'block' | 'line' | 'element';
66
- rawPayload?: BarcodeDetection | TextDetection;
74
+ rawPayload?: BarcodeDetection | TextDetection | {
75
+ resultText?: string;
76
+ [key: string]: unknown;
77
+ };
67
78
  };
68
79
  export type VinScannerEvent = {
69
- mode: VinResultMode;
70
80
  timestamp: number;
81
+ duration: number;
71
82
  candidates: VinCandidate[];
72
- best?: VinCandidate | null;
83
+ firstCandidate?: VinCandidate | null;
73
84
  raw: {
74
85
  barcodes: BarcodeDetection[];
75
86
  textBlocks: TextDetection[];
76
87
  };
88
+ /** Optional performance telemetry for data-driven optimization */
89
+ performance?: {
90
+ /** Time spent scanning barcodes (ms) */
91
+ barcodeMs: number;
92
+ /** Time spent on text recognition (ms) */
93
+ textMs: number;
94
+ /** Time spent on validation and candidate building (ms) */
95
+ validationMs: number;
96
+ /** Total processing time (ms) */
97
+ totalMs: number;
98
+ };
77
99
  };
78
100
  export type BarcodeScannerOptions = {
79
101
  enabled?: boolean;
@@ -82,9 +104,39 @@ export type BarcodeScannerOptions = {
82
104
  export type TextScannerOptions = {
83
105
  enabled?: boolean;
84
106
  language?: TextRecognitionLanguage;
107
+ /**
108
+ * When true, text VINs are surfaced via `onTextPending` and must be
109
+ * confirmed manually; barcode VINs still emit immediately.
110
+ * Default: false
111
+ */
112
+ requireConfirmation?: boolean;
113
+ /**
114
+ * Auto-dismiss pending text candidates after this many ms.
115
+ * Default: 5000
116
+ */
117
+ pendingTtlMs?: number;
118
+ };
119
+ export type ScanRegion = {
120
+ /**
121
+ * X position of scan region (0.0 to 1.0, normalized coordinates)
122
+ * 0.0 = left edge, 1.0 = right edge
123
+ */
124
+ x: number;
125
+ /**
126
+ * Y position of scan region (0.0 to 1.0, normalized coordinates)
127
+ * 0.0 = top edge, 1.0 = bottom edge
128
+ */
129
+ y: number;
130
+ /**
131
+ * Width of scan region (0.0 to 1.0, normalized coordinates)
132
+ */
133
+ width: number;
134
+ /**
135
+ * Height of scan region (0.0 to 1.0, normalized coordinates)
136
+ */
137
+ height: number;
85
138
  };
86
139
  export type DetectionOptions = {
87
- resultMode?: VinResultMode;
88
140
  /**
89
141
  * Run text recognition every Nth frame. Set to `1` (default) to run every frame.
90
142
  */
@@ -101,12 +153,89 @@ export type DetectionOptions = {
101
153
  * landscape-oriented buffers (iPads, kiosks, etc.).
102
154
  */
103
155
  forceOrientation?: FrameOrientation | null;
156
+ /**
157
+ * Restrict ML Kit processing to a specific region of the frame.
158
+ * This significantly improves performance by ignoring irrelevant areas.
159
+ * Default: center 70% of frame { x: 0.15, y: 0.15, width: 0.7, height: 0.7 }
160
+ */
161
+ scanRegion?: ScanRegion;
162
+ /**
163
+ * Enable intelligent frame quality checks to skip blurry or dark frames.
164
+ * This improves accuracy by only processing high-quality frames.
165
+ * Note: currently unused; retained for backward compatibility.
166
+ */
167
+ enableFrameQualityCheck?: boolean;
168
+ /**
169
+ * Minimum average luma (0-255) required to process the frame. Lower = darker.
170
+ * Set to 0 to disable.
171
+ */
172
+ minLuma?: number;
173
+ /**
174
+ * Minimum sharpness score (simple gradient metric) required to process.
175
+ * Set to 0 to disable.
176
+ */
177
+ minSharpness?: number;
178
+ /**
179
+ * Minimum candidate confidence required before emitting.
180
+ * Default: 0.6
181
+ */
182
+ minConfidence?: number;
183
+ /**
184
+ * Frames without barcode hits before falling back to scanning all formats.
185
+ * Default: 45 frames.
186
+ */
187
+ barcodeFallbackAfter?: number;
188
+ };
189
+ export type OverlayColors = {
190
+ /** Color for high confidence (>0.8). Default: '#00FF00' (green) */
191
+ high: string;
192
+ /** Color for medium confidence (0.5-0.8). Default: '#FFFF00' (yellow) */
193
+ medium: string;
194
+ /** Color for low confidence (<0.5). Default: '#FF0000' (red) */
195
+ low: string;
196
+ };
197
+ export type CameraSettings = {
198
+ /** Target FPS for camera. Clamped to 24–30. Default: 24 */
199
+ fps?: number;
200
+ /** Enable low light boost. Default: true */
201
+ lowLightBoost?: boolean;
202
+ /** Video stabilization mode. Default: 'cinematic' */
203
+ videoStabilizationMode?: 'off' | 'standard' | 'cinematic' | 'auto';
104
204
  };
105
205
  export type VinScannerOptions = {
106
206
  barcode?: BarcodeScannerOptions;
107
207
  text?: TextScannerOptions;
108
208
  detection?: DetectionOptions;
109
- onResult?: (result: VinCandidate | VinCandidate[] | null, event: VinScannerEvent) => void;
209
+ onResult?: (result: VinCandidate[], event: VinScannerEvent) => void;
210
+ /**
211
+ * Called when text candidates are detected and `text.requireConfirmation` is true.
212
+ * Use this to show a confirmation UI and then call `confirmTextCandidate`.
213
+ */
214
+ onTextPending?: (pending: VinCandidate[]) => void;
215
+ /**
216
+ * Enable built-in haptic notifications (if react-native-haptic-feedback is installed).
217
+ * Default: true
218
+ */
219
+ haptics?: boolean;
220
+ /**
221
+ * Deprecated: overlay component removed. Ignored.
222
+ */
223
+ showOverlay?: boolean;
224
+ /**
225
+ * Deprecated: overlay component removed. Ignored.
226
+ */
227
+ overlayColors?: Partial<OverlayColors>;
228
+ /**
229
+ * Debounce time in milliseconds to prevent duplicate VIN emissions.
230
+ * Same VIN won't be emitted again within this time window.
231
+ * Default: 1500 (1.5 seconds)
232
+ */
233
+ duplicateDebounceMs?: number;
234
+ /**
235
+ * Camera settings for device-specific optimization.
236
+ * Configure FPS, low light boost, stabilization, and HDR.
237
+ */
238
+ cameraSettings?: CameraSettings;
110
239
  };
111
240
  export type CameraTypes = {
112
241
  callback: (event: VinScannerEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import type { VinScannerOptions } from './types';
1
+ import type { VinCandidate, VinScannerOptions } from './types';
2
2
  export declare function useVinScanner(options?: VinScannerOptions): {
3
3
  frameProcessor: import("react-native-vision-camera").ReadonlyFrameProcessor;
4
+ pendingTextCandidates: VinCandidate[];
5
+ confirmTextCandidate: (vinValue?: string) => void;
4
6
  };
5
7
  //# sourceMappingURL=useVinScanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useVinScanner.d.ts","sourceRoot":"","sources":["../../../src/useVinScanner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiC,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAShF,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,iBAAiB;;EA+HxD"}
1
+ {"version":3,"file":"useVinScanner.d.ts","sourceRoot":"","sources":["../../../src/useVinScanner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAmB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAahF,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,iBAAiB;;;sCA2RzC,MAAM;EAiCrB"}
@@ -14,7 +14,7 @@
14
14
  * @see https://en.wikipedia.org/wiki/Vehicle_identification_number
15
15
  * @see https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/World_Manufacturer_Identifier_(WMI)
16
16
  */
17
- import type { DetectionOptions, FrameOrientation, ScanBarcodeOptions, TextRecognitionLanguage, VinCandidate, VinResultMode, VinScannerOptions, WorkletPayload } from './types';
17
+ import type { DetectionOptions, FrameOrientation, ScanBarcodeOptions, OverlayColors, ScanRegion, TextRecognitionLanguage, VinCandidate, VinScannerOptions, WorkletPayload } from './types';
18
18
  export type ResolvedVinScannerOptions = {
19
19
  barcode: {
20
20
  enabled: boolean;
@@ -24,13 +24,22 @@ export type ResolvedVinScannerOptions = {
24
24
  enabled: boolean;
25
25
  language: TextRecognitionLanguage;
26
26
  validationPattern?: string;
27
+ requireConfirmation: boolean;
28
+ pendingTtlMs: number;
27
29
  };
28
- detection: Required<DetectionOptions> & {
29
- resultMode: VinResultMode;
30
+ detection: Omit<Required<DetectionOptions>, 'enableFrameQualityCheck'> & {
30
31
  textScanInterval: number;
31
32
  maxFrameRate: number;
32
33
  forceOrientation: FrameOrientation | null;
34
+ scanRegion: ScanRegion | null;
35
+ minLuma: number;
36
+ minSharpness: number;
37
+ minConfidence: number;
38
+ barcodeFallbackAfter: number;
33
39
  };
40
+ showOverlay: boolean;
41
+ overlayColors: OverlayColors;
42
+ duplicateDebounceMs: number;
34
43
  };
35
44
  export declare const resolveOptions: (options?: VinScannerOptions) => ResolvedVinScannerOptions;
36
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vinUtils.d.ts","sourceRoot":"","sources":["../../../src/vinUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAElB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,uBAAuB,CAAC;QAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG;QACtC,UAAU,EAAE,aAAa,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;KAC3C,CAAC;CACH,CAAC;AAmBF,eAAO,MAAM,cAAc,GACzB,UAAU,iBAAiB,KAC1B,yBAmCF,CAAC;AAqOF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OAoC1C,CAAC;AAkLF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,cAAc,EACvB,SAAS,yBAAyB,KACjC,YAAY,EA+Bd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,YAAY,EAAE,EAC1B,SAAS,yBAAyB,KACjC,YAAY,GAAG,IAQjB,CAAC"}
1
+ {"version":3,"file":"vinUtils.d.ts","sourceRoot":"","sources":["../../../src/vinUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,UAAU,EAEV,uBAAuB,EACvB,YAAY,EAGZ,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,uBAAuB,CAAC;QAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,GAAG;QACvE,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAC1C,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAgCF,eAAO,MAAM,cAAc,GACzB,UAAU,iBAAiB,KAC1B,yBAoDF,CAAC;AA+TF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OAoC1C,CAAC;AAuLF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,cAAc,EACvB,SAAS,yBAAyB,KACjC,YAAY,EAyBd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,YAAY,YAAY,EAAE,EAC1B,SAAS,yBAAyB,KACjC,YAAY,GAAG,IAQjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mleonard9/vin-scanner",
3
- "version": "1.2.6",
3
+ "version": "1.4.0",
4
4
  "description": "High-performance VIN scanner for React Native Vision Camera powered by Google ML Kit barcode + text recognition.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -62,6 +62,7 @@
62
62
  "@evilmartians/lefthook": "^1.5.0",
63
63
  "@react-native/eslint-config": "^0.73.1",
64
64
  "@release-it/conventional-changelog": "^5.0.0",
65
+ "@shopify/react-native-skia": "^2.4.14",
65
66
  "@types/jest": "^29.5.5",
66
67
  "@types/react": "^18.2.44",
67
68
  "commitlint": "^17.0.2",
@@ -74,6 +75,8 @@
74
75
  "react": "18.2.0",
75
76
  "react-native": "0.73.6",
76
77
  "react-native-builder-bob": "^0.20.0",
78
+ "react-native-gesture-handler": "^2.14.0",
79
+ "react-native-reanimated": "^3.6.0",
77
80
  "react-native-vision-camera": "^4.0.1",
78
81
  "react-native-worklets-core": "^1.2.0",
79
82
  "release-it": "^15.0.0",
@@ -84,8 +87,11 @@
84
87
  "@types/react": "^18.2.44"
85
88
  },
86
89
  "peerDependencies": {
90
+ "@shopify/react-native-skia": ">=1.0.0",
87
91
  "react": "*",
88
92
  "react-native": "*",
93
+ "react-native-gesture-handler": ">=2.0.0",
94
+ "react-native-reanimated": ">=3.0.0",
89
95
  "react-native-vision-camera": "*"
90
96
  },
91
97
  "workspaces": [
@@ -166,4 +172,4 @@
166
172
  ]
167
173
  ]
168
174
  }
169
- }
175
+ }