{"version":3,"file":"greatcloak-ngx-barcode.mjs","sources":["../../../../projects/greatcloak/ngx-barcode/src/lib/ngx-barcode.component.ts","../../../../projects/greatcloak/ngx-barcode/src/lib/ngx-barcode.module.ts","../../../../projects/greatcloak/ngx-barcode/src/public-api.ts","../../../../projects/greatcloak/ngx-barcode/src/greatcloak-ngx-barcode.ts"],"sourcesContent":["import {\n  Component,\n  Input,\n  OnChanges,\n  ViewChild,\n  Renderer2,\n  ElementRef,\n} from '@angular/core'\n\nimport JsBarcode from 'jsbarcode'\n\n// FormatCode is a format of a barcode\nexport type FormatCode =\n  | ''\n  | 'CODE128'\n  | 'CODE128A'\n  | 'CODE128B'\n  | 'CODE128C'\n  | 'EAN'\n  | 'UPC'\n  | 'EAN8'\n  | 'EAN5'\n  | 'EAN2'\n  | 'CODE39'\n  | 'ITF14'\n  | 'MSI'\n  | 'MSI10'\n  | 'MSI11'\n  | 'MSI1010'\n  | 'MSI1110'\n  | 'pharmacode'\n  | 'codabar'\n\n@Component({\n  selector: 'ngx-barcode',\n  template: ` <div #bcElement [class]=\"cssClass\"></div> `,\n})\nexport class NgxBarcodeComponent implements OnChanges {\n  @Input('bc-element-type')\n  elementType: 'svg' | 'img' | 'canvas' = 'svg'\n\n  // this should be done more elegantly\n  @Input('bc-class')\n  cssClass = 'barcode'\n\n  @Input('bc-format')\n  format: FormatCode = 'CODE128'\n  @Input('bc-line-color')\n  lineColor = '#000000'\n  @Input('bc-width')\n  width = 2\n  @Input('bc-height')\n  height = 100\n  @Input('bc-display-value')\n  displayValue = false\n  @Input('bc-font-options')\n  fontOptions = ''\n  @Input('bc-font')\n  font = 'monospace'\n  @Input('bc-text-align')\n  textAlign = 'center'\n  @Input('bc-text-position')\n  textPosition = 'bottom'\n  @Input('bc-text-margin')\n  textMargin = 2\n  @Input('bc-font-size')\n  fontSize = 20\n  @Input('bc-background')\n  background = '#ffffff'\n  @Input('bc-margin')\n  margin = 10\n  @Input('bc-margin-top')\n  marginTop = 10\n  @Input('bc-margin-bottom')\n  marginBottom = 10\n  @Input('bc-margin-left')\n  marginLeft = 10\n  @Input('bc-margin-right')\n  marginRight = 10\n  @Input('bc-value')\n  value = ''\n\n  @ViewChild('bcElement', {\n    // Ensure element is loaded in ngOnChanges since normal @ViewChild is only set before `ngAfterViewInit`.\n    static: true,\n  })\n  bcElement: ElementRef\n\n  @Input('bc-valid')\n  valid: () => boolean = () => 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  constructor(private renderer: Renderer2) {}\n\n  ngOnChanges() {\n    this.createBarcode()\n  }\n\n  createBarcode() {\n    if (!this.value) {\n      return\n    }\n    let element: 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\n    JsBarcode(element, this.value, this.options)\n\n    for (let 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}\n","import { NgModule, ModuleWithProviders } from '@angular/core'\nimport { NgxBarcodeComponent } from './ngx-barcode.component'\n\n@NgModule({\n  declarations: [NgxBarcodeComponent],\n  exports: [NgxBarcodeComponent],\n})\nexport class NgxBarcodeModule {\n  // TODO why is this a separate `forRoot`?\n  static forRoot(): ModuleWithProviders<NgxBarcodeModule> {\n    return {\n      ngModule: NgxBarcodeModule,\n      providers: [],\n    }\n  }\n}\n","/*\n * Public API Surface of ngx-barcode\n */\n\nexport * from './lib/ngx-barcode.component'\nexport * from './lib/ngx-barcode.module'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAqCa,mBAAmB,CAAA;AA4E9B,IAAA,WAAA,CAAoB,QAAmB,EAAA;QAAnB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QA1EvC,IAAW,CAAA,WAAA,GAA6B,KAAK,CAAA;;QAI7C,IAAQ,CAAA,QAAA,GAAG,SAAS,CAAA;QAGpB,IAAM,CAAA,MAAA,GAAe,SAAS,CAAA;QAE9B,IAAS,CAAA,SAAA,GAAG,SAAS,CAAA;QAErB,IAAK,CAAA,KAAA,GAAG,CAAC,CAAA;QAET,IAAM,CAAA,MAAA,GAAG,GAAG,CAAA;QAEZ,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA;QAEpB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAA;QAEhB,IAAI,CAAA,IAAA,GAAG,WAAW,CAAA;QAElB,IAAS,CAAA,SAAA,GAAG,QAAQ,CAAA;QAEpB,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAA;QAEvB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAA;QAEd,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAA;QAEb,IAAU,CAAA,UAAA,GAAG,SAAS,CAAA;QAEtB,IAAM,CAAA,MAAA,GAAG,EAAE,CAAA;QAEX,IAAS,CAAA,SAAA,GAAG,EAAE,CAAA;QAEd,IAAY,CAAA,YAAA,GAAG,EAAE,CAAA;QAEjB,IAAU,CAAA,UAAA,GAAG,EAAE,CAAA;QAEf,IAAW,CAAA,WAAA,GAAG,EAAE,CAAA;QAEhB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAA;AASV,QAAA,IAAA,CAAA,KAAK,GAAkB,MAAM,IAAI,CAAA;KAwBU;AAtB3C,IAAA,IAAI,OAAO,GAAA;QACT,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAA;KACF;IAGD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE,CAAA;KACrB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAM;AACP,SAAA;AACD,QAAA,IAAI,OAAgB,CAAA;QACpB,QAAQ,IAAI,CAAC,WAAW;AACtB,YAAA,KAAK,KAAK;gBACR,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAC5C,MAAK;AACP,YAAA,KAAK,QAAQ;gBACX,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;gBAC/C,MAAK;AACP,YAAA,KAAK,KAAK,CAAC;AACX,YAAA;gBACE,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACtD,SAAA;QAED,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAE5C,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE;AACxD,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;AAC9D,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;KACjE;;gHAzGU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,uiCAFpB,CAA6C,2CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAE5C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,CAA6C,2CAAA,CAAA;AACxD,iBAAA,CAAA;gGAGC,WAAW,EAAA,CAAA;sBADV,KAAK;uBAAC,iBAAiB,CAAA;gBAKxB,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,UAAU,CAAA;gBAIjB,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,WAAW,CAAA;gBAGlB,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,eAAe,CAAA;gBAGtB,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,UAAU,CAAA;gBAGjB,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,WAAW,CAAA;gBAGlB,YAAY,EAAA,CAAA;sBADX,KAAK;uBAAC,kBAAkB,CAAA;gBAGzB,WAAW,EAAA,CAAA;sBADV,KAAK;uBAAC,iBAAiB,CAAA;gBAGxB,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,SAAS,CAAA;gBAGhB,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,eAAe,CAAA;gBAGtB,YAAY,EAAA,CAAA;sBADX,KAAK;uBAAC,kBAAkB,CAAA;gBAGzB,UAAU,EAAA,CAAA;sBADT,KAAK;uBAAC,gBAAgB,CAAA;gBAGvB,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,cAAc,CAAA;gBAGrB,UAAU,EAAA,CAAA;sBADT,KAAK;uBAAC,eAAe,CAAA;gBAGtB,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,WAAW,CAAA;gBAGlB,SAAS,EAAA,CAAA;sBADR,KAAK;uBAAC,eAAe,CAAA;gBAGtB,YAAY,EAAA,CAAA;sBADX,KAAK;uBAAC,kBAAkB,CAAA;gBAGzB,UAAU,EAAA,CAAA;sBADT,KAAK;uBAAC,gBAAgB,CAAA;gBAGvB,WAAW,EAAA,CAAA;sBADV,KAAK;uBAAC,iBAAiB,CAAA;gBAGxB,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,UAAU,CAAA;gBAOjB,SAAS,EAAA,CAAA;sBAJR,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE;;AAEtB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAA;gBAID,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,UAAU,CAAA;;;MCjFN,gBAAgB,CAAA;;AAE3B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE,EAAE;SACd,CAAA;KACF;;6GAPU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,mBAAmB,CAAA,EAAA,CAAA,CAAA;8GAElB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;ACND;;AAEG;;ACFH;;AAEG;;;;"}