/**
* MultiScannerElement Constants
*
* Static variables used by the MultiScannerElement
*/
/**
* MDN MediaTrackConstraints
*
* https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints
*
* Media Track Constraints.
*/
const MEDIA_TRACK_CONSTRAINTS = [
'device', // Actually is deviceId but we also allow setting by label
// 'groupId' // Unsupported.
];
/**
* Image Track Constraints.
*/
const IMAGE_TRACK_CONSTRAINTS = {
whiteBalanceMode: 'String',
exposureMode: 'String',
focusMode: 'String',
pointsOfInterest: 'Object',
exposureCompensation: 'ConstrainDouble',
colorTemperature: 'ConstrainDouble',
iso: 'ConstrainDouble',
brightness: 'ConstrainDouble',
contrast: 'ConstrainDouble',
saturation: 'ConstrainDouble',
sharpness: 'ConstrainDouble',
focusDistance: 'ConstrainDouble',
zoom: 'ConstrainDouble',
torch: 'Boolean',
};
/**
* Video Track Constraints.
*/
const VIDEO_TRACK_CONSTRAINTS = {
aspectRatio: 'ConstrainDouble',
facingMode: 'ConstrainDOMString',
frameRate: 'ConstrainDouble',
height: 'ConstrainULong',
width: 'ConstrainULong',
resizeMode: 'ConstrainDOMString',
};
/**
* Barcode Scanner Attributes.
*/
const BARCODE_SCANNER_ATTRIBUTES = [
'state',
'formats',
'web-worker',
'line-color',
'line-width',
'line-join',
'line-shadow-blur',
'line-shadow-color',
];
/**
* Supported zbar.wasm formats of scannable barcodes.
*/
const SUPPORTED_FORMATS_MAP = {
ZBAR_EAN2: 'ean_2',
ZBAR_EAN5: 'ean_5',
ZBAR_EAN8: 'ean_8',
ZBAR_UPCE: 'upc_e',
ZBAR_ISBN10: 'isbn_10',
ZBAR_UPCA: 'upc_a',
ZBAR_EAN13: 'ean_13',
ZBAR_ISBN13: 'isbn_13',
ZBAR_COMPOSITE: 'composite',
ZBAR_I25: 'itf',
ZBAR_DATABAR: 'databar',
ZBAR_DATABAR_EXP: 'databar_exp',
ZBAR_CODABAR: 'codabar',
ZBAR_CODE39: 'code_39',
ZBAR_CODE93: 'code_93',
ZBAR_CODE128: 'code_128',
ZBAR_PDF417: 'pdf417',
ZBAR_QRCODE: 'qr_code',
ZBAR_SQCODE: 'sq_code',
};
// Hex Color Regex.
const HEX_COLOR_REGEX = /^#([0-9a-f]{3}){1,2}$/i;
// Stroke Line Joins
const STROKE_LINE_JOINS = ['arcs', 'bevel', 'miter', 'miter-clip', 'round'];
export {
MEDIA_TRACK_CONSTRAINTS,
IMAGE_TRACK_CONSTRAINTS,
VIDEO_TRACK_CONSTRAINTS,
BARCODE_SCANNER_ATTRIBUTES,
SUPPORTED_FORMATS_MAP,
HEX_COLOR_REGEX,
STROKE_LINE_JOINS,
};