{"version":3,"file":"obliczeniowo-elementary-horizontal-progress-bar.mjs","sources":["../../../../projects/components/horizontal-progress-bar/horizontal-progress-bar.component.ts","../../../../projects/components/horizontal-progress-bar/horizontal-progress-bar.component.html","../../../../projects/components/horizontal-progress-bar/horizontal-progress-bar.module.ts","../../../../projects/components/horizontal-progress-bar/obliczeniowo-elementary-horizontal-progress-bar.ts"],"sourcesContent":["import {\n  Component,\n  model,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n    selector: 'obl-horizontal-progress-bar',\n    templateUrl: './horizontal-progress-bar.component.html',\n    styleUrls: ['./horizontal-progress-bar.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            multi: true,\n            useExisting: HorizontalProgressBarComponent\n        },\n    ],\n    standalone: false\n})\nexport class HorizontalProgressBarComponent {\n  private static index = 0;\n\n  protected idIndex!: number;\n\n  value = model<number>(30);\n\n  get backgroundPatternId(): string {\n    return `background-pattern-${this.idIndex}`;\n  }\n\n  get valuePatternId(): string {\n    return `value-pattern-${this.idIndex}`;\n  }\n\n  onChange = (value: number) => { };\n\n  onTouched = () => { };\n\n  registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\n\n  writeValue(set?: number): void {\n    this.value.set(set || 0);\n  }\n\n  registerOnChange(onChange: any): void {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: any): void {\n    this.onTouched = onTouched;\n  }\n\n  constructor() {\n    this.idIndex = HorizontalProgressBarComponent.index;\n\n    HorizontalProgressBarComponent.index += 1;\n  }\n}\n","<svg height=\"18px\" width=\"100%\" #svg>\n  <defs>\n    <pattern\n      [id]=\"valuePatternId\"\n      height=\"20px\"\n      width=\"40px\"\n      patternUnits=\"userSpaceOnUse\"\n      [attr.patternTransform]=\"'matrix(1,0,0,1,' + (svg.clientWidth / 2 - 20) + ',0)'\"\n    >\n      <path\n        style=\"stroke-linecap: round; stroke-linejoin: round\"\n        d=\"M 0,20 4,0 H 40 L 36,20 Z\"\n        id=\"value-pattern\"\n        inkscape:connector-curvature=\"0\"\n      />\n    </pattern>\n    <pattern\n      patternUnits=\"userSpaceOnUse\"\n      width=\"40px\"\n      height=\"20px\"\n      [id]=\"backgroundPatternId\"\n      [attr.patternTransform]=\"'matrix(1,0,0,1,' + (svg.clientWidth / 2 - 20) + ',0)'\"\n    >\n      <path\n        inkscape:connector-curvature=\"0\"\n        id=\"background-pattern\"\n        d=\"M 0,20 4,0 H 40 L 36,20 Z\"\n        style=\"stroke-linecap: round; stroke-linejoin: round\"\n      />\n    </pattern>\n  </defs>\n\n  <rect\n    [style.fill]=\"'url(#' + backgroundPatternId + ')'\"\n    width=\"calc(100% - 8px)\"\n    height=\"10px\"\n    x=\"4px\"\n    y=\"4px\"\n  />\n  <rect\n    style=\"\n      fill: none;\n      stroke-width: 4;\n      stroke-linecap: round;\n      stroke-linejoin: round;\n    \"\n    id=\"border-rect\"\n    width=\"100%\"\n    height=\"18px\"\n    ry=\"0.23623513\"\n  />\n  <rect\n    [style.fill]=\"'url(#' + backgroundPatternId + ')'\"\n    height=\"10px\"\n    y=\"4px\"\n  />\n  <rect\n    height=\"10px\"\n    id=\"progresValue\"\n    y=\"4px\"\n    x=\"4px\"\n    [style.width]=\"'calc(' + value() + '% - 8px)'\"\n    [style.fill]=\"'url(#' + valuePatternId + ')'\"\n  />\n  <text\n    style=\"\n      font-weight: bold;\n      font-size: 12px;\n      font-family: sans-serif;\n      text-align: center;\n      text-anchor: middle;\n      fill: #808080;\n      stroke: none;\n    \"\n  >\n    <tspan\n      sodipodi:role=\"line\"\n      id=\"value\"\n      x=\"50%\"\n      y=\"14px\"\n      style=\"text-align: center; text-anchor: middle; stroke: none\"\n    >\n      {{ value() }}\n    </tspan>\n  </text>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HorizontalProgressBarComponent } from './horizontal-progress-bar.component';\n\n@NgModule({\n  declarations: [HorizontalProgressBarComponent],\n  imports: [\n    CommonModule\n  ],\n  exports: [\n    HorizontalProgressBarComponent\n  ]\n})\nexport class HorizontalProgressBarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}