{"version":3,"file":"ngx-barcode6.mjs","sources":["../../../projects/ngx-barcode6/src/lib/ngx-barcode6.ts","../../../projects/ngx-barcode6/src/public-api.ts","../../../projects/ngx-barcode6/src/ngx-barcode6.ts"],"sourcesContent":["import { AfterViewInit, ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, Renderer2, viewChild } from '@angular/core';\n\nimport jsbarcode from 'jsbarcode';\n\n@Component({\n  selector: 'ngx-barcode6',\n  imports: [],\n  template: `<div #bcElement [class]=\"cssClass()\"></div>`,\n  styles: [],\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NgxBarcode6 implements AfterViewInit {\n\n  elementType = input<'svg' | 'img' | 'canvas'>('svg', { alias: 'bc-element-type' });\n  cssClass = input<string>('barcode', { alias: 'bc-class' });\n\n  format = input<string | '' | 'CODE128' | 'CODE128A' | 'CODE128B' | 'CODE128C' | 'EAN13' | 'UPC' | 'EAN8' | 'EAN5' |\n    'EAN2' | 'CODE39' | 'ITF' | 'ITF14' | 'MSI' | 'MSI10' | 'MSI11' | 'MSI1010' | 'MSI1110' | 'pharmacode' | 'codabar'>('CODE128', { alias: 'bc-format' });\n  lineColor = input<string>('#000000', { alias: 'bc-line-color' });\n  width = input<number>(2, { alias: 'bc-width' });\n  height = input<number>(100, { alias: 'bc-height' });\n  displayValue = input<boolean>(false, { alias: 'bc-display-value' });\n  fontOptions = input<string>('', { alias: 'bc-font-options' });\n  font = input<string>('monospace', { alias: 'bc-font' });\n  textAlign = input<string>('center', { alias: 'bc-text-align' });\n  textPosition = input<string>('bottom', { alias: 'bc-text-position' });\n  textMargin = input<number>(2, { alias: 'bc-text-margin' });\n  fontSize = input<number>(20, { alias: 'bc-font-size' });\n  background = input<string>('#ffffff', { alias: 'bc-background' });\n  margin = input<number>(10, { alias: 'bc-margin' });\n  marginTop = input<number>(10, { alias: 'bc-margin-top' });\n  marginBottom = input<number>(10, { alias: 'bc-margin-bottom' });\n  marginLeft = input<number>(10, { alias: 'bc-margin-left' });\n  marginRight = input<number>(10, { alias: 'bc-margin-right' });\n  value = input<string>('', { alias: 'bc-value' });\n  valid = input<() => boolean>(() => true, { alias: 'bc-valid' });\n\n  bcElement = viewChild.required<ElementRef>('bcElement');\n\n  private renderer = inject(Renderer2);\n\n  constructor() {\n    effect(() => {\n      // Track all input signals\n      const barcodeValue = this.value();\n      const element = this.bcElement();\n\n      // Only create barcode if we have both value and element\n      if (element && barcodeValue) {\n        this.createBarcode();\n      }\n    });\n  }\n\n  get options(): any {\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\n  ngAfterViewInit(): void {\n    // Initial barcode creation is handled by effect\n  }\n\n  createBarcode(): void {\n    const barcodeValue = this.value();\n    if (!barcodeValue) { return; }\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, barcodeValue, this.options);\n\n    const bcElementRef = this.bcElement();\n    for (const node of bcElementRef.nativeElement.childNodes) {\n      this.renderer.removeChild(bcElementRef.nativeElement, node);\n    }\n    this.renderer.appendChild(bcElementRef.nativeElement, element);\n\n  }\n\n}\n","/*\n * Public API Surface of ngx-barcode6\n */\n\nexport * from './lib/ngx-barcode6';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}