{"version":3,"file":"period-year-norway-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/period-year-norway-ngx-bootstrap-progressbar.ts"],"sourcesContent":["import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  Renderer2,\r\n  SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { isBs3 } from '@period-year-norway/ngx-bootstrap/utils';\r\nimport { ProgressbarType } from './progressbar-type.interface';\r\n\r\n@Component({\r\n  selector: 'bar',\r\n  templateUrl: './bar.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: {\r\n    role: 'progressbar',\r\n    'aria-valuemin': '0',\r\n    '[class.progress-bar]': 'true',\r\n    '[class.progress-bar-animated]': '!isBs3 && animate',\r\n    '[class.progress-bar-striped]': 'striped',\r\n    '[class.active]': 'isBs3 && animate',\r\n    '[attr.aria-valuenow]': 'value',\r\n    '[attr.aria-valuetext]': 'percent ? percent.toFixed(0) + \"%\" : \"\"',\r\n    '[attr.aria-valuemax]': 'max',\r\n    '[style.height.%]': '\"100\"',\r\n    '[style.width.%]': 'percent'\r\n  },\r\n  standalone: false\r\n})\r\nexport class BarComponent implements OnChanges {\r\n  /** maximum total value of progress element */\r\n  @Input() max = 100;\r\n\r\n  /** current value of progress bar */\r\n  @Input() value? = 0;\r\n\r\n  /** if `true` changing value of progress bar will be animated */\r\n  @Input() animate? = false;\r\n\r\n  /** If `true`, striped classes are applied */\r\n  @Input() striped? = false;\r\n\r\n  /** provide one of the four supported contextual classes: `success`, `info`, `warning`, `danger` */\r\n  @Input() type?: ProgressbarType = 'info';\r\n\r\n  percent = 100;\r\n\r\n  get isBs3(): boolean {\r\n    return isBs3();\r\n  }\r\n\r\n  private _prevType?: string;\r\n\r\n  constructor(\r\n    private el: ElementRef,\r\n    private renderer: Renderer2\r\n  ) {}\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if (changes['value'] || changes['max']) {\r\n      this.percent =\r\n        100 *\r\n        (Number(changes['value']?.currentValue || this.value) /\r\n          Number(changes['max']?.currentValue || this.max || 100));\r\n    }\r\n\r\n    if (changes['type']) {\r\n      this.applyTypeClasses();\r\n    }\r\n  }\r\n\r\n  private applyTypeClasses(): void {\r\n    if (this._prevType) {\r\n      const barTypeClass = `progress-bar-${this._prevType}`;\r\n      const bgClass = `bg-${this._prevType}`;\r\n      this.renderer.removeClass(this.el.nativeElement, barTypeClass);\r\n      this.renderer.removeClass(this.el.nativeElement, bgClass);\r\n      this._prevType = void 0;\r\n    }\r\n\r\n    if (this.type) {\r\n      const barTypeClass = `progress-bar-${this.type}`;\r\n      const bgClass = `bg-${this.type}`;\r\n      this.renderer.addClass(this.el.nativeElement, barTypeClass);\r\n      this.renderer.addClass(this.el.nativeElement, bgClass);\r\n      this._prevType = this.type;\r\n    }\r\n  }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ProgressbarConfig {\r\n  /** if `true` changing value of progress bar will be animated */\r\n  animate = false;\r\n  /** maximum total value of progress element */\r\n  max = 100;\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { BarValue, ProgressbarType } from './progressbar-type.interface';\r\nimport { ProgressbarConfig } from './progressbar.config';\r\n\r\n@Component({\r\n  selector: 'progressbar',\r\n  templateUrl: './progressbar.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: {\r\n    '[class.progress]': 'true',\r\n    '[attr.max]': 'max'\r\n  },\r\n  styles: [\r\n    `\r\n      :host {\r\n        width: 100%;\r\n        display: flex;\r\n      }\r\n    `\r\n  ],\r\n  standalone: false\r\n})\r\nexport class ProgressbarComponent {\r\n  /** maximum total value of progress element */\r\n  @Input() max = 100;\r\n\r\n  /** if `true` changing value of progress bar will be animated */\r\n  @Input() animate = false;\r\n\r\n  /** If `true`, striped classes are applied */\r\n  @Input() striped = false;\r\n\r\n  /** provide one of the four supported contextual classes: `success`, `info`, `warning`, `danger` */\r\n  @Input() type?: ProgressbarType;\r\n\r\n  /** current value of progress bar. Could be a number or array of objects\r\n   * like {\"value\":15,\"type\":\"info\",\"label\":\"15 %\"}\r\n   */\r\n  @Input()\r\n  set value(value: number | BarValue[]) {\r\n    this.isStacked = Array.isArray(value);\r\n    if (typeof value === 'number') {\r\n      this._value = value;\r\n      this._values = void 0;\r\n    } else {\r\n      this._value = void 0;\r\n      this._values = value;\r\n    }\r\n  }\r\n\r\n  isStacked = false;\r\n  _value? = 0;\r\n  _values?: BarValue[];\r\n\r\n  constructor(config: ProgressbarConfig) {\r\n    Object.assign(this, config);\r\n  }\r\n}\r\n","<ng-container *ngIf=\"!isStacked then NotStacked else Stacked\"></ng-container>\r\n\r\n<ng-template #NotStacked>\r\n  <bar [type]=\"type\" [value]=\"_value\" [max]=\"max\" [animate]=\"animate\" [striped]=\"striped\">\r\n    <ng-content></ng-content>\r\n  </bar>\r\n</ng-template>\r\n\r\n<ng-template #Stacked>\r\n  <bar *ngFor=\"let item of _values\"\r\n       [type]=\"item.type\" [value]=\"item.value\" [max]=\"item.max || max\" [animate]=\"animate\" [striped]=\"striped\">{{ item.label }}</bar>\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\n\r\nimport { BarComponent } from './bar.component';\r\nimport { ProgressbarComponent } from './progressbar.component';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [BarComponent, ProgressbarComponent],\r\n  exports: [BarComponent, ProgressbarComponent]\r\n})\r\nexport class ProgressbarModule {\r\n  static forRoot(): ModuleWithProviders<ProgressbarModule> {\r\n    return { ngModule: ProgressbarModule, providers: [] };\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ProgressbarConfig","i3.BarComponent"],"mappings":";;;;;;MAgCa,YAAY,CAAA;AAkBvB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,KAAK,EAAE;;IAKhB,WACU,CAAA,EAAc,EACd,QAAmB,EAAA;QADnB,IAAE,CAAA,EAAA,GAAF,EAAE;QACF,IAAQ,CAAA,QAAA,GAAR,QAAQ;;QAxBT,IAAG,CAAA,GAAA,GAAG,GAAG;;QAGT,IAAK,CAAA,KAAA,GAAI,CAAC;;QAGV,IAAO,CAAA,OAAA,GAAI,KAAK;;QAGhB,IAAO,CAAA,OAAA,GAAI,KAAK;;QAGhB,IAAI,CAAA,IAAA,GAAqB,MAAM;QAExC,IAAO,CAAA,OAAA,GAAG,GAAG;;AAab,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,OAAO;gBACV,GAAG;AACH,qBAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC;AACnD,wBAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;;AAG9D,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,CAAC,gBAAgB,EAAE;;;IAInB,gBAAgB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,YAAY,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,SAAS,EAAE;AACrD,YAAA,MAAM,OAAO,GAAG,CAAA,GAAA,EAAM,IAAI,CAAC,SAAS,EAAE;AACtC,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;AAC9D,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;AACzD,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;;AAGzB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,MAAM,YAAY,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,IAAI,EAAE;AAChD,YAAA,MAAM,OAAO,GAAG,CAAA,GAAA,EAAM,IAAI,CAAC,IAAI,EAAE;AACjC,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;AAC3D,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;AACtD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI;;;8GAxDnB,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,omBChCzB,+BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD+Ba,YAAY,EAAA,UAAA,EAAA,CAAA;kBAnBxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,KAAK,EAEE,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,eAAe,EAAE,GAAG;AACpB,wBAAA,sBAAsB,EAAE,MAAM;AAC9B,wBAAA,+BAA+B,EAAE,mBAAmB;AACpD,wBAAA,8BAA8B,EAAE,SAAS;AACzC,wBAAA,gBAAgB,EAAE,kBAAkB;AACpC,wBAAA,sBAAsB,EAAE,OAAO;AAC/B,wBAAA,uBAAuB,EAAE,yCAAyC;AAClE,wBAAA,sBAAsB,EAAE,KAAK;AAC7B,wBAAA,kBAAkB,EAAE,OAAO;AAC3B,wBAAA,iBAAiB,EAAE;AACpB,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,+BAAA,EAAA;uGAIR,GAAG,EAAA,CAAA;sBAAX;gBAGQ,KAAK,EAAA,CAAA;sBAAb;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,IAAI,EAAA,CAAA;sBAAZ;;;MEzCU,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;;QAKE,IAAO,CAAA,OAAA,GAAG,KAAK;;QAEf,IAAG,CAAA,GAAA,GAAG,GAAG;AACV;8GALY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCkBY,oBAAoB,CAAA;AAa/B;;AAEG;IACH,IACI,KAAK,CAAC,KAA0B,EAAA;QAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;;aAChB;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;;AAQxB,IAAA,WAAA,CAAY,MAAyB,EAAA;;QA9B5B,IAAG,CAAA,GAAA,GAAG,GAAG;;QAGT,IAAO,CAAA,OAAA,GAAG,KAAK;;QAGf,IAAO,CAAA,OAAA,GAAG,KAAK;QAoBxB,IAAS,CAAA,SAAA,GAAG,KAAK;QACjB,IAAM,CAAA,MAAA,GAAI,CAAC;AAIT,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;;8GAjClB,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6OCtBjC,ygBAYA,EAAA,MAAA,EAAA,CAAA,kCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDUa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAlBhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAEN,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,YAAY,EAAE;AACf,qBAAA,EAAA,UAAA,EASW,KAAK,EAAA,QAAA,EAAA,ygBAAA,EAAA,MAAA,EAAA,CAAA,kCAAA,CAAA,EAAA;mFAIR,GAAG,EAAA,CAAA;sBAAX;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,IAAI,EAAA,CAAA;sBAAZ;gBAMG,KAAK,EAAA,CAAA;sBADR;;;ME3BU,iBAAiB,CAAA;AAC5B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE;;8GAF5C,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHb,YAAY,EAAE,oBAAoB,aADvC,YAAY,CAAA,EAAA,OAAA,EAAA,CAEZ,YAAY,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJlB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;AAClD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,oBAAoB;AAC7C,iBAAA;;;ACVD;;AAEG;;;;"}