{"version":3,"file":"ng2-nouislider.mjs","sources":["../../../projects/ng2-nouislider/src/lib/ng2-nouislider.component.ts","../../../projects/ng2-nouislider/src/lib/ng2-nouislider.module.ts","../../../projects/ng2-nouislider/src/public-api.ts","../../../projects/ng2-nouislider/src/ng2-nouislider.ts"],"sourcesContent":["import * as noUiSlider from 'nouislider';\nimport {\n  Component,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Input,\n  OnChanges,\n  Output,\n  Renderer2,\n  NgZone,\n  OnDestroy,\n  SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface NouiFormatter {\n  to(value: number): string;\n  from(value: string): number;\n}\n\nexport class DefaultFormatter implements NouiFormatter {\n  to(value: number): string {\n    // formatting with http://stackoverflow.com/a/26463364/478584\n    return String(parseFloat(parseFloat(String(value)).toFixed(2)));\n  }\n\n  from(value: string): number {\n    return parseFloat(value);\n  }\n}\n\n@Component({\n  selector: 'nouislider',\n  host: {\n    '[class.ng2-nouislider]': 'true',\n  },\n  template: '<div [attr.disabled]=\"disabled ? true : undefined\"></div>',\n  styles: [\n    `\n      :host {\n        display: block;\n        margin-top: 1rem;\n        margin-bottom: 1rem;\n      }\n    `,\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NouisliderComponent),\n      multi: true,\n    },\n  ],\n  standalone: true,\n})\nexport class NouisliderComponent\n  implements ControlValueAccessor, OnChanges, OnDestroy\n{\n  public slider: any;\n  public handles: any[] = [];\n  @Input() public disabled!: boolean;\n  @Input() public behaviour!: string;\n  @Input() public connect!: boolean[] | boolean;\n  @Input() public limit!: number;\n  @Input() public min!: number;\n  @Input() public max!: number;\n  @Input() public snap!: boolean;\n  @Input() public animate!: boolean | boolean[];\n  @Input() public range!: any;\n  @Input() public step!: number;\n  @Input() public format!: NouiFormatter;\n  @Input() public pageSteps!: number;\n  @Input() public config: any = {};\n  @Input() public keyboard!: boolean;\n  @Input() public onKeydown: any;\n  @Input() public tooltips!: Array<any>;\n  @Output() public change: EventEmitter<any> = new EventEmitter(true);\n  @Output() public update: EventEmitter<any> = new EventEmitter(true);\n  @Output() public slide: EventEmitter<any> = new EventEmitter(true);\n  @Output() public set: EventEmitter<any> = new EventEmitter(true);\n  @Output() public start: EventEmitter<any> = new EventEmitter(true);\n  @Output() public end: EventEmitter<any> = new EventEmitter(true);\n  private value: any;\n  private onChange: any = Function.prototype;\n  private cleanups: VoidFunction[] = [];\n\n  constructor(\n    private ngZone: NgZone,\n    private el: ElementRef,\n    private renderer: Renderer2\n  ) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (\n      this.slider &&\n      (changes.min || changes.max || changes.step || changes.range)\n    ) {\n      this.ngZone.runOutsideAngular(() => {\n        setTimeout(() => {\n          this.slider.updateOptions({\n            range: Object.assign(\n              {},\n              {\n                min: this.min,\n                max: this.max,\n              },\n              this.range || {}\n            ),\n            step: this.step,\n          });\n        });\n      });\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.slider.destroy();\n\n    while (this.cleanups.length) {\n      this.cleanups.pop()?.();\n    }\n  }\n\n  toValues(values: string[]): any | any[] {\n    let v = values.map(this.config.format.from);\n    return v.length == 1 ? v[0] : v;\n  }\n\n  writeValue(value: any): void {\n    if (this.slider) {\n      this.ngZone.runOutsideAngular(() => {\n        setTimeout(() => {\n          this.slider.set(value);\n        });\n      });\n    } else if (value !== null) {\n      this.value = value;\n      this.createSlider(value);\n    }\n  }\n\n  registerOnChange(fn: (value: any) => void) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => {}): void {}\n\n  setDisabledState(isDisabled: boolean): void {\n    isDisabled\n      ? this.renderer.setAttribute(\n          this.el.nativeElement.childNodes[0],\n          'disabled',\n          'true'\n        )\n      : this.renderer.removeAttribute(\n          this.el.nativeElement.childNodes[0],\n          'disabled'\n        );\n  }\n\n  private eventHandler = (\n    emitter: EventEmitter<any>,\n    values: string[],\n    handle: number,\n    unencoded: number[]\n  ) => {\n    let v = this.toValues(values);\n    let emitEvents = false;\n    if (this.value === undefined) {\n      this.value = v;\n      return;\n    }\n    if (Array.isArray(v) && this.value[handle] != v[handle]) {\n      emitEvents = true;\n    }\n    if (!Array.isArray(v) && this.value != v) {\n      emitEvents = true;\n    }\n    if (emitEvents) {\n      this.ngZone.run(() => {\n        if (emitter.observers.length > 0) {\n          emitter.emit(v);\n        }\n        this.onChange(v);\n      });\n    }\n    if (Array.isArray(v)) {\n      this.value[handle] = v[handle];\n    } else {\n      this.value = v;\n    }\n  };\n\n  private defaultKeyHandler = (e: KeyboardEvent) => {\n    let stepSize: any[] = this.slider.steps();\n    let index = parseInt(\n      (e.target as HTMLElement).getAttribute('data-handle') as string\n    );\n    let sign = 1;\n    let multiplier: number = 1;\n    let step = 0;\n    let delta = 0;\n\n    switch (e.which) {\n      case 34: // PageDown\n        multiplier = this.config.pageSteps;\n        break;\n      case 40: // ArrowDown\n      case 37: // ArrowLeft\n        sign = -1;\n        step = stepSize[index][0];\n        e.preventDefault();\n        break;\n\n      case 33: // PageUp\n        multiplier = this.config.pageSteps;\n        break;\n      case 38: // ArrowUp\n      case 39: // ArrowRight\n        step = stepSize[index][1];\n        e.preventDefault();\n        break;\n\n      default:\n        break;\n    }\n\n    delta = sign * multiplier * step;\n    let newValue: number | number[];\n\n    if (Array.isArray(this.value)) {\n      newValue = [...this.value];\n      newValue[index] = newValue[index] + delta;\n    } else {\n      newValue = this.value + delta;\n    }\n\n    this.slider.set(newValue);\n  };\n\n  private createSlider(initialValue: any): void {\n    let inputsConfig = JSON.parse(\n      JSON.stringify({\n        behaviour: this.behaviour,\n        connect: this.connect,\n        limit: this.limit,\n        start: initialValue,\n        step: this.step,\n        pageSteps: this.pageSteps,\n        keyboard: this.keyboard,\n        onKeydown: this.onKeydown,\n        range: this.range ||\n          this.config.range || { min: this.min, max: this.max },\n        tooltips: this.tooltips,\n        snap: this.snap,\n        animate: this.animate,\n      })\n    );\n    inputsConfig.tooltips = this.tooltips || this.config.tooltips;\n    inputsConfig.format =\n      this.format || this.config.format || new DefaultFormatter();\n\n    this.ngZone.runOutsideAngular(() => {\n      this.slider = noUiSlider.create(\n        this.el.nativeElement.querySelector('div'),\n        Object.assign(this.config, inputsConfig)\n      );\n    });\n\n    this.handles = [].slice.call(\n      this.el.nativeElement.querySelectorAll('.noUi-handle')\n    );\n\n    if (this.config.keyboard) {\n      if (this.config.pageSteps === undefined) {\n        this.config.pageSteps = 10;\n      }\n\n      for (const handle of this.handles) {\n        handle.setAttribute('tabindex', 0);\n\n        const onKeydown = this.config.onKeydown || this.defaultKeyHandler;\n\n        this.ngZone.runOutsideAngular(() => {\n          this.cleanups.push(\n            this.renderer.listen(handle, 'keydown', onKeydown),\n            this.renderer.listen(handle, 'click', () => {\n              handle.focus();\n            })\n          );\n        });\n      }\n    }\n\n    this.slider.on(\n      'set',\n      (values: string[], handle: number, unencoded: number[]) => {\n        this.eventHandler(this.set, values, handle, unencoded);\n      }\n    );\n\n    this.slider.on(\n      'update',\n      (values: string[], handle: number, unencoded: number[]) => {\n        if (this.update.observers.length > 0) {\n          this.ngZone.run(() => {\n            this.update.emit(this.toValues(values));\n          });\n        }\n      }\n    );\n\n    this.slider.on(\n      'change',\n      (values: string[], handle: number, unencoded: number[]) => {\n        if (this.change.observers.length > 0) {\n          this.ngZone.run(() => {\n            this.change.emit(this.toValues(values));\n          });\n        }\n      }\n    );\n\n    this.slider.on(\n      'slide',\n      (values: string[], handle: number, unencoded: number[]) => {\n        this.eventHandler(this.slide, values, handle, unencoded);\n      }\n    );\n\n    this.slider.on(\n      'start',\n      (values: string[], handle: number, unencoded: number[]) => {\n        if (this.start.observers.length > 0) {\n          this.ngZone.run(() => {\n            this.start.emit(this.toValues(values));\n          });\n        }\n      }\n    );\n\n    this.slider.on(\n      'end',\n      (values: string[], handle: number, unencoded: number[]) => {\n        if (this.end.observers.length > 0) {\n          this.ngZone.run(() => {\n            this.end.emit(this.toValues(values));\n          });\n        }\n      }\n    );\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { NouisliderComponent } from './ng2-nouislider.component';\n\n@NgModule({\n  exports: [NouisliderComponent],\n  imports: [NouisliderComponent],\n})\nexport class NouisliderModule {}\n","/*\n * Public API Surface of ng2-nouislider\n */\n\nexport * from './lib/ng2-nouislider.component';\nexport * from './lib/ng2-nouislider.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}