{"version":3,"file":"angular-gradient-progressbar.mjs","sources":["../../../projects/angular-gradient-progressbar/src/lib/angular-gradient-progressbar.component.ts","../../../projects/angular-gradient-progressbar/src/lib/angular-gradient-progressbar-component.html","../../../projects/angular-gradient-progressbar/src/lib/angular-gradient-progressbar.module.ts","../../../projects/angular-gradient-progressbar/src/public-api.ts","../../../projects/angular-gradient-progressbar/src/angular-gradient-progressbar.ts"],"sourcesContent":["import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  ViewChild,\r\n  ElementRef,\r\n  AfterViewInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n  templateUrl: './angular-gradient-progressbar-component.html',\r\n  selector: 'angular-gradient-progressbar',\r\n  styleUrls: ['./angular-gradient-progressbar.scss'],\r\n})\r\nexport class AngularGradientProgressbarComponent\r\n  implements OnInit, AfterViewInit\r\n{\r\n  //type of progress bar\r\n  @Input() type = 1; //default is 1\r\n  //end\r\n  //tool tip textcolor\r\n  @Input() lowTextColor = '';\r\n  @Input() mediumTextColor = '';\r\n  @Input() highTextColor = '';\r\n  //end\r\n  //adjusting width of the progress bar\r\n  @Input() progressBarWidth = 7; //default is 7\r\n  //end\r\n  // number of bars\r\n  @Input() barCount = 7; // default is 7 and max is 10\r\n  //end\r\n  // value of the progress bar\r\n  @Input() value = 75; // default is 75\r\n  //end\r\n  // Quartle value of the progress bar\r\n  @Input() quartileValueLow = 3; //default to 3\r\n  @Input() quartileValueHigh = 6; // default to 6\r\n  quartileValue = 0;\r\n  quartilePercentage: any;\r\n  //end\r\n\r\n  //show tooltip or not\r\n  @Input() showToolTip = true; // default is true\r\n  //end\r\n\r\n  //simple progress bar value\r\n  @Input() secondValue = 75; // default is 75\r\n  value1 = 0;\r\n  //end\r\n\r\n  blockClass: any;\r\n  elementArr = [];\r\n  potentialLabel: any;\r\n  toolTipClass: any;\r\n\r\n  @ViewChild('myDiv') divView: ElementRef;\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {}\r\n\r\n  ngAfterViewInit(): void {\r\n    setTimeout(() => {\r\n      if (this.type === 1) {\r\n        this.rangeArray();\r\n        this.toolTip();\r\n      } else if (this.type === 2) {\r\n        this.value1 = 100 - this.secondValue;\r\n      }\r\n    });\r\n  }\r\n\r\n  toolTip() {\r\n    this.quartileValue = Math.round(this.value / this.quartilePercentage);\r\n    this.potentialLabel =\r\n      this.quartileValue < this.quartileValueLow\r\n        ? 'low'\r\n        : this.quartileValue <= this.quartileValueHigh\r\n        ? 'medium'\r\n        : 'high';\r\n    this.toolTipClass = 'indicator ' + this.potentialLabel;\r\n  }\r\n\r\n  rangeArray() {\r\n    if (this.barCount <= 10) {\r\n      this.quartilePercentage = 100 / this.barCount;\r\n      this.elementArr = [];\r\n      let percent: any;\r\n      let quartileValue: any;\r\n      for (let i = 1; i <= this.barCount; i++) {\r\n        const currentPoint = Math.round(this.quartilePercentage * i);\r\n        if (this.value <= currentPoint) {\r\n          //Check if percent and quartile value is present of not. This runs only one time\r\n          if (!percent && !quartileValue) {\r\n            const previousPoint = Math.round(this.quartilePercentage * (i - 1));\r\n            const difference = currentPoint - previousPoint;\r\n            quartileValue = i;\r\n            percent =\r\n              Math.round(((this.value - previousPoint) / difference) * 100) +\r\n              '%';\r\n          }\r\n          if (percent && quartileValue) {\r\n            if (i === quartileValue) {\r\n              // set specified block value so that it can be used to make gradient\r\n              this.divView.nativeElement.style.setProperty(\r\n                '--block-' + i,\r\n                percent\r\n              );\r\n              // set left value to position the indicator and tooltip\r\n              this.divView.nativeElement.style.setProperty(\r\n                '--left-value',\r\n                percent\r\n              );\r\n            }\r\n            if (this.showToolTip) {\r\n              this.blockClass =\r\n                'item ' + (i === quartileValue ? 'current filled' : '');\r\n              this.elementArr.push(this.blockClass);\r\n            } else {\r\n              this.blockClass =\r\n                'item ' + (i === quartileValue ? 'tool filled' : '');\r\n              this.elementArr.push(this.blockClass);\r\n            }\r\n          }\r\n        } else {\r\n          this.blockClass = 'item filled';\r\n          this.elementArr.push(this.blockClass);\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n","<ng-container *ngIf=\"type === 1\">\r\n  <div>\r\n    <div\r\n      #myDiv\r\n      class=\"potential__range\"\r\n      style=\"--lowText:{{ lowTextColor }} ; --mediumText:{{mediumTextColor}}; --highText:{{highTextColor}}; --progressBarWidth:{{progressBarWidth}};\"\r\n    >\r\n      <div class=\"range\">\r\n        <div *ngFor=\"let item of elementArr; let i = index\" [class]=\"item\">\r\n          <div\r\n            *ngIf=\"item === 'item current filled' && showToolTip\"\r\n            [class]=\"toolTipClass\"\r\n          >\r\n            <span *ngIf=\"showToolTip\">{{ potentialLabel }}</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"type === 2 && secondValue <=100 \">\r\n  <div class=\"display_\">\r\n    <div class=\"progress\"></div>\r\n    <div class=\"progress_1\" style=\"--p:{{ value1 }}%\"></div>\r\n  </div>\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { AngularGradientProgressbarComponent } from './angular-gradient-progressbar.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n  declarations: [AngularGradientProgressbarComponent],\r\n  imports: [CommonModule],\r\n  exports: [AngularGradientProgressbarComponent],\r\n})\r\nexport class AngularGradientProgressbarModule {}\r\n","/*\r\n * Public API Surface of angular-gradient-progressbar\r\n */\r\n\r\n\r\nexport * from './lib/angular-gradient-progressbar.component';\r\nexport * from './lib/angular-gradient-progressbar.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}