UNPKG

@obliczeniowo/elementary

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