{"version":3,"file":"sebgroup-green-angular-src-lib-progress-circle.mjs","sources":["../../../../libs/angular/src/lib/progress-circle/progress-circle.component.ts","../../../../libs/angular/src/lib/progress-circle/progress-circle.component.html","../../../../libs/angular/src/lib/progress-circle/progress-circle.module.ts","../../../../libs/angular/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core'\n\nimport { randomId } from '@sebgroup/green-angular/src/lib/shared'\n\ntype ProgressCircleThemes =\n  | 'success'\n  | 'warning'\n  | 'info'\n  | 'danger'\n  | 'light'\n  | 'dark'\n  | 'disabled'\n\nconst calculateDegrees = (percent: number): number => {\n  if (percent > 100) {\n    return 180\n  }\n  if (percent < 0) {\n    return 0\n  }\n  return percent * 1.8\n}\n\n@Component({\n  selector: 'ngg-progress-circle',\n  templateUrl: './progress-circle.component.html',\n  standalone: false,\n})\nexport class NggProgressCircleComponent {\n  @HostBinding('style.--start-value') private _startValue = '0deg'\n  @HostBinding('style.--end-value') private _endValue = '0deg'\n\n  /** id of the progress circle */\n  @Input() id?: string = `${randomId()}-progress-circle`\n  /** theme of the progress circle */\n  @Input() theme: ProgressCircleThemes = 'warning'\n  /** progress circle value in percentage */\n  @Input() set value(val: number) {\n    const degrees = `${calculateDegrees(val)}deg`\n    this._endValue = degrees\n    if (this.theme === 'disabled') {\n      this._startValue = degrees\n    }\n  }\n}\n","<div\n  class=\"gds-progress-circle\"\n  role=\"progressbar\"\n  [attr.aria-valuenow]=\"value\"\n  [attr.aria-valuemin]=\"0\"\n  [attr.aria-valuemax]=\"100\"\n  [attr.aria-label]=\"id\"\n>\n  <div class=\"ring full-ring\">\n    <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n  </div>\n  <div class=\"ring\">\n    <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n  </div>\n  <div class=\"inner-circle\">\n    <ng-content></ng-content>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { NggProgressCircleComponent } from './progress-circle.component'\n\n@NgModule({\n  declarations: [NggProgressCircleComponent],\n  imports: [CommonModule],\n  exports: [NggProgressCircleComponent],\n})\nexport class NggProgressCircleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}