{"version":3,"file":"fundamental-ngx-platform-slider.mjs","sources":["../../../../libs/platform/slider/slider.component.ts","../../../../libs/platform/slider/slider.component.html","../../../../libs/platform/slider/slider.module.ts","../../../../libs/platform/slider/fundamental-ngx-platform-slider.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';\n\nimport { SliderComponent as CoreSliderComponent, SliderTickMark } from '@fundamental-ngx/core/slider';\nimport { BaseInput } from '@fundamental-ngx/platform/shared';\n\nexport type SliderCustomValue = Omit<SliderTickMark, 'position'>;\n\nexport type SliderControlValue = number | number[] | SliderTickMark | SliderTickMark[];\n\n/** Switch change event instance */\nexport class SliderChangeEvent<T extends SliderControlValue = any> {\n    /** The source Slider of the event. */\n    source: SliderComponent;\n    /** The new `payload` value of the slider. */\n    payload: T;\n}\n\n@Component({\n    selector: 'fdp-slider',\n    templateUrl: './slider.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: SliderComponent, multi: true }],\n    imports: [CoreSliderComponent, FormsModule]\n})\nexport class SliderComponent extends BaseInput {\n    /** User's custom classes */\n    @Input()\n    class: string;\n\n    /** Minimum value. */\n    @Input()\n    min = 0;\n\n    /** Maximum value. */\n    @Input()\n    max = 100;\n\n    /** Step value. */\n    @Input()\n    step = 1;\n\n    /** Jump value. */\n    @Input()\n    jump = 10;\n\n    /** Put a label on every N-th tickmark. */\n    @Input()\n    tickmarksBetweenLabels = 1;\n\n    /**\n     * Slider mode.\n     * Options include: 'single' | 'range'\n     * The default is set to 'single'\n     */\n    @Input()\n    mode: 'single' | 'range' = 'single';\n\n    /** Toggles the visibility of tick marks. */\n    @Input()\n    showTicks = false;\n\n    /** Toggles the visibility of tick mark labels. Must be used in conjunction with 'showTicks' */\n    @Input()\n    showTicksLabels = false;\n\n    /** Array of custom values to use for Slider. */\n    @Input()\n    customValues: SliderCustomValue[] = [];\n\n    /** Tooltip can be two types, 'readonly' to display value and 'editable' to make the ability to set and display value. */\n    @Input()\n    tooltipMode: 'readonly' | 'editable';\n\n    /** Hides display of colored progress bar. */\n    @Input()\n    hideProgressBar = false;\n\n    /** Whether the slider should be rendered vertically. */\n    @Input()\n    vertical = false;\n    /**\n     * Event fired when the state of the slider changes.\n     * *$event* can be used to retrieve the new state of the slider.\n     */\n    @Output()\n    readonly sliderChange = new EventEmitter<SliderChangeEvent>();\n\n    /** value for slider control */\n    @Input()\n    set value(selectValue: any) {\n        this.setValue(selectValue);\n    }\n    get value(): any {\n        return this.getValue();\n    }\n\n    /** @hidden */\n    _onModelChange(modelValue: SliderControlValue): void {\n        this._emitChangeEvent(modelValue);\n        this.onTouched();\n        this.stateChanges.next('Slider: onValueChange');\n    }\n\n    /** @hidden\n     * Method to emit change event\n     */\n    private _emitChangeEvent(modelValue: SliderControlValue): void {\n        const event = new SliderChangeEvent();\n        event.source = this;\n        event.payload = modelValue;\n\n        // setting value, it will call setValue()\n        this.value = modelValue;\n        this.sliderChange.emit(event);\n    }\n}\n","<fd-slider\n    [id]=\"id\"\n    [class]=\"class\"\n    [ariaLabel]=\"ariaLabel\"\n    [ariaLabelledBy]=\"ariaLabelledBy\"\n    [min]=\"min\"\n    [max]=\"max\"\n    [step]=\"step\"\n    [jump]=\"jump\"\n    [mode]=\"mode\"\n    [disabled]=\"disabled\"\n    [showTicks]=\"showTicks\"\n    [showTicksLabels]=\"showTicksLabels\"\n    [tickmarksBetweenLabels]=\"tickmarksBetweenLabels\"\n    [customValues]=\"customValues\"\n    [tooltipMode]=\"tooltipMode\"\n    [hideProgressBar]=\"hideProgressBar\"\n    [ngModel]=\"value\"\n    [vertical]=\"vertical\"\n    (ngModelChange)=\"_onModelChange($event)\"\n></fd-slider>\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\nimport { SliderComponent } from './slider.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [ContentDensityModule, SliderComponent],\n    exports: [SliderComponent]\n})\nexport class PlatformSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CoreSliderComponent"],"mappings":"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"}