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