@capacitor/barcode-scanner 1.0.0 → 1.0.1-dev-20240516T195948.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.
- package/dist/esm/index.d.ts +5 -8
- package/dist/esm/index.js +13 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/plugin.cjs.js +49 -39
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +49 -39
- package/dist/plugin.js.map +1 -1
- package/package.json +2 -2
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* This allows for lazy loading of the web code only when needed, optimizing overall bundle size.
|
|
6
|
-
*/
|
|
7
|
-
declare const CapacitorBarcodeScanner: CapacitorBarcodeScannerPlugin;
|
|
8
|
-
export * from './definitions';
|
|
1
|
+
import { type CapacitorBarcodeScannerOptions, type CapacitorBarcodeScannerScanResult } from './definitions';
|
|
2
|
+
declare class CapacitorBarcodeScanner {
|
|
3
|
+
static scanBarcode(options: CapacitorBarcodeScannerOptions): Promise<CapacitorBarcodeScannerScanResult>;
|
|
4
|
+
}
|
|
9
5
|
export { CapacitorBarcodeScanner };
|
|
6
|
+
export * from './definitions';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
import { registerPlugin } from '@capacitor/core';
|
|
2
|
+
import { CapacitorBarcodeScannerCameraDirection, CapacitorBarcodeScannerScanOrientation, } from './definitions'; // Importing the interface for type checking.
|
|
2
3
|
import { applyCss, barcodeScannerCss } from './utils'; // Import utilities for applying CSS.
|
|
3
4
|
/**
|
|
4
5
|
* Registers the `OSBarcode` plugin with Capacitor.
|
|
5
6
|
* For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.
|
|
6
7
|
* This allows for lazy loading of the web code only when needed, optimizing overall bundle size.
|
|
7
8
|
*/
|
|
8
|
-
const
|
|
9
|
+
const CapacitorBarcodeScannerImpl = registerPlugin('CapacitorBarcodeScanner', {
|
|
9
10
|
web: () => {
|
|
10
11
|
applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.
|
|
11
12
|
return import('./web').then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.
|
|
12
13
|
},
|
|
13
14
|
});
|
|
15
|
+
class CapacitorBarcodeScanner {
|
|
16
|
+
static async scanBarcode(options) {
|
|
17
|
+
options.scanInstructions = options.scanInstructions || ' '; // Ensure scanInstructions is at least a space.
|
|
18
|
+
options.scanButton = options.scanButton || false; // Set scanButton to false if not provided.
|
|
19
|
+
options.scanText = options.scanText || ' '; // Ensure scanText is at least a space.
|
|
20
|
+
options.cameraDirection = options.cameraDirection || CapacitorBarcodeScannerCameraDirection.BACK; // Set cameraDirection to 'BACK' if not provided.
|
|
21
|
+
options.scanOrientation = options.scanOrientation || CapacitorBarcodeScannerScanOrientation.ADAPTIVE; // Set scanOrientation to 'ADAPTIVE' if not provided.
|
|
22
|
+
return CapacitorBarcodeScannerImpl.scanBarcode(options);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export { CapacitorBarcodeScanner }; // Export the `CapacitorBarcodeScanner` class.
|
|
14
26
|
export * from './definitions'; // Re-export all exports from the definitions file.
|
|
15
|
-
export { CapacitorBarcodeScanner }; // Export the OSBarcode plugin for use in Capacitor projects.
|
|
16
27
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,sCAAsC,EACtC,sCAAsC,GAIvC,MAAM,eAAe,CAAC,CAAC,6CAA6C;AACrE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC,CAAC,qCAAqC;AAE5F;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,cAAc,CAAgC,yBAAyB,EAAE;IAC3G,GAAG,EAAE,GAAG,EAAE;QACR,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,oFAAoF;QACjH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,gEAAgE;IAC1I,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,uBAAuB;IACpB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAuC;QACrE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,+CAA+C;QAC3G,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,2CAA2C;QAC7F,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,uCAAuC;QACnF,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC,iDAAiD;QACnJ,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,sCAAsC,CAAC,QAAQ,CAAC,CAAC,qDAAqD;QAC3J,OAAO,2BAA2B,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC,8CAA8C;AAClF,cAAc,eAAe,CAAC,CAAC,mDAAmD","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport {\n CapacitorBarcodeScannerCameraDirection,\n CapacitorBarcodeScannerScanOrientation,\n type CapacitorBarcodeScannerOptions,\n type CapacitorBarcodeScannerPlugin,\n type CapacitorBarcodeScannerScanResult,\n} from './definitions'; // Importing the interface for type checking.\nimport { applyCss, barcodeScannerCss } from './utils'; // Import utilities for applying CSS.\n\n/**\n * Registers the `OSBarcode` plugin with Capacitor.\n * For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.\n * This allows for lazy loading of the web code only when needed, optimizing overall bundle size.\n */\nconst CapacitorBarcodeScannerImpl = registerPlugin<CapacitorBarcodeScannerPlugin>('CapacitorBarcodeScanner', {\n web: () => {\n applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.\n return import('./web').then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.\n },\n});\n\nclass CapacitorBarcodeScanner {\n public static async scanBarcode(options: CapacitorBarcodeScannerOptions): Promise<CapacitorBarcodeScannerScanResult> {\n options.scanInstructions = options.scanInstructions || ' '; // Ensure scanInstructions is at least a space.\n options.scanButton = options.scanButton || false; // Set scanButton to false if not provided.\n options.scanText = options.scanText || ' '; // Ensure scanText is at least a space.\n options.cameraDirection = options.cameraDirection || CapacitorBarcodeScannerCameraDirection.BACK; // Set cameraDirection to 'BACK' if not provided.\n options.scanOrientation = options.scanOrientation || CapacitorBarcodeScannerScanOrientation.ADAPTIVE; // Set scanOrientation to 'ADAPTIVE' if not provided.\n return CapacitorBarcodeScannerImpl.scanBarcode(options);\n }\n}\n\nexport { CapacitorBarcodeScanner }; // Export the `CapacitorBarcodeScanner` class.\nexport * from './definitions'; // Re-export all exports from the definitions file.\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -5,6 +5,44 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var core = require('@capacitor/core');
|
|
6
6
|
var html5Qrcode = require('html5-qrcode');
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Enum representing the direction of the camera to be used for barcode scanning.
|
|
10
|
+
*/
|
|
11
|
+
exports.CapacitorBarcodeScannerCameraDirection = void 0;
|
|
12
|
+
(function (CapacitorBarcodeScannerCameraDirection) {
|
|
13
|
+
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["BACK"] = 1] = "BACK";
|
|
14
|
+
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["FRONT"] = 2] = "FRONT";
|
|
15
|
+
})(exports.CapacitorBarcodeScannerCameraDirection || (exports.CapacitorBarcodeScannerCameraDirection = {}));
|
|
16
|
+
/**
|
|
17
|
+
* Enum representing the orientation of the scanner during barcode scanning.
|
|
18
|
+
*/
|
|
19
|
+
exports.CapacitorBarcodeScannerScanOrientation = void 0;
|
|
20
|
+
(function (CapacitorBarcodeScannerScanOrientation) {
|
|
21
|
+
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["PORTRAIT"] = 1] = "PORTRAIT";
|
|
22
|
+
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["LANDSCAPE"] = 2] = "LANDSCAPE";
|
|
23
|
+
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["ADAPTIVE"] = 3] = "ADAPTIVE";
|
|
24
|
+
})(exports.CapacitorBarcodeScannerScanOrientation || (exports.CapacitorBarcodeScannerScanOrientation = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Enum representing a special option to indicate that all barcode types are supported.
|
|
27
|
+
*/
|
|
28
|
+
exports.CapacitorBarcodeScannerTypeHintALLOption = void 0;
|
|
29
|
+
(function (CapacitorBarcodeScannerTypeHintALLOption) {
|
|
30
|
+
CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption["ALL"] = 17] = "ALL";
|
|
31
|
+
})(exports.CapacitorBarcodeScannerTypeHintALLOption || (exports.CapacitorBarcodeScannerTypeHintALLOption = {}));
|
|
32
|
+
/**
|
|
33
|
+
* Extends supported formats from Html5Qrcode with a special 'ALL' option,
|
|
34
|
+
* indicating support for all barcode types.
|
|
35
|
+
*/
|
|
36
|
+
const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, html5Qrcode.Html5QrcodeSupportedFormats), exports.CapacitorBarcodeScannerTypeHintALLOption);
|
|
37
|
+
/**
|
|
38
|
+
* Enum representing the library to be used for barcode scanning on Android devices.
|
|
39
|
+
*/
|
|
40
|
+
exports.CapacitorBarcodeScannerAndroidScanningLibrary = void 0;
|
|
41
|
+
(function (CapacitorBarcodeScannerAndroidScanningLibrary) {
|
|
42
|
+
CapacitorBarcodeScannerAndroidScanningLibrary["ZXING"] = "zxing";
|
|
43
|
+
CapacitorBarcodeScannerAndroidScanningLibrary["MLKIT"] = "mlkit";
|
|
44
|
+
})(exports.CapacitorBarcodeScannerAndroidScanningLibrary || (exports.CapacitorBarcodeScannerAndroidScanningLibrary = {}));
|
|
45
|
+
|
|
8
46
|
/**
|
|
9
47
|
* Predefined CSS rules for styling barcode scanner components.
|
|
10
48
|
* Each object in the array defines a CSS rule, with a selector and the CSS properties to apply.
|
|
@@ -60,55 +98,27 @@ function applyCss(cssRules) {
|
|
|
60
98
|
}
|
|
61
99
|
}
|
|
62
100
|
|
|
63
|
-
/**
|
|
64
|
-
* Enum representing the direction of the camera to be used for barcode scanning.
|
|
65
|
-
*/
|
|
66
|
-
exports.CapacitorBarcodeScannerCameraDirection = void 0;
|
|
67
|
-
(function (CapacitorBarcodeScannerCameraDirection) {
|
|
68
|
-
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["BACK"] = 1] = "BACK";
|
|
69
|
-
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["FRONT"] = 2] = "FRONT";
|
|
70
|
-
})(exports.CapacitorBarcodeScannerCameraDirection || (exports.CapacitorBarcodeScannerCameraDirection = {}));
|
|
71
|
-
/**
|
|
72
|
-
* Enum representing the orientation of the scanner during barcode scanning.
|
|
73
|
-
*/
|
|
74
|
-
exports.CapacitorBarcodeScannerScanOrientation = void 0;
|
|
75
|
-
(function (CapacitorBarcodeScannerScanOrientation) {
|
|
76
|
-
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["PORTRAIT"] = 1] = "PORTRAIT";
|
|
77
|
-
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["LANDSCAPE"] = 2] = "LANDSCAPE";
|
|
78
|
-
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["ADAPTIVE"] = 3] = "ADAPTIVE";
|
|
79
|
-
})(exports.CapacitorBarcodeScannerScanOrientation || (exports.CapacitorBarcodeScannerScanOrientation = {}));
|
|
80
|
-
/**
|
|
81
|
-
* Enum representing a special option to indicate that all barcode types are supported.
|
|
82
|
-
*/
|
|
83
|
-
exports.CapacitorBarcodeScannerTypeHintALLOption = void 0;
|
|
84
|
-
(function (CapacitorBarcodeScannerTypeHintALLOption) {
|
|
85
|
-
CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption["ALL"] = 17] = "ALL";
|
|
86
|
-
})(exports.CapacitorBarcodeScannerTypeHintALLOption || (exports.CapacitorBarcodeScannerTypeHintALLOption = {}));
|
|
87
|
-
/**
|
|
88
|
-
* Extends supported formats from Html5Qrcode with a special 'ALL' option,
|
|
89
|
-
* indicating support for all barcode types.
|
|
90
|
-
*/
|
|
91
|
-
const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, html5Qrcode.Html5QrcodeSupportedFormats), exports.CapacitorBarcodeScannerTypeHintALLOption);
|
|
92
|
-
/**
|
|
93
|
-
* Enum representing the library to be used for barcode scanning on Android devices.
|
|
94
|
-
*/
|
|
95
|
-
exports.CapacitorBarcodeScannerAndroidScanningLibrary = void 0;
|
|
96
|
-
(function (CapacitorBarcodeScannerAndroidScanningLibrary) {
|
|
97
|
-
CapacitorBarcodeScannerAndroidScanningLibrary["ZXING"] = "zxing";
|
|
98
|
-
CapacitorBarcodeScannerAndroidScanningLibrary["MLKIT"] = "mlkit";
|
|
99
|
-
})(exports.CapacitorBarcodeScannerAndroidScanningLibrary || (exports.CapacitorBarcodeScannerAndroidScanningLibrary = {}));
|
|
100
|
-
|
|
101
101
|
/**
|
|
102
102
|
* Registers the `OSBarcode` plugin with Capacitor.
|
|
103
103
|
* For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.
|
|
104
104
|
* This allows for lazy loading of the web code only when needed, optimizing overall bundle size.
|
|
105
105
|
*/
|
|
106
|
-
const
|
|
106
|
+
const CapacitorBarcodeScannerImpl = core.registerPlugin('CapacitorBarcodeScanner', {
|
|
107
107
|
web: () => {
|
|
108
108
|
applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.
|
|
109
109
|
return Promise.resolve().then(function () { return web; }).then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.
|
|
110
110
|
},
|
|
111
111
|
});
|
|
112
|
+
class CapacitorBarcodeScanner {
|
|
113
|
+
static async scanBarcode(options) {
|
|
114
|
+
options.scanInstructions = options.scanInstructions || ' '; // Ensure scanInstructions is at least a space.
|
|
115
|
+
options.scanButton = options.scanButton || false; // Set scanButton to false if not provided.
|
|
116
|
+
options.scanText = options.scanText || ' '; // Ensure scanText is at least a space.
|
|
117
|
+
options.cameraDirection = options.cameraDirection || exports.CapacitorBarcodeScannerCameraDirection.BACK; // Set cameraDirection to 'BACK' if not provided.
|
|
118
|
+
options.scanOrientation = options.scanOrientation || exports.CapacitorBarcodeScannerScanOrientation.ADAPTIVE; // Set scanOrientation to 'ADAPTIVE' if not provided.
|
|
119
|
+
return CapacitorBarcodeScannerImpl.scanBarcode(options);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
112
122
|
|
|
113
123
|
/**
|
|
114
124
|
* Implements OSBarcodePlugin to provide web functionality for barcode scanning.
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/utils.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["/**\n * Predefined CSS rules for styling barcode scanner components.\n * Each object in the array defines a CSS rule, with a selector and the CSS properties to apply.\n */\nexport const barcodeScannerCss = [\n { selector: '.scanner-container-display', css: 'display: block;' },\n {\n selector: '.scanner-dialog',\n css: 'display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4);',\n },\n {\n selector: '.scanner-dialog-inner',\n css: 'background-color: #fefefe; margin: 2% auto; padding: 20px; border: 1px solid #888; width: 96%;',\n },\n { selector: '.close-button', css: 'color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;' },\n { selector: '.close-button:hover', css: 'color: #222;' },\n { selector: '.scanner-container-full-width', css: 'width: 100%;' },\n];\n/**\n * Dynamically applies a set of CSS rules to the document.\n * If a custom style element with a specific ID does not exist, it is created and appended to the document's head.\n * Existing rules in the style element are cleared before new ones are applied.\n * This function supports both modern and older browsers by using `CSSStyleSheet.insertRule` and `textContent` respectively.\n *\n * @param {Array<{selector: string, css: string}>} cssRules - An array of objects containing CSS selectors and styles to apply.\n */\nexport function applyCss(cssRules) {\n const styleId = 'custom-style-os-cap-barcode'; // Unique identifier for the style element.\n let styleElement = document.getElementById(styleId);\n if (!styleElement) {\n // Create and append a new style element if it does not exist.\n styleElement = document.createElement('style');\n styleElement.type = 'text/css';\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n if (styleElement.sheet) {\n // Clear existing CSS rules.\n while (styleElement.sheet.cssRules.length) {\n styleElement.sheet.deleteRule(0);\n }\n // Insert new CSS rules.\n for (const { selector, css } of cssRules) {\n styleElement.sheet.insertRule(`${selector} { ${css} }`);\n }\n }\n else {\n // Fallback for older browsers using textContent.\n styleElement.textContent = '';\n for (const { selector, css } of cssRules) {\n styleElement.textContent += `${selector} { ${css} }`;\n }\n }\n}\n//# sourceMappingURL=utils.js.map","import { Html5QrcodeSupportedFormats } from 'html5-qrcode';\n/**\n * Enum representing the direction of the camera to be used for barcode scanning.\n */\nexport var CapacitorBarcodeScannerCameraDirection;\n(function (CapacitorBarcodeScannerCameraDirection) {\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"BACK\"] = 1] = \"BACK\";\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"FRONT\"] = 2] = \"FRONT\";\n})(CapacitorBarcodeScannerCameraDirection || (CapacitorBarcodeScannerCameraDirection = {}));\n/**\n * Enum representing the orientation of the scanner during barcode scanning.\n */\nexport var CapacitorBarcodeScannerScanOrientation;\n(function (CapacitorBarcodeScannerScanOrientation) {\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"PORTRAIT\"] = 1] = \"PORTRAIT\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"LANDSCAPE\"] = 2] = \"LANDSCAPE\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"ADAPTIVE\"] = 3] = \"ADAPTIVE\";\n})(CapacitorBarcodeScannerScanOrientation || (CapacitorBarcodeScannerScanOrientation = {}));\n/**\n * Enum representing a special option to indicate that all barcode types are supported.\n */\nexport var CapacitorBarcodeScannerTypeHintALLOption;\n(function (CapacitorBarcodeScannerTypeHintALLOption) {\n CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption[\"ALL\"] = 17] = \"ALL\";\n})(CapacitorBarcodeScannerTypeHintALLOption || (CapacitorBarcodeScannerTypeHintALLOption = {}));\n/**\n * Extends supported formats from Html5Qrcode with a special 'ALL' option,\n * indicating support for all barcode types.\n */\nexport const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, Html5QrcodeSupportedFormats), CapacitorBarcodeScannerTypeHintALLOption);\n/**\n * Enum representing the library to be used for barcode scanning on Android devices.\n */\nexport var CapacitorBarcodeScannerAndroidScanningLibrary;\n(function (CapacitorBarcodeScannerAndroidScanningLibrary) {\n CapacitorBarcodeScannerAndroidScanningLibrary[\"ZXING\"] = \"zxing\";\n CapacitorBarcodeScannerAndroidScanningLibrary[\"MLKIT\"] = \"mlkit\";\n})(CapacitorBarcodeScannerAndroidScanningLibrary || (CapacitorBarcodeScannerAndroidScanningLibrary = {}));\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nimport { applyCss, barcodeScannerCss } from './utils'; // Import utilities for applying CSS.\n/**\n * Registers the `OSBarcode` plugin with Capacitor.\n * For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.\n * This allows for lazy loading of the web code only when needed, optimizing overall bundle size.\n */\nconst CapacitorBarcodeScanner = registerPlugin('CapacitorBarcodeScanner', {\n web: () => {\n applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.\n return import('./web').then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.\n },\n});\nexport * from './definitions'; // Re-export all exports from the definitions file.\nexport { CapacitorBarcodeScanner }; // Export the OSBarcode plugin for use in Capacitor projects.\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Html5Qrcode } from 'html5-qrcode';\nimport { CapacitorBarcodeScannerScanOrientation } from './definitions';\n/**\n * Implements OSBarcodePlugin to provide web functionality for barcode scanning.\n */\nexport class CapacitorBarcodeScannerWeb extends WebPlugin {\n /**\n * Stops the barcode scanner and hides its UI.\n * @private\n * @returns {Promise<void>} A promise that resolves when the scanner has stopped and its UI is hidden.\n */\n async stopAndHideScanner() {\n console.log(window.OSBarcodeWebScanner);\n if (window.OSBarcodeWebScanner) {\n await window.OSBarcodeWebScanner.stop();\n window.OSBarcodeWebScanner = null;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'none';\n }\n /**\n * Builds the HTML elements necessary for the barcode scanner UI.\n * This method checks if the scanner container exists before creating it to avoid duplicates.\n * It also sets up the close button to stop and hide the scanner on click.\n * @private\n */\n buildScannerElement() {\n if (document.getElementById('cap-os-barcode-scanner-container')) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container').className = 'scanner-container-display';\n return;\n }\n // Create and configure scanner container elements\n const caposbarcodescannercontainer = document.body.appendChild(document.createElement('div'));\n caposbarcodescannercontainer.id = 'cap-os-barcode-scanner-container';\n const caposbarcodescannercontainerdialog = document.createElement('div');\n caposbarcodescannercontainerdialog.id = 'cap-os-barcode-scanner-container-dialog';\n caposbarcodescannercontainerdialog.className = 'scanner-dialog';\n // Inner dialog elements including the close button and scanner view\n const caposbarcodescannercontainerdialoginner = document.createElement('div');\n caposbarcodescannercontainerdialoginner.className = 'scanner-dialog-inner';\n const caposbarcodescannercontainerdialoginnerclose = document.createElement('span');\n caposbarcodescannercontainerdialoginnerclose.className = 'close-button';\n caposbarcodescannercontainerdialoginnerclose.innerHTML = '×';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnerclose);\n const caposbarcodescannercontainerdialoginnercontainerp = document.createElement('p');\n caposbarcodescannercontainerdialoginnercontainerp.innerHTML = ' ';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainerp);\n const caposbarcodescannercontainerdialoginnercontainer = document.createElement('div');\n caposbarcodescannercontainerdialoginnercontainer.className = 'scanner-container-full-width';\n caposbarcodescannercontainerdialoginnercontainer.id = 'cap-os-barcode-scanner-container-scanner';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainer);\n caposbarcodescannercontainerdialog.appendChild(caposbarcodescannercontainerdialoginner);\n caposbarcodescannercontainer.appendChild(caposbarcodescannercontainerdialog);\n caposbarcodescannercontainerdialoginnerclose.onclick = this.stopAndHideScanner;\n }\n /**\n * Initiates a barcode scan using the user's camera and HTML5 QR code scanner.\n * Displays the scanner UI and waits for a scan to complete or fail.\n * @param {OSBarcodeScanOptions} options Configuration options for the scan, including camera direction and UI preferences.\n * @returns {Promise<OSBarcodeScanResult>} A promise that resolves with the scan result or rejects with an error.\n */\n async scanBarcode(options) {\n this.buildScannerElement();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'block';\n return new Promise((resolve, reject) => {\n var _a, _b;\n const param = {\n facingMode: options.cameraDirection === 1 ? 'environment' : 'user',\n hasScannerButton: false,\n scanButton: options.scanButton === undefined ? false : options.scanButton,\n showScanLine: false,\n scanInstructions: options.scanInstructions ? options.scanInstructions : '',\n orientation: options.scanOrientation\n ? options.scanOrientation\n : CapacitorBarcodeScannerScanOrientation.PORTRAIT,\n showCameraSelection: ((_a = options.web) === null || _a === void 0 ? void 0 : _a.showCameraSelection) ? options.web.showCameraSelection : false,\n typeHint: options.hint === 17 ? undefined : options.hint,\n scannerFPS: ((_b = options.web) === null || _b === void 0 ? void 0 : _b.scannerFPS) ? options.web.scannerFPS : 50,\n };\n // Set up and start the scanner\n const scannerElement = document.getElementById('cap-os-barcode-scanner-container-scanner');\n if (!scannerElement) {\n throw new Error('Scanner Element is required for web');\n }\n window.OSBarcodeWebScanner = new Html5Qrcode(scannerElement.id);\n const Html5QrcodeConfig = {\n fps: param.scannerFPS,\n qrbox: scannerElement.getBoundingClientRect().width * (9 / 16) - 10,\n aspectRatio: 16 / 9,\n videoConstraints: {\n focusMode: 'continuous',\n height: { min: 576, ideal: 1920 },\n deviceId: undefined,\n facingMode: undefined,\n },\n };\n // Success and error callbacks for the scanner\n const OSBarcodeWebScannerSuccessCallback = (decodedText, _decodedResult) => {\n this.stopAndHideScanner();\n resolve({ ScanResult: decodedText });\n };\n const OSBarcodeWebScannerErrorCallback = (error) => {\n if (error.indexOf('NotFoundException') === -1) {\n this.stopAndHideScanner();\n console.error(`[Scanner Web Error] ${error}`);\n reject(error);\n }\n };\n window.OSBarcodeWebScanner.start({ facingMode: param.facingMode }, Html5QrcodeConfig, OSBarcodeWebScannerSuccessCallback, OSBarcodeWebScannerErrorCallback);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["CapacitorBarcodeScannerCameraDirection","CapacitorBarcodeScannerScanOrientation","CapacitorBarcodeScannerTypeHintALLOption","Html5QrcodeSupportedFormats","CapacitorBarcodeScannerAndroidScanningLibrary","registerPlugin","WebPlugin","Html5Qrcode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/utils.js","esm/index.js","esm/web.js"],"sourcesContent":["import { Html5QrcodeSupportedFormats } from 'html5-qrcode';\n/**\n * Enum representing the direction of the camera to be used for barcode scanning.\n */\nexport var CapacitorBarcodeScannerCameraDirection;\n(function (CapacitorBarcodeScannerCameraDirection) {\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"BACK\"] = 1] = \"BACK\";\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"FRONT\"] = 2] = \"FRONT\";\n})(CapacitorBarcodeScannerCameraDirection || (CapacitorBarcodeScannerCameraDirection = {}));\n/**\n * Enum representing the orientation of the scanner during barcode scanning.\n */\nexport var CapacitorBarcodeScannerScanOrientation;\n(function (CapacitorBarcodeScannerScanOrientation) {\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"PORTRAIT\"] = 1] = \"PORTRAIT\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"LANDSCAPE\"] = 2] = \"LANDSCAPE\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"ADAPTIVE\"] = 3] = \"ADAPTIVE\";\n})(CapacitorBarcodeScannerScanOrientation || (CapacitorBarcodeScannerScanOrientation = {}));\n/**\n * Enum representing a special option to indicate that all barcode types are supported.\n */\nexport var CapacitorBarcodeScannerTypeHintALLOption;\n(function (CapacitorBarcodeScannerTypeHintALLOption) {\n CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption[\"ALL\"] = 17] = \"ALL\";\n})(CapacitorBarcodeScannerTypeHintALLOption || (CapacitorBarcodeScannerTypeHintALLOption = {}));\n/**\n * Extends supported formats from Html5Qrcode with a special 'ALL' option,\n * indicating support for all barcode types.\n */\nexport const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, Html5QrcodeSupportedFormats), CapacitorBarcodeScannerTypeHintALLOption);\n/**\n * Enum representing the library to be used for barcode scanning on Android devices.\n */\nexport var CapacitorBarcodeScannerAndroidScanningLibrary;\n(function (CapacitorBarcodeScannerAndroidScanningLibrary) {\n CapacitorBarcodeScannerAndroidScanningLibrary[\"ZXING\"] = \"zxing\";\n CapacitorBarcodeScannerAndroidScanningLibrary[\"MLKIT\"] = \"mlkit\";\n})(CapacitorBarcodeScannerAndroidScanningLibrary || (CapacitorBarcodeScannerAndroidScanningLibrary = {}));\n//# sourceMappingURL=definitions.js.map","/**\n * Predefined CSS rules for styling barcode scanner components.\n * Each object in the array defines a CSS rule, with a selector and the CSS properties to apply.\n */\nexport const barcodeScannerCss = [\n { selector: '.scanner-container-display', css: 'display: block;' },\n {\n selector: '.scanner-dialog',\n css: 'display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4);',\n },\n {\n selector: '.scanner-dialog-inner',\n css: 'background-color: #fefefe; margin: 2% auto; padding: 20px; border: 1px solid #888; width: 96%;',\n },\n { selector: '.close-button', css: 'color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;' },\n { selector: '.close-button:hover', css: 'color: #222;' },\n { selector: '.scanner-container-full-width', css: 'width: 100%;' },\n];\n/**\n * Dynamically applies a set of CSS rules to the document.\n * If a custom style element with a specific ID does not exist, it is created and appended to the document's head.\n * Existing rules in the style element are cleared before new ones are applied.\n * This function supports both modern and older browsers by using `CSSStyleSheet.insertRule` and `textContent` respectively.\n *\n * @param {Array<{selector: string, css: string}>} cssRules - An array of objects containing CSS selectors and styles to apply.\n */\nexport function applyCss(cssRules) {\n const styleId = 'custom-style-os-cap-barcode'; // Unique identifier for the style element.\n let styleElement = document.getElementById(styleId);\n if (!styleElement) {\n // Create and append a new style element if it does not exist.\n styleElement = document.createElement('style');\n styleElement.type = 'text/css';\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n if (styleElement.sheet) {\n // Clear existing CSS rules.\n while (styleElement.sheet.cssRules.length) {\n styleElement.sheet.deleteRule(0);\n }\n // Insert new CSS rules.\n for (const { selector, css } of cssRules) {\n styleElement.sheet.insertRule(`${selector} { ${css} }`);\n }\n }\n else {\n // Fallback for older browsers using textContent.\n styleElement.textContent = '';\n for (const { selector, css } of cssRules) {\n styleElement.textContent += `${selector} { ${css} }`;\n }\n }\n}\n//# sourceMappingURL=utils.js.map","import { registerPlugin } from '@capacitor/core';\nimport { CapacitorBarcodeScannerCameraDirection, CapacitorBarcodeScannerScanOrientation, } from './definitions'; // Importing the interface for type checking.\nimport { applyCss, barcodeScannerCss } from './utils'; // Import utilities for applying CSS.\n/**\n * Registers the `OSBarcode` plugin with Capacitor.\n * For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.\n * This allows for lazy loading of the web code only when needed, optimizing overall bundle size.\n */\nconst CapacitorBarcodeScannerImpl = registerPlugin('CapacitorBarcodeScanner', {\n web: () => {\n applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.\n return import('./web').then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.\n },\n});\nclass CapacitorBarcodeScanner {\n static async scanBarcode(options) {\n options.scanInstructions = options.scanInstructions || ' '; // Ensure scanInstructions is at least a space.\n options.scanButton = options.scanButton || false; // Set scanButton to false if not provided.\n options.scanText = options.scanText || ' '; // Ensure scanText is at least a space.\n options.cameraDirection = options.cameraDirection || CapacitorBarcodeScannerCameraDirection.BACK; // Set cameraDirection to 'BACK' if not provided.\n options.scanOrientation = options.scanOrientation || CapacitorBarcodeScannerScanOrientation.ADAPTIVE; // Set scanOrientation to 'ADAPTIVE' if not provided.\n return CapacitorBarcodeScannerImpl.scanBarcode(options);\n }\n}\nexport { CapacitorBarcodeScanner }; // Export the `CapacitorBarcodeScanner` class.\nexport * from './definitions'; // Re-export all exports from the definitions file.\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Html5Qrcode } from 'html5-qrcode';\nimport { CapacitorBarcodeScannerScanOrientation } from './definitions';\n/**\n * Implements OSBarcodePlugin to provide web functionality for barcode scanning.\n */\nexport class CapacitorBarcodeScannerWeb extends WebPlugin {\n /**\n * Stops the barcode scanner and hides its UI.\n * @private\n * @returns {Promise<void>} A promise that resolves when the scanner has stopped and its UI is hidden.\n */\n async stopAndHideScanner() {\n console.log(window.OSBarcodeWebScanner);\n if (window.OSBarcodeWebScanner) {\n await window.OSBarcodeWebScanner.stop();\n window.OSBarcodeWebScanner = null;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'none';\n }\n /**\n * Builds the HTML elements necessary for the barcode scanner UI.\n * This method checks if the scanner container exists before creating it to avoid duplicates.\n * It also sets up the close button to stop and hide the scanner on click.\n * @private\n */\n buildScannerElement() {\n if (document.getElementById('cap-os-barcode-scanner-container')) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container').className = 'scanner-container-display';\n return;\n }\n // Create and configure scanner container elements\n const caposbarcodescannercontainer = document.body.appendChild(document.createElement('div'));\n caposbarcodescannercontainer.id = 'cap-os-barcode-scanner-container';\n const caposbarcodescannercontainerdialog = document.createElement('div');\n caposbarcodescannercontainerdialog.id = 'cap-os-barcode-scanner-container-dialog';\n caposbarcodescannercontainerdialog.className = 'scanner-dialog';\n // Inner dialog elements including the close button and scanner view\n const caposbarcodescannercontainerdialoginner = document.createElement('div');\n caposbarcodescannercontainerdialoginner.className = 'scanner-dialog-inner';\n const caposbarcodescannercontainerdialoginnerclose = document.createElement('span');\n caposbarcodescannercontainerdialoginnerclose.className = 'close-button';\n caposbarcodescannercontainerdialoginnerclose.innerHTML = '×';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnerclose);\n const caposbarcodescannercontainerdialoginnercontainerp = document.createElement('p');\n caposbarcodescannercontainerdialoginnercontainerp.innerHTML = ' ';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainerp);\n const caposbarcodescannercontainerdialoginnercontainer = document.createElement('div');\n caposbarcodescannercontainerdialoginnercontainer.className = 'scanner-container-full-width';\n caposbarcodescannercontainerdialoginnercontainer.id = 'cap-os-barcode-scanner-container-scanner';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainer);\n caposbarcodescannercontainerdialog.appendChild(caposbarcodescannercontainerdialoginner);\n caposbarcodescannercontainer.appendChild(caposbarcodescannercontainerdialog);\n caposbarcodescannercontainerdialoginnerclose.onclick = this.stopAndHideScanner;\n }\n /**\n * Initiates a barcode scan using the user's camera and HTML5 QR code scanner.\n * Displays the scanner UI and waits for a scan to complete or fail.\n * @param {OSBarcodeScanOptions} options Configuration options for the scan, including camera direction and UI preferences.\n * @returns {Promise<OSBarcodeScanResult>} A promise that resolves with the scan result or rejects with an error.\n */\n async scanBarcode(options) {\n this.buildScannerElement();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'block';\n return new Promise((resolve, reject) => {\n var _a, _b;\n const param = {\n facingMode: options.cameraDirection === 1 ? 'environment' : 'user',\n hasScannerButton: false,\n scanButton: options.scanButton === undefined ? false : options.scanButton,\n showScanLine: false,\n scanInstructions: options.scanInstructions ? options.scanInstructions : '',\n orientation: options.scanOrientation\n ? options.scanOrientation\n : CapacitorBarcodeScannerScanOrientation.PORTRAIT,\n showCameraSelection: ((_a = options.web) === null || _a === void 0 ? void 0 : _a.showCameraSelection) ? options.web.showCameraSelection : false,\n typeHint: options.hint === 17 ? undefined : options.hint,\n scannerFPS: ((_b = options.web) === null || _b === void 0 ? void 0 : _b.scannerFPS) ? options.web.scannerFPS : 50,\n };\n // Set up and start the scanner\n const scannerElement = document.getElementById('cap-os-barcode-scanner-container-scanner');\n if (!scannerElement) {\n throw new Error('Scanner Element is required for web');\n }\n window.OSBarcodeWebScanner = new Html5Qrcode(scannerElement.id);\n const Html5QrcodeConfig = {\n fps: param.scannerFPS,\n qrbox: scannerElement.getBoundingClientRect().width * (9 / 16) - 10,\n aspectRatio: 16 / 9,\n videoConstraints: {\n focusMode: 'continuous',\n height: { min: 576, ideal: 1920 },\n deviceId: undefined,\n facingMode: undefined,\n },\n };\n // Success and error callbacks for the scanner\n const OSBarcodeWebScannerSuccessCallback = (decodedText, _decodedResult) => {\n this.stopAndHideScanner();\n resolve({ ScanResult: decodedText });\n };\n const OSBarcodeWebScannerErrorCallback = (error) => {\n if (error.indexOf('NotFoundException') === -1) {\n this.stopAndHideScanner();\n console.error(`[Scanner Web Error] ${error}`);\n reject(error);\n }\n };\n window.OSBarcodeWebScanner.start({ facingMode: param.facingMode }, Html5QrcodeConfig, OSBarcodeWebScannerSuccessCallback, OSBarcodeWebScannerErrorCallback);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["CapacitorBarcodeScannerCameraDirection","CapacitorBarcodeScannerScanOrientation","CapacitorBarcodeScannerTypeHintALLOption","Html5QrcodeSupportedFormats","CapacitorBarcodeScannerAndroidScanningLibrary","registerPlugin","WebPlugin","Html5Qrcode"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
var capacitorOSBarcode = (function (exports, core, html5Qrcode) {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing the direction of the camera to be used for barcode scanning.
|
|
6
|
+
*/
|
|
7
|
+
exports.CapacitorBarcodeScannerCameraDirection = void 0;
|
|
8
|
+
(function (CapacitorBarcodeScannerCameraDirection) {
|
|
9
|
+
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["BACK"] = 1] = "BACK";
|
|
10
|
+
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["FRONT"] = 2] = "FRONT";
|
|
11
|
+
})(exports.CapacitorBarcodeScannerCameraDirection || (exports.CapacitorBarcodeScannerCameraDirection = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Enum representing the orientation of the scanner during barcode scanning.
|
|
14
|
+
*/
|
|
15
|
+
exports.CapacitorBarcodeScannerScanOrientation = void 0;
|
|
16
|
+
(function (CapacitorBarcodeScannerScanOrientation) {
|
|
17
|
+
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["PORTRAIT"] = 1] = "PORTRAIT";
|
|
18
|
+
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["LANDSCAPE"] = 2] = "LANDSCAPE";
|
|
19
|
+
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["ADAPTIVE"] = 3] = "ADAPTIVE";
|
|
20
|
+
})(exports.CapacitorBarcodeScannerScanOrientation || (exports.CapacitorBarcodeScannerScanOrientation = {}));
|
|
21
|
+
/**
|
|
22
|
+
* Enum representing a special option to indicate that all barcode types are supported.
|
|
23
|
+
*/
|
|
24
|
+
exports.CapacitorBarcodeScannerTypeHintALLOption = void 0;
|
|
25
|
+
(function (CapacitorBarcodeScannerTypeHintALLOption) {
|
|
26
|
+
CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption["ALL"] = 17] = "ALL";
|
|
27
|
+
})(exports.CapacitorBarcodeScannerTypeHintALLOption || (exports.CapacitorBarcodeScannerTypeHintALLOption = {}));
|
|
28
|
+
/**
|
|
29
|
+
* Extends supported formats from Html5Qrcode with a special 'ALL' option,
|
|
30
|
+
* indicating support for all barcode types.
|
|
31
|
+
*/
|
|
32
|
+
const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, html5Qrcode.Html5QrcodeSupportedFormats), exports.CapacitorBarcodeScannerTypeHintALLOption);
|
|
33
|
+
/**
|
|
34
|
+
* Enum representing the library to be used for barcode scanning on Android devices.
|
|
35
|
+
*/
|
|
36
|
+
exports.CapacitorBarcodeScannerAndroidScanningLibrary = void 0;
|
|
37
|
+
(function (CapacitorBarcodeScannerAndroidScanningLibrary) {
|
|
38
|
+
CapacitorBarcodeScannerAndroidScanningLibrary["ZXING"] = "zxing";
|
|
39
|
+
CapacitorBarcodeScannerAndroidScanningLibrary["MLKIT"] = "mlkit";
|
|
40
|
+
})(exports.CapacitorBarcodeScannerAndroidScanningLibrary || (exports.CapacitorBarcodeScannerAndroidScanningLibrary = {}));
|
|
41
|
+
|
|
4
42
|
/**
|
|
5
43
|
* Predefined CSS rules for styling barcode scanner components.
|
|
6
44
|
* Each object in the array defines a CSS rule, with a selector and the CSS properties to apply.
|
|
@@ -56,55 +94,27 @@ var capacitorOSBarcode = (function (exports, core, html5Qrcode) {
|
|
|
56
94
|
}
|
|
57
95
|
}
|
|
58
96
|
|
|
59
|
-
/**
|
|
60
|
-
* Enum representing the direction of the camera to be used for barcode scanning.
|
|
61
|
-
*/
|
|
62
|
-
exports.CapacitorBarcodeScannerCameraDirection = void 0;
|
|
63
|
-
(function (CapacitorBarcodeScannerCameraDirection) {
|
|
64
|
-
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["BACK"] = 1] = "BACK";
|
|
65
|
-
CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection["FRONT"] = 2] = "FRONT";
|
|
66
|
-
})(exports.CapacitorBarcodeScannerCameraDirection || (exports.CapacitorBarcodeScannerCameraDirection = {}));
|
|
67
|
-
/**
|
|
68
|
-
* Enum representing the orientation of the scanner during barcode scanning.
|
|
69
|
-
*/
|
|
70
|
-
exports.CapacitorBarcodeScannerScanOrientation = void 0;
|
|
71
|
-
(function (CapacitorBarcodeScannerScanOrientation) {
|
|
72
|
-
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["PORTRAIT"] = 1] = "PORTRAIT";
|
|
73
|
-
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["LANDSCAPE"] = 2] = "LANDSCAPE";
|
|
74
|
-
CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation["ADAPTIVE"] = 3] = "ADAPTIVE";
|
|
75
|
-
})(exports.CapacitorBarcodeScannerScanOrientation || (exports.CapacitorBarcodeScannerScanOrientation = {}));
|
|
76
|
-
/**
|
|
77
|
-
* Enum representing a special option to indicate that all barcode types are supported.
|
|
78
|
-
*/
|
|
79
|
-
exports.CapacitorBarcodeScannerTypeHintALLOption = void 0;
|
|
80
|
-
(function (CapacitorBarcodeScannerTypeHintALLOption) {
|
|
81
|
-
CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption["ALL"] = 17] = "ALL";
|
|
82
|
-
})(exports.CapacitorBarcodeScannerTypeHintALLOption || (exports.CapacitorBarcodeScannerTypeHintALLOption = {}));
|
|
83
|
-
/**
|
|
84
|
-
* Extends supported formats from Html5Qrcode with a special 'ALL' option,
|
|
85
|
-
* indicating support for all barcode types.
|
|
86
|
-
*/
|
|
87
|
-
const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, html5Qrcode.Html5QrcodeSupportedFormats), exports.CapacitorBarcodeScannerTypeHintALLOption);
|
|
88
|
-
/**
|
|
89
|
-
* Enum representing the library to be used for barcode scanning on Android devices.
|
|
90
|
-
*/
|
|
91
|
-
exports.CapacitorBarcodeScannerAndroidScanningLibrary = void 0;
|
|
92
|
-
(function (CapacitorBarcodeScannerAndroidScanningLibrary) {
|
|
93
|
-
CapacitorBarcodeScannerAndroidScanningLibrary["ZXING"] = "zxing";
|
|
94
|
-
CapacitorBarcodeScannerAndroidScanningLibrary["MLKIT"] = "mlkit";
|
|
95
|
-
})(exports.CapacitorBarcodeScannerAndroidScanningLibrary || (exports.CapacitorBarcodeScannerAndroidScanningLibrary = {}));
|
|
96
|
-
|
|
97
97
|
/**
|
|
98
98
|
* Registers the `OSBarcode` plugin with Capacitor.
|
|
99
99
|
* For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.
|
|
100
100
|
* This allows for lazy loading of the web code only when needed, optimizing overall bundle size.
|
|
101
101
|
*/
|
|
102
|
-
const
|
|
102
|
+
const CapacitorBarcodeScannerImpl = core.registerPlugin('CapacitorBarcodeScanner', {
|
|
103
103
|
web: () => {
|
|
104
104
|
applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.
|
|
105
105
|
return Promise.resolve().then(function () { return web; }).then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.
|
|
106
106
|
},
|
|
107
107
|
});
|
|
108
|
+
class CapacitorBarcodeScanner {
|
|
109
|
+
static async scanBarcode(options) {
|
|
110
|
+
options.scanInstructions = options.scanInstructions || ' '; // Ensure scanInstructions is at least a space.
|
|
111
|
+
options.scanButton = options.scanButton || false; // Set scanButton to false if not provided.
|
|
112
|
+
options.scanText = options.scanText || ' '; // Ensure scanText is at least a space.
|
|
113
|
+
options.cameraDirection = options.cameraDirection || exports.CapacitorBarcodeScannerCameraDirection.BACK; // Set cameraDirection to 'BACK' if not provided.
|
|
114
|
+
options.scanOrientation = options.scanOrientation || exports.CapacitorBarcodeScannerScanOrientation.ADAPTIVE; // Set scanOrientation to 'ADAPTIVE' if not provided.
|
|
115
|
+
return CapacitorBarcodeScannerImpl.scanBarcode(options);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
108
118
|
|
|
109
119
|
/**
|
|
110
120
|
* Implements OSBarcodePlugin to provide web functionality for barcode scanning.
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/utils.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["/**\n * Predefined CSS rules for styling barcode scanner components.\n * Each object in the array defines a CSS rule, with a selector and the CSS properties to apply.\n */\nexport const barcodeScannerCss = [\n { selector: '.scanner-container-display', css: 'display: block;' },\n {\n selector: '.scanner-dialog',\n css: 'display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4);',\n },\n {\n selector: '.scanner-dialog-inner',\n css: 'background-color: #fefefe; margin: 2% auto; padding: 20px; border: 1px solid #888; width: 96%;',\n },\n { selector: '.close-button', css: 'color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;' },\n { selector: '.close-button:hover', css: 'color: #222;' },\n { selector: '.scanner-container-full-width', css: 'width: 100%;' },\n];\n/**\n * Dynamically applies a set of CSS rules to the document.\n * If a custom style element with a specific ID does not exist, it is created and appended to the document's head.\n * Existing rules in the style element are cleared before new ones are applied.\n * This function supports both modern and older browsers by using `CSSStyleSheet.insertRule` and `textContent` respectively.\n *\n * @param {Array<{selector: string, css: string}>} cssRules - An array of objects containing CSS selectors and styles to apply.\n */\nexport function applyCss(cssRules) {\n const styleId = 'custom-style-os-cap-barcode'; // Unique identifier for the style element.\n let styleElement = document.getElementById(styleId);\n if (!styleElement) {\n // Create and append a new style element if it does not exist.\n styleElement = document.createElement('style');\n styleElement.type = 'text/css';\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n if (styleElement.sheet) {\n // Clear existing CSS rules.\n while (styleElement.sheet.cssRules.length) {\n styleElement.sheet.deleteRule(0);\n }\n // Insert new CSS rules.\n for (const { selector, css } of cssRules) {\n styleElement.sheet.insertRule(`${selector} { ${css} }`);\n }\n }\n else {\n // Fallback for older browsers using textContent.\n styleElement.textContent = '';\n for (const { selector, css } of cssRules) {\n styleElement.textContent += `${selector} { ${css} }`;\n }\n }\n}\n//# sourceMappingURL=utils.js.map","import { Html5QrcodeSupportedFormats } from 'html5-qrcode';\n/**\n * Enum representing the direction of the camera to be used for barcode scanning.\n */\nexport var CapacitorBarcodeScannerCameraDirection;\n(function (CapacitorBarcodeScannerCameraDirection) {\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"BACK\"] = 1] = \"BACK\";\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"FRONT\"] = 2] = \"FRONT\";\n})(CapacitorBarcodeScannerCameraDirection || (CapacitorBarcodeScannerCameraDirection = {}));\n/**\n * Enum representing the orientation of the scanner during barcode scanning.\n */\nexport var CapacitorBarcodeScannerScanOrientation;\n(function (CapacitorBarcodeScannerScanOrientation) {\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"PORTRAIT\"] = 1] = \"PORTRAIT\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"LANDSCAPE\"] = 2] = \"LANDSCAPE\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"ADAPTIVE\"] = 3] = \"ADAPTIVE\";\n})(CapacitorBarcodeScannerScanOrientation || (CapacitorBarcodeScannerScanOrientation = {}));\n/**\n * Enum representing a special option to indicate that all barcode types are supported.\n */\nexport var CapacitorBarcodeScannerTypeHintALLOption;\n(function (CapacitorBarcodeScannerTypeHintALLOption) {\n CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption[\"ALL\"] = 17] = \"ALL\";\n})(CapacitorBarcodeScannerTypeHintALLOption || (CapacitorBarcodeScannerTypeHintALLOption = {}));\n/**\n * Extends supported formats from Html5Qrcode with a special 'ALL' option,\n * indicating support for all barcode types.\n */\nexport const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, Html5QrcodeSupportedFormats), CapacitorBarcodeScannerTypeHintALLOption);\n/**\n * Enum representing the library to be used for barcode scanning on Android devices.\n */\nexport var CapacitorBarcodeScannerAndroidScanningLibrary;\n(function (CapacitorBarcodeScannerAndroidScanningLibrary) {\n CapacitorBarcodeScannerAndroidScanningLibrary[\"ZXING\"] = \"zxing\";\n CapacitorBarcodeScannerAndroidScanningLibrary[\"MLKIT\"] = \"mlkit\";\n})(CapacitorBarcodeScannerAndroidScanningLibrary || (CapacitorBarcodeScannerAndroidScanningLibrary = {}));\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nimport { applyCss, barcodeScannerCss } from './utils'; // Import utilities for applying CSS.\n/**\n * Registers the `OSBarcode` plugin with Capacitor.\n * For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.\n * This allows for lazy loading of the web code only when needed, optimizing overall bundle size.\n */\nconst CapacitorBarcodeScanner = registerPlugin('CapacitorBarcodeScanner', {\n web: () => {\n applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.\n return import('./web').then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.\n },\n});\nexport * from './definitions'; // Re-export all exports from the definitions file.\nexport { CapacitorBarcodeScanner }; // Export the OSBarcode plugin for use in Capacitor projects.\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Html5Qrcode } from 'html5-qrcode';\nimport { CapacitorBarcodeScannerScanOrientation } from './definitions';\n/**\n * Implements OSBarcodePlugin to provide web functionality for barcode scanning.\n */\nexport class CapacitorBarcodeScannerWeb extends WebPlugin {\n /**\n * Stops the barcode scanner and hides its UI.\n * @private\n * @returns {Promise<void>} A promise that resolves when the scanner has stopped and its UI is hidden.\n */\n async stopAndHideScanner() {\n console.log(window.OSBarcodeWebScanner);\n if (window.OSBarcodeWebScanner) {\n await window.OSBarcodeWebScanner.stop();\n window.OSBarcodeWebScanner = null;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'none';\n }\n /**\n * Builds the HTML elements necessary for the barcode scanner UI.\n * This method checks if the scanner container exists before creating it to avoid duplicates.\n * It also sets up the close button to stop and hide the scanner on click.\n * @private\n */\n buildScannerElement() {\n if (document.getElementById('cap-os-barcode-scanner-container')) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container').className = 'scanner-container-display';\n return;\n }\n // Create and configure scanner container elements\n const caposbarcodescannercontainer = document.body.appendChild(document.createElement('div'));\n caposbarcodescannercontainer.id = 'cap-os-barcode-scanner-container';\n const caposbarcodescannercontainerdialog = document.createElement('div');\n caposbarcodescannercontainerdialog.id = 'cap-os-barcode-scanner-container-dialog';\n caposbarcodescannercontainerdialog.className = 'scanner-dialog';\n // Inner dialog elements including the close button and scanner view\n const caposbarcodescannercontainerdialoginner = document.createElement('div');\n caposbarcodescannercontainerdialoginner.className = 'scanner-dialog-inner';\n const caposbarcodescannercontainerdialoginnerclose = document.createElement('span');\n caposbarcodescannercontainerdialoginnerclose.className = 'close-button';\n caposbarcodescannercontainerdialoginnerclose.innerHTML = '×';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnerclose);\n const caposbarcodescannercontainerdialoginnercontainerp = document.createElement('p');\n caposbarcodescannercontainerdialoginnercontainerp.innerHTML = ' ';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainerp);\n const caposbarcodescannercontainerdialoginnercontainer = document.createElement('div');\n caposbarcodescannercontainerdialoginnercontainer.className = 'scanner-container-full-width';\n caposbarcodescannercontainerdialoginnercontainer.id = 'cap-os-barcode-scanner-container-scanner';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainer);\n caposbarcodescannercontainerdialog.appendChild(caposbarcodescannercontainerdialoginner);\n caposbarcodescannercontainer.appendChild(caposbarcodescannercontainerdialog);\n caposbarcodescannercontainerdialoginnerclose.onclick = this.stopAndHideScanner;\n }\n /**\n * Initiates a barcode scan using the user's camera and HTML5 QR code scanner.\n * Displays the scanner UI and waits for a scan to complete or fail.\n * @param {OSBarcodeScanOptions} options Configuration options for the scan, including camera direction and UI preferences.\n * @returns {Promise<OSBarcodeScanResult>} A promise that resolves with the scan result or rejects with an error.\n */\n async scanBarcode(options) {\n this.buildScannerElement();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'block';\n return new Promise((resolve, reject) => {\n var _a, _b;\n const param = {\n facingMode: options.cameraDirection === 1 ? 'environment' : 'user',\n hasScannerButton: false,\n scanButton: options.scanButton === undefined ? false : options.scanButton,\n showScanLine: false,\n scanInstructions: options.scanInstructions ? options.scanInstructions : '',\n orientation: options.scanOrientation\n ? options.scanOrientation\n : CapacitorBarcodeScannerScanOrientation.PORTRAIT,\n showCameraSelection: ((_a = options.web) === null || _a === void 0 ? void 0 : _a.showCameraSelection) ? options.web.showCameraSelection : false,\n typeHint: options.hint === 17 ? undefined : options.hint,\n scannerFPS: ((_b = options.web) === null || _b === void 0 ? void 0 : _b.scannerFPS) ? options.web.scannerFPS : 50,\n };\n // Set up and start the scanner\n const scannerElement = document.getElementById('cap-os-barcode-scanner-container-scanner');\n if (!scannerElement) {\n throw new Error('Scanner Element is required for web');\n }\n window.OSBarcodeWebScanner = new Html5Qrcode(scannerElement.id);\n const Html5QrcodeConfig = {\n fps: param.scannerFPS,\n qrbox: scannerElement.getBoundingClientRect().width * (9 / 16) - 10,\n aspectRatio: 16 / 9,\n videoConstraints: {\n focusMode: 'continuous',\n height: { min: 576, ideal: 1920 },\n deviceId: undefined,\n facingMode: undefined,\n },\n };\n // Success and error callbacks for the scanner\n const OSBarcodeWebScannerSuccessCallback = (decodedText, _decodedResult) => {\n this.stopAndHideScanner();\n resolve({ ScanResult: decodedText });\n };\n const OSBarcodeWebScannerErrorCallback = (error) => {\n if (error.indexOf('NotFoundException') === -1) {\n this.stopAndHideScanner();\n console.error(`[Scanner Web Error] ${error}`);\n reject(error);\n }\n };\n window.OSBarcodeWebScanner.start({ facingMode: param.facingMode }, Html5QrcodeConfig, OSBarcodeWebScannerSuccessCallback, OSBarcodeWebScannerErrorCallback);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["CapacitorBarcodeScannerCameraDirection","CapacitorBarcodeScannerScanOrientation","CapacitorBarcodeScannerTypeHintALLOption","Html5QrcodeSupportedFormats","CapacitorBarcodeScannerAndroidScanningLibrary","registerPlugin","WebPlugin","Html5Qrcode"],"mappings":";;;IAAA;IACA;IACA;IACA;IACO,MAAM,iBAAiB,GAAG;IACjC,IAAI,EAAE,QAAQ,EAAE,4BAA4B,EAAE,GAAG,EAAE,iBAAiB,EAAE;IACtE,IAAI;IACJ,QAAQ,QAAQ,EAAE,iBAAiB;IACnC,QAAQ,GAAG,EAAE,8IAA8I;IAC3J,KAAK;IACL,IAAI;IACJ,QAAQ,QAAQ,EAAE,uBAAuB;IACzC,QAAQ,GAAG,EAAE,gGAAgG;IAC7G,KAAK;IACL,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,iFAAiF,EAAE;IACzH,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,EAAE,cAAc,EAAE;IAC5D,IAAI,EAAE,QAAQ,EAAE,+BAA+B,EAAE,GAAG,EAAE,cAAc,EAAE;IACtE,CAAC,CAAC;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACO,SAAS,QAAQ,CAAC,QAAQ,EAAE;IACnC,IAAI,MAAM,OAAO,GAAG,6BAA6B,CAAC;IAClD,IAAI,IAAI,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,IAAI,CAAC,YAAY,EAAE;IACvB;IACA,QAAQ,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACvD,QAAQ,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC;IACvC,QAAQ,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC;IAClC,QAAQ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK;IACL,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE;IAC5B;IACA,QAAQ,OAAO,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;IACnD,YAAY,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,SAAS;IACT;IACA,QAAQ,KAAK,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE;IAClD,YAAY,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,SAAS;IACT,KAAK;IACL,SAAS;IACT;IACA,QAAQ,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC;IACtC,QAAQ,KAAK,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE;IAClD,YAAY,YAAY,CAAC,WAAW,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,SAAS;IACT,KAAK;IACL;;ICpDA;IACA;IACA;AACWA,4DAAuC;IAClD,CAAC,UAAU,sCAAsC,EAAE;IACnD,IAAI,sCAAsC,CAAC,sCAAsC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;IACxG,IAAI,sCAAsC,CAAC,sCAAsC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1G,CAAC,EAAEA,8CAAsC,KAAKA,8CAAsC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5F;IACA;IACA;AACWC,4DAAuC;IAClD,CAAC,UAAU,sCAAsC,EAAE;IACnD,IAAI,sCAAsC,CAAC,sCAAsC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;IAChH,IAAI,sCAAsC,CAAC,sCAAsC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;IAClH,IAAI,sCAAsC,CAAC,sCAAsC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;IAChH,CAAC,EAAEA,8CAAsC,KAAKA,8CAAsC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5F;IACA;IACA;AACWC,8DAAyC;IACpD,CAAC,UAAU,wCAAwC,EAAE;IACrD,IAAI,wCAAwC,CAAC,wCAAwC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;IAC3G,CAAC,EAAEA,gDAAwC,KAAKA,gDAAwC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChG;IACA;IACA;IACA;AACY,UAAC,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAEC,uCAA2B,CAAC,EAAED,gDAAwC,EAAE;IACvJ;IACA;IACA;AACWE,mEAA8C;IACzD,CAAC,UAAU,6CAA6C,EAAE;IAC1D,IAAI,6CAA6C,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrE,IAAI,6CAA6C,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrE,CAAC,EAAEA,qDAA6C,KAAKA,qDAA6C,GAAG,EAAE,CAAC,CAAC;;ICnCzG;IACA;IACA;IACA;IACA;AACK,UAAC,uBAAuB,GAAGC,mBAAc,CAAC,yBAAyB,EAAE;IAC1E,IAAI,GAAG,EAAE,MAAM;IACf,QAAQ,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACpC,QAAQ,OAAO,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC/E,KAAK;IACL,CAAC;;ICTD;IACA;IACA;IACO,MAAM,0BAA0B,SAASC,cAAS,CAAC;IAC1D;IACA;IACA;IACA;IACA;IACA,IAAI,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAChD,QAAQ,IAAI,MAAM,CAAC,mBAAmB,EAAE;IACxC,YAAY,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IACpD,YAAY,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAC9C,SAAS;IACT;IACA,QAAQ,QAAQ,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAClG,KAAK;IACL;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,mBAAmB,GAAG;IAC1B,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,kCAAkC,CAAC,EAAE;IACzE;IACA,YAAY,QAAQ,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAC,SAAS,GAAG,2BAA2B,CAAC;IAChH,YAAY,OAAO;IACnB,SAAS;IACT;IACA,QAAQ,MAAM,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACtG,QAAQ,4BAA4B,CAAC,EAAE,GAAG,kCAAkC,CAAC;IAC7E,QAAQ,MAAM,kCAAkC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjF,QAAQ,kCAAkC,CAAC,EAAE,GAAG,yCAAyC,CAAC;IAC1F,QAAQ,kCAAkC,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACxE;IACA,QAAQ,MAAM,uCAAuC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtF,QAAQ,uCAAuC,CAAC,SAAS,GAAG,sBAAsB,CAAC;IACnF,QAAQ,MAAM,4CAA4C,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5F,QAAQ,4CAA4C,CAAC,SAAS,GAAG,cAAc,CAAC;IAChF,QAAQ,4CAA4C,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3E,QAAQ,uCAAuC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAC1G,QAAQ,MAAM,iDAAiD,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9F,QAAQ,iDAAiD,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC/E,QAAQ,uCAAuC,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;IAC/G,QAAQ,MAAM,gDAAgD,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/F,QAAQ,gDAAgD,CAAC,SAAS,GAAG,8BAA8B,CAAC;IACpG,QAAQ,gDAAgD,CAAC,EAAE,GAAG,0CAA0C,CAAC;IACzG,QAAQ,uCAAuC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC;IAC9G,QAAQ,kCAAkC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAChG,QAAQ,4BAA4B,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACrF,QAAQ,4CAA4C,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACvF,KAAK;IACL;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,MAAM,WAAW,CAAC,OAAO,EAAE;IAC/B,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC;IACA,QAAQ,QAAQ,CAAC,cAAc,CAAC,yCAAyC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACnG,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,YAAY,MAAM,KAAK,GAAG;IAC1B,gBAAgB,UAAU,EAAE,OAAO,CAAC,eAAe,KAAK,CAAC,GAAG,aAAa,GAAG,MAAM;IAClF,gBAAgB,gBAAgB,EAAE,KAAK;IACvC,gBAAgB,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,UAAU;IACzF,gBAAgB,YAAY,EAAE,KAAK;IACnC,gBAAgB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,EAAE;IAC1F,gBAAgB,WAAW,EAAE,OAAO,CAAC,eAAe;IACpD,sBAAsB,OAAO,CAAC,eAAe;IAC7C,sBAAsBL,8CAAsC,CAAC,QAAQ;IACrE,gBAAgB,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,KAAK;IAC/J,gBAAgB,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI;IACxE,gBAAgB,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;IACjI,aAAa,CAAC;IACd;IACA,YAAY,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;IACvG,YAAY,IAAI,CAAC,cAAc,EAAE;IACjC,gBAAgB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvE,aAAa;IACb,YAAY,MAAM,CAAC,mBAAmB,GAAG,IAAIM,uBAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC5E,YAAY,MAAM,iBAAiB,GAAG;IACtC,gBAAgB,GAAG,EAAE,KAAK,CAAC,UAAU;IACrC,gBAAgB,KAAK,EAAE,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;IACnF,gBAAgB,WAAW,EAAE,EAAE,GAAG,CAAC;IACnC,gBAAgB,gBAAgB,EAAE;IAClC,oBAAoB,SAAS,EAAE,YAAY;IAC3C,oBAAoB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;IACrD,oBAAoB,QAAQ,EAAE,SAAS;IACvC,oBAAoB,UAAU,EAAE,SAAS;IACzC,iBAAiB;IACjB,aAAa,CAAC;IACd;IACA,YAAY,MAAM,kCAAkC,GAAG,CAAC,WAAW,EAAE,cAAc,KAAK;IACxF,gBAAgB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1C,gBAAgB,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC;IACd,YAAY,MAAM,gCAAgC,GAAG,CAAC,KAAK,KAAK;IAChE,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE;IAC/D,oBAAoB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9C,oBAAoB,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,oBAAoB,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,iBAAiB;IACjB,aAAa,CAAC;IACd,YAAY,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,iBAAiB,EAAE,kCAAkC,EAAE,gCAAgC,CAAC,CAAC;IACxK,SAAS,CAAC,CAAC;IACX,KAAK;IACL;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/utils.js","esm/index.js","esm/web.js"],"sourcesContent":["import { Html5QrcodeSupportedFormats } from 'html5-qrcode';\n/**\n * Enum representing the direction of the camera to be used for barcode scanning.\n */\nexport var CapacitorBarcodeScannerCameraDirection;\n(function (CapacitorBarcodeScannerCameraDirection) {\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"BACK\"] = 1] = \"BACK\";\n CapacitorBarcodeScannerCameraDirection[CapacitorBarcodeScannerCameraDirection[\"FRONT\"] = 2] = \"FRONT\";\n})(CapacitorBarcodeScannerCameraDirection || (CapacitorBarcodeScannerCameraDirection = {}));\n/**\n * Enum representing the orientation of the scanner during barcode scanning.\n */\nexport var CapacitorBarcodeScannerScanOrientation;\n(function (CapacitorBarcodeScannerScanOrientation) {\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"PORTRAIT\"] = 1] = \"PORTRAIT\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"LANDSCAPE\"] = 2] = \"LANDSCAPE\";\n CapacitorBarcodeScannerScanOrientation[CapacitorBarcodeScannerScanOrientation[\"ADAPTIVE\"] = 3] = \"ADAPTIVE\";\n})(CapacitorBarcodeScannerScanOrientation || (CapacitorBarcodeScannerScanOrientation = {}));\n/**\n * Enum representing a special option to indicate that all barcode types are supported.\n */\nexport var CapacitorBarcodeScannerTypeHintALLOption;\n(function (CapacitorBarcodeScannerTypeHintALLOption) {\n CapacitorBarcodeScannerTypeHintALLOption[CapacitorBarcodeScannerTypeHintALLOption[\"ALL\"] = 17] = \"ALL\";\n})(CapacitorBarcodeScannerTypeHintALLOption || (CapacitorBarcodeScannerTypeHintALLOption = {}));\n/**\n * Extends supported formats from Html5Qrcode with a special 'ALL' option,\n * indicating support for all barcode types.\n */\nexport const CapacitorBarcodeScannerTypeHint = Object.assign(Object.assign({}, Html5QrcodeSupportedFormats), CapacitorBarcodeScannerTypeHintALLOption);\n/**\n * Enum representing the library to be used for barcode scanning on Android devices.\n */\nexport var CapacitorBarcodeScannerAndroidScanningLibrary;\n(function (CapacitorBarcodeScannerAndroidScanningLibrary) {\n CapacitorBarcodeScannerAndroidScanningLibrary[\"ZXING\"] = \"zxing\";\n CapacitorBarcodeScannerAndroidScanningLibrary[\"MLKIT\"] = \"mlkit\";\n})(CapacitorBarcodeScannerAndroidScanningLibrary || (CapacitorBarcodeScannerAndroidScanningLibrary = {}));\n//# sourceMappingURL=definitions.js.map","/**\n * Predefined CSS rules for styling barcode scanner components.\n * Each object in the array defines a CSS rule, with a selector and the CSS properties to apply.\n */\nexport const barcodeScannerCss = [\n { selector: '.scanner-container-display', css: 'display: block;' },\n {\n selector: '.scanner-dialog',\n css: 'display: none; position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.4);',\n },\n {\n selector: '.scanner-dialog-inner',\n css: 'background-color: #fefefe; margin: 2% auto; padding: 20px; border: 1px solid #888; width: 96%;',\n },\n { selector: '.close-button', css: 'color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;' },\n { selector: '.close-button:hover', css: 'color: #222;' },\n { selector: '.scanner-container-full-width', css: 'width: 100%;' },\n];\n/**\n * Dynamically applies a set of CSS rules to the document.\n * If a custom style element with a specific ID does not exist, it is created and appended to the document's head.\n * Existing rules in the style element are cleared before new ones are applied.\n * This function supports both modern and older browsers by using `CSSStyleSheet.insertRule` and `textContent` respectively.\n *\n * @param {Array<{selector: string, css: string}>} cssRules - An array of objects containing CSS selectors and styles to apply.\n */\nexport function applyCss(cssRules) {\n const styleId = 'custom-style-os-cap-barcode'; // Unique identifier for the style element.\n let styleElement = document.getElementById(styleId);\n if (!styleElement) {\n // Create and append a new style element if it does not exist.\n styleElement = document.createElement('style');\n styleElement.type = 'text/css';\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n if (styleElement.sheet) {\n // Clear existing CSS rules.\n while (styleElement.sheet.cssRules.length) {\n styleElement.sheet.deleteRule(0);\n }\n // Insert new CSS rules.\n for (const { selector, css } of cssRules) {\n styleElement.sheet.insertRule(`${selector} { ${css} }`);\n }\n }\n else {\n // Fallback for older browsers using textContent.\n styleElement.textContent = '';\n for (const { selector, css } of cssRules) {\n styleElement.textContent += `${selector} { ${css} }`;\n }\n }\n}\n//# sourceMappingURL=utils.js.map","import { registerPlugin } from '@capacitor/core';\nimport { CapacitorBarcodeScannerCameraDirection, CapacitorBarcodeScannerScanOrientation, } from './definitions'; // Importing the interface for type checking.\nimport { applyCss, barcodeScannerCss } from './utils'; // Import utilities for applying CSS.\n/**\n * Registers the `OSBarcode` plugin with Capacitor.\n * For web platforms, it applies necessary CSS for the barcode scanner and dynamically imports the web implementation.\n * This allows for lazy loading of the web code only when needed, optimizing overall bundle size.\n */\nconst CapacitorBarcodeScannerImpl = registerPlugin('CapacitorBarcodeScanner', {\n web: () => {\n applyCss(barcodeScannerCss); // Apply the CSS styles necessary for the web implementation of the barcode scanner.\n return import('./web').then((m) => new m.CapacitorBarcodeScannerWeb()); // Dynamically import the web implementation and instantiate it.\n },\n});\nclass CapacitorBarcodeScanner {\n static async scanBarcode(options) {\n options.scanInstructions = options.scanInstructions || ' '; // Ensure scanInstructions is at least a space.\n options.scanButton = options.scanButton || false; // Set scanButton to false if not provided.\n options.scanText = options.scanText || ' '; // Ensure scanText is at least a space.\n options.cameraDirection = options.cameraDirection || CapacitorBarcodeScannerCameraDirection.BACK; // Set cameraDirection to 'BACK' if not provided.\n options.scanOrientation = options.scanOrientation || CapacitorBarcodeScannerScanOrientation.ADAPTIVE; // Set scanOrientation to 'ADAPTIVE' if not provided.\n return CapacitorBarcodeScannerImpl.scanBarcode(options);\n }\n}\nexport { CapacitorBarcodeScanner }; // Export the `CapacitorBarcodeScanner` class.\nexport * from './definitions'; // Re-export all exports from the definitions file.\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { Html5Qrcode } from 'html5-qrcode';\nimport { CapacitorBarcodeScannerScanOrientation } from './definitions';\n/**\n * Implements OSBarcodePlugin to provide web functionality for barcode scanning.\n */\nexport class CapacitorBarcodeScannerWeb extends WebPlugin {\n /**\n * Stops the barcode scanner and hides its UI.\n * @private\n * @returns {Promise<void>} A promise that resolves when the scanner has stopped and its UI is hidden.\n */\n async stopAndHideScanner() {\n console.log(window.OSBarcodeWebScanner);\n if (window.OSBarcodeWebScanner) {\n await window.OSBarcodeWebScanner.stop();\n window.OSBarcodeWebScanner = null;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'none';\n }\n /**\n * Builds the HTML elements necessary for the barcode scanner UI.\n * This method checks if the scanner container exists before creating it to avoid duplicates.\n * It also sets up the close button to stop and hide the scanner on click.\n * @private\n */\n buildScannerElement() {\n if (document.getElementById('cap-os-barcode-scanner-container')) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container').className = 'scanner-container-display';\n return;\n }\n // Create and configure scanner container elements\n const caposbarcodescannercontainer = document.body.appendChild(document.createElement('div'));\n caposbarcodescannercontainer.id = 'cap-os-barcode-scanner-container';\n const caposbarcodescannercontainerdialog = document.createElement('div');\n caposbarcodescannercontainerdialog.id = 'cap-os-barcode-scanner-container-dialog';\n caposbarcodescannercontainerdialog.className = 'scanner-dialog';\n // Inner dialog elements including the close button and scanner view\n const caposbarcodescannercontainerdialoginner = document.createElement('div');\n caposbarcodescannercontainerdialoginner.className = 'scanner-dialog-inner';\n const caposbarcodescannercontainerdialoginnerclose = document.createElement('span');\n caposbarcodescannercontainerdialoginnerclose.className = 'close-button';\n caposbarcodescannercontainerdialoginnerclose.innerHTML = '×';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnerclose);\n const caposbarcodescannercontainerdialoginnercontainerp = document.createElement('p');\n caposbarcodescannercontainerdialoginnercontainerp.innerHTML = ' ';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainerp);\n const caposbarcodescannercontainerdialoginnercontainer = document.createElement('div');\n caposbarcodescannercontainerdialoginnercontainer.className = 'scanner-container-full-width';\n caposbarcodescannercontainerdialoginnercontainer.id = 'cap-os-barcode-scanner-container-scanner';\n caposbarcodescannercontainerdialoginner.appendChild(caposbarcodescannercontainerdialoginnercontainer);\n caposbarcodescannercontainerdialog.appendChild(caposbarcodescannercontainerdialoginner);\n caposbarcodescannercontainer.appendChild(caposbarcodescannercontainerdialog);\n caposbarcodescannercontainerdialoginnerclose.onclick = this.stopAndHideScanner;\n }\n /**\n * Initiates a barcode scan using the user's camera and HTML5 QR code scanner.\n * Displays the scanner UI and waits for a scan to complete or fail.\n * @param {OSBarcodeScanOptions} options Configuration options for the scan, including camera direction and UI preferences.\n * @returns {Promise<OSBarcodeScanResult>} A promise that resolves with the scan result or rejects with an error.\n */\n async scanBarcode(options) {\n this.buildScannerElement();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById('cap-os-barcode-scanner-container-dialog').style.display = 'block';\n return new Promise((resolve, reject) => {\n var _a, _b;\n const param = {\n facingMode: options.cameraDirection === 1 ? 'environment' : 'user',\n hasScannerButton: false,\n scanButton: options.scanButton === undefined ? false : options.scanButton,\n showScanLine: false,\n scanInstructions: options.scanInstructions ? options.scanInstructions : '',\n orientation: options.scanOrientation\n ? options.scanOrientation\n : CapacitorBarcodeScannerScanOrientation.PORTRAIT,\n showCameraSelection: ((_a = options.web) === null || _a === void 0 ? void 0 : _a.showCameraSelection) ? options.web.showCameraSelection : false,\n typeHint: options.hint === 17 ? undefined : options.hint,\n scannerFPS: ((_b = options.web) === null || _b === void 0 ? void 0 : _b.scannerFPS) ? options.web.scannerFPS : 50,\n };\n // Set up and start the scanner\n const scannerElement = document.getElementById('cap-os-barcode-scanner-container-scanner');\n if (!scannerElement) {\n throw new Error('Scanner Element is required for web');\n }\n window.OSBarcodeWebScanner = new Html5Qrcode(scannerElement.id);\n const Html5QrcodeConfig = {\n fps: param.scannerFPS,\n qrbox: scannerElement.getBoundingClientRect().width * (9 / 16) - 10,\n aspectRatio: 16 / 9,\n videoConstraints: {\n focusMode: 'continuous',\n height: { min: 576, ideal: 1920 },\n deviceId: undefined,\n facingMode: undefined,\n },\n };\n // Success and error callbacks for the scanner\n const OSBarcodeWebScannerSuccessCallback = (decodedText, _decodedResult) => {\n this.stopAndHideScanner();\n resolve({ ScanResult: decodedText });\n };\n const OSBarcodeWebScannerErrorCallback = (error) => {\n if (error.indexOf('NotFoundException') === -1) {\n this.stopAndHideScanner();\n console.error(`[Scanner Web Error] ${error}`);\n reject(error);\n }\n };\n window.OSBarcodeWebScanner.start({ facingMode: param.facingMode }, Html5QrcodeConfig, OSBarcodeWebScannerSuccessCallback, OSBarcodeWebScannerErrorCallback);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["CapacitorBarcodeScannerCameraDirection","CapacitorBarcodeScannerScanOrientation","CapacitorBarcodeScannerTypeHintALLOption","Html5QrcodeSupportedFormats","CapacitorBarcodeScannerAndroidScanningLibrary","registerPlugin","WebPlugin","Html5Qrcode"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capacitor/barcode-scanner",
|
|
3
|
-
"version": "1.0.0",
|
|
3
|
+
"version": "1.0.1-dev-20240516T195948.0",
|
|
4
4
|
"description": "Capacitor plugin using Outsystems Barcode libs",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"src": "android"
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "59d9fc5b1eb8fe65a3a1fd6d8cf361666d27154f"
|
|
84
84
|
}
|