@idpass/smartscanner-capacitor 0.7.3-beta.3 → 0.7.3-beta.5

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 CHANGED
@@ -65,6 +65,66 @@ const result = await SmartScannerPlugin.executeScanner({
65
65
  });
66
66
 
67
67
  ```
68
+ Table OCR scanning example (attendance table):
69
+
70
+ ```js
71
+ const result = await SmartScannerPlugin.executeScanner({
72
+ action: 'START_SCANNER',
73
+ options: {
74
+ mode: 'table-ocr',
75
+ ocrOptions: {
76
+ analyzeStart: 1000,
77
+ tableConfig: {
78
+ // Months and Total column are auto-detected from the table grid
79
+ columnHeaders: [],
80
+ autoDetectMonths: true,
81
+ // Number of data rows and their labels
82
+ dataRows: 3,
83
+ rowLabels: ['School', 'Present', 'Absent'],
84
+ // Cell validation
85
+ regex: '[0-9]{1,2}',
86
+ validMin: 1,
87
+ validMax: 31,
88
+ transforms: ['LETTER_TO_DIGIT'],
89
+ tableTransforms: ['ATTENDANCE'],
90
+ },
91
+ },
92
+ config: {
93
+ background: '#89837c',
94
+ branding: true,
95
+ label: 'Table OCR',
96
+ isManualCapture: true,
97
+ showOcrGuide: true,
98
+ showOcrRegions: true,
99
+ orientation: 'portrait',
100
+ widthGuide: 900,
101
+ heightGuide: 400,
102
+ xGuide: 0.5,
103
+ yGuide: 0.5,
104
+ },
105
+ },
106
+ });
107
+
108
+ // result.scanner_result.fields contains flat "row.col" keys:
109
+ // { "school.jun": "22", "school.jul": "20", ..., "school.total": "198", ... }
110
+ //
111
+ // result.table_meta contains the auto-detected table structure:
112
+ // { columnHeaders: ["Jun","Jul",...,"Total"], rowLabels: ["School","Present","Absent"], ... }
113
+ ```
114
+
115
+ A runnable Vue 3 + Vite example is available in the [`example/`](./example) folder.
116
+ See [`example/src/App.vue`](./example/src/App.vue) for the full Table OCR implementation.
117
+
118
+ To build and run:
119
+
120
+ ```bash
121
+ cd example
122
+ nvm use # switches to Node 22 via .nvmrc (requires Node >= 18)
123
+ npm install
124
+ npm run sync # builds Vue app into www/ and syncs to Android
125
+ # then open example/android in Android Studio and run on device
126
+ ```
127
+
68
128
  NFC scanning example:
69
129
 
70
130
  ```js
