dealposbarcode 1.3.4 → 1.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"src_app_pages_pages_module_ts.js","mappings":"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","sources":["./src/app/models/Bill.ts","./src/app/models/Outlet.ts","./src/app/models/Product.ts","./src/app/models/Promotion.ts","./src/app/models/Tax.ts","./src/app/models/Variant.ts","./src/app/pages/form-add-bill/form-add-bill.component.ts","./src/app/pages/form-add-bill/form-add-bill.component.html","./src/app/pages/form-add-variant/form-add-variant.component.ts","./src/app/pages/form-add-variant/form-add-variant.component.html","./src/app/pages/form-settings/form-settings.component.ts","./src/app/pages/form-settings/form-settings.component.html","./src/app/pages/form-upload-variant/form-upload-variant.component.ts","./src/app/pages/form-upload-variant/form-upload-variant.component.html","./src/app/pages/list-products/list-products.component.ts","./src/app/pages/list-products/list-products.component.html","./src/app/pages/pages.component.ts","./src/app/pages/pages.component.html","./src/app/pages/pages.module.ts","./src/app/pages/print-preview/print-preview.component.ts","./src/app/pages/print-preview/print-preview.component.html","./src/app/services/barcode-service/barcode.service.ts","./src/app/services/bill-service/bill.service.ts","./src/app/services/factory-service/factory-service.service.ts","./src/app/services/outlet-service/outlet.service.ts","./src/app/services/product-service/product.service.ts","./src/app/services/product-state-service/product-state.service.ts","./src/app/shared/Constants.ts","./src/app/shared/components/autocomplete/autocomplete.component.ts","./src/app/shared/components/autocomplete/autocomplete.component.html","./src/app/shared/enums/TransactionType.enum.ts","./node_modules/jsbarcode/bin/JsBarcode.js","./node_modules/jsbarcode/bin/barcodes/Barcode.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js","./node_modules/jsbarcode/bin/barcodes/CODE128/auto.js","./node_modules/jsbarcode/bin/barcodes/CODE128/constants.js","./node_modules/jsbarcode/bin/barcodes/CODE128/index.js","./node_modules/jsbarcode/bin/barcodes/CODE39/index.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js","./node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js","./node_modules/jsbarcode/bin/barcodes/ITF/ITF.js","./node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js","./node_modules/jsbarcode/bin/barcodes/ITF/constants.js","./node_modules/jsbarcode/bin/barcodes/ITF/index.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js","./node_modules/jsbarcode/bin/barcodes/MSI/checksums.js","./node_modules/jsbarcode/bin/barcodes/MSI/index.js","./node_modules/jsbarcode/bin/barcodes/codabar/index.js","./node_modules/jsbarcode/bin/barcodes/index.js","./node_modules/jsbarcode/bin/barcodes/pharmacode/index.js","./node_modules/jsbarcode/bin/exceptions/ErrorHandler.js","./node_modules/jsbarcode/bin/exceptions/exceptions.js","./node_modules/jsbarcode/bin/help/fixOptions.js","./node_modules/jsbarcode/bin/help/getOptionsFromElement.js","./node_modules/jsbarcode/bin/help/getRenderProperties.js","./node_modules/jsbarcode/bin/help/linearizeEncodings.js","./node_modules/jsbarcode/bin/help/merge.js","./node_modules/jsbarcode/bin/help/optionsFromStrings.js","./node_modules/jsbarcode/bin/options/defaults.js","./node_modules/jsbarcode/bin/renderers/canvas.js","./node_modules/jsbarcode/bin/renderers/index.js","./node_modules/jsbarcode/bin/renderers/object.js","./node_modules/jsbarcode/bin/renderers/shared.js","./node_modules/jsbarcode/bin/renderers/svg.js","./node_modules/ngx-barcode6/__ivy_ngcc__/fesm2015/ngx-barcode6.js","./node_modules/@angular/material/fesm2020/radio.mjs"],"sourcesContent":["import { Payment } from \"./Payment\";\r\nimport { Variant } from \"./Variant\";\r\n\r\nexport class Bill {\r\n private Outlet: string;\r\n private Number: string;\r\n private Date: string;\r\n private DueDate: string;\r\n private Supplier: Object;\r\n private CreatorID: string;\r\n private Created: string;\r\n private Discount1: number;\r\n private DiscountAmount: number;\r\n private Gross: number;\r\n private DiscountTotal: number;\r\n private TaxType: string;\r\n private Tax: number;\r\n private Purchase: number;\r\n private PurchaseNTax: number;\r\n private Delivery: string;\r\n private Variants: Variant[];\r\n private Payments: Payment[];\r\n\r\n\r\n /**\r\n * Getter $Outlet\r\n * @return {string}\r\n */\r\n\tpublic get getOutlet(): string {\r\n\t\treturn this.Outlet;\r\n\t}\r\n\r\n /**\r\n * Getter $Number\r\n * @return {string}\r\n */\r\n\tpublic get getNumber(): string {\r\n\t\treturn this.Number;\r\n\t}\r\n\r\n /**\r\n * Getter $Date\r\n * @return {string}\r\n */\r\n\tpublic get getDate(): string {\r\n\t\treturn this.Date;\r\n\t}\r\n\r\n /**\r\n * Getter $DueDate\r\n * @return {string}\r\n */\r\n\tpublic get getDueDate(): string {\r\n\t\treturn this.DueDate;\r\n\t}\r\n\r\n /**\r\n * Getter $Supplier\r\n * @return {Object}\r\n */\r\n\tpublic get getSupplier(): Object {\r\n\t\treturn this.Supplier;\r\n\t}\r\n\r\n /**\r\n * Getter $CreatorID\r\n * @return {string}\r\n */\r\n\tpublic get getCreatorID(): string {\r\n\t\treturn this.CreatorID;\r\n\t}\r\n\r\n /**\r\n * Getter $Created\r\n * @return {string}\r\n */\r\n\tpublic get getCreated(): string {\r\n\t\treturn this.Created;\r\n\t}\r\n\r\n /**\r\n * Getter $Discount1\r\n * @return {number}\r\n */\r\n\tpublic get getDiscount1(): number {\r\n\t\treturn this.Discount1;\r\n\t}\r\n\r\n /**\r\n * Getter $DiscountAmount\r\n * @return {number}\r\n */\r\n\tpublic get getDiscountAmount(): number {\r\n\t\treturn this.DiscountAmount;\r\n\t}\r\n\r\n /**\r\n * Getter $Gross\r\n * @return {number}\r\n */\r\n\tpublic get getGross(): number {\r\n\t\treturn this.Gross;\r\n\t}\r\n\r\n /**\r\n * Getter $DiscountTotal\r\n * @return {number}\r\n */\r\n\tpublic get getDiscountTotal(): number {\r\n\t\treturn this.DiscountTotal;\r\n\t}\r\n\r\n /**\r\n * Getter $TaxType\r\n * @return {string}\r\n */\r\n\tpublic get getTaxType(): string {\r\n\t\treturn this.TaxType;\r\n\t}\r\n\r\n /**\r\n * Getter $Tax\r\n * @return {number}\r\n */\r\n\tpublic get getTax(): number {\r\n\t\treturn this.Tax;\r\n\t}\r\n\r\n /**\r\n * Getter $Purchase\r\n * @return {number}\r\n */\r\n\tpublic get getPurchase(): number {\r\n\t\treturn this.Purchase;\r\n\t}\r\n\r\n /**\r\n * Getter $PurchaseNTax\r\n * @return {number}\r\n */\r\n\tpublic get getPurchaseNTax(): number {\r\n\t\treturn this.PurchaseNTax;\r\n\t}\r\n\r\n /**\r\n * Getter $Delivery\r\n * @return {string}\r\n */\r\n\tpublic get getDelivery(): string {\r\n\t\treturn this.Delivery;\r\n\t}\r\n\r\n /**\r\n * Getter $Variants\r\n * @return {Variant[]}\r\n */\r\n\tpublic get getVariants(): Variant[] {\r\n\t\treturn this.Variants;\r\n\t}\r\n\r\n /**\r\n * Getter $Payments\r\n * @return {Payment[]}\r\n */\r\n\tpublic get getPayments(): Payment[] {\r\n\t\treturn this.Payments;\r\n\t}\r\n\r\n /**\r\n * Setter $Outlet\r\n * @param {string} value\r\n */\r\n\tpublic set setOutlet(value: string) {\r\n\t\tthis.Outlet = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Number\r\n * @param {string} value\r\n */\r\n\tpublic set setNumber(value: string) {\r\n\t\tthis.Number = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Date\r\n * @param {string} value\r\n */\r\n\tpublic set setDate(value: string) {\r\n\t\tthis.Date = value;\r\n\t}\r\n\r\n /**\r\n * Setter $DueDate\r\n * @param {string} value\r\n */\r\n\tpublic set setDueDate(value: string) {\r\n\t\tthis.DueDate = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Supplier\r\n * @param {Object} value\r\n */\r\n\tpublic set setSupplier(value: Object) {\r\n\t\tthis.Supplier = value;\r\n\t}\r\n\r\n /**\r\n * Setter $CreatorID\r\n * @param {string} value\r\n */\r\n\tpublic set setCreatorID(value: string) {\r\n\t\tthis.CreatorID = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Created\r\n * @param {string} value\r\n */\r\n\tpublic set setCreated(value: string) {\r\n\t\tthis.Created = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Discount1\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscount1(value: number) {\r\n\t\tthis.Discount1 = value;\r\n\t}\r\n\r\n /**\r\n * Setter $DiscountAmount\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscountAmount(value: number) {\r\n\t\tthis.DiscountAmount = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Gross\r\n * @param {number} value\r\n */\r\n\tpublic set setGross(value: number) {\r\n\t\tthis.Gross = value;\r\n\t}\r\n\r\n /**\r\n * Setter $DiscountTotal\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscountTotal(value: number) {\r\n\t\tthis.DiscountTotal = value;\r\n\t}\r\n\r\n /**\r\n * Setter $TaxType\r\n * @param {string} value\r\n */\r\n\tpublic set setTaxType(value: string) {\r\n\t\tthis.TaxType = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Tax\r\n * @param {number} value\r\n */\r\n\tpublic set setTax(value: number) {\r\n\t\tthis.Tax = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Purchase\r\n * @param {number} value\r\n */\r\n\tpublic set setPurchase(value: number) {\r\n\t\tthis.Purchase = value;\r\n\t}\r\n\r\n /**\r\n * Setter $PurchaseNTax\r\n * @param {number} value\r\n */\r\n\tpublic set setPurchaseNTax(value: number) {\r\n\t\tthis.PurchaseNTax = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Delivery\r\n * @param {string} value\r\n */\r\n\tpublic set setDelivery(value: string) {\r\n\t\tthis.Delivery = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Variants\r\n * @param {Variant[]} value\r\n */\r\n\tpublic set setVariants(value: Variant[]) {\r\n\t\tthis.Variants = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Payments\r\n * @param {Payment[]} value\r\n */\r\n\tpublic set setPayments(value: Payment[]) {\r\n\t\tthis.Payments = value;\r\n\t}\r\n\r\n}","export class Outlet {\r\n private Code: string;\r\n private Name: string;\r\n private Suspended: boolean;\r\n \r\n\r\n /**\r\n * Getter $Code\r\n * @return {string}\r\n */\r\n\tpublic get getCode(): string {\r\n\t\treturn this.Code;\r\n\t}\r\n\r\n /**\r\n * Getter $Name\r\n * @return {string}\r\n */\r\n\tpublic get getName(): string {\r\n\t\treturn this.Name;\r\n\t}\r\n\r\n /**\r\n * Getter $Suspended\r\n * @return {boolean}\r\n */\r\n\tpublic get getSuspended(): boolean {\r\n\t\treturn this.Suspended;\r\n\t}\r\n\r\n /**\r\n * Setter $Code\r\n * @param {string} value\r\n */\r\n\tpublic set setCode(value: string) {\r\n\t\tthis.Code = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Name\r\n * @param {string} value\r\n */\r\n\tpublic set setName(value: string) {\r\n\t\tthis.Name = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Suspended\r\n * @param {boolean} value\r\n */\r\n\tpublic set setSuspended(value: boolean) {\r\n\t\tthis.Suspended = value;\r\n\t}\r\n \r\n}","import { Promotion } from \"./Promotion\";\r\n\r\nexport class Product {\r\n private ID: string;\r\n private UnitPrice: number;\r\n private Code: string;\r\n private Model: string;\r\n private Name: string;\r\n private CurrencySymbol: string;\r\n private customPrice: number;\r\n private description: string;\r\n private SelectedPromotion: Promotion;\r\n\r\n\r\n /**\r\n * Getter $ID\r\n * @return {string}\r\n */\r\n\tpublic get getID(): string {\r\n\t\treturn this.ID;\r\n\t}\r\n\r\n /**\r\n * Setter $ID\r\n * @param {string} value\r\n */\r\n\tpublic set setID(value: string) {\r\n\t\tthis.ID = value;\r\n\t}\r\n\r\n /**\r\n * Getter $selectedPromotion\r\n * @return {Promotion}\r\n */\r\n\tpublic get getSelectedPromotion(): Promotion {\r\n\t\treturn this.SelectedPromotion;\r\n\t}\r\n\r\n /**\r\n * Setter $SelectedPromotion\r\n * @param {Promotion} value\r\n */\r\n\tpublic set setSelectedPromotion(value: Promotion) {\r\n\t\tthis.SelectedPromotion = value;\r\n\t}\r\n\r\n public get getDescription() {\r\n return this.description;\r\n }\r\n\r\n public set setDescription(desc: string) {\r\n this.description = desc;\r\n } \r\n\r\n\r\n /**\r\n * variable content description or code variant for generate barcode\r\n */\r\n private barcodeTitle: string;\r\n \r\n\r\n public set setBarcodeTitle(code: string) {\r\n this.barcodeTitle = code;\r\n }\r\n\r\n public get getBarcodeTitle() {\r\n return this.barcodeTitle;\r\n }\r\n \r\n\r\n set setCustomPrice(value: number) {\r\n this.customPrice = value;\r\n }\r\n\r\n get getCustomPrice() {\r\n return this.customPrice;\r\n }\r\n\r\n get getUnitPrice() {\r\n return this.UnitPrice;\r\n }\r\n\r\n set setUnitPrice(value: number) {\r\n this.UnitPrice = value;\r\n }\r\n\r\n get getCode() {\r\n return this.Code;\r\n }\r\n\r\n set setCode(value: string) {\r\n this.barcodeTitle = value;\r\n this.Code = value;\r\n }\r\n\r\n get getModel() {\r\n return this.Model;\r\n }\r\n\r\n set setModel(value: string) {\r\n this.Model = value;\r\n }\r\n\r\n get getName() {\r\n return this.Name;\r\n }\r\n\r\n set setName(value: string) {\r\n this.Name = value;\r\n }\r\n\r\n get getCurrency() {\r\n return this.CurrencySymbol;\r\n }\r\n\r\n set setCurrency(value: string) {\r\n this.CurrencySymbol = value;\r\n }\r\n}","export class Promotion {\r\n private ID: string;\r\n private Discount: number;\r\n private ExtraCost: number;\r\n private PromotionID: string;\r\n private Name: string;\r\n private UnitPrice: number;\r\n\r\n\r\n /**\r\n * Getter $ID\r\n * @return {string}\r\n */\r\n\tpublic get getID(): string {\r\n\t\treturn this.ID;\r\n\t}\r\n\r\n /**\r\n * Setter $ID\r\n * @param {string} value\r\n */\r\n\tpublic set setID(value: string) {\r\n\t\tthis.ID = value;\r\n\t}\r\n\r\n /**\r\n * Getter $Name\r\n * @return {string}\r\n */\r\n\tpublic get getName(): string {\r\n\t\treturn this.Name;\r\n\t}\r\n\r\n /**\r\n * Setter $Name\r\n * @param {string} value\r\n */\r\n\tpublic set setName(value: string) {\r\n\t\tthis.Name = value;\r\n\t}\r\n\r\n /**\r\n * Getter $Discount\r\n * @return {number}\r\n */\r\n\tpublic get getDiscount(): number {\r\n\t\treturn this.Discount;\r\n\t}\r\n\r\n /**\r\n * Getter $ExtraCost\r\n * @return {number}\r\n */\r\n\tpublic get getExtraCost(): number {\r\n\t\treturn this.ExtraCost;\r\n\t}\r\n\r\n /**\r\n * Getter $PromotionID\r\n * @return {string}\r\n */\r\n\tpublic get getPromotionID(): string {\r\n\t\treturn this.PromotionID;\r\n\t}\r\n\r\n /**\r\n * Getter $UnitPrice\r\n * @return {number}\r\n */\r\n\tpublic get getUnitPrice(): number {\r\n\t\treturn this.UnitPrice;\r\n\t}\r\n\r\n /**\r\n * Setter $Discount\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscount(value: number) {\r\n\t\tthis.Discount = value;\r\n\t}\r\n\r\n /**\r\n * Setter $ExtraCost\r\n * @param {number} value\r\n */\r\n\tpublic set setExtraCost(value: number) {\r\n\t\tthis.ExtraCost = value;\r\n\t}\r\n\r\n /**\r\n * Setter $PromotionID\r\n * @param {string} value\r\n */\r\n\tpublic set setPromotionID(value: string) {\r\n\t\tthis.PromotionID = value;\r\n\t}\r\n\r\n /**\r\n * Setter $UnitPrice\r\n * @param {number} value\r\n */\r\n\tpublic set setUnitPrice(value: number) {\r\n\t\tthis.UnitPrice = value;\r\n\t}\r\n\r\n}","export class Tax {\r\n private AccountID: string;\r\n private CalculationTypeID: number;\r\n private ID: string;\r\n private Index: number;\r\n private Label: string;\r\n private MultipleTaxTypeID: number;\r\n private Note: string;\r\n private PrintVisible: boolean;\r\n private Rate: number;\r\n private TypeID: number;\r\n private Name: string;\r\n private Type: string;\r\n\r\n constructor(tax: Tax) {\r\n if (tax) {\r\n this.AccountID = tax['AccountID'];\r\n this.CalculationTypeID = tax['CalculationTypeID'];\r\n this.ID = tax['ID'];\r\n this.Index = tax['Index'];\r\n this.Label = tax['Label'];\r\n this.MultipleTaxTypeID = tax['MultipleTaxTypeID'];\r\n this.Note = tax['Note'];\r\n this.PrintVisible = tax['PrintVisible'];\r\n this.Rate = tax['Rate'];\r\n this.TypeID = tax['TypeID'];\r\n this.Name = tax['Name'];\r\n this.Type = tax['Type'];\r\n }\r\n }\r\n\r\n get getID() {\r\n return this.ID;\r\n }\r\n\r\n get getType() {\r\n return this.Type;\r\n }\r\n\r\n get getName() {\r\n return this.Name;\r\n }\r\n\r\n get getAccountID() {\r\n return this.AccountID;\r\n }\r\n\r\n set setAccountId(val: string) {\r\n this.AccountID = val;\r\n }\r\n\r\n get getCalculationTypeID() {\r\n return this.CalculationTypeID;\r\n }\r\n\r\n set setCalculationID(val: number) {\r\n this.CalculationTypeID = val;\r\n }\r\n\r\n get getRate() {\r\n return this.Rate;\r\n }\r\n\r\n set setRate(val: number) {\r\n this.Rate = val;\r\n }\r\n\r\n get getLabel() {\r\n return this.Label;\r\n }\r\n}","import { Product } from \"./Product\";\r\n\r\nexport class Variant extends Product {\r\n private VariantID: string;\r\n private Quantity: number;\r\n private Price: number;\r\n private Discount: number;\r\n private NettPrice: number;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Getter $VariantID\r\n * @return {string}\r\n */\r\n\tpublic get getVariantID(): string {\r\n\t\treturn this.VariantID;\r\n\t}\r\n\r\n /**\r\n * Getter $Quantity\r\n * @return {number}\r\n */\r\n\tpublic get getQuantity(): number {\r\n\t\treturn this.Quantity;\r\n\t}\r\n\r\n /**\r\n * Getter $Price\r\n * @return {number}\r\n */\r\n\tpublic get getPrice(): number {\r\n\t\treturn this.Price;\r\n\t}\r\n\r\n /**\r\n * Getter $Discount\r\n * @return {number}\r\n */\r\n\tpublic get getDiscount(): number {\r\n\t\treturn this.Discount;\r\n\t}\r\n\r\n /**\r\n * Getter $NettPrice\r\n * @return {number}\r\n */\r\n\tpublic get getNettPrice(): number {\r\n\t\treturn this.NettPrice;\r\n\t}\r\n\r\n /**\r\n * Setter $VariantID\r\n * @param {string} value\r\n */\r\n\tpublic set setVariantID(value: string) {\r\n\t\tthis.VariantID = value;\r\n\t}\r\n\r\n\r\n /**\r\n * Setter $Quantity\r\n * @param {number} value\r\n */\r\n\tpublic set setQuantity(value: number) {\r\n\t\tthis.Quantity = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Price\r\n * @param {number} value\r\n */\r\n\tpublic set setPrice(value: number) {\r\n\t\tthis.Price = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Discount\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscount(value: number) {\r\n\t\tthis.Discount = value;\r\n\t}\r\n\r\n /**\r\n * Setter $NettPrice\r\n * @param {number} value\r\n */\r\n\tpublic set setNettPrice(value: number) {\r\n\t\tthis.NettPrice = value;\r\n\t}\r\n\r\n}","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\nimport { TransactionType } from 'src/app/shared/enums/TransactionType.enum';\r\n\r\n@Component({\r\n selector: 'app-form-add-bill',\r\n templateUrl: './form-add-bill.component.html',\r\n styleUrls: ['./form-add-bill.component.scss']\r\n})\r\nexport class FormAddBillComponent implements OnInit {\r\n modalConfig: ModalMaterialConfig;\r\n outlets: Outlet[];\r\n\r\n selectedOutlet: Outlet;\r\n poNumber: string;\r\n transactionTypes: {title: string, type: TransactionType}[];\r\n\r\n selectedTransactionType: TransactionType;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: { outlets: Outlet[] },\r\n private dialogRef: MatDialogRef<{}>\r\n ) {\r\n this.outlets = data.outlets;\r\n }\r\n \r\n ngOnInit() {\r\n this.initModalConfig();\r\n this.initTransactionType();\r\n }\r\n\r\n initModalConfig() {\r\n this.modalConfig = new ModalMaterialConfig();\r\n this.modalConfig.title = \"Choose your transaction\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n initTransactionType() {\r\n this.transactionTypes = [\r\n { title: 'Supplier Bill', type: TransactionType.SUPPLIER_BILL },\r\n { title: 'Outlet Delivery', type: TransactionType.OUTLET_DELIVERY }\r\n ];\r\n }\r\n\r\n onOk() {\r\n if (this.selectedOutlet && this.poNumber) {\r\n let savingData = {\r\n Outlet: this.selectedOutlet.getName,\r\n Number: this.poNumber,\r\n Type: this.selectedTransactionType\r\n }\r\n this.dialogRef.close(savingData);\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n <content>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 mt-3\" align=\"center\">\r\n <table style=\"position: relative; width: 100%;\">\r\n <tbody>\r\n <tr class=\"w-100\">\r\n <td>\r\n <ng-select class=\"sticky-top tall\" [items]=\"transactionTypes\" [(ngModel)]=\"selectedTransactionType\"\r\n bindLabel=\"title\" bindValue=\"type\" [clearable]=\"false\" [appendTo]=\"'body'\"\r\n placeholder=\"Choose Type\">\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td class=\"pt-6\">\r\n <ng-select class=\"sticky-top tall\" [items]=\"outlets\" [(ngModel)]=\"selectedOutlet\"\r\n bindLabel=\"Name\" [clearable]=\"false\" [appendTo]=\"'body'\"\r\n placeholder=\"Choose Outlet\">\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td class=\"pt-6\">\r\n <div class=\"form-label-group\">\r\n <input [(ngModel)]=\"poNumber\" min=\"1\" id=\"qty\" type=\"text\" class=\"form-control\"\r\n placeholder=\"Invoice Number\" aria-label=\"width\">\r\n <label for=\"qty\">Invoice Number</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </content>\r\n</modal-material>","import { DecimalPipe } from '@angular/common';\r\nimport { Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil, tap } from 'rxjs/operators';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Promotion } from 'src/app/models/Promotion';\r\nimport { AuthenticationService } from 'src/app/services/authentication-service/authentication.service';\r\nimport { BarcodeService } from 'src/app/services/barcode-service/barcode.service';\r\nimport { ProductService } from 'src/app/services/product-service/product.service';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\nimport { FormVariantResponse } from './form-variant-response';\r\n\r\n@Component({\r\n selector: 'app-form-add-variant',\r\n templateUrl: './form-add-variant.component.html',\r\n styleUrls: ['./form-add-variant.component.scss'],\r\n providers: [DecimalPipe]\r\n})\r\nexport class FormAddVariantComponent implements OnInit, OnDestroy {\r\n public modalConfig: ModalMaterialConfig = new ModalMaterialConfig();\r\n\r\n public qty: number;\r\n\r\n public variantName: string = '';\r\n\r\n public paperFormat: PaperFormat;\r\n\r\n private destroy$: Subject<boolean>;\r\n\r\n public customPrice: number;\r\n\r\n public product: Product;\r\n\r\n public promotions: Promotion[];\r\n\r\n public hasProductEdit = true;\r\n\r\n public hasPromotion = false;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<FormVariantResponse>,\r\n private barcodeService: BarcodeService,\r\n private productService: ProductService,\r\n private authenticationService: AuthenticationService,\r\n @Inject(MAT_DIALOG_DATA) public data:\r\n {\r\n variantName: string,\r\n variantId: string,\r\n qty: number,\r\n customPrice: number,\r\n promotion: Promotion\r\n }\r\n ) {\r\n this.destroy$ = new Subject();\r\n this.variantName = data.variantName;\r\n this.qty = data.qty;\r\n this.customPrice = data.customPrice;\r\n }\r\n\r\n ngOnInit() {\r\n this.getBarcodeConfig();\r\n this.initModalConfig();\r\n this.initProductUpdate();\r\n this.initRoleProductEdit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n private initRoleProductEdit() {\r\n let roles = this.authenticationService.getRoles();\r\n this.hasProductEdit = (roles.findIndex(role => role == \"ProdE\") !== -1);\r\n }\r\n\r\n private initProductUpdate() {\r\n if (Constants.IsNotEmpty(this.data.variantId)) {\r\n this.getProductById(this.data.variantId)\r\n .subscribe(product => {\r\n this.product.setSelectedPromotion = this.data.promotion;\r\n this.hasPromotion = Constants.IsNotEmpty(this.data.promotion);\r\n })\r\n }\r\n }\r\n\r\n public getBarcodeConfig() {\r\n this.barcodeService.getBarcodeConfigState()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(paperFormat => {\r\n if (paperFormat) {\r\n this.paperFormat = paperFormat;\r\n }\r\n })\r\n }\r\n\r\n public initModalConfig() {\r\n this.modalConfig.title = \"Add New Product Barcode?\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n public onSelectProduct(productID: string) {\r\n this.getProductById(productID)\r\n .subscribe(product => {\r\n this.customPrice = product.getUnitPrice;\r\n this.hasPromotion = false;\r\n this.product.setSelectedPromotion = null;\r\n })\r\n }\r\n\r\n public getProductById(productID: string): Observable<Product> {\r\n return this.productService.getProductById(productID)\r\n .pipe(tap(product => {\r\n this.product = product;\r\n this.getPromotionByProductID(productID);\r\n }))\r\n }\r\n\r\n private getPromotionByProductID(productID: string) {\r\n this.productService.getPromotionByProducID(productID)\r\n .subscribe(promotions => {\r\n this.promotions = promotions;\r\n })\r\n }\r\n\r\n public onCustomPriceChange(value: number) {\r\n this.customPrice = value;\r\n }\r\n\r\n public onSelectPromotion(selectedPromo: Promotion) {\r\n if (selectedPromo) {\r\n this.product.setSelectedPromotion = this.promotions.find(promo => promo.getName == selectedPromo?.getName);\r\n this.customPrice = this.product.getUnitPrice;\r\n this.hasPromotion = Constants.IsNotEmpty(this.product.getSelectedPromotion);\r\n }\r\n else {\r\n this.hasPromotion = false;\r\n this.product.setSelectedPromotion = null;\r\n }\r\n }\r\n\r\n public onOk() {\r\n if ((this.qty && this.qty > 0) && this.product) {\r\n // close dialog on ok\r\n let formResponse: FormVariantResponse = {\r\n customPrice: this.customPrice,\r\n product: this.product,\r\n quantity: this.qty\r\n }\r\n this.dialogRef.close(formResponse);\r\n }\r\n }\r\n\r\n public onCancel() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n <content>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 mt-3\" align=\"center\">\r\n <table style=\"position: relative; width: 100%;\">\r\n <tbody>\r\n <tr class=\"w-100\">\r\n <td>\r\n <autocomplete placeholder=\"Name\" [display]=\"variantName\" (onSelect)=\"onSelectProduct($event)\"\r\n url=\"/API/AC/GetVariantSuggestionByCodeNName\"></autocomplete>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td>\r\n <div class=\"form-label-group\">\r\n <input [(ngModel)]=\"qty\" id=\"qty\" type=\"text\" class=\"form-control\"\r\n placeholder=\"Quantity\" aria-label=\"width\" autoNum>\r\n <label for=\"qty\">Quantity</label>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td class=\"pb-9\">\r\n <ng-select class=\"sticky-top tall\" [items]=\"promotions\" [ngModel]=\"product?.getSelectedPromotion?.getPromotionID\"\r\n bindLabel=\"Name\" bindValue=\"PromotionID\" appendTo=\"body\" placeholder=\"Select Promotion Price\" (change)=\"onSelectPromotion($event)\">\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td>\r\n <div class=\"form-label-group\">\r\n <input [ngModel]=\"customPrice\" (ngModelChange)=\"onCustomPriceChange($event)\" class=\"form-control\"\r\n placeholder=\"Price\" aria-label=\"width\" autoNum [readonly]=\"hasPromotion || !hasProductEdit\">\r\n <label for=\"price\">Price</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </content>\r\n</modal-material>","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\n\r\n@Component({\r\n selector: 'app-form-settings',\r\n templateUrl: './form-settings.component.html',\r\n styleUrls: ['./form-settings.component.scss']\r\n})\r\nexport class FormSettingsComponent implements OnInit {\r\n @Output() event: EventEmitter<any> = new EventEmitter();\r\n modalConfig: ModalMaterialConfig = new ModalMaterialConfig();\r\n public taxOptions = [];\r\n public taxs: Tax[];\r\n public taxOptionSelected;\r\n public taxSelected: Tax;\r\n\r\n public paperWidth: number = 0;\r\n public marginTop: number = 0;\r\n public marginLeft: number = 0;\r\n public stickerWidth: number = 0;\r\n public stickerHeight: number = 0;\r\n public barcodeHeight: number = 0;\r\n public spacingColumn: number = 0;\r\n public spacingRow: number = 0;\r\n\r\n public barcode: boolean = true;\r\n public code: boolean = true;\r\n public price: boolean = true;\r\n public name: boolean = true;\r\n public move: boolean = true;\r\n \r\n public removeDefault: boolean = true; //tidak ada di format\r\n public desc: boolean = true;\r\n public priceTax: boolean = true;\r\n public fontSize: number = 0;\r\n public namePrefix: string = \"\";\r\n public maxChar: number = 0;\r\n public publiclineHeight: number = 0;\r\n public lineHeight: number;\r\n public paperFormat: PaperFormat | undefined;\r\n public authTax: boolean;\r\n public storeName: string;\r\n public currencySymbol: string;\r\n public promotionPriceLabel: string;\r\n public basicPriceLabel: string;\r\n\r\n public activeTab: string\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<PaperFormat>,\r\n @Inject(MAT_DIALOG_DATA) public data: {paperFormat: PaperFormat, taxs: Tax[], authTax: boolean}\r\n ) {\r\n this.paperFormat = JSON.parse(JSON.stringify(data.paperFormat));\r\n this.taxs = data.taxs;\r\n this.authTax = data.authTax;\r\n this.initTaxOptions();\r\n this.activeTab = 'paper'\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initModalConfig();\r\n this.initFormValue();\r\n if (this.authTax) {\r\n this.initTaxOptionSelected();\r\n }\r\n }\r\n\r\n initTaxOptions() {\r\n this.taxOptions = [];\r\n this.taxs.forEach((tax, i) => {\r\n this.taxOptions = [...this.taxOptions,\r\n {\r\n id: i+1,\r\n name: tax.getName,\r\n ID: tax.getID\r\n }\r\n ]\r\n });\r\n }\r\n\r\n initTaxOptionSelected() {\r\n if (this.taxSelected) {\r\n this.taxOptionSelected = this.taxOptions.find(val => {\r\n return val.ID === this.taxSelected['ID'];\r\n });\r\n }\r\n }\r\n\r\n onSelectTaxType() {\r\n this.taxSelected = this.taxs.find(tax => {\r\n return tax.getID === this.taxOptionSelected.ID;\r\n });\r\n }\r\n\r\n initModalConfig() {\r\n this.modalConfig.title = \"Sticker Configuration\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n onOk() {\r\n this.setPaperFormat();\r\n this.dialogRef.close(this.paperFormat);\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n initFormValue() {\r\n if (this.paperFormat) {\r\n this.barcodeHeight = this.paperFormat.BarcodeHeight;\r\n this.paperWidth = this.paperFormat.PaperWidth;\r\n this.marginTop = this.paperFormat.MarginTop;\r\n this.marginLeft = this.paperFormat.MarginLeft;\r\n this.stickerWidth = this.paperFormat.StickerWidth;\r\n this.stickerHeight = this.paperFormat.StickerHeight;\r\n this.barcodeHeight = this.paperFormat.BarcodeHeight;\r\n this.spacingColumn = this.paperFormat.ColumnSpacing;\r\n this.spacingRow = this.paperFormat.RowSpacing;\r\n this.barcode = this.paperFormat.BarcodeVisible;\r\n this.code = this.paperFormat.CodeVisible;\r\n this.price = this.paperFormat.PriceVisible;\r\n this.name = this.paperFormat.NameVisible;\r\n this.move = this.paperFormat.MoveProductNameOnTop;\r\n this.desc = this.paperFormat.DescriptionAsCode;\r\n this.fontSize = this.paperFormat.ProductNameFontSize;\r\n this.namePrefix = this.paperFormat.ProductNamePrefix;\r\n this.maxChar = this.paperFormat.ProductNameMaxLength;\r\n this.lineHeight = this.paperFormat.LineHeight;\r\n this.priceTax = this.paperFormat.PriceWithTax;\r\n this.taxSelected = this.paperFormat.TaxType;\r\n this.storeName = this.paperFormat.StoreName;\r\n this.currencySymbol = this.paperFormat.CurrencySymbol;\r\n this.promotionPriceLabel = this.paperFormat.PromotionPriceLabel;\r\n this.basicPriceLabel = this.paperFormat.BasicPriceLabel;\r\n }\r\n }\r\n \r\n setPaperFormat() {\r\n if (this.paperFormat) {\r\n this.checkPriceWithTax();\r\n this.paperFormat.BarcodeHeight = this.barcodeHeight;\r\n this.paperFormat.PaperWidth = this.paperWidth;\r\n this.paperFormat.MarginTop = this.marginTop;\r\n this.paperFormat.MarginLeft = this.marginLeft;\r\n this.paperFormat.StickerWidth = this.stickerWidth;\r\n this.paperFormat.StickerHeight = this.stickerHeight;\r\n this.paperFormat.BarcodeHeight = this.barcodeHeight;\r\n this.paperFormat.ColumnSpacing = this.spacingColumn;\r\n this.paperFormat.RowSpacing = this.spacingRow;\r\n this.paperFormat.BarcodeVisible = this.barcode;\r\n this.paperFormat.MoveProductNameOnTop = this.move;\r\n this.paperFormat.CodeVisible = this.code;\r\n this.paperFormat.PriceVisible = this.price;\r\n this.paperFormat.NameVisible = this.name;\r\n this.paperFormat.DescriptionAsCode = this.desc;\r\n this.paperFormat.ProductNameFontSize = this.fontSize;\r\n this.paperFormat.ProductNamePrefix = this.namePrefix;\r\n this.paperFormat.ProductNameMaxLength = this.maxChar;\r\n this.paperFormat.LineHeight = this.lineHeight;\r\n this.paperFormat.PriceWithTax = this.priceTax;\r\n this.paperFormat.TaxType = this.taxSelected;\r\n this.paperFormat.StoreName = this.storeName;\r\n this.paperFormat.CurrencySymbol = this.currencySymbol;\r\n this.paperFormat.PromotionPriceLabel = this.promotionPriceLabel;\r\n this.paperFormat.BasicPriceLabel = this.basicPriceLabel;\r\n }\r\n }\r\n\r\n private checkPriceWithTax() {\r\n if (!this.priceTax) {\r\n this.taxSelected = this.taxs.find(tax => tax.getLabel == \"No Tax\");\r\n }\r\n }\r\n\r\n dataTarget(activeTab){\r\n this.activeTab = activeTab;\r\n }\r\n\r\n}\r\n","<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n\t<content>\r\n\t\t<div container>\r\n\t\t\t<ul class=\"nav nav-tabs\" id=\"myTab\" #tabs role=\"tablist\">\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active':activeTab === 'paper' }\" (click)=\"dataTarget('paper')\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\">Paper</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'spacing' }\" id=\"spacing-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#spacing'\" role=\"tab\" (click)=\"dataTarget('spacing')\"\r\n\t\t\t\t\t\taria-selected=\"true\">Spacing</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'sticker-content' }\" id=\"dua-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#sticker-content'\" role=\"tab\"\r\n\t\t\t\t\t\t(click)=\"dataTarget('sticker-content')\" aria-selected=\"true\">Sticker Content</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'price' }\" id=\"price-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#price'\" role=\"tab\" (click)=\"dataTarget('price')\"\r\n\t\t\t\t\t\taria-selected=\"true\">Price</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'advanced' }\" id=\"advanced-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#advanced'\" role=\"tab\" (click)=\"dataTarget('advanced')\"\r\n\t\t\t\t\t\taria-selected=\"true\">Advanced</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'promotionLabel' }\" id=\"promotionLabel-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#promotionLabel'\" role=\"tab\"\r\n\t\t\t\t\t\t(click)=\"dataTarget('promotionLabel')\" aria-selected=\"true\">Label</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t\t<div class=\"tab-content border bg-white\">\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"paper\" [ngClass]=\"{ 'active': activeTab === 'paper' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Paper Width</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"paperWidth\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The width of the paper</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Sticker Width</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"stickerWidth\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The width of the sticker</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Sticker Height</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"stickerHeight\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The height of the sticker</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"spacing\" [ngClass]=\"{ 'active': activeTab === 'spacing' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Left Indent</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"marginLeft\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels appended before the first COLUMN</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Top Indent</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"marginTop\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels appended before the first ROW</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Row Spacing</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"spacingRow\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels between each ROW</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Column Spacing</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"spacingColumn\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels between each COLUMN</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"sticker-content\"\r\n\t\t\t\t\t[ngClass]=\"{ 'active': activeTab === 'sticker-content' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Barcode Height</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"barcodeHeight\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The height of the generated barcode in pixels</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Font Size</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"fontSize\" type=\"number\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Change all font size (include price)</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Barcode</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"barcode = false;\" [checked]=\"!barcode\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"barcode = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"barcode\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether barcode is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Code</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"code = false;\" [checked]=\"!code\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"code = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"code\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether variant code is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Price</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"price = false;\" [checked]=\"!price\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"price = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"price\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether variant price is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Name</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"name = false;\" [checked]=\"!name\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"name = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"name\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether variant name is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Move Product Name</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"form-check form-check-inline\">\r\n\t\t\t\t\t\t\t\t\t<input (change)=\"move = false;\" [checked]=\"!move\" class=\"form-check-input\"\r\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\" name=\"move\" id=\"inlineRadio1\" value=\"option1\">\r\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"inlineRadio1\">No</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"form-check form-check-inline\">\r\n\t\t\t\t\t\t\t\t\t<input (change)=\"move = true;\" [checked]=\"move\" class=\"form-check-input\"\r\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\" name=\"move\" id=\"inlineRadio2\" value=\"option2\">\r\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"inlineRadio2\">Yes</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>Whether move variant name below variant code or below variant price</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"price\" [ngClass]=\"{ 'active': activeTab === 'price' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Price with Tax</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"priceTax = false;\" [checked]=\"!priceTax\">\r\n\t\t\t\t\t\t\t\t\t\tNo</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"priceTax = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"priceTax\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Tax is added to the product base price {{ authTax }}</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr *ngIf=\"(priceTax == true) && (authTax == true)\">\r\n\t\t\t\t\t\t\t<td>Selected Tax</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<ng-select class=\"sticky-top\" appendTo=\"body\" [items]=\"taxOptions\" [(ngModel)]=\"taxOptionSelected\"\r\n\t\t\t\t\t\t\t\t\tbindLabel=\"name\" (change)=\"onSelectTaxType()\" [clearable]=\"false\"\r\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select Column\">\r\n\t\t\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Applied Tax ex: 100 + 10% = 110</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Currency</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"currencySymbol\" type=\"text\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The default currency</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"advanced\" [ngClass]=\"{ 'active': activeTab === 'advanced' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Max Character</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"maxChar\" type=\"number\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The max character of the product name</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Name Prefix</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"namePrefix\" type=\"text\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>A word, letter, or number placed before product name</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Store Name</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"storeName\" type=\"text\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The name of the store</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Use description as code</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"desc = false;\" [checked]=\"!desc\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"desc = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"desc\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Copy product description into Product Code</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Remove \"Default\"</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"removeDefault = false;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"!removeDefault\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"removeDefault = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"removeDefault\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Remove \"Default\" Label from product name</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"promotionLabel\" [ngClass]=\"{ 'active': activeTab === 'promotionLabel' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Normal Price</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" [(ngModel)]=\"basicPriceLabel\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Custom label normal price</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Promotion Price</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" [(ngModel)]=\"promotionPriceLabel\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Custom label promotion price</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</content>\r\n</modal-material>","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\n\r\n@Component({\r\n selector: 'app-form-upload-variant',\r\n templateUrl: './form-upload-variant.component.html',\r\n styleUrls: ['./form-upload-variant.component.scss']\r\n})\r\nexport class FormUploadVariantComponent implements OnInit {\r\n @Output() event: EventEmitter<any> = new EventEmitter();\r\n public modalConfig: ModalMaterialConfig = new ModalMaterialConfig();\r\n public files: FileList;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<FormUploadVariantComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initModalConfig();\r\n }\r\n\r\n initModalConfig() {\r\n this.modalConfig.title = \"Upload New Product Barcode?\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n onOk() {\r\n this.dialogRef.close(this.files);\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n onUploadFile(event) {\r\n if (event) {\r\n this.files = event['target']['files'];\r\n }\r\n }\r\n}\r\n","\r\n<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n <content>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <a href=\"//res.cloudinary.com/pos/raw/upload/POS/CSV/Barcode_DealPOS.csv\" style=\"font-size: 12px;\">Download Sample CSV</a>\r\n <table>\r\n <tbody>\r\n <tr>\r\n <th class=\"value-title\">CSV File</th>\r\n <td>:</td>\r\n <td>\r\n <input type=\"file\" (change)=\"onUploadFile($event)\" aria-label=\"upload\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </content>\r\n</modal-material>","import { Component, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Variant } from 'src/app/models/Variant';\r\nimport { BillService } from 'src/app/services/bill-service/bill.service';\r\nimport { OutletService } from 'src/app/services/outlet-service/outlet.service';\r\nimport { ProductService } from 'src/app/services/product-service/product.service';\r\nimport { ProductStateService } from 'src/app/services/product-state-service/product-state.service';\r\nimport { QueryParamService } from 'src/app/services/query-param-service/query-param.service';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { TransactionType } from 'src/app/shared/enums/TransactionType.enum';\r\nimport { FormAddBillComponent } from '../form-add-bill/form-add-bill.component';\r\nimport { FormAddVariantComponent } from '../form-add-variant/form-add-variant.component';\r\nimport { FormVariantResponse } from '../form-add-variant/form-variant-response';\r\nimport { FormUploadVariantComponent } from '../form-upload-variant/form-upload-variant.component';\r\n\r\ninterface ProductGroup {\r\n VariantID: string;\r\n Quantity: number;\r\n Variants: Product[]\r\n}\r\n\r\n@Component({\r\n selector: 'app-list-products',\r\n templateUrl: './list-products.component.html',\r\n styleUrls: ['./list-products.component.scss']\r\n})\r\nexport class ListProductsComponent implements OnDestroy {\r\n private destroy$: Subject<boolean>;\r\n public productGroups: ProductGroup[];\r\n private productSource: Product[];\r\n public stickerTotal: number;\r\n public customPrice: number;\r\n public outlets: Outlet[];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private productStateService: ProductStateService,\r\n private productService: ProductService,\r\n private toastService: ToastrService,\r\n private queryParamService: QueryParamService,\r\n private outletService: OutletService,\r\n private billService: BillService\r\n ) {\r\n this.destroy$ = new Subject();\r\n this.stickerTotal = 0;\r\n this.productGroups = [];\r\n this.productSource = [];\r\n this.getRouteParam();\r\n this.initOutlets();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n getRouteParam() {\r\n this.queryParamService.getState()\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter(val => Constants.IsEmpty(val))\r\n )\r\n .subscribe((param: { ID: string, billNumber: string, outletName: string }) => {\r\n if (param.ID) {\r\n this.getProductById(param.ID, 5);\r\n }\r\n\r\n if (param.billNumber) {\r\n this.getBill({ Number: param.billNumber, Outlet: param.outletName, Type: TransactionType.SUPPLIER_BILL })\r\n }\r\n })\r\n }\r\n\r\n private initOutlets() {\r\n this.outletService.get()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(outlets => {\r\n this.outlets = outlets;\r\n })\r\n }\r\n\r\n public onAddBill() {\r\n this.dialog.open(FormAddBillComponent, {\r\n width: '350px',\r\n data: { outlets: this.outlets },\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: { Outlet: string, Number: string, Type: TransactionType }) => {\r\n if (result) {\r\n this.getBill(result);\r\n }\r\n })\r\n }\r\n\r\n private getBill(data: { Outlet: string, Number: string, Type: TransactionType }) {\r\n this.billService.get(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((variants: Variant[]) => {\r\n if (variants) {\r\n variants.forEach(variant => {\r\n this.checkAvailableProductCode(variant);\r\n let products = this.generateProductByQty(variant, variant.getQuantity);\r\n this.productGroups = [...this.productGroups, {\r\n VariantID: variant.getVariantID,\r\n Quantity: variant.getQuantity,\r\n Variants: products\r\n }];\r\n this.updateProductsSource();\r\n });\r\n }\r\n })\r\n }\r\n\r\n public onAddProduct() {\r\n this.dialog.open(FormAddVariantComponent, {\r\n width: '350px',\r\n data: { variantName: '', variantId: null, qty: null }\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: FormVariantResponse) => {\r\n if (result) {\r\n this.customPrice = result.customPrice;\r\n this.generateProductBarcode(result.product, result.quantity);\r\n }\r\n });\r\n }\r\n\r\n private getProductById(productId: string, qty: number) {\r\n this.productService.getProductById(productId)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((product: Product) => {\r\n if (product) {\r\n this.generateProductBarcode(product, qty);\r\n }\r\n });\r\n }\r\n\r\n private generateProductBarcode(product: Product, qty: number) {\r\n this.checkAvailableProductCode(product);\r\n let products = this.generateProductByQty(product, qty);\r\n products = this.updateCustomPriceProducts(products);\r\n this.productGroups = [...this.productGroups, {\r\n VariantID: product.getID,\r\n Quantity: qty,\r\n Variants: products\r\n }];\r\n this.updateProductsSource();\r\n }\r\n\r\n private checkAvailableProductCode(product: Product) {\r\n if (!product.getCode) {\r\n this.toastService.error(\"Product has no code\", \"Code Not Found\");\r\n }\r\n }\r\n\r\n public onUpdateProduct(variantGroup: ProductGroup, i: number) {\r\n const code = variantGroup.Variants[0].getCode;\r\n const name = variantGroup.Variants[0].getName;\r\n const customPrice = variantGroup.Variants[0].getCustomPrice;\r\n const promotion = variantGroup.Variants[0].getSelectedPromotion;\r\n const variantName = name + ' - ' + code;\r\n const variantId = variantGroup.VariantID;\r\n const quantity = variantGroup.Quantity;\r\n this.dialog.open(FormAddVariantComponent, {\r\n width: '350px',\r\n data: {\r\n variantName: variantName,\r\n variantId: variantId,\r\n qty: quantity,\r\n customPrice: customPrice,\r\n promotion: promotion\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: FormVariantResponse) => {\r\n if (result) {\r\n this.customPrice = result.customPrice;\r\n this.checkAvailableProductCode(result.product);\r\n let products = this.generateProductByQty(result.product, result.quantity);\r\n products = this.updateCustomPriceProducts(products);\r\n this.productGroups[i].Variants = products;\r\n this.productGroups[i].Quantity = result.quantity;\r\n this.productGroups[i].VariantID = result.product.getID;\r\n this.updateProductsSource();\r\n }\r\n });\r\n }\r\n\r\n public onDeleteProduct(index: number) {\r\n this.productGroups = this.productGroups.filter((val, i) => i !== index);\r\n this.updateProductsSource();\r\n }\r\n\r\n private updateProductsSource() {\r\n this.productSource = [];\r\n this.productGroups.forEach(group => {\r\n this.productSource = [...this.productSource, ...group.Variants];\r\n });\r\n this.stickerTotal = this.productSource.length;\r\n this.productStateService.setState(this.productSource);\r\n }\r\n\r\n public onUploadProduct() {\r\n this.dialog.open(FormUploadVariantComponent, {\r\n width: '350px'\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((files: FileList) => {\r\n if (files) {\r\n let variantGroup: ProductGroup;\r\n this.productService.uploadProducts(files[0])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((results:\r\n {\r\n Quantity: number, Name: string,\r\n Code: string, Print: Product[], VariantID: string\r\n }[]) => {\r\n if (results) {\r\n this.productGroups = [...this.productGroups, ...results.map(result => {\r\n variantGroup = {\r\n Quantity: result.Quantity,\r\n VariantID: result.VariantID,\r\n Variants: result.Print\r\n };\r\n return variantGroup;\r\n })];\r\n this.updateProductsSource();\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n private updateCustomPriceProducts(variants: Product[]): Product[] {\r\n let variantsUpdate = variants;\r\n if (this.customPrice) {\r\n variantsUpdate = variants.map(variant => {\r\n variant.setCustomPrice = this.customPrice;\r\n return variant;\r\n });\r\n }\r\n return variantsUpdate;\r\n }\r\n\r\n private generateProductByQty(product: Product, qty: number): Product[] {\r\n let products: Product[] = [];\r\n for (let i = 1; i <= qty; i++) {\r\n products.push(product);\r\n }\r\n return products;\r\n }\r\n\r\n public onClear() {\r\n this.productGroups = [];\r\n this.updateProductsSource();\r\n }\r\n\r\n public onPrint() {\r\n window.print();\r\n }\r\n\r\n}\r\n","<div class=\"card mt-3 sticky-top\">\r\n <div class=\"card-header d-flex justify-content-between align-items-center bg-white pb-5\" style=\"border: none;\">\r\n <h1 class=\"fw-light m-1\">\r\n Products\r\n <small class=\"ms-1 fst-italic text-info d-block mt-1\">( {{stickerTotal === 0 ? '' : stickerTotal}} stickers )</small>\r\n </h1>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" class=\"btn-md btn btn-outline-secondary\" (click)=\"onAddProduct()\">\r\n <i class=\"fa fa-plus\" aria-hidden=\"true\"> </i>\r\n </button>\r\n <button type=\"button\" class=\"btn-md btn btn-outline-secondary\" (click)=\"onUploadProduct()\">\r\n <i class=\"fa fa-upload\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-0\">\r\n <table class=\"table table-borderless table-fixed\">\r\n <thead class=\"table-light lh-1\">\r\n <tr>\r\n <th scope=\"col\"></th>\r\n <th scope=\"col\">NAME</th>\r\n <th scope=\"col\" class=\"text-end\">QTY</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let variant of productGroups; let i = index\" (click)=\"onUpdateProduct(variant, i)\">\r\n <td>\r\n <i (click)=\"onDeleteProduct(i)\" style=\"color: #fb404b !important; cursor: pointer;\"\r\n class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </td>\r\n <td>\r\n {{variant?.Variants[0]?.getName}}- {{variant?.Variants[0]?.getCode}} -\r\n </td>\r\n <td class=\"text-end\">{{variant?.Quantity}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"card-footer bg-white py-8 p-0\">\r\n <div class=\"row\">\r\n <div class=\"col-6 d-flex justify-content-start\">\r\n <a class=\"btn btn-xl btn-outline-secondary\" (click)=\"onAddBill()\">\r\n <i class=\"fa-regular fa-file-lines me-2\"></i>\r\n Load Transaction\r\n </a>\r\n </div>\r\n <div class=\"col-6 d-flex justify-content-end\">\r\n <a class=\"btn btn-xl btn-outline-secondary ms-5\" (click)=\"onClear()\">Clear</a>\r\n <a class=\"btn btn-xl btn-success ms-5\" (click)=\"onPrint()\">Print</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\nimport { AuthenticationService } from '../services/authentication-service/authentication.service';\r\nimport { ProductStateService } from '../services/product-state-service/product-state.service';\r\nimport { QueryParamService } from '../services/query-param-service/query-param.service';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss']\r\n})\r\nexport class PagesComponent {\r\n domainName: string;\r\n \r\n constructor(\r\n private variantServiceState: ProductStateService,\r\n private authService: AuthenticationService,\r\n private queryParamService: QueryParamService\r\n ) {\r\n this.domainName = localStorage.getItem('Domain');\r\n }\r\n\r\n onLogout() {\r\n this.variantServiceState.setState([]);\r\n this.queryParamService.setState(null);\r\n this.authService.logout();\r\n }\r\n\r\n}\r\n","<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-4 d-print-none\">\r\n <app-list-products></app-list-products>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <app-print-preview></app-print-preview>\r\n </div>\r\n </div>\r\n</div>\r\n<footer class=\" d-md-block d-print-none\">\r\n <div class=\"row justify-content-between align-items-center\">\r\n <div class=\"col-auto d-inline-flex\">\r\n <p class=\"pt-1rem me-3\">Powered by : </p>\r\n <a target=\"_blank\" href=\"https://www.dealpos.com\"><img\r\n src=\"https://res.cloudinary.com/pos/image/upload/POS/Images/Login/dealpos.png\"\r\n alt=\"dealpos-logo\" class=\"img-fluid\"></a>\r\n </div>\r\n <div class=\"col-auto\">\r\n <div class=\"logout d-print-none\">\r\n <a href=\"https://{{domainName}}\">{{domainName}}</a> \r\n <h5 (click)=\"onLogout()\"><span class=\"fa fa-sign-out-alt\"></span>&nbsp;Logout</h5>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { PagesComponent } from './pages.component';\r\nimport { ListProductsComponent } from './list-products/list-products.component';\r\nimport { PrintPreviewComponent } from './print-preview/print-preview.component';\r\nimport { FormSettingsComponent } from './form-settings/form-settings.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormAddVariantComponent } from './form-add-variant/form-add-variant.component';\r\nimport { FormUploadVariantComponent } from './form-upload-variant/form-upload-variant.component';\r\nimport { AutocompleteModule } from '../shared/components/autocomplete/autocomplete.component';\r\nimport { NgxBarcode6Module } from 'ngx-barcode6';\r\nimport { FormAddBillComponent } from './form-add-bill/form-add-bill.component';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: PagesComponent}\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n PagesComponent,\r\n ListProductsComponent,\r\n PrintPreviewComponent,\r\n FormSettingsComponent,\r\n FormAddVariantComponent,\r\n FormUploadVariantComponent,\r\n FormAddBillComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n AutocompleteModule,\r\n NgxBarcode6Module,\r\n MatRadioModule,\r\n RouterModule.forChild(routes)\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class PagesModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { AuthenticationService } from 'src/app/services/authentication-service/authentication.service';\r\nimport { BarcodeService } from 'src/app/services/barcode-service/barcode.service';\r\nimport { ProductService } from 'src/app/services/product-service/product.service';\r\nimport { ProductStateService } from 'src/app/services/product-state-service/product-state.service';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\nimport { FormSettingsComponent } from '../form-settings/form-settings.component';\r\n\r\n@Component({\r\n selector: 'app-print-preview',\r\n templateUrl: './print-preview.component.html',\r\n styleUrls: ['./print-preview.component.scss']\r\n})\r\nexport class PrintPreviewComponent implements OnInit, OnDestroy {\r\n public paperFormatOptions = [];\r\n public optionSelected: {id: number, name: string} = {id: 1, name: 'Continuous - 3 Column'};\r\n public paperFormats: PaperFormat[] = [];\r\n public selectedPaperFormat: PaperFormat | undefined;\r\n public productPreview: Product[];\r\n private destroy$: Subject<boolean>;\r\n\r\n public totalStickerPerRow: number = 0;\r\n public lastIndex: number = 0; \r\n\r\n public taxs: Tax[];\r\n public tax: number;\r\n public authTax: boolean;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private productStateService: ProductStateService,\r\n private productService: ProductService,\r\n private barcodeService: BarcodeService,\r\n private toastService: ToastrService,\r\n private authService: AuthenticationService\r\n ) {\r\n this.destroy$ = new Subject();\r\n this.productPreview = [];\r\n this.taxs = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.getPaperFormats();\r\n this.checkAuthTax();\r\n this.subscribeToObsproducts();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n checkAuthTax() {\r\n let roles = this.authService.getRoles();\r\n let requiredRole = roles.find(role => role === 'StpE');\r\n if (requiredRole) {\r\n this.getProductTax();\r\n this.authTax = true;\r\n }\r\n else {\r\n this.authTax = false;\r\n }\r\n }\r\n \r\n private subscribeToObsproducts() {\r\n this.productStateService.getState()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(products => {\r\n this.productPreview = products;\r\n this.relayout();\r\n });\r\n }\r\n\r\n getProductTax() {\r\n this.productService.getTax()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(taxs => {\r\n if (taxs) {\r\n this.taxs = taxs;\r\n }\r\n });\r\n }\r\n\r\n getPaperFormats() {\r\n this.barcodeService.getPaperFormatConfig()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((paperFormats) => {\r\n if (paperFormats) {\r\n this.paperFormats = paperFormats;\r\n this.setSelectedPaperFormat(paperFormats[0]);\r\n this.initOptionFormat();\r\n this.initOptionSelected(this.selectedPaperFormat);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n initOptionFormat() {\r\n this.paperFormatOptions = [];\r\n this.paperFormats.forEach((format, i) => {\r\n this.paperFormatOptions = [...this.paperFormatOptions, \r\n {\r\n id: i+1,\r\n name: format.Name\r\n }\r\n ]\r\n });\r\n }\r\n\r\n initOptionSelected(paperFormat: PaperFormat) {\r\n this.optionSelected = this.paperFormatOptions.find(val => {\r\n return val.name === paperFormat.Name;\r\n });\r\n }\r\n\r\n\r\n openSettingModal() {\r\n this.dialog.open(FormSettingsComponent, {\r\n width: '850px',\r\n data: {paperFormat: this.selectedPaperFormat, taxs: this.taxs, authTax: this.authTax}\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(paperFormat => {\r\n if (paperFormat && this.selectedPaperFormat) {\r\n this.updatePaperFormatSource(paperFormat);\r\n this.updatePaperFormat();\r\n this.setSelectedPaperFormat(paperFormat);\r\n }\r\n });\r\n }\r\n\r\n onSelectPaperFormat() {\r\n this.getPaperFormatBarcode();\r\n }\r\n\r\n getPaperFormatBarcode() {\r\n let configName = this.optionSelected.name;\r\n let paperFormat = this.findPaperFormatByName(configName);\r\n this.setSelectedPaperFormat(paperFormat);\r\n }\r\n\r\n updatePaperFormat() {\r\n this.barcodeService.updatePaperFormatConfig(this.paperFormats)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.toastService.success(\"Success Update Paper Format\", \"Success\");\r\n }, err => {\r\n console.error(err);\r\n })\r\n }\r\n\r\n setSelectedPaperFormat(paperFormat: PaperFormat) {\r\n this.selectedPaperFormat = paperFormat;\r\n this.barcodeService.setBarcodeConfigState(paperFormat);\r\n this.relayout();\r\n this.getPPnVal(paperFormat);\r\n }\r\n\r\n findPaperFormatByName(name: string) {\r\n let paperFormat = this.paperFormats.find(val => {\r\n return val.Name == name;\r\n });\r\n return paperFormat;\r\n }\r\n\r\n updatePaperFormatSource(paperFormat: PaperFormat) { \r\n this.paperFormats = this.paperFormats.map(val => {\r\n if (paperFormat.Name === val.Name) {\r\n val = paperFormat;\r\n }\r\n return val;\r\n })\r\n }\r\n\r\n getPPnVal(paperFormat: PaperFormat) {\r\n if (paperFormat.TaxType) {\r\n this.tax = paperFormat.TaxType['Rate'];\r\n }\r\n else {\r\n this.tax = null;\r\n }\r\n }\r\n\r\n relayout() {\r\n let paperWidth = this.selectedPaperFormat?.PaperWidth ? this.selectedPaperFormat?.PaperWidth : 0;\r\n let stickerWidth = this.selectedPaperFormat?.StickerWidth ? this.selectedPaperFormat?.StickerWidth : 0;\r\n let columnSpacing = this.selectedPaperFormat?.ColumnSpacing ? this.selectedPaperFormat?.ColumnSpacing : 0;\r\n let grossCount = (paperWidth+columnSpacing) / (stickerWidth + columnSpacing);\r\n let stickerCount = Math.floor(grossCount);\r\n this.totalStickerPerRow = stickerCount;\r\n \r\n let grossRowCount = this.productPreview.length / stickerCount;\r\n let rowCount = Math.floor(grossRowCount);\r\n let lastRow = this.productPreview.length-(rowCount*stickerCount);\r\n this.lastIndex = (lastRow===0) ? stickerCount : lastRow;\r\n\r\n //config DescriptionAsCode\r\n this.productPreview = this.productPreview.map(product => {\r\n if (this.selectedPaperFormat?.DescriptionAsCode) {\r\n product.setBarcodeTitle = product.getDescription ? product.getDescription : product.getCode\r\n }\r\n else {\r\n product.setBarcodeTitle = product.getCode\r\n }\r\n return product;\r\n })\r\n }\r\n}\r\n","<div class=\"mt-3 d-print-none\"></div>\r\n<div class=\"card mt-0 mb-0 paper-barcode\">\r\n <div class=\"card-header d-flex justify-content-between align-items-center border-bottom pb-5 d-print-none\">\r\n <h1 class=\"fw-light\">\r\n Print Preview\r\n </h1>\r\n <div align=\"right\" style=\"width: 400px;\">\r\n <h5 class=\"d-inline-block fw-light text-info fst-italic \">Paper Source</h5>\r\n <ng-select align=\"left\" class=\"d-inline-block ms-4\" [items]=\"paperFormatOptions\"\r\n [(ngModel)]=\"optionSelected\" (change)=\"onSelectPaperFormat()\" [clearable]=\"false\" bindLabel=\"name\"\r\n placeholder=\"Select Column\">\r\n </ng-select>\r\n <button class=\"btn btn btn-outline-secondary ms-4\" (click)=\"openSettingModal()\">\r\n <i class=\"fa fa-cog\" aria-hidden=\"true\"> </i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body\" style=\"padding: 0\">\r\n <div class=\"canvas clearfix\" [style.width]=\"selectedPaperFormat?.PaperWidth +'px'\"\r\n [style.margin-top]=\"selectedPaperFormat?.MarginTop+'px'\"\r\n [style.margin-left]=\"selectedPaperFormat?.MarginLeft+'px'\">\r\n <ul class=\"barcodes\">\r\n <li *ngFor=\"let product of productPreview; let i = index\"\r\n [style.width]=\"selectedPaperFormat?.StickerWidth+'px'\"\r\n [style.height]=\"selectedPaperFormat?.StickerHeight+'px'\"\r\n [style.margin-right]=\"((i+1)%totalStickerPerRow) === 0 ? 0 : selectedPaperFormat?.ColumnSpacing+'px'\"\r\n [style.margin-bottom]=\"(i >= (productPreview.length - lastIndex)) ? 0 : selectedPaperFormat?.RowSpacing+'px'\">\r\n\r\n <div class=\"position-relative\">\r\n <ngx-barcode6 *ngIf=\"selectedPaperFormat?.BarcodeVisible\" [bc-value]=\"product?.getCode\"\r\n [bc-element-type]=\"'img'\" [bc-width]=\"1\" [bc-height]=\"selectedPaperFormat?.BarcodeHeight\">\r\n </ngx-barcode6>\r\n <div style=\"margin-top: -4px; line-height: 1;\">\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.CodeVisible\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">{{product.getBarcodeTitle}}</span>\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.NameVisible && selectedPaperFormat?.MoveProductNameOnTop\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n {{(selectedPaperFormat?.ProductNamePrefix ?\r\n selectedPaperFormat?.ProductNamePrefix +' '+ product.getName :\r\n product.getName) | slice:0:(selectedPaperFormat?.ProductNameMaxLength)}}\r\n </span>\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.PriceVisible\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n <!-- PRODUCT WITH PROMOTION -->\r\n <ng-container *ngIf=\"product.getSelectedPromotion; else WITHOUT_PROMOTION\">\r\n <div class=\"d-flex justify-content-between\">\r\n <span class=\"ms-12\">{{selectedPaperFormat.BasicPriceLabel ? selectedPaperFormat.BasicPriceLabel : \"N. Price\"}}</span>\r\n <span class=\"me-12\">\r\n <span style=\"text-decoration:line-through; text-decoration-thickness: 1.5px;\" class=\"text-danger\">\r\n <span class=\"text-dark\">{{selectedPaperFormat?.CurrencySymbol}} {{(product?.getUnitPrice | number)}}</span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-1\">\r\n <span class=\"ms-12\">{{selectedPaperFormat.PromotionPriceLabel ? selectedPaperFormat.PromotionPriceLabel : \"Spc. Price\"}}</span>\r\n <span class=\"me-12 text-danger\">{{selectedPaperFormat?.CurrencySymbol}} {{(product?.getSelectedPromotion?.getUnitPrice | number)}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #WITHOUT_PROMOTION>\r\n <!-- PRODUCT WITHOUT PROMOTION -->\r\n <strong>\r\n <ng-container\r\n *ngIf=\"(product?.getCustomPrice !== 0) && (product?.getCustomPrice !== undefined); else WITH_TAX\">\r\n {{selectedPaperFormat?.CurrencySymbol}} {{(product?.getCustomPrice |\r\n taxPipe:tax) | number}}\r\n </ng-container>\r\n <ng-template #WITH_TAX>\r\n <ng-container\r\n *ngIf=\"selectedPaperFormat?.PriceWithTax && (tax) && (tax != 0); else WITHOUT_TAX\">\r\n {{selectedPaperFormat?.CurrencySymbol}} {{(product?.getUnitPrice |\r\n taxPipe:tax) | number}}\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #WITHOUT_TAX>\r\n {{selectedPaperFormat?.CurrencySymbol}} {{(product?.getUnitPrice | number)}}\r\n </ng-template>\r\n </strong>\r\n </ng-template>\r\n </span>\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.NameVisible && !selectedPaperFormat?.MoveProductNameOnTop\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n {{(selectedPaperFormat?.ProductNamePrefix ?\r\n selectedPaperFormat?.ProductNamePrefix +' '+ product.getName :\r\n product.getName) | slice:0:(selectedPaperFormat?.ProductNameMaxLength)}}\r\n </span>\r\n </div>\r\n\r\n <div class=\"vertical-text\" [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n {{selectedPaperFormat?.StoreName}}\r\n </div>\r\n </div>\r\n\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\nimport { HttpService } from '../http-service/http.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BarcodeService {\r\nprivate paperFormatVersion: string;\r\nprivate barcodeConfigState: BehaviorSubject<PaperFormat>;\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n ) {\r\n this.barcodeConfigState = new BehaviorSubject(null);\r\n }\r\n\r\n updatePaperFormatConfig(paperFormats: PaperFormat[]) {\r\n let domain = localStorage.getItem('Domain');\r\n let url = '/api/Config/SaveConfig';\r\n let body = {\r\n \"SubDomain\": domain,\r\n \"Version\": this.paperFormatVersion,\r\n \"PaperFormats\": paperFormats\r\n };\r\n return this.httpService.post(url, body);\r\n }\r\n\r\n getPaperFormatConfig(): Observable<PaperFormat[]> {\r\n let domain = localStorage.getItem('Domain');\r\n let paperFormats: PaperFormat[] = [];\r\n let url = '/api/Config/PaperConfig';\r\n let body = {\r\n \"SubDomain\": domain\r\n };\r\n return this.httpService.post(url, body)\r\n .pipe(\r\n map((result: {version: string, PaperFormats: any[]}) => {\r\n this.paperFormatVersion = result.version;\r\n paperFormats = result.PaperFormats;\r\n return paperFormats;\r\n })\r\n );\r\n }\r\n\r\n setBarcodeConfigState(paperFormat: PaperFormat) {\r\n this.barcodeConfigState.next(paperFormat);\r\n }\r\n \r\n getBarcodeConfigState() {\r\n return this.barcodeConfigState.asObservable().pipe(filter(val => Constants.IsNotEmpty(val)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Variant } from 'src/app/models/Variant';\r\nimport { TransactionType } from 'src/app/shared/enums/TransactionType.enum';\r\nimport { FactoryServiceService } from '../factory-service/factory-service.service';\r\nimport { HttpService } from '../http-service/http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BillService {\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private factoryService: FactoryServiceService\r\n ) { }\r\n\r\n get(param: { Outlet: string, Number: string, Type: TransactionType }): Observable<Variant[]> {\r\n let domainName = localStorage.getItem('Domain');\r\n let endPoint = this.getEndPointByType(param.Type)\r\n let body = {\r\n Outlet: param.Outlet,\r\n Number: param.Number\r\n };\r\n return this.httpService.post(`https://${domainName}${endPoint}`, body)\r\n .pipe(\r\n map(((variants: Variant[]) => {\r\n return variants.map(variant => {\r\n return this.factoryService.getVariantModel(variant)\r\n })\r\n }))\r\n );\r\n }\r\n\r\n private getEndPointByType(type: TransactionType): string {\r\n let url: string;\r\n if (type === TransactionType.SUPPLIER_BILL) {\r\n url = '/API/V3/Barcode/byBillNumber';\r\n }\r\n else {\r\n url = '/API/V3/Barcode/byOutletDeliveryNumber';\r\n }\r\n return url;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { Bill } from 'src/app/models/Bill';\r\nimport { Variant } from 'src/app/models/Variant';\r\nimport { Promotion } from 'src/app/models/Promotion';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FactoryServiceService {\r\n\r\n constructor() { }\r\n\r\n getProductModel(data: Product): Product {\r\n let product = new Product();\r\n product.setID = data['ID'];\r\n product.setCode = data['Code'];\r\n product.setCurrency = data['CurrencySymbol'];\r\n product.setModel = data['Model'];\r\n product.setName = data['Name'];\r\n product.setUnitPrice = data['UnitPrice'];\r\n product.setDescription = data['Description'];\r\n return product;\r\n }\r\n\r\n getTaxModel(data: Tax) {\r\n let tax = new Tax(data);\r\n return tax;\r\n }\r\n\r\n getOutletModel(data: Outlet): Outlet {\r\n let outlet = new Outlet();\r\n outlet.setCode = data['Code'];\r\n outlet.setName = data['Name'];\r\n outlet.setSuspended = data['Suspended'];\r\n return outlet;\r\n }\r\n\r\n public getVariantModel(data: Variant): Variant {\r\n let variant = new Variant();\r\n variant.setCode = data['Code'];\r\n variant.setDiscount = data['Discount'];\r\n variant.setNettPrice = data['NettPrice'];\r\n variant.setPrice = data['Price'];\r\n variant.setUnitPrice = data['UnitPrice'];\r\n variant.setQuantity = data['Quantity'];\r\n variant.setVariantID = data['VariantID'];\r\n variant.setName = data['Name'];\r\n return variant;\r\n }\r\n\r\n public getBillModel(data: Bill): Bill {\r\n let bill = new Bill()\r\n bill.setNumber = data['Number'];\r\n bill.setOutlet = data['Outlet'];\r\n bill.setVariants = data['Variants'] ? data['Variants'].map(variant => this.getVariantModel(variant)) : [];\r\n return bill;\r\n }\r\n\r\n public getPromotionModel(data: Promotion): Promotion {\r\n let promotion = new Promotion();\r\n promotion.setDiscount = data['Discount'];\r\n promotion.setExtraCost = data['ExtraCost'];\r\n promotion.setPromotionID = data['PromotionID'];\r\n promotion.setUnitPrice = data['UnitPrice'];\r\n promotion.setName = data['Name'];\r\n promotion.setID = data['ID'];\r\n return promotion;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { FactoryServiceService } from '../factory-service/factory-service.service';\r\nimport { HttpService } from '../http-service/http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OutletService {\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private factoryService: FactoryServiceService\r\n ) { }\r\n\r\n get() {\r\n let body = {Suspended: false}\r\n let url = localStorage.getItem('Domain');\r\n return this.httpService.post<Outlet[]>(`https://${url}/api/v3/Outlet/p`, body)\r\n .pipe(\r\n map((results: []) => {\r\n let outlets: Outlet[] = [];\r\n if (results) {\r\n outlets = results.map(result => this.factoryService.getOutletModel(result));\r\n } \r\n return outlets;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { FactoryServiceService } from '../factory-service/factory-service.service';\r\nimport { HttpService } from '../http-service/http.service';\r\nimport { Promotion } from 'src/app/models/Promotion';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private http: HttpClient,\r\n private factoryService: FactoryServiceService,\r\n ) { }\r\n\r\n getProductById(productId: string): Observable<Product> {\r\n let url = localStorage.getItem('Domain');\r\n return this.httpService.post(`https://${url}/API/V3/Variant/ID`, {\r\n ID: productId\r\n })\r\n .pipe(\r\n map((result: Product) => {\r\n let product = this.factoryService.getProductModel(result);\r\n return product;\r\n })\r\n )\r\n }\r\n\r\n public getPromotionByProducID(productID: string) {\r\n let url = localStorage.getItem('Domain');\r\n return this.httpService.post(`https://${url}/API/v3/PromotionEvent/GetByVariantID`, {\r\n VariantID: productID\r\n })\r\n .pipe(\r\n map((results: Promotion[]) => {\r\n let promotions = results.map(promo => this.factoryService.getPromotionModel(promo));\r\n return promotions;\r\n })\r\n )\r\n }\r\n\r\n\r\n uploadProducts(file: File) {\r\n let url = localStorage.getItem('Domain');\r\n let formData: FormData = new FormData();\r\n formData.append('file', file, file.name);\r\n\r\n return this.httpService.postFormData(`https://${url}/API/Product/UploadCSVforBarcode`, formData)\r\n .pipe(\r\n map((results: any[]) => {\r\n return results.map(result => {\r\n result['Print'] = result['Print'].map(print => {\r\n return this.factoryService.getProductModel(print);\r\n });\r\n return result;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getTax(): Observable<Tax[]> {\r\n let domain = localStorage.getItem('Domain');\r\n let token = localStorage.getItem('Token');\r\n let url = `https://${domain}/API/V3/Tax`;\r\n let headers = new HttpHeaders({\r\n \"authorization\": \"Bearer \" + token,\r\n \"content-type\": \"application/json\",\r\n 'X-ClientId': 'dealpos-app'\r\n });\r\n return this.http.get(url, { headers: headers })\r\n .pipe(\r\n map((taxs: Tax[]) => {\r\n if (taxs) {\r\n return taxs.map(tax => this.factoryService.getTaxModel(tax));\r\n }\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Product } from 'src/app/models/Product';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductStateService {\r\n private store: BehaviorSubject<Product[]>;\r\n constructor() {\r\n this.store = new BehaviorSubject([]);\r\n }\r\n\r\n getState() {\r\n return this.store.asObservable().pipe(filter(val => val!== undefined));\r\n }\r\n\r\n setState(products: Product[]) {\r\n this.store.next(products);\r\n }\r\n}\r\n","export class Constants {\r\n static GuidEmpty = \"00000000-0000-0000-0000-000000000000\";\r\n static DecimalMinValue = \"-7.922816251426434e+28\";\r\n static InputLockTimeSpan = 500;\r\n static MinDate = \"0001-01-01T00:00:00\";\r\n static MinTime = \"00:00:00\";\r\n static StringFormat(msg: string, ...args: string[]): string {\r\n for (let _i = 0; _i < args.length; _i++) {\r\n msg = msg.replace(`{${_i}}`, args[_i]);\r\n }\r\n return msg;\r\n }\r\n\r\n static IsNotEmpty(value: unknown): boolean {\r\n if (\r\n value != \"\" &&\r\n value != Constants.GuidEmpty &&\r\n value != undefined &&\r\n value != null\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n static IsEmpty(value: unknown): boolean {\r\n if (\r\n value == \"\" ||\r\n value == undefined ||\r\n value == null ||\r\n value == Constants.GuidEmpty\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n static FilterByID(array: any[], id: any): any {\r\n try {\r\n const list = array.filter((x) => x.ID == id);\r\n if (list.length > 0) {\r\n return list[0];\r\n }\r\n } catch (ex) {\r\n console.log(\"error filter\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Refactor function\r\n * @param date\r\n */\r\n static DateOnly(date?: Date): Date {\r\n if (date) {\r\n return new Date(new Date(date).toDateString());\r\n } else {\r\n return new Date(new Date().toDateString());\r\n }\r\n }\r\n}\r\n\r\nexport class Formatter {\r\n static DecimalRound(\r\n input: number,\r\n place?: number,\r\n multiplesofFive?: number\r\n ): number {\r\n place = place == undefined ? 2 : place;\r\n const multiplier = Math.pow(10, place);\r\n if (multiplesofFive) {\r\n //round down to multipler 5\r\n input = input - ((input * multiplier) % 5) / multiplier;\r\n }\r\n\r\n return Math.round(input * multiplier) / multiplier;\r\n }\r\n static PadLeft(value: string, width: number, padChar?: string): string {\r\n let val = value;\r\n if (!padChar) {\r\n padChar = \"0\";\r\n }\r\n while (val.length < width) {\r\n val = padChar + val;\r\n }\r\n return val;\r\n }\r\n}\r\n\r\nexport class AlertMessage {\r\n static emptyDate = \"Please fill invoice date\";\r\n static emptyNumber = \"Please fill invoice number\";\r\n static failGetMenu = \"Fail to get pos menu\";\r\n static failToGetRetur = \"Fail to get retur\";\r\n static failGetLocalPosStorage =\r\n \"Fail to get setting and option from local storage, Please re-cache your data while online!\";\r\n static failGetVariant = '\"Error getting variant with {0} {1}\" - {2}';\r\n static failGetLocalVariant =\r\n \"Fail to get variant from local storage, Please re-cache your data while online!\";\r\n static emptyBarcodeFormat = 'No product with barcode \"{0}\"';\r\n static emptyCustomerFormat = 'No customer with code \"{0}\"';\r\n static failGetSalesOrder = \"Fail to get sales order\";\r\n static failBin = \"Fail to bin transaction\";\r\n static failGetCustomer = \"Fail to get customer's data\";\r\n static failCreateCustomer = \"Fail to create customer\";\r\n static noRoleContact = \"You have no right to create new customer\";\r\n static submitLocally =\r\n \"Connection unavailable ~ offline! Order stored locally\";\r\n static OfflineOrderNotSupport = \"Offline order is not Supported!\";\r\n static failOrderConnectionTimeOut =\r\n \"Connection timeout! Please try uploading your order again!\";\r\n static failDeletePark = \"Fail to delete park\";\r\n static emptyAccessRegister = \"You do not have access to any Register\";\r\n static failGenerateNewNumber = \"Fail to generate new number\";\r\n static emptyPayment = \"There is no active payment method.\";\r\n static failOpenRegister = \"Fail to open register\";\r\n static failGetLocalOutletInfo =\r\n \"Fail to get outlet information from local storage, Please re-cache your data while online!\";\r\n static failTrySubmit = \"[Error submitting order] \\n{0}\";\r\n static failTryCreateCustomer = '\"[Error creating customer] \\n\"{0}';\r\n static createCustomerOffline =\r\n \"Create customer is not supported when the connection offline\";\r\n static emptyCustomer = \"Please select customer!\";\r\n static emptySalesPerson = \"Please select sales person!\";\r\n static emptySalesType = \"Please select sales type!\";\r\n static failCreateNewVariant = \"Fail to create new variant\";\r\n static requiredDefaultCategory =\r\n \"[WARNING] - POS / Quick Create Product requires Default Category\";\r\n static emptyVariant = \"Item is undefined, please re-type\";\r\n static emptyPOItem = \"You must have at least one item\";\r\n static emptyEntity = \"Please select entity before proceeding..\";\r\n static failGetRetrieve = \"Fail to get retrieve\";\r\n static failTryPark = \"[Error submitting park] \\n{0}\";\r\n static failTryGetPark = \"[Error during get park] \\n{0}\";\r\n static failTryGetOutStanding = \"[Error during get outstanding] \\n{0}\";\r\n static failTryGetParkSelect =\r\n \"[Error during get available park select] \\n{0}\";\r\n static failGetSerial = \"Fail to get variant serial\";\r\n static successSendOrder =\r\n \"Orders synchronized to server. Upload Transaction Complete!\";\r\n static successSyncProduct = \"Products synchronized to Local Storage\";\r\n static failGetPark = \"Fail to get park\";\r\n static failMergePark = \"Fail to merge park\";\r\n static failGetOutStanding = \"Fail to get outstanding\";\r\n static failGetParkSelect = \"Fail to get available park select\";\r\n static confirmationDeleteOrder = \"Are you sure want to delete this order?\";\r\n static confirmationCloseRegister =\r\n \"The Register is still occupied under '{0}'. Do you want to end his / her session?\";\r\n static closeActiveRegister =\r\n \"You already have an active register with name '{0}'. Do you want to end your session?\";\r\n static successSendEmail = \"Email is sent successfully to '{0}'\";\r\n static wrongOfflineAction =\r\n \"This action is not supported when the connection offline\";\r\n static emptyCustomerCredit = \"Credit Payment requires customer specified!\";\r\n static debtLimit = \"Your debt is over limit!\";\r\n static emptyCustomerDeposit = \"Deposit Payment requires customer specified!\";\r\n static creditLock = \"You have no right to give credit!\";\r\n static failToSyncProduct = \"Fail sync product to local storage!\";\r\n static emptyDeliveryOutlet = \"There is no outlet in delivery module.\";\r\n static wrongAuthorizationCode = \"Wrong Authorize Code!\";\r\n static priceMinimumRestriction =\r\n \"You have no right to sell this item lower than {0}\";\r\n static clearBrowsingData =\r\n \"A new version of our POS is available, please clear your browsing data to apply changes!\";\r\n static offlineModeNotification =\r\n \"WARNING! Your point of sale configuration is set to LOCAL, orders are not synchronized automatically.\";\r\n static failServerConnection =\r\n \"Something happen to the server, switch query to local mode to continue work!\";\r\n static taxEmpty = \"Tax options is empty, go to setup and add tax!\";\r\n static clearCommission = \"Are you sure to leave this page without saving?\";\r\n static voidConfirm =\r\n \"This will replace current order's item(s) with blank order.\";\r\n static notSellAble = \"This item is not for sell\";\r\n static partialLoyaltyPointUnable =\r\n \"You only can fully pay with loyalty point, otherwise please remove the loyalty point and use other available payment options\";\r\n static DiffDate = \"Client date is not equal with Server Date\";\r\n static pointOnly = \"{0} need paid by point only\";\r\n static cashOnly = \"{0} cannot paid by point\";\r\n static ovoConfig = \"WARNING! Your ovo configuration is not set\";\r\n static failGenerateQR = \"Fail to generate qr\";\r\n static failPaymentOvo = \"Fail to pay with ovo, Try again\";\r\n static emptyPhone = \"Please Fill Phone\";\r\n}\r\n\r\nexport class ServiceURL {\r\n static GetPOSStorage = \"/API/POS/LoadPOS\";\r\n static GenerateNumber = \"/API/POS/GenerateNumber\";\r\n static RemovePark = \"/API/POS/RemovePark\";\r\n static VoidPark = \"/API/POS/VoidPark\";\r\n static ReturInvoice = \"/API/POS/ReturInvoice\";\r\n static GetSalesOrderJSONByID = \"/API/POS/GetSalesOrderJSONByID\";\r\n static GetPOSDataByID = \"/API/POS/GetPOSDataByID\";\r\n static MergePark = \"/API/POS/MergePark\";\r\n static GetPark = \"/API/POS/GetParkByEntityID\";\r\n static GetOutStanding = \"/API/POS/GetOutStandingByEntityID\";\r\n static GetVacant = \"/API/POS/GetParkInfoByEntityID\";\r\n static RecordOpeningCash = \"/API/POS/RecordOpeningCash\";\r\n static OpenRegister = \"/API/POS/LoadRegister\";\r\n static BackdateNumber = \"/API/POS/GenerateBackdateNumber\";\r\n static GetVariantByID = \"/API/Product/GetVariantByID\";\r\n static GetVariantByCode = \"/API/Product/GetVariantByCode\";\r\n static GetVariantSerial = \"/API/Product/GetVariantSerial\";\r\n static CreateVariant = \"/API/Product/CreateVariant\";\r\n static SendInvoiceEmail = \"/API/Transaction/SendEmail\";\r\n static TransactionNumber = \"/API/POS/GenerateNumber\";\r\n static GetCustomerPrivilegeByID = \"/API/Contact/GetPrivilegeByID\";\r\n static GetCustomerByCode = \"/API/Contact/GetByCode\";\r\n static GetCustomerCode = \"/API/Contact/GetCode\";\r\n static GetCustomerEmailByID = \"/API/Contact/GetEmailByID\";\r\n static GetPriceBookByVariantID = \"/API/Product/GetPriceBookByVariantID\";\r\n static GetPackageID = \"/API/POS/GetPackageID\";\r\n static Authorize = \"/API/AuthorizationKey/Authorize\";\r\n static Invoice = \"/API/Orders/InvoiceInfo\";\r\n static OrdersLoader = \"/API/OrdersLoader/CustomerInvoice\";\r\n static Orders = \"/API/Orders/CustomerInvoice\";\r\n static PaymentReceivedLoader = \"/API/PaymentLoader/DailyPaymentLoader\";\r\n static PaymentReceived = \"/API/Payment/DailyPaymentReceived\";\r\n static CheckOutUrl = \"/API/POS/SubmitOrder\";\r\n static Scanner = \"/API/AdjustmentLoader/StockTakeByCSV\";\r\n static AdjustmentLoader = \"/API/AdjustmentLoader/GetInventoryAdjustmentList\";\r\n static Adjustment = \"/API/Adjustment/GetInventoryAdjustmentList\";\r\n static AdjustmentStorage = \"/API/Adjustment/GetStorage\";\r\n static GetNumberAdjustment = \"/API/Adjustment/GenerateNumber\";\r\n static GetAccountReceivableLoader =\r\n \"/API/DebtLoader/AccountsReceiveableSummary\";\r\n static GetAccountReceivableDetailLoader =\r\n \"/API/DebtLoader/AccountsReceiveableDetails\";\r\n static GetAccountReceivableSummary = \"/API/Debt/AccountsReceiveableSummary\";\r\n static getAccountreceivableDetail = \"/API/Debt/AccountsReceiveableDetails\";\r\n static ProductLibrarySuggestion = \"/API/AC/GetVariantSuggestionByCodeNName\";\r\n static VoidInvoiceLoader = \"/API/OrdersLoader/VoidInvoiceLoader\";\r\n static VoidInvoice = \"/API/Orders/VoidInvoiceList\";\r\n static WaitingPatientList = \"/API/Treatment/WaitingPatientList\";\r\n static CheckOutTreatmentByListID = \"/API/Treatment/CheckOutByListID\";\r\n static TreatmentRegisterLoader = \"/API/TreatmentLoader/Registration\";\r\n static TreatmentRegisterOutletInfo =\r\n \"/API/Treatment/RegistrationGetOutletInfo\";\r\n static TreatmentCustomerInfo = \"/API/Treatment/RegistrationGetCustomerInfo\";\r\n static SubmitTreatementRegistration = \"/API/Treatment/RegistrationSubmit\";\r\n static SalesOrderMini = \"/API/Print/SalesOrderMini\";\r\n static ProductLoader = \"/API/ProductLoader/ProductList\";\r\n static ProductList = \"/API/Product/GetProductList\";\r\n static DeleteProductList = \"/API/Product/DeleteProductList\";\r\n static ProductForm = \"/API/ProductLoader/ProductForm\";\r\n static SubmitProduct = \"/API/Product/SubmitProduct\";\r\n static ProductInfo = \"/API/ProductLoader/ProductInfoInitial\";\r\n static CreateCategory = \"/API/Product/CreateProductCategory\";\r\n static CreateBrand = \"/API/Product/CreateBrand\";\r\n static CreateTag = \"/API/Product/CreateTags\";\r\n static CreateUOM = \"/API/Product/CreateProductUOM\";\r\n static VariantInfo = \"/API/Product/GetVariantInfoModelById\";\r\n static VariantFormData = \"/API/Product/GetVariantFormInitialData\";\r\n static VariantForm = \"/API/Product/GetVariantFormModelById\";\r\n static SubmitVariant = \"/API/Product/SubmitVariant\";\r\n static CreateContact = \"/API/Contact/Create\";\r\n\r\n static Closure = \"/API/POS/Closure\";\r\n\r\n static SyncProducts = \"/API/POSSync/Products\";\r\n static SyncCustomer = \"/API/POSSync/Customers\";\r\n static SynOutletPrice = \"/API/POSSync/OutletPrices\";\r\n static SynOutlet = \"/API/POSSync/Outlets\";\r\n static SyncPark = \"/API/POSSync/Parks\";\r\n\r\n static GetRewardByPromotionID = \"/API/POS/GetRewardByPromotionID\";\r\n\r\n static GenerateGopayQrCode = \"/API/POS/GenerateGoPayQrCode\";\r\n static GenerateEmpatKaliQrCode = \"/API/POS/GenerateEmpatKaliQrCode\";\r\n\r\n static VerifyPayment = \"/API/PaymentNotification/VerifyPayment\";\r\n static PayWithOvo = \"/API/POS/PayWithOvo\";\r\n\r\n static InvoiceA4 = \"/API/Print/Invoice\";\r\n static UploadCsv = \"/API/POS/UploadCsv\";\r\n\r\n static GenerateCommission = \"/API/Transaction/GetCommission\";\r\n}\r\n\r\nexport class LocalDataKey {\r\n static OfflineQueryMode = \"OfflineQueryMode\";\r\n static POSStorage = \"POSStorage\";\r\n static Products = \"Products\";\r\n static Customers = \"Customers\";\r\n static OutletPrices = \"OutletPrices\";\r\n static Outlet = \"Outlet\";\r\n static Parks = \"Parks\";\r\n static Orders = \"Orders\";\r\n static FailedOrders = \"FailedOrders\";\r\n static CompletedOrders = \"CompletedOrders\";\r\n static NewCustomers = \"NewCustomers\";\r\n}\r\n","import {\r\n Component,\r\n ViewChild,\r\n Input,\r\n forwardRef,\r\n NgZone,\r\n ElementRef,\r\n NgModule,\r\n NO_ERRORS_SCHEMA,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n UntypedFormControl,\r\n ReactiveFormsModule,\r\n} from \"@angular/forms\";\r\n\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { debounceTime } from \"rxjs/operators\";\r\nimport { HttpService } from \"src/app/services/http-service/http.service\";\r\n\r\n/**\r\n * Autocomplete in POS.WEB\r\n * Will make the autocomplete list & autofills when search an item\r\n */\r\n@Component({\r\n selector: \"autocomplete\",\r\n templateUrl: \"./autocomplete.component.html\",\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AutocompleteComponent),\r\n multi: true,\r\n },\r\n ],\r\n styles: [\r\n `mat-option {\r\n font-size: 12px;\r\n }`\r\n ]\r\n})\r\nexport class AutocompleteComponent\r\n implements ControlValueAccessor, AfterViewInit, OnChanges {\r\n @ViewChild(\"input\", { static: true })\r\n input!: ElementRef;\r\n @Input()\r\n placeholder!: string;\r\n @Input() url!: string;\r\n @Input()\r\n clearOnSelect!: boolean;\r\n @Input() offlineStorage: any[] = [];\r\n @Input() inputLock = false;\r\n @Input() data: any;\r\n @Input() renderThumbnail = false;\r\n @Input() ngModel: any;\r\n @Input()\r\n displayText!: string;\r\n @Input()\r\n localStorage!: string;\r\n @Input() _value: any;\r\n @Input()\r\n set display(value: string) {\r\n this.input.nativeElement.value = value;\r\n }\r\n\r\n @Output() onOffline = new EventEmitter<boolean>();\r\n @Output() onEnter = new EventEmitter<string>();\r\n @Output() onSelect = new EventEmitter<string>();\r\n @Output() onOptionSelect = new EventEmitter<string>();\r\n @Output() reset = new EventEmitter<any>();\r\n\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n this._value = value;\r\n this.propagateChange(this._value);\r\n }\r\n onKeyDownEnter!: boolean;\r\n termControl: UntypedFormControl = new UntypedFormControl(\"\");\r\n options: any[] = [];\r\n complete = false;\r\n\r\n foundProduct = false;\r\n\r\n startInput!: Date;\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private ngZone: NgZone,\r\n ) {\r\n /**\r\n * Run this when the input value changes\r\n * will wait for 500 miliseconds before it processes the data\r\n */\r\n this.termControl.valueChanges.pipe(debounceTime(500)).subscribe((val) => {\r\n this.options = [];\r\n //changes from selection being clicked\r\n if (typeof val == \"object\") {\r\n this.value = val.Key;\r\n if (this.clearOnSelect) {\r\n this.clear();\r\n } else {\r\n this.termControl.setValue(val.Value);\r\n this.complete = true;\r\n }\r\n if (this.onSelect) this.onSelect.emit(val.Key);\r\n this.options = [];\r\n if (typeof val == \"object\") {\r\n this.value = val.Key;\r\n if (this.clearOnSelect) {\r\n this.clear();\r\n } else {\r\n this.termControl.setValue(val.Value);\r\n this.complete = true;\r\n }\r\n if (this.onOptionSelect) {\r\n const res = {\r\n Key: val.Key,\r\n Value: val.Value,\r\n };\r\n this.onOptionSelect.emit(JSON.stringify(res));\r\n }\r\n }\r\n } else if (typeof val == \"string\" && val.length > 0) {\r\n if (val.length > 2 && !this.inputLock) {\r\n this.search(val);\r\n }\r\n } else {\r\n this.clear();\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\r\n //Add '${implements OnChanges}' to the class.\r\n if (changes.ngModel != undefined && changes.ngModel.currentValue == null){\r\n this.clear();\r\n }\r\n if (changes.display != undefined && changes.display.currentValue != changes.display.previousValue) {\r\n this.termControl.setValue(changes.display.currentValue);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the initial display text\r\n */\r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n /**\r\n * Will make the autocomplete options list\r\n * @param val the value\r\n */\r\n search(val: string): void {\r\n if (this.termControl.value.length > 0) {\r\n let request: any = {};\r\n if (this.data) {\r\n request = this.data;\r\n }\r\n request.prefix = val;\r\n request.count = 100;\r\n if (this.complete) {\r\n this.complete = false;\r\n } else {\r\n let url = this.url;\r\n let domain = localStorage.getItem('Domain');\r\n if (domain) {\r\n url = `https://${domain}${this.url}`;\r\n }\r\n this.httpService.post(url, request).subscribe((x: []) => {\r\n this.options = x;\r\n\r\n if (this.options.length > 0) {\r\n this.foundProduct = true;\r\n } else {\r\n this.foundProduct = false;\r\n }\r\n });\r\n }\r\n } else {\r\n this.options = null as any;\r\n }\r\n }\r\n\r\n onblur(): void {\r\n setTimeout(() => {}, 600);\r\n }\r\n\r\n /**\r\n * Changes the input value after selecting an option from the autocomplete list\r\n * @param option The selected option\r\n */\r\n changeDisplayName(option: any): void {\r\n this.input.nativeElement.value = option.Value;\r\n }\r\n\r\n /**\r\n * Search products when user presses enter\r\n * @param event\r\n */\r\n onKeydown(event: KeyboardEvent): void {\r\n const keyCode = event.key;\r\n\r\n if (keyCode === \"Enter\") {\r\n if (this.clearOnSelect) this.clear();\r\n\r\n if (!this.foundProduct && this.termControl.value.length > 0) {\r\n this.onEnter.emit(this.termControl.value);\r\n event.stopPropagation();\r\n }\r\n if (this.termControl.value != null) {\r\n const value = this.termControl.value.Value;\r\n this.input.nativeElement.value = value;\r\n }\r\n this.foundProduct = false;\r\n } else {\r\n if (this.inputLock) {\r\n if (keyCode === \"Backspace\") {\r\n this.clear();\r\n } else {\r\n this.validateInputLock();\r\n }\r\n }\r\n this.complete = false;\r\n this.reset.emit();\r\n }\r\n }\r\n /**\r\n * Makes it so the user can only input customer through code\r\n */\r\n validateInputLock(): void {\r\n if (\r\n this.input.nativeElement.value == \"\" ||\r\n this.input.nativeElement.value.length == 0\r\n ) {\r\n this.startInput = new Date();\r\n } else {\r\n const endInput = new Date();\r\n const span = endInput.getTime() - this.startInput.getTime();\r\n if (span > 500) {\r\n this.clear();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clears the input value\r\n */\r\n clear(): void {\r\n this.value = null;\r\n this.input.nativeElement.value = \"\";\r\n }\r\n\r\n /**\r\n *\r\n * @param option\r\n */\r\n displayFn(option: any): string {\r\n return option ? option.Value : option;\r\n }\r\n\r\n /**\r\n * ControlValueAccessor implementations\r\n * @param _\r\n */\r\n propagateChange: Function = (_: any) => {};\r\n writeValue(value: any): void {}\r\n\r\n registerOnChange(fn: Function): void {\r\n this.propagateChange = fn;\r\n }\r\n registerOnTouched(): void {}\r\n}\r\n\r\n@NgModule({\r\n imports: [MatAutocompleteModule, CommonModule, ReactiveFormsModule],\r\n\r\n declarations: [AutocompleteComponent],\r\n exports: [AutocompleteComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class AutocompleteModule {}\r\n","<mat-form-field class=\"w-100\">\r\n <div class=\"form-label-group\">\r\n <input id=\"input\" type=\"text\" class=\"form-control text-black\" (paste)=\"inputLock? $event.preventDefault():''\" matInput\r\n [matAutocomplete]=\"autocomplete\" placeholder=\"{{placeholder || ''}}\" [formControl]=\"termControl\"\r\n (keydown)=\"onKeydown($event)\" (blur)=\"onblur()\" #input>\r\n <label for=\"input\">{{placeholder || ''}}</label>\r\n </div>\r\n</mat-form-field>\r\n\r\n<mat-autocomplete #autocomplete=\"matAutocomplete\" autoActiveFirstOption=\"true\">\r\n <mat-option *ngFor=\"let option of options\" class=\"option-autocomplete\" [value]=\"option\"\r\n (click)=\"changeDisplayName(option);$event.stopPropagation();\">\r\n <img *ngIf=\"renderThumbnail && option.ImgUrl\" width=\"30\" height=\"30\" [src]=\"option.ImgUrl\">\r\n {{ option.Value }}\r\n </mat-option>\r\n</mat-autocomplete>","export enum TransactionType {\r\n SUPPLIER_BILL,\r\n OUTLET_DELIVERY\r\n}","'use strict';\n\nvar _barcodes = require('./barcodes/');\n\nvar _barcodes2 = _interopRequireDefault(_barcodes);\n\nvar _merge = require('./help/merge.js');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _linearizeEncodings = require('./help/linearizeEncodings.js');\n\nvar _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings);\n\nvar _fixOptions = require('./help/fixOptions.js');\n\nvar _fixOptions2 = _interopRequireDefault(_fixOptions);\n\nvar _getRenderProperties = require('./help/getRenderProperties.js');\n\nvar _getRenderProperties2 = _interopRequireDefault(_getRenderProperties);\n\nvar _optionsFromStrings = require('./help/optionsFromStrings.js');\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _ErrorHandler = require('./exceptions/ErrorHandler.js');\n\nvar _ErrorHandler2 = _interopRequireDefault(_ErrorHandler);\n\nvar _exceptions = require('./exceptions/exceptions.js');\n\nvar _defaults = require('./options/defaults.js');\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The protype of the object returned from the JsBarcode() call\n\n\n// Help functions\nvar API = function API() {};\n\n// The first call of the library API\n// Will return an object with all barcodes calls and the data that is used\n// by the renderers\n\n\n// Default values\n\n\n// Exceptions\n// Import all the barcodes\nvar JsBarcode = function JsBarcode(element, text, options) {\n\tvar api = new API();\n\n\tif (typeof element === \"undefined\") {\n\t\tthrow Error(\"No element to render on was provided.\");\n\t}\n\n\t// Variables that will be pased through the API calls\n\tapi._renderProperties = (0, _getRenderProperties2.default)(element);\n\tapi._encodings = [];\n\tapi._options = _defaults2.default;\n\tapi._errorHandler = new _ErrorHandler2.default(api);\n\n\t// If text is set, use the simple syntax (render the barcode directly)\n\tif (typeof text !== \"undefined\") {\n\t\toptions = options || {};\n\n\t\tif (!options.format) {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tapi.options(options)[options.format](text, options).render();\n\t}\n\n\treturn api;\n};\n\n// To make tests work TODO: remove\nJsBarcode.getModule = function (name) {\n\treturn _barcodes2.default[name];\n};\n\n// Register all barcodes\nfor (var name in _barcodes2.default) {\n\tif (_barcodes2.default.hasOwnProperty(name)) {\n\t\t// Security check if the propery is a prototype property\n\t\tregisterBarcode(_barcodes2.default, name);\n\t}\n}\nfunction registerBarcode(barcodes, name) {\n\tAPI.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) {\n\t\tvar api = this;\n\t\treturn api._errorHandler.wrapBarcodeCall(function () {\n\t\t\t// Ensure text is options.text\n\t\t\toptions.text = typeof options.text === 'undefined' ? undefined : '' + options.text;\n\n\t\t\tvar newOptions = (0, _merge2.default)(api._options, options);\n\t\t\tnewOptions = (0, _optionsFromStrings2.default)(newOptions);\n\t\t\tvar Encoder = barcodes[name];\n\t\t\tvar encoded = encode(text, Encoder, newOptions);\n\t\t\tapi._encodings.push(encoded);\n\n\t\t\treturn api;\n\t\t});\n\t};\n}\n\n// encode() handles the Encoder call and builds the binary string to be rendered\nfunction encode(text, Encoder, options) {\n\t// Ensure that text is a string\n\ttext = \"\" + text;\n\n\tvar encoder = new Encoder(text, options);\n\n\t// If the input is not valid for the encoder, throw error.\n\t// If the valid callback option is set, call it instead of throwing error\n\tif (!encoder.valid()) {\n\t\tthrow new _exceptions.InvalidInputException(encoder.constructor.name, text);\n\t}\n\n\t// Make a request for the binary data (and other infromation) that should be rendered\n\tvar encoded = encoder.encode();\n\n\t// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n\t// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\tencoded = (0, _linearizeEncodings2.default)(encoded);\n\n\t// Merge\n\tfor (var i = 0; i < encoded.length; i++) {\n\t\tencoded[i].options = (0, _merge2.default)(options, encoded[i].options);\n\t}\n\n\treturn encoded;\n}\n\nfunction autoSelectBarcode() {\n\t// If CODE128 exists. Use it\n\tif (_barcodes2.default[\"CODE128\"]) {\n\t\treturn \"CODE128\";\n\t}\n\n\t// Else, take the first (probably only) barcode\n\treturn Object.keys(_barcodes2.default)[0];\n}\n\n// Sets global encoder options\n// Added to the api by the JsBarcode function\nAPI.prototype.options = function (options) {\n\tthis._options = (0, _merge2.default)(this._options, options);\n\treturn this;\n};\n\n// Will create a blank space (usually in between barcodes)\nAPI.prototype.blank = function (size) {\n\tvar zeroes = new Array(size + 1).join(\"0\");\n\tthis._encodings.push({ data: zeroes });\n\treturn this;\n};\n\n// Initialize JsBarcode on all HTML elements defined.\nAPI.prototype.init = function () {\n\t// Should do nothing if no elements where found\n\tif (!this._renderProperties) {\n\t\treturn;\n\t}\n\n\t// Make sure renderProperies is an array\n\tif (!Array.isArray(this._renderProperties)) {\n\t\tthis._renderProperties = [this._renderProperties];\n\t}\n\n\tvar renderProperty;\n\tfor (var i in this._renderProperties) {\n\t\trenderProperty = this._renderProperties[i];\n\t\tvar options = (0, _merge2.default)(this._options, renderProperty.options);\n\n\t\tif (options.format == \"auto\") {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tthis._errorHandler.wrapBarcodeCall(function () {\n\t\t\tvar text = options.value;\n\t\t\tvar Encoder = _barcodes2.default[options.format.toUpperCase()];\n\t\t\tvar encoded = encode(text, Encoder, options);\n\n\t\t\trender(renderProperty, encoded, options);\n\t\t});\n\t}\n};\n\n// The render API call. Calls the real render function.\nAPI.prototype.render = function () {\n\tif (!this._renderProperties) {\n\t\tthrow new _exceptions.NoElementException();\n\t}\n\n\tif (Array.isArray(this._renderProperties)) {\n\t\tfor (var i = 0; i < this._renderProperties.length; i++) {\n\t\t\trender(this._renderProperties[i], this._encodings, this._options);\n\t\t}\n\t} else {\n\t\trender(this._renderProperties, this._encodings, this._options);\n\t}\n\n\treturn this;\n};\n\nAPI.prototype._defaults = _defaults2.default;\n\n// Prepares the encodings and calls the renderer\nfunction render(renderProperties, encodings, options) {\n\tencodings = (0, _linearizeEncodings2.default)(encodings);\n\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tencodings[i].options = (0, _merge2.default)(options, encodings[i].options);\n\t\t(0, _fixOptions2.default)(encodings[i].options);\n\t}\n\n\t(0, _fixOptions2.default)(options);\n\n\tvar Renderer = renderProperties.renderer;\n\tvar renderer = new Renderer(renderProperties.element, encodings, options);\n\trenderer.render();\n\n\tif (renderProperties.afterRender) {\n\t\trenderProperties.afterRender();\n\t}\n}\n\n// Export to browser\nif (typeof window !== \"undefined\") {\n\twindow.JsBarcode = JsBarcode;\n}\n\n// Export to jQuery\n/*global jQuery */\nif (typeof jQuery !== 'undefined') {\n\tjQuery.fn.JsBarcode = function (content, options) {\n\t\tvar elementArray = [];\n\t\tjQuery(this).each(function () {\n\t\t\telementArray.push(this);\n\t\t});\n\t\treturn JsBarcode(elementArray, content, options);\n\t};\n}\n\n// Export to commonJS\nmodule.exports = JsBarcode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Barcode = function Barcode(data, options) {\n\t_classCallCheck(this, Barcode);\n\n\tthis.data = data;\n\tthis.text = options.text || data;\n\tthis.options = options;\n};\n\nexports.default = Barcode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This is the master class,\n// it does require the start code to be included in the string\nvar CODE128 = function (_Barcode) {\n\t_inherits(CODE128, _Barcode);\n\n\tfunction CODE128(data, options) {\n\t\t_classCallCheck(this, CODE128);\n\n\t\t// Get array of ascii codes from data\n\t\tvar _this = _possibleConstructorReturn(this, (CODE128.__proto__ || Object.getPrototypeOf(CODE128)).call(this, data.substring(1), options));\n\n\t\t_this.bytes = data.split('').map(function (char) {\n\t\t\treturn char.charCodeAt(0);\n\t\t});\n\t\treturn _this;\n\t}\n\n\t_createClass(CODE128, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\t// ASCII value ranges 0-127, 200-211\n\t\t\treturn (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(this.data)\n\t\t\t);\n\t\t}\n\n\t\t// The public encoding function\n\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar bytes = this.bytes;\n\t\t\t// Remove the start code from the bytes and set its index\n\t\t\tvar startIndex = bytes.shift() - 105;\n\t\t\t// Get start set by index\n\t\t\tvar startSet = _constants.SET_BY_CODE[startIndex];\n\n\t\t\tif (startSet === undefined) {\n\t\t\t\tthrow new RangeError('The encoding does not start with a start character.');\n\t\t\t}\n\n\t\t\tif (this.shouldEncodeAsEan128() === true) {\n\t\t\t\tbytes.unshift(_constants.FNC1);\n\t\t\t}\n\n\t\t\t// Start encode with the right type\n\t\t\tvar encodingResult = CODE128.next(bytes, 1, startSet);\n\n\t\t\treturn {\n\t\t\t\ttext: this.text === this.data ? this.text.replace(/[^\\x20-\\x7E]/g, '') : this.text,\n\t\t\t\tdata:\n\t\t\t\t// Add the start bits\n\t\t\t\tCODE128.getBar(startIndex) +\n\t\t\t\t// Add the encoded bits\n\t\t\t\tencodingResult.result +\n\t\t\t\t// Add the checksum\n\t\t\t\tCODE128.getBar((encodingResult.checksum + startIndex) % _constants.MODULO) +\n\t\t\t\t// Add the end bits\n\t\t\t\tCODE128.getBar(_constants.STOP)\n\t\t\t};\n\t\t}\n\n\t\t// GS1-128/EAN-128\n\n\t}, {\n\t\tkey: 'shouldEncodeAsEan128',\n\t\tvalue: function shouldEncodeAsEan128() {\n\t\t\tvar isEAN128 = this.options.ean128 || false;\n\t\t\tif (typeof isEAN128 === 'string') {\n\t\t\t\tisEAN128 = isEAN128.toLowerCase() === 'true';\n\t\t\t}\n\t\t\treturn isEAN128;\n\t\t}\n\n\t\t// Get a bar symbol by index\n\n\t}], [{\n\t\tkey: 'getBar',\n\t\tvalue: function getBar(index) {\n\t\t\treturn _constants.BARS[index] ? _constants.BARS[index].toString() : '';\n\t\t}\n\n\t\t// Correct an index by a set and shift it from the bytes array\n\n\t}, {\n\t\tkey: 'correctIndex',\n\t\tvalue: function correctIndex(bytes, set) {\n\t\t\tif (set === _constants.SET_A) {\n\t\t\t\tvar charCode = bytes.shift();\n\t\t\t\treturn charCode < 32 ? charCode + 64 : charCode - 32;\n\t\t\t} else if (set === _constants.SET_B) {\n\t\t\t\treturn bytes.shift() - 32;\n\t\t\t} else {\n\t\t\t\treturn (bytes.shift() - 48) * 10 + bytes.shift() - 48;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'next',\n\t\tvalue: function next(bytes, pos, set) {\n\t\t\tif (!bytes.length) {\n\t\t\t\treturn { result: '', checksum: 0 };\n\t\t\t}\n\n\t\t\tvar nextCode = void 0,\n\t\t\t index = void 0;\n\n\t\t\t// Special characters\n\t\t\tif (bytes[0] >= 200) {\n\t\t\t\tindex = bytes.shift() - 105;\n\t\t\t\tvar nextSet = _constants.SWAP[index];\n\n\t\t\t\t// Swap to other set\n\t\t\t\tif (nextSet !== undefined) {\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, nextSet);\n\t\t\t\t}\n\t\t\t\t// Continue on current set but encode a special character\n\t\t\t\telse {\n\t\t\t\t\t\t// Shift\n\t\t\t\t\t\tif ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) {\n\t\t\t\t\t\t\t// Convert the next character so that is encoded correctly\n\t\t\t\t\t\t\tbytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t\t}\n\t\t\t}\n\t\t\t// Continue encoding\n\t\t\telse {\n\t\t\t\t\tindex = CODE128.correctIndex(bytes, set);\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t}\n\n\t\t\t// Get the correct binary encoding and calculate the weight\n\t\t\tvar enc = CODE128.getBar(index);\n\t\t\tvar weight = index * pos;\n\n\t\t\treturn {\n\t\t\t\tresult: enc + nextCode.result,\n\t\t\t\tchecksum: weight + nextCode.checksum\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn CODE128;\n}(_Barcode3.default);\n\nexports.default = CODE128;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128A = function (_CODE) {\n\t_inherits(CODE128A, _CODE);\n\n\tfunction CODE128A(string, options) {\n\t\t_classCallCheck(this, CODE128A);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128A.__proto__ || Object.getPrototypeOf(CODE128A)).call(this, _constants.A_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128A, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.A_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128A;\n}(_CODE3.default);\n\nexports.default = CODE128A;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128B = function (_CODE) {\n\t_inherits(CODE128B, _CODE);\n\n\tfunction CODE128B(string, options) {\n\t\t_classCallCheck(this, CODE128B);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128B, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.B_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128B;\n}(_CODE3.default);\n\nexports.default = CODE128B;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128C = function (_CODE) {\n\t_inherits(CODE128C, _CODE);\n\n\tfunction CODE128C(string, options) {\n\t\t_classCallCheck(this, CODE128C);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128C.__proto__ || Object.getPrototypeOf(CODE128C)).call(this, _constants.C_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128C, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.C_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128C;\n}(_CODE3.default);\n\nexports.default = CODE128C;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE2 = require('./CODE128');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _auto = require('./auto');\n\nvar _auto2 = _interopRequireDefault(_auto);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128AUTO = function (_CODE) {\n\t_inherits(CODE128AUTO, _CODE);\n\n\tfunction CODE128AUTO(data, options) {\n\t\t_classCallCheck(this, CODE128AUTO);\n\n\t\t// ASCII value ranges 0-127, 200-211\n\t\tif (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(data)) {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options));\n\t\t} else {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options));\n\t\t}\n\t\treturn _possibleConstructorReturn(_this);\n\t}\n\n\treturn CODE128AUTO;\n}(_CODE3.default);\n\nexports.default = CODE128AUTO;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Match Set functions\nvar matchSetALength = function matchSetALength(string) {\n\treturn string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length;\n};\nvar matchSetBLength = function matchSetBLength(string) {\n\treturn string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length;\n};\nvar matchSetC = function matchSetC(string) {\n\treturn string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0];\n};\n\n// CODE128A or CODE128B\nfunction autoSelectFromAB(string, isA) {\n\tvar ranges = isA ? _constants.A_CHARS : _constants.B_CHARS;\n\tvar untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)'));\n\n\tif (untilC) {\n\t\treturn untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length));\n\t}\n\n\tvar chars = string.match(new RegExp('^' + ranges + '+'))[0];\n\n\tif (chars.length === string.length) {\n\t\treturn string;\n\t}\n\n\treturn chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA);\n}\n\n// CODE128C\nfunction autoSelectFromC(string) {\n\tvar cMatch = matchSetC(string);\n\tvar length = cMatch.length;\n\n\tif (length === string.length) {\n\t\treturn string;\n\t}\n\n\tstring = string.substring(length);\n\n\t// Select A/B depending on the longest match\n\tvar isA = matchSetALength(string) >= matchSetBLength(string);\n\treturn cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA);\n}\n\n// Detect Code Set (A, B or C) and format the string\n\nexports.default = function (string) {\n\tvar newString = void 0;\n\tvar cLength = matchSetC(string).length;\n\n\t// Select 128C if the string start with enough digits\n\tif (cLength >= 2) {\n\t\tnewString = _constants.C_START_CHAR + autoSelectFromC(string);\n\t} else {\n\t\t// Select A/B depending on the longest match\n\t\tvar isA = matchSetALength(string) > matchSetBLength(string);\n\t\tnewString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA);\n\t}\n\n\treturn newString.replace(/[\\xCD\\xCE]([^])[\\xCD\\xCE]/, // Any sequence between 205 and 206 characters\n\tfunction (match, char) {\n\t\treturn String.fromCharCode(203) + char;\n\t});\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SET_BY_CODE;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// constants for internal usage\nvar SET_A = exports.SET_A = 0;\nvar SET_B = exports.SET_B = 1;\nvar SET_C = exports.SET_C = 2;\n\n// Special characters\nvar SHIFT = exports.SHIFT = 98;\nvar START_A = exports.START_A = 103;\nvar START_B = exports.START_B = 104;\nvar START_C = exports.START_C = 105;\nvar MODULO = exports.MODULO = 103;\nvar STOP = exports.STOP = 106;\nvar FNC1 = exports.FNC1 = 207;\n\n// Get set by start code\nvar SET_BY_CODE = exports.SET_BY_CODE = (_SET_BY_CODE = {}, _defineProperty(_SET_BY_CODE, START_A, SET_A), _defineProperty(_SET_BY_CODE, START_B, SET_B), _defineProperty(_SET_BY_CODE, START_C, SET_C), _SET_BY_CODE);\n\n// Get next set by code\nvar SWAP = exports.SWAP = {\n\t101: SET_A,\n\t100: SET_B,\n\t99: SET_C\n};\n\nvar A_START_CHAR = exports.A_START_CHAR = String.fromCharCode(208); // START_A + 105\nvar B_START_CHAR = exports.B_START_CHAR = String.fromCharCode(209); // START_B + 105\nvar C_START_CHAR = exports.C_START_CHAR = String.fromCharCode(210); // START_C + 105\n\n// 128A (Code Set A)\n// ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4\nvar A_CHARS = exports.A_CHARS = \"[\\x00-\\x5F\\xC8-\\xCF]\";\n\n// 128B (Code Set B)\n// ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4\nvar B_CHARS = exports.B_CHARS = \"[\\x20-\\x7F\\xC8-\\xCF]\";\n\n// 128C (Code Set C)\n// 00–99 (encodes two digits with a single code point) and FNC1\nvar C_CHARS = exports.C_CHARS = \"(\\xCF*[0-9]{2}\\xCF*)\";\n\n// CODE128 includes 107 symbols:\n// 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one)\n// Each symbol consist of three black bars (1) and three white spaces (0).\nvar BARS = exports.BARS = [11011001100, 11001101100, 11001100110, 10010011000, 10010001100, 10001001100, 10011001000, 10011000100, 10001100100, 11001001000, 11001000100, 11000100100, 10110011100, 10011011100, 10011001110, 10111001100, 10011101100, 10011100110, 11001110010, 11001011100, 11001001110, 11011100100, 11001110100, 11101101110, 11101001100, 11100101100, 11100100110, 11101100100, 11100110100, 11100110010, 11011011000, 11011000110, 11000110110, 10100011000, 10001011000, 10001000110, 10110001000, 10001101000, 10001100010, 11010001000, 11000101000, 11000100010, 10110111000, 10110001110, 10001101110, 10111011000, 10111000110, 10001110110, 11101110110, 11010001110, 11000101110, 11011101000, 11011100010, 11011101110, 11101011000, 11101000110, 11100010110, 11101101000, 11101100010, 11100011010, 11101111010, 11001000010, 11110001010, 10100110000, 10100001100, 10010110000, 10010000110, 10000101100, 10000100110, 10110010000, 10110000100, 10011010000, 10011000010, 10000110100, 10000110010, 11000010010, 11001010000, 11110111010, 11000010100, 10001111010, 10100111100, 10010111100, 10010011110, 10111100100, 10011110100, 10011110010, 11110100100, 11110010100, 11110010010, 11011011110, 11011110110, 11110110110, 10101111000, 10100011110, 10001011110, 10111101000, 10111100010, 11110101000, 11110100010, 10111011110, 10111101110, 11101011110, 11110101110, 11010000100, 11010010000, 11010011100, 1100011101011];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CODE128C = exports.CODE128B = exports.CODE128A = exports.CODE128 = undefined;\n\nvar _CODE128_AUTO = require('./CODE128_AUTO.js');\n\nvar _CODE128_AUTO2 = _interopRequireDefault(_CODE128_AUTO);\n\nvar _CODE128A = require('./CODE128A.js');\n\nvar _CODE128A2 = _interopRequireDefault(_CODE128A);\n\nvar _CODE128B = require('./CODE128B.js');\n\nvar _CODE128B2 = _interopRequireDefault(_CODE128B);\n\nvar _CODE128C = require('./CODE128C.js');\n\nvar _CODE128C2 = _interopRequireDefault(_CODE128C);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.CODE128 = _CODE128_AUTO2.default;\nexports.CODE128A = _CODE128A2.default;\nexports.CODE128B = _CODE128B2.default;\nexports.CODE128C = _CODE128C2.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.CODE39 = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Code_39#Encoding\n\nvar CODE39 = function (_Barcode) {\n\t_inherits(CODE39, _Barcode);\n\n\tfunction CODE39(data, options) {\n\t\t_classCallCheck(this, CODE39);\n\n\t\tdata = data.toUpperCase();\n\n\t\t// Calculate mod43 checksum if enabled\n\t\tif (options.mod43) {\n\t\t\tdata += getCharacter(mod43checksum(data));\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (CODE39.__proto__ || Object.getPrototypeOf(CODE39)).call(this, data, options));\n\t}\n\n\t_createClass(CODE39, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// First character is always a *\n\t\t\tvar result = getEncoding(\"*\");\n\n\t\t\t// Take every character and add the binary representation to the result\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult += getEncoding(this.data[i]) + \"0\";\n\t\t\t}\n\n\t\t\t// Last character is always a *\n\t\t\tresult += getEncoding(\"*\");\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9A-Z\\-\\.\\ \\$\\/\\+\\%]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn CODE39;\n}(_Barcode3.default);\n\n// All characters. The position in the array is the (checksum) value\n\n\nvar characters = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"-\", \".\", \" \", \"$\", \"/\", \"+\", \"%\", \"*\"];\n\n// The decimal representation of the characters, is converted to the\n// corresponding binary with the getEncoding function\nvar encodings = [20957, 29783, 23639, 30485, 20951, 29813, 23669, 20855, 29789, 23645, 29975, 23831, 30533, 22295, 30149, 24005, 21623, 29981, 23837, 22301, 30023, 23879, 30545, 22343, 30161, 24017, 21959, 30065, 23921, 22385, 29015, 18263, 29141, 17879, 29045, 18293, 17783, 29021, 18269, 17477, 17489, 17681, 20753, 35770];\n\n// Get the binary representation of a character by converting the encodings\n// from decimal to binary\nfunction getEncoding(character) {\n\treturn getBinary(characterValue(character));\n}\n\nfunction getBinary(characterValue) {\n\treturn encodings[characterValue].toString(2);\n}\n\nfunction getCharacter(characterValue) {\n\treturn characters[characterValue];\n}\n\nfunction characterValue(character) {\n\treturn characters.indexOf(character);\n}\n\nfunction mod43checksum(data) {\n\tvar checksum = 0;\n\tfor (var i = 0; i < data.length; i++) {\n\t\tchecksum += characterValue(data[i]);\n\t}\n\n\tchecksum = checksum % 43;\n\treturn checksum;\n}\n\nexports.CODE39 = CODE39;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Base class for EAN8 & EAN13\nvar EAN = function (_Barcode) {\n\t_inherits(EAN, _Barcode);\n\n\tfunction EAN(data, options) {\n\t\t_classCallCheck(this, EAN);\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tvar _this = _possibleConstructorReturn(this, (EAN.__proto__ || Object.getPrototypeOf(EAN)).call(this, data, options));\n\n\t\t_this.fontSize = !options.flat && options.fontSize > options.width * 10 ? options.width * 10 : options.fontSize;\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN, [{\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\treturn this.options.flat ? this.encodeFlat() : this.encodeGuarded();\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar textOptions = { fontSize: this.fontSize };\n\t\t\tvar guardOptions = { height: this.guardHeight };\n\n\t\t\treturn [{ data: _constants.SIDE_BIN, options: guardOptions }, { data: this.leftEncode(), text: this.leftText(), options: textOptions }, { data: _constants.MIDDLE_BIN, options: guardOptions }, { data: this.rightEncode(), text: this.rightText(), options: textOptions }, { data: _constants.SIDE_BIN, options: guardOptions }];\n\t\t}\n\t}, {\n\t\tkey: 'encodeFlat',\n\t\tvalue: function encodeFlat() {\n\t\t\tvar data = [_constants.SIDE_BIN, this.leftEncode(), _constants.MIDDLE_BIN, this.rightEncode(), _constants.SIDE_BIN];\n\n\t\t\treturn {\n\t\t\t\tdata: data.join(''),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN;\n}(_Barcode3.default);\n\nexports.default = EAN;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _constants = require('./constants');\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode\n\n// Calculate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 12).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 3 : sum + a;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN13 = function (_EAN) {\n\t_inherits(EAN13, _EAN);\n\n\tfunction EAN13(data, options) {\n\t\t_classCallCheck(this, EAN13);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{12}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\t// Adds a last character to the end of the barcode\n\t\tvar _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options));\n\n\t\t_this.lastChar = options.lastChar;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN13, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(1, 6);\n\t\t\tvar structure = _constants.EAN13_STRUCTURE[this.data[0]];\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(7, 6);\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR');\n\t\t}\n\n\t\t// The \"standard\" way of printing EAN13 barcodes with guard bars\n\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this);\n\n\t\t\t// Extend data with left digit & last character\n\t\t\tif (this.options.displayValue) {\n\t\t\t\tdata.unshift({\n\t\t\t\t\tdata: '000000000000',\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: 'left', fontSize: this.fontSize }\n\t\t\t\t});\n\n\t\t\t\tif (this.options.lastChar) {\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00'\n\t\t\t\t\t});\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00000',\n\t\t\t\t\t\ttext: this.options.lastChar,\n\t\t\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t}]);\n\n\treturn EAN13;\n}(_EAN3.default);\n\nexports.default = EAN13;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_2#Encoding\n\nvar EAN2 = function (_Barcode) {\n\t_inherits(EAN2, _Barcode);\n\n\tfunction EAN2(data, options) {\n\t\t_classCallCheck(this, EAN2);\n\n\t\treturn _possibleConstructorReturn(this, (EAN2.__proto__ || Object.getPrototypeOf(EAN2)).call(this, data, options));\n\t}\n\n\t_createClass(EAN2, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{2}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\t// Choose the structure based on the number mod 4\n\t\t\tvar structure = _constants.EAN2_STRUCTURE[parseInt(this.data) % 4];\n\t\t\treturn {\n\t\t\t\t// Start bits + Encode the two digits with 01 in between\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN2;\n}(_Barcode3.default);\n\nexports.default = EAN2;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_5#Encoding\n\nvar checksum = function checksum(data) {\n\tvar result = data.split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 9 : sum + a * 3;\n\t}, 0);\n\treturn result % 10;\n};\n\nvar EAN5 = function (_Barcode) {\n\t_inherits(EAN5, _Barcode);\n\n\tfunction EAN5(data, options) {\n\t\t_classCallCheck(this, EAN5);\n\n\t\treturn _possibleConstructorReturn(this, (EAN5.__proto__ || Object.getPrototypeOf(EAN5)).call(this, data, options));\n\t}\n\n\t_createClass(EAN5, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{5}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar structure = _constants.EAN5_STRUCTURE[checksum(this.data)];\n\t\t\treturn {\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN5;\n}(_Barcode3.default);\n\nexports.default = EAN5;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// http://www.barcodeisland.com/ean8.phtml\n\n// Calculate the checksum digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 7).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a : sum + a * 3;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN8 = function (_EAN) {\n\t_inherits(EAN8, _EAN);\n\n\tfunction EAN8(data, options) {\n\t\t_classCallCheck(this, EAN8);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{7}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (EAN8.__proto__ || Object.getPrototypeOf(EAN8)).call(this, data, options));\n\t}\n\n\t_createClass(EAN8, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{8}$/) !== -1 && +this.data[7] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftText', this).call(this, 0, 4);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(0, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftEncode', this).call(this, data, 'LLLL');\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightText', this).call(this, 4, 4);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(4, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightEncode', this).call(this, data, 'RRRR');\n\t\t}\n\t}]);\n\n\treturn EAN8;\n}(_EAN3.default);\n\nexports.default = EAN8;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.checksum = checksum;\n\nvar _encoder = require(\"./encoder\");\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n\nvar UPC = function (_Barcode) {\n\t_inherits(UPC, _Barcode);\n\n\tfunction UPC(data, options) {\n\t\t_classCallCheck(this, UPC);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{11}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPC.__proto__ || Object.getPrototypeOf(UPC)).call(this, data, options));\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPC, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{12}$/) !== -1 && this.data[11] == checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"flatEncoding\",\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(0, 6), \"LLLLLL\");\n\t\t\tresult += \"01010\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(6, 6), \"RRRRRR\");\n\t\t\tresult += \"101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"guardedEncoding\",\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the first digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\" + (0, _encoder2.default)(this.data[0], \"L\"),\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the left side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(1, 5), \"LLLLL\"),\n\t\t\t\ttext: this.text.substr(1, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the middle bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"01010\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the right side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(6, 5), \"RRRRR\"),\n\t\t\t\ttext: this.text.substr(6, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data[11], \"R\") + \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the last digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(11, 1),\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}]);\n\n\treturn UPC;\n}(_Barcode3.default);\n\n// Calulate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\n\n\nfunction checksum(number) {\n\tvar result = 0;\n\n\tvar i;\n\tfor (i = 1; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]);\n\t}\n\tfor (i = 0; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]) * 3;\n\t}\n\n\treturn (10 - result % 10) % 10;\n}\n\nexports.default = UPC;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _UPC = require('./UPC.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n//\n// UPC-E documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E\n\nvar EXPANSIONS = [\"XX00000XXX\", \"XX10000XXX\", \"XX20000XXX\", \"XXX00000XX\", \"XXXX00000X\", \"XXXXX00005\", \"XXXXX00006\", \"XXXXX00007\", \"XXXXX00008\", \"XXXXX00009\"];\n\nvar PARITIES = [[\"EEEOOO\", \"OOOEEE\"], [\"EEOEOO\", \"OOEOEE\"], [\"EEOOEO\", \"OOEEOE\"], [\"EEOOOE\", \"OOEEEO\"], [\"EOEEOO\", \"OEOOEE\"], [\"EOOEEO\", \"OEEOOE\"], [\"EOOOEE\", \"OEEEOO\"], [\"EOEOEO\", \"OEOEOE\"], [\"EOEOOE\", \"OEOEEO\"], [\"EOOEOE\", \"OEEOEO\"]];\n\nvar UPCE = function (_Barcode) {\n\t_inherits(UPCE, _Barcode);\n\n\tfunction UPCE(data, options) {\n\t\t_classCallCheck(this, UPCE);\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPCE.__proto__ || Object.getPrototypeOf(UPCE)).call(this, data, options));\n\t\t// Code may be 6 or 8 digits;\n\t\t// A 7 digit code is ambiguous as to whether the extra digit\n\t\t// is a UPC-A check or number system digit.\n\n\n\t\t_this.isValid = false;\n\t\tif (data.search(/^[0-9]{6}$/) !== -1) {\n\t\t\t_this.middleDigits = data;\n\t\t\t_this.upcA = expandToUPCA(data, \"0\");\n\t\t\t_this.text = options.text || '' + _this.upcA[0] + data + _this.upcA[_this.upcA.length - 1];\n\t\t\t_this.isValid = true;\n\t\t} else if (data.search(/^[01][0-9]{7}$/) !== -1) {\n\t\t\t_this.middleDigits = data.substring(1, data.length - 1);\n\t\t\t_this.upcA = expandToUPCA(_this.middleDigits, data[0]);\n\n\t\t\tif (_this.upcA[_this.upcA.length - 1] === data[data.length - 1]) {\n\t\t\t\t_this.isValid = true;\n\t\t\t} else {\n\t\t\t\t// checksum mismatch\n\t\t\t\treturn _possibleConstructorReturn(_this);\n\t\t\t}\n\t\t} else {\n\t\t\treturn _possibleConstructorReturn(_this);\n\t\t}\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPCE, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.isValid;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'flatEncoding',\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += this.encodeMiddleDigits();\n\t\t\tresult += \"010101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: 'guardedEncoding',\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the UPC-A number system digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[0],\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the 6 UPC-E digits\n\t\t\tresult.push({\n\t\t\t\tdata: this.encodeMiddleDigits(),\n\t\t\t\ttext: this.text.substring(1, 7),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"010101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the UPC-A check digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[7],\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: 'encodeMiddleDigits',\n\t\tvalue: function encodeMiddleDigits() {\n\t\t\tvar numberSystem = this.upcA[0];\n\t\t\tvar checkDigit = this.upcA[this.upcA.length - 1];\n\t\t\tvar parity = PARITIES[parseInt(checkDigit)][parseInt(numberSystem)];\n\t\t\treturn (0, _encoder2.default)(this.middleDigits, parity);\n\t\t}\n\t}]);\n\n\treturn UPCE;\n}(_Barcode3.default);\n\nfunction expandToUPCA(middleDigits, numberSystem) {\n\tvar lastUpcE = parseInt(middleDigits[middleDigits.length - 1]);\n\tvar expansion = EXPANSIONS[lastUpcE];\n\n\tvar result = \"\";\n\tvar digitIndex = 0;\n\tfor (var i = 0; i < expansion.length; i++) {\n\t\tvar c = expansion[i];\n\t\tif (c === 'X') {\n\t\t\tresult += middleDigits[digitIndex++];\n\t\t} else {\n\t\t\tresult += c;\n\t\t}\n\t}\n\n\tresult = '' + numberSystem + result;\n\treturn '' + result + (0, _UPC.checksum)(result);\n}\n\nexports.default = UPCE;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n// Standard start end and middle bits\nvar SIDE_BIN = exports.SIDE_BIN = '101';\nvar MIDDLE_BIN = exports.MIDDLE_BIN = '01010';\n\nvar BINARIES = exports.BINARIES = {\n\t'L': [// The L (left) type of encoding\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'G': [// The G type of encoding\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111'],\n\t'R': [// The R (right) type of encoding\n\t'1110010', '1100110', '1101100', '1000010', '1011100', '1001110', '1010000', '1000100', '1001000', '1110100'],\n\t'O': [// The O (odd) encoding for UPC-E\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'E': [// The E (even) encoding for UPC-E\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111']\n};\n\n// Define the EAN-2 structure\nvar EAN2_STRUCTURE = exports.EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG'];\n\n// Define the EAN-5 structure\nvar EAN5_STRUCTURE = exports.EAN5_STRUCTURE = ['GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG'];\n\n// Define the EAN-13 structure\nvar EAN13_STRUCTURE = exports.EAN13_STRUCTURE = ['LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Encode data string\nvar encode = function encode(data, structure, separator) {\n\tvar encoded = data.split('').map(function (val, idx) {\n\t\treturn _constants.BINARIES[structure[idx]];\n\t}).map(function (val, idx) {\n\t\treturn val ? val[data[idx]] : '';\n\t});\n\n\tif (separator) {\n\t\tvar last = data.length - 1;\n\t\tencoded = encoded.map(function (val, idx) {\n\t\t\treturn idx < last ? val + separator : val;\n\t\t});\n\t}\n\n\treturn encoded.join('');\n};\n\nexports.default = encode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined;\n\nvar _EAN = require('./EAN13.js');\n\nvar _EAN2 = _interopRequireDefault(_EAN);\n\nvar _EAN3 = require('./EAN8.js');\n\nvar _EAN4 = _interopRequireDefault(_EAN3);\n\nvar _EAN5 = require('./EAN5.js');\n\nvar _EAN6 = _interopRequireDefault(_EAN5);\n\nvar _EAN7 = require('./EAN2.js');\n\nvar _EAN8 = _interopRequireDefault(_EAN7);\n\nvar _UPC = require('./UPC.js');\n\nvar _UPC2 = _interopRequireDefault(_UPC);\n\nvar _UPCE = require('./UPCE.js');\n\nvar _UPCE2 = _interopRequireDefault(_UPCE);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.EAN13 = _EAN2.default;\nexports.EAN8 = _EAN4.default;\nexports.EAN5 = _EAN6.default;\nexports.EAN2 = _EAN8.default;\nexports.UPC = _UPC2.default;\nexports.UPCE = _UPCE2.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.GenericBarcode = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GenericBarcode = function (_Barcode) {\n\t_inherits(GenericBarcode, _Barcode);\n\n\tfunction GenericBarcode(data, options) {\n\t\t_classCallCheck(this, GenericBarcode);\n\n\t\treturn _possibleConstructorReturn(this, (GenericBarcode.__proto__ || Object.getPrototypeOf(GenericBarcode)).call(this, data, options)); // Sets this.data and this.text\n\t}\n\n\t// Return the corresponding binary numbers for the data provided\n\n\n\t_createClass(GenericBarcode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\treturn {\n\t\t\t\tdata: \"10101010101010101010101010101010101010101\",\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Resturn true/false if the string provided is valid for this encoder\n\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn true;\n\t\t}\n\t}]);\n\n\treturn GenericBarcode;\n}(_Barcode3.default);\n\nexports.GenericBarcode = GenericBarcode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ITF = function (_Barcode) {\n\t_inherits(ITF, _Barcode);\n\n\tfunction ITF() {\n\t\t_classCallCheck(this, ITF);\n\n\t\treturn _possibleConstructorReturn(this, (ITF.__proto__ || Object.getPrototypeOf(ITF)).apply(this, arguments));\n\t}\n\n\t_createClass(ITF, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^([0-9]{2})+$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Calculate all the digit pairs\n\t\t\tvar encoded = this.data.match(/.{2}/g).map(function (pair) {\n\t\t\t\treturn _this2.encodePair(pair);\n\t\t\t}).join('');\n\n\t\t\treturn {\n\t\t\t\tdata: _constants.START_BIN + encoded + _constants.END_BIN,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Calculate the data of a number pair\n\n\t}, {\n\t\tkey: 'encodePair',\n\t\tvalue: function encodePair(pair) {\n\t\t\tvar second = _constants.BINARIES[pair[1]];\n\n\t\t\treturn _constants.BINARIES[pair[0]].split('').map(function (first, idx) {\n\t\t\t\treturn (first === '1' ? '111' : '1') + (second[idx] === '1' ? '000' : '0');\n\t\t\t}).join('');\n\t\t}\n\t}]);\n\n\treturn ITF;\n}(_Barcode3.default);\n\nexports.default = ITF;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ITF2 = require('./ITF');\n\nvar _ITF3 = _interopRequireDefault(_ITF2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Calculate the checksum digit\nvar checksum = function checksum(data) {\n\tvar res = data.substr(0, 13).split('').map(function (num) {\n\t\treturn parseInt(num, 10);\n\t}).reduce(function (sum, n, idx) {\n\t\treturn sum + n * (3 - idx % 2 * 2);\n\t}, 0);\n\n\treturn Math.ceil(res / 10) * 10 - res;\n};\n\nvar ITF14 = function (_ITF) {\n\t_inherits(ITF14, _ITF);\n\n\tfunction ITF14(data, options) {\n\t\t_classCallCheck(this, ITF14);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{13}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\t\treturn _possibleConstructorReturn(this, (ITF14.__proto__ || Object.getPrototypeOf(ITF14)).call(this, data, options));\n\t}\n\n\t_createClass(ITF14, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data);\n\t\t}\n\t}]);\n\n\treturn ITF14;\n}(_ITF3.default);\n\nexports.default = ITF14;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar START_BIN = exports.START_BIN = '1010';\nvar END_BIN = exports.END_BIN = '11101';\n\nvar BINARIES = exports.BINARIES = ['00110', '10001', '01001', '11000', '00101', '10100', '01100', '00011', '10010', '01010'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ITF14 = exports.ITF = undefined;\n\nvar _ITF = require('./ITF');\n\nvar _ITF2 = _interopRequireDefault(_ITF);\n\nvar _ITF3 = require('./ITF14');\n\nvar _ITF4 = _interopRequireDefault(_ITF3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ITF = _ITF2.default;\nexports.ITF14 = _ITF4.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// https://en.wikipedia.org/wiki/MSI_Barcode#Character_set_and_binary_lookup\n\nvar MSI = function (_Barcode) {\n\t_inherits(MSI, _Barcode);\n\n\tfunction MSI(data, options) {\n\t\t_classCallCheck(this, MSI);\n\n\t\treturn _possibleConstructorReturn(this, (MSI.__proto__ || Object.getPrototypeOf(MSI)).call(this, data, options));\n\t}\n\n\t_createClass(MSI, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// Start bits\n\t\t\tvar ret = \"110\";\n\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\t// Convert the character to binary (always 4 binary digits)\n\t\t\t\tvar digit = parseInt(this.data[i]);\n\t\t\t\tvar bin = digit.toString(2);\n\t\t\t\tbin = addZeroes(bin, 4 - bin.length);\n\n\t\t\t\t// Add 100 for every zero and 110 for every 1\n\t\t\t\tfor (var b = 0; b < bin.length; b++) {\n\t\t\t\t\tret += bin[b] == \"0\" ? \"100\" : \"110\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// End bits\n\t\t\tret += \"1001\";\n\n\t\t\treturn {\n\t\t\t\tdata: ret,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn MSI;\n}(_Barcode3.default);\n\nfunction addZeroes(number, n) {\n\tfor (var i = 0; i < n; i++) {\n\t\tnumber = \"0\" + number;\n\t}\n\treturn number;\n}\n\nexports.default = MSI;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI10 = function (_MSI) {\n\t_inherits(MSI10, _MSI);\n\n\tfunction MSI10(data, options) {\n\t\t_classCallCheck(this, MSI10);\n\n\t\treturn _possibleConstructorReturn(this, (MSI10.__proto__ || Object.getPrototypeOf(MSI10)).call(this, data + (0, _checksums.mod10)(data), options));\n\t}\n\n\treturn MSI10;\n}(_MSI3.default);\n\nexports.default = MSI10;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1010 = function (_MSI) {\n\t_inherits(MSI1010, _MSI);\n\n\tfunction MSI1010(data, options) {\n\t\t_classCallCheck(this, MSI1010);\n\n\t\tdata += (0, _checksums.mod10)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1010.__proto__ || Object.getPrototypeOf(MSI1010)).call(this, data, options));\n\t}\n\n\treturn MSI1010;\n}(_MSI3.default);\n\nexports.default = MSI1010;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI11 = function (_MSI) {\n\t_inherits(MSI11, _MSI);\n\n\tfunction MSI11(data, options) {\n\t\t_classCallCheck(this, MSI11);\n\n\t\treturn _possibleConstructorReturn(this, (MSI11.__proto__ || Object.getPrototypeOf(MSI11)).call(this, data + (0, _checksums.mod11)(data), options));\n\t}\n\n\treturn MSI11;\n}(_MSI3.default);\n\nexports.default = MSI11;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1110 = function (_MSI) {\n\t_inherits(MSI1110, _MSI);\n\n\tfunction MSI1110(data, options) {\n\t\t_classCallCheck(this, MSI1110);\n\n\t\tdata += (0, _checksums.mod11)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1110.__proto__ || Object.getPrototypeOf(MSI1110)).call(this, data, options));\n\t}\n\n\treturn MSI1110;\n}(_MSI3.default);\n\nexports.default = MSI1110;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.mod10 = mod10;\nexports.mod11 = mod11;\nfunction mod10(number) {\n\tvar sum = 0;\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[i]);\n\t\tif ((i + number.length) % 2 === 0) {\n\t\t\tsum += n;\n\t\t} else {\n\t\t\tsum += n * 2 % 10 + Math.floor(n * 2 / 10);\n\t\t}\n\t}\n\treturn (10 - sum % 10) % 10;\n}\n\nfunction mod11(number) {\n\tvar sum = 0;\n\tvar weights = [2, 3, 4, 5, 6, 7];\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[number.length - 1 - i]);\n\t\tsum += weights[i % weights.length] * n;\n\t}\n\treturn (11 - sum % 11) % 11;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MSI1110 = exports.MSI1010 = exports.MSI11 = exports.MSI10 = exports.MSI = undefined;\n\nvar _MSI = require('./MSI.js');\n\nvar _MSI2 = _interopRequireDefault(_MSI);\n\nvar _MSI3 = require('./MSI10.js');\n\nvar _MSI4 = _interopRequireDefault(_MSI3);\n\nvar _MSI5 = require('./MSI11.js');\n\nvar _MSI6 = _interopRequireDefault(_MSI5);\n\nvar _MSI7 = require('./MSI1010.js');\n\nvar _MSI8 = _interopRequireDefault(_MSI7);\n\nvar _MSI9 = require('./MSI1110.js');\n\nvar _MSI10 = _interopRequireDefault(_MSI9);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.MSI = _MSI2.default;\nexports.MSI10 = _MSI4.default;\nexports.MSI11 = _MSI6.default;\nexports.MSI1010 = _MSI8.default;\nexports.MSI1110 = _MSI10.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.codabar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding specification:\n// http://www.barcodeisland.com/codabar.phtml\n\nvar codabar = function (_Barcode) {\n\t_inherits(codabar, _Barcode);\n\n\tfunction codabar(data, options) {\n\t\t_classCallCheck(this, codabar);\n\n\t\tif (data.search(/^[0-9\\-\\$\\:\\.\\+\\/]+$/) === 0) {\n\t\t\tdata = \"A\" + data + \"A\";\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (codabar.__proto__ || Object.getPrototypeOf(codabar)).call(this, data.toUpperCase(), options));\n\n\t\t_this.text = _this.options.text || _this.text.replace(/[A-D]/g, '');\n\t\treturn _this;\n\t}\n\n\t_createClass(codabar, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[A-D][0-9\\-\\$\\:\\.\\+\\/]+[A-D]$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar result = [];\n\t\t\tvar encodings = this.getEncodings();\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult.push(encodings[this.data.charAt(i)]);\n\t\t\t\t// for all characters except the last, append a narrow-space (\"0\")\n\t\t\t\tif (i !== this.data.length - 1) {\n\t\t\t\t\tresult.push(\"0\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttext: this.text,\n\t\t\t\tdata: result.join('')\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"getEncodings\",\n\t\tvalue: function getEncodings() {\n\t\t\treturn {\n\t\t\t\t\"0\": \"101010011\",\n\t\t\t\t\"1\": \"101011001\",\n\t\t\t\t\"2\": \"101001011\",\n\t\t\t\t\"3\": \"110010101\",\n\t\t\t\t\"4\": \"101101001\",\n\t\t\t\t\"5\": \"110101001\",\n\t\t\t\t\"6\": \"100101011\",\n\t\t\t\t\"7\": \"100101101\",\n\t\t\t\t\"8\": \"100110101\",\n\t\t\t\t\"9\": \"110100101\",\n\t\t\t\t\"-\": \"101001101\",\n\t\t\t\t\"$\": \"101100101\",\n\t\t\t\t\":\": \"1101011011\",\n\t\t\t\t\"/\": \"1101101011\",\n\t\t\t\t\".\": \"1101101101\",\n\t\t\t\t\"+\": \"1011011011\",\n\t\t\t\t\"A\": \"1011001001\",\n\t\t\t\t\"B\": \"1001001011\",\n\t\t\t\t\"C\": \"1010010011\",\n\t\t\t\t\"D\": \"1010011001\"\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn codabar;\n}(_Barcode3.default);\n\nexports.codabar = codabar;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE = require('./CODE39/');\n\nvar _CODE2 = require('./CODE128/');\n\nvar _EAN_UPC = require('./EAN_UPC/');\n\nvar _ITF = require('./ITF/');\n\nvar _MSI = require('./MSI/');\n\nvar _pharmacode = require('./pharmacode/');\n\nvar _codabar = require('./codabar');\n\nvar _GenericBarcode = require('./GenericBarcode/');\n\nexports.default = {\n\tCODE39: _CODE.CODE39,\n\tCODE128: _CODE2.CODE128, CODE128A: _CODE2.CODE128A, CODE128B: _CODE2.CODE128B, CODE128C: _CODE2.CODE128C,\n\tEAN13: _EAN_UPC.EAN13, EAN8: _EAN_UPC.EAN8, EAN5: _EAN_UPC.EAN5, EAN2: _EAN_UPC.EAN2, UPC: _EAN_UPC.UPC, UPCE: _EAN_UPC.UPCE,\n\tITF14: _ITF.ITF14,\n\tITF: _ITF.ITF,\n\tMSI: _MSI.MSI, MSI10: _MSI.MSI10, MSI11: _MSI.MSI11, MSI1010: _MSI.MSI1010, MSI1110: _MSI.MSI1110,\n\tpharmacode: _pharmacode.pharmacode,\n\tcodabar: _codabar.codabar,\n\tGenericBarcode: _GenericBarcode.GenericBarcode\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.pharmacode = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf\n\nvar pharmacode = function (_Barcode) {\n\t_inherits(pharmacode, _Barcode);\n\n\tfunction pharmacode(data, options) {\n\t\t_classCallCheck(this, pharmacode);\n\n\t\tvar _this = _possibleConstructorReturn(this, (pharmacode.__proto__ || Object.getPrototypeOf(pharmacode)).call(this, data, options));\n\n\t\t_this.number = parseInt(data, 10);\n\t\treturn _this;\n\t}\n\n\t_createClass(pharmacode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar z = this.number;\n\t\t\tvar result = \"\";\n\n\t\t\t// http://i.imgur.com/RMm4UDJ.png\n\t\t\t// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)\n\t\t\twhile (!isNaN(z) && z != 0) {\n\t\t\t\tif (z % 2 === 0) {\n\t\t\t\t\t// Even\n\t\t\t\t\tresult = \"11100\" + result;\n\t\t\t\t\tz = (z - 2) / 2;\n\t\t\t\t} else {\n\t\t\t\t\t// Odd\n\t\t\t\t\tresult = \"100\" + result;\n\t\t\t\t\tz = (z - 1) / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove the two last zeroes\n\t\t\tresult = result.slice(0, -2);\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.number >= 3 && this.number <= 131070;\n\t\t}\n\t}]);\n\n\treturn pharmacode;\n}(_Barcode3.default);\n\nexports.pharmacode = pharmacode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/*eslint no-console: 0 */\n\nvar ErrorHandler = function () {\n\tfunction ErrorHandler(api) {\n\t\t_classCallCheck(this, ErrorHandler);\n\n\t\tthis.api = api;\n\t}\n\n\t_createClass(ErrorHandler, [{\n\t\tkey: \"handleCatch\",\n\t\tvalue: function handleCatch(e) {\n\t\t\t// If babel supported extending of Error in a correct way instanceof would be used here\n\t\t\tif (e.name === \"InvalidInputException\") {\n\t\t\t\tif (this.api._options.valid !== this.api._defaults.valid) {\n\t\t\t\t\tthis.api._options.valid(false);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e.message;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow e;\n\t\t\t}\n\n\t\t\tthis.api.render = function () {};\n\t\t}\n\t}, {\n\t\tkey: \"wrapBarcodeCall\",\n\t\tvalue: function wrapBarcodeCall(func) {\n\t\t\ttry {\n\t\t\t\tvar result = func.apply(undefined, arguments);\n\t\t\t\tthis.api._options.valid(true);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleCatch(e);\n\n\t\t\t\treturn this.api;\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn ErrorHandler;\n}();\n\nexports.default = ErrorHandler;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar InvalidInputException = function (_Error) {\n\t_inherits(InvalidInputException, _Error);\n\n\tfunction InvalidInputException(symbology, input) {\n\t\t_classCallCheck(this, InvalidInputException);\n\n\t\tvar _this = _possibleConstructorReturn(this, (InvalidInputException.__proto__ || Object.getPrototypeOf(InvalidInputException)).call(this));\n\n\t\t_this.name = \"InvalidInputException\";\n\n\t\t_this.symbology = symbology;\n\t\t_this.input = input;\n\n\t\t_this.message = '\"' + _this.input + '\" is not a valid input for ' + _this.symbology;\n\t\treturn _this;\n\t}\n\n\treturn InvalidInputException;\n}(Error);\n\nvar InvalidElementException = function (_Error2) {\n\t_inherits(InvalidElementException, _Error2);\n\n\tfunction InvalidElementException() {\n\t\t_classCallCheck(this, InvalidElementException);\n\n\t\tvar _this2 = _possibleConstructorReturn(this, (InvalidElementException.__proto__ || Object.getPrototypeOf(InvalidElementException)).call(this));\n\n\t\t_this2.name = \"InvalidElementException\";\n\t\t_this2.message = \"Not supported type to render on\";\n\t\treturn _this2;\n\t}\n\n\treturn InvalidElementException;\n}(Error);\n\nvar NoElementException = function (_Error3) {\n\t_inherits(NoElementException, _Error3);\n\n\tfunction NoElementException() {\n\t\t_classCallCheck(this, NoElementException);\n\n\t\tvar _this3 = _possibleConstructorReturn(this, (NoElementException.__proto__ || Object.getPrototypeOf(NoElementException)).call(this));\n\n\t\t_this3.name = \"NoElementException\";\n\t\t_this3.message = \"No element to render on.\";\n\t\treturn _this3;\n\t}\n\n\treturn NoElementException;\n}(Error);\n\nexports.InvalidInputException = InvalidInputException;\nexports.InvalidElementException = InvalidElementException;\nexports.NoElementException = NoElementException;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = fixOptions;\n\n\nfunction fixOptions(options) {\n\t// Fix the margins\n\toptions.marginTop = options.marginTop || options.margin;\n\toptions.marginBottom = options.marginBottom || options.margin;\n\toptions.marginRight = options.marginRight || options.margin;\n\toptions.marginLeft = options.marginLeft || options.margin;\n\n\treturn options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _optionsFromStrings = require(\"./optionsFromStrings.js\");\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _defaults = require(\"../options/defaults.js\");\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getOptionsFromElement(element) {\n\tvar options = {};\n\tfor (var property in _defaults2.default) {\n\t\tif (_defaults2.default.hasOwnProperty(property)) {\n\t\t\t// jsbarcode-*\n\t\t\tif (element.hasAttribute(\"jsbarcode-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"jsbarcode-\" + property.toLowerCase());\n\t\t\t}\n\n\t\t\t// data-*\n\t\t\tif (element.hasAttribute(\"data-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"data-\" + property.toLowerCase());\n\t\t\t}\n\t\t}\n\t}\n\n\toptions[\"value\"] = element.getAttribute(\"jsbarcode-value\") || element.getAttribute(\"data-value\");\n\n\t// Since all atributes are string they need to be converted to integers\n\toptions = (0, _optionsFromStrings2.default)(options);\n\n\treturn options;\n}\n\nexports.default = getOptionsFromElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* global HTMLImageElement */\n/* global HTMLCanvasElement */\n/* global SVGElement */\n\nvar _getOptionsFromElement = require(\"./getOptionsFromElement.js\");\n\nvar _getOptionsFromElement2 = _interopRequireDefault(_getOptionsFromElement);\n\nvar _renderers = require(\"../renderers\");\n\nvar _renderers2 = _interopRequireDefault(_renderers);\n\nvar _exceptions = require(\"../exceptions/exceptions.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Takes an element and returns an object with information about how\n// it should be rendered\n// This could also return an array with these objects\n// {\n// element: The element that the renderer should draw on\n// renderer: The name of the renderer\n// afterRender (optional): If something has to done after the renderer\n// completed, calls afterRender (function)\n// options (optional): Options that can be defined in the element\n// }\n\nfunction getRenderProperties(element) {\n\t// If the element is a string, query select call again\n\tif (typeof element === \"string\") {\n\t\treturn querySelectedRenderProperties(element);\n\t}\n\t// If element is array. Recursivly call with every object in the array\n\telse if (Array.isArray(element)) {\n\t\t\tvar returnArray = [];\n\t\t\tfor (var i = 0; i < element.length; i++) {\n\t\t\t\treturnArray.push(getRenderProperties(element[i]));\n\t\t\t}\n\t\t\treturn returnArray;\n\t\t}\n\t\t// If element, render on canvas and set the uri as src\n\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement) {\n\t\t\t\treturn newCanvasRenderProperties(element);\n\t\t\t}\n\t\t\t// If SVG\n\t\t\telse if (element && element.nodeName && element.nodeName.toLowerCase() === 'svg' || typeof SVGElement !== 'undefined' && element instanceof SVGElement) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\telement: element,\n\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\trenderer: _renderers2.default.SVGRenderer\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// If canvas (in browser)\n\t\t\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t// If canvas (in node)\n\t\t\t\t\telse if (element && element.getContext) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (element && (typeof element === \"undefined\" ? \"undefined\" : _typeof(element)) === 'object' && !element.nodeName) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.ObjectRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new _exceptions.InvalidElementException();\n\t\t\t\t\t\t}\n}\n\nfunction querySelectedRenderProperties(string) {\n\tvar selector = document.querySelectorAll(string);\n\tif (selector.length === 0) {\n\t\treturn undefined;\n\t} else {\n\t\tvar returnArray = [];\n\t\tfor (var i = 0; i < selector.length; i++) {\n\t\t\treturnArray.push(getRenderProperties(selector[i]));\n\t\t}\n\t\treturn returnArray;\n\t}\n}\n\nfunction newCanvasRenderProperties(imgElement) {\n\tvar canvas = document.createElement('canvas');\n\treturn {\n\t\telement: canvas,\n\t\toptions: (0, _getOptionsFromElement2.default)(imgElement),\n\t\trenderer: _renderers2.default.CanvasRenderer,\n\t\tafterRender: function afterRender() {\n\t\t\timgElement.setAttribute(\"src\", canvas.toDataURL());\n\t\t}\n\t};\n}\n\nexports.default = getRenderProperties;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = linearizeEncodings;\n\n// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\nfunction linearizeEncodings(encodings) {\n\tvar linearEncodings = [];\n\tfunction nextLevel(encoded) {\n\t\tif (Array.isArray(encoded)) {\n\t\t\tfor (var i = 0; i < encoded.length; i++) {\n\t\t\t\tnextLevel(encoded[i]);\n\t\t\t}\n\t\t} else {\n\t\t\tencoded.text = encoded.text || \"\";\n\t\t\tencoded.data = encoded.data || \"\";\n\t\t\tlinearEncodings.push(encoded);\n\t\t}\n\t}\n\tnextLevel(encodings);\n\n\treturn linearEncodings;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function (old, replaceObj) {\n return _extends({}, old, replaceObj);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = optionsFromStrings;\n\n// Convert string to integers/booleans where it should be\n\nfunction optionsFromStrings(options) {\n\tvar intOptions = [\"width\", \"height\", \"textMargin\", \"fontSize\", \"margin\", \"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"];\n\n\tfor (var intOption in intOptions) {\n\t\tif (intOptions.hasOwnProperty(intOption)) {\n\t\t\tintOption = intOptions[intOption];\n\t\t\tif (typeof options[intOption] === \"string\") {\n\t\t\t\toptions[intOption] = parseInt(options[intOption], 10);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof options[\"displayValue\"] === \"string\") {\n\t\toptions[\"displayValue\"] = options[\"displayValue\"] != \"false\";\n\t}\n\n\treturn options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar defaults = {\n\twidth: 2,\n\theight: 100,\n\tformat: \"auto\",\n\tdisplayValue: true,\n\tfontOptions: \"\",\n\tfont: \"monospace\",\n\ttext: undefined,\n\ttextAlign: \"center\",\n\ttextPosition: \"bottom\",\n\ttextMargin: 2,\n\tfontSize: 20,\n\tbackground: \"#ffffff\",\n\tlineColor: \"#000000\",\n\tmargin: 10,\n\tmarginTop: undefined,\n\tmarginBottom: undefined,\n\tmarginLeft: undefined,\n\tmarginRight: undefined,\n\tvalid: function valid() {}\n};\n\nexports.default = defaults;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CanvasRenderer = function () {\n\tfunction CanvasRenderer(canvas, encodings, options) {\n\t\t_classCallCheck(this, CanvasRenderer);\n\n\t\tthis.canvas = canvas;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(CanvasRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\t// Abort if the browser does not support HTML5 canvas\n\t\t\tif (!this.canvas.getContext) {\n\t\t\t\tthrow new Error('The browser does not support canvas.');\n\t\t\t}\n\n\t\t\tthis.prepareCanvas();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, this.encodings[i].options);\n\n\t\t\t\tthis.drawCanvasBarcode(encodingOptions, this.encodings[i]);\n\t\t\t\tthis.drawCanvasText(encodingOptions, this.encodings[i]);\n\n\t\t\t\tthis.moveCanvasDrawing(this.encodings[i]);\n\t\t\t}\n\n\t\t\tthis.restoreCanvas();\n\t\t}\n\t}, {\n\t\tkey: \"prepareCanvas\",\n\t\tvalue: function prepareCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.save();\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options, ctx);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tthis.canvas.width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\n\t\t\tthis.canvas.height = maxHeight;\n\n\t\t\t// Paint the canvas\n\t\t\tctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\tif (this.options.background) {\n\t\t\t\tctx.fillStyle = this.options.background;\n\t\t\t\tctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\t}\n\n\t\t\tctx.translate(this.options.marginLeft, 0);\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasBarcode\",\n\t\tvalue: function drawCanvasBarcode(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.marginTop + options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = options.marginTop;\n\t\t\t}\n\n\t\t\tctx.fillStyle = options.lineColor;\n\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tvar x = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height);\n\t\t\t\t} else if (binary[b]) {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height * binary[b]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasText\",\n\t\tvalue: function drawCanvasText(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.marginTop + options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.marginTop + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\tctx.font = font;\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\tctx.textAlign = 'right';\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t}\n\n\t\t\t\tctx.fillText(encoding.text, x, y);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"moveCanvasDrawing\",\n\t\tvalue: function moveCanvasDrawing(encoding) {\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.translate(encoding.width, 0);\n\t\t}\n\t}, {\n\t\tkey: \"restoreCanvas\",\n\t\tvalue: function restoreCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.restore();\n\t\t}\n\t}]);\n\n\treturn CanvasRenderer;\n}();\n\nexports.default = CanvasRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _canvas = require('./canvas.js');\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _svg = require('./svg.js');\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _object = require('./object.js');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = { CanvasRenderer: _canvas2.default, SVGRenderer: _svg2.default, ObjectRenderer: _object2.default };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ObjectRenderer = function () {\n\tfunction ObjectRenderer(object, encodings, options) {\n\t\t_classCallCheck(this, ObjectRenderer);\n\n\t\tthis.object = object;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(ObjectRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tthis.object.encodings = this.encodings;\n\t\t}\n\t}]);\n\n\treturn ObjectRenderer;\n}();\n\nexports.default = ObjectRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.getTotalWidthOfEncodings = exports.calculateEncodingAttributes = exports.getBarcodePadding = exports.getEncodingHeight = exports.getMaximumHeightOfEncodings = undefined;\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getEncodingHeight(encoding, options) {\n\treturn options.height + (options.displayValue && encoding.text.length > 0 ? options.fontSize + options.textMargin : 0) + options.marginTop + options.marginBottom;\n}\n\nfunction getBarcodePadding(textWidth, barcodeWidth, options) {\n\tif (options.displayValue && barcodeWidth < textWidth) {\n\t\tif (options.textAlign == \"center\") {\n\t\t\treturn Math.floor((textWidth - barcodeWidth) / 2);\n\t\t} else if (options.textAlign == \"left\") {\n\t\t\treturn 0;\n\t\t} else if (options.textAlign == \"right\") {\n\t\t\treturn Math.floor(textWidth - barcodeWidth);\n\t\t}\n\t}\n\treturn 0;\n}\n\nfunction calculateEncodingAttributes(encodings, barcodeOptions, context) {\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tvar encoding = encodings[i];\n\t\tvar options = (0, _merge2.default)(barcodeOptions, encoding.options);\n\n\t\t// Calculate the width of the encoding\n\t\tvar textWidth;\n\t\tif (options.displayValue) {\n\t\t\ttextWidth = messureText(encoding.text, options, context);\n\t\t} else {\n\t\t\ttextWidth = 0;\n\t\t}\n\n\t\tvar barcodeWidth = encoding.data.length * options.width;\n\t\tencoding.width = Math.ceil(Math.max(textWidth, barcodeWidth));\n\n\t\tencoding.height = getEncodingHeight(encoding, options);\n\n\t\tencoding.barcodePadding = getBarcodePadding(textWidth, barcodeWidth, options);\n\t}\n}\n\nfunction getTotalWidthOfEncodings(encodings) {\n\tvar totalWidth = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\ttotalWidth += encodings[i].width;\n\t}\n\treturn totalWidth;\n}\n\nfunction getMaximumHeightOfEncodings(encodings) {\n\tvar maxHeight = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tif (encodings[i].height > maxHeight) {\n\t\t\tmaxHeight = encodings[i].height;\n\t\t}\n\t}\n\treturn maxHeight;\n}\n\nfunction messureText(string, options, context) {\n\tvar ctx;\n\n\tif (context) {\n\t\tctx = context;\n\t} else if (typeof document !== \"undefined\") {\n\t\tctx = document.createElement(\"canvas\").getContext(\"2d\");\n\t} else {\n\t\t// If the text cannot be messured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tctx.font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t// Calculate the width of the encoding\n\tvar measureTextResult = ctx.measureText(string);\n\tif (!measureTextResult) {\n\t\t// Some implementations don't implement measureText and return undefined.\n\t\t// If the text cannot be measured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tvar size = measureTextResult.width;\n\treturn size;\n}\n\nexports.getMaximumHeightOfEncodings = getMaximumHeightOfEncodings;\nexports.getEncodingHeight = getEncodingHeight;\nexports.getBarcodePadding = getBarcodePadding;\nexports.calculateEncodingAttributes = calculateEncodingAttributes;\nexports.getTotalWidthOfEncodings = getTotalWidthOfEncodings;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar svgns = \"http://www.w3.org/2000/svg\";\n\nvar SVGRenderer = function () {\n\tfunction SVGRenderer(svg, encodings, options) {\n\t\t_classCallCheck(this, SVGRenderer);\n\n\t\tthis.svg = svg;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t\tthis.document = options.xmlDocument || document;\n\t}\n\n\t_createClass(SVGRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar currentX = this.options.marginLeft;\n\n\t\t\tthis.prepareSVG();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encoding = this.encodings[i];\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, encoding.options);\n\n\t\t\t\tvar group = this.createGroup(currentX, encodingOptions.marginTop, this.svg);\n\n\t\t\t\tthis.setGroupOptions(group, encodingOptions);\n\n\t\t\t\tthis.drawSvgBarcode(group, encodingOptions, encoding);\n\t\t\t\tthis.drawSVGText(group, encodingOptions, encoding);\n\n\t\t\t\tcurrentX += encoding.width;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"prepareSVG\",\n\t\tvalue: function prepareSVG() {\n\t\t\t// Clear the SVG\n\t\t\twhile (this.svg.firstChild) {\n\t\t\t\tthis.svg.removeChild(this.svg.firstChild);\n\t\t\t}\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tvar width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\t\t\tthis.setSvgAttributes(width, maxHeight);\n\n\t\t\tif (this.options.background) {\n\t\t\t\tthis.drawRect(0, 0, width, maxHeight, this.svg).setAttribute(\"style\", \"fill:\" + this.options.background + \";\");\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSvgBarcode\",\n\t\tvalue: function drawSvgBarcode(parent, options, encoding) {\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = 0;\n\t\t\t}\n\n\t\t\tvar barWidth = 0;\n\t\t\tvar x = 0;\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tx = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tbarWidth++;\n\t\t\t\t} else if (barWidth > 0) {\n\t\t\t\t\tthis.drawRect(x - options.width * barWidth, yFrom, options.width * barWidth, options.height, parent);\n\t\t\t\t\tbarWidth = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Last draw is needed since the barcode ends with 1\n\t\t\tif (barWidth > 0) {\n\t\t\t\tthis.drawRect(x - options.width * (barWidth - 1), yFrom, options.width * barWidth, options.height, parent);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSVGText\",\n\t\tvalue: function drawSVGText(parent, options, encoding) {\n\t\t\tvar textElem = this.document.createElementNS(svgns, 'text');\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\ttextElem.setAttribute(\"style\", \"font:\" + options.fontOptions + \" \" + options.fontSize + \"px \" + options.font);\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"start\");\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"end\");\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"middle\");\n\t\t\t\t\t}\n\n\t\t\t\ttextElem.setAttribute(\"x\", x);\n\t\t\t\ttextElem.setAttribute(\"y\", y);\n\n\t\t\t\ttextElem.appendChild(this.document.createTextNode(encoding.text));\n\n\t\t\t\tparent.appendChild(textElem);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"setSvgAttributes\",\n\t\tvalue: function setSvgAttributes(width, height) {\n\t\t\tvar svg = this.svg;\n\t\t\tsvg.setAttribute(\"width\", width + \"px\");\n\t\t\tsvg.setAttribute(\"height\", height + \"px\");\n\t\t\tsvg.setAttribute(\"x\", \"0px\");\n\t\t\tsvg.setAttribute(\"y\", \"0px\");\n\t\t\tsvg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n\t\t\tsvg.setAttribute(\"xmlns\", svgns);\n\t\t\tsvg.setAttribute(\"version\", \"1.1\");\n\n\t\t\tsvg.setAttribute(\"style\", \"transform: translate(0,0)\");\n\t\t}\n\t}, {\n\t\tkey: \"createGroup\",\n\t\tvalue: function createGroup(x, y, parent) {\n\t\t\tvar group = this.document.createElementNS(svgns, 'g');\n\t\t\tgroup.setAttribute(\"transform\", \"translate(\" + x + \", \" + y + \")\");\n\n\t\t\tparent.appendChild(group);\n\n\t\t\treturn group;\n\t\t}\n\t}, {\n\t\tkey: \"setGroupOptions\",\n\t\tvalue: function setGroupOptions(group, options) {\n\t\t\tgroup.setAttribute(\"style\", \"fill:\" + options.lineColor + \";\");\n\t\t}\n\t}, {\n\t\tkey: \"drawRect\",\n\t\tvalue: function drawRect(x, y, width, height, parent) {\n\t\t\tvar rect = this.document.createElementNS(svgns, 'rect');\n\n\t\t\trect.setAttribute(\"x\", x);\n\t\t\trect.setAttribute(\"y\", y);\n\t\t\trect.setAttribute(\"width\", width);\n\t\t\trect.setAttribute(\"height\", height);\n\n\t\t\tparent.appendChild(rect);\n\n\t\t\treturn rect;\n\t\t}\n\t}]);\n\n\treturn SVGRenderer;\n}();\n\nexports.default = SVGRenderer;","import { Component, Renderer2, Input, ViewChild, NgModule } from '@angular/core';\n\n/* eslint-disable @angular-eslint/no-input-rename, @angular-eslint/component-selector */\nimport * as ɵngcc0 from '@angular/core';\n\nconst _c0 = [\"bcElement\"];\nconst jsbarcode = require('jsbarcode');\nclass NgxBarcode6Component {\n constructor(renderer) {\n this.renderer = renderer;\n this.elementType = 'svg';\n this.cssClass = 'barcode'; // this should be done more elegantly\n this.format = 'CODE128';\n this.lineColor = '#000000';\n this.width = 2;\n this.height = 100;\n this.displayValue = false;\n this.fontOptions = '';\n this.font = 'monospace';\n this.textAlign = 'center';\n this.textPosition = 'bottom';\n this.textMargin = 2;\n this.fontSize = 20;\n this.background = '#ffffff';\n this.margin = 10;\n this.marginTop = 10;\n this.marginBottom = 10;\n this.marginLeft = 10;\n this.marginRight = 10;\n this.value = '';\n this.valid = () => true;\n }\n get options() {\n return {\n format: this.format,\n lineColor: this.lineColor,\n width: this.width,\n height: this.height,\n displayValue: this.displayValue,\n fontOptions: this.fontOptions,\n font: this.font,\n textAlign: this.textAlign,\n textPosition: this.textPosition,\n textMargin: this.textMargin,\n fontSize: this.fontSize,\n background: this.background,\n margin: this.margin,\n marginTop: this.marginTop,\n marginBottom: this.marginBottom,\n marginLeft: this.marginLeft,\n marginRight: this.marginRight,\n valid: this.valid,\n };\n }\n ngOnChanges() {\n this.createBarcode();\n }\n createBarcode() {\n if (!this.value) {\n return;\n }\n let element;\n switch (this.elementType) {\n case 'img':\n element = this.renderer.createElement('img');\n break;\n case 'canvas':\n element = this.renderer.createElement('canvas');\n break;\n case 'svg':\n default:\n element = this.renderer.createElement('svg', 'svg');\n }\n jsbarcode(element, this.value, this.options);\n for (const node of this.bcElement.nativeElement.childNodes) {\n this.renderer.removeChild(this.bcElement.nativeElement, node);\n }\n this.renderer.appendChild(this.bcElement.nativeElement, element);\n }\n}\nNgxBarcode6Component.ɵfac = function NgxBarcode6Component_Factory(t) { return new (t || NgxBarcode6Component)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgxBarcode6Component.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxBarcode6Component, selectors: [[\"ngx-barcode6\"]], viewQuery: function NgxBarcode6Component_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.bcElement = _t.first);\n } }, inputs: { elementType: [\"bc-element-type\", \"elementType\"], cssClass: [\"bc-class\", \"cssClass\"], format: [\"bc-format\", \"format\"], lineColor: [\"bc-line-color\", \"lineColor\"], width: [\"bc-width\", \"width\"], height: [\"bc-height\", \"height\"], displayValue: [\"bc-display-value\", \"displayValue\"], fontOptions: [\"bc-font-options\", \"fontOptions\"], font: [\"bc-font\", \"font\"], textAlign: [\"bc-text-align\", \"textAlign\"], textPosition: [\"bc-text-position\", \"textPosition\"], textMargin: [\"bc-text-margin\", \"textMargin\"], fontSize: [\"bc-font-size\", \"fontSize\"], background: [\"bc-background\", \"background\"], margin: [\"bc-margin\", \"margin\"], marginTop: [\"bc-margin-top\", \"marginTop\"], marginBottom: [\"bc-margin-bottom\", \"marginBottom\"], marginLeft: [\"bc-margin-left\", \"marginLeft\"], marginRight: [\"bc-margin-right\", \"marginRight\"], value: [\"bc-value\", \"value\"], valid: [\"bc-valid\", \"valid\"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[\"bcElement\", \"\"]], template: function NgxBarcode6Component_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", null, 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.cssClass);\n } }, encapsulation: 2 });\nNgxBarcode6Component.ctorParameters = () => [\n { type: Renderer2 }\n];\nNgxBarcode6Component.propDecorators = {\n elementType: [{ type: Input, args: ['bc-element-type',] }],\n cssClass: [{ type: Input, args: ['bc-class',] }],\n format: [{ type: Input, args: ['bc-format',] }],\n lineColor: [{ type: Input, args: ['bc-line-color',] }],\n width: [{ type: Input, args: ['bc-width',] }],\n height: [{ type: Input, args: ['bc-height',] }],\n displayValue: [{ type: Input, args: ['bc-display-value',] }],\n fontOptions: [{ type: Input, args: ['bc-font-options',] }],\n font: [{ type: Input, args: ['bc-font',] }],\n textAlign: [{ type: Input, args: ['bc-text-align',] }],\n textPosition: [{ type: Input, args: ['bc-text-position',] }],\n textMargin: [{ type: Input, args: ['bc-text-margin',] }],\n fontSize: [{ type: Input, args: ['bc-font-size',] }],\n background: [{ type: Input, args: ['bc-background',] }],\n margin: [{ type: Input, args: ['bc-margin',] }],\n marginTop: [{ type: Input, args: ['bc-margin-top',] }],\n marginBottom: [{ type: Input, args: ['bc-margin-bottom',] }],\n marginLeft: [{ type: Input, args: ['bc-margin-left',] }],\n marginRight: [{ type: Input, args: ['bc-margin-right',] }],\n value: [{ type: Input, args: ['bc-value',] }],\n bcElement: [{ type: ViewChild, args: ['bcElement', { static: true },] }],\n valid: [{ type: Input, args: ['bc-valid',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxBarcode6Component, [{\n type: Component,\n args: [{\n selector: 'ngx-barcode6',\n template: `<div #bcElement [class]=\"cssClass\"></div>`\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }]; }, { elementType: [{\n type: Input,\n args: ['bc-element-type']\n }], cssClass: [{\n type: Input,\n args: ['bc-class']\n }], format: [{\n type: Input,\n args: ['bc-format']\n }], lineColor: [{\n type: Input,\n args: ['bc-line-color']\n }], width: [{\n type: Input,\n args: ['bc-width']\n }], height: [{\n type: Input,\n args: ['bc-height']\n }], displayValue: [{\n type: Input,\n args: ['bc-display-value']\n }], fontOptions: [{\n type: Input,\n args: ['bc-font-options']\n }], font: [{\n type: Input,\n args: ['bc-font']\n }], textAlign: [{\n type: Input,\n args: ['bc-text-align']\n }], textPosition: [{\n type: Input,\n args: ['bc-text-position']\n }], textMargin: [{\n type: Input,\n args: ['bc-text-margin']\n }], fontSize: [{\n type: Input,\n args: ['bc-font-size']\n }], background: [{\n type: Input,\n args: ['bc-background']\n }], margin: [{\n type: Input,\n args: ['bc-margin']\n }], marginTop: [{\n type: Input,\n args: ['bc-margin-top']\n }], marginBottom: [{\n type: Input,\n args: ['bc-margin-bottom']\n }], marginLeft: [{\n type: Input,\n args: ['bc-margin-left']\n }], marginRight: [{\n type: Input,\n args: ['bc-margin-right']\n }], value: [{\n type: Input,\n args: ['bc-value']\n }], valid: [{\n type: Input,\n args: ['bc-valid']\n }], bcElement: [{\n type: ViewChild,\n args: ['bcElement', { static: true }]\n }] }); })();\n\nclass NgxBarcode6Module {\n}\nNgxBarcode6Module.ɵfac = function NgxBarcode6Module_Factory(t) { return new (t || NgxBarcode6Module)(); };\nNgxBarcode6Module.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxBarcode6Module });\nNgxBarcode6Module.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxBarcode6Module, [{\n type: NgModule,\n args: [{\n declarations: [NgxBarcode6Component],\n imports: [],\n exports: [NgxBarcode6Component]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxBarcode6Module, { declarations: [NgxBarcode6Component], exports: [NgxBarcode6Component] }); })();\n\n/*\n * Public API Surface of ngx-barcode6\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NgxBarcode6Component, NgxBarcode6Module };\n\n","import * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, Output, Input, ContentChildren, ViewChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Attribute, NgModule } from '@angular/core';\nimport * as i3 from '@angular/material/core';\nimport { mixinDisableRipple, mixinTabIndex, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport * as i1 from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/collections';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAT_RADIO_DEFAULT_OPTIONS = new InjectionToken('mat-radio-default-options', {\n providedIn: 'root',\n factory: MAT_RADIO_DEFAULT_OPTIONS_FACTORY,\n});\nfunction MAT_RADIO_DEFAULT_OPTIONS_FACTORY() {\n return {\n color: 'accent',\n };\n}\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n/**\n * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nconst MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatRadioGroup),\n multi: true,\n};\n/** Change event object emitted by MatRadio and MatRadioGroup. */\nclass MatRadioChange {\n constructor(\n /** The MatRadioButton that emits the change event. */\n source, \n /** The value of the MatRadioButton. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/**\n * Injection token that can be used to inject instances of `MatRadioGroup`. It serves as\n * alternative token to the actual `MatRadioGroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nconst MAT_RADIO_GROUP = new InjectionToken('MatRadioGroup');\n/**\n * Base class with all of the `MatRadioGroup` functionality.\n * @docs-private\n */\nclass _MatRadioGroupBase {\n constructor(_changeDetector) {\n this._changeDetector = _changeDetector;\n /** Selected value for the radio group. */\n this._value = null;\n /** The HTML name attribute applied to radio buttons in this group. */\n this._name = `mat-radio-group-${nextUniqueId++}`;\n /** The currently selected radio button. Should match value. */\n this._selected = null;\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n this._labelPosition = 'after';\n /** Whether the radio group is disabled. */\n this._disabled = false;\n /** Whether the radio group is required. */\n this._required = false;\n /** The method to be called in order to update ngModel */\n this._controlValueAccessorChangeFn = () => { };\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n this.onTouched = () => { };\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n this.change = new EventEmitter();\n }\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n get name() {\n return this._name;\n }\n set name(value) {\n this._name = value;\n this._updateRadioButtonNames();\n }\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n get labelPosition() {\n return this._labelPosition;\n }\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this._markRadiosForCheck();\n }\n /**\n * Value for the radio-group. Should equal the value of the selected radio button if there is\n * a corresponding radio button with a matching value. If there is not such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n get value() {\n return this._value;\n }\n set value(newValue) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n this._updateSelectedRadioFromValue();\n this._checkSelectedRadioButton();\n }\n }\n _checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n /**\n * The currently selected radio button. If set to a new radio button, the radio group value\n * will be updated to match the new selected button.\n */\n get selected() {\n return this._selected;\n }\n set selected(selected) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this._checkSelectedRadioButton();\n }\n /** Whether the radio group is disabled */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._markRadiosForCheck();\n }\n /** Whether the radio group is required */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n this._markRadiosForCheck();\n }\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on MatRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the MatRadioGroup.\n this._isInitialized = true;\n }\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n _touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n _updateRadioButtonNames() {\n if (this._radios) {\n this._radios.forEach(radio => {\n radio.name = this.name;\n radio._markForCheck();\n });\n }\n }\n /** Updates the `selected` radio button from the internal _value state. */\n _updateSelectedRadioFromValue() {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n if (this._radios && !isAlreadySelected) {\n this._selected = null;\n this._radios.forEach(radio => {\n radio.checked = this.value === radio.value;\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent() {\n if (this._isInitialized) {\n this.change.emit(new MatRadioChange(this._selected, this._value));\n }\n }\n _markRadiosForCheck() {\n if (this._radios) {\n this._radios.forEach(radio => radio._markForCheck());\n }\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._changeDetector.markForCheck();\n }\n}\n_MatRadioGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioGroupBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });\n_MatRadioGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: _MatRadioGroupBase, inputs: { color: \"color\", name: \"name\", labelPosition: \"labelPosition\", value: \"value\", selected: \"selected\", disabled: \"disabled\", required: \"required\" }, outputs: { change: \"change\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioGroupBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { change: [{\n type: Output\n }], color: [{\n type: Input\n }], name: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], value: [{\n type: Input\n }], selected: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }] } });\n/**\n * A group of radio buttons. May contain one or more `<mat-radio-button>` elements.\n */\nclass MatRadioGroup extends _MatRadioGroupBase {\n}\nMatRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioGroup, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nMatRadioGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: MatRadioGroup, selector: \"mat-radio-group\", host: { attributes: { \"role\": \"radiogroup\" }, classAttribute: \"mat-radio-group\" }, providers: [\n MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n { provide: MAT_RADIO_GROUP, useExisting: MatRadioGroup },\n ], queries: [{ propertyName: \"_radios\", predicate: i0.forwardRef(function () { return MatRadioButton; }), descendants: true }], exportAs: [\"matRadioGroup\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioGroup, decorators: [{\n type: Directive,\n args: [{\n selector: 'mat-radio-group',\n exportAs: 'matRadioGroup',\n providers: [\n MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n { provide: MAT_RADIO_GROUP, useExisting: MatRadioGroup },\n ],\n host: {\n 'role': 'radiogroup',\n 'class': 'mat-radio-group',\n },\n }]\n }], propDecorators: { _radios: [{\n type: ContentChildren,\n args: [forwardRef(() => MatRadioButton), { descendants: true }]\n }] } });\n// Boilerplate for applying mixins to MatRadioButton.\n/** @docs-private */\nclass MatRadioButtonBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\nconst _MatRadioButtonMixinBase = mixinDisableRipple(mixinTabIndex(MatRadioButtonBase));\n/**\n * Base class with all of the `MatRadioButton` functionality.\n * @docs-private\n */\nclass _MatRadioButtonBase extends _MatRadioButtonMixinBase {\n constructor(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex) {\n super(elementRef);\n this._changeDetector = _changeDetector;\n this._focusMonitor = _focusMonitor;\n this._radioDispatcher = _radioDispatcher;\n this._providerOverride = _providerOverride;\n this._uniqueId = `mat-radio-${++nextUniqueId}`;\n /** The unique ID for the radio button. */\n this.id = this._uniqueId;\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n this.change = new EventEmitter();\n /** Whether this radio is checked. */\n this._checked = false;\n /** Value assigned to this radio. */\n this._value = null;\n /** Unregister function for _radioDispatcher */\n this._removeUniqueSelectionListener = () => { };\n // Assertions. Ideally these should be stripped out by the compiler.\n // TODO(jelbourn): Assert that there's no name binding AND a parent radio group.\n this.radioGroup = radioGroup;\n this._noopAnimations = animationMode === 'NoopAnimations';\n if (tabIndex) {\n this.tabIndex = coerceNumberProperty(tabIndex, 0);\n }\n this._removeUniqueSelectionListener = _radioDispatcher.listen((id, name) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n /** Whether this radio button is checked. */\n get checked() {\n return this._checked;\n }\n set checked(value) {\n const newCheckedState = coerceBooleanProperty(value);\n if (this._checked !== newCheckedState) {\n this._checked = newCheckedState;\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n }\n else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n if (newCheckedState) {\n // Notify all radio buttons with the same name to un-check.\n this._radioDispatcher.notify(this.id, this.name);\n }\n this._changeDetector.markForCheck();\n }\n }\n /** The value of this radio button. */\n get value() {\n return this._value;\n }\n set value(value) {\n if (this._value !== value) {\n this._value = value;\n if (this.radioGroup !== null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n get labelPosition() {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n /** Whether the radio button is disabled. */\n get disabled() {\n return this._disabled || (this.radioGroup !== null && this.radioGroup.disabled);\n }\n set disabled(value) {\n this._setDisabled(coerceBooleanProperty(value));\n }\n /** Whether the radio button is required. */\n get required() {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n }\n /** Theme color of the radio button. */\n get color() {\n // As per Material design specifications the selection control radio should use the accent color\n // palette by default. https://material.io/guidelines/components/selection-controls.html\n return (this._color ||\n (this.radioGroup && this.radioGroup.color) ||\n (this._providerOverride && this._providerOverride.color) ||\n 'accent');\n }\n set color(newValue) {\n this._color = newValue;\n }\n /** ID of the native input element inside `<mat-radio-button>` */\n get inputId() {\n return `${this.id || this._uniqueId}-input`;\n }\n /** Focuses the radio button. */\n focus(options, origin) {\n if (origin) {\n this._focusMonitor.focusVia(this._inputElement, origin, options);\n }\n else {\n this._inputElement.nativeElement.focus(options);\n }\n }\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this._changeDetector.markForCheck();\n }\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n ngDoCheck() {\n this._updateTabIndex();\n }\n ngAfterViewInit() {\n this._updateTabIndex();\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup._touch();\n }\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._removeUniqueSelectionListener();\n }\n /** Dispatch change event with current value. */\n _emitChangeEvent() {\n this.change.emit(new MatRadioChange(this, this._value));\n }\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n _onInputClick(event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n /** Triggered when the radio button receives an interaction from the user. */\n _onInputInteraction(event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n if (!this.checked && !this.disabled) {\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n this.checked = true;\n this._emitChangeEvent();\n if (this.radioGroup) {\n this.radioGroup._controlValueAccessorChangeFn(this.value);\n if (groupValueChanged) {\n this.radioGroup._emitChangeEvent();\n }\n }\n }\n }\n /** Sets the disabled state and marks for check if a change occurred. */\n _setDisabled(value) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._changeDetector.markForCheck();\n }\n }\n /** Gets the tabindex for the underlying input element. */\n _updateTabIndex() {\n const group = this.radioGroup;\n let value;\n // Implement a roving tabindex if the button is inside a group. For most cases this isn't\n // necessary, because the browser handles the tab order for inputs inside a group automatically,\n // but we need an explicitly higher tabindex for the selected button in order for things like\n // the focus trap to pick it up correctly.\n if (!group || !group.selected || this.disabled) {\n value = this.tabIndex;\n }\n else {\n value = group.selected === this ? this.tabIndex : -1;\n }\n if (value !== this._previousTabIndex) {\n // We have to set the tabindex directly on the DOM node, because it depends on\n // the selected state which is prone to \"changed after checked errors\".\n const input = this._inputElement?.nativeElement;\n if (input) {\n input.setAttribute('tabindex', value + '');\n this._previousTabIndex = value;\n }\n }\n }\n}\n_MatRadioButtonBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioButtonBase, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Directive });\n_MatRadioButtonBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: _MatRadioButtonBase, inputs: { id: \"id\", name: \"name\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], checked: \"checked\", value: \"value\", labelPosition: \"labelPosition\", disabled: \"disabled\", required: \"required\", color: \"color\" }, outputs: { change: \"change\" }, viewQueries: [{ propertyName: \"_inputElement\", first: true, predicate: [\"input\"], descendants: true }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioButtonBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: _MatRadioGroupBase }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined }, { type: undefined }, { type: undefined }]; }, propDecorators: { id: [{\n type: Input\n }], name: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], checked: [{\n type: Input\n }], value: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }], color: [{\n type: Input\n }], change: [{\n type: Output\n }], _inputElement: [{\n type: ViewChild,\n args: ['input']\n }] } });\n/**\n * A Material design radio-button. Typically placed inside of `<mat-radio-group>` elements.\n */\nclass MatRadioButton extends _MatRadioButtonBase {\n constructor(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex) {\n super(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex);\n }\n}\nMatRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioButton, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });\nMatRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: MatRadioButton, selector: \"mat-radio-button\", inputs: { disableRipple: \"disableRipple\", tabIndex: \"tabIndex\" }, host: { listeners: { \"focus\": \"_inputElement.nativeElement.focus()\" }, properties: { \"class.mat-radio-checked\": \"checked\", \"class.mat-radio-disabled\": \"disabled\", \"class._mat-animation-noopable\": \"_noopAnimations\", \"class.mat-primary\": \"color === \\\"primary\\\"\", \"class.mat-accent\": \"color === \\\"accent\\\"\", \"class.mat-warn\": \"color === \\\"warn\\\"\", \"attr.tabindex\": \"null\", \"attr.id\": \"id\", \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"attr.aria-describedby\": \"null\" }, classAttribute: \"mat-radio-button\" }, exportAs: [\"matRadioButton\"], usesInheritance: true, ngImport: i0, template: \"<!-- TODO(jelbourn): render the radio on either side of the content -->\\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\\n<label [attr.for]=\\\"inputId\\\" class=\\\"mat-radio-label\\\" #label>\\n <!-- The actual 'radio' part of the control. -->\\n <span class=\\\"mat-radio-container\\\">\\n <span class=\\\"mat-radio-outer-circle\\\"></span>\\n <span class=\\\"mat-radio-inner-circle\\\"></span>\\n <input #input class=\\\"mat-radio-input\\\" type=\\\"radio\\\"\\n [id]=\\\"inputId\\\"\\n [checked]=\\\"checked\\\"\\n [disabled]=\\\"disabled\\\"\\n [attr.name]=\\\"name\\\"\\n [attr.value]=\\\"value\\\"\\n [required]=\\\"required\\\"\\n [attr.aria-label]=\\\"ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledby\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedby\\\"\\n (change)=\\\"_onInputInteraction($event)\\\"\\n (click)=\\\"_onInputClick($event)\\\">\\n\\n <!-- The ripple comes after the input so that we can target it with a CSS\\n sibling selector when the input is focused. -->\\n <span mat-ripple class=\\\"mat-radio-ripple mat-focus-indicator\\\"\\n [matRippleTrigger]=\\\"label\\\"\\n [matRippleDisabled]=\\\"_isRippleDisabled()\\\"\\n [matRippleCentered]=\\\"true\\\"\\n [matRippleRadius]=\\\"20\\\"\\n [matRippleAnimation]=\\\"{enterDuration: _noopAnimations ? 0 : 150}\\\">\\n\\n <span class=\\\"mat-ripple-element mat-radio-persistent-ripple\\\"></span>\\n </span>\\n </span>\\n\\n <!-- The label content for radio control. -->\\n <span class=\\\"mat-radio-label-content\\\" [class.mat-radio-label-before]=\\\"labelPosition == 'before'\\\">\\n <!-- Add an invisible span so JAWS can read the label -->\\n <span style=\\\"display:none\\\">&nbsp;</span>\\n <ng-content></ng-content>\\n </span>\\n</label>\\n\", styles: [\".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\"], dependencies: [{ kind: \"directive\", type: i3.MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioButton, decorators: [{\n type: Component,\n args: [{ selector: 'mat-radio-button', inputs: ['disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, exportAs: 'matRadioButton', host: {\n 'class': 'mat-radio-button',\n '[class.mat-radio-checked]': 'checked',\n '[class.mat-radio-disabled]': 'disabled',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color === \"accent\"',\n '[class.mat-warn]': 'color === \"warn\"',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n // Note: under normal conditions focus shouldn't land on this element, however it may be\n // programmatically set, for example inside of a focus trap, in this case we want to forward\n // the focus to the native element.\n '(focus)': '_inputElement.nativeElement.focus()',\n }, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<!-- TODO(jelbourn): render the radio on either side of the content -->\\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\\n<label [attr.for]=\\\"inputId\\\" class=\\\"mat-radio-label\\\" #label>\\n <!-- The actual 'radio' part of the control. -->\\n <span class=\\\"mat-radio-container\\\">\\n <span class=\\\"mat-radio-outer-circle\\\"></span>\\n <span class=\\\"mat-radio-inner-circle\\\"></span>\\n <input #input class=\\\"mat-radio-input\\\" type=\\\"radio\\\"\\n [id]=\\\"inputId\\\"\\n [checked]=\\\"checked\\\"\\n [disabled]=\\\"disabled\\\"\\n [attr.name]=\\\"name\\\"\\n [attr.value]=\\\"value\\\"\\n [required]=\\\"required\\\"\\n [attr.aria-label]=\\\"ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledby\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedby\\\"\\n (change)=\\\"_onInputInteraction($event)\\\"\\n (click)=\\\"_onInputClick($event)\\\">\\n\\n <!-- The ripple comes after the input so that we can target it with a CSS\\n sibling selector when the input is focused. -->\\n <span mat-ripple class=\\\"mat-radio-ripple mat-focus-indicator\\\"\\n [matRippleTrigger]=\\\"label\\\"\\n [matRippleDisabled]=\\\"_isRippleDisabled()\\\"\\n [matRippleCentered]=\\\"true\\\"\\n [matRippleRadius]=\\\"20\\\"\\n [matRippleAnimation]=\\\"{enterDuration: _noopAnimations ? 0 : 150}\\\">\\n\\n <span class=\\\"mat-ripple-element mat-radio-persistent-ripple\\\"></span>\\n </span>\\n </span>\\n\\n <!-- The label content for radio control. -->\\n <span class=\\\"mat-radio-label-content\\\" [class.mat-radio-label-before]=\\\"labelPosition == 'before'\\\">\\n <!-- Add an invisible span so JAWS can read the label -->\\n <span style=\\\"display:none\\\">&nbsp;</span>\\n <ng-content></ng-content>\\n </span>\\n</label>\\n\", styles: [\".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\"] }]\n }], ctorParameters: function () { return [{ type: MatRadioGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RADIO_GROUP]\n }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RADIO_DEFAULT_OPTIONS]\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatRadioModule {\n}\nMatRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, declarations: [MatRadioGroup, MatRadioButton], imports: [MatRippleModule, MatCommonModule], exports: [MatRadioGroup, MatRadioButton, MatCommonModule] });\nMatRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, imports: [MatRippleModule, MatCommonModule, MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatRippleModule, MatCommonModule],\n exports: [MatRadioGroup, MatRadioButton, MatCommonModule],\n declarations: [MatRadioGroup, MatRadioButton],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_RADIO_DEFAULT_OPTIONS, MAT_RADIO_DEFAULT_OPTIONS_FACTORY, MAT_RADIO_GROUP, MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, MatRadioButton, MatRadioChange, MatRadioGroup, MatRadioModule, _MatRadioButtonBase, _MatRadioGroupBase };\n"],"names":["_barcodes","require","_barcodes2","_interopRequireDefault","_merge","_merge2","_linearizeEncodings","_linearizeEncodings2","_fixOptions","_fixOptions2","_getRenderProperties","_getRenderProperties2","_optionsFromStrings","_optionsFromStrings2","_ErrorHandler","_ErrorHandler2","_exceptions","_defaults","_defaults2","obj","__esModule","default","API","JsBarcode","element","text","options","api","Error","_renderProperties","_encodings","_options","_errorHandler","format","autoSelectBarcode","render","getModule","name","hasOwnProperty","registerBarcode","barcodes","prototype","toUpperCase","toLowerCase","wrapBarcodeCall","undefined","newOptions","Encoder","encoded","encode","push","encoder","valid","InvalidInputException","constructor","i","length","Object","keys","blank","size","zeroes","Array","join","data","init","isArray","renderProperty","value","NoElementException","renderProperties","encodings","Renderer","renderer","afterRender","window","jQuery","fn","content","elementArray","each","module","exports","defineProperty","_classCallCheck","instance","Constructor","TypeError","Barcode","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","_Barcode2","_Barcode3","_constants","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","create","setPrototypeOf","__proto__","CODE128","_Barcode","_this","getPrototypeOf","substring","bytes","split","map","char","charCodeAt","test","startIndex","shift","startSet","SET_BY_CODE","RangeError","shouldEncodeAsEan128","unshift","FNC1","encodingResult","next","replace","getBar","result","checksum","MODULO","STOP","isEAN128","ean128","index","BARS","toString","correctIndex","set","SET_A","charCode","SET_B","pos","nextCode","nextSet","SWAP","SHIFT","enc","weight","_CODE2","_CODE3","CODE128A","_CODE","string","A_START_CHAR","RegExp","A_CHARS","CODE128B","B_START_CHAR","B_CHARS","CODE128C","C_START_CHAR","C_CHARS","_auto","_auto2","CODE128AUTO","matchSetALength","match","matchSetBLength","matchSetC","autoSelectFromAB","isA","ranges","untilC","String","fromCharCode","autoSelectFromC","chars","cMatch","newString","cLength","_SET_BY_CODE","_defineProperty","SET_C","START_A","START_B","START_C","_CODE128_AUTO","_CODE128_AUTO2","_CODE128A","_CODE128A2","_CODE128B","_CODE128B2","_CODE128C","_CODE128C2","CODE39","mod43","getCharacter","mod43checksum","getEncoding","search","characters","character","getBinary","characterValue","indexOf","_encoder","_encoder2","EAN","fontSize","flat","width","guardHeight","height","textMargin","encodeFlat","encodeGuarded","leftText","from","to","substr","leftEncode","structure","rightText","rightEncode","textOptions","guardOptions","SIDE_BIN","MIDDLE_BIN","_get","get","object","property","receiver","Function","desc","getOwnPropertyDescriptor","parent","getter","_EAN2","_EAN3","number","res","n","reduce","sum","a","idx","EAN13","_EAN","lastChar","EAN13_STRUCTURE","displayValue","textAlign","EAN2","EAN2_STRUCTURE","parseInt","EAN5","EAN5_STRUCTURE","EAN8","UPC","flatEncoding","guardedEncoding","_UPC","EXPANSIONS","PARITIES","UPCE","isValid","middleDigits","upcA","expandToUPCA","encodeMiddleDigits","numberSystem","checkDigit","parity","lastUpcE","expansion","digitIndex","c","BINARIES","separator","val","last","_EAN4","_EAN5","_EAN6","_EAN7","_EAN8","_UPC2","_UPCE","_UPCE2","GenericBarcode","ITF","apply","arguments","_this2","pair","encodePair","START_BIN","END_BIN","second","first","_ITF2","_ITF3","num","Math","ceil","ITF14","_ITF","_ITF4","MSI","ret","digit","bin","addZeroes","b","_MSI2","_MSI3","_checksums","MSI10","_MSI","mod10","MSI1010","MSI11","mod11","MSI1110","floor","weights","_MSI4","_MSI5","_MSI6","_MSI7","_MSI8","_MSI9","_MSI10","codabar","getEncodings","charAt","_EAN_UPC","_pharmacode","_codabar","_GenericBarcode","pharmacode","z","isNaN","slice","ErrorHandler","handleCatch","e","message","func","_Error","symbology","input","InvalidElementException","_Error2","_Error3","_this3","fixOptions","marginTop","margin","marginBottom","marginRight","marginLeft","getOptionsFromElement","hasAttribute","getAttribute","_typeof","Symbol","iterator","_getOptionsFromElement","_getOptionsFromElement2","_renderers","_renderers2","getRenderProperties","querySelectedRenderProperties","returnArray","HTMLCanvasElement","HTMLImageElement","newCanvasRenderProperties","nodeName","SVGElement","SVGRenderer","CanvasRenderer","getContext","ObjectRenderer","selector","document","querySelectorAll","imgElement","canvas","createElement","setAttribute","toDataURL","linearizeEncodings","linearEncodings","nextLevel","_extends","assign","source","old","replaceObj","optionsFromStrings","intOptions","intOption","defaults","fontOptions","font","textPosition","background","lineColor","_shared","prepareCanvas","encodingOptions","drawCanvasBarcode","drawCanvasText","moveCanvasDrawing","restoreCanvas","ctx","save","calculateEncodingAttributes","totalWidth","getTotalWidthOfEncodings","maxHeight","getMaximumHeightOfEncodings","clearRect","fillStyle","fillRect","translate","encoding","binary","yFrom","x","barcodePadding","y","fillText","restore","_canvas","_canvas2","_svg","_svg2","_object","_object2","getBarcodePadding","getEncodingHeight","textWidth","barcodeWidth","barcodeOptions","context","messureText","max","measureTextResult","measureText","svgns","svg","xmlDocument","currentX","prepareSVG","group","createGroup","setGroupOptions","drawSvgBarcode","drawSVGText","firstChild","removeChild","setSvgAttributes","drawRect","barWidth","textElem","createElementNS","appendChild","createTextNode","rect","Component","Renderer2","Input","ViewChild","NgModule","ɵngcc0","_c0","jsbarcode","NgxBarcode6Component","elementType","cssClass","ngOnChanges","createBarcode","node","bcElement","nativeElement","childNodes","ɵfac","NgxBarcode6Component_Factory","t","ɵɵdirectiveInject","ɵcmp","ɵɵdefineComponent","type","selectors","viewQuery","NgxBarcode6Component_Query","rf","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","NgxBarcode6Component_Template","ɵɵelement","ɵɵclassMap","encapsulation","ctorParameters","propDecorators","args","static","ngDevMode","ɵsetClassMetadata","NgxBarcode6Module","NgxBarcode6Module_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","declarations","imports","ngJitMode","ɵɵsetNgModuleScope","i0","InjectionToken","forwardRef","EventEmitter","Directive","Output","ContentChildren","ViewEncapsulation","ChangeDetectionStrategy","Optional","Inject","Attribute","i3","mixinDisableRipple","mixinTabIndex","MatRippleModule","MatCommonModule","i1","coerceBooleanProperty","coerceNumberProperty","i2","NG_VALUE_ACCESSOR","ANIMATION_MODULE_TYPE","MAT_RADIO_DEFAULT_OPTIONS","providedIn","factory","MAT_RADIO_DEFAULT_OPTIONS_FACTORY","color","nextUniqueId","MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR","provide","useExisting","MatRadioGroup","multi","MatRadioChange","MAT_RADIO_GROUP","_MatRadioGroupBase","_changeDetector","_value","_name","_selected","_isInitialized","_labelPosition","_disabled","_required","_controlValueAccessorChangeFn","onTouched","change","_updateRadioButtonNames","labelPosition","v","_markRadiosForCheck","newValue","_updateSelectedRadioFromValue","_checkSelectedRadioButton","checked","selected","disabled","required","ngAfterContentInit","_touch","_radios","forEach","radio","_markForCheck","isAlreadySelected","_emitChangeEvent","emit","writeValue","markForCheck","registerOnChange","registerOnTouched","setDisabledState","isDisabled","ChangeDetectorRef","ɵdir","MatRadioButton","exportAs","providers","host","descendants","MatRadioButtonBase","_elementRef","_MatRadioButtonMixinBase","_MatRadioButtonBase","radioGroup","elementRef","_focusMonitor","_radioDispatcher","animationMode","_providerOverride","tabIndex","_uniqueId","id","_checked","_removeUniqueSelectionListener","_noopAnimations","listen","newCheckedState","notify","_setDisabled","_color","inputId","focus","origin","focusVia","_inputElement","ngOnInit","ngDoCheck","_updateTabIndex","ngAfterViewInit","monitor","subscribe","focusOrigin","ngOnDestroy","stopMonitoring","_isRippleDisabled","disableRipple","_onInputClick","event","stopPropagation","_onInputInteraction","groupValueChanged","_previousTabIndex","ElementRef","FocusMonitor","UniqueSelectionDispatcher","ariaLabel","ariaLabelledby","ariaDescribedby","changeDetector","focusMonitor","radioDispatcher","providerOverride","MatRipple","None","changeDetection","OnPush","styles","decorators","MatRadioModule"],"sourceRoot":"webpack:///"}
1
+ {"version":3,"file":"src_app_pages_pages_module_ts.js","mappings":"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","sources":["./src/app/models/Bill.ts","./src/app/models/Outlet.ts","./src/app/models/Product.ts","./src/app/models/Promotion.ts","./src/app/models/Tax.ts","./src/app/models/Variant.ts","./src/app/pages/form-add-bill/form-add-bill.component.ts","./src/app/pages/form-add-bill/form-add-bill.component.html","./src/app/pages/form-add-variant/form-add-variant.component.ts","./src/app/pages/form-add-variant/form-add-variant.component.html","./src/app/pages/form-settings/form-settings.component.ts","./src/app/pages/form-settings/form-settings.component.html","./src/app/pages/form-upload-variant/form-upload-variant.component.ts","./src/app/pages/form-upload-variant/form-upload-variant.component.html","./src/app/pages/list-products/list-products.component.ts","./src/app/pages/list-products/list-products.component.html","./src/app/pages/pages.component.ts","./src/app/pages/pages.component.html","./src/app/pages/pages.module.ts","./src/app/pages/print-preview/print-preview.component.ts","./src/app/pages/print-preview/print-preview.component.html","./src/app/services/barcode-service/barcode.service.ts","./src/app/services/bill-service/bill.service.ts","./src/app/services/factory-service/factory-service.service.ts","./src/app/services/outlet-service/outlet.service.ts","./src/app/services/product-service/product.service.ts","./src/app/services/product-state-service/product-state.service.ts","./src/app/shared/Constants.ts","./src/app/shared/components/autocomplete/autocomplete.component.ts","./src/app/shared/components/autocomplete/autocomplete.component.html","./src/app/shared/enums/TransactionType.enum.ts","./node_modules/jsbarcode/bin/JsBarcode.js","./node_modules/jsbarcode/bin/barcodes/Barcode.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js","./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js","./node_modules/jsbarcode/bin/barcodes/CODE128/auto.js","./node_modules/jsbarcode/bin/barcodes/CODE128/constants.js","./node_modules/jsbarcode/bin/barcodes/CODE128/index.js","./node_modules/jsbarcode/bin/barcodes/CODE39/index.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js","./node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js","./node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js","./node_modules/jsbarcode/bin/barcodes/ITF/ITF.js","./node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js","./node_modules/jsbarcode/bin/barcodes/ITF/constants.js","./node_modules/jsbarcode/bin/barcodes/ITF/index.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js","./node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js","./node_modules/jsbarcode/bin/barcodes/MSI/checksums.js","./node_modules/jsbarcode/bin/barcodes/MSI/index.js","./node_modules/jsbarcode/bin/barcodes/codabar/index.js","./node_modules/jsbarcode/bin/barcodes/index.js","./node_modules/jsbarcode/bin/barcodes/pharmacode/index.js","./node_modules/jsbarcode/bin/exceptions/ErrorHandler.js","./node_modules/jsbarcode/bin/exceptions/exceptions.js","./node_modules/jsbarcode/bin/help/fixOptions.js","./node_modules/jsbarcode/bin/help/getOptionsFromElement.js","./node_modules/jsbarcode/bin/help/getRenderProperties.js","./node_modules/jsbarcode/bin/help/linearizeEncodings.js","./node_modules/jsbarcode/bin/help/merge.js","./node_modules/jsbarcode/bin/help/optionsFromStrings.js","./node_modules/jsbarcode/bin/options/defaults.js","./node_modules/jsbarcode/bin/renderers/canvas.js","./node_modules/jsbarcode/bin/renderers/index.js","./node_modules/jsbarcode/bin/renderers/object.js","./node_modules/jsbarcode/bin/renderers/shared.js","./node_modules/jsbarcode/bin/renderers/svg.js","./node_modules/ngx-barcode6/__ivy_ngcc__/fesm2015/ngx-barcode6.js","./node_modules/@angular/material/fesm2020/radio.mjs"],"sourcesContent":["import { Payment } from \"./Payment\";\r\nimport { Variant } from \"./Variant\";\r\n\r\nexport class Bill {\r\n private Outlet: string;\r\n private Number: string;\r\n private Date: string;\r\n private DueDate: string;\r\n private Supplier: Object;\r\n private CreatorID: string;\r\n private Created: string;\r\n private Discount1: number;\r\n private DiscountAmount: number;\r\n private Gross: number;\r\n private DiscountTotal: number;\r\n private TaxType: string;\r\n private Tax: number;\r\n private Purchase: number;\r\n private PurchaseNTax: number;\r\n private Delivery: string;\r\n private Variants: Variant[];\r\n private Payments: Payment[];\r\n\r\n\r\n /**\r\n * Getter $Outlet\r\n * @return {string}\r\n */\r\n\tpublic get getOutlet(): string {\r\n\t\treturn this.Outlet;\r\n\t}\r\n\r\n /**\r\n * Getter $Number\r\n * @return {string}\r\n */\r\n\tpublic get getNumber(): string {\r\n\t\treturn this.Number;\r\n\t}\r\n\r\n /**\r\n * Getter $Date\r\n * @return {string}\r\n */\r\n\tpublic get getDate(): string {\r\n\t\treturn this.Date;\r\n\t}\r\n\r\n /**\r\n * Getter $DueDate\r\n * @return {string}\r\n */\r\n\tpublic get getDueDate(): string {\r\n\t\treturn this.DueDate;\r\n\t}\r\n\r\n /**\r\n * Getter $Supplier\r\n * @return {Object}\r\n */\r\n\tpublic get getSupplier(): Object {\r\n\t\treturn this.Supplier;\r\n\t}\r\n\r\n /**\r\n * Getter $CreatorID\r\n * @return {string}\r\n */\r\n\tpublic get getCreatorID(): string {\r\n\t\treturn this.CreatorID;\r\n\t}\r\n\r\n /**\r\n * Getter $Created\r\n * @return {string}\r\n */\r\n\tpublic get getCreated(): string {\r\n\t\treturn this.Created;\r\n\t}\r\n\r\n /**\r\n * Getter $Discount1\r\n * @return {number}\r\n */\r\n\tpublic get getDiscount1(): number {\r\n\t\treturn this.Discount1;\r\n\t}\r\n\r\n /**\r\n * Getter $DiscountAmount\r\n * @return {number}\r\n */\r\n\tpublic get getDiscountAmount(): number {\r\n\t\treturn this.DiscountAmount;\r\n\t}\r\n\r\n /**\r\n * Getter $Gross\r\n * @return {number}\r\n */\r\n\tpublic get getGross(): number {\r\n\t\treturn this.Gross;\r\n\t}\r\n\r\n /**\r\n * Getter $DiscountTotal\r\n * @return {number}\r\n */\r\n\tpublic get getDiscountTotal(): number {\r\n\t\treturn this.DiscountTotal;\r\n\t}\r\n\r\n /**\r\n * Getter $TaxType\r\n * @return {string}\r\n */\r\n\tpublic get getTaxType(): string {\r\n\t\treturn this.TaxType;\r\n\t}\r\n\r\n /**\r\n * Getter $Tax\r\n * @return {number}\r\n */\r\n\tpublic get getTax(): number {\r\n\t\treturn this.Tax;\r\n\t}\r\n\r\n /**\r\n * Getter $Purchase\r\n * @return {number}\r\n */\r\n\tpublic get getPurchase(): number {\r\n\t\treturn this.Purchase;\r\n\t}\r\n\r\n /**\r\n * Getter $PurchaseNTax\r\n * @return {number}\r\n */\r\n\tpublic get getPurchaseNTax(): number {\r\n\t\treturn this.PurchaseNTax;\r\n\t}\r\n\r\n /**\r\n * Getter $Delivery\r\n * @return {string}\r\n */\r\n\tpublic get getDelivery(): string {\r\n\t\treturn this.Delivery;\r\n\t}\r\n\r\n /**\r\n * Getter $Variants\r\n * @return {Variant[]}\r\n */\r\n\tpublic get getVariants(): Variant[] {\r\n\t\treturn this.Variants;\r\n\t}\r\n\r\n /**\r\n * Getter $Payments\r\n * @return {Payment[]}\r\n */\r\n\tpublic get getPayments(): Payment[] {\r\n\t\treturn this.Payments;\r\n\t}\r\n\r\n /**\r\n * Setter $Outlet\r\n * @param {string} value\r\n */\r\n\tpublic set setOutlet(value: string) {\r\n\t\tthis.Outlet = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Number\r\n * @param {string} value\r\n */\r\n\tpublic set setNumber(value: string) {\r\n\t\tthis.Number = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Date\r\n * @param {string} value\r\n */\r\n\tpublic set setDate(value: string) {\r\n\t\tthis.Date = value;\r\n\t}\r\n\r\n /**\r\n * Setter $DueDate\r\n * @param {string} value\r\n */\r\n\tpublic set setDueDate(value: string) {\r\n\t\tthis.DueDate = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Supplier\r\n * @param {Object} value\r\n */\r\n\tpublic set setSupplier(value: Object) {\r\n\t\tthis.Supplier = value;\r\n\t}\r\n\r\n /**\r\n * Setter $CreatorID\r\n * @param {string} value\r\n */\r\n\tpublic set setCreatorID(value: string) {\r\n\t\tthis.CreatorID = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Created\r\n * @param {string} value\r\n */\r\n\tpublic set setCreated(value: string) {\r\n\t\tthis.Created = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Discount1\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscount1(value: number) {\r\n\t\tthis.Discount1 = value;\r\n\t}\r\n\r\n /**\r\n * Setter $DiscountAmount\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscountAmount(value: number) {\r\n\t\tthis.DiscountAmount = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Gross\r\n * @param {number} value\r\n */\r\n\tpublic set setGross(value: number) {\r\n\t\tthis.Gross = value;\r\n\t}\r\n\r\n /**\r\n * Setter $DiscountTotal\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscountTotal(value: number) {\r\n\t\tthis.DiscountTotal = value;\r\n\t}\r\n\r\n /**\r\n * Setter $TaxType\r\n * @param {string} value\r\n */\r\n\tpublic set setTaxType(value: string) {\r\n\t\tthis.TaxType = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Tax\r\n * @param {number} value\r\n */\r\n\tpublic set setTax(value: number) {\r\n\t\tthis.Tax = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Purchase\r\n * @param {number} value\r\n */\r\n\tpublic set setPurchase(value: number) {\r\n\t\tthis.Purchase = value;\r\n\t}\r\n\r\n /**\r\n * Setter $PurchaseNTax\r\n * @param {number} value\r\n */\r\n\tpublic set setPurchaseNTax(value: number) {\r\n\t\tthis.PurchaseNTax = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Delivery\r\n * @param {string} value\r\n */\r\n\tpublic set setDelivery(value: string) {\r\n\t\tthis.Delivery = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Variants\r\n * @param {Variant[]} value\r\n */\r\n\tpublic set setVariants(value: Variant[]) {\r\n\t\tthis.Variants = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Payments\r\n * @param {Payment[]} value\r\n */\r\n\tpublic set setPayments(value: Payment[]) {\r\n\t\tthis.Payments = value;\r\n\t}\r\n\r\n}","export class Outlet {\r\n private Code: string;\r\n private Name: string;\r\n private Suspended: boolean;\r\n \r\n\r\n /**\r\n * Getter $Code\r\n * @return {string}\r\n */\r\n\tpublic get getCode(): string {\r\n\t\treturn this.Code;\r\n\t}\r\n\r\n /**\r\n * Getter $Name\r\n * @return {string}\r\n */\r\n\tpublic get getName(): string {\r\n\t\treturn this.Name;\r\n\t}\r\n\r\n /**\r\n * Getter $Suspended\r\n * @return {boolean}\r\n */\r\n\tpublic get getSuspended(): boolean {\r\n\t\treturn this.Suspended;\r\n\t}\r\n\r\n /**\r\n * Setter $Code\r\n * @param {string} value\r\n */\r\n\tpublic set setCode(value: string) {\r\n\t\tthis.Code = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Name\r\n * @param {string} value\r\n */\r\n\tpublic set setName(value: string) {\r\n\t\tthis.Name = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Suspended\r\n * @param {boolean} value\r\n */\r\n\tpublic set setSuspended(value: boolean) {\r\n\t\tthis.Suspended = value;\r\n\t}\r\n \r\n}","import { Promotion } from \"./Promotion\";\r\n\r\nexport class Product {\r\n private ID: string;\r\n private UnitPrice: number;\r\n private Code: string;\r\n private Model: string;\r\n private Name: string;\r\n private CurrencySymbol: string;\r\n private customPrice: number;\r\n private description: string;\r\n private SelectedPromotion: Promotion;\r\n\r\n\r\n /**\r\n * Getter $ID\r\n * @return {string}\r\n */\r\n\tpublic get getID(): string {\r\n\t\treturn this.ID;\r\n\t}\r\n\r\n /**\r\n * Setter $ID\r\n * @param {string} value\r\n */\r\n\tpublic set setID(value: string) {\r\n\t\tthis.ID = value;\r\n\t}\r\n\r\n /**\r\n * Getter $selectedPromotion\r\n * @return {Promotion}\r\n */\r\n\tpublic get getSelectedPromotion(): Promotion {\r\n\t\treturn this.SelectedPromotion;\r\n\t}\r\n\r\n /**\r\n * Setter $SelectedPromotion\r\n * @param {Promotion} value\r\n */\r\n\tpublic set setSelectedPromotion(value: Promotion) {\r\n\t\tthis.SelectedPromotion = value;\r\n\t}\r\n\r\n public get getDescription() {\r\n return this.description;\r\n }\r\n\r\n public set setDescription(desc: string) {\r\n this.description = desc;\r\n } \r\n\r\n\r\n /**\r\n * variable content description or code variant for generate barcode\r\n */\r\n private barcodeTitle: string;\r\n \r\n\r\n public set setBarcodeTitle(code: string) {\r\n this.barcodeTitle = code;\r\n }\r\n\r\n public get getBarcodeTitle() {\r\n return this.barcodeTitle;\r\n }\r\n \r\n\r\n set setCustomPrice(value: number) {\r\n this.customPrice = value;\r\n }\r\n\r\n get getCustomPrice() {\r\n return this.customPrice;\r\n }\r\n\r\n get getUnitPrice() {\r\n return this.UnitPrice;\r\n }\r\n\r\n set setUnitPrice(value: number) {\r\n this.UnitPrice = value;\r\n }\r\n\r\n get getCode() {\r\n return this.Code;\r\n }\r\n\r\n set setCode(value: string) {\r\n this.barcodeTitle = value;\r\n this.Code = value;\r\n }\r\n\r\n get getModel() {\r\n return this.Model;\r\n }\r\n\r\n set setModel(value: string) {\r\n this.Model = value;\r\n }\r\n\r\n get getName() {\r\n return this.Name;\r\n }\r\n\r\n set setName(value: string) {\r\n this.Name = value;\r\n }\r\n\r\n get getCurrency() {\r\n return this.CurrencySymbol;\r\n }\r\n\r\n set setCurrency(value: string) {\r\n this.CurrencySymbol = value;\r\n }\r\n}","export class Promotion {\r\n private ID: string;\r\n private Discount: number;\r\n private ExtraCost: number;\r\n private PromotionID: string;\r\n private Name: string;\r\n private UnitPrice: number;\r\n\r\n\r\n /**\r\n * Getter $ID\r\n * @return {string}\r\n */\r\n\tpublic get getID(): string {\r\n\t\treturn this.ID;\r\n\t}\r\n\r\n /**\r\n * Setter $ID\r\n * @param {string} value\r\n */\r\n\tpublic set setID(value: string) {\r\n\t\tthis.ID = value;\r\n\t}\r\n\r\n /**\r\n * Getter $Name\r\n * @return {string}\r\n */\r\n\tpublic get getName(): string {\r\n\t\treturn this.Name;\r\n\t}\r\n\r\n /**\r\n * Setter $Name\r\n * @param {string} value\r\n */\r\n\tpublic set setName(value: string) {\r\n\t\tthis.Name = value;\r\n\t}\r\n\r\n /**\r\n * Getter $Discount\r\n * @return {number}\r\n */\r\n\tpublic get getDiscount(): number {\r\n\t\treturn this.Discount;\r\n\t}\r\n\r\n /**\r\n * Getter $ExtraCost\r\n * @return {number}\r\n */\r\n\tpublic get getExtraCost(): number {\r\n\t\treturn this.ExtraCost;\r\n\t}\r\n\r\n /**\r\n * Getter $PromotionID\r\n * @return {string}\r\n */\r\n\tpublic get getPromotionID(): string {\r\n\t\treturn this.PromotionID;\r\n\t}\r\n\r\n /**\r\n * Getter $UnitPrice\r\n * @return {number}\r\n */\r\n\tpublic get getUnitPrice(): number {\r\n\t\treturn this.UnitPrice;\r\n\t}\r\n\r\n /**\r\n * Setter $Discount\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscount(value: number) {\r\n\t\tthis.Discount = value;\r\n\t}\r\n\r\n /**\r\n * Setter $ExtraCost\r\n * @param {number} value\r\n */\r\n\tpublic set setExtraCost(value: number) {\r\n\t\tthis.ExtraCost = value;\r\n\t}\r\n\r\n /**\r\n * Setter $PromotionID\r\n * @param {string} value\r\n */\r\n\tpublic set setPromotionID(value: string) {\r\n\t\tthis.PromotionID = value;\r\n\t}\r\n\r\n /**\r\n * Setter $UnitPrice\r\n * @param {number} value\r\n */\r\n\tpublic set setUnitPrice(value: number) {\r\n\t\tthis.UnitPrice = value;\r\n\t}\r\n\r\n}","export class Tax {\r\n private AccountID: string;\r\n private CalculationTypeID: number;\r\n private ID: string;\r\n private Index: number;\r\n private Label: string;\r\n private MultipleTaxTypeID: number;\r\n private Note: string;\r\n private PrintVisible: boolean;\r\n private Rate: number;\r\n private TypeID: number;\r\n private Name: string;\r\n private Type: string;\r\n\r\n constructor(tax: Tax) {\r\n if (tax) {\r\n this.AccountID = tax['AccountID'];\r\n this.CalculationTypeID = tax['CalculationTypeID'];\r\n this.ID = tax['ID'];\r\n this.Index = tax['Index'];\r\n this.Label = tax['Label'];\r\n this.MultipleTaxTypeID = tax['MultipleTaxTypeID'];\r\n this.Note = tax['Note'];\r\n this.PrintVisible = tax['PrintVisible'];\r\n this.Rate = tax['Rate'];\r\n this.TypeID = tax['TypeID'];\r\n this.Name = tax['Name'];\r\n this.Type = tax['Type'];\r\n }\r\n }\r\n\r\n get getID() {\r\n return this.ID;\r\n }\r\n\r\n get getType() {\r\n return this.Type;\r\n }\r\n\r\n get getName() {\r\n return this.Name;\r\n }\r\n\r\n get getAccountID() {\r\n return this.AccountID;\r\n }\r\n\r\n set setAccountId(val: string) {\r\n this.AccountID = val;\r\n }\r\n\r\n get getCalculationTypeID() {\r\n return this.CalculationTypeID;\r\n }\r\n\r\n set setCalculationID(val: number) {\r\n this.CalculationTypeID = val;\r\n }\r\n\r\n get getRate() {\r\n return this.Rate;\r\n }\r\n\r\n set setRate(val: number) {\r\n this.Rate = val;\r\n }\r\n\r\n get getLabel() {\r\n return this.Label;\r\n }\r\n}","import { Product } from \"./Product\";\r\n\r\nexport class Variant extends Product {\r\n private VariantID: string;\r\n private Quantity: number;\r\n private Price: number;\r\n private Discount: number;\r\n private NettPrice: number;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n /**\r\n * Getter $VariantID\r\n * @return {string}\r\n */\r\n\tpublic get getVariantID(): string {\r\n\t\treturn this.VariantID;\r\n\t}\r\n\r\n /**\r\n * Getter $Quantity\r\n * @return {number}\r\n */\r\n\tpublic get getQuantity(): number {\r\n\t\treturn this.Quantity;\r\n\t}\r\n\r\n /**\r\n * Getter $Price\r\n * @return {number}\r\n */\r\n\tpublic get getPrice(): number {\r\n\t\treturn this.Price;\r\n\t}\r\n\r\n /**\r\n * Getter $Discount\r\n * @return {number}\r\n */\r\n\tpublic get getDiscount(): number {\r\n\t\treturn this.Discount;\r\n\t}\r\n\r\n /**\r\n * Getter $NettPrice\r\n * @return {number}\r\n */\r\n\tpublic get getNettPrice(): number {\r\n\t\treturn this.NettPrice;\r\n\t}\r\n\r\n /**\r\n * Setter $VariantID\r\n * @param {string} value\r\n */\r\n\tpublic set setVariantID(value: string) {\r\n\t\tthis.VariantID = value;\r\n\t}\r\n\r\n\r\n /**\r\n * Setter $Quantity\r\n * @param {number} value\r\n */\r\n\tpublic set setQuantity(value: number) {\r\n\t\tthis.Quantity = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Price\r\n * @param {number} value\r\n */\r\n\tpublic set setPrice(value: number) {\r\n\t\tthis.Price = value;\r\n\t}\r\n\r\n /**\r\n * Setter $Discount\r\n * @param {number} value\r\n */\r\n\tpublic set setDiscount(value: number) {\r\n\t\tthis.Discount = value;\r\n\t}\r\n\r\n /**\r\n * Setter $NettPrice\r\n * @param {number} value\r\n */\r\n\tpublic set setNettPrice(value: number) {\r\n\t\tthis.NettPrice = value;\r\n\t}\r\n\r\n}","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\nimport { TransactionType } from 'src/app/shared/enums/TransactionType.enum';\r\n\r\n@Component({\r\n selector: 'app-form-add-bill',\r\n templateUrl: './form-add-bill.component.html',\r\n styleUrls: ['./form-add-bill.component.scss']\r\n})\r\nexport class FormAddBillComponent implements OnInit {\r\n modalConfig: ModalMaterialConfig;\r\n outlets: Outlet[];\r\n\r\n selectedOutlet: Outlet;\r\n poNumber: string;\r\n transactionTypes: {title: string, type: TransactionType}[];\r\n\r\n selectedTransactionType: TransactionType;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: { outlets: Outlet[] },\r\n private dialogRef: MatDialogRef<{}>\r\n ) {\r\n this.outlets = data.outlets;\r\n }\r\n \r\n ngOnInit() {\r\n this.initModalConfig();\r\n this.initTransactionType();\r\n }\r\n\r\n initModalConfig() {\r\n this.modalConfig = new ModalMaterialConfig();\r\n this.modalConfig.title = \"Choose your transaction\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n initTransactionType() {\r\n this.transactionTypes = [\r\n { title: 'Supplier Bill', type: TransactionType.SUPPLIER_BILL },\r\n { title: 'Transfer Order', type: TransactionType.OUTLET_DELIVERY }\r\n ];\r\n }\r\n\r\n onOk() {\r\n if (this.selectedOutlet && this.poNumber) {\r\n let savingData = {\r\n Outlet: this.selectedOutlet.getName,\r\n Number: this.poNumber,\r\n Type: this.selectedTransactionType\r\n }\r\n this.dialogRef.close(savingData);\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n <content>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 mt-3\" align=\"center\">\r\n <table style=\"position: relative; width: 100%;\">\r\n <tbody>\r\n <tr class=\"w-100\">\r\n <td>\r\n <ng-select class=\"sticky-top tall\" [items]=\"transactionTypes\" [(ngModel)]=\"selectedTransactionType\"\r\n bindLabel=\"title\" bindValue=\"type\" [clearable]=\"false\" [appendTo]=\"'body'\"\r\n placeholder=\"Choose Type\">\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td class=\"pt-6\">\r\n <ng-select class=\"sticky-top tall\" [items]=\"outlets\" [(ngModel)]=\"selectedOutlet\"\r\n bindLabel=\"Name\" [clearable]=\"false\" [appendTo]=\"'body'\"\r\n placeholder=\"Choose Outlet\">\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td class=\"pt-6\">\r\n <div class=\"form-label-group\">\r\n <input [(ngModel)]=\"poNumber\" min=\"1\" id=\"qty\" type=\"text\" class=\"form-control\"\r\n placeholder=\"Invoice Number\" aria-label=\"width\">\r\n <label for=\"qty\">Invoice Number</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </content>\r\n</modal-material>","import { DecimalPipe } from '@angular/common';\r\nimport { Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil, tap } from 'rxjs/operators';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Promotion } from 'src/app/models/Promotion';\r\nimport { AuthenticationService } from 'src/app/services/authentication-service/authentication.service';\r\nimport { BarcodeService } from 'src/app/services/barcode-service/barcode.service';\r\nimport { ProductService } from 'src/app/services/product-service/product.service';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\nimport { FormVariantResponse } from './form-variant-response';\r\n\r\n@Component({\r\n selector: 'app-form-add-variant',\r\n templateUrl: './form-add-variant.component.html',\r\n styleUrls: ['./form-add-variant.component.scss'],\r\n providers: [DecimalPipe]\r\n})\r\nexport class FormAddVariantComponent implements OnInit, OnDestroy {\r\n public modalConfig: ModalMaterialConfig = new ModalMaterialConfig();\r\n\r\n public qty: number;\r\n\r\n public variantName: string = '';\r\n\r\n public paperFormat: PaperFormat;\r\n\r\n private destroy$: Subject<boolean>;\r\n\r\n public customPrice: number;\r\n\r\n public product: Product;\r\n\r\n public promotions: Promotion[];\r\n\r\n public hasProductEdit = true;\r\n\r\n public hasPromotion = false;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<FormVariantResponse>,\r\n private barcodeService: BarcodeService,\r\n private productService: ProductService,\r\n private authenticationService: AuthenticationService,\r\n @Inject(MAT_DIALOG_DATA) public data:\r\n {\r\n variantName: string,\r\n variantId: string,\r\n qty: number,\r\n customPrice: number,\r\n promotion: Promotion\r\n }\r\n ) {\r\n this.destroy$ = new Subject();\r\n this.variantName = data.variantName;\r\n this.qty = data.qty;\r\n this.customPrice = data.customPrice;\r\n }\r\n\r\n ngOnInit() {\r\n this.getBarcodeConfig();\r\n this.initModalConfig();\r\n this.initProductUpdate();\r\n this.initRoleProductEdit();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n private initRoleProductEdit() {\r\n let roles = this.authenticationService.getRoles();\r\n this.hasProductEdit = (roles.findIndex(role => role == \"ProdE\") !== -1);\r\n }\r\n\r\n private initProductUpdate() {\r\n if (Constants.IsNotEmpty(this.data.variantId)) {\r\n this.getProductById(this.data.variantId)\r\n .subscribe(product => {\r\n this.product.setSelectedPromotion = this.data.promotion;\r\n this.hasPromotion = Constants.IsNotEmpty(this.data.promotion);\r\n })\r\n }\r\n }\r\n\r\n public getBarcodeConfig() {\r\n this.barcodeService.getBarcodeConfigState()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(paperFormat => {\r\n if (paperFormat) {\r\n this.paperFormat = paperFormat;\r\n }\r\n })\r\n }\r\n\r\n public initModalConfig() {\r\n this.modalConfig.title = \"Add New Product Barcode?\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n public onSelectProduct(productID: string) {\r\n this.getProductById(productID)\r\n .subscribe(product => {\r\n this.customPrice = product.getUnitPrice;\r\n this.hasPromotion = false;\r\n this.product.setSelectedPromotion = null;\r\n })\r\n }\r\n\r\n public getProductById(productID: string): Observable<Product> {\r\n return this.productService.getProductById(productID)\r\n .pipe(tap(product => {\r\n this.product = product;\r\n this.getPromotionByProductID(productID);\r\n }))\r\n }\r\n\r\n private getPromotionByProductID(productID: string) {\r\n this.productService.getPromotionByProducID(productID)\r\n .subscribe(promotions => {\r\n this.promotions = promotions;\r\n })\r\n }\r\n\r\n public onCustomPriceChange(value: number) {\r\n this.customPrice = value;\r\n }\r\n\r\n public onSelectPromotion(selectedPromo: Promotion) {\r\n if (selectedPromo) {\r\n this.product.setSelectedPromotion = this.promotions.find(promo => promo.getName == selectedPromo?.getName);\r\n this.customPrice = this.product.getUnitPrice;\r\n this.hasPromotion = Constants.IsNotEmpty(this.product.getSelectedPromotion);\r\n }\r\n else {\r\n this.hasPromotion = false;\r\n this.product.setSelectedPromotion = null;\r\n }\r\n }\r\n\r\n public onOk() {\r\n if ((this.qty && this.qty > 0) && this.product) {\r\n // close dialog on ok\r\n let formResponse: FormVariantResponse = {\r\n customPrice: this.customPrice,\r\n product: this.product,\r\n quantity: this.qty\r\n }\r\n this.dialogRef.close(formResponse);\r\n }\r\n }\r\n\r\n public onCancel() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n <content>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 mt-3\" align=\"center\">\r\n <table style=\"position: relative; width: 100%;\">\r\n <tbody>\r\n <tr class=\"w-100\">\r\n <td>\r\n <autocomplete placeholder=\"Name\" [display]=\"variantName\" (onSelect)=\"onSelectProduct($event)\"\r\n url=\"/API/AC/GetVariantSuggestionByCodeNName\"></autocomplete>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td>\r\n <div class=\"form-label-group\">\r\n <input [(ngModel)]=\"qty\" id=\"qty\" type=\"text\" class=\"form-control\"\r\n placeholder=\"Quantity\" aria-label=\"width\" autoNum>\r\n <label for=\"qty\">Quantity</label>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td class=\"pb-9\">\r\n <ng-select class=\"sticky-top tall\" [items]=\"promotions\" [ngModel]=\"product?.getSelectedPromotion?.getPromotionID\"\r\n bindLabel=\"Name\" bindValue=\"PromotionID\" appendTo=\"body\" placeholder=\"Select Promotion Price\" (change)=\"onSelectPromotion($event)\">\r\n </ng-select>\r\n </td>\r\n </tr>\r\n <tr class=\"w-100\">\r\n <td>\r\n <div class=\"form-label-group\">\r\n <input [ngModel]=\"customPrice\" (ngModelChange)=\"onCustomPriceChange($event)\" class=\"form-control\"\r\n placeholder=\"Price\" aria-label=\"width\" autoNum [readonly]=\"hasPromotion || !hasProductEdit\">\r\n <label for=\"price\">Price</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </content>\r\n</modal-material>","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\n\r\n@Component({\r\n selector: 'app-form-settings',\r\n templateUrl: './form-settings.component.html',\r\n styleUrls: ['./form-settings.component.scss']\r\n})\r\nexport class FormSettingsComponent implements OnInit {\r\n @Output() event: EventEmitter<any> = new EventEmitter();\r\n modalConfig: ModalMaterialConfig = new ModalMaterialConfig();\r\n public taxOptions = [];\r\n public taxs: Tax[];\r\n public taxOptionSelected;\r\n public taxSelected: Tax;\r\n\r\n public paperWidth: number = 0;\r\n public marginTop: number = 0;\r\n public marginLeft: number = 0;\r\n public stickerWidth: number = 0;\r\n public stickerHeight: number = 0;\r\n public barcodeHeight: number = 0;\r\n public spacingColumn: number = 0;\r\n public spacingRow: number = 0;\r\n\r\n public barcode: boolean = true;\r\n public code: boolean = true;\r\n public price: boolean = true;\r\n public name: boolean = true;\r\n public move: boolean = true;\r\n \r\n public removeDefault: boolean = true; //tidak ada di format\r\n public desc: boolean = true;\r\n public priceTax: boolean = true;\r\n public fontSize: number = 0;\r\n public namePrefix: string = \"\";\r\n public maxChar: number = 0;\r\n public publiclineHeight: number = 0;\r\n public lineHeight: number;\r\n public paperFormat: PaperFormat | undefined;\r\n public authTax: boolean;\r\n public storeName: string;\r\n public currencySymbol: string;\r\n public promotionPriceLabel: string;\r\n public basicPriceLabel: string;\r\n\r\n public activeTab: string\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<PaperFormat>,\r\n @Inject(MAT_DIALOG_DATA) public data: {paperFormat: PaperFormat, taxs: Tax[], authTax: boolean}\r\n ) {\r\n this.paperFormat = JSON.parse(JSON.stringify(data.paperFormat));\r\n this.taxs = data.taxs;\r\n this.authTax = data.authTax;\r\n this.initTaxOptions();\r\n this.activeTab = 'paper'\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initModalConfig();\r\n this.initFormValue();\r\n if (this.authTax) {\r\n this.initTaxOptionSelected();\r\n }\r\n }\r\n\r\n initTaxOptions() {\r\n this.taxOptions = [];\r\n this.taxs.forEach((tax, i) => {\r\n this.taxOptions = [...this.taxOptions,\r\n {\r\n id: i+1,\r\n name: tax.getName,\r\n ID: tax.getID\r\n }\r\n ]\r\n });\r\n }\r\n\r\n initTaxOptionSelected() {\r\n if (this.taxSelected) {\r\n this.taxOptionSelected = this.taxOptions.find(val => {\r\n return val.ID === this.taxSelected['ID'];\r\n });\r\n }\r\n }\r\n\r\n onSelectTaxType() {\r\n this.taxSelected = this.taxs.find(tax => {\r\n return tax.getID === this.taxOptionSelected.ID;\r\n });\r\n }\r\n\r\n initModalConfig() {\r\n this.modalConfig.title = \"Sticker Configuration\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n onOk() {\r\n this.setPaperFormat();\r\n this.dialogRef.close(this.paperFormat);\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n initFormValue() {\r\n if (this.paperFormat) {\r\n this.barcodeHeight = this.paperFormat.BarcodeHeight;\r\n this.paperWidth = this.paperFormat.PaperWidth;\r\n this.marginTop = this.paperFormat.MarginTop;\r\n this.marginLeft = this.paperFormat.MarginLeft;\r\n this.stickerWidth = this.paperFormat.StickerWidth;\r\n this.stickerHeight = this.paperFormat.StickerHeight;\r\n this.barcodeHeight = this.paperFormat.BarcodeHeight;\r\n this.spacingColumn = this.paperFormat.ColumnSpacing;\r\n this.spacingRow = this.paperFormat.RowSpacing;\r\n this.barcode = this.paperFormat.BarcodeVisible;\r\n this.code = this.paperFormat.CodeVisible;\r\n this.price = this.paperFormat.PriceVisible;\r\n this.name = this.paperFormat.NameVisible;\r\n this.move = this.paperFormat.MoveProductNameOnTop;\r\n this.desc = this.paperFormat.DescriptionAsCode;\r\n this.fontSize = this.paperFormat.ProductNameFontSize;\r\n this.namePrefix = this.paperFormat.ProductNamePrefix;\r\n this.maxChar = this.paperFormat.ProductNameMaxLength;\r\n this.lineHeight = this.paperFormat.LineHeight;\r\n this.priceTax = this.paperFormat.PriceWithTax;\r\n this.taxSelected = this.paperFormat.TaxType;\r\n this.storeName = this.paperFormat.StoreName;\r\n this.currencySymbol = this.paperFormat.CurrencySymbol;\r\n this.promotionPriceLabel = this.paperFormat.PromotionPriceLabel;\r\n this.basicPriceLabel = this.paperFormat.BasicPriceLabel;\r\n }\r\n }\r\n \r\n setPaperFormat() {\r\n if (this.paperFormat) {\r\n this.checkPriceWithTax();\r\n this.paperFormat.BarcodeHeight = this.barcodeHeight;\r\n this.paperFormat.PaperWidth = this.paperWidth;\r\n this.paperFormat.MarginTop = this.marginTop;\r\n this.paperFormat.MarginLeft = this.marginLeft;\r\n this.paperFormat.StickerWidth = this.stickerWidth;\r\n this.paperFormat.StickerHeight = this.stickerHeight;\r\n this.paperFormat.BarcodeHeight = this.barcodeHeight;\r\n this.paperFormat.ColumnSpacing = this.spacingColumn;\r\n this.paperFormat.RowSpacing = this.spacingRow;\r\n this.paperFormat.BarcodeVisible = this.barcode;\r\n this.paperFormat.MoveProductNameOnTop = this.move;\r\n this.paperFormat.CodeVisible = this.code;\r\n this.paperFormat.PriceVisible = this.price;\r\n this.paperFormat.NameVisible = this.name;\r\n this.paperFormat.DescriptionAsCode = this.desc;\r\n this.paperFormat.ProductNameFontSize = this.fontSize;\r\n this.paperFormat.ProductNamePrefix = this.namePrefix;\r\n this.paperFormat.ProductNameMaxLength = this.maxChar;\r\n this.paperFormat.LineHeight = this.lineHeight;\r\n this.paperFormat.PriceWithTax = this.priceTax;\r\n this.paperFormat.TaxType = this.taxSelected;\r\n this.paperFormat.StoreName = this.storeName;\r\n this.paperFormat.CurrencySymbol = this.currencySymbol;\r\n this.paperFormat.PromotionPriceLabel = this.promotionPriceLabel;\r\n this.paperFormat.BasicPriceLabel = this.basicPriceLabel;\r\n }\r\n }\r\n\r\n private checkPriceWithTax() {\r\n if (!this.priceTax) {\r\n this.taxSelected = this.taxs.find(tax => tax.getLabel == \"No Tax\");\r\n }\r\n }\r\n\r\n dataTarget(activeTab){\r\n this.activeTab = activeTab;\r\n }\r\n\r\n}\r\n","<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n\t<content>\r\n\t\t<div container>\r\n\t\t\t<ul class=\"nav nav-tabs\" id=\"myTab\" #tabs role=\"tablist\">\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active':activeTab === 'paper' }\" (click)=\"dataTarget('paper')\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\">Paper</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'spacing' }\" id=\"spacing-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#spacing'\" role=\"tab\" (click)=\"dataTarget('spacing')\"\r\n\t\t\t\t\t\taria-selected=\"true\">Spacing</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'sticker-content' }\" id=\"dua-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#sticker-content'\" role=\"tab\"\r\n\t\t\t\t\t\t(click)=\"dataTarget('sticker-content')\" aria-selected=\"true\">Sticker Content</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'price' }\" id=\"price-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#price'\" role=\"tab\" (click)=\"dataTarget('price')\"\r\n\t\t\t\t\t\taria-selected=\"true\">Price</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'advanced' }\" id=\"advanced-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#advanced'\" role=\"tab\" (click)=\"dataTarget('advanced')\"\r\n\t\t\t\t\t\taria-selected=\"true\">Advanced</a>\r\n\t\t\t\t</li>\r\n\t\t\t\t<li class=\"nav-item\">\r\n\t\t\t\t\t<a class=\"nav-link\" [ngClass]=\"{ 'active': activeTab === 'promotionLabel' }\" id=\"promotionLabel-tab\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"tab\" data-bs-target=\"'#promotionLabel'\" role=\"tab\"\r\n\t\t\t\t\t\t(click)=\"dataTarget('promotionLabel')\" aria-selected=\"true\">Label</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t\t<div class=\"tab-content border bg-white\">\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"paper\" [ngClass]=\"{ 'active': activeTab === 'paper' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Paper Width</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"paperWidth\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The width of the paper</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Sticker Width</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"stickerWidth\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The width of the sticker</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Sticker Height</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"stickerHeight\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The height of the sticker</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"spacing\" [ngClass]=\"{ 'active': activeTab === 'spacing' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Left Indent</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"marginLeft\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels appended before the first COLUMN</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Top Indent</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"marginTop\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels appended before the first ROW</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Row Spacing</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"spacingRow\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels between each ROW</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Column Spacing</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"spacingColumn\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The number of pixels between each COLUMN</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"sticker-content\"\r\n\t\t\t\t\t[ngClass]=\"{ 'active': activeTab === 'sticker-content' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Barcode Height</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"number\" [(ngModel)]=\"barcodeHeight\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The height of the generated barcode in pixels</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Font Size</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"fontSize\" type=\"number\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"input-group-text\">px</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Change all font size (include price)</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Barcode</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"barcode = false;\" [checked]=\"!barcode\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"barcode = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"barcode\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether barcode is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Code</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"code = false;\" [checked]=\"!code\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"code = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"code\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether variant code is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Price</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"price = false;\" [checked]=\"!price\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"price = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"price\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether variant price is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Name</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"name = false;\" [checked]=\"!name\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"name = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"name\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Whether variant name is visible</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Move Product Name</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"form-check form-check-inline\">\r\n\t\t\t\t\t\t\t\t\t<input (change)=\"move = false;\" [checked]=\"!move\" class=\"form-check-input\"\r\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\" name=\"move\" id=\"inlineRadio1\" value=\"option1\">\r\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"inlineRadio1\">No</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"form-check form-check-inline\">\r\n\t\t\t\t\t\t\t\t\t<input (change)=\"move = true;\" [checked]=\"move\" class=\"form-check-input\"\r\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\" name=\"move\" id=\"inlineRadio2\" value=\"option2\">\r\n\t\t\t\t\t\t\t\t\t<label class=\"form-check-label\" for=\"inlineRadio2\">Yes</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>Whether move variant name below variant code or below variant price</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"price\" [ngClass]=\"{ 'active': activeTab === 'price' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Price with Tax</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"priceTax = false;\" [checked]=\"!priceTax\">\r\n\t\t\t\t\t\t\t\t\t\tNo</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"priceTax = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"priceTax\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Tax is added to the product base price {{ authTax }}</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr *ngIf=\"(priceTax == true) && (authTax == true)\">\r\n\t\t\t\t\t\t\t<td>Selected Tax</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<ng-select class=\"sticky-top\" appendTo=\"body\" [items]=\"taxOptions\" [(ngModel)]=\"taxOptionSelected\"\r\n\t\t\t\t\t\t\t\t\tbindLabel=\"name\" (change)=\"onSelectTaxType()\" [clearable]=\"false\"\r\n\t\t\t\t\t\t\t\t\tplaceholder=\"Select Column\">\r\n\t\t\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Applied Tax ex: 100 + 10% = 110</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Currency</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"currencySymbol\" type=\"text\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The default currency</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"advanced\" [ngClass]=\"{ 'active': activeTab === 'advanced' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Max Character</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"maxChar\" type=\"number\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The max character of the product name</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Name Prefix</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"namePrefix\" type=\"text\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>A word, letter, or number placed before product name</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Store Name</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input [(ngModel)]=\"storeName\" type=\"text\" class=\"form-control\" aria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>The name of the store</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Use description as code</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"desc = false;\" [checked]=\"!desc\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"desc = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"desc\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Copy product description into Product Code</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Remove \"Default\"</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<mat-radio-group aria-label=\"Select an option\" color=\"primary\">\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button value=\"false\" (change)=\"removeDefault = false;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"!removeDefault\">No\r\n\t\t\t\t\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t\t\t\t\t\t<mat-radio-button class=\"ms-4\" value=\"true\" (change)=\"removeDefault = true;\"\r\n\t\t\t\t\t\t\t\t\t\t[checked]=\"removeDefault\">Yes</mat-radio-button>\r\n\t\t\t\t\t\t\t\t</mat-radio-group>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Remove \"Default\" Label from product name</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tab-pane mt-0\" id=\"promotionLabel\" [ngClass]=\"{ 'active': activeTab === 'promotionLabel' }\">\r\n\t\t\t\t\t<table class=\"table table-bordered w-100\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Normal Price</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" [(ngModel)]=\"basicPriceLabel\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Custom label normal price</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td>Promotion Price</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t\t\t\t<input type=\"text\" [(ngModel)]=\"promotionPriceLabel\" class=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\taria-label=\"width\">\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<span>Custom label promotion price</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</content>\r\n</modal-material>","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ModalMaterialConfig } from 'src/app/shared/components/modal-material/modal-material-config';\r\n\r\n@Component({\r\n selector: 'app-form-upload-variant',\r\n templateUrl: './form-upload-variant.component.html',\r\n styleUrls: ['./form-upload-variant.component.scss']\r\n})\r\nexport class FormUploadVariantComponent implements OnInit {\r\n @Output() event: EventEmitter<any> = new EventEmitter();\r\n public modalConfig: ModalMaterialConfig = new ModalMaterialConfig();\r\n public files: FileList;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<FormUploadVariantComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.initModalConfig();\r\n }\r\n\r\n initModalConfig() {\r\n this.modalConfig.title = \"Upload New Product Barcode?\";\r\n this.modalConfig.hideMoreButton = true;\r\n }\r\n\r\n onOk() {\r\n this.dialogRef.close(this.files);\r\n }\r\n\r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n onUploadFile(event) {\r\n if (event) {\r\n this.files = event['target']['files'];\r\n }\r\n }\r\n}\r\n","\r\n<modal-material [config]=\"modalConfig\" (onOk)=\"onOk()\" (onCancel)=\"onCancel()\">\r\n <content>\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\">\r\n <a href=\"//res.cloudinary.com/pos/raw/upload/POS/CSV/Barcode_DealPOS.csv\" style=\"font-size: 12px;\">Download Sample CSV</a>\r\n <table>\r\n <tbody>\r\n <tr>\r\n <th class=\"value-title\">CSV File</th>\r\n <td>:</td>\r\n <td>\r\n <input type=\"file\" (change)=\"onUploadFile($event)\" aria-label=\"upload\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </content>\r\n</modal-material>","import { Component, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Variant } from 'src/app/models/Variant';\r\nimport { BillService } from 'src/app/services/bill-service/bill.service';\r\nimport { OutletService } from 'src/app/services/outlet-service/outlet.service';\r\nimport { ProductService } from 'src/app/services/product-service/product.service';\r\nimport { ProductStateService } from 'src/app/services/product-state-service/product-state.service';\r\nimport { QueryParamService } from 'src/app/services/query-param-service/query-param.service';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { TransactionType } from 'src/app/shared/enums/TransactionType.enum';\r\nimport { FormAddBillComponent } from '../form-add-bill/form-add-bill.component';\r\nimport { FormAddVariantComponent } from '../form-add-variant/form-add-variant.component';\r\nimport { FormVariantResponse } from '../form-add-variant/form-variant-response';\r\nimport { FormUploadVariantComponent } from '../form-upload-variant/form-upload-variant.component';\r\n\r\ninterface ProductGroup {\r\n VariantID: string;\r\n Quantity: number;\r\n Variants: Product[]\r\n}\r\n\r\n@Component({\r\n selector: 'app-list-products',\r\n templateUrl: './list-products.component.html',\r\n styleUrls: ['./list-products.component.scss']\r\n})\r\nexport class ListProductsComponent implements OnDestroy {\r\n private destroy$: Subject<boolean>;\r\n public productGroups: ProductGroup[];\r\n private productSource: Product[];\r\n public stickerTotal: number;\r\n public customPrice: number;\r\n public outlets: Outlet[];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private productStateService: ProductStateService,\r\n private productService: ProductService,\r\n private toastService: ToastrService,\r\n private queryParamService: QueryParamService,\r\n private outletService: OutletService,\r\n private billService: BillService\r\n ) {\r\n this.destroy$ = new Subject();\r\n this.stickerTotal = 0;\r\n this.productGroups = [];\r\n this.productSource = [];\r\n this.getRouteParam();\r\n this.initOutlets();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n getRouteParam() {\r\n this.queryParamService.getState()\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter(val => Constants.IsEmpty(val))\r\n )\r\n .subscribe((param: { ID: string, billNumber: string, outletName: string }) => {\r\n if (param.ID) {\r\n this.getProductById(param.ID, 5);\r\n }\r\n\r\n if (param.billNumber) {\r\n this.getBill({ Number: param.billNumber, Outlet: param.outletName, Type: TransactionType.SUPPLIER_BILL })\r\n }\r\n })\r\n }\r\n\r\n private initOutlets() {\r\n this.outletService.get()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(outlets => {\r\n this.outlets = outlets;\r\n })\r\n }\r\n\r\n public onAddBill() {\r\n this.dialog.open(FormAddBillComponent, {\r\n width: '350px',\r\n data: { outlets: this.outlets },\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: { Outlet: string, Number: string, Type: TransactionType }) => {\r\n if (result) {\r\n this.getBill(result);\r\n }\r\n })\r\n }\r\n\r\n private getBill(data: { Outlet: string, Number: string, Type: TransactionType }) {\r\n this.billService.get(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((variants: Variant[]) => {\r\n if (variants) {\r\n variants.forEach(variant => {\r\n this.checkAvailableProductCode(variant);\r\n let products = this.generateProductByQty(variant, variant.getQuantity);\r\n this.productGroups = [...this.productGroups, {\r\n VariantID: variant.getVariantID,\r\n Quantity: variant.getQuantity,\r\n Variants: products\r\n }];\r\n this.updateProductsSource();\r\n });\r\n }\r\n })\r\n }\r\n\r\n public onAddProduct() {\r\n this.dialog.open(FormAddVariantComponent, {\r\n width: '350px',\r\n data: { variantName: '', variantId: null, qty: null }\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: FormVariantResponse) => {\r\n if (result) {\r\n this.customPrice = result.customPrice;\r\n this.generateProductBarcode(result.product, result.quantity);\r\n }\r\n });\r\n }\r\n\r\n private getProductById(productId: string, qty: number) {\r\n this.productService.getProductById(productId)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((product: Product) => {\r\n if (product) {\r\n this.generateProductBarcode(product, qty);\r\n }\r\n });\r\n }\r\n\r\n private generateProductBarcode(product: Product, qty: number) {\r\n this.checkAvailableProductCode(product);\r\n let products = this.generateProductByQty(product, qty);\r\n products = this.updateCustomPriceProducts(products);\r\n this.productGroups = [...this.productGroups, {\r\n VariantID: product.getID,\r\n Quantity: qty,\r\n Variants: products\r\n }];\r\n this.updateProductsSource();\r\n }\r\n\r\n private checkAvailableProductCode(product: Product) {\r\n if (!product.getCode) {\r\n this.toastService.error(\"Product has no code\", \"Code Not Found\");\r\n }\r\n }\r\n\r\n public onUpdateProduct(variantGroup: ProductGroup, i: number) {\r\n const code = variantGroup.Variants[0].getCode;\r\n const name = variantGroup.Variants[0].getName;\r\n const customPrice = variantGroup.Variants[0].getCustomPrice;\r\n const promotion = variantGroup.Variants[0].getSelectedPromotion;\r\n const variantName = name + ' - ' + code;\r\n const variantId = variantGroup.VariantID;\r\n const quantity = variantGroup.Quantity;\r\n this.dialog.open(FormAddVariantComponent, {\r\n width: '350px',\r\n data: {\r\n variantName: variantName,\r\n variantId: variantId,\r\n qty: quantity,\r\n customPrice: customPrice,\r\n promotion: promotion\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((result: FormVariantResponse) => {\r\n if (result) {\r\n this.customPrice = result.customPrice;\r\n this.checkAvailableProductCode(result.product);\r\n let products = this.generateProductByQty(result.product, result.quantity);\r\n products = this.updateCustomPriceProducts(products);\r\n this.productGroups[i].Variants = products;\r\n this.productGroups[i].Quantity = result.quantity;\r\n this.productGroups[i].VariantID = result.product.getID;\r\n this.updateProductsSource();\r\n }\r\n });\r\n }\r\n\r\n public onDeleteProduct(index: number) {\r\n this.productGroups = this.productGroups.filter((val, i) => i !== index);\r\n this.updateProductsSource();\r\n }\r\n\r\n private updateProductsSource() {\r\n this.productSource = [];\r\n this.productGroups.forEach(group => {\r\n this.productSource = [...this.productSource, ...group.Variants];\r\n });\r\n this.stickerTotal = this.productSource.length;\r\n this.productStateService.setState(this.productSource);\r\n }\r\n\r\n public onUploadProduct() {\r\n this.dialog.open(FormUploadVariantComponent, {\r\n width: '350px'\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((files: FileList) => {\r\n if (files) {\r\n let variantGroup: ProductGroup;\r\n this.productService.uploadProducts(files[0])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((results:\r\n {\r\n Quantity: number, Name: string,\r\n Code: string, Print: Product[], VariantID: string\r\n }[]) => {\r\n if (results) {\r\n this.productGroups = [...this.productGroups, ...results.map(result => {\r\n variantGroup = {\r\n Quantity: result.Quantity,\r\n VariantID: result.VariantID,\r\n Variants: result.Print\r\n };\r\n return variantGroup;\r\n })];\r\n this.updateProductsSource();\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n private updateCustomPriceProducts(variants: Product[]): Product[] {\r\n let variantsUpdate = variants;\r\n if (this.customPrice) {\r\n variantsUpdate = variants.map(variant => {\r\n variant.setCustomPrice = this.customPrice;\r\n return variant;\r\n });\r\n }\r\n return variantsUpdate;\r\n }\r\n\r\n private generateProductByQty(product: Product, qty: number): Product[] {\r\n let products: Product[] = [];\r\n for (let i = 1; i <= qty; i++) {\r\n products.push(product);\r\n }\r\n return products;\r\n }\r\n\r\n public onClear() {\r\n this.productGroups = [];\r\n this.updateProductsSource();\r\n }\r\n\r\n public onPrint() {\r\n window.print();\r\n }\r\n\r\n}\r\n","<div class=\"card mt-3 sticky-top\">\r\n <div class=\"card-header d-flex justify-content-between align-items-center bg-white pb-5\" style=\"border: none;\">\r\n <h1 class=\"fw-light m-1\">\r\n Products\r\n <small class=\"ms-1 fst-italic text-info d-block mt-1\">( {{stickerTotal === 0 ? '' : stickerTotal}} stickers )</small>\r\n </h1>\r\n <div class=\"btn-group\">\r\n <button type=\"button\" class=\"btn-md btn btn-outline-secondary\" (click)=\"onAddProduct()\">\r\n <i class=\"fa fa-plus\" aria-hidden=\"true\"> </i>\r\n </button>\r\n <button type=\"button\" class=\"btn-md btn btn-outline-secondary\" (click)=\"onUploadProduct()\">\r\n <i class=\"fa fa-upload\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-0\">\r\n <table class=\"table table-borderless table-fixed\">\r\n <thead class=\"table-light lh-1\">\r\n <tr>\r\n <th scope=\"col\"></th>\r\n <th scope=\"col\">NAME</th>\r\n <th scope=\"col\" class=\"text-end\">QTY</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let variant of productGroups; let i = index\" (click)=\"onUpdateProduct(variant, i)\">\r\n <td>\r\n <i (click)=\"onDeleteProduct(i)\" style=\"color: #fb404b !important; cursor: pointer;\"\r\n class=\"fa fa-times\" aria-hidden=\"true\"></i>\r\n </td>\r\n <td>\r\n {{variant?.Variants[0]?.getName}}- {{variant?.Variants[0]?.getCode}} -\r\n </td>\r\n <td class=\"text-end\">{{variant?.Quantity}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"card-footer bg-white py-8 p-0\">\r\n <div class=\"row\">\r\n <div class=\"col-6 d-flex justify-content-start\">\r\n <a class=\"btn btn-xl btn-outline-secondary\" (click)=\"onAddBill()\">\r\n <i class=\"fa-regular fa-file-lines me-2\"></i>\r\n Load Transaction\r\n </a>\r\n </div>\r\n <div class=\"col-6 d-flex justify-content-end\">\r\n <a class=\"btn btn-xl btn-outline-secondary ms-5\" (click)=\"onClear()\">Clear</a>\r\n <a class=\"btn btn-xl btn-success ms-5\" (click)=\"onPrint()\">Print</a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\nimport { AuthenticationService } from '../services/authentication-service/authentication.service';\r\nimport { ProductStateService } from '../services/product-state-service/product-state.service';\r\nimport { QueryParamService } from '../services/query-param-service/query-param.service';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss']\r\n})\r\nexport class PagesComponent {\r\n domainName: string;\r\n \r\n constructor(\r\n private variantServiceState: ProductStateService,\r\n private authService: AuthenticationService,\r\n private queryParamService: QueryParamService\r\n ) {\r\n this.domainName = localStorage.getItem('Domain');\r\n }\r\n\r\n onLogout() {\r\n this.variantServiceState.setState([]);\r\n this.queryParamService.setState(null);\r\n this.authService.logout();\r\n }\r\n\r\n}\r\n","<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-4 d-print-none\">\r\n <app-list-products></app-list-products>\r\n </div>\r\n <div class=\"col-8 p-0\">\r\n <app-print-preview></app-print-preview>\r\n </div>\r\n </div>\r\n</div>\r\n<footer class=\" d-md-block d-print-none\">\r\n <div class=\"row justify-content-between align-items-center\">\r\n <div class=\"col-auto d-inline-flex\">\r\n <p class=\"pt-1rem me-3\">Powered by : </p>\r\n <a target=\"_blank\" href=\"https://www.dealpos.com\"><img\r\n src=\"https://res.cloudinary.com/pos/image/upload/POS/Images/Login/dealpos.png\"\r\n alt=\"dealpos-logo\" class=\"img-fluid\"></a>\r\n </div>\r\n <div class=\"col-auto\">\r\n <div class=\"logout d-print-none\">\r\n <a href=\"https://{{domainName}}\">{{domainName}}</a> \r\n <h5 (click)=\"onLogout()\"><span class=\"fa fa-sign-out-alt\"></span>&nbsp;Logout</h5>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { PagesComponent } from './pages.component';\r\nimport { ListProductsComponent } from './list-products/list-products.component';\r\nimport { PrintPreviewComponent } from './print-preview/print-preview.component';\r\nimport { FormSettingsComponent } from './form-settings/form-settings.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormAddVariantComponent } from './form-add-variant/form-add-variant.component';\r\nimport { FormUploadVariantComponent } from './form-upload-variant/form-upload-variant.component';\r\nimport { AutocompleteModule } from '../shared/components/autocomplete/autocomplete.component';\r\nimport { NgxBarcode6Module } from 'ngx-barcode6';\r\nimport { FormAddBillComponent } from './form-add-bill/form-add-bill.component';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: PagesComponent}\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n PagesComponent,\r\n ListProductsComponent,\r\n PrintPreviewComponent,\r\n FormSettingsComponent,\r\n FormAddVariantComponent,\r\n FormUploadVariantComponent,\r\n FormAddBillComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n AutocompleteModule,\r\n NgxBarcode6Module,\r\n MatRadioModule,\r\n RouterModule.forChild(routes)\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class PagesModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { AuthenticationService } from 'src/app/services/authentication-service/authentication.service';\r\nimport { BarcodeService } from 'src/app/services/barcode-service/barcode.service';\r\nimport { ProductService } from 'src/app/services/product-service/product.service';\r\nimport { ProductStateService } from 'src/app/services/product-state-service/product-state.service';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\nimport { FormSettingsComponent } from '../form-settings/form-settings.component';\r\n\r\n@Component({\r\n selector: 'app-print-preview',\r\n templateUrl: './print-preview.component.html',\r\n styleUrls: ['./print-preview.component.scss']\r\n})\r\nexport class PrintPreviewComponent implements OnInit, OnDestroy {\r\n public paperFormatOptions = [];\r\n public optionSelected: {id: number, name: string} = {id: 1, name: 'Continuous - 3 Column'};\r\n public paperFormats: PaperFormat[] = [];\r\n public selectedPaperFormat: PaperFormat | undefined;\r\n public productPreview: Product[];\r\n private destroy$: Subject<boolean>;\r\n\r\n public totalStickerPerRow: number = 0;\r\n public lastIndex: number = 0; \r\n\r\n public taxs: Tax[];\r\n public tax: number;\r\n public authTax: boolean;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private productStateService: ProductStateService,\r\n private productService: ProductService,\r\n private barcodeService: BarcodeService,\r\n private toastService: ToastrService,\r\n private authService: AuthenticationService\r\n ) {\r\n this.destroy$ = new Subject();\r\n this.productPreview = [];\r\n this.taxs = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.getPaperFormats();\r\n this.checkAuthTax();\r\n this.subscribeToObsproducts();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n checkAuthTax() {\r\n let roles = this.authService.getRoles();\r\n let requiredRole = roles.find(role => role === 'StpE');\r\n if (requiredRole) {\r\n this.getProductTax();\r\n this.authTax = true;\r\n }\r\n else {\r\n this.authTax = false;\r\n }\r\n }\r\n \r\n private subscribeToObsproducts() {\r\n this.productStateService.getState()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(products => {\r\n this.productPreview = products;\r\n this.relayout();\r\n });\r\n }\r\n\r\n getProductTax() {\r\n this.productService.getTax()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(taxs => {\r\n if (taxs) {\r\n this.taxs = taxs;\r\n }\r\n });\r\n }\r\n\r\n getPaperFormats() {\r\n this.barcodeService.getPaperFormatConfig()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((paperFormats) => {\r\n if (paperFormats) {\r\n this.paperFormats = paperFormats;\r\n this.setSelectedPaperFormat(paperFormats[0]);\r\n this.initOptionFormat();\r\n this.initOptionSelected(this.selectedPaperFormat);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n initOptionFormat() {\r\n this.paperFormatOptions = [];\r\n this.paperFormats.forEach((format, i) => {\r\n this.paperFormatOptions = [...this.paperFormatOptions, \r\n {\r\n id: i+1,\r\n name: format.Name\r\n }\r\n ]\r\n });\r\n }\r\n\r\n initOptionSelected(paperFormat: PaperFormat) {\r\n this.optionSelected = this.paperFormatOptions.find(val => {\r\n return val.name === paperFormat.Name;\r\n });\r\n }\r\n\r\n\r\n openSettingModal() {\r\n this.dialog.open(FormSettingsComponent, {\r\n width: '850px',\r\n data: {paperFormat: this.selectedPaperFormat, taxs: this.taxs, authTax: this.authTax}\r\n })\r\n .afterClosed()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(paperFormat => {\r\n if (paperFormat && this.selectedPaperFormat) {\r\n this.updatePaperFormatSource(paperFormat);\r\n this.updatePaperFormat();\r\n this.setSelectedPaperFormat(paperFormat);\r\n }\r\n });\r\n }\r\n\r\n onSelectPaperFormat() {\r\n this.getPaperFormatBarcode();\r\n }\r\n\r\n getPaperFormatBarcode() {\r\n let configName = this.optionSelected.name;\r\n let paperFormat = this.findPaperFormatByName(configName);\r\n this.setSelectedPaperFormat(paperFormat);\r\n }\r\n\r\n updatePaperFormat() {\r\n this.barcodeService.updatePaperFormatConfig(this.paperFormats)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.toastService.success(\"Success Update Paper Format\", \"Success\");\r\n }, err => {\r\n console.error(err);\r\n })\r\n }\r\n\r\n setSelectedPaperFormat(paperFormat: PaperFormat) {\r\n this.selectedPaperFormat = paperFormat;\r\n this.barcodeService.setBarcodeConfigState(paperFormat);\r\n this.relayout();\r\n this.getPPnVal(paperFormat);\r\n }\r\n\r\n findPaperFormatByName(name: string) {\r\n let paperFormat = this.paperFormats.find(val => {\r\n return val.Name == name;\r\n });\r\n return paperFormat;\r\n }\r\n\r\n updatePaperFormatSource(paperFormat: PaperFormat) { \r\n this.paperFormats = this.paperFormats.map(val => {\r\n if (paperFormat.Name === val.Name) {\r\n val = paperFormat;\r\n }\r\n return val;\r\n })\r\n }\r\n\r\n getPPnVal(paperFormat: PaperFormat) {\r\n if (paperFormat.TaxType) {\r\n this.tax = paperFormat.TaxType['Rate'];\r\n }\r\n else {\r\n this.tax = null;\r\n }\r\n }\r\n\r\n relayout() {\r\n let paperWidth = this.selectedPaperFormat?.PaperWidth ? this.selectedPaperFormat?.PaperWidth : 0;\r\n let stickerWidth = this.selectedPaperFormat?.StickerWidth ? this.selectedPaperFormat?.StickerWidth : 0;\r\n let columnSpacing = this.selectedPaperFormat?.ColumnSpacing ? this.selectedPaperFormat?.ColumnSpacing : 0;\r\n let grossCount = (paperWidth+columnSpacing) / (stickerWidth + columnSpacing);\r\n let stickerCount = Math.floor(grossCount);\r\n this.totalStickerPerRow = stickerCount;\r\n \r\n let grossRowCount = this.productPreview.length / stickerCount;\r\n let rowCount = Math.floor(grossRowCount);\r\n let lastRow = this.productPreview.length-(rowCount*stickerCount);\r\n this.lastIndex = (lastRow===0) ? stickerCount : lastRow;\r\n\r\n //config DescriptionAsCode\r\n this.productPreview = this.productPreview.map(product => {\r\n if (this.selectedPaperFormat?.DescriptionAsCode) {\r\n product.setBarcodeTitle = product.getDescription ? product.getDescription : product.getCode\r\n }\r\n else {\r\n product.setBarcodeTitle = product.getCode\r\n }\r\n return product;\r\n })\r\n }\r\n}\r\n","<div class=\"mt-3 d-print-none\"></div>\r\n<div class=\"card mt-0 mb-0 paper-barcode\">\r\n <div class=\"card-header d-flex justify-content-between align-items-center border-bottom pb-5 d-print-none\">\r\n <h1 class=\"fw-light\">\r\n Print Preview\r\n </h1>\r\n <div align=\"right\" style=\"width: 400px;\">\r\n <h5 class=\"d-inline-block fw-light text-info fst-italic \">Paper Source</h5>\r\n <ng-select align=\"left\" class=\"d-inline-block ms-4\" [items]=\"paperFormatOptions\"\r\n [(ngModel)]=\"optionSelected\" (change)=\"onSelectPaperFormat()\" [clearable]=\"false\" bindLabel=\"name\"\r\n placeholder=\"Select Column\">\r\n </ng-select>\r\n <button class=\"btn btn btn-outline-secondary ms-4\" (click)=\"openSettingModal()\">\r\n <i class=\"fa fa-cog\" aria-hidden=\"true\"> </i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body\" style=\"padding: 0\">\r\n <div class=\"canvas clearfix\" [style.width]=\"selectedPaperFormat?.PaperWidth +'px'\"\r\n [style.margin-top]=\"selectedPaperFormat?.MarginTop+'px'\"\r\n [style.margin-left]=\"selectedPaperFormat?.MarginLeft+'px'\">\r\n <ul class=\"barcodes\">\r\n <li *ngFor=\"let product of productPreview; let i = index\"\r\n [style.width]=\"selectedPaperFormat?.StickerWidth+'px'\"\r\n [style.height]=\"selectedPaperFormat?.StickerHeight+'px'\"\r\n [style.margin-right]=\"((i+1)%totalStickerPerRow) === 0 ? 0 : selectedPaperFormat?.ColumnSpacing+'px'\"\r\n [style.margin-bottom]=\"(i >= (productPreview.length - lastIndex)) ? 0 : selectedPaperFormat?.RowSpacing+'px'\">\r\n\r\n <div class=\"position-relative\">\r\n <ngx-barcode6 *ngIf=\"selectedPaperFormat?.BarcodeVisible\" [bc-value]=\"product?.getCode\"\r\n [bc-element-type]=\"'img'\" [bc-width]=\"1\" [bc-height]=\"selectedPaperFormat?.BarcodeHeight\">\r\n </ngx-barcode6>\r\n <div style=\"margin-top: -4px; line-height: 1;\">\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.CodeVisible\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">{{product.getBarcodeTitle}}</span>\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.NameVisible && selectedPaperFormat?.MoveProductNameOnTop\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n {{(selectedPaperFormat?.ProductNamePrefix ?\r\n selectedPaperFormat?.ProductNamePrefix +' '+ product.getName :\r\n product.getName) | slice:0:(selectedPaperFormat?.ProductNameMaxLength)}}\r\n </span>\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.PriceVisible\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n <!-- PRODUCT WITH PROMOTION -->\r\n <ng-container *ngIf=\"product.getSelectedPromotion; else WITHOUT_PROMOTION\">\r\n <div class=\"d-flex justify-content-between\">\r\n <span class=\"ms-12\">{{selectedPaperFormat.BasicPriceLabel ? selectedPaperFormat.BasicPriceLabel : \"N. Price\"}}</span>\r\n <span class=\"me-12\">\r\n <span style=\"text-decoration:line-through; text-decoration-thickness: 1.5px;\" class=\"text-danger\">\r\n <span class=\"text-dark\">{{selectedPaperFormat?.CurrencySymbol}} {{(product?.getUnitPrice | number)}}</span>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-1\">\r\n <span class=\"ml-12\">{{selectedPaperFormat.PromotionPriceLabel ? selectedPaperFormat.PromotionPriceLabel : \"Spc. Price\"}}</span>\r\n <span class=\"mr-12 text-danger\">{{selectedPaperFormat?.CurrencySymbol}} {{(product?.getSelectedPromotion?.getUnitPrice - (product?.getSelectedPromotion?.getUnitPrice * product?.getSelectedPromotion?.getDiscount) / 100) | number}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #WITHOUT_PROMOTION>\r\n <!-- PRODUCT WITHOUT PROMOTION -->\r\n <strong>\r\n <ng-container\r\n *ngIf=\"(product?.getCustomPrice !== 0) && (product?.getCustomPrice !== undefined); else WITH_TAX\">\r\n {{selectedPaperFormat?.CurrencySymbol}} {{(product?.getCustomPrice |\r\n taxPipe:tax) | number}}\r\n </ng-container>\r\n <ng-template #WITH_TAX>\r\n <ng-container\r\n *ngIf=\"selectedPaperFormat?.PriceWithTax && (tax) && (tax != 0); else WITHOUT_TAX\">\r\n {{selectedPaperFormat?.CurrencySymbol}} {{(product?.getUnitPrice |\r\n taxPipe:tax) | number}}\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #WITHOUT_TAX>\r\n {{selectedPaperFormat?.CurrencySymbol}} {{(product?.getUnitPrice | number)}}\r\n </ng-template>\r\n </strong>\r\n </ng-template>\r\n </span>\r\n <span class=\"d-block\" *ngIf=\"selectedPaperFormat?.NameVisible && !selectedPaperFormat?.MoveProductNameOnTop\"\r\n [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n {{(selectedPaperFormat?.ProductNamePrefix ?\r\n selectedPaperFormat?.ProductNamePrefix +' '+ product.getName :\r\n product.getName) | slice:0:(selectedPaperFormat?.ProductNameMaxLength)}}\r\n </span>\r\n </div>\r\n\r\n <div class=\"vertical-text\" [style.font-size]=\"selectedPaperFormat?.ProductNameFontSize+'px'\">\r\n {{selectedPaperFormat?.StoreName}}\r\n </div>\r\n </div>\r\n\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { PaperFormat } from 'src/app/shared/interfaces/PaperFormat.interface';\r\nimport { HttpService } from '../http-service/http.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BarcodeService {\r\nprivate paperFormatVersion: string;\r\nprivate barcodeConfigState: BehaviorSubject<PaperFormat>;\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n ) {\r\n this.barcodeConfigState = new BehaviorSubject(null);\r\n }\r\n\r\n updatePaperFormatConfig(paperFormats: PaperFormat[]) {\r\n let domain = localStorage.getItem('Domain');\r\n let url = '/api/Config/SaveConfig';\r\n let body = {\r\n \"SubDomain\": domain,\r\n \"Version\": this.paperFormatVersion,\r\n \"PaperFormats\": paperFormats\r\n };\r\n return this.httpService.post(url, body);\r\n }\r\n\r\n getPaperFormatConfig(): Observable<PaperFormat[]> {\r\n let domain = localStorage.getItem('Domain');\r\n let paperFormats: PaperFormat[] = [];\r\n let url = '/api/Config/PaperConfig';\r\n let body = {\r\n \"SubDomain\": domain\r\n };\r\n return this.httpService.post(url, body)\r\n .pipe(\r\n map((result: {version: string, PaperFormats: any[]}) => {\r\n this.paperFormatVersion = result.version;\r\n paperFormats = result.PaperFormats;\r\n return paperFormats;\r\n })\r\n );\r\n }\r\n\r\n setBarcodeConfigState(paperFormat: PaperFormat) {\r\n this.barcodeConfigState.next(paperFormat);\r\n }\r\n \r\n getBarcodeConfigState() {\r\n return this.barcodeConfigState.asObservable().pipe(filter(val => Constants.IsNotEmpty(val)));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Variant } from 'src/app/models/Variant';\r\nimport { TransactionType } from 'src/app/shared/enums/TransactionType.enum';\r\nimport { FactoryServiceService } from '../factory-service/factory-service.service';\r\nimport { HttpService } from '../http-service/http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BillService {\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private factoryService: FactoryServiceService\r\n ) { }\r\n\r\n get(param: { Outlet: string, Number: string, Type: TransactionType }): Observable<Variant[]> {\r\n let domainName = localStorage.getItem('Domain');\r\n let endPoint = this.getEndPointByType(param.Type)\r\n let body = {\r\n Outlet: param.Outlet,\r\n Number: param.Number\r\n };\r\n return this.httpService.post(`https://${domainName}${endPoint}`, body)\r\n .pipe(\r\n map(((variants: Variant[]) => {\r\n return variants.map(variant => {\r\n return this.factoryService.getVariantModel(variant)\r\n })\r\n }))\r\n );\r\n }\r\n\r\n private getEndPointByType(type: TransactionType): string {\r\n let url: string;\r\n if (type === TransactionType.SUPPLIER_BILL) {\r\n url = '/API/V3/Barcode/byBillNumber';\r\n }\r\n else {\r\n url = '/API/V3/Barcode/byOutletDeliveryNumber';\r\n }\r\n return url;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { Bill } from 'src/app/models/Bill';\r\nimport { Variant } from 'src/app/models/Variant';\r\nimport { Promotion } from 'src/app/models/Promotion';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FactoryServiceService {\r\n\r\n constructor() { }\r\n\r\n getProductModel(data: Product): Product {\r\n let product = new Product();\r\n product.setID = data['ID'];\r\n product.setCode = data['Code'];\r\n product.setCurrency = data['CurrencySymbol'];\r\n product.setModel = data['Model'];\r\n product.setName = data['Name'];\r\n product.setUnitPrice = data['UnitPrice'];\r\n product.setDescription = data['Description'];\r\n return product;\r\n }\r\n\r\n getTaxModel(data: Tax) {\r\n let tax = new Tax(data);\r\n return tax;\r\n }\r\n\r\n getOutletModel(data: Outlet): Outlet {\r\n let outlet = new Outlet();\r\n outlet.setCode = data['Code'];\r\n outlet.setName = data['Name'];\r\n outlet.setSuspended = data['Suspended'];\r\n return outlet;\r\n }\r\n\r\n public getVariantModel(data: Variant): Variant {\r\n let variant = new Variant();\r\n variant.setCode = data['Code'];\r\n variant.setDiscount = data['Discount'];\r\n variant.setNettPrice = data['NettPrice'];\r\n variant.setPrice = data['Price'];\r\n variant.setUnitPrice = data['UnitPrice'];\r\n variant.setQuantity = data['Quantity'];\r\n variant.setVariantID = data['VariantID'];\r\n variant.setName = data['Name'];\r\n return variant;\r\n }\r\n\r\n public getBillModel(data: Bill): Bill {\r\n let bill = new Bill()\r\n bill.setNumber = data['Number'];\r\n bill.setOutlet = data['Outlet'];\r\n bill.setVariants = data['Variants'] ? data['Variants'].map(variant => this.getVariantModel(variant)) : [];\r\n return bill;\r\n }\r\n\r\n public getPromotionModel(data: Promotion): Promotion {\r\n let promotion = new Promotion();\r\n promotion.setDiscount = data['Discount'];\r\n promotion.setExtraCost = data['ExtraCost'];\r\n promotion.setPromotionID = data['PromotionID'];\r\n promotion.setUnitPrice = data['UnitPrice'];\r\n promotion.setName = data['Name'];\r\n promotion.setID = data['ID'];\r\n return promotion;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { Outlet } from 'src/app/models/Outlet';\r\nimport { FactoryServiceService } from '../factory-service/factory-service.service';\r\nimport { HttpService } from '../http-service/http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OutletService {\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private factoryService: FactoryServiceService\r\n ) { }\r\n\r\n get() {\r\n let body = {Suspended: false}\r\n let url = localStorage.getItem('Domain');\r\n return this.httpService.post<Outlet[]>(`https://${url}/api/v3/Outlet/p`, body)\r\n .pipe(\r\n map((results: []) => {\r\n let outlets: Outlet[] = [];\r\n if (results) {\r\n outlets = results.map(result => this.factoryService.getOutletModel(result));\r\n } \r\n return outlets;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Tax } from 'src/app/models/Tax';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { Constants } from 'src/app/shared/Constants';\r\nimport { FactoryServiceService } from '../factory-service/factory-service.service';\r\nimport { HttpService } from '../http-service/http.service';\r\nimport { Promotion } from 'src/app/models/Promotion';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private http: HttpClient,\r\n private factoryService: FactoryServiceService,\r\n ) { }\r\n\r\n getProductById(productId: string): Observable<Product> {\r\n let url = localStorage.getItem('Domain');\r\n return this.httpService.post(`https://${url}/API/V3/Variant/ID`, {\r\n ID: productId\r\n })\r\n .pipe(\r\n map((result: Product) => {\r\n let product = this.factoryService.getProductModel(result);\r\n return product;\r\n })\r\n )\r\n }\r\n\r\n public getPromotionByProducID(productID: string) {\r\n let url = localStorage.getItem('Domain');\r\n return this.httpService.post(`https://${url}/API/v3/PromotionEvent/GetByVariantID`, {\r\n VariantID: productID\r\n })\r\n .pipe(\r\n map((results: Promotion[]) => {\r\n let promotions = results.map(promo => this.factoryService.getPromotionModel(promo));\r\n return promotions;\r\n })\r\n )\r\n }\r\n\r\n\r\n uploadProducts(file: File) {\r\n let url = localStorage.getItem('Domain');\r\n let formData: FormData = new FormData();\r\n formData.append('file', file, file.name);\r\n\r\n return this.httpService.postFormData(`https://${url}/API/Product/UploadCSVforBarcode`, formData)\r\n .pipe(\r\n map((results: any[]) => {\r\n return results.map(result => {\r\n result['Print'] = result['Print'].map(print => {\r\n return this.factoryService.getProductModel(print);\r\n });\r\n return result;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getTax(): Observable<Tax[]> {\r\n let domain = localStorage.getItem('Domain');\r\n let token = localStorage.getItem('Token');\r\n let url = `https://${domain}/API/V3/Tax`;\r\n let headers = new HttpHeaders({\r\n \"authorization\": \"Bearer \" + token,\r\n \"content-type\": \"application/json\",\r\n 'X-ClientId': 'dealpos-app'\r\n });\r\n return this.http.get(url, { headers: headers })\r\n .pipe(\r\n map((taxs: Tax[]) => {\r\n if (taxs) {\r\n return taxs.map(tax => this.factoryService.getTaxModel(tax));\r\n }\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Product } from 'src/app/models/Product';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductStateService {\r\n private store: BehaviorSubject<Product[]>;\r\n constructor() {\r\n this.store = new BehaviorSubject([]);\r\n }\r\n\r\n getState() {\r\n return this.store.asObservable().pipe(filter(val => val!== undefined));\r\n }\r\n\r\n setState(products: Product[]) {\r\n this.store.next(products);\r\n }\r\n}\r\n","export class Constants {\r\n static GuidEmpty = \"00000000-0000-0000-0000-000000000000\";\r\n static DecimalMinValue = \"-7.922816251426434e+28\";\r\n static InputLockTimeSpan = 500;\r\n static MinDate = \"0001-01-01T00:00:00\";\r\n static MinTime = \"00:00:00\";\r\n static StringFormat(msg: string, ...args: string[]): string {\r\n for (let _i = 0; _i < args.length; _i++) {\r\n msg = msg.replace(`{${_i}}`, args[_i]);\r\n }\r\n return msg;\r\n }\r\n\r\n static IsNotEmpty(value: unknown): boolean {\r\n if (\r\n value != \"\" &&\r\n value != Constants.GuidEmpty &&\r\n value != undefined &&\r\n value != null\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n static IsEmpty(value: unknown): boolean {\r\n if (\r\n value == \"\" ||\r\n value == undefined ||\r\n value == null ||\r\n value == Constants.GuidEmpty\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n static FilterByID(array: any[], id: any): any {\r\n try {\r\n const list = array.filter((x) => x.ID == id);\r\n if (list.length > 0) {\r\n return list[0];\r\n }\r\n } catch (ex) {\r\n console.log(\"error filter\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Refactor function\r\n * @param date\r\n */\r\n static DateOnly(date?: Date): Date {\r\n if (date) {\r\n return new Date(new Date(date).toDateString());\r\n } else {\r\n return new Date(new Date().toDateString());\r\n }\r\n }\r\n}\r\n\r\nexport class Formatter {\r\n static DecimalRound(\r\n input: number,\r\n place?: number,\r\n multiplesofFive?: number\r\n ): number {\r\n place = place == undefined ? 2 : place;\r\n const multiplier = Math.pow(10, place);\r\n if (multiplesofFive) {\r\n //round down to multipler 5\r\n input = input - ((input * multiplier) % 5) / multiplier;\r\n }\r\n\r\n return Math.round(input * multiplier) / multiplier;\r\n }\r\n static PadLeft(value: string, width: number, padChar?: string): string {\r\n let val = value;\r\n if (!padChar) {\r\n padChar = \"0\";\r\n }\r\n while (val.length < width) {\r\n val = padChar + val;\r\n }\r\n return val;\r\n }\r\n}\r\n\r\nexport class AlertMessage {\r\n static emptyDate = \"Please fill invoice date\";\r\n static emptyNumber = \"Please fill invoice number\";\r\n static failGetMenu = \"Fail to get pos menu\";\r\n static failToGetRetur = \"Fail to get retur\";\r\n static failGetLocalPosStorage =\r\n \"Fail to get setting and option from local storage, Please re-cache your data while online!\";\r\n static failGetVariant = '\"Error getting variant with {0} {1}\" - {2}';\r\n static failGetLocalVariant =\r\n \"Fail to get variant from local storage, Please re-cache your data while online!\";\r\n static emptyBarcodeFormat = 'No product with barcode \"{0}\"';\r\n static emptyCustomerFormat = 'No customer with code \"{0}\"';\r\n static failGetSalesOrder = \"Fail to get sales order\";\r\n static failBin = \"Fail to bin transaction\";\r\n static failGetCustomer = \"Fail to get customer's data\";\r\n static failCreateCustomer = \"Fail to create customer\";\r\n static noRoleContact = \"You have no right to create new customer\";\r\n static submitLocally =\r\n \"Connection unavailable ~ offline! Order stored locally\";\r\n static OfflineOrderNotSupport = \"Offline order is not Supported!\";\r\n static failOrderConnectionTimeOut =\r\n \"Connection timeout! Please try uploading your order again!\";\r\n static failDeletePark = \"Fail to delete park\";\r\n static emptyAccessRegister = \"You do not have access to any Register\";\r\n static failGenerateNewNumber = \"Fail to generate new number\";\r\n static emptyPayment = \"There is no active payment method.\";\r\n static failOpenRegister = \"Fail to open register\";\r\n static failGetLocalOutletInfo =\r\n \"Fail to get outlet information from local storage, Please re-cache your data while online!\";\r\n static failTrySubmit = \"[Error submitting order] \\n{0}\";\r\n static failTryCreateCustomer = '\"[Error creating customer] \\n\"{0}';\r\n static createCustomerOffline =\r\n \"Create customer is not supported when the connection offline\";\r\n static emptyCustomer = \"Please select customer!\";\r\n static emptySalesPerson = \"Please select sales person!\";\r\n static emptySalesType = \"Please select sales type!\";\r\n static failCreateNewVariant = \"Fail to create new variant\";\r\n static requiredDefaultCategory =\r\n \"[WARNING] - POS / Quick Create Product requires Default Category\";\r\n static emptyVariant = \"Item is undefined, please re-type\";\r\n static emptyPOItem = \"You must have at least one item\";\r\n static emptyEntity = \"Please select entity before proceeding..\";\r\n static failGetRetrieve = \"Fail to get retrieve\";\r\n static failTryPark = \"[Error submitting park] \\n{0}\";\r\n static failTryGetPark = \"[Error during get park] \\n{0}\";\r\n static failTryGetOutStanding = \"[Error during get outstanding] \\n{0}\";\r\n static failTryGetParkSelect =\r\n \"[Error during get available park select] \\n{0}\";\r\n static failGetSerial = \"Fail to get variant serial\";\r\n static successSendOrder =\r\n \"Orders synchronized to server. Upload Transaction Complete!\";\r\n static successSyncProduct = \"Products synchronized to Local Storage\";\r\n static failGetPark = \"Fail to get park\";\r\n static failMergePark = \"Fail to merge park\";\r\n static failGetOutStanding = \"Fail to get outstanding\";\r\n static failGetParkSelect = \"Fail to get available park select\";\r\n static confirmationDeleteOrder = \"Are you sure want to delete this order?\";\r\n static confirmationCloseRegister =\r\n \"The Register is still occupied under '{0}'. Do you want to end his / her session?\";\r\n static closeActiveRegister =\r\n \"You already have an active register with name '{0}'. Do you want to end your session?\";\r\n static successSendEmail = \"Email is sent successfully to '{0}'\";\r\n static wrongOfflineAction =\r\n \"This action is not supported when the connection offline\";\r\n static emptyCustomerCredit = \"Credit Payment requires customer specified!\";\r\n static debtLimit = \"Your debt is over limit!\";\r\n static emptyCustomerDeposit = \"Deposit Payment requires customer specified!\";\r\n static creditLock = \"You have no right to give credit!\";\r\n static failToSyncProduct = \"Fail sync product to local storage!\";\r\n static emptyDeliveryOutlet = \"There is no outlet in delivery module.\";\r\n static wrongAuthorizationCode = \"Wrong Authorize Code!\";\r\n static priceMinimumRestriction =\r\n \"You have no right to sell this item lower than {0}\";\r\n static clearBrowsingData =\r\n \"A new version of our POS is available, please clear your browsing data to apply changes!\";\r\n static offlineModeNotification =\r\n \"WARNING! Your point of sale configuration is set to LOCAL, orders are not synchronized automatically.\";\r\n static failServerConnection =\r\n \"Something happen to the server, switch query to local mode to continue work!\";\r\n static taxEmpty = \"Tax options is empty, go to setup and add tax!\";\r\n static clearCommission = \"Are you sure to leave this page without saving?\";\r\n static voidConfirm =\r\n \"This will replace current order's item(s) with blank order.\";\r\n static notSellAble = \"This item is not for sell\";\r\n static partialLoyaltyPointUnable =\r\n \"You only can fully pay with loyalty point, otherwise please remove the loyalty point and use other available payment options\";\r\n static DiffDate = \"Client date is not equal with Server Date\";\r\n static pointOnly = \"{0} need paid by point only\";\r\n static cashOnly = \"{0} cannot paid by point\";\r\n static ovoConfig = \"WARNING! Your ovo configuration is not set\";\r\n static failGenerateQR = \"Fail to generate qr\";\r\n static failPaymentOvo = \"Fail to pay with ovo, Try again\";\r\n static emptyPhone = \"Please Fill Phone\";\r\n}\r\n\r\nexport class ServiceURL {\r\n static GetPOSStorage = \"/API/POS/LoadPOS\";\r\n static GenerateNumber = \"/API/POS/GenerateNumber\";\r\n static RemovePark = \"/API/POS/RemovePark\";\r\n static VoidPark = \"/API/POS/VoidPark\";\r\n static ReturInvoice = \"/API/POS/ReturInvoice\";\r\n static GetSalesOrderJSONByID = \"/API/POS/GetSalesOrderJSONByID\";\r\n static GetPOSDataByID = \"/API/POS/GetPOSDataByID\";\r\n static MergePark = \"/API/POS/MergePark\";\r\n static GetPark = \"/API/POS/GetParkByEntityID\";\r\n static GetOutStanding = \"/API/POS/GetOutStandingByEntityID\";\r\n static GetVacant = \"/API/POS/GetParkInfoByEntityID\";\r\n static RecordOpeningCash = \"/API/POS/RecordOpeningCash\";\r\n static OpenRegister = \"/API/POS/LoadRegister\";\r\n static BackdateNumber = \"/API/POS/GenerateBackdateNumber\";\r\n static GetVariantByID = \"/API/Product/GetVariantByID\";\r\n static GetVariantByCode = \"/API/Product/GetVariantByCode\";\r\n static GetVariantSerial = \"/API/Product/GetVariantSerial\";\r\n static CreateVariant = \"/API/Product/CreateVariant\";\r\n static SendInvoiceEmail = \"/API/Transaction/SendEmail\";\r\n static TransactionNumber = \"/API/POS/GenerateNumber\";\r\n static GetCustomerPrivilegeByID = \"/API/Contact/GetPrivilegeByID\";\r\n static GetCustomerByCode = \"/API/Contact/GetByCode\";\r\n static GetCustomerCode = \"/API/Contact/GetCode\";\r\n static GetCustomerEmailByID = \"/API/Contact/GetEmailByID\";\r\n static GetPriceBookByVariantID = \"/API/Product/GetPriceBookByVariantID\";\r\n static GetPackageID = \"/API/POS/GetPackageID\";\r\n static Authorize = \"/API/AuthorizationKey/Authorize\";\r\n static Invoice = \"/API/Orders/InvoiceInfo\";\r\n static OrdersLoader = \"/API/OrdersLoader/CustomerInvoice\";\r\n static Orders = \"/API/Orders/CustomerInvoice\";\r\n static PaymentReceivedLoader = \"/API/PaymentLoader/DailyPaymentLoader\";\r\n static PaymentReceived = \"/API/Payment/DailyPaymentReceived\";\r\n static CheckOutUrl = \"/API/POS/SubmitOrder\";\r\n static Scanner = \"/API/AdjustmentLoader/StockTakeByCSV\";\r\n static AdjustmentLoader = \"/API/AdjustmentLoader/GetInventoryAdjustmentList\";\r\n static Adjustment = \"/API/Adjustment/GetInventoryAdjustmentList\";\r\n static AdjustmentStorage = \"/API/Adjustment/GetStorage\";\r\n static GetNumberAdjustment = \"/API/Adjustment/GenerateNumber\";\r\n static GetAccountReceivableLoader =\r\n \"/API/DebtLoader/AccountsReceiveableSummary\";\r\n static GetAccountReceivableDetailLoader =\r\n \"/API/DebtLoader/AccountsReceiveableDetails\";\r\n static GetAccountReceivableSummary = \"/API/Debt/AccountsReceiveableSummary\";\r\n static getAccountreceivableDetail = \"/API/Debt/AccountsReceiveableDetails\";\r\n static ProductLibrarySuggestion = \"/API/AC/GetVariantSuggestionByCodeNName\";\r\n static VoidInvoiceLoader = \"/API/OrdersLoader/VoidInvoiceLoader\";\r\n static VoidInvoice = \"/API/Orders/VoidInvoiceList\";\r\n static WaitingPatientList = \"/API/Treatment/WaitingPatientList\";\r\n static CheckOutTreatmentByListID = \"/API/Treatment/CheckOutByListID\";\r\n static TreatmentRegisterLoader = \"/API/TreatmentLoader/Registration\";\r\n static TreatmentRegisterOutletInfo =\r\n \"/API/Treatment/RegistrationGetOutletInfo\";\r\n static TreatmentCustomerInfo = \"/API/Treatment/RegistrationGetCustomerInfo\";\r\n static SubmitTreatementRegistration = \"/API/Treatment/RegistrationSubmit\";\r\n static SalesOrderMini = \"/API/Print/SalesOrderMini\";\r\n static ProductLoader = \"/API/ProductLoader/ProductList\";\r\n static ProductList = \"/API/Product/GetProductList\";\r\n static DeleteProductList = \"/API/Product/DeleteProductList\";\r\n static ProductForm = \"/API/ProductLoader/ProductForm\";\r\n static SubmitProduct = \"/API/Product/SubmitProduct\";\r\n static ProductInfo = \"/API/ProductLoader/ProductInfoInitial\";\r\n static CreateCategory = \"/API/Product/CreateProductCategory\";\r\n static CreateBrand = \"/API/Product/CreateBrand\";\r\n static CreateTag = \"/API/Product/CreateTags\";\r\n static CreateUOM = \"/API/Product/CreateProductUOM\";\r\n static VariantInfo = \"/API/Product/GetVariantInfoModelById\";\r\n static VariantFormData = \"/API/Product/GetVariantFormInitialData\";\r\n static VariantForm = \"/API/Product/GetVariantFormModelById\";\r\n static SubmitVariant = \"/API/Product/SubmitVariant\";\r\n static CreateContact = \"/API/Contact/Create\";\r\n\r\n static Closure = \"/API/POS/Closure\";\r\n\r\n static SyncProducts = \"/API/POSSync/Products\";\r\n static SyncCustomer = \"/API/POSSync/Customers\";\r\n static SynOutletPrice = \"/API/POSSync/OutletPrices\";\r\n static SynOutlet = \"/API/POSSync/Outlets\";\r\n static SyncPark = \"/API/POSSync/Parks\";\r\n\r\n static GetRewardByPromotionID = \"/API/POS/GetRewardByPromotionID\";\r\n\r\n static GenerateGopayQrCode = \"/API/POS/GenerateGoPayQrCode\";\r\n static GenerateEmpatKaliQrCode = \"/API/POS/GenerateEmpatKaliQrCode\";\r\n\r\n static VerifyPayment = \"/API/PaymentNotification/VerifyPayment\";\r\n static PayWithOvo = \"/API/POS/PayWithOvo\";\r\n\r\n static InvoiceA4 = \"/API/Print/Invoice\";\r\n static UploadCsv = \"/API/POS/UploadCsv\";\r\n\r\n static GenerateCommission = \"/API/Transaction/GetCommission\";\r\n}\r\n\r\nexport class LocalDataKey {\r\n static OfflineQueryMode = \"OfflineQueryMode\";\r\n static POSStorage = \"POSStorage\";\r\n static Products = \"Products\";\r\n static Customers = \"Customers\";\r\n static OutletPrices = \"OutletPrices\";\r\n static Outlet = \"Outlet\";\r\n static Parks = \"Parks\";\r\n static Orders = \"Orders\";\r\n static FailedOrders = \"FailedOrders\";\r\n static CompletedOrders = \"CompletedOrders\";\r\n static NewCustomers = \"NewCustomers\";\r\n}\r\n","import {\r\n Component,\r\n ViewChild,\r\n Input,\r\n forwardRef,\r\n NgZone,\r\n ElementRef,\r\n NgModule,\r\n NO_ERRORS_SCHEMA,\r\n Output,\r\n EventEmitter,\r\n AfterViewInit,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\n\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n UntypedFormControl,\r\n ReactiveFormsModule,\r\n} from \"@angular/forms\";\r\n\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { debounceTime } from \"rxjs/operators\";\r\nimport { HttpService } from \"src/app/services/http-service/http.service\";\r\n\r\n/**\r\n * Autocomplete in POS.WEB\r\n * Will make the autocomplete list & autofills when search an item\r\n */\r\n@Component({\r\n selector: \"autocomplete\",\r\n templateUrl: \"./autocomplete.component.html\",\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AutocompleteComponent),\r\n multi: true,\r\n },\r\n ],\r\n styles: [\r\n `mat-option {\r\n font-size: 12px;\r\n }`\r\n ]\r\n})\r\nexport class AutocompleteComponent\r\n implements ControlValueAccessor, AfterViewInit, OnChanges {\r\n @ViewChild(\"input\", { static: true })\r\n input!: ElementRef;\r\n @Input()\r\n placeholder!: string;\r\n @Input() url!: string;\r\n @Input()\r\n clearOnSelect!: boolean;\r\n @Input() offlineStorage: any[] = [];\r\n @Input() inputLock = false;\r\n @Input() data: any;\r\n @Input() renderThumbnail = false;\r\n @Input() ngModel: any;\r\n @Input()\r\n displayText!: string;\r\n @Input()\r\n localStorage!: string;\r\n @Input() _value: any;\r\n @Input()\r\n set display(value: string) {\r\n this.input.nativeElement.value = value;\r\n }\r\n\r\n @Output() onOffline = new EventEmitter<boolean>();\r\n @Output() onEnter = new EventEmitter<string>();\r\n @Output() onSelect = new EventEmitter<string>();\r\n @Output() onOptionSelect = new EventEmitter<string>();\r\n @Output() reset = new EventEmitter<any>();\r\n\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n this._value = value;\r\n this.propagateChange(this._value);\r\n }\r\n onKeyDownEnter!: boolean;\r\n termControl: UntypedFormControl = new UntypedFormControl(\"\");\r\n options: any[] = [];\r\n complete = false;\r\n\r\n foundProduct = false;\r\n\r\n startInput!: Date;\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private ngZone: NgZone,\r\n ) {\r\n /**\r\n * Run this when the input value changes\r\n * will wait for 500 miliseconds before it processes the data\r\n */\r\n this.termControl.valueChanges.pipe(debounceTime(500)).subscribe((val) => {\r\n this.options = [];\r\n //changes from selection being clicked\r\n if (typeof val == \"object\") {\r\n this.value = val.Key;\r\n if (this.clearOnSelect) {\r\n this.clear();\r\n } else {\r\n this.termControl.setValue(val.Value);\r\n this.complete = true;\r\n }\r\n if (this.onSelect) this.onSelect.emit(val.Key);\r\n this.options = [];\r\n if (typeof val == \"object\") {\r\n this.value = val.Key;\r\n if (this.clearOnSelect) {\r\n this.clear();\r\n } else {\r\n this.termControl.setValue(val.Value);\r\n this.complete = true;\r\n }\r\n if (this.onOptionSelect) {\r\n const res = {\r\n Key: val.Key,\r\n Value: val.Value,\r\n };\r\n this.onOptionSelect.emit(JSON.stringify(res));\r\n }\r\n }\r\n } else if (typeof val == \"string\" && val.length > 0) {\r\n if (val.length > 2 && !this.inputLock) {\r\n this.search(val);\r\n }\r\n } else {\r\n this.clear();\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\r\n //Add '${implements OnChanges}' to the class.\r\n if (changes.ngModel != undefined && changes.ngModel.currentValue == null){\r\n this.clear();\r\n }\r\n if (changes.display != undefined && changes.display.currentValue != changes.display.previousValue) {\r\n this.termControl.setValue(changes.display.currentValue);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the initial display text\r\n */\r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n /**\r\n * Will make the autocomplete options list\r\n * @param val the value\r\n */\r\n search(val: string): void {\r\n if (this.termControl.value.length > 0) {\r\n let request: any = {};\r\n if (this.data) {\r\n request = this.data;\r\n }\r\n request.prefix = val;\r\n request.count = 100;\r\n if (this.complete) {\r\n this.complete = false;\r\n } else {\r\n let url = this.url;\r\n let domain = localStorage.getItem('Domain');\r\n if (domain) {\r\n url = `https://${domain}${this.url}`;\r\n }\r\n this.httpService.post(url, request).subscribe((x: []) => {\r\n this.options = x;\r\n\r\n if (this.options.length > 0) {\r\n this.foundProduct = true;\r\n } else {\r\n this.foundProduct = false;\r\n }\r\n });\r\n }\r\n } else {\r\n this.options = null as any;\r\n }\r\n }\r\n\r\n onblur(): void {\r\n setTimeout(() => {}, 600);\r\n }\r\n\r\n /**\r\n * Changes the input value after selecting an option from the autocomplete list\r\n * @param option The selected option\r\n */\r\n changeDisplayName(option: any): void {\r\n this.input.nativeElement.value = option.Value;\r\n }\r\n\r\n /**\r\n * Search products when user presses enter\r\n * @param event\r\n */\r\n onKeydown(event: KeyboardEvent): void {\r\n const keyCode = event.key;\r\n\r\n if (keyCode === \"Enter\") {\r\n if (this.clearOnSelect) this.clear();\r\n\r\n if (!this.foundProduct && this.termControl.value.length > 0) {\r\n this.onEnter.emit(this.termControl.value);\r\n event.stopPropagation();\r\n }\r\n if (this.termControl.value != null) {\r\n const value = this.termControl.value.Value;\r\n this.input.nativeElement.value = value;\r\n }\r\n this.foundProduct = false;\r\n } else {\r\n if (this.inputLock) {\r\n if (keyCode === \"Backspace\") {\r\n this.clear();\r\n } else {\r\n this.validateInputLock();\r\n }\r\n }\r\n this.complete = false;\r\n this.reset.emit();\r\n }\r\n }\r\n /**\r\n * Makes it so the user can only input customer through code\r\n */\r\n validateInputLock(): void {\r\n if (\r\n this.input.nativeElement.value == \"\" ||\r\n this.input.nativeElement.value.length == 0\r\n ) {\r\n this.startInput = new Date();\r\n } else {\r\n const endInput = new Date();\r\n const span = endInput.getTime() - this.startInput.getTime();\r\n if (span > 500) {\r\n this.clear();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clears the input value\r\n */\r\n clear(): void {\r\n this.value = null;\r\n this.input.nativeElement.value = \"\";\r\n }\r\n\r\n /**\r\n *\r\n * @param option\r\n */\r\n displayFn(option: any): string {\r\n return option ? option.Value : option;\r\n }\r\n\r\n /**\r\n * ControlValueAccessor implementations\r\n * @param _\r\n */\r\n propagateChange: Function = (_: any) => {};\r\n writeValue(value: any): void {}\r\n\r\n registerOnChange(fn: Function): void {\r\n this.propagateChange = fn;\r\n }\r\n registerOnTouched(): void {}\r\n}\r\n\r\n@NgModule({\r\n imports: [MatAutocompleteModule, CommonModule, ReactiveFormsModule],\r\n\r\n declarations: [AutocompleteComponent],\r\n exports: [AutocompleteComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class AutocompleteModule {}\r\n","<mat-form-field class=\"w-100\">\r\n <div class=\"form-label-group\">\r\n <input id=\"input\" type=\"text\" class=\"form-control text-black\" (paste)=\"inputLock? $event.preventDefault():''\" matInput\r\n [matAutocomplete]=\"autocomplete\" placeholder=\"{{placeholder || ''}}\" [formControl]=\"termControl\"\r\n (keydown)=\"onKeydown($event)\" (blur)=\"onblur()\" #input>\r\n <label for=\"input\">{{placeholder || ''}}</label>\r\n </div>\r\n</mat-form-field>\r\n\r\n<mat-autocomplete #autocomplete=\"matAutocomplete\" autoActiveFirstOption=\"true\">\r\n <mat-option *ngFor=\"let option of options\" class=\"option-autocomplete\" [value]=\"option\"\r\n (click)=\"changeDisplayName(option);$event.stopPropagation();\">\r\n <img *ngIf=\"renderThumbnail && option.ImgUrl\" width=\"30\" height=\"30\" [src]=\"option.ImgUrl\">\r\n {{ option.Value }}\r\n </mat-option>\r\n</mat-autocomplete>","export enum TransactionType {\r\n SUPPLIER_BILL,\r\n OUTLET_DELIVERY\r\n}","'use strict';\n\nvar _barcodes = require('./barcodes/');\n\nvar _barcodes2 = _interopRequireDefault(_barcodes);\n\nvar _merge = require('./help/merge.js');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _linearizeEncodings = require('./help/linearizeEncodings.js');\n\nvar _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings);\n\nvar _fixOptions = require('./help/fixOptions.js');\n\nvar _fixOptions2 = _interopRequireDefault(_fixOptions);\n\nvar _getRenderProperties = require('./help/getRenderProperties.js');\n\nvar _getRenderProperties2 = _interopRequireDefault(_getRenderProperties);\n\nvar _optionsFromStrings = require('./help/optionsFromStrings.js');\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _ErrorHandler = require('./exceptions/ErrorHandler.js');\n\nvar _ErrorHandler2 = _interopRequireDefault(_ErrorHandler);\n\nvar _exceptions = require('./exceptions/exceptions.js');\n\nvar _defaults = require('./options/defaults.js');\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The protype of the object returned from the JsBarcode() call\n\n\n// Help functions\nvar API = function API() {};\n\n// The first call of the library API\n// Will return an object with all barcodes calls and the data that is used\n// by the renderers\n\n\n// Default values\n\n\n// Exceptions\n// Import all the barcodes\nvar JsBarcode = function JsBarcode(element, text, options) {\n\tvar api = new API();\n\n\tif (typeof element === \"undefined\") {\n\t\tthrow Error(\"No element to render on was provided.\");\n\t}\n\n\t// Variables that will be pased through the API calls\n\tapi._renderProperties = (0, _getRenderProperties2.default)(element);\n\tapi._encodings = [];\n\tapi._options = _defaults2.default;\n\tapi._errorHandler = new _ErrorHandler2.default(api);\n\n\t// If text is set, use the simple syntax (render the barcode directly)\n\tif (typeof text !== \"undefined\") {\n\t\toptions = options || {};\n\n\t\tif (!options.format) {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tapi.options(options)[options.format](text, options).render();\n\t}\n\n\treturn api;\n};\n\n// To make tests work TODO: remove\nJsBarcode.getModule = function (name) {\n\treturn _barcodes2.default[name];\n};\n\n// Register all barcodes\nfor (var name in _barcodes2.default) {\n\tif (_barcodes2.default.hasOwnProperty(name)) {\n\t\t// Security check if the propery is a prototype property\n\t\tregisterBarcode(_barcodes2.default, name);\n\t}\n}\nfunction registerBarcode(barcodes, name) {\n\tAPI.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) {\n\t\tvar api = this;\n\t\treturn api._errorHandler.wrapBarcodeCall(function () {\n\t\t\t// Ensure text is options.text\n\t\t\toptions.text = typeof options.text === 'undefined' ? undefined : '' + options.text;\n\n\t\t\tvar newOptions = (0, _merge2.default)(api._options, options);\n\t\t\tnewOptions = (0, _optionsFromStrings2.default)(newOptions);\n\t\t\tvar Encoder = barcodes[name];\n\t\t\tvar encoded = encode(text, Encoder, newOptions);\n\t\t\tapi._encodings.push(encoded);\n\n\t\t\treturn api;\n\t\t});\n\t};\n}\n\n// encode() handles the Encoder call and builds the binary string to be rendered\nfunction encode(text, Encoder, options) {\n\t// Ensure that text is a string\n\ttext = \"\" + text;\n\n\tvar encoder = new Encoder(text, options);\n\n\t// If the input is not valid for the encoder, throw error.\n\t// If the valid callback option is set, call it instead of throwing error\n\tif (!encoder.valid()) {\n\t\tthrow new _exceptions.InvalidInputException(encoder.constructor.name, text);\n\t}\n\n\t// Make a request for the binary data (and other infromation) that should be rendered\n\tvar encoded = encoder.encode();\n\n\t// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n\t// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\tencoded = (0, _linearizeEncodings2.default)(encoded);\n\n\t// Merge\n\tfor (var i = 0; i < encoded.length; i++) {\n\t\tencoded[i].options = (0, _merge2.default)(options, encoded[i].options);\n\t}\n\n\treturn encoded;\n}\n\nfunction autoSelectBarcode() {\n\t// If CODE128 exists. Use it\n\tif (_barcodes2.default[\"CODE128\"]) {\n\t\treturn \"CODE128\";\n\t}\n\n\t// Else, take the first (probably only) barcode\n\treturn Object.keys(_barcodes2.default)[0];\n}\n\n// Sets global encoder options\n// Added to the api by the JsBarcode function\nAPI.prototype.options = function (options) {\n\tthis._options = (0, _merge2.default)(this._options, options);\n\treturn this;\n};\n\n// Will create a blank space (usually in between barcodes)\nAPI.prototype.blank = function (size) {\n\tvar zeroes = new Array(size + 1).join(\"0\");\n\tthis._encodings.push({ data: zeroes });\n\treturn this;\n};\n\n// Initialize JsBarcode on all HTML elements defined.\nAPI.prototype.init = function () {\n\t// Should do nothing if no elements where found\n\tif (!this._renderProperties) {\n\t\treturn;\n\t}\n\n\t// Make sure renderProperies is an array\n\tif (!Array.isArray(this._renderProperties)) {\n\t\tthis._renderProperties = [this._renderProperties];\n\t}\n\n\tvar renderProperty;\n\tfor (var i in this._renderProperties) {\n\t\trenderProperty = this._renderProperties[i];\n\t\tvar options = (0, _merge2.default)(this._options, renderProperty.options);\n\n\t\tif (options.format == \"auto\") {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tthis._errorHandler.wrapBarcodeCall(function () {\n\t\t\tvar text = options.value;\n\t\t\tvar Encoder = _barcodes2.default[options.format.toUpperCase()];\n\t\t\tvar encoded = encode(text, Encoder, options);\n\n\t\t\trender(renderProperty, encoded, options);\n\t\t});\n\t}\n};\n\n// The render API call. Calls the real render function.\nAPI.prototype.render = function () {\n\tif (!this._renderProperties) {\n\t\tthrow new _exceptions.NoElementException();\n\t}\n\n\tif (Array.isArray(this._renderProperties)) {\n\t\tfor (var i = 0; i < this._renderProperties.length; i++) {\n\t\t\trender(this._renderProperties[i], this._encodings, this._options);\n\t\t}\n\t} else {\n\t\trender(this._renderProperties, this._encodings, this._options);\n\t}\n\n\treturn this;\n};\n\nAPI.prototype._defaults = _defaults2.default;\n\n// Prepares the encodings and calls the renderer\nfunction render(renderProperties, encodings, options) {\n\tencodings = (0, _linearizeEncodings2.default)(encodings);\n\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tencodings[i].options = (0, _merge2.default)(options, encodings[i].options);\n\t\t(0, _fixOptions2.default)(encodings[i].options);\n\t}\n\n\t(0, _fixOptions2.default)(options);\n\n\tvar Renderer = renderProperties.renderer;\n\tvar renderer = new Renderer(renderProperties.element, encodings, options);\n\trenderer.render();\n\n\tif (renderProperties.afterRender) {\n\t\trenderProperties.afterRender();\n\t}\n}\n\n// Export to browser\nif (typeof window !== \"undefined\") {\n\twindow.JsBarcode = JsBarcode;\n}\n\n// Export to jQuery\n/*global jQuery */\nif (typeof jQuery !== 'undefined') {\n\tjQuery.fn.JsBarcode = function (content, options) {\n\t\tvar elementArray = [];\n\t\tjQuery(this).each(function () {\n\t\t\telementArray.push(this);\n\t\t});\n\t\treturn JsBarcode(elementArray, content, options);\n\t};\n}\n\n// Export to commonJS\nmodule.exports = JsBarcode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Barcode = function Barcode(data, options) {\n\t_classCallCheck(this, Barcode);\n\n\tthis.data = data;\n\tthis.text = options.text || data;\n\tthis.options = options;\n};\n\nexports.default = Barcode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This is the master class,\n// it does require the start code to be included in the string\nvar CODE128 = function (_Barcode) {\n\t_inherits(CODE128, _Barcode);\n\n\tfunction CODE128(data, options) {\n\t\t_classCallCheck(this, CODE128);\n\n\t\t// Get array of ascii codes from data\n\t\tvar _this = _possibleConstructorReturn(this, (CODE128.__proto__ || Object.getPrototypeOf(CODE128)).call(this, data.substring(1), options));\n\n\t\t_this.bytes = data.split('').map(function (char) {\n\t\t\treturn char.charCodeAt(0);\n\t\t});\n\t\treturn _this;\n\t}\n\n\t_createClass(CODE128, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\t// ASCII value ranges 0-127, 200-211\n\t\t\treturn (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(this.data)\n\t\t\t);\n\t\t}\n\n\t\t// The public encoding function\n\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar bytes = this.bytes;\n\t\t\t// Remove the start code from the bytes and set its index\n\t\t\tvar startIndex = bytes.shift() - 105;\n\t\t\t// Get start set by index\n\t\t\tvar startSet = _constants.SET_BY_CODE[startIndex];\n\n\t\t\tif (startSet === undefined) {\n\t\t\t\tthrow new RangeError('The encoding does not start with a start character.');\n\t\t\t}\n\n\t\t\tif (this.shouldEncodeAsEan128() === true) {\n\t\t\t\tbytes.unshift(_constants.FNC1);\n\t\t\t}\n\n\t\t\t// Start encode with the right type\n\t\t\tvar encodingResult = CODE128.next(bytes, 1, startSet);\n\n\t\t\treturn {\n\t\t\t\ttext: this.text === this.data ? this.text.replace(/[^\\x20-\\x7E]/g, '') : this.text,\n\t\t\t\tdata:\n\t\t\t\t// Add the start bits\n\t\t\t\tCODE128.getBar(startIndex) +\n\t\t\t\t// Add the encoded bits\n\t\t\t\tencodingResult.result +\n\t\t\t\t// Add the checksum\n\t\t\t\tCODE128.getBar((encodingResult.checksum + startIndex) % _constants.MODULO) +\n\t\t\t\t// Add the end bits\n\t\t\t\tCODE128.getBar(_constants.STOP)\n\t\t\t};\n\t\t}\n\n\t\t// GS1-128/EAN-128\n\n\t}, {\n\t\tkey: 'shouldEncodeAsEan128',\n\t\tvalue: function shouldEncodeAsEan128() {\n\t\t\tvar isEAN128 = this.options.ean128 || false;\n\t\t\tif (typeof isEAN128 === 'string') {\n\t\t\t\tisEAN128 = isEAN128.toLowerCase() === 'true';\n\t\t\t}\n\t\t\treturn isEAN128;\n\t\t}\n\n\t\t// Get a bar symbol by index\n\n\t}], [{\n\t\tkey: 'getBar',\n\t\tvalue: function getBar(index) {\n\t\t\treturn _constants.BARS[index] ? _constants.BARS[index].toString() : '';\n\t\t}\n\n\t\t// Correct an index by a set and shift it from the bytes array\n\n\t}, {\n\t\tkey: 'correctIndex',\n\t\tvalue: function correctIndex(bytes, set) {\n\t\t\tif (set === _constants.SET_A) {\n\t\t\t\tvar charCode = bytes.shift();\n\t\t\t\treturn charCode < 32 ? charCode + 64 : charCode - 32;\n\t\t\t} else if (set === _constants.SET_B) {\n\t\t\t\treturn bytes.shift() - 32;\n\t\t\t} else {\n\t\t\t\treturn (bytes.shift() - 48) * 10 + bytes.shift() - 48;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'next',\n\t\tvalue: function next(bytes, pos, set) {\n\t\t\tif (!bytes.length) {\n\t\t\t\treturn { result: '', checksum: 0 };\n\t\t\t}\n\n\t\t\tvar nextCode = void 0,\n\t\t\t index = void 0;\n\n\t\t\t// Special characters\n\t\t\tif (bytes[0] >= 200) {\n\t\t\t\tindex = bytes.shift() - 105;\n\t\t\t\tvar nextSet = _constants.SWAP[index];\n\n\t\t\t\t// Swap to other set\n\t\t\t\tif (nextSet !== undefined) {\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, nextSet);\n\t\t\t\t}\n\t\t\t\t// Continue on current set but encode a special character\n\t\t\t\telse {\n\t\t\t\t\t\t// Shift\n\t\t\t\t\t\tif ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) {\n\t\t\t\t\t\t\t// Convert the next character so that is encoded correctly\n\t\t\t\t\t\t\tbytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t\t}\n\t\t\t}\n\t\t\t// Continue encoding\n\t\t\telse {\n\t\t\t\t\tindex = CODE128.correctIndex(bytes, set);\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t}\n\n\t\t\t// Get the correct binary encoding and calculate the weight\n\t\t\tvar enc = CODE128.getBar(index);\n\t\t\tvar weight = index * pos;\n\n\t\t\treturn {\n\t\t\t\tresult: enc + nextCode.result,\n\t\t\t\tchecksum: weight + nextCode.checksum\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn CODE128;\n}(_Barcode3.default);\n\nexports.default = CODE128;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128A = function (_CODE) {\n\t_inherits(CODE128A, _CODE);\n\n\tfunction CODE128A(string, options) {\n\t\t_classCallCheck(this, CODE128A);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128A.__proto__ || Object.getPrototypeOf(CODE128A)).call(this, _constants.A_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128A, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.A_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128A;\n}(_CODE3.default);\n\nexports.default = CODE128A;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128B = function (_CODE) {\n\t_inherits(CODE128B, _CODE);\n\n\tfunction CODE128B(string, options) {\n\t\t_classCallCheck(this, CODE128B);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128B, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.B_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128B;\n}(_CODE3.default);\n\nexports.default = CODE128B;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128C = function (_CODE) {\n\t_inherits(CODE128C, _CODE);\n\n\tfunction CODE128C(string, options) {\n\t\t_classCallCheck(this, CODE128C);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128C.__proto__ || Object.getPrototypeOf(CODE128C)).call(this, _constants.C_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128C, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.C_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128C;\n}(_CODE3.default);\n\nexports.default = CODE128C;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE2 = require('./CODE128');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _auto = require('./auto');\n\nvar _auto2 = _interopRequireDefault(_auto);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128AUTO = function (_CODE) {\n\t_inherits(CODE128AUTO, _CODE);\n\n\tfunction CODE128AUTO(data, options) {\n\t\t_classCallCheck(this, CODE128AUTO);\n\n\t\t// ASCII value ranges 0-127, 200-211\n\t\tif (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(data)) {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options));\n\t\t} else {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options));\n\t\t}\n\t\treturn _possibleConstructorReturn(_this);\n\t}\n\n\treturn CODE128AUTO;\n}(_CODE3.default);\n\nexports.default = CODE128AUTO;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Match Set functions\nvar matchSetALength = function matchSetALength(string) {\n\treturn string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length;\n};\nvar matchSetBLength = function matchSetBLength(string) {\n\treturn string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length;\n};\nvar matchSetC = function matchSetC(string) {\n\treturn string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0];\n};\n\n// CODE128A or CODE128B\nfunction autoSelectFromAB(string, isA) {\n\tvar ranges = isA ? _constants.A_CHARS : _constants.B_CHARS;\n\tvar untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)'));\n\n\tif (untilC) {\n\t\treturn untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length));\n\t}\n\n\tvar chars = string.match(new RegExp('^' + ranges + '+'))[0];\n\n\tif (chars.length === string.length) {\n\t\treturn string;\n\t}\n\n\treturn chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA);\n}\n\n// CODE128C\nfunction autoSelectFromC(string) {\n\tvar cMatch = matchSetC(string);\n\tvar length = cMatch.length;\n\n\tif (length === string.length) {\n\t\treturn string;\n\t}\n\n\tstring = string.substring(length);\n\n\t// Select A/B depending on the longest match\n\tvar isA = matchSetALength(string) >= matchSetBLength(string);\n\treturn cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA);\n}\n\n// Detect Code Set (A, B or C) and format the string\n\nexports.default = function (string) {\n\tvar newString = void 0;\n\tvar cLength = matchSetC(string).length;\n\n\t// Select 128C if the string start with enough digits\n\tif (cLength >= 2) {\n\t\tnewString = _constants.C_START_CHAR + autoSelectFromC(string);\n\t} else {\n\t\t// Select A/B depending on the longest match\n\t\tvar isA = matchSetALength(string) > matchSetBLength(string);\n\t\tnewString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA);\n\t}\n\n\treturn newString.replace(/[\\xCD\\xCE]([^])[\\xCD\\xCE]/, // Any sequence between 205 and 206 characters\n\tfunction (match, char) {\n\t\treturn String.fromCharCode(203) + char;\n\t});\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SET_BY_CODE;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// constants for internal usage\nvar SET_A = exports.SET_A = 0;\nvar SET_B = exports.SET_B = 1;\nvar SET_C = exports.SET_C = 2;\n\n// Special characters\nvar SHIFT = exports.SHIFT = 98;\nvar START_A = exports.START_A = 103;\nvar START_B = exports.START_B = 104;\nvar START_C = exports.START_C = 105;\nvar MODULO = exports.MODULO = 103;\nvar STOP = exports.STOP = 106;\nvar FNC1 = exports.FNC1 = 207;\n\n// Get set by start code\nvar SET_BY_CODE = exports.SET_BY_CODE = (_SET_BY_CODE = {}, _defineProperty(_SET_BY_CODE, START_A, SET_A), _defineProperty(_SET_BY_CODE, START_B, SET_B), _defineProperty(_SET_BY_CODE, START_C, SET_C), _SET_BY_CODE);\n\n// Get next set by code\nvar SWAP = exports.SWAP = {\n\t101: SET_A,\n\t100: SET_B,\n\t99: SET_C\n};\n\nvar A_START_CHAR = exports.A_START_CHAR = String.fromCharCode(208); // START_A + 105\nvar B_START_CHAR = exports.B_START_CHAR = String.fromCharCode(209); // START_B + 105\nvar C_START_CHAR = exports.C_START_CHAR = String.fromCharCode(210); // START_C + 105\n\n// 128A (Code Set A)\n// ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4\nvar A_CHARS = exports.A_CHARS = \"[\\x00-\\x5F\\xC8-\\xCF]\";\n\n// 128B (Code Set B)\n// ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4\nvar B_CHARS = exports.B_CHARS = \"[\\x20-\\x7F\\xC8-\\xCF]\";\n\n// 128C (Code Set C)\n// 00–99 (encodes two digits with a single code point) and FNC1\nvar C_CHARS = exports.C_CHARS = \"(\\xCF*[0-9]{2}\\xCF*)\";\n\n// CODE128 includes 107 symbols:\n// 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one)\n// Each symbol consist of three black bars (1) and three white spaces (0).\nvar BARS = exports.BARS = [11011001100, 11001101100, 11001100110, 10010011000, 10010001100, 10001001100, 10011001000, 10011000100, 10001100100, 11001001000, 11001000100, 11000100100, 10110011100, 10011011100, 10011001110, 10111001100, 10011101100, 10011100110, 11001110010, 11001011100, 11001001110, 11011100100, 11001110100, 11101101110, 11101001100, 11100101100, 11100100110, 11101100100, 11100110100, 11100110010, 11011011000, 11011000110, 11000110110, 10100011000, 10001011000, 10001000110, 10110001000, 10001101000, 10001100010, 11010001000, 11000101000, 11000100010, 10110111000, 10110001110, 10001101110, 10111011000, 10111000110, 10001110110, 11101110110, 11010001110, 11000101110, 11011101000, 11011100010, 11011101110, 11101011000, 11101000110, 11100010110, 11101101000, 11101100010, 11100011010, 11101111010, 11001000010, 11110001010, 10100110000, 10100001100, 10010110000, 10010000110, 10000101100, 10000100110, 10110010000, 10110000100, 10011010000, 10011000010, 10000110100, 10000110010, 11000010010, 11001010000, 11110111010, 11000010100, 10001111010, 10100111100, 10010111100, 10010011110, 10111100100, 10011110100, 10011110010, 11110100100, 11110010100, 11110010010, 11011011110, 11011110110, 11110110110, 10101111000, 10100011110, 10001011110, 10111101000, 10111100010, 11110101000, 11110100010, 10111011110, 10111101110, 11101011110, 11110101110, 11010000100, 11010010000, 11010011100, 1100011101011];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CODE128C = exports.CODE128B = exports.CODE128A = exports.CODE128 = undefined;\n\nvar _CODE128_AUTO = require('./CODE128_AUTO.js');\n\nvar _CODE128_AUTO2 = _interopRequireDefault(_CODE128_AUTO);\n\nvar _CODE128A = require('./CODE128A.js');\n\nvar _CODE128A2 = _interopRequireDefault(_CODE128A);\n\nvar _CODE128B = require('./CODE128B.js');\n\nvar _CODE128B2 = _interopRequireDefault(_CODE128B);\n\nvar _CODE128C = require('./CODE128C.js');\n\nvar _CODE128C2 = _interopRequireDefault(_CODE128C);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.CODE128 = _CODE128_AUTO2.default;\nexports.CODE128A = _CODE128A2.default;\nexports.CODE128B = _CODE128B2.default;\nexports.CODE128C = _CODE128C2.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.CODE39 = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Code_39#Encoding\n\nvar CODE39 = function (_Barcode) {\n\t_inherits(CODE39, _Barcode);\n\n\tfunction CODE39(data, options) {\n\t\t_classCallCheck(this, CODE39);\n\n\t\tdata = data.toUpperCase();\n\n\t\t// Calculate mod43 checksum if enabled\n\t\tif (options.mod43) {\n\t\t\tdata += getCharacter(mod43checksum(data));\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (CODE39.__proto__ || Object.getPrototypeOf(CODE39)).call(this, data, options));\n\t}\n\n\t_createClass(CODE39, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// First character is always a *\n\t\t\tvar result = getEncoding(\"*\");\n\n\t\t\t// Take every character and add the binary representation to the result\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult += getEncoding(this.data[i]) + \"0\";\n\t\t\t}\n\n\t\t\t// Last character is always a *\n\t\t\tresult += getEncoding(\"*\");\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9A-Z\\-\\.\\ \\$\\/\\+\\%]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn CODE39;\n}(_Barcode3.default);\n\n// All characters. The position in the array is the (checksum) value\n\n\nvar characters = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"-\", \".\", \" \", \"$\", \"/\", \"+\", \"%\", \"*\"];\n\n// The decimal representation of the characters, is converted to the\n// corresponding binary with the getEncoding function\nvar encodings = [20957, 29783, 23639, 30485, 20951, 29813, 23669, 20855, 29789, 23645, 29975, 23831, 30533, 22295, 30149, 24005, 21623, 29981, 23837, 22301, 30023, 23879, 30545, 22343, 30161, 24017, 21959, 30065, 23921, 22385, 29015, 18263, 29141, 17879, 29045, 18293, 17783, 29021, 18269, 17477, 17489, 17681, 20753, 35770];\n\n// Get the binary representation of a character by converting the encodings\n// from decimal to binary\nfunction getEncoding(character) {\n\treturn getBinary(characterValue(character));\n}\n\nfunction getBinary(characterValue) {\n\treturn encodings[characterValue].toString(2);\n}\n\nfunction getCharacter(characterValue) {\n\treturn characters[characterValue];\n}\n\nfunction characterValue(character) {\n\treturn characters.indexOf(character);\n}\n\nfunction mod43checksum(data) {\n\tvar checksum = 0;\n\tfor (var i = 0; i < data.length; i++) {\n\t\tchecksum += characterValue(data[i]);\n\t}\n\n\tchecksum = checksum % 43;\n\treturn checksum;\n}\n\nexports.CODE39 = CODE39;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Base class for EAN8 & EAN13\nvar EAN = function (_Barcode) {\n\t_inherits(EAN, _Barcode);\n\n\tfunction EAN(data, options) {\n\t\t_classCallCheck(this, EAN);\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tvar _this = _possibleConstructorReturn(this, (EAN.__proto__ || Object.getPrototypeOf(EAN)).call(this, data, options));\n\n\t\t_this.fontSize = !options.flat && options.fontSize > options.width * 10 ? options.width * 10 : options.fontSize;\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN, [{\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\treturn this.options.flat ? this.encodeFlat() : this.encodeGuarded();\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar textOptions = { fontSize: this.fontSize };\n\t\t\tvar guardOptions = { height: this.guardHeight };\n\n\t\t\treturn [{ data: _constants.SIDE_BIN, options: guardOptions }, { data: this.leftEncode(), text: this.leftText(), options: textOptions }, { data: _constants.MIDDLE_BIN, options: guardOptions }, { data: this.rightEncode(), text: this.rightText(), options: textOptions }, { data: _constants.SIDE_BIN, options: guardOptions }];\n\t\t}\n\t}, {\n\t\tkey: 'encodeFlat',\n\t\tvalue: function encodeFlat() {\n\t\t\tvar data = [_constants.SIDE_BIN, this.leftEncode(), _constants.MIDDLE_BIN, this.rightEncode(), _constants.SIDE_BIN];\n\n\t\t\treturn {\n\t\t\t\tdata: data.join(''),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN;\n}(_Barcode3.default);\n\nexports.default = EAN;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _constants = require('./constants');\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode\n\n// Calculate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 12).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 3 : sum + a;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN13 = function (_EAN) {\n\t_inherits(EAN13, _EAN);\n\n\tfunction EAN13(data, options) {\n\t\t_classCallCheck(this, EAN13);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{12}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\t// Adds a last character to the end of the barcode\n\t\tvar _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options));\n\n\t\t_this.lastChar = options.lastChar;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN13, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(1, 6);\n\t\t\tvar structure = _constants.EAN13_STRUCTURE[this.data[0]];\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(7, 6);\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR');\n\t\t}\n\n\t\t// The \"standard\" way of printing EAN13 barcodes with guard bars\n\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this);\n\n\t\t\t// Extend data with left digit & last character\n\t\t\tif (this.options.displayValue) {\n\t\t\t\tdata.unshift({\n\t\t\t\t\tdata: '000000000000',\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: 'left', fontSize: this.fontSize }\n\t\t\t\t});\n\n\t\t\t\tif (this.options.lastChar) {\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00'\n\t\t\t\t\t});\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00000',\n\t\t\t\t\t\ttext: this.options.lastChar,\n\t\t\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t}]);\n\n\treturn EAN13;\n}(_EAN3.default);\n\nexports.default = EAN13;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_2#Encoding\n\nvar EAN2 = function (_Barcode) {\n\t_inherits(EAN2, _Barcode);\n\n\tfunction EAN2(data, options) {\n\t\t_classCallCheck(this, EAN2);\n\n\t\treturn _possibleConstructorReturn(this, (EAN2.__proto__ || Object.getPrototypeOf(EAN2)).call(this, data, options));\n\t}\n\n\t_createClass(EAN2, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{2}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\t// Choose the structure based on the number mod 4\n\t\t\tvar structure = _constants.EAN2_STRUCTURE[parseInt(this.data) % 4];\n\t\t\treturn {\n\t\t\t\t// Start bits + Encode the two digits with 01 in between\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN2;\n}(_Barcode3.default);\n\nexports.default = EAN2;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_5#Encoding\n\nvar checksum = function checksum(data) {\n\tvar result = data.split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 9 : sum + a * 3;\n\t}, 0);\n\treturn result % 10;\n};\n\nvar EAN5 = function (_Barcode) {\n\t_inherits(EAN5, _Barcode);\n\n\tfunction EAN5(data, options) {\n\t\t_classCallCheck(this, EAN5);\n\n\t\treturn _possibleConstructorReturn(this, (EAN5.__proto__ || Object.getPrototypeOf(EAN5)).call(this, data, options));\n\t}\n\n\t_createClass(EAN5, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{5}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar structure = _constants.EAN5_STRUCTURE[checksum(this.data)];\n\t\t\treturn {\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN5;\n}(_Barcode3.default);\n\nexports.default = EAN5;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// http://www.barcodeisland.com/ean8.phtml\n\n// Calculate the checksum digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 7).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a : sum + a * 3;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN8 = function (_EAN) {\n\t_inherits(EAN8, _EAN);\n\n\tfunction EAN8(data, options) {\n\t\t_classCallCheck(this, EAN8);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{7}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (EAN8.__proto__ || Object.getPrototypeOf(EAN8)).call(this, data, options));\n\t}\n\n\t_createClass(EAN8, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{8}$/) !== -1 && +this.data[7] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftText', this).call(this, 0, 4);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(0, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftEncode', this).call(this, data, 'LLLL');\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightText', this).call(this, 4, 4);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(4, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightEncode', this).call(this, data, 'RRRR');\n\t\t}\n\t}]);\n\n\treturn EAN8;\n}(_EAN3.default);\n\nexports.default = EAN8;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.checksum = checksum;\n\nvar _encoder = require(\"./encoder\");\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n\nvar UPC = function (_Barcode) {\n\t_inherits(UPC, _Barcode);\n\n\tfunction UPC(data, options) {\n\t\t_classCallCheck(this, UPC);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{11}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPC.__proto__ || Object.getPrototypeOf(UPC)).call(this, data, options));\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPC, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{12}$/) !== -1 && this.data[11] == checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"flatEncoding\",\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(0, 6), \"LLLLLL\");\n\t\t\tresult += \"01010\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(6, 6), \"RRRRRR\");\n\t\t\tresult += \"101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"guardedEncoding\",\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the first digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\" + (0, _encoder2.default)(this.data[0], \"L\"),\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the left side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(1, 5), \"LLLLL\"),\n\t\t\t\ttext: this.text.substr(1, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the middle bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"01010\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the right side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(6, 5), \"RRRRR\"),\n\t\t\t\ttext: this.text.substr(6, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data[11], \"R\") + \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the last digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(11, 1),\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}]);\n\n\treturn UPC;\n}(_Barcode3.default);\n\n// Calulate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\n\n\nfunction checksum(number) {\n\tvar result = 0;\n\n\tvar i;\n\tfor (i = 1; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]);\n\t}\n\tfor (i = 0; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]) * 3;\n\t}\n\n\treturn (10 - result % 10) % 10;\n}\n\nexports.default = UPC;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _UPC = require('./UPC.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n//\n// UPC-E documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E\n\nvar EXPANSIONS = [\"XX00000XXX\", \"XX10000XXX\", \"XX20000XXX\", \"XXX00000XX\", \"XXXX00000X\", \"XXXXX00005\", \"XXXXX00006\", \"XXXXX00007\", \"XXXXX00008\", \"XXXXX00009\"];\n\nvar PARITIES = [[\"EEEOOO\", \"OOOEEE\"], [\"EEOEOO\", \"OOEOEE\"], [\"EEOOEO\", \"OOEEOE\"], [\"EEOOOE\", \"OOEEEO\"], [\"EOEEOO\", \"OEOOEE\"], [\"EOOEEO\", \"OEEOOE\"], [\"EOOOEE\", \"OEEEOO\"], [\"EOEOEO\", \"OEOEOE\"], [\"EOEOOE\", \"OEOEEO\"], [\"EOOEOE\", \"OEEOEO\"]];\n\nvar UPCE = function (_Barcode) {\n\t_inherits(UPCE, _Barcode);\n\n\tfunction UPCE(data, options) {\n\t\t_classCallCheck(this, UPCE);\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPCE.__proto__ || Object.getPrototypeOf(UPCE)).call(this, data, options));\n\t\t// Code may be 6 or 8 digits;\n\t\t// A 7 digit code is ambiguous as to whether the extra digit\n\t\t// is a UPC-A check or number system digit.\n\n\n\t\t_this.isValid = false;\n\t\tif (data.search(/^[0-9]{6}$/) !== -1) {\n\t\t\t_this.middleDigits = data;\n\t\t\t_this.upcA = expandToUPCA(data, \"0\");\n\t\t\t_this.text = options.text || '' + _this.upcA[0] + data + _this.upcA[_this.upcA.length - 1];\n\t\t\t_this.isValid = true;\n\t\t} else if (data.search(/^[01][0-9]{7}$/) !== -1) {\n\t\t\t_this.middleDigits = data.substring(1, data.length - 1);\n\t\t\t_this.upcA = expandToUPCA(_this.middleDigits, data[0]);\n\n\t\t\tif (_this.upcA[_this.upcA.length - 1] === data[data.length - 1]) {\n\t\t\t\t_this.isValid = true;\n\t\t\t} else {\n\t\t\t\t// checksum mismatch\n\t\t\t\treturn _possibleConstructorReturn(_this);\n\t\t\t}\n\t\t} else {\n\t\t\treturn _possibleConstructorReturn(_this);\n\t\t}\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPCE, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.isValid;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'flatEncoding',\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += this.encodeMiddleDigits();\n\t\t\tresult += \"010101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: 'guardedEncoding',\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the UPC-A number system digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[0],\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the 6 UPC-E digits\n\t\t\tresult.push({\n\t\t\t\tdata: this.encodeMiddleDigits(),\n\t\t\t\ttext: this.text.substring(1, 7),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"010101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the UPC-A check digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[7],\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: 'encodeMiddleDigits',\n\t\tvalue: function encodeMiddleDigits() {\n\t\t\tvar numberSystem = this.upcA[0];\n\t\t\tvar checkDigit = this.upcA[this.upcA.length - 1];\n\t\t\tvar parity = PARITIES[parseInt(checkDigit)][parseInt(numberSystem)];\n\t\t\treturn (0, _encoder2.default)(this.middleDigits, parity);\n\t\t}\n\t}]);\n\n\treturn UPCE;\n}(_Barcode3.default);\n\nfunction expandToUPCA(middleDigits, numberSystem) {\n\tvar lastUpcE = parseInt(middleDigits[middleDigits.length - 1]);\n\tvar expansion = EXPANSIONS[lastUpcE];\n\n\tvar result = \"\";\n\tvar digitIndex = 0;\n\tfor (var i = 0; i < expansion.length; i++) {\n\t\tvar c = expansion[i];\n\t\tif (c === 'X') {\n\t\t\tresult += middleDigits[digitIndex++];\n\t\t} else {\n\t\t\tresult += c;\n\t\t}\n\t}\n\n\tresult = '' + numberSystem + result;\n\treturn '' + result + (0, _UPC.checksum)(result);\n}\n\nexports.default = UPCE;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n// Standard start end and middle bits\nvar SIDE_BIN = exports.SIDE_BIN = '101';\nvar MIDDLE_BIN = exports.MIDDLE_BIN = '01010';\n\nvar BINARIES = exports.BINARIES = {\n\t'L': [// The L (left) type of encoding\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'G': [// The G type of encoding\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111'],\n\t'R': [// The R (right) type of encoding\n\t'1110010', '1100110', '1101100', '1000010', '1011100', '1001110', '1010000', '1000100', '1001000', '1110100'],\n\t'O': [// The O (odd) encoding for UPC-E\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'E': [// The E (even) encoding for UPC-E\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111']\n};\n\n// Define the EAN-2 structure\nvar EAN2_STRUCTURE = exports.EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG'];\n\n// Define the EAN-5 structure\nvar EAN5_STRUCTURE = exports.EAN5_STRUCTURE = ['GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG'];\n\n// Define the EAN-13 structure\nvar EAN13_STRUCTURE = exports.EAN13_STRUCTURE = ['LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Encode data string\nvar encode = function encode(data, structure, separator) {\n\tvar encoded = data.split('').map(function (val, idx) {\n\t\treturn _constants.BINARIES[structure[idx]];\n\t}).map(function (val, idx) {\n\t\treturn val ? val[data[idx]] : '';\n\t});\n\n\tif (separator) {\n\t\tvar last = data.length - 1;\n\t\tencoded = encoded.map(function (val, idx) {\n\t\t\treturn idx < last ? val + separator : val;\n\t\t});\n\t}\n\n\treturn encoded.join('');\n};\n\nexports.default = encode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined;\n\nvar _EAN = require('./EAN13.js');\n\nvar _EAN2 = _interopRequireDefault(_EAN);\n\nvar _EAN3 = require('./EAN8.js');\n\nvar _EAN4 = _interopRequireDefault(_EAN3);\n\nvar _EAN5 = require('./EAN5.js');\n\nvar _EAN6 = _interopRequireDefault(_EAN5);\n\nvar _EAN7 = require('./EAN2.js');\n\nvar _EAN8 = _interopRequireDefault(_EAN7);\n\nvar _UPC = require('./UPC.js');\n\nvar _UPC2 = _interopRequireDefault(_UPC);\n\nvar _UPCE = require('./UPCE.js');\n\nvar _UPCE2 = _interopRequireDefault(_UPCE);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.EAN13 = _EAN2.default;\nexports.EAN8 = _EAN4.default;\nexports.EAN5 = _EAN6.default;\nexports.EAN2 = _EAN8.default;\nexports.UPC = _UPC2.default;\nexports.UPCE = _UPCE2.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.GenericBarcode = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GenericBarcode = function (_Barcode) {\n\t_inherits(GenericBarcode, _Barcode);\n\n\tfunction GenericBarcode(data, options) {\n\t\t_classCallCheck(this, GenericBarcode);\n\n\t\treturn _possibleConstructorReturn(this, (GenericBarcode.__proto__ || Object.getPrototypeOf(GenericBarcode)).call(this, data, options)); // Sets this.data and this.text\n\t}\n\n\t// Return the corresponding binary numbers for the data provided\n\n\n\t_createClass(GenericBarcode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\treturn {\n\t\t\t\tdata: \"10101010101010101010101010101010101010101\",\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Resturn true/false if the string provided is valid for this encoder\n\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn true;\n\t\t}\n\t}]);\n\n\treturn GenericBarcode;\n}(_Barcode3.default);\n\nexports.GenericBarcode = GenericBarcode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ITF = function (_Barcode) {\n\t_inherits(ITF, _Barcode);\n\n\tfunction ITF() {\n\t\t_classCallCheck(this, ITF);\n\n\t\treturn _possibleConstructorReturn(this, (ITF.__proto__ || Object.getPrototypeOf(ITF)).apply(this, arguments));\n\t}\n\n\t_createClass(ITF, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^([0-9]{2})+$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Calculate all the digit pairs\n\t\t\tvar encoded = this.data.match(/.{2}/g).map(function (pair) {\n\t\t\t\treturn _this2.encodePair(pair);\n\t\t\t}).join('');\n\n\t\t\treturn {\n\t\t\t\tdata: _constants.START_BIN + encoded + _constants.END_BIN,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Calculate the data of a number pair\n\n\t}, {\n\t\tkey: 'encodePair',\n\t\tvalue: function encodePair(pair) {\n\t\t\tvar second = _constants.BINARIES[pair[1]];\n\n\t\t\treturn _constants.BINARIES[pair[0]].split('').map(function (first, idx) {\n\t\t\t\treturn (first === '1' ? '111' : '1') + (second[idx] === '1' ? '000' : '0');\n\t\t\t}).join('');\n\t\t}\n\t}]);\n\n\treturn ITF;\n}(_Barcode3.default);\n\nexports.default = ITF;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ITF2 = require('./ITF');\n\nvar _ITF3 = _interopRequireDefault(_ITF2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Calculate the checksum digit\nvar checksum = function checksum(data) {\n\tvar res = data.substr(0, 13).split('').map(function (num) {\n\t\treturn parseInt(num, 10);\n\t}).reduce(function (sum, n, idx) {\n\t\treturn sum + n * (3 - idx % 2 * 2);\n\t}, 0);\n\n\treturn Math.ceil(res / 10) * 10 - res;\n};\n\nvar ITF14 = function (_ITF) {\n\t_inherits(ITF14, _ITF);\n\n\tfunction ITF14(data, options) {\n\t\t_classCallCheck(this, ITF14);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{13}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\t\treturn _possibleConstructorReturn(this, (ITF14.__proto__ || Object.getPrototypeOf(ITF14)).call(this, data, options));\n\t}\n\n\t_createClass(ITF14, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data);\n\t\t}\n\t}]);\n\n\treturn ITF14;\n}(_ITF3.default);\n\nexports.default = ITF14;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar START_BIN = exports.START_BIN = '1010';\nvar END_BIN = exports.END_BIN = '11101';\n\nvar BINARIES = exports.BINARIES = ['00110', '10001', '01001', '11000', '00101', '10100', '01100', '00011', '10010', '01010'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ITF14 = exports.ITF = undefined;\n\nvar _ITF = require('./ITF');\n\nvar _ITF2 = _interopRequireDefault(_ITF);\n\nvar _ITF3 = require('./ITF14');\n\nvar _ITF4 = _interopRequireDefault(_ITF3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ITF = _ITF2.default;\nexports.ITF14 = _ITF4.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// https://en.wikipedia.org/wiki/MSI_Barcode#Character_set_and_binary_lookup\n\nvar MSI = function (_Barcode) {\n\t_inherits(MSI, _Barcode);\n\n\tfunction MSI(data, options) {\n\t\t_classCallCheck(this, MSI);\n\n\t\treturn _possibleConstructorReturn(this, (MSI.__proto__ || Object.getPrototypeOf(MSI)).call(this, data, options));\n\t}\n\n\t_createClass(MSI, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// Start bits\n\t\t\tvar ret = \"110\";\n\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\t// Convert the character to binary (always 4 binary digits)\n\t\t\t\tvar digit = parseInt(this.data[i]);\n\t\t\t\tvar bin = digit.toString(2);\n\t\t\t\tbin = addZeroes(bin, 4 - bin.length);\n\n\t\t\t\t// Add 100 for every zero and 110 for every 1\n\t\t\t\tfor (var b = 0; b < bin.length; b++) {\n\t\t\t\t\tret += bin[b] == \"0\" ? \"100\" : \"110\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// End bits\n\t\t\tret += \"1001\";\n\n\t\t\treturn {\n\t\t\t\tdata: ret,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn MSI;\n}(_Barcode3.default);\n\nfunction addZeroes(number, n) {\n\tfor (var i = 0; i < n; i++) {\n\t\tnumber = \"0\" + number;\n\t}\n\treturn number;\n}\n\nexports.default = MSI;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI10 = function (_MSI) {\n\t_inherits(MSI10, _MSI);\n\n\tfunction MSI10(data, options) {\n\t\t_classCallCheck(this, MSI10);\n\n\t\treturn _possibleConstructorReturn(this, (MSI10.__proto__ || Object.getPrototypeOf(MSI10)).call(this, data + (0, _checksums.mod10)(data), options));\n\t}\n\n\treturn MSI10;\n}(_MSI3.default);\n\nexports.default = MSI10;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1010 = function (_MSI) {\n\t_inherits(MSI1010, _MSI);\n\n\tfunction MSI1010(data, options) {\n\t\t_classCallCheck(this, MSI1010);\n\n\t\tdata += (0, _checksums.mod10)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1010.__proto__ || Object.getPrototypeOf(MSI1010)).call(this, data, options));\n\t}\n\n\treturn MSI1010;\n}(_MSI3.default);\n\nexports.default = MSI1010;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI11 = function (_MSI) {\n\t_inherits(MSI11, _MSI);\n\n\tfunction MSI11(data, options) {\n\t\t_classCallCheck(this, MSI11);\n\n\t\treturn _possibleConstructorReturn(this, (MSI11.__proto__ || Object.getPrototypeOf(MSI11)).call(this, data + (0, _checksums.mod11)(data), options));\n\t}\n\n\treturn MSI11;\n}(_MSI3.default);\n\nexports.default = MSI11;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1110 = function (_MSI) {\n\t_inherits(MSI1110, _MSI);\n\n\tfunction MSI1110(data, options) {\n\t\t_classCallCheck(this, MSI1110);\n\n\t\tdata += (0, _checksums.mod11)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1110.__proto__ || Object.getPrototypeOf(MSI1110)).call(this, data, options));\n\t}\n\n\treturn MSI1110;\n}(_MSI3.default);\n\nexports.default = MSI1110;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.mod10 = mod10;\nexports.mod11 = mod11;\nfunction mod10(number) {\n\tvar sum = 0;\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[i]);\n\t\tif ((i + number.length) % 2 === 0) {\n\t\t\tsum += n;\n\t\t} else {\n\t\t\tsum += n * 2 % 10 + Math.floor(n * 2 / 10);\n\t\t}\n\t}\n\treturn (10 - sum % 10) % 10;\n}\n\nfunction mod11(number) {\n\tvar sum = 0;\n\tvar weights = [2, 3, 4, 5, 6, 7];\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[number.length - 1 - i]);\n\t\tsum += weights[i % weights.length] * n;\n\t}\n\treturn (11 - sum % 11) % 11;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MSI1110 = exports.MSI1010 = exports.MSI11 = exports.MSI10 = exports.MSI = undefined;\n\nvar _MSI = require('./MSI.js');\n\nvar _MSI2 = _interopRequireDefault(_MSI);\n\nvar _MSI3 = require('./MSI10.js');\n\nvar _MSI4 = _interopRequireDefault(_MSI3);\n\nvar _MSI5 = require('./MSI11.js');\n\nvar _MSI6 = _interopRequireDefault(_MSI5);\n\nvar _MSI7 = require('./MSI1010.js');\n\nvar _MSI8 = _interopRequireDefault(_MSI7);\n\nvar _MSI9 = require('./MSI1110.js');\n\nvar _MSI10 = _interopRequireDefault(_MSI9);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.MSI = _MSI2.default;\nexports.MSI10 = _MSI4.default;\nexports.MSI11 = _MSI6.default;\nexports.MSI1010 = _MSI8.default;\nexports.MSI1110 = _MSI10.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.codabar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding specification:\n// http://www.barcodeisland.com/codabar.phtml\n\nvar codabar = function (_Barcode) {\n\t_inherits(codabar, _Barcode);\n\n\tfunction codabar(data, options) {\n\t\t_classCallCheck(this, codabar);\n\n\t\tif (data.search(/^[0-9\\-\\$\\:\\.\\+\\/]+$/) === 0) {\n\t\t\tdata = \"A\" + data + \"A\";\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (codabar.__proto__ || Object.getPrototypeOf(codabar)).call(this, data.toUpperCase(), options));\n\n\t\t_this.text = _this.options.text || _this.text.replace(/[A-D]/g, '');\n\t\treturn _this;\n\t}\n\n\t_createClass(codabar, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[A-D][0-9\\-\\$\\:\\.\\+\\/]+[A-D]$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar result = [];\n\t\t\tvar encodings = this.getEncodings();\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult.push(encodings[this.data.charAt(i)]);\n\t\t\t\t// for all characters except the last, append a narrow-space (\"0\")\n\t\t\t\tif (i !== this.data.length - 1) {\n\t\t\t\t\tresult.push(\"0\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttext: this.text,\n\t\t\t\tdata: result.join('')\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"getEncodings\",\n\t\tvalue: function getEncodings() {\n\t\t\treturn {\n\t\t\t\t\"0\": \"101010011\",\n\t\t\t\t\"1\": \"101011001\",\n\t\t\t\t\"2\": \"101001011\",\n\t\t\t\t\"3\": \"110010101\",\n\t\t\t\t\"4\": \"101101001\",\n\t\t\t\t\"5\": \"110101001\",\n\t\t\t\t\"6\": \"100101011\",\n\t\t\t\t\"7\": \"100101101\",\n\t\t\t\t\"8\": \"100110101\",\n\t\t\t\t\"9\": \"110100101\",\n\t\t\t\t\"-\": \"101001101\",\n\t\t\t\t\"$\": \"101100101\",\n\t\t\t\t\":\": \"1101011011\",\n\t\t\t\t\"/\": \"1101101011\",\n\t\t\t\t\".\": \"1101101101\",\n\t\t\t\t\"+\": \"1011011011\",\n\t\t\t\t\"A\": \"1011001001\",\n\t\t\t\t\"B\": \"1001001011\",\n\t\t\t\t\"C\": \"1010010011\",\n\t\t\t\t\"D\": \"1010011001\"\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn codabar;\n}(_Barcode3.default);\n\nexports.codabar = codabar;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE = require('./CODE39/');\n\nvar _CODE2 = require('./CODE128/');\n\nvar _EAN_UPC = require('./EAN_UPC/');\n\nvar _ITF = require('./ITF/');\n\nvar _MSI = require('./MSI/');\n\nvar _pharmacode = require('./pharmacode/');\n\nvar _codabar = require('./codabar');\n\nvar _GenericBarcode = require('./GenericBarcode/');\n\nexports.default = {\n\tCODE39: _CODE.CODE39,\n\tCODE128: _CODE2.CODE128, CODE128A: _CODE2.CODE128A, CODE128B: _CODE2.CODE128B, CODE128C: _CODE2.CODE128C,\n\tEAN13: _EAN_UPC.EAN13, EAN8: _EAN_UPC.EAN8, EAN5: _EAN_UPC.EAN5, EAN2: _EAN_UPC.EAN2, UPC: _EAN_UPC.UPC, UPCE: _EAN_UPC.UPCE,\n\tITF14: _ITF.ITF14,\n\tITF: _ITF.ITF,\n\tMSI: _MSI.MSI, MSI10: _MSI.MSI10, MSI11: _MSI.MSI11, MSI1010: _MSI.MSI1010, MSI1110: _MSI.MSI1110,\n\tpharmacode: _pharmacode.pharmacode,\n\tcodabar: _codabar.codabar,\n\tGenericBarcode: _GenericBarcode.GenericBarcode\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.pharmacode = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf\n\nvar pharmacode = function (_Barcode) {\n\t_inherits(pharmacode, _Barcode);\n\n\tfunction pharmacode(data, options) {\n\t\t_classCallCheck(this, pharmacode);\n\n\t\tvar _this = _possibleConstructorReturn(this, (pharmacode.__proto__ || Object.getPrototypeOf(pharmacode)).call(this, data, options));\n\n\t\t_this.number = parseInt(data, 10);\n\t\treturn _this;\n\t}\n\n\t_createClass(pharmacode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar z = this.number;\n\t\t\tvar result = \"\";\n\n\t\t\t// http://i.imgur.com/RMm4UDJ.png\n\t\t\t// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)\n\t\t\twhile (!isNaN(z) && z != 0) {\n\t\t\t\tif (z % 2 === 0) {\n\t\t\t\t\t// Even\n\t\t\t\t\tresult = \"11100\" + result;\n\t\t\t\t\tz = (z - 2) / 2;\n\t\t\t\t} else {\n\t\t\t\t\t// Odd\n\t\t\t\t\tresult = \"100\" + result;\n\t\t\t\t\tz = (z - 1) / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove the two last zeroes\n\t\t\tresult = result.slice(0, -2);\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.number >= 3 && this.number <= 131070;\n\t\t}\n\t}]);\n\n\treturn pharmacode;\n}(_Barcode3.default);\n\nexports.pharmacode = pharmacode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/*eslint no-console: 0 */\n\nvar ErrorHandler = function () {\n\tfunction ErrorHandler(api) {\n\t\t_classCallCheck(this, ErrorHandler);\n\n\t\tthis.api = api;\n\t}\n\n\t_createClass(ErrorHandler, [{\n\t\tkey: \"handleCatch\",\n\t\tvalue: function handleCatch(e) {\n\t\t\t// If babel supported extending of Error in a correct way instanceof would be used here\n\t\t\tif (e.name === \"InvalidInputException\") {\n\t\t\t\tif (this.api._options.valid !== this.api._defaults.valid) {\n\t\t\t\t\tthis.api._options.valid(false);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e.message;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow e;\n\t\t\t}\n\n\t\t\tthis.api.render = function () {};\n\t\t}\n\t}, {\n\t\tkey: \"wrapBarcodeCall\",\n\t\tvalue: function wrapBarcodeCall(func) {\n\t\t\ttry {\n\t\t\t\tvar result = func.apply(undefined, arguments);\n\t\t\t\tthis.api._options.valid(true);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleCatch(e);\n\n\t\t\t\treturn this.api;\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn ErrorHandler;\n}();\n\nexports.default = ErrorHandler;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar InvalidInputException = function (_Error) {\n\t_inherits(InvalidInputException, _Error);\n\n\tfunction InvalidInputException(symbology, input) {\n\t\t_classCallCheck(this, InvalidInputException);\n\n\t\tvar _this = _possibleConstructorReturn(this, (InvalidInputException.__proto__ || Object.getPrototypeOf(InvalidInputException)).call(this));\n\n\t\t_this.name = \"InvalidInputException\";\n\n\t\t_this.symbology = symbology;\n\t\t_this.input = input;\n\n\t\t_this.message = '\"' + _this.input + '\" is not a valid input for ' + _this.symbology;\n\t\treturn _this;\n\t}\n\n\treturn InvalidInputException;\n}(Error);\n\nvar InvalidElementException = function (_Error2) {\n\t_inherits(InvalidElementException, _Error2);\n\n\tfunction InvalidElementException() {\n\t\t_classCallCheck(this, InvalidElementException);\n\n\t\tvar _this2 = _possibleConstructorReturn(this, (InvalidElementException.__proto__ || Object.getPrototypeOf(InvalidElementException)).call(this));\n\n\t\t_this2.name = \"InvalidElementException\";\n\t\t_this2.message = \"Not supported type to render on\";\n\t\treturn _this2;\n\t}\n\n\treturn InvalidElementException;\n}(Error);\n\nvar NoElementException = function (_Error3) {\n\t_inherits(NoElementException, _Error3);\n\n\tfunction NoElementException() {\n\t\t_classCallCheck(this, NoElementException);\n\n\t\tvar _this3 = _possibleConstructorReturn(this, (NoElementException.__proto__ || Object.getPrototypeOf(NoElementException)).call(this));\n\n\t\t_this3.name = \"NoElementException\";\n\t\t_this3.message = \"No element to render on.\";\n\t\treturn _this3;\n\t}\n\n\treturn NoElementException;\n}(Error);\n\nexports.InvalidInputException = InvalidInputException;\nexports.InvalidElementException = InvalidElementException;\nexports.NoElementException = NoElementException;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = fixOptions;\n\n\nfunction fixOptions(options) {\n\t// Fix the margins\n\toptions.marginTop = options.marginTop || options.margin;\n\toptions.marginBottom = options.marginBottom || options.margin;\n\toptions.marginRight = options.marginRight || options.margin;\n\toptions.marginLeft = options.marginLeft || options.margin;\n\n\treturn options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _optionsFromStrings = require(\"./optionsFromStrings.js\");\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _defaults = require(\"../options/defaults.js\");\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getOptionsFromElement(element) {\n\tvar options = {};\n\tfor (var property in _defaults2.default) {\n\t\tif (_defaults2.default.hasOwnProperty(property)) {\n\t\t\t// jsbarcode-*\n\t\t\tif (element.hasAttribute(\"jsbarcode-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"jsbarcode-\" + property.toLowerCase());\n\t\t\t}\n\n\t\t\t// data-*\n\t\t\tif (element.hasAttribute(\"data-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"data-\" + property.toLowerCase());\n\t\t\t}\n\t\t}\n\t}\n\n\toptions[\"value\"] = element.getAttribute(\"jsbarcode-value\") || element.getAttribute(\"data-value\");\n\n\t// Since all atributes are string they need to be converted to integers\n\toptions = (0, _optionsFromStrings2.default)(options);\n\n\treturn options;\n}\n\nexports.default = getOptionsFromElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* global HTMLImageElement */\n/* global HTMLCanvasElement */\n/* global SVGElement */\n\nvar _getOptionsFromElement = require(\"./getOptionsFromElement.js\");\n\nvar _getOptionsFromElement2 = _interopRequireDefault(_getOptionsFromElement);\n\nvar _renderers = require(\"../renderers\");\n\nvar _renderers2 = _interopRequireDefault(_renderers);\n\nvar _exceptions = require(\"../exceptions/exceptions.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Takes an element and returns an object with information about how\n// it should be rendered\n// This could also return an array with these objects\n// {\n// element: The element that the renderer should draw on\n// renderer: The name of the renderer\n// afterRender (optional): If something has to done after the renderer\n// completed, calls afterRender (function)\n// options (optional): Options that can be defined in the element\n// }\n\nfunction getRenderProperties(element) {\n\t// If the element is a string, query select call again\n\tif (typeof element === \"string\") {\n\t\treturn querySelectedRenderProperties(element);\n\t}\n\t// If element is array. Recursivly call with every object in the array\n\telse if (Array.isArray(element)) {\n\t\t\tvar returnArray = [];\n\t\t\tfor (var i = 0; i < element.length; i++) {\n\t\t\t\treturnArray.push(getRenderProperties(element[i]));\n\t\t\t}\n\t\t\treturn returnArray;\n\t\t}\n\t\t// If element, render on canvas and set the uri as src\n\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement) {\n\t\t\t\treturn newCanvasRenderProperties(element);\n\t\t\t}\n\t\t\t// If SVG\n\t\t\telse if (element && element.nodeName && element.nodeName.toLowerCase() === 'svg' || typeof SVGElement !== 'undefined' && element instanceof SVGElement) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\telement: element,\n\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\trenderer: _renderers2.default.SVGRenderer\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// If canvas (in browser)\n\t\t\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t// If canvas (in node)\n\t\t\t\t\telse if (element && element.getContext) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (element && (typeof element === \"undefined\" ? \"undefined\" : _typeof(element)) === 'object' && !element.nodeName) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.ObjectRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new _exceptions.InvalidElementException();\n\t\t\t\t\t\t}\n}\n\nfunction querySelectedRenderProperties(string) {\n\tvar selector = document.querySelectorAll(string);\n\tif (selector.length === 0) {\n\t\treturn undefined;\n\t} else {\n\t\tvar returnArray = [];\n\t\tfor (var i = 0; i < selector.length; i++) {\n\t\t\treturnArray.push(getRenderProperties(selector[i]));\n\t\t}\n\t\treturn returnArray;\n\t}\n}\n\nfunction newCanvasRenderProperties(imgElement) {\n\tvar canvas = document.createElement('canvas');\n\treturn {\n\t\telement: canvas,\n\t\toptions: (0, _getOptionsFromElement2.default)(imgElement),\n\t\trenderer: _renderers2.default.CanvasRenderer,\n\t\tafterRender: function afterRender() {\n\t\t\timgElement.setAttribute(\"src\", canvas.toDataURL());\n\t\t}\n\t};\n}\n\nexports.default = getRenderProperties;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = linearizeEncodings;\n\n// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\nfunction linearizeEncodings(encodings) {\n\tvar linearEncodings = [];\n\tfunction nextLevel(encoded) {\n\t\tif (Array.isArray(encoded)) {\n\t\t\tfor (var i = 0; i < encoded.length; i++) {\n\t\t\t\tnextLevel(encoded[i]);\n\t\t\t}\n\t\t} else {\n\t\t\tencoded.text = encoded.text || \"\";\n\t\t\tencoded.data = encoded.data || \"\";\n\t\t\tlinearEncodings.push(encoded);\n\t\t}\n\t}\n\tnextLevel(encodings);\n\n\treturn linearEncodings;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function (old, replaceObj) {\n return _extends({}, old, replaceObj);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = optionsFromStrings;\n\n// Convert string to integers/booleans where it should be\n\nfunction optionsFromStrings(options) {\n\tvar intOptions = [\"width\", \"height\", \"textMargin\", \"fontSize\", \"margin\", \"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"];\n\n\tfor (var intOption in intOptions) {\n\t\tif (intOptions.hasOwnProperty(intOption)) {\n\t\t\tintOption = intOptions[intOption];\n\t\t\tif (typeof options[intOption] === \"string\") {\n\t\t\t\toptions[intOption] = parseInt(options[intOption], 10);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof options[\"displayValue\"] === \"string\") {\n\t\toptions[\"displayValue\"] = options[\"displayValue\"] != \"false\";\n\t}\n\n\treturn options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar defaults = {\n\twidth: 2,\n\theight: 100,\n\tformat: \"auto\",\n\tdisplayValue: true,\n\tfontOptions: \"\",\n\tfont: \"monospace\",\n\ttext: undefined,\n\ttextAlign: \"center\",\n\ttextPosition: \"bottom\",\n\ttextMargin: 2,\n\tfontSize: 20,\n\tbackground: \"#ffffff\",\n\tlineColor: \"#000000\",\n\tmargin: 10,\n\tmarginTop: undefined,\n\tmarginBottom: undefined,\n\tmarginLeft: undefined,\n\tmarginRight: undefined,\n\tvalid: function valid() {}\n};\n\nexports.default = defaults;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CanvasRenderer = function () {\n\tfunction CanvasRenderer(canvas, encodings, options) {\n\t\t_classCallCheck(this, CanvasRenderer);\n\n\t\tthis.canvas = canvas;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(CanvasRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\t// Abort if the browser does not support HTML5 canvas\n\t\t\tif (!this.canvas.getContext) {\n\t\t\t\tthrow new Error('The browser does not support canvas.');\n\t\t\t}\n\n\t\t\tthis.prepareCanvas();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, this.encodings[i].options);\n\n\t\t\t\tthis.drawCanvasBarcode(encodingOptions, this.encodings[i]);\n\t\t\t\tthis.drawCanvasText(encodingOptions, this.encodings[i]);\n\n\t\t\t\tthis.moveCanvasDrawing(this.encodings[i]);\n\t\t\t}\n\n\t\t\tthis.restoreCanvas();\n\t\t}\n\t}, {\n\t\tkey: \"prepareCanvas\",\n\t\tvalue: function prepareCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.save();\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options, ctx);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tthis.canvas.width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\n\t\t\tthis.canvas.height = maxHeight;\n\n\t\t\t// Paint the canvas\n\t\t\tctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\tif (this.options.background) {\n\t\t\t\tctx.fillStyle = this.options.background;\n\t\t\t\tctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\t}\n\n\t\t\tctx.translate(this.options.marginLeft, 0);\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasBarcode\",\n\t\tvalue: function drawCanvasBarcode(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.marginTop + options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = options.marginTop;\n\t\t\t}\n\n\t\t\tctx.fillStyle = options.lineColor;\n\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tvar x = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height);\n\t\t\t\t} else if (binary[b]) {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height * binary[b]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasText\",\n\t\tvalue: function drawCanvasText(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.marginTop + options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.marginTop + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\tctx.font = font;\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\tctx.textAlign = 'right';\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t}\n\n\t\t\t\tctx.fillText(encoding.text, x, y);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"moveCanvasDrawing\",\n\t\tvalue: function moveCanvasDrawing(encoding) {\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.translate(encoding.width, 0);\n\t\t}\n\t}, {\n\t\tkey: \"restoreCanvas\",\n\t\tvalue: function restoreCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.restore();\n\t\t}\n\t}]);\n\n\treturn CanvasRenderer;\n}();\n\nexports.default = CanvasRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _canvas = require('./canvas.js');\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _svg = require('./svg.js');\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _object = require('./object.js');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = { CanvasRenderer: _canvas2.default, SVGRenderer: _svg2.default, ObjectRenderer: _object2.default };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ObjectRenderer = function () {\n\tfunction ObjectRenderer(object, encodings, options) {\n\t\t_classCallCheck(this, ObjectRenderer);\n\n\t\tthis.object = object;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(ObjectRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tthis.object.encodings = this.encodings;\n\t\t}\n\t}]);\n\n\treturn ObjectRenderer;\n}();\n\nexports.default = ObjectRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.getTotalWidthOfEncodings = exports.calculateEncodingAttributes = exports.getBarcodePadding = exports.getEncodingHeight = exports.getMaximumHeightOfEncodings = undefined;\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getEncodingHeight(encoding, options) {\n\treturn options.height + (options.displayValue && encoding.text.length > 0 ? options.fontSize + options.textMargin : 0) + options.marginTop + options.marginBottom;\n}\n\nfunction getBarcodePadding(textWidth, barcodeWidth, options) {\n\tif (options.displayValue && barcodeWidth < textWidth) {\n\t\tif (options.textAlign == \"center\") {\n\t\t\treturn Math.floor((textWidth - barcodeWidth) / 2);\n\t\t} else if (options.textAlign == \"left\") {\n\t\t\treturn 0;\n\t\t} else if (options.textAlign == \"right\") {\n\t\t\treturn Math.floor(textWidth - barcodeWidth);\n\t\t}\n\t}\n\treturn 0;\n}\n\nfunction calculateEncodingAttributes(encodings, barcodeOptions, context) {\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tvar encoding = encodings[i];\n\t\tvar options = (0, _merge2.default)(barcodeOptions, encoding.options);\n\n\t\t// Calculate the width of the encoding\n\t\tvar textWidth;\n\t\tif (options.displayValue) {\n\t\t\ttextWidth = messureText(encoding.text, options, context);\n\t\t} else {\n\t\t\ttextWidth = 0;\n\t\t}\n\n\t\tvar barcodeWidth = encoding.data.length * options.width;\n\t\tencoding.width = Math.ceil(Math.max(textWidth, barcodeWidth));\n\n\t\tencoding.height = getEncodingHeight(encoding, options);\n\n\t\tencoding.barcodePadding = getBarcodePadding(textWidth, barcodeWidth, options);\n\t}\n}\n\nfunction getTotalWidthOfEncodings(encodings) {\n\tvar totalWidth = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\ttotalWidth += encodings[i].width;\n\t}\n\treturn totalWidth;\n}\n\nfunction getMaximumHeightOfEncodings(encodings) {\n\tvar maxHeight = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tif (encodings[i].height > maxHeight) {\n\t\t\tmaxHeight = encodings[i].height;\n\t\t}\n\t}\n\treturn maxHeight;\n}\n\nfunction messureText(string, options, context) {\n\tvar ctx;\n\n\tif (context) {\n\t\tctx = context;\n\t} else if (typeof document !== \"undefined\") {\n\t\tctx = document.createElement(\"canvas\").getContext(\"2d\");\n\t} else {\n\t\t// If the text cannot be messured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tctx.font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t// Calculate the width of the encoding\n\tvar measureTextResult = ctx.measureText(string);\n\tif (!measureTextResult) {\n\t\t// Some implementations don't implement measureText and return undefined.\n\t\t// If the text cannot be measured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tvar size = measureTextResult.width;\n\treturn size;\n}\n\nexports.getMaximumHeightOfEncodings = getMaximumHeightOfEncodings;\nexports.getEncodingHeight = getEncodingHeight;\nexports.getBarcodePadding = getBarcodePadding;\nexports.calculateEncodingAttributes = calculateEncodingAttributes;\nexports.getTotalWidthOfEncodings = getTotalWidthOfEncodings;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar svgns = \"http://www.w3.org/2000/svg\";\n\nvar SVGRenderer = function () {\n\tfunction SVGRenderer(svg, encodings, options) {\n\t\t_classCallCheck(this, SVGRenderer);\n\n\t\tthis.svg = svg;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t\tthis.document = options.xmlDocument || document;\n\t}\n\n\t_createClass(SVGRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar currentX = this.options.marginLeft;\n\n\t\t\tthis.prepareSVG();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encoding = this.encodings[i];\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, encoding.options);\n\n\t\t\t\tvar group = this.createGroup(currentX, encodingOptions.marginTop, this.svg);\n\n\t\t\t\tthis.setGroupOptions(group, encodingOptions);\n\n\t\t\t\tthis.drawSvgBarcode(group, encodingOptions, encoding);\n\t\t\t\tthis.drawSVGText(group, encodingOptions, encoding);\n\n\t\t\t\tcurrentX += encoding.width;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"prepareSVG\",\n\t\tvalue: function prepareSVG() {\n\t\t\t// Clear the SVG\n\t\t\twhile (this.svg.firstChild) {\n\t\t\t\tthis.svg.removeChild(this.svg.firstChild);\n\t\t\t}\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tvar width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\t\t\tthis.setSvgAttributes(width, maxHeight);\n\n\t\t\tif (this.options.background) {\n\t\t\t\tthis.drawRect(0, 0, width, maxHeight, this.svg).setAttribute(\"style\", \"fill:\" + this.options.background + \";\");\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSvgBarcode\",\n\t\tvalue: function drawSvgBarcode(parent, options, encoding) {\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = 0;\n\t\t\t}\n\n\t\t\tvar barWidth = 0;\n\t\t\tvar x = 0;\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tx = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tbarWidth++;\n\t\t\t\t} else if (barWidth > 0) {\n\t\t\t\t\tthis.drawRect(x - options.width * barWidth, yFrom, options.width * barWidth, options.height, parent);\n\t\t\t\t\tbarWidth = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Last draw is needed since the barcode ends with 1\n\t\t\tif (barWidth > 0) {\n\t\t\t\tthis.drawRect(x - options.width * (barWidth - 1), yFrom, options.width * barWidth, options.height, parent);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSVGText\",\n\t\tvalue: function drawSVGText(parent, options, encoding) {\n\t\t\tvar textElem = this.document.createElementNS(svgns, 'text');\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\ttextElem.setAttribute(\"style\", \"font:\" + options.fontOptions + \" \" + options.fontSize + \"px \" + options.font);\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"start\");\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"end\");\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"middle\");\n\t\t\t\t\t}\n\n\t\t\t\ttextElem.setAttribute(\"x\", x);\n\t\t\t\ttextElem.setAttribute(\"y\", y);\n\n\t\t\t\ttextElem.appendChild(this.document.createTextNode(encoding.text));\n\n\t\t\t\tparent.appendChild(textElem);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"setSvgAttributes\",\n\t\tvalue: function setSvgAttributes(width, height) {\n\t\t\tvar svg = this.svg;\n\t\t\tsvg.setAttribute(\"width\", width + \"px\");\n\t\t\tsvg.setAttribute(\"height\", height + \"px\");\n\t\t\tsvg.setAttribute(\"x\", \"0px\");\n\t\t\tsvg.setAttribute(\"y\", \"0px\");\n\t\t\tsvg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n\t\t\tsvg.setAttribute(\"xmlns\", svgns);\n\t\t\tsvg.setAttribute(\"version\", \"1.1\");\n\n\t\t\tsvg.setAttribute(\"style\", \"transform: translate(0,0)\");\n\t\t}\n\t}, {\n\t\tkey: \"createGroup\",\n\t\tvalue: function createGroup(x, y, parent) {\n\t\t\tvar group = this.document.createElementNS(svgns, 'g');\n\t\t\tgroup.setAttribute(\"transform\", \"translate(\" + x + \", \" + y + \")\");\n\n\t\t\tparent.appendChild(group);\n\n\t\t\treturn group;\n\t\t}\n\t}, {\n\t\tkey: \"setGroupOptions\",\n\t\tvalue: function setGroupOptions(group, options) {\n\t\t\tgroup.setAttribute(\"style\", \"fill:\" + options.lineColor + \";\");\n\t\t}\n\t}, {\n\t\tkey: \"drawRect\",\n\t\tvalue: function drawRect(x, y, width, height, parent) {\n\t\t\tvar rect = this.document.createElementNS(svgns, 'rect');\n\n\t\t\trect.setAttribute(\"x\", x);\n\t\t\trect.setAttribute(\"y\", y);\n\t\t\trect.setAttribute(\"width\", width);\n\t\t\trect.setAttribute(\"height\", height);\n\n\t\t\tparent.appendChild(rect);\n\n\t\t\treturn rect;\n\t\t}\n\t}]);\n\n\treturn SVGRenderer;\n}();\n\nexports.default = SVGRenderer;","import { Component, Renderer2, Input, ViewChild, NgModule } from '@angular/core';\n\n/* eslint-disable @angular-eslint/no-input-rename, @angular-eslint/component-selector */\nimport * as ɵngcc0 from '@angular/core';\n\nconst _c0 = [\"bcElement\"];\nconst jsbarcode = require('jsbarcode');\nclass NgxBarcode6Component {\n constructor(renderer) {\n this.renderer = renderer;\n this.elementType = 'svg';\n this.cssClass = 'barcode'; // this should be done more elegantly\n this.format = 'CODE128';\n this.lineColor = '#000000';\n this.width = 2;\n this.height = 100;\n this.displayValue = false;\n this.fontOptions = '';\n this.font = 'monospace';\n this.textAlign = 'center';\n this.textPosition = 'bottom';\n this.textMargin = 2;\n this.fontSize = 20;\n this.background = '#ffffff';\n this.margin = 10;\n this.marginTop = 10;\n this.marginBottom = 10;\n this.marginLeft = 10;\n this.marginRight = 10;\n this.value = '';\n this.valid = () => true;\n }\n get options() {\n return {\n format: this.format,\n lineColor: this.lineColor,\n width: this.width,\n height: this.height,\n displayValue: this.displayValue,\n fontOptions: this.fontOptions,\n font: this.font,\n textAlign: this.textAlign,\n textPosition: this.textPosition,\n textMargin: this.textMargin,\n fontSize: this.fontSize,\n background: this.background,\n margin: this.margin,\n marginTop: this.marginTop,\n marginBottom: this.marginBottom,\n marginLeft: this.marginLeft,\n marginRight: this.marginRight,\n valid: this.valid,\n };\n }\n ngOnChanges() {\n this.createBarcode();\n }\n createBarcode() {\n if (!this.value) {\n return;\n }\n let element;\n switch (this.elementType) {\n case 'img':\n element = this.renderer.createElement('img');\n break;\n case 'canvas':\n element = this.renderer.createElement('canvas');\n break;\n case 'svg':\n default:\n element = this.renderer.createElement('svg', 'svg');\n }\n jsbarcode(element, this.value, this.options);\n for (const node of this.bcElement.nativeElement.childNodes) {\n this.renderer.removeChild(this.bcElement.nativeElement, node);\n }\n this.renderer.appendChild(this.bcElement.nativeElement, element);\n }\n}\nNgxBarcode6Component.ɵfac = function NgxBarcode6Component_Factory(t) { return new (t || NgxBarcode6Component)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgxBarcode6Component.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxBarcode6Component, selectors: [[\"ngx-barcode6\"]], viewQuery: function NgxBarcode6Component_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.bcElement = _t.first);\n } }, inputs: { elementType: [\"bc-element-type\", \"elementType\"], cssClass: [\"bc-class\", \"cssClass\"], format: [\"bc-format\", \"format\"], lineColor: [\"bc-line-color\", \"lineColor\"], width: [\"bc-width\", \"width\"], height: [\"bc-height\", \"height\"], displayValue: [\"bc-display-value\", \"displayValue\"], fontOptions: [\"bc-font-options\", \"fontOptions\"], font: [\"bc-font\", \"font\"], textAlign: [\"bc-text-align\", \"textAlign\"], textPosition: [\"bc-text-position\", \"textPosition\"], textMargin: [\"bc-text-margin\", \"textMargin\"], fontSize: [\"bc-font-size\", \"fontSize\"], background: [\"bc-background\", \"background\"], margin: [\"bc-margin\", \"margin\"], marginTop: [\"bc-margin-top\", \"marginTop\"], marginBottom: [\"bc-margin-bottom\", \"marginBottom\"], marginLeft: [\"bc-margin-left\", \"marginLeft\"], marginRight: [\"bc-margin-right\", \"marginRight\"], value: [\"bc-value\", \"value\"], valid: [\"bc-valid\", \"valid\"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[\"bcElement\", \"\"]], template: function NgxBarcode6Component_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", null, 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.cssClass);\n } }, encapsulation: 2 });\nNgxBarcode6Component.ctorParameters = () => [\n { type: Renderer2 }\n];\nNgxBarcode6Component.propDecorators = {\n elementType: [{ type: Input, args: ['bc-element-type',] }],\n cssClass: [{ type: Input, args: ['bc-class',] }],\n format: [{ type: Input, args: ['bc-format',] }],\n lineColor: [{ type: Input, args: ['bc-line-color',] }],\n width: [{ type: Input, args: ['bc-width',] }],\n height: [{ type: Input, args: ['bc-height',] }],\n displayValue: [{ type: Input, args: ['bc-display-value',] }],\n fontOptions: [{ type: Input, args: ['bc-font-options',] }],\n font: [{ type: Input, args: ['bc-font',] }],\n textAlign: [{ type: Input, args: ['bc-text-align',] }],\n textPosition: [{ type: Input, args: ['bc-text-position',] }],\n textMargin: [{ type: Input, args: ['bc-text-margin',] }],\n fontSize: [{ type: Input, args: ['bc-font-size',] }],\n background: [{ type: Input, args: ['bc-background',] }],\n margin: [{ type: Input, args: ['bc-margin',] }],\n marginTop: [{ type: Input, args: ['bc-margin-top',] }],\n marginBottom: [{ type: Input, args: ['bc-margin-bottom',] }],\n marginLeft: [{ type: Input, args: ['bc-margin-left',] }],\n marginRight: [{ type: Input, args: ['bc-margin-right',] }],\n value: [{ type: Input, args: ['bc-value',] }],\n bcElement: [{ type: ViewChild, args: ['bcElement', { static: true },] }],\n valid: [{ type: Input, args: ['bc-valid',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxBarcode6Component, [{\n type: Component,\n args: [{\n selector: 'ngx-barcode6',\n template: `<div #bcElement [class]=\"cssClass\"></div>`\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }]; }, { elementType: [{\n type: Input,\n args: ['bc-element-type']\n }], cssClass: [{\n type: Input,\n args: ['bc-class']\n }], format: [{\n type: Input,\n args: ['bc-format']\n }], lineColor: [{\n type: Input,\n args: ['bc-line-color']\n }], width: [{\n type: Input,\n args: ['bc-width']\n }], height: [{\n type: Input,\n args: ['bc-height']\n }], displayValue: [{\n type: Input,\n args: ['bc-display-value']\n }], fontOptions: [{\n type: Input,\n args: ['bc-font-options']\n }], font: [{\n type: Input,\n args: ['bc-font']\n }], textAlign: [{\n type: Input,\n args: ['bc-text-align']\n }], textPosition: [{\n type: Input,\n args: ['bc-text-position']\n }], textMargin: [{\n type: Input,\n args: ['bc-text-margin']\n }], fontSize: [{\n type: Input,\n args: ['bc-font-size']\n }], background: [{\n type: Input,\n args: ['bc-background']\n }], margin: [{\n type: Input,\n args: ['bc-margin']\n }], marginTop: [{\n type: Input,\n args: ['bc-margin-top']\n }], marginBottom: [{\n type: Input,\n args: ['bc-margin-bottom']\n }], marginLeft: [{\n type: Input,\n args: ['bc-margin-left']\n }], marginRight: [{\n type: Input,\n args: ['bc-margin-right']\n }], value: [{\n type: Input,\n args: ['bc-value']\n }], valid: [{\n type: Input,\n args: ['bc-valid']\n }], bcElement: [{\n type: ViewChild,\n args: ['bcElement', { static: true }]\n }] }); })();\n\nclass NgxBarcode6Module {\n}\nNgxBarcode6Module.ɵfac = function NgxBarcode6Module_Factory(t) { return new (t || NgxBarcode6Module)(); };\nNgxBarcode6Module.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxBarcode6Module });\nNgxBarcode6Module.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxBarcode6Module, [{\n type: NgModule,\n args: [{\n declarations: [NgxBarcode6Component],\n imports: [],\n exports: [NgxBarcode6Component]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxBarcode6Module, { declarations: [NgxBarcode6Component], exports: [NgxBarcode6Component] }); })();\n\n/*\n * Public API Surface of ngx-barcode6\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NgxBarcode6Component, NgxBarcode6Module };\n\n","import * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, Output, Input, ContentChildren, ViewChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Attribute, NgModule } from '@angular/core';\nimport * as i3 from '@angular/material/core';\nimport { mixinDisableRipple, mixinTabIndex, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport * as i1 from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/collections';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAT_RADIO_DEFAULT_OPTIONS = new InjectionToken('mat-radio-default-options', {\n providedIn: 'root',\n factory: MAT_RADIO_DEFAULT_OPTIONS_FACTORY,\n});\nfunction MAT_RADIO_DEFAULT_OPTIONS_FACTORY() {\n return {\n color: 'accent',\n };\n}\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n/**\n * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nconst MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatRadioGroup),\n multi: true,\n};\n/** Change event object emitted by MatRadio and MatRadioGroup. */\nclass MatRadioChange {\n constructor(\n /** The MatRadioButton that emits the change event. */\n source, \n /** The value of the MatRadioButton. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/**\n * Injection token that can be used to inject instances of `MatRadioGroup`. It serves as\n * alternative token to the actual `MatRadioGroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nconst MAT_RADIO_GROUP = new InjectionToken('MatRadioGroup');\n/**\n * Base class with all of the `MatRadioGroup` functionality.\n * @docs-private\n */\nclass _MatRadioGroupBase {\n constructor(_changeDetector) {\n this._changeDetector = _changeDetector;\n /** Selected value for the radio group. */\n this._value = null;\n /** The HTML name attribute applied to radio buttons in this group. */\n this._name = `mat-radio-group-${nextUniqueId++}`;\n /** The currently selected radio button. Should match value. */\n this._selected = null;\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n this._labelPosition = 'after';\n /** Whether the radio group is disabled. */\n this._disabled = false;\n /** Whether the radio group is required. */\n this._required = false;\n /** The method to be called in order to update ngModel */\n this._controlValueAccessorChangeFn = () => { };\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n this.onTouched = () => { };\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n this.change = new EventEmitter();\n }\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n get name() {\n return this._name;\n }\n set name(value) {\n this._name = value;\n this._updateRadioButtonNames();\n }\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n get labelPosition() {\n return this._labelPosition;\n }\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this._markRadiosForCheck();\n }\n /**\n * Value for the radio-group. Should equal the value of the selected radio button if there is\n * a corresponding radio button with a matching value. If there is not such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n get value() {\n return this._value;\n }\n set value(newValue) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n this._updateSelectedRadioFromValue();\n this._checkSelectedRadioButton();\n }\n }\n _checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n /**\n * The currently selected radio button. If set to a new radio button, the radio group value\n * will be updated to match the new selected button.\n */\n get selected() {\n return this._selected;\n }\n set selected(selected) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this._checkSelectedRadioButton();\n }\n /** Whether the radio group is disabled */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._markRadiosForCheck();\n }\n /** Whether the radio group is required */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n this._markRadiosForCheck();\n }\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on MatRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the MatRadioGroup.\n this._isInitialized = true;\n }\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n _touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n _updateRadioButtonNames() {\n if (this._radios) {\n this._radios.forEach(radio => {\n radio.name = this.name;\n radio._markForCheck();\n });\n }\n }\n /** Updates the `selected` radio button from the internal _value state. */\n _updateSelectedRadioFromValue() {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n if (this._radios && !isAlreadySelected) {\n this._selected = null;\n this._radios.forEach(radio => {\n radio.checked = this.value === radio.value;\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent() {\n if (this._isInitialized) {\n this.change.emit(new MatRadioChange(this._selected, this._value));\n }\n }\n _markRadiosForCheck() {\n if (this._radios) {\n this._radios.forEach(radio => radio._markForCheck());\n }\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._changeDetector.markForCheck();\n }\n}\n_MatRadioGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioGroupBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });\n_MatRadioGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: _MatRadioGroupBase, inputs: { color: \"color\", name: \"name\", labelPosition: \"labelPosition\", value: \"value\", selected: \"selected\", disabled: \"disabled\", required: \"required\" }, outputs: { change: \"change\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioGroupBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { change: [{\n type: Output\n }], color: [{\n type: Input\n }], name: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], value: [{\n type: Input\n }], selected: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }] } });\n/**\n * A group of radio buttons. May contain one or more `<mat-radio-button>` elements.\n */\nclass MatRadioGroup extends _MatRadioGroupBase {\n}\nMatRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioGroup, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nMatRadioGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: MatRadioGroup, selector: \"mat-radio-group\", host: { attributes: { \"role\": \"radiogroup\" }, classAttribute: \"mat-radio-group\" }, providers: [\n MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n { provide: MAT_RADIO_GROUP, useExisting: MatRadioGroup },\n ], queries: [{ propertyName: \"_radios\", predicate: i0.forwardRef(function () { return MatRadioButton; }), descendants: true }], exportAs: [\"matRadioGroup\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioGroup, decorators: [{\n type: Directive,\n args: [{\n selector: 'mat-radio-group',\n exportAs: 'matRadioGroup',\n providers: [\n MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n { provide: MAT_RADIO_GROUP, useExisting: MatRadioGroup },\n ],\n host: {\n 'role': 'radiogroup',\n 'class': 'mat-radio-group',\n },\n }]\n }], propDecorators: { _radios: [{\n type: ContentChildren,\n args: [forwardRef(() => MatRadioButton), { descendants: true }]\n }] } });\n// Boilerplate for applying mixins to MatRadioButton.\n/** @docs-private */\nclass MatRadioButtonBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\nconst _MatRadioButtonMixinBase = mixinDisableRipple(mixinTabIndex(MatRadioButtonBase));\n/**\n * Base class with all of the `MatRadioButton` functionality.\n * @docs-private\n */\nclass _MatRadioButtonBase extends _MatRadioButtonMixinBase {\n constructor(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex) {\n super(elementRef);\n this._changeDetector = _changeDetector;\n this._focusMonitor = _focusMonitor;\n this._radioDispatcher = _radioDispatcher;\n this._providerOverride = _providerOverride;\n this._uniqueId = `mat-radio-${++nextUniqueId}`;\n /** The unique ID for the radio button. */\n this.id = this._uniqueId;\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n this.change = new EventEmitter();\n /** Whether this radio is checked. */\n this._checked = false;\n /** Value assigned to this radio. */\n this._value = null;\n /** Unregister function for _radioDispatcher */\n this._removeUniqueSelectionListener = () => { };\n // Assertions. Ideally these should be stripped out by the compiler.\n // TODO(jelbourn): Assert that there's no name binding AND a parent radio group.\n this.radioGroup = radioGroup;\n this._noopAnimations = animationMode === 'NoopAnimations';\n if (tabIndex) {\n this.tabIndex = coerceNumberProperty(tabIndex, 0);\n }\n this._removeUniqueSelectionListener = _radioDispatcher.listen((id, name) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n /** Whether this radio button is checked. */\n get checked() {\n return this._checked;\n }\n set checked(value) {\n const newCheckedState = coerceBooleanProperty(value);\n if (this._checked !== newCheckedState) {\n this._checked = newCheckedState;\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n }\n else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n if (newCheckedState) {\n // Notify all radio buttons with the same name to un-check.\n this._radioDispatcher.notify(this.id, this.name);\n }\n this._changeDetector.markForCheck();\n }\n }\n /** The value of this radio button. */\n get value() {\n return this._value;\n }\n set value(value) {\n if (this._value !== value) {\n this._value = value;\n if (this.radioGroup !== null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n get labelPosition() {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n /** Whether the radio button is disabled. */\n get disabled() {\n return this._disabled || (this.radioGroup !== null && this.radioGroup.disabled);\n }\n set disabled(value) {\n this._setDisabled(coerceBooleanProperty(value));\n }\n /** Whether the radio button is required. */\n get required() {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n }\n /** Theme color of the radio button. */\n get color() {\n // As per Material design specifications the selection control radio should use the accent color\n // palette by default. https://material.io/guidelines/components/selection-controls.html\n return (this._color ||\n (this.radioGroup && this.radioGroup.color) ||\n (this._providerOverride && this._providerOverride.color) ||\n 'accent');\n }\n set color(newValue) {\n this._color = newValue;\n }\n /** ID of the native input element inside `<mat-radio-button>` */\n get inputId() {\n return `${this.id || this._uniqueId}-input`;\n }\n /** Focuses the radio button. */\n focus(options, origin) {\n if (origin) {\n this._focusMonitor.focusVia(this._inputElement, origin, options);\n }\n else {\n this._inputElement.nativeElement.focus(options);\n }\n }\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this._changeDetector.markForCheck();\n }\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n ngDoCheck() {\n this._updateTabIndex();\n }\n ngAfterViewInit() {\n this._updateTabIndex();\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup._touch();\n }\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._removeUniqueSelectionListener();\n }\n /** Dispatch change event with current value. */\n _emitChangeEvent() {\n this.change.emit(new MatRadioChange(this, this._value));\n }\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n _onInputClick(event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n /** Triggered when the radio button receives an interaction from the user. */\n _onInputInteraction(event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n if (!this.checked && !this.disabled) {\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n this.checked = true;\n this._emitChangeEvent();\n if (this.radioGroup) {\n this.radioGroup._controlValueAccessorChangeFn(this.value);\n if (groupValueChanged) {\n this.radioGroup._emitChangeEvent();\n }\n }\n }\n }\n /** Sets the disabled state and marks for check if a change occurred. */\n _setDisabled(value) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._changeDetector.markForCheck();\n }\n }\n /** Gets the tabindex for the underlying input element. */\n _updateTabIndex() {\n const group = this.radioGroup;\n let value;\n // Implement a roving tabindex if the button is inside a group. For most cases this isn't\n // necessary, because the browser handles the tab order for inputs inside a group automatically,\n // but we need an explicitly higher tabindex for the selected button in order for things like\n // the focus trap to pick it up correctly.\n if (!group || !group.selected || this.disabled) {\n value = this.tabIndex;\n }\n else {\n value = group.selected === this ? this.tabIndex : -1;\n }\n if (value !== this._previousTabIndex) {\n // We have to set the tabindex directly on the DOM node, because it depends on\n // the selected state which is prone to \"changed after checked errors\".\n const input = this._inputElement?.nativeElement;\n if (input) {\n input.setAttribute('tabindex', value + '');\n this._previousTabIndex = value;\n }\n }\n }\n}\n_MatRadioButtonBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioButtonBase, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Directive });\n_MatRadioButtonBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: _MatRadioButtonBase, inputs: { id: \"id\", name: \"name\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], checked: \"checked\", value: \"value\", labelPosition: \"labelPosition\", disabled: \"disabled\", required: \"required\", color: \"color\" }, outputs: { change: \"change\" }, viewQueries: [{ propertyName: \"_inputElement\", first: true, predicate: [\"input\"], descendants: true }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: _MatRadioButtonBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: _MatRadioGroupBase }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined }, { type: undefined }, { type: undefined }]; }, propDecorators: { id: [{\n type: Input\n }], name: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], checked: [{\n type: Input\n }], value: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }], color: [{\n type: Input\n }], change: [{\n type: Output\n }], _inputElement: [{\n type: ViewChild,\n args: ['input']\n }] } });\n/**\n * A Material design radio-button. Typically placed inside of `<mat-radio-group>` elements.\n */\nclass MatRadioButton extends _MatRadioButtonBase {\n constructor(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex) {\n super(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex);\n }\n}\nMatRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioButton, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });\nMatRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", type: MatRadioButton, selector: \"mat-radio-button\", inputs: { disableRipple: \"disableRipple\", tabIndex: \"tabIndex\" }, host: { listeners: { \"focus\": \"_inputElement.nativeElement.focus()\" }, properties: { \"class.mat-radio-checked\": \"checked\", \"class.mat-radio-disabled\": \"disabled\", \"class._mat-animation-noopable\": \"_noopAnimations\", \"class.mat-primary\": \"color === \\\"primary\\\"\", \"class.mat-accent\": \"color === \\\"accent\\\"\", \"class.mat-warn\": \"color === \\\"warn\\\"\", \"attr.tabindex\": \"null\", \"attr.id\": \"id\", \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"attr.aria-describedby\": \"null\" }, classAttribute: \"mat-radio-button\" }, exportAs: [\"matRadioButton\"], usesInheritance: true, ngImport: i0, template: \"<!-- TODO(jelbourn): render the radio on either side of the content -->\\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\\n<label [attr.for]=\\\"inputId\\\" class=\\\"mat-radio-label\\\" #label>\\n <!-- The actual 'radio' part of the control. -->\\n <span class=\\\"mat-radio-container\\\">\\n <span class=\\\"mat-radio-outer-circle\\\"></span>\\n <span class=\\\"mat-radio-inner-circle\\\"></span>\\n <input #input class=\\\"mat-radio-input\\\" type=\\\"radio\\\"\\n [id]=\\\"inputId\\\"\\n [checked]=\\\"checked\\\"\\n [disabled]=\\\"disabled\\\"\\n [attr.name]=\\\"name\\\"\\n [attr.value]=\\\"value\\\"\\n [required]=\\\"required\\\"\\n [attr.aria-label]=\\\"ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledby\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedby\\\"\\n (change)=\\\"_onInputInteraction($event)\\\"\\n (click)=\\\"_onInputClick($event)\\\">\\n\\n <!-- The ripple comes after the input so that we can target it with a CSS\\n sibling selector when the input is focused. -->\\n <span mat-ripple class=\\\"mat-radio-ripple mat-focus-indicator\\\"\\n [matRippleTrigger]=\\\"label\\\"\\n [matRippleDisabled]=\\\"_isRippleDisabled()\\\"\\n [matRippleCentered]=\\\"true\\\"\\n [matRippleRadius]=\\\"20\\\"\\n [matRippleAnimation]=\\\"{enterDuration: _noopAnimations ? 0 : 150}\\\">\\n\\n <span class=\\\"mat-ripple-element mat-radio-persistent-ripple\\\"></span>\\n </span>\\n </span>\\n\\n <!-- The label content for radio control. -->\\n <span class=\\\"mat-radio-label-content\\\" [class.mat-radio-label-before]=\\\"labelPosition == 'before'\\\">\\n <!-- Add an invisible span so JAWS can read the label -->\\n <span style=\\\"display:none\\\">&nbsp;</span>\\n <ng-content></ng-content>\\n </span>\\n</label>\\n\", styles: [\".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\"], dependencies: [{ kind: \"directive\", type: i3.MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioButton, decorators: [{\n type: Component,\n args: [{ selector: 'mat-radio-button', inputs: ['disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, exportAs: 'matRadioButton', host: {\n 'class': 'mat-radio-button',\n '[class.mat-radio-checked]': 'checked',\n '[class.mat-radio-disabled]': 'disabled',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color === \"accent\"',\n '[class.mat-warn]': 'color === \"warn\"',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n // Note: under normal conditions focus shouldn't land on this element, however it may be\n // programmatically set, for example inside of a focus trap, in this case we want to forward\n // the focus to the native element.\n '(focus)': '_inputElement.nativeElement.focus()',\n }, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<!-- TODO(jelbourn): render the radio on either side of the content -->\\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\\n<label [attr.for]=\\\"inputId\\\" class=\\\"mat-radio-label\\\" #label>\\n <!-- The actual 'radio' part of the control. -->\\n <span class=\\\"mat-radio-container\\\">\\n <span class=\\\"mat-radio-outer-circle\\\"></span>\\n <span class=\\\"mat-radio-inner-circle\\\"></span>\\n <input #input class=\\\"mat-radio-input\\\" type=\\\"radio\\\"\\n [id]=\\\"inputId\\\"\\n [checked]=\\\"checked\\\"\\n [disabled]=\\\"disabled\\\"\\n [attr.name]=\\\"name\\\"\\n [attr.value]=\\\"value\\\"\\n [required]=\\\"required\\\"\\n [attr.aria-label]=\\\"ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledby\\\"\\n [attr.aria-describedby]=\\\"ariaDescribedby\\\"\\n (change)=\\\"_onInputInteraction($event)\\\"\\n (click)=\\\"_onInputClick($event)\\\">\\n\\n <!-- The ripple comes after the input so that we can target it with a CSS\\n sibling selector when the input is focused. -->\\n <span mat-ripple class=\\\"mat-radio-ripple mat-focus-indicator\\\"\\n [matRippleTrigger]=\\\"label\\\"\\n [matRippleDisabled]=\\\"_isRippleDisabled()\\\"\\n [matRippleCentered]=\\\"true\\\"\\n [matRippleRadius]=\\\"20\\\"\\n [matRippleAnimation]=\\\"{enterDuration: _noopAnimations ? 0 : 150}\\\">\\n\\n <span class=\\\"mat-ripple-element mat-radio-persistent-ripple\\\"></span>\\n </span>\\n </span>\\n\\n <!-- The label content for radio control. -->\\n <span class=\\\"mat-radio-label-content\\\" [class.mat-radio-label-before]=\\\"labelPosition == 'before'\\\">\\n <!-- Add an invisible span so JAWS can read the label -->\\n <span style=\\\"display:none\\\">&nbsp;</span>\\n <ng-content></ng-content>\\n </span>\\n</label>\\n\", styles: [\".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\"] }]\n }], ctorParameters: function () { return [{ type: MatRadioGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RADIO_GROUP]\n }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RADIO_DEFAULT_OPTIONS]\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatRadioModule {\n}\nMatRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, declarations: [MatRadioGroup, MatRadioButton], imports: [MatRippleModule, MatCommonModule], exports: [MatRadioGroup, MatRadioButton, MatCommonModule] });\nMatRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, imports: [MatRippleModule, MatCommonModule, MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0-rc.1\", ngImport: i0, type: MatRadioModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatRippleModule, MatCommonModule],\n exports: [MatRadioGroup, MatRadioButton, MatCommonModule],\n declarations: [MatRadioGroup, MatRadioButton],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_RADIO_DEFAULT_OPTIONS, MAT_RADIO_DEFAULT_OPTIONS_FACTORY, MAT_RADIO_GROUP, MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, MatRadioButton, MatRadioChange, MatRadioGroup, MatRadioModule, _MatRadioButtonBase, _MatRadioGroupBase };\n"],"names":["_barcodes","require","_barcodes2","_interopRequireDefault","_merge","_merge2","_linearizeEncodings","_linearizeEncodings2","_fixOptions","_fixOptions2","_getRenderProperties","_getRenderProperties2","_optionsFromStrings","_optionsFromStrings2","_ErrorHandler","_ErrorHandler2","_exceptions","_defaults","_defaults2","obj","__esModule","default","API","JsBarcode","element","text","options","api","Error","_renderProperties","_encodings","_options","_errorHandler","format","autoSelectBarcode","render","getModule","name","hasOwnProperty","registerBarcode","barcodes","prototype","toUpperCase","toLowerCase","wrapBarcodeCall","undefined","newOptions","Encoder","encoded","encode","push","encoder","valid","InvalidInputException","constructor","i","length","Object","keys","blank","size","zeroes","Array","join","data","init","isArray","renderProperty","value","NoElementException","renderProperties","encodings","Renderer","renderer","afterRender","window","jQuery","fn","content","elementArray","each","module","exports","defineProperty","_classCallCheck","instance","Constructor","TypeError","Barcode","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","_Barcode2","_Barcode3","_constants","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","create","setPrototypeOf","__proto__","CODE128","_Barcode","_this","getPrototypeOf","substring","bytes","split","map","char","charCodeAt","test","startIndex","shift","startSet","SET_BY_CODE","RangeError","shouldEncodeAsEan128","unshift","FNC1","encodingResult","next","replace","getBar","result","checksum","MODULO","STOP","isEAN128","ean128","index","BARS","toString","correctIndex","set","SET_A","charCode","SET_B","pos","nextCode","nextSet","SWAP","SHIFT","enc","weight","_CODE2","_CODE3","CODE128A","_CODE","string","A_START_CHAR","RegExp","A_CHARS","CODE128B","B_START_CHAR","B_CHARS","CODE128C","C_START_CHAR","C_CHARS","_auto","_auto2","CODE128AUTO","matchSetALength","match","matchSetBLength","matchSetC","autoSelectFromAB","isA","ranges","untilC","String","fromCharCode","autoSelectFromC","chars","cMatch","newString","cLength","_SET_BY_CODE","_defineProperty","SET_C","START_A","START_B","START_C","_CODE128_AUTO","_CODE128_AUTO2","_CODE128A","_CODE128A2","_CODE128B","_CODE128B2","_CODE128C","_CODE128C2","CODE39","mod43","getCharacter","mod43checksum","getEncoding","search","characters","character","getBinary","characterValue","indexOf","_encoder","_encoder2","EAN","fontSize","flat","width","guardHeight","height","textMargin","encodeFlat","encodeGuarded","leftText","from","to","substr","leftEncode","structure","rightText","rightEncode","textOptions","guardOptions","SIDE_BIN","MIDDLE_BIN","_get","get","object","property","receiver","Function","desc","getOwnPropertyDescriptor","parent","getter","_EAN2","_EAN3","number","res","n","reduce","sum","a","idx","EAN13","_EAN","lastChar","EAN13_STRUCTURE","displayValue","textAlign","EAN2","EAN2_STRUCTURE","parseInt","EAN5","EAN5_STRUCTURE","EAN8","UPC","flatEncoding","guardedEncoding","_UPC","EXPANSIONS","PARITIES","UPCE","isValid","middleDigits","upcA","expandToUPCA","encodeMiddleDigits","numberSystem","checkDigit","parity","lastUpcE","expansion","digitIndex","c","BINARIES","separator","val","last","_EAN4","_EAN5","_EAN6","_EAN7","_EAN8","_UPC2","_UPCE","_UPCE2","GenericBarcode","ITF","apply","arguments","_this2","pair","encodePair","START_BIN","END_BIN","second","first","_ITF2","_ITF3","num","Math","ceil","ITF14","_ITF","_ITF4","MSI","ret","digit","bin","addZeroes","b","_MSI2","_MSI3","_checksums","MSI10","_MSI","mod10","MSI1010","MSI11","mod11","MSI1110","floor","weights","_MSI4","_MSI5","_MSI6","_MSI7","_MSI8","_MSI9","_MSI10","codabar","getEncodings","charAt","_EAN_UPC","_pharmacode","_codabar","_GenericBarcode","pharmacode","z","isNaN","slice","ErrorHandler","handleCatch","e","message","func","_Error","symbology","input","InvalidElementException","_Error2","_Error3","_this3","fixOptions","marginTop","margin","marginBottom","marginRight","marginLeft","getOptionsFromElement","hasAttribute","getAttribute","_typeof","Symbol","iterator","_getOptionsFromElement","_getOptionsFromElement2","_renderers","_renderers2","getRenderProperties","querySelectedRenderProperties","returnArray","HTMLCanvasElement","HTMLImageElement","newCanvasRenderProperties","nodeName","SVGElement","SVGRenderer","CanvasRenderer","getContext","ObjectRenderer","selector","document","querySelectorAll","imgElement","canvas","createElement","setAttribute","toDataURL","linearizeEncodings","linearEncodings","nextLevel","_extends","assign","source","old","replaceObj","optionsFromStrings","intOptions","intOption","defaults","fontOptions","font","textPosition","background","lineColor","_shared","prepareCanvas","encodingOptions","drawCanvasBarcode","drawCanvasText","moveCanvasDrawing","restoreCanvas","ctx","save","calculateEncodingAttributes","totalWidth","getTotalWidthOfEncodings","maxHeight","getMaximumHeightOfEncodings","clearRect","fillStyle","fillRect","translate","encoding","binary","yFrom","x","barcodePadding","y","fillText","restore","_canvas","_canvas2","_svg","_svg2","_object","_object2","getBarcodePadding","getEncodingHeight","textWidth","barcodeWidth","barcodeOptions","context","messureText","max","measureTextResult","measureText","svgns","svg","xmlDocument","currentX","prepareSVG","group","createGroup","setGroupOptions","drawSvgBarcode","drawSVGText","firstChild","removeChild","setSvgAttributes","drawRect","barWidth","textElem","createElementNS","appendChild","createTextNode","rect","Component","Renderer2","Input","ViewChild","NgModule","ɵngcc0","_c0","jsbarcode","NgxBarcode6Component","elementType","cssClass","ngOnChanges","createBarcode","node","bcElement","nativeElement","childNodes","ɵfac","NgxBarcode6Component_Factory","t","ɵɵdirectiveInject","ɵcmp","ɵɵdefineComponent","type","selectors","viewQuery","NgxBarcode6Component_Query","rf","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","NgxBarcode6Component_Template","ɵɵelement","ɵɵclassMap","encapsulation","ctorParameters","propDecorators","args","static","ngDevMode","ɵsetClassMetadata","NgxBarcode6Module","NgxBarcode6Module_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","declarations","imports","ngJitMode","ɵɵsetNgModuleScope","i0","InjectionToken","forwardRef","EventEmitter","Directive","Output","ContentChildren","ViewEncapsulation","ChangeDetectionStrategy","Optional","Inject","Attribute","i3","mixinDisableRipple","mixinTabIndex","MatRippleModule","MatCommonModule","i1","coerceBooleanProperty","coerceNumberProperty","i2","NG_VALUE_ACCESSOR","ANIMATION_MODULE_TYPE","MAT_RADIO_DEFAULT_OPTIONS","providedIn","factory","MAT_RADIO_DEFAULT_OPTIONS_FACTORY","color","nextUniqueId","MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR","provide","useExisting","MatRadioGroup","multi","MatRadioChange","MAT_RADIO_GROUP","_MatRadioGroupBase","_changeDetector","_value","_name","_selected","_isInitialized","_labelPosition","_disabled","_required","_controlValueAccessorChangeFn","onTouched","change","_updateRadioButtonNames","labelPosition","v","_markRadiosForCheck","newValue","_updateSelectedRadioFromValue","_checkSelectedRadioButton","checked","selected","disabled","required","ngAfterContentInit","_touch","_radios","forEach","radio","_markForCheck","isAlreadySelected","_emitChangeEvent","emit","writeValue","markForCheck","registerOnChange","registerOnTouched","setDisabledState","isDisabled","ChangeDetectorRef","ɵdir","MatRadioButton","exportAs","providers","host","descendants","MatRadioButtonBase","_elementRef","_MatRadioButtonMixinBase","_MatRadioButtonBase","radioGroup","elementRef","_focusMonitor","_radioDispatcher","animationMode","_providerOverride","tabIndex","_uniqueId","id","_checked","_removeUniqueSelectionListener","_noopAnimations","listen","newCheckedState","notify","_setDisabled","_color","inputId","focus","origin","focusVia","_inputElement","ngOnInit","ngDoCheck","_updateTabIndex","ngAfterViewInit","monitor","subscribe","focusOrigin","ngOnDestroy","stopMonitoring","_isRippleDisabled","disableRipple","_onInputClick","event","stopPropagation","_onInputInteraction","groupValueChanged","_previousTabIndex","ElementRef","FocusMonitor","UniqueSelectionDispatcher","ariaLabel","ariaLabelledby","ariaDescribedby","changeDetector","focusMonitor","radioDispatcher","providerOverride","MatRipple","None","changeDetection","OnPush","styles","decorators","MatRadioModule"],"sourceRoot":"webpack:///"}