{"version":3,"file":"ngx-bootstrap-progressbar.mjs","sources":["../../../../src/progressbar/bar.component.ts","../../../../src/progressbar/bar.component.html","../../../../src/progressbar/progressbar.config.ts","../../../../src/progressbar/progressbar.component.ts","../../../../src/progressbar/progressbar.component.html","../../../../src/progressbar/progressbar.module.ts","../../../../src/progressbar/ngx-bootstrap-progressbar.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Renderer2,\n  effect,\n  input\n} from '@angular/core';\n\nimport { ProgressbarType } from './progressbar-type.interface';\n\n@Component({\n    selector: 'bar',\n    templateUrl: './bar.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        role: 'progressbar',\n        'aria-valuemin': '0',\n        '[class.progress-bar]': 'true',\n        '[class.progress-bar-animated]': 'animate()',\n        '[class.progress-bar-striped]': 'striped()',\n        '[attr.aria-valuenow]': 'value()',\n        '[attr.aria-valuetext]': 'percent ? percent.toFixed(0) + \"%\" : \"\"',\n        '[attr.aria-valuemax]': 'max()',\n        '[style.height.%]': '\"100\"',\n        '[style.width.%]': 'percent'\n    },\n    standalone: true\n})\nexport class BarComponent {\n  /** maximum total value of progress element */\n  max = input<number>(100);\n\n  /** current value of progress bar */\n  value = input<number | undefined>(0);\n\n  /** if `true` changing value of progress bar will be animated */\n  animate = input<boolean | undefined>(false);\n\n  /** If `true`, striped classes are applied */\n  striped = input<boolean | undefined>(false);\n\n  /** provide one of the four supported contextual classes: `success`, `info`, `warning`, `danger` */\n  type = input<ProgressbarType | undefined>('info');\n\n  percent = 100;\n\n  private _prevType?: string;\n\n  constructor(\n    private el: ElementRef,\n    private renderer: Renderer2\n  ) {\n    // Watch for value and max changes to update percent\n    effect(() => {\n      const currentValue = this.value() ?? 0;\n      const currentMax = this.max() || 100;\n      this.percent = 100 * (Number(currentValue) / Number(currentMax));\n    });\n    \n    // Watch for type changes to update classes\n    effect(() => {\n      const currentType = this.type();\n      this.applyTypeClasses(currentType);\n    });\n  }\n\n  private applyTypeClasses(currentType?: ProgressbarType): void {\n    if (this._prevType) {\n      const barTypeClass = `progress-bar-${this._prevType}`;\n      const bgClass = `bg-${this._prevType}`;\n      this.renderer.removeClass(this.el.nativeElement, barTypeClass);\n      this.renderer.removeClass(this.el.nativeElement, bgClass);\n      this._prevType = void 0;\n    }\n\n    if (currentType) {\n      const barTypeClass = `progress-bar-${currentType}`;\n      const bgClass = `bg-${currentType}`;\n      this.renderer.addClass(this.el.nativeElement, barTypeClass);\n      this.renderer.addClass(this.el.nativeElement, bgClass);\n      this._prevType = currentType;\n    }\n  }\n}\n","<ng-content></ng-content>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ProgressbarConfig {\n  /** if `true` changing value of progress bar will be animated */\n  animate = false;\n  /** If `true`, striped classes are applied */\n  striped = false;\n  /** maximum total value of progress element */\n  max = 100;\n}\n","import { ChangeDetectionStrategy, Component, input, computed } from '@angular/core';\nimport { BarValue, ProgressbarType } from './progressbar-type.interface';\nimport { ProgressbarConfig } from './progressbar.config';\nimport { BarComponent } from './bar.component';\n\n\n@Component({\n    selector: 'progressbar',\n    templateUrl: './progressbar.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        '[class.progress]': 'true',\n        '[attr.max]': 'max()'\n    },\n    styles: [`\n    :host {\n      width: 100%;\n      display: flex;\n    } `],\n    standalone: true,\n    imports: [BarComponent]\n})\nexport class ProgressbarComponent {\n  /** maximum total value of progress element */\n  max = input<number>(this._config.max);\n\n  /** if `true` changing value of progress bar will be animated */\n  animate = input<boolean>(this._config.animate);\n\n  /** If `true`, striped classes are applied */\n  striped = input<boolean>(this._config.striped);\n\n  /** provide one of the four supported contextual classes: `success`, `info`, `warning`, `danger` */\n  type = input<ProgressbarType | undefined>();\n\n  /** current value of progress bar. Could be a number or array of objects\n   * like {\"value\":15,\"type\":\"info\",\"label\":\"15 %\"}\n   */\n  value = input<number | BarValue[]>(0);\n\n  isStacked = computed(() => Array.isArray(this.value()));\n\n  _value = computed(() => {\n    const val = this.value();\n    return typeof val === 'number' ? val : undefined;\n  });\n\n  _values = computed(() => {\n    const val = this.value();\n    return Array.isArray(val) ? val : undefined;\n  });\n\n  constructor(private _config: ProgressbarConfig) {\n  }\n}\n","@if (!isStacked()) {\n  <bar [type]=\"type()\" [value]=\"_value()\" [max]=\"max()\" [animate]=\"animate()\" [striped]=\"striped()\">\n    <ng-content></ng-content>\n  </bar>\n} @else {\n  @for (item of _values(); track item) {\n    <bar\n    [type]=\"item.type\" [value]=\"item.value\" [max]=\"item.max || max()\" [animate]=\"animate()\" [striped]=\"striped()\">{{ item.label }}</bar>\n  }\n}\n","import { NgModule } from '@angular/core';\n\nimport { BarComponent } from './bar.component';\nimport { ProgressbarComponent } from './progressbar.component';\n\n@NgModule({\n    imports: [BarComponent, ProgressbarComponent],\n    exports: [BarComponent, ProgressbarComponent]\n})\nexport class ProgressbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ProgressbarConfig"],"mappings":"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"}