@@ -1,148 +1,151 @@
1
- buildscript {
2
- ext.kotlin_version = '2.0.0'
3
- repositories {
4
- google()
5
- mavenCentral()
6
- maven { url 'https://maven.fabric.io/public' }
7
- }
8
- dependencies {
9
- classpath 'com.google.gms:google-services:4.3.15'
10
- classpath 'com.android.tools.build:gradle:8.7.2'
11
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
12
- }
13
- }
14
-
15
- ext {
16
- junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.12'
17
- androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.1'
18
- androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.2.0'
19
- }
20
-
21
- allprojects {
22
- repositories {
23
- google()
24
- mavenCentral()
25
- maven { url "https://maven.google.com" }
26
- maven { url 'https://jitpack.io' }
27
- flatDir {
28
- dirs 'libs'
29
- }
30
- }
31
- }
32
-
33
- apply plugin: 'com.android.library'
34
- apply plugin: 'kotlin-android'
35
-
36
- android {
37
- namespace 'org.idpass.smartscanner.capacitor.smartscannercapacitorplugin'
38
- compileSdkVersion 34
39
- defaultConfig {
40
- minSdkVersion 24
41
- targetSdkVersion 34
42
- versionCode 1
43
- versionName "1.0"
44
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
45
- multiDexEnabled true
46
- }
47
- buildTypes {
48
- debug {
49
- minifyEnabled false
50
- }
51
- release {
52
- minifyEnabled true
53
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
54
- }
55
- }
56
- compileOptions {
57
- sourceCompatibility JavaVersion.VERSION_21
58
- targetCompatibility JavaVersion.VERSION_21
59
- }
60
- kotlinOptions {
61
- jvmTarget = '21'
62
- }
63
- lintOptions {
64
- abortOnError false
65
- }
66
- packagingOptions {
67
- exclude 'META-INF/NOTICE'
68
- exclude 'META-INF/LICENSE'
69
- }
70
- }
71
-
72
- dependencies {
73
- implementation fileTree(include: ['*.jar'], dir: 'libs')
74
- implementation 'androidx.multidex:multidex:2.0.1'
75
- implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
76
-
77
- implementation project(':capacitor-android')
78
-
79
- debugImplementation(name: 'smartscannerlib-debug', ext: 'aar')
80
- releaseImplementation(name: 'smartscannerlib-release', ext: 'aar')
81
- implementation(name: 'smartscanner-mrz-parser', ext: 'aar')
82
-
83
- testImplementation "junit:junit:$junitVersion"
84
- androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
85
- androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
86
-
87
- // AndroidX
88
- implementation 'androidx.appcompat:appcompat:1.6.1'
89
- implementation 'androidx.core:core-ktx:1.12.0'
90
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
91
- implementation 'androidx.recyclerview:recyclerview:1.3.2'
92
- implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
93
- implementation 'androidx.preference:preference-ktx:1.2.1'
94
-
95
- // ML Kit dependencies
96
- implementation 'com.google.mlkit:text-recognition:16.0.0-beta6'
97
- implementation 'com.google.mlkit:barcode-scanning:17.2.0'
98
-
99
- // Glide
100
- implementation 'com.github.bumptech.glide:glide:4.12.0'
101
- implementation 'com.github.bumptech.glide:annotations:4.12.0'
102
- annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
103
- implementation 'jp.wasabeef:glide-transformations:4.3.0'
104
-
105
- //Android Material
106
- implementation 'com.google.android.material:material:1.11.0'
107
-
108
- // Timber
109
- implementation 'com.jakewharton.timber:timber:4.7.1'
110
-
111
- // CameraX
112
- def camerax_version = "1.0.0-beta07"
113
- implementation "androidx.camera:camera-core:$camerax_version"
114
- // CameraX core library using camera2 implementation
115
- implementation "androidx.camera:camera-camera2:$camerax_version"
116
- // CameraX Lifecycle Library
117
- implementation "androidx.camera:camera-lifecycle:$camerax_version"
118
- // CameraX View class
119
- implementation "androidx.camera:camera-view:1.0.0-alpha14"
120
-
121
- // MRZ
122
- implementation 'org.slf4j:slf4j-android:1.7.30'
123
-
124
- // gson
125
- implementation 'com.google.code.gson:gson:2.10.1'
126
-
127
- // NFC
128
- implementation 'org.jmrtd:jmrtd:0.7.18'
129
- implementation 'com.madgag.spongycastle:prov:1.58.0.0'
130
- implementation 'net.sf.scuba:scuba-sc-android:0.0.23'
131
- implementation group: 'org.ejbca.cvc', name: 'cert-cvc', version: '1.4.6'
132
-
133
- //WSQ
134
- implementation 'com.github.mhshams:jnbis:2.0.2'
135
-
136
- //DatatypeConverter
137
- implementation 'commons-codec:commons-codec:1.12'
138
-
139
- //RX
140
- implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
141
- implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
142
-
143
- //Sentry
144
- implementation 'io.sentry:sentry-android:7.3.0'
145
-
146
- // Barcode
147
- implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
1
+ buildscript {
2
+ ext.kotlin_version = '2.2.10'
3
+ repositories {
4
+ google()
5
+ mavenCentral()
6
+ maven { url 'https://maven.fabric.io/public' }
7
+ }
8
+ dependencies {
9
+ classpath 'com.google.gms:google-services:4.3.15'
10
+ classpath 'com.android.tools.build:gradle:8.7.2'
11
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
12
+ }
13
+ }
14
+
15
+ ext {
16
+ junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.12'
17
+ androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.1'
18
+ androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.2.0'
19
+ }
20
+
21
+ allprojects {
22
+ repositories {
23
+ google()
24
+ mavenCentral()
25
+ maven { url "https://maven.google.com" }
26
+ maven { url 'https://jitpack.io' }
27
+ flatDir {
28
+ dirs 'libs'
29
+ }
30
+ }
31
+ }
32
+
33
+ apply plugin: 'com.android.library'
34
+ apply plugin: 'kotlin-android'
35
+
36
+ android {
37
+ namespace 'org.idpass.smartscanner.capacitor.smartscannercapacitorplugin'
38
+ compileSdkVersion 35
39
+ defaultConfig {
40
+ minSdkVersion 24
41
+ targetSdkVersion 34
42
+ versionCode 1
43
+ versionName "1.0"
44
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
45
+ multiDexEnabled true
46
+ }
47
+ buildTypes {
48
+ debug {
49
+ minifyEnabled false
50
+ }
51
+ release {
52
+ minifyEnabled true
53
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
54
+ }
55
+ }
56
+ compileOptions {
57
+ sourceCompatibility JavaVersion.VERSION_21
58
+ targetCompatibility JavaVersion.VERSION_21
59
+ }
60
+ kotlinOptions {
61
+ jvmTarget = '21'
62
+ }
63
+ lintOptions {
64
+ abortOnError false
65
+ }
66
+ packagingOptions {
67
+ exclude 'META-INF/NOTICE'
68
+ exclude 'META-INF/LICENSE'
69
+ }
70
+ }
71
+
72
+ dependencies {
73
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
74
+ implementation 'androidx.multidex:multidex:2.0.1'
75
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
76
+
77
+ implementation project(':capacitor-android')
78
+
79
+ debugImplementation(name: 'smartscannerlib-debug', ext: 'aar')
80
+ releaseImplementation(name: 'smartscannerlib-release', ext: 'aar')
81
+ implementation(name: 'smartscanner-mrz-parser', ext: 'aar')
82
+
83
+ testImplementation "junit:junit:$junitVersion"
84
+ androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
85
+ androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
86
+
87
+ // AndroidX
88
+ implementation 'androidx.appcompat:appcompat:1.6.1'
89
+ implementation 'androidx.core:core-ktx:1.12.0'
90
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
91
+ implementation 'androidx.recyclerview:recyclerview:1.3.2'
92
+ implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
93
+ implementation 'androidx.preference:preference-ktx:1.2.1'
94
+
95
+ // ML Kit dependencies
96
+ implementation 'com.google.mlkit:text-recognition:16.0.1'
97
+ implementation 'com.google.mlkit:barcode-scanning:17.3.0'
98
+
99
+ // Glide
100
+ implementation 'com.github.bumptech.glide:glide:4.12.0'
101
+ implementation 'com.github.bumptech.glide:annotations:4.12.0'
102
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
103
+ implementation 'jp.wasabeef:glide-transformations:4.3.0'
104
+
105
+ //Android Material
106
+ implementation 'com.google.android.material:material:1.11.0'
107
+
108
+ // Timber
109
+ implementation 'com.jakewharton.timber:timber:4.7.1'
110
+
111
+ // CameraX
112
+ def camerax_version = "1.3.1"
113
+ implementation "androidx.camera:camera-core:$camerax_version"
114
+ // CameraX core library using camera2 implementation
115
+ implementation "androidx.camera:camera-camera2:$camerax_version"
116
+ // CameraX Lifecycle Library
117
+ implementation "androidx.camera:camera-lifecycle:$camerax_version"
118
+ // CameraX View class
119
+ implementation "androidx.camera:camera-view:$camerax_version"
120
+
121
+ // MRZ
122
+ implementation 'org.slf4j:slf4j-android:1.7.30'
123
+
124
+ // gson
125
+ implementation 'com.google.code.gson:gson:2.10.1'
126
+
127
+ // NFC
128
+ implementation 'org.jmrtd:jmrtd:0.7.18'
129
+ implementation 'com.madgag.spongycastle:prov:1.58.0.0'
130
+ implementation 'net.sf.scuba:scuba-sc-android:0.0.23'
131
+ implementation group: 'org.ejbca.cvc', name: 'cert-cvc', version: '1.4.6'
132
+
133
+ //WSQ
134
+ implementation 'com.github.mhshams:jnbis:2.0.2'
135
+
136
+ //DatatypeConverter
137
+ implementation 'commons-codec:commons-codec:1.12'
138
+
139
+ //RX
140
+ implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
141
+ implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
142
+
143
+ //Sentry
144
+ implementation 'io.sentry:sentry-android:7.3.0'
145
+
146
+ // OpenCV (table line detection for TABLE_OCR)
147
+ implementation 'org.opencv:opencv:4.10.0'
148
+
149
+ // Barcode
150
+ implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
148
151
  }
@@ -9,9 +9,9 @@
9
9
  <application>
10
10
  <activity
11
11
  android:name="org.idpass.smartscanner.lib.SmartScannerActivity"
12
- android:theme="@style/Theme.AppCompat.NoActionBar"
12
+ android:theme="@style/SmartScannerTheme"
13
13
  android:screenOrientation="portrait"
14
14
  android:exported="false"
15
- tools:replace="android:exported,android:screenOrientation" />
15
+ tools:replace="android:exported,android:screenOrientation,android:theme" />
16
16
  </application>
17
17
  </manifest>
@@ -54,6 +54,11 @@ class SmartScannerPlugin : Plugin() {
54
54
  val scannerResult = JSONObject(returnedResult)
55
55
  val ret = JSObject()
56
56
  ret.put(SmartScannerActivity.SCANNER_RESULT, scannerResult)
57
+ // Include table metadata (detected months, row labels) if available
58
+ val tableMeta = result.data?.getStringExtra("table_meta")
59
+ if (tableMeta != null) {
60
+ try { ret.put("table_meta", JSONObject(tableMeta)) } catch (_: JSONException) {}
61
+ }
57
62
  call.resolve(ret)
58
63
  } else {
59
64
  Timber.d("SmartScanner: RESULT SCANNING NULL")
@@ -1,3 +1,7 @@
1
1
  <resources>
2
-
2
+ <!-- Extends AppCompat NoActionBar and opts out of Android 15 forced edge-to-edge
3
+ so the capture button is never hidden behind the navigation bar. -->
4
+ <style name="SmartScannerTheme" parent="Theme.AppCompat.NoActionBar">
5
+ <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item>
6
+ </style>
3
7
  </resources>
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@capacitor/core');
6
4
 
7
5
  const SmartScanner = core.registerPlugin('SmartScanner', {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from \"@capacitor/core\";\nconst SmartScanner = registerPlugin('SmartScanner', {\n web: () => import(\"./web\").then((m) => new m.SmartScannerPluginWeb())\n});\nexport * from \"./definitions\";\nexport { SmartScanner };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class SmartScannerPluginWeb extends WebPlugin {\n constructor() {\n super();\n }\n async echo(options) {\n console.log('ECHO', options);\n return options;\n }\n async executeScanner(options) {\n console.log('executeScanner', options);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAAC,YAAY,GAAGA,mBAAc,CAAC,cAAc,EAAE;AACpD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;AACzE,CAAC;;ACFM,MAAM,qBAAqB,SAASC,cAAS,CAAC;AACrD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;AACxB,QAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE;AAClC,QAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAC/C,KAAK;AACL;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from \"@capacitor/core\";\nconst SmartScanner = registerPlugin('SmartScanner', {\n web: () => import(\"./web\").then((m) => new m.SmartScannerPluginWeb())\n});\nexport * from \"./definitions\";\nexport { SmartScanner };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class SmartScannerPluginWeb extends WebPlugin {\n constructor() {\n super();\n }\n async echo(options) {\n console.log('ECHO', options);\n return options;\n }\n async executeScanner(options) {\n console.log('executeScanner', options);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;AACK,MAAC,YAAY,GAAGA,mBAAc,CAAC,cAAc,EAAE;AACpD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE;AACxE,CAAC;;ACFM,MAAM,qBAAqB,SAASC,cAAS,CAAC;AACrD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE;AACf,IAAI;AACJ,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;AACxB,QAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;AACpC,QAAQ,OAAO,OAAO;AACtB,IAAI;AACJ,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE;AAClC,QAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;AAC9C,IAAI;AACJ;;;;;;;;;"}
package/dist/plugin.js CHANGED
@@ -25,8 +25,6 @@ var IdpassSmartscannerCapacitor = (function (exports, core) {
25
25
 
26
26
  exports.SmartScanner = SmartScanner;
27
27
 
28
- Object.defineProperty(exports, '__esModule', { value: true });
29
-
30
28
  return exports;
31
29
 
32
30
  })({}, capacitorExports);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from \"@capacitor/core\";\nconst SmartScanner = registerPlugin('SmartScanner', {\n web: () => import(\"./web\").then((m) => new m.SmartScannerPluginWeb())\n});\nexport * from \"./definitions\";\nexport { SmartScanner };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class SmartScannerPluginWeb extends WebPlugin {\n constructor() {\n super();\n }\n async echo(options) {\n console.log('ECHO', options);\n return options;\n }\n async executeScanner(options) {\n console.log('executeScanner', options);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,YAAY,GAAGA,mBAAc,CAAC,cAAc,EAAE;IACpD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;IACzE,CAAC;;ICFM,MAAM,qBAAqB,SAASC,cAAS,CAAC;IACrD,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,EAAE,CAAC;IAChB,KAAK;IACL,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;IACxB,QAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,OAAO,OAAO,CAAC;IACvB,KAAK;IACL,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE;IAClC,QAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC/C,KAAK;IACL;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from \"@capacitor/core\";\nconst SmartScanner = registerPlugin('SmartScanner', {\n web: () => import(\"./web\").then((m) => new m.SmartScannerPluginWeb())\n});\nexport * from \"./definitions\";\nexport { SmartScanner };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class SmartScannerPluginWeb extends WebPlugin {\n constructor() {\n super();\n }\n async echo(options) {\n console.log('ECHO', options);\n return options;\n }\n async executeScanner(options) {\n console.log('executeScanner', options);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,YAAY,GAAGA,mBAAc,CAAC,cAAc,EAAE;IACpD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,qBAAqB,EAAE;IACxE,CAAC;;ICFM,MAAM,qBAAqB,SAASC,cAAS,CAAC;IACrD,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,EAAE;IACf,IAAI;IACJ,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;IACxB,QAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IACpC,QAAQ,OAAO,OAAO;IACtB,IAAI;IACJ,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE;IAClC,QAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAC9C,IAAI;IACJ;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,71 +1,71 @@
1
- {
2
- "name": "@idpass/smartscanner-capacitor",
3
- "version": "0.7.3-beta.3",
4
- "description": "Capacitor plugin for the SmartScanner Core library to scan MRZ, NFC and barcodes",
5
- "main": "dist/plugin.cjs.js",
6
- "module": "dist/esm/index.js",
7
- "types": "dist/esm/index.d.ts",
8
- "scripts": {
9
- "lint": "npm run prettier -- --check && npm run swiftlint -- lint",
10
- "prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
11
- "swiftlint": "node-swiftlint",
12
- "build": "npm run clean && tsc && rollup -c rollup.config.js",
13
- "clean": "rimraf ./dist",
14
- "watch": "tsc --watch",
15
- "prepublishOnly": "npm run build"
16
- },
17
- "author": "NewLogic",
18
- "license": "Apache-2.0",
19
- "dependencies": {
20
- "@capacitor/android": "^7.4.3",
21
- "@capacitor/core": "^7.4.3",
22
- "@capacitor/ios": "^7.4.3"
23
- },
24
- "devDependencies": {
25
- "@capacitor/cli": "^7.4.3",
26
- "@ionic/eslint-config": "^0.4.0",
27
- "@ionic/prettier-config": "^1.0.1",
28
- "@ionic/swiftlint-config": "^1.1.2",
29
- "@rollup/plugin-node-resolve": "^8.1.0",
30
- "eslint": "^8.57.0",
31
- "prettier": "~2.2.0",
32
- "rollup": "^2.32.0",
33
- "swiftlint": "^1.0.1",
34
- "typescript": "^5.9.2"
35
- },
36
- "files": [
37
- "dist/",
38
- "android/",
39
- "ios/",
40
- "ios/Plugin",
41
- "IdpassSmartscannerCapacitor.podspec"
42
- ],
43
- "keywords": [
44
- "capacitor",
45
- "plugin",
46
- "native"
47
- ],
48
- "capacitor": {
49
- "ios": {
50
- "src": "ios"
51
- },
52
- "android": {
53
- "src": "android"
54
- }
55
- },
56
- "prettier": "@ionic/prettier-config",
57
- "swiftlint": "@ionic/swiftlint-config",
58
- "eslintConfig": {
59
- "extends": "@ionic/eslint-config/recommended"
60
- },
61
- "repository": {
62
- "type": "git",
63
- "url": "https://github.com/idpass/smartscanner-capacitor.git"
64
- },
65
- "bugs": {
66
- "url": "https://github.com/idpass/smartscanner-capacitor/issues"
67
- },
68
- "publishConfig": {
69
- "access": "public"
70
- }
71
- }
1
+ {
2
+ "name": "@idpass/smartscanner-capacitor",
3
+ "version": "0.7.3-beta.5",
4
+ "description": "Capacitor plugin for the SmartScanner Core library to scan MRZ, NFC and barcodes",
5
+ "main": "dist/plugin.cjs.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/esm/index.d.ts",
8
+ "scripts": {
9
+ "lint": "npm run prettier -- --check && npm run swiftlint -- lint",
10
+ "prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
11
+ "swiftlint": "node-swiftlint",
12
+ "build": "npm run clean && tsc && rollup -c rollup.config.js",
13
+ "clean": "node -e \"require('fs').rmSync('./dist', {recursive: true, force: true})\"",
14
+ "watch": "tsc --watch",
15
+ "prepublishOnly": "npm run build"
16
+ },
17
+ "author": "NewLogic",
18
+ "license": "Apache-2.0",
19
+ "dependencies": {
20
+ "@capacitor/android": "^7.4.3",
21
+ "@capacitor/core": "^7.4.3",
22
+ "@capacitor/ios": "^7.4.3"
23
+ },
24
+ "devDependencies": {
25
+ "@capacitor/cli": "^7.4.3",
26
+ "@ionic/eslint-config": "^0.4.0",
27
+ "@ionic/prettier-config": "^1.0.1",
28
+ "@ionic/swiftlint-config": "^1.1.2",
29
+ "@rollup/plugin-node-resolve": "^15.3.1",
30
+ "eslint": "^8.57.0",
31
+ "prettier": "~2.2.0",
32
+ "rollup": "^4.34.9",
33
+ "swiftlint": "^1.0.1",
34
+ "typescript": "^5.9.2"
35
+ },
36
+ "files": [
37
+ "dist/",
38
+ "android/",
39
+ "ios/",
40
+ "ios/Plugin",
41
+ "IdpassSmartscannerCapacitor.podspec"
42
+ ],
43
+ "keywords": [
44
+ "capacitor",
45
+ "plugin",
46
+ "native"
47
+ ],
48
+ "capacitor": {
49
+ "ios": {
50
+ "src": "ios"
51
+ },
52
+ "android": {
53
+ "src": "android"
54
+ }
55
+ },
56
+ "prettier": "@ionic/prettier-config",
57
+ "swiftlint": "@ionic/swiftlint-config",
58
+ "eslintConfig": {
59
+ "extends": "@ionic/eslint-config/recommended"
60
+ },
61
+ "repository": {
62
+ "type": "git",
63
+ "url": "https://github.com/idpass/smartscanner-capacitor.git"
64
+ },
65
+ "bugs": {
66
+ "url": "https://github.com/idpass/smartscanner-capacitor/issues"
67
+ },
68
+ "publishConfig": {
69
+ "access": "public"
70
+ }
71
+ }