{"version":3,"file":"obliczeniowo-elementary-channel-volume.mjs","sources":["../../../../projects/components/channel-volume/components/channel-volume/channel-volume.component.ts","../../../../projects/components/channel-volume/components/channel-volume/channel-volume.component.html","../../../../projects/components/channel-volume/channel-volume.module.ts","../../../../projects/components/channel-volume/obliczeniowo-elementary-channel-volume.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, model } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport interface Volumes {\r\n  left: number;\r\n  right: number;\r\n}\r\n\r\n@Component({\r\n    selector: 'obl-channel-volume',\r\n    templateUrl: './channel-volume.component.html',\r\n    styleUrls: ['./channel-volume.component.scss'],\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    providers: [\r\n        {\r\n            provide: NG_VALUE_ACCESSOR,\r\n            multi: true,\r\n            useExisting: ChannelVolumeComponent\r\n        },\r\n    ],\r\n    standalone: false\r\n})\r\nexport class ChannelVolumeComponent implements ControlValueAccessor {\r\n  /** Volumes value from range 0-1 */\r\n  volumes = model<Volumes>({\r\n    left: 0, right: 0\r\n  });\r\n\r\n  protected random?: number;\r\n\r\n  onChange = (value: { left: number; right: number }) => { };\r\n\r\n  onTouched = () => { };\r\n\r\n  registerOnValidatorChange(fn: () => void): void { this.onChange = fn; };\r\n\r\n  writeValue(set?: { left: number; right: number }): void {\r\n    if (set) {\r\n      this.volumes.set(set);\r\n    }\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    while (!this.random || document.querySelector(this.leftId)) {\r\n      this.random = Math.ceil(Math.random() * 10000000);\r\n    }\r\n  }\r\n\r\n  get leftId(): string {\r\n    return 'channelVolumeLeft' + this.random;\r\n  }\r\n\r\n  get rightId(): string {\r\n    return 'channelVolumeRight' + this.random;\r\n  }\r\n}\r\n","<svg width=\"100%\" viewBox=\"0 0 54.239583 25.135417\">\r\n  <defs>\r\n    <clipPath [attr.id]=\"rightId\">\r\n      <rect\r\n        [attr.width]=\"volumes().right * 30\"\r\n        height=\"10.583344\"\r\n        [attr.x]=\"31.749997 - volumes().right * 30\"\r\n        y=\"273.1875\"\r\n      />\r\n    </clipPath>\r\n    <clipPath [attr.id]=\"leftId\">\r\n      <rect\r\n        [attr.width]=\"volumes().left * 30\"\r\n        height=\"10.583333\"\r\n        [attr.x]=\"22.489584\"\r\n        y=\"285.09375\"\r\n      />\r\n    </clipPath>\r\n  </defs>\r\n  <g transform=\"translate(0,-271.86457)\">\r\n    <path\r\n      class=\"volume-left-background\"\r\n      d=\"m 1.3229167,273.18749 v 10.58333 h 3.9687499 v -10.58333 z m 5.2916666,1.32291 v 9.26042 h 3.9687507 v -9.26042 z m 5.2916667,1.32292 v 7.9375 H 15.875 v -7.9375 z m 5.291667,1.32292 v 6.61458 h 3.96875 v -6.61458 z m 5.291666,2.64583 v 3.96875 h 3.96875 v -3.96875 z m 5.291667,2.64583 v 1.32292 H 31.75 v -1.32292 z\"\r\n    />\r\n    <path\r\n      class=\"volume-right-background\"\r\n      d=\"m 52.916667,295.67707 v -10.58333 h -3.96875 v 10.58333 z m -5.291666,-1.32292 v -9.26041 h -3.96875 v 9.26041 z m -5.291667,-1.32291 v -7.9375 h -3.96875 v 7.9375 z m -5.291666,-1.32292 v -6.61458 h -3.96875 v 6.61458 z m -5.291667,-2.64583 v -3.96875 h -3.96875 v 3.96875 z m -5.291667,-2.64584 v -1.32291 h -3.96875 v 1.32291 z\"\r\n    />\r\n    <g class=\"lines\">\r\n      <path\r\n        d=\"m 20.6375,285.09374 h 0.529166 l 1e-6,10.58333 h -0.529166\"\r\n        style=\"\r\n          fill: none;\r\n          stroke-width: 0.25;\r\n          stroke-linecap: round;\r\n          stroke-linejoin: round;\r\n        \"\r\n      />\r\n      <path\r\n        d=\"M 21.166667,290.3854 H 20.637501\"\r\n        style=\"\r\n          stroke-width: 0.25;\r\n          stroke-linecap: round;\r\n          stroke-linejoin: round;\r\n        \"\r\n      />\r\n    </g>\r\n    <g transform=\"matrix(-1,0,0,1,54.239583,-10.58333)\" class=\"lines\">\r\n      <path\r\n        style=\"\r\n          fill: none;\r\n          stroke-width: 0.25;\r\n          stroke-linecap: round;\r\n          stroke-linejoin: round;\r\n        \"\r\n        d=\"m 20.6375,283.77082 h 0.529166 l 0,10.58333 H 20.6375\"\r\n      />\r\n      <path\r\n        style=\"\r\n          stroke-width: 0.25;\r\n          stroke-linecap: round;\r\n          stroke-linejoin: round;\r\n        \"\r\n        d=\"M 21.166666,289.06248 H 20.6375\"\r\n      />\r\n    </g>\r\n    <path\r\n      d=\"m 1.3229167,273.18749 v 10.58333 h 3.9687499 v -10.58333 z m 5.2916666,1.32291 v 9.26042 h 3.9687507 v -9.26042 z m 5.2916667,1.32292 v 7.9375 H 15.875 v -7.9375 z m 5.291667,1.32292 v 6.61458 h 3.96875 v -6.61458 z m 5.291666,2.64583 v 3.96875 h 3.96875 v -3.96875 z m 5.291667,2.64583 v 1.32292 H 31.75 v -1.32292 z\"\r\n      class=\"volume-left\"\r\n      [attr.clip-path]=\"'url(#' + rightId + ')'\"\r\n    />\r\n    <path\r\n      class=\"volume-right\"\r\n      d=\"m 52.916667,295.67707 v -10.58333 h -3.96875 v 10.58333 z m -5.291666,-1.32292 v -9.26041 h -3.96875 v 9.26041 z m -5.291667,-1.32291 v -7.9375 h -3.96875 v 7.9375 z m -5.291666,-1.32292 v -6.61458 h -3.96875 v 6.61458 z m -5.291667,-2.64583 v -3.96875 h -3.96875 v 3.96875 z m -5.291667,-2.64584 v -1.32291 h -3.96875 v 1.32291 z\"\r\n      [attr.clip-path]=\"'url(#' + leftId + ')'\"\r\n    />\r\n  </g>\r\n</svg>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChannelVolumeComponent } from './components/channel-volume/channel-volume.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ChannelVolumeComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    ChannelVolumeComponent\r\n  ]\r\n})\r\nexport class ChannelVolumeModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}