{"version":3,"file":"ngx-i24-circular-progress.mjs","sources":["../../../projects/ngx-i24-circular-progress/src/lib/ngx-i24-circular-progress.service.ts","../../../projects/ngx-i24-circular-progress/src/lib/ngx-i24-circular-progress.component.ts","../../../projects/ngx-i24-circular-progress/src/lib/ngx-i24-circular-progress.component.html","../../../projects/ngx-i24-circular-progress/src/lib/ngx-i24-circular-progress.module.ts","../../../projects/ngx-i24-circular-progress/src/public-api.ts","../../../projects/ngx-i24-circular-progress/src/ngx-i24-circular-progress.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgxI24CircularProgressService {\n\n  constructor() { }\n}\n","import { Component, Input, OnChanges } from '@angular/core';\n\n@Component({\n    selector: 'ngx-i24-circular-progress',\n    templateUrl: `./ngx-i24-circular-progress.component.html`,\n    styleUrls: ['./ngx-i24-circular-progress.component.scss'],\n    standalone: false\n})\nexport class NgxI24CircularProgressComponent implements OnChanges {\n  @Input() option: I24CircularProgressOptions = {\n    primaryColor: '#0495fc',\n    secondaryColor: '#191919',\n\n    strokeWidth: 2,\n    dotWidth: 10,\n\n    numberColor: '#000',\n    percentColor: '#000',\n    textColor: '#000000bf',\n\n    text: 'css',\n    circleRadius: 70,\n\n    numberFontSize: '2.5em',\n    percentFontSize: '0.5em',\n    textFontSize: '0.75em',\n\n  };\n  @Input() number: number = 0;\n\n  size = '150px';\n  steps = 440;\n\n  strokeWidth = '2px';\n  dotWidth = '10px';\n  dotTop = '-5px';\n  strokeDashoffset = 0;\n  ngOnChanges() {\n    this.init();\n  }\n  init() {\n    this.option.primaryColor = this.option.primaryColor ? this.option.primaryColor : '#0495fc';\n    this.option.secondaryColor = this.option.secondaryColor ? this.option.secondaryColor : '#191919';\n\n    this.option.strokeWidth = this.option.strokeWidth ? this.option.strokeWidth : 2;\n    this.option.dotWidth = this.option.dotWidth ? this.option.dotWidth : 10;\n\n\n    this.option.numberColor = this.option.numberColor ? this.option.numberColor : '#000';\n    this.option.percentColor = this.option.percentColor ? this.option.percentColor : '#000';\n    this.option.textColor = this.option.textColor ? this.option.textColor : '#000000bf';\n\n    this.option.circleRadius = this.option.circleRadius ? this.option.circleRadius : 70;\n\n    this.option.numberFontSize = this.option.numberFontSize ? this.option.numberFontSize : '2.5em';\n    this.option.percentFontSize = this.option.percentFontSize ? this.option.percentFontSize : '0.5em';\n    this.option.textFontSize = this.option.textFontSize ? this.option.textFontSize : '0.75em';\n    this.option.spaceBetweenNumberPercent = this.option.spaceBetweenNumberPercent ? this.option.spaceBetweenNumberPercent : '3px';\n\n    this.size = ((this.option.circleRadius * 2) + 10) + 'px';\n    this.steps = Math.round(6.2857 * this.option.circleRadius);\n\n    this.strokeWidth = this.option.strokeWidth + 'px';\n    this.dotWidth = this.option.dotWidth + 'px';\n    this.dotTop = '-' + Math.round(this.option.dotWidth / 2) + 'px';\n\n    this.strokeDashoffset = this.steps - ((this.steps * this.number) / 100);\n  }\n  // get size() {\n  //   return ((this.option.circleRadius * 2) + 10) + 'px';\n  // }\n  // get steps() {\n  //   return Math.round(6.2857 * this.option.circleRadius);\n  // }\n}\nexport interface I24CircularProgressOptions {\n  primaryColor?: string;\n  secondaryColor?: string;\n\n  strokeWidth?: number;\n  dotWidth?: number;\n\n  numberColor?: string;\n  percentColor?: string;\n  textColor?: string;\n\n  spaceBetweenNumberPercent?: string;\n\n  text?: string;\n  circleRadius?: number;\n\n  numberFontSize?: string;\n  percentFontSize?: string;\n  textFontSize?: string;\n}","<div class=\"percent\"\n  [style.--primaryColor]=\"option.primaryColor\"\n  [style.--secondaryColor]=\"option.secondaryColor\"\n  [style.--strokeWidth]=\"strokeWidth\"\n  [style.--dotWidth]=\"dotWidth\"\n  [style.--dotTop]=\"dotTop\"\n  [style.--numberColor]=\"option.numberColor\"\n  [style.--percentColor]=\"option.percentColor\"\n  [style.--textColor]=\"option.textColor\"\n  [style.--num]=\"number\"\n  [style.--steps]=\"steps\"\n  [style.--size]=\"size\"\n  [style.--numberFontSize]=\"option.numberFontSize\"\n  [style.--percentFontSize]=\"option.percentFontSize\"\n  [style.--textFontSize]=\"option.textFontSize\"\n  [style.--strokeDashoffset]=\"strokeDashoffset\">\n  <div class=\"dot\"></div>\n  <svg>\n    <circle [attr.cx]=\"option.circleRadius\"\n      [attr.cy]=\"option.circleRadius\"\n    [attr.r]=\"option.circleRadius\"></circle>\n    <circle [attr.cx]=\"option.circleRadius\"\n      [attr.cy]=\"option.circleRadius\"\n    [attr.r]=\"option.circleRadius\"></circle>\n  </svg>\n  <div class=\"number\">\n    <h2>{{number}}\n      <span>%</span>\n    </h2>\n    @if (option.text) {\n      <p>{{option.text}}</p>\n    }\n  </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxI24CircularProgressComponent } from './ngx-i24-circular-progress.component';\n\n\n\n@NgModule({\n  declarations: [\n    NgxI24CircularProgressComponent\n  ],\n  imports: [\n    CommonModule\n  ],\n  exports: [\n    NgxI24CircularProgressComponent\n  ]\n})\nexport class NgxI24CircularProgressModule { }\n","/*\n * Public API Surface of ngx-i24-circular-progress\n */\n\nexport * from './lib/ngx-i24-circular-progress.service';\nexport * from './lib/ngx-i24-circular-progress.component';\nexport * from './lib/ngx-i24-circular-progress.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}