igniteui-angular 21.2.0-rc.0 → 21.2.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -8
- package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +10 -10
- package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
- package/fesm2022/igniteui-angular-button-group.mjs +7 -7
- package/fesm2022/igniteui-angular-calendar.mjs +61 -61
- package/fesm2022/igniteui-angular-card.mjs +31 -31
- package/fesm2022/igniteui-angular-carousel.mjs +32 -33
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +12 -12
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +10 -10
- package/fesm2022/igniteui-angular-combo.mjs +52 -52
- package/fesm2022/igniteui-angular-core.mjs +63 -110
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
- package/fesm2022/igniteui-angular-dialog.mjs +13 -13
- package/fesm2022/igniteui-angular-directives.mjs +191 -191
- package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
- package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
- package/fesm2022/igniteui-angular-grids-core.mjs +454 -453
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +49 -49
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +37 -37
- package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +79 -79
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +55 -55
- package/fesm2022/igniteui-angular-icon.mjs +10 -10
- package/fesm2022/igniteui-angular-input-group.mjs +25 -25
- package/fesm2022/igniteui-angular-list.mjs +40 -40
- package/fesm2022/igniteui-angular-navbar.mjs +13 -13
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
- package/fesm2022/igniteui-angular-radio.mjs +14 -14
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +25 -25
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
- package/fesm2022/igniteui-angular-slider.mjs +39 -42
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
- package/fesm2022/igniteui-angular-splitter.mjs +13 -13
- package/fesm2022/igniteui-angular-stepper.mjs +38 -38
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +44 -43
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
- package/fesm2022/igniteui-angular-toast.mjs +7 -7
- package/fesm2022/igniteui-angular-tree.mjs +28 -28
- package/lib/core/styles/components/badge/_badge-theme.scss +6 -1
- package/lib/core/styles/components/button-group/_button-group-theme.scss +78 -324
- package/lib/core/styles/components/chip/_chip-theme.scss +6 -2
- package/lib/core/styles/components/grid/_excel-filtering-theme.scss +16 -118
- package/lib/core/styles/components/grid/_grid-theme-builder.scss +391 -0
- package/lib/core/styles/components/grid/_grid-theme.scss +37 -39
- package/lib/core/styles/components/input/_input-group-theme.scss +1 -1
- package/lib/core/styles/components/progress/circular/_circular-theme.scss +1 -1
- package/lib/core/styles/components/query-builder/_query-builder-theme.scss +8 -8
- package/lib/core/styles/components/select/_select-theme.scss +1 -1
- package/migrations/common/ServerHost.js +35 -2
- package/migrations/common/UpdateChanges.js +37 -4
- package/migrations/common/tsLogger.js +34 -1
- package/migrations/common/tsUtils.js +35 -2
- package/migrations/common/util.d.ts +1 -1
- package/migrations/common/util.js +34 -1
- package/migrations/migration-collection.json +5 -0
- package/migrations/update-11_0_0/index.js +2 -3
- package/migrations/update-12_0_0/index.d.ts +1 -1
- package/migrations/update-12_0_0/index.js +2 -3
- package/migrations/update-12_1_0/index.js +2 -3
- package/migrations/update-13_0_0/index.js +2 -3
- package/migrations/update-13_1_0/index.js +2 -3
- package/migrations/update-15_1_0/index.js +2 -3
- package/migrations/update-16_1_0/index.js +2 -3
- package/migrations/update-17_0_0/index.js +36 -4
- package/migrations/update-17_1_0/index.js +2 -3
- package/migrations/update-18_0_0/index.js +2 -2
- package/migrations/update-20_0_6/index.js +3 -4
- package/migrations/update-21_0_0_import-migration/index.js +34 -1
- package/migrations/update-21_1_0_import-migration/index.js +34 -1
- package/migrations/update-21_2_0/changes/theme-changes.json +11 -0
- package/migrations/update-21_2_0/index.d.ts +3 -0
- package/migrations/update-21_2_0/index.js +18 -0
- package/package.json +2 -2
- package/schematics/ng-add/add-normalize.js +34 -1
- package/schematics/ng-add/index.spec.js +34 -1
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/skills/igniteui-angular-components/references/charts.md +4 -4
- package/skills/igniteui-angular-grids/SKILL.md +2 -0
- package/skills/igniteui-angular-grids/references/data-operations.md +3 -2
- package/skills/igniteui-angular-grids/references/sizing.md +204 -0
- package/skills/igniteui-angular-theming/SKILL.md +0 -3
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-badge.d.ts +0 -2
- package/types/igniteui-angular-carousel.d.ts +0 -2
- package/types/igniteui-angular-core.d.ts +8 -35
- package/types/igniteui-angular-grids-core.d.ts +5 -0
- package/types/igniteui-angular-radio.d.ts +1 -1
- package/types/igniteui-angular-slider.d.ts +0 -2
- package/types/igniteui-angular-stepper.d.ts +0 -1
- package/types/igniteui-angular-tabs.d.ts +2 -4
- package/migrations/common/import-helper.js +0 -14
- package/skills/igniteui-angular-theming/references/contributing.md +0 -471
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-slider.mjs","sources":["../../../projects/igniteui-angular/slider/src/slider/slider.common.ts","../../../projects/igniteui-angular/slider/src/slider/label/thumb-label.component.ts","../../../projects/igniteui-angular/slider/src/slider/label/thumb-label.component.html","../../../projects/igniteui-angular/slider/src/slider/thumb/thumb-slider.component.ts","../../../projects/igniteui-angular/slider/src/slider/thumb/thumb-slider.component.html","../../../projects/igniteui-angular/slider/src/slider/ticks/tick.pipe.ts","../../../projects/igniteui-angular/slider/src/slider/ticks/ticks.component.ts","../../../projects/igniteui-angular/slider/src/slider/ticks/ticks.component.html","../../../projects/igniteui-angular/slider/src/slider/slider.component.ts","../../../projects/igniteui-angular/slider/src/slider/slider.component.html","../../../projects/igniteui-angular/slider/src/slider/public_api.ts","../../../projects/igniteui-angular/slider/src/slider/slider.module.ts","../../../projects/igniteui-angular/slider/src/igniteui-angular-slider.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Template directive that allows you to set a custom template representing the lower label value of the {@link IgxSliderComponent}\n *\n * ```html\n * <igx-slider>\n * <ng-template igxSliderThumbFrom let-value let-labels>{{value}}</ng-template>\n * </igx-slider>\n * ```\n *\n * @context {@link IgxSliderComponent.context}\n */\n@Directive({\n selector: '[igxSliderThumbFrom]',\n standalone: true\n})\nexport class IgxThumbFromTemplateDirective {}\n\n/**\n * Template directive that allows you to set a custom template representing the upper label value of the {@link IgxSliderComponent}\n *\n * ```html\n * <igx-slider>\n * <ng-template igxSliderThumbTo let-value let-labels>{{value}}</ng-template>\n * </igx-slider>\n * ```\n *\n * @context {@link IgxSliderComponent.context}\n */\n@Directive({\n selector: '[igxSliderThumbTo]',\n standalone: true\n})\nexport class IgxThumbToTemplateDirective {}\n\n/**\n * Template directive that allows you to set a custom template, represeting primary/secondary tick labels of the {@link IgxSliderComponent}\n *\n * @context {@link IgxTicksComponent.context}\n */\n@Directive({\n selector: '[igxSliderTickLabel]',\n standalone: true\n})\nexport class IgxTickLabelTemplateDirective {}\n\nexport interface IRangeSliderValue {\n lower: number;\n upper: number;\n}\n\nexport interface ISliderValueChangeEventArgs {\n oldValue: number | IRangeSliderValue;\n value: number | IRangeSliderValue;\n}\n\nexport const IgxSliderType = {\n /**\n * Slider with single thumb.\n */\n SLIDER: 'slider',\n /**\n * Range slider with multiple thumbs, that can mark the range.\n */\n RANGE: 'range'\n} as const;\nexport type IgxSliderType = (typeof IgxSliderType)[keyof typeof IgxSliderType];\n\nexport const SliderHandle = {\n FROM: 'from',\n TO: 'to'\n} as const;\nexport type SliderHandle = (typeof SliderHandle)[keyof typeof SliderHandle];\n\n/**\n * Slider Tick labels Orientation\n */\nexport const TickLabelsOrientation = {\n Horizontal: 'horizontal',\n TopToBottom: 'toptobottom',\n BottomToTop: 'bottomtotop'\n} as const;\nexport type TickLabelsOrientation = (typeof TickLabelsOrientation)[keyof typeof TickLabelsOrientation];\n\n/**\n * Slider Ticks orientation\n */\nexport const TicksOrientation = {\n Top: 'top',\n Bottom: 'bottom',\n Mirror: 'mirror'\n} as const;\nexport type TicksOrientation = (typeof TicksOrientation)[keyof typeof TicksOrientation];\n","import { Component, Input, TemplateRef, HostBinding, ElementRef, booleanAttribute, inject } from '@angular/core';\nimport { SliderHandle } from '../slider.common';\nimport { IgxSliderThumbComponent } from '../thumb/thumb-slider.component';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @hidden\n */\n@Component({\n selector: 'igx-thumb-label',\n templateUrl: 'thumb-label.component.html',\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class IgxThumbLabelComponent {\n private _elementRef = inject(ElementRef);\n\n @Input()\n public value: any;\n\n @Input()\n public templateRef: TemplateRef<any>;\n\n @Input()\n public context: any;\n\n @Input()\n public type: SliderHandle;\n\n @Input({ transform: booleanAttribute })\n public continuous: boolean;\n\n @Input({ transform: booleanAttribute })\n public deactiveState: boolean;\n\n @Input()\n public thumb: IgxSliderThumbComponent;\n\n\n @HostBinding('class.igx-slider-thumb-label-from')\n public get thumbFromClass() {\n return this.type === SliderHandle.FROM;\n }\n\n @HostBinding('class.igx-slider-thumb-label-to')\n public get thumbToClass() {\n return this.type === SliderHandle.TO;\n }\n\n @HostBinding('class.igx-slider-thumb-label-from--active')\n public get thumbFromActiveClass() {\n return this.type === SliderHandle.FROM && this.active;\n }\n\n @HostBinding('class.igx-slider-thumb-label-to--active')\n public get thumbToActiveClass() {\n return this.type === SliderHandle.TO && this.active;\n }\n\n @HostBinding('class.igx-slider-thumb-label-from--pressed')\n public get labelFromPressedClass() {\n return this.thumb?.thumbFromPressedClass;\n }\n\n @HostBinding('class.igx-slider-thumb-label-to--pressed')\n public get labelToPressedClass() {\n return this.thumb?.thumbToPressedClass;\n }\n\n public get getLabelClass() {\n return {\n 'igx-slider-thumb-label-from__container': this.type === SliderHandle.FROM,\n 'igx-slider-thumb-label-to__container': this.type === SliderHandle.TO\n };\n }\n\n private _active: boolean;\n\n public get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n public get active() {\n return this._active;\n }\n\n public set active(val: boolean) {\n if (this.continuous || this.deactiveState) {\n this._active = false;\n } else {\n this._active = val;\n }\n }\n}\n","<div [ngClass]=\"getLabelClass\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : thumbFromDefaultTemplate; context: context\"></ng-container>\n</div>\n\n<ng-template #thumbFromDefaultTemplate>\n {{ value }}\n</ng-template>\n","import { Component, Input, HostListener, ElementRef, HostBinding, Output, EventEmitter, OnInit, OnDestroy, TemplateRef, booleanAttribute, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { SliderHandle } from '../slider.common';\nimport { Subject } from 'rxjs';\nimport { NgClass } from '@angular/common';\nimport { ɵIgxDirectionality } from 'igniteui-angular/core';\n\n/**\n * @hidden\n */\n@Component({\n selector: 'igx-thumb',\n templateUrl: 'thumb-slider.component.html',\n imports: [NgClass]\n})\nexport class IgxSliderThumbComponent implements OnInit, OnDestroy {\n private _elementRef = inject(ElementRef);\n private _dir = inject(ɵIgxDirectionality);\n\n @Input()\n public value: any;\n\n @Input({ transform: booleanAttribute })\n public continuous: boolean;\n\n @Input()\n public thumbLabelVisibilityDuration: number;\n\n @Input({ transform: booleanAttribute })\n public disabled: boolean;\n\n @Input()\n public onPan: Subject<number>;\n\n @Input()\n public stepDistance: number;\n\n @Input()\n public step: number;\n\n @Input()\n public templateRef: TemplateRef<any>;\n\n @Input()\n public context: any;\n\n @Input()\n public type: SliderHandle;\n\n @Input({ transform: booleanAttribute })\n public deactiveState: boolean;\n\n @Input()\n public min: number;\n\n @Input()\n public max: number;\n\n @Input()\n public labels: any[];\n\n @Output()\n public thumbValueChange = new EventEmitter<number>();\n\n @Output()\n public thumbChange = new EventEmitter<any>();\n\n @Output()\n public thumbBlur = new EventEmitter<void>();\n\n @Output()\n public hoverChange = new EventEmitter<boolean>();\n\n @HostBinding('attr.tabindex')\n public tabindex = 0;\n\n @HostBinding('attr.role')\n public role = 'slider';\n\n @HostBinding('attr.aria-valuenow')\n public get ariaValueNow() {\n return this.value;\n }\n\n @HostBinding('attr.aria-valuemin')\n public get ariaValueMin() {\n return this.min;\n }\n\n @HostBinding('attr.aria-valuemax')\n public get ariaValueMax() {\n return this.max;\n }\n\n @HostBinding('attr.aria-valuetext')\n public get ariaValueText() {\n if (this.labels && this.labels[this.value] !== undefined) {\n return this.labels[this.value];\n }\n return this.value;\n }\n\n @HostBinding('attr.aria-label')\n public get ariaLabelAttr() {\n return `Slider thumb ${this.type}`;\n }\n\n @HostBinding('attr.aria-orientation')\n public ariaOrientation = 'horizontal';\n\n @HostBinding(`attr.aria-disabled`)\n public get ariaDisabled() {\n return this.disabled;\n }\n\n @HostBinding('attr.z-index')\n public zIndex = 0;\n\n @HostBinding('class.igx-slider-thumb-to--focused')\n public focused = false;\n\n @HostBinding('class.igx-slider-thumb-from')\n public get thumbFromClass() {\n return this.type === SliderHandle.FROM;\n }\n\n @HostBinding('class.igx-slider-thumb-to')\n public get thumbToClass() {\n return this.type === SliderHandle.TO;\n }\n\n @HostBinding('class.igx-slider-thumb-from--active')\n public get thumbFromActiveClass() {\n return this.type === SliderHandle.FROM && this._isActive;\n }\n\n @HostBinding('class.igx-slider-thumb-to--active')\n public get thumbToActiveClass() {\n return this.type === SliderHandle.TO && this._isActive;\n }\n\n @HostBinding('class.igx-slider-thumb-from--disabled')\n public get thumbFromDisabledClass() {\n return this.type === SliderHandle.FROM && this.disabled;\n }\n\n @HostBinding('class.igx-slider-thumb-to--disabled')\n public get thumbToDisabledClass() {\n return this.type === SliderHandle.TO && this.disabled;\n }\n\n @HostBinding('class.igx-slider-thumb-from--pressed')\n public get thumbFromPressedClass() {\n return this.type === SliderHandle.FROM && this.isActive && this._isPressed;\n }\n\n @HostBinding('class.igx-slider-thumb-to--pressed')\n public get thumbToPressedClass() {\n return this.type === SliderHandle.TO && this.isActive && this._isPressed;\n }\n\n public get getDotClass() {\n return {\n 'igx-slider-thumb-from__dot': this.type === SliderHandle.FROM,\n 'igx-slider-thumb-to__dot': this.type === SliderHandle.TO\n };\n }\n\n public isActive = false;\n\n public get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n public get destroy(): Subject<boolean> {\n return this._destroy$;\n }\n\n private _isActive = false;\n private _isPressed = false;\n private _destroy$ = new Subject<boolean>();\n\n private get thumbPositionX() {\n const thumbBounderies = this.nativeElement.getBoundingClientRect();\n const thumbCenter = (thumbBounderies.right - thumbBounderies.left) / 2;\n return thumbBounderies.left + thumbCenter;\n }\n\n @HostListener('pointerenter')\n public onPointerEnter() {\n this.focused = false;\n this.hoverChange.emit(true);\n }\n\n @HostListener('pointerleave')\n public onPointerLeave() {\n this.hoverChange.emit(false);\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n this.focused = true;\n }\n\n @HostListener('keydown', ['$event'])\n public onKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n let increment = 0;\n const stepWithDir = (rtl: boolean) => rtl ? this.step * -1 : this.step;\n if (event.key.endsWith('Left')) {\n increment = stepWithDir(!this._dir.rtl);\n } else if (event.key.endsWith('Right')) {\n increment = stepWithDir(this._dir.rtl);\n } else {\n return;\n }\n\n this.thumbChange.emit();\n this.thumbValueChange.emit(increment);\n }\n\n @HostListener('blur')\n public onBlur() {\n this.isActive = false;\n this.zIndex = 0;\n this.focused = false;\n this.thumbBlur.emit();\n }\n\n @HostListener('focus')\n public onFocusListener() {\n this.isActive = true;\n this.zIndex = 1;\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n this.onPan\n .pipe(takeUntil(this._destroy$))\n .subscribe(mouseX =>\n this.updateThumbValue(mouseX)\n );\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.complete();\n }\n\n /**\n * Show thumb label and ripple.\n */\n public showThumbIndicators() {\n this.toggleThumbIndicators(true);\n }\n\n /**\n * Hide thumb label and ripple.\n */\n public hideThumbIndicators() {\n this.toggleThumbIndicators(false);\n }\n\n private updateThumbValue(mouseX: number) {\n const updateValue = this.calculateTrackUpdate(mouseX);\n if (this.isActive && updateValue !== 0) {\n this.thumbValueChange.emit(updateValue);\n }\n }\n\n private calculateTrackUpdate(mouseX: number): number {\n const scaleX = this._dir.rtl ? this.thumbPositionX - mouseX : mouseX - this.thumbPositionX;\n const stepDistanceCenter = this.stepDistance / 2;\n\n // If the thumb scale range (slider update) is less thàn a half step,\n // the position stays the same.\n const scaleXPositive = Math.abs(scaleX);\n if (scaleXPositive < stepDistanceCenter) {\n return 0;\n }\n\n return this.stepToProceed(scaleX, this.stepDistance);\n }\n\n private stepToProceed(scaleX, stepDist) {\n return Math.round(scaleX / stepDist) * this.step;\n }\n\n private toggleThumbIndicators(visible: boolean) {\n this._isPressed = visible;\n\n if (this.continuous || this.deactiveState) {\n this._isActive = false;\n } else {\n this._isActive = visible;\n }\n\n }\n}\n","<div [ngClass]=\"getDotClass\"></div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * @hidden\n */\n@Pipe({\n name: 'spreadTickLabels',\n standalone: true\n})\nexport class IgxTickLabelsPipe implements PipeTransform {\n\n\n public transform(labels: Array<string | number | boolean | null | undefined>, secondaryTicks: number) {\n if (!labels) {\n return;\n }\n\n const result = [];\n labels.forEach(item => {\n result.push(item);\n for (let i = 0; i < secondaryTicks; i++) {\n result.push('');\n }\n });\n\n return result;\n }\n}\n","import { Component, Input, TemplateRef, HostBinding, booleanAttribute } from '@angular/core';\nimport { TicksOrientation, TickLabelsOrientation } from '../slider.common';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @hidden\n */\n@Component({\n selector: 'igx-ticks',\n templateUrl: 'ticks.component.html',\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class IgxTicksComponent {\n @Input()\n public primaryTicks: number;\n\n @Input()\n public secondaryTicks: number;\n\n @Input({ transform: booleanAttribute })\n public primaryTickLabels: boolean;\n\n @Input({ transform: booleanAttribute })\n public secondaryTickLabels: boolean;\n\n @Input()\n public ticksOrientation: TicksOrientation;\n\n @Input()\n public tickLabelsOrientation: TickLabelsOrientation;\n\n @Input()\n public maxValue: number;\n\n @Input()\n public minValue: number;\n\n @Input({ transform: booleanAttribute })\n public labelsViewEnabled: boolean;\n\n @Input()\n public labels: Array<number | string | boolean | null | undefined>;\n\n @Input()\n public tickLabelTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__ticks')\n public ticksClass = true;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__ticks--top')\n public get ticksTopClass() {\n return this.ticksOrientation === TicksOrientation.Top;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__ticks--tall')\n public get hasPrimaryClass() {\n return this.primaryTicks > 0;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__tick-labels--top-bottom')\n public get labelsTopToBottomClass() {\n return this.tickLabelsOrientation === TickLabelsOrientation.TopToBottom;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__tick-labels--bottom-top')\n public get labelsBottomToTopClass() {\n return this.tickLabelsOrientation === TickLabelsOrientation.BottomToTop;\n }\n\n /**\n * Returns the template context corresponding to\n * {@link IgxTickLabelTemplateDirective}\n *\n * ```typescript\n * return {\n * $implicit //returns the value per each tick label.\n * isPrimery //returns if the tick is primary.\n * labels // returns the {@link labels} collection.\n * index // returns the index per each tick of the whole sequence.\n * }\n * ```\n *\n * @param idx the index per each tick label.\n */\n public context(idx: number): any {\n return {\n $implicit: this.tickLabel(idx),\n isPrimary: this.isPrimary(idx),\n labels: this.labels,\n index: idx\n };\n }\n\n /**\n * @hidden\n */\n public get ticksLength() {\n return this.primaryTicks > 0 ?\n ((this.primaryTicks - 1) * this.secondaryTicks) + this.primaryTicks :\n this.secondaryTicks > 0 ? this.secondaryTicks : 0;\n }\n\n public hiddenTickLabels(idx: number) {\n return this.isPrimary(idx) ? this.primaryTickLabels : this.secondaryTickLabels;\n }\n\n /**\n * @hidden\n */\n public isPrimary(idx: number) {\n return this.primaryTicks <= 0 ? false :\n idx % (this.secondaryTicks + 1) === 0;\n }\n\n /**\n * @hidden\n */\n public tickLabel(idx: number) {\n if (this.labelsViewEnabled) {\n return this.labels[idx];\n }\n\n const labelStep = (Math.max(this.minValue, this.maxValue) - Math.min(this.minValue, this.maxValue)) / (this.ticksLength - 1);\n const labelVal = labelStep * idx;\n\n return (this.minValue + labelVal).toFixed(2);\n }\n}\n","@for (n of [].constructor(ticksLength); track $index; let idx = $index) {\n <div class=\"igx-slider__ticks-group\" [ngClass]=\"{ 'igx-slider__ticks-group--tall': isPrimary(idx)}\">\n <div class=\"igx-slider__ticks-tick\">\n <span class=\"igx-slider__ticks-label\" [ngClass]=\"{ 'igx-slider__tick-label--hidden': !hiddenTickLabels(idx)}\">\n <ng-container *ngTemplateOutlet=\"tickLabelTemplateRef ? tickLabelTemplateRef : tickLabelDefaultTemplate; context: context(idx)\"></ng-container>\n </span>\n </div>\n </div>\n}\n\n<ng-template #tickLabelDefaultTemplate let-value>\n {{ value }}\n</ng-template>\n","import { AfterContentInit, AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, OnChanges, OnDestroy, OnInit, Output, QueryList, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewChildren, booleanAttribute, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { animationFrameScheduler, fromEvent, interval, merge, noop, Observable, Subject, timer } from 'rxjs';\nimport { takeUntil, throttle, throttleTime } from 'rxjs/operators';\nimport { EditorProvider, ɵIgxDirectionality, resizeObservable } from 'igniteui-angular/core';\nimport { IgxThumbLabelComponent } from './label/thumb-label.component';\nimport {\n IgxSliderType, IgxThumbFromTemplateDirective,\n IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective, IRangeSliderValue, ISliderValueChangeEventArgs, SliderHandle, TickLabelsOrientation, TicksOrientation\n} from './slider.common';\nimport { IgxSliderThumbComponent } from './thumb/thumb-slider.component';\nimport { IgxTickLabelsPipe } from './ticks/tick.pipe';\nimport { IgxTicksComponent } from './ticks/ticks.component';\n\nlet NEXT_ID = 0;\n\n/**\n * **Ignite UI for Angular Slider** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/slider/slider)\n *\n * The Ignite UI Slider allows selection in a given range by moving the thumb along the track. The track\n * can be defined as continuous or stepped, and you can choose between single and range slider types.\n *\n * Example:\n * ```html\n * <igx-slider id=\"slider\"\n * [minValue]=\"0\" [maxValue]=\"100\"\n * [continuous]=true [(ngModel)]=\"volume\">\n * </igx-slider>\n * ```\n */\n@Component({\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }],\n selector: 'igx-slider',\n templateUrl: 'slider.component.html',\n imports: [IgxTicksComponent, IgxThumbLabelComponent, IgxSliderThumbComponent, IgxTickLabelsPipe]\n})\nexport class IgxSliderComponent implements\n ControlValueAccessor,\n EditorProvider,\n OnInit,\n AfterViewInit,\n AfterContentInit,\n OnChanges,\n OnDestroy {\n private renderer = inject(Renderer2);\n private _el = inject(ElementRef);\n private _cdr = inject(ChangeDetectorRef);\n private _ngZone = inject(NgZone);\n private _dir = inject(ɵIgxDirectionality);\n\n /**\n * @hidden\n */\n public get thumbFrom(): IgxSliderThumbComponent {\n return this.thumbs.find(thumb => thumb.type === SliderHandle.FROM);\n }\n\n /**\n * @hidden\n */\n public get thumbTo(): IgxSliderThumbComponent {\n return this.thumbs.find(thumb => thumb.type === SliderHandle.TO);\n }\n\n private get labelFrom(): IgxThumbLabelComponent {\n return this.labelRefs.find(label => label.type === SliderHandle.FROM);\n }\n\n private get labelTo(): IgxThumbLabelComponent {\n return this.labelRefs.find(label => label.type === SliderHandle.TO);\n }\n\n /**\n * @hidden\n */\n @ViewChild('track', { static: true })\n public trackRef: ElementRef;\n\n /**\n * @hidden\n */\n @ContentChild(IgxThumbFromTemplateDirective, { read: TemplateRef })\n public thumbFromTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @ContentChild(IgxThumbToTemplateDirective, { read: TemplateRef })\n public thumbToTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @ContentChild(IgxTickLabelTemplateDirective, { read: TemplateRef, static: false })\n public tickLabelTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider')\n public slierClass = true;\n\n /**\n * Sets the value of the `id` attribute.\n * If not provided it will be automatically generated.\n * ```html\n * <igx-slider [id]=\"'igx-slider-32'\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-slider-${NEXT_ID++}`;\n\n /**\n * Sets the duration visibility of thumbs labels. The default value is 750 milliseconds.\n * ```html\n * <igx-slider #slider [thumbLabelVisibilityDuration]=\"3000\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Input()\n public thumbLabelVisibilityDuration = 750;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider--disabled')\n public get disabledClass() {\n return this.disabled;\n }\n\n /**\n * Gets the type of the `IgxSliderComponent`.\n * The slider can be IgxSliderType.SLIDER(default) or IgxSliderType.RANGE.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let type = this.slider.type;\n * }\n */\n @Input()\n public get type() {\n return this._type as IgxSliderType;\n }\n\n /**\n * Sets the type of the `IgxSliderComponent`.\n * The slider can be IgxSliderType.SLIDER(default) or IgxSliderType.RANGE.\n * ```typescript\n * sliderType: IgxSliderType = IgxSliderType.RANGE;\n * ```\n * ```html\n * <igx-slider #slider2 [type]=\"sliderType\" [(ngModel)]=\"rangeValue\" [minValue]=\"0\" [maxValue]=\"100\">\n * ```\n */\n public set type(type: IgxSliderType) {\n this._type = type;\n\n if (type === IgxSliderType.SLIDER) {\n this.lowerValue = 0;\n }\n\n if (this._hasViewInit) {\n this.updateTrack();\n }\n }\n\n\n /**\n * Enables `labelView`, by accepting a collection of primitive values with more than one element.\n * Each element will be equally spread over the slider and it will serve as a thumb label.\n * Once the property is set, it will precendence over {@link maxValue}, {@link minValue}, {@link step}.\n * This means that the manipulation for those properties won't be allowed.\n */\n @Input()\n public get labels() {\n return this._labels;\n }\n\n public set labels(labels: Array<number | string | boolean | null | undefined>) {\n this._labels = labels;\n\n this._pMax = this.valueToFraction(this.upperBound, 0, 1);\n this._pMin = this.valueToFraction(this.lowerBound, 0, 1);\n\n this.positionHandlersAndUpdateTrack();\n\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the template context corresponding\n * to {@link IgxThumbFromTemplateDirective} and {@link IgxThumbToTemplateDirective} templates.\n *\n * ```typescript\n * return {\n * $implicit // returns the value of the label,\n * labels // returns the labels collection the user has passed.\n * }\n * ```\n */\n public get context(): any {\n return {\n $implicit: this.value,\n labels: this.labels\n };\n }\n\n /**\n * Sets the incremental/decremental step of the value when dragging the thumb.\n * The default step is 1, and step should not be less or equal than 0.\n * ```html\n * <igx-slider #slider [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Input()\n public set step(step: number) {\n this._step = step;\n\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.normalizeByStep(this._value);\n this.setValue(this._value, true);\n this.positionHandlersAndUpdateTrack();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the incremental/decremental dragging step of the {@link IgxSliderComponent}.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let step = this.slider.step;\n * }\n * ```\n */\n public get step() {\n return this.labelsViewEnabled ? 1 : this._step;\n }\n\n /**\n * Returns if the {@link IgxSliderComponent} is disabled.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let isDisabled = this.slider.disabled;\n * }\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Disables the component.\n * ```html\n * <igx-slider #slider [disabled]=\"true\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n public set disabled(disable: boolean) {\n this._disabled = disable;\n\n if (this._hasViewInit) {\n this.changeThumbFocusableState(disable);\n }\n }\n\n /**\n * Returns if the {@link IgxSliderComponent} is set as continuous.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let continuous = this.slider.continuous;\n * }\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get continuous(): boolean {\n return this._continuous;\n }\n\n /**\n * Sets the {@link IgxSliderComponent} as continuous.\n * By default is considered that the {@link IgxSliderComponent} is discrete.\n * Discrete {@link IgxSliderComponent} slider has step indicators over the track and visible thumb labels during interaction.\n * Continuous {@link IgxSliderComponent} does not have ticks and does not show bubble labels for values.\n * ```html\n * <igx-slider #slider [continuous]=\"'true'\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n public set continuous(continuous: boolean) {\n this._continuous = continuous;\n if (this._hasViewInit) {\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the minimal displayed track value of the `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderMin = this.slider.minValue;\n * }\n * ```\n */\n public get minValue(): number {\n if (this.labelsViewEnabled) {\n return 0;\n }\n\n return this._minValue;\n }\n\n /**\n * Sets the minimal displayed track value for the `IgxSliderComponent`.\n * The default minimal value is 0.\n * ```html\n * <igx-slider [type]=\"sliderType\" [minValue]=\"56\" [maxValue]=\"100\">\n * ```\n */\n @Input()\n public set minValue(value: number) {\n if (value >= this.maxValue) {\n return;\n } else {\n this._minValue = value;\n }\n\n if (value > this._upperBound) {\n this.updateUpperBoundAndMaxTravelZone();\n this.lowerBound = value;\n }\n\n // Refresh min travel zone limit.\n this._pMin = 0;\n // Recalculate step distance.\n this.positionHandlersAndUpdateTrack();\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the maximum displayed track value for the {@link IgxSliderComponent}.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderMax = this.slider.maxValue;\n * }\n * ```\n */\n public get maxValue(): number {\n return this.labelsViewEnabled ?\n this.labels.length - 1 :\n this._maxValue;\n }\n\n /**\n * Sets the maximal displayed track value for the `IgxSliderComponent`.\n * The default maximum value is 100.\n * ```html\n * <igx-slider [type]=\"sliderType\" [minValue]=\"56\" [maxValue]=\"256\">\n * ```\n */\n @Input()\n public set maxValue(value: number) {\n if (value <= this._minValue) {\n return;\n } else {\n this._maxValue = value;\n }\n\n if (value < this._lowerBound) {\n this.updateLowerBoundAndMinTravelZone();\n this.upperBound = value;\n }\n\n // refresh max travel zone limits.\n this._pMax = 1;\n // recalculate step distance.\n this.positionHandlersAndUpdateTrack();\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the lower boundary of settable values of the `IgxSliderComponent`.\n * If not set, will return `minValue`.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderLowBound = this.slider.lowerBound;\n * }\n * ```\n */\n public get lowerBound(): number {\n if (!Number.isNaN(this._lowerBound) && this._lowerBound !== undefined) {\n return this.valueInRange(this._lowerBound, this.minValue, this.maxValue);\n }\n\n return this.minValue;\n }\n\n /**\n * Sets the lower boundary of settable values of the `IgxSliderComponent`.\n * If not set is the same as min value.\n * ```html\n * <igx-slider [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n @Input()\n public set lowerBound(value: number) {\n if (value >= this.upperBound || (this.labelsViewEnabled && value < 0)) {\n return;\n }\n\n this._lowerBound = this.valueInRange(value, this.minValue, this.maxValue);\n\n // Refresh min travel zone.\n this._pMin = this.valueToFraction(this._lowerBound, 0, 1);\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * Returns the upper boundary of settable values of the `IgxSliderComponent`.\n * If not set, will return `maxValue`\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderUpBound = this.slider.upperBound;\n * }\n * ```\n */\n public get upperBound(): number {\n if (!Number.isNaN(this._upperBound) && this._upperBound !== undefined) {\n return this.valueInRange(this._upperBound, this.minValue, this.maxValue);\n }\n\n return this.maxValue;\n }\n\n /**\n * Sets the upper boundary of the `IgxSliderComponent`.\n * If not set is the same as max value.\n * ```html\n * <igx-slider [step]=\"5\" [upperBound]=\"20\">\n * ```\n */\n @Input()\n public set upperBound(value: number) {\n if (value <= this.lowerBound || (this.labelsViewEnabled && value > this.labels.length - 1)) {\n return;\n }\n\n this._upperBound = this.valueInRange(value, this.minValue, this.maxValue);\n // Refresh time travel zone.\n this._pMax = this.valueToFraction(this._upperBound, 0, 1);\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * Returns the slider value. If the slider is of type {@link IgxSliderType.SLIDER} the returned value is number.\n * If the slider type is {@link IgxSliderType.RANGE}.\n * The returned value represents an object of {@link lowerValue} and {@link upperValue}.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * public sliderValue(event){\n * let sliderVal = this.slider.value;\n * }\n * ```\n */\n public get value(): number | IRangeSliderValue {\n if (this.isRange) {\n return {\n lower: this.valueInRange(this.lowerValue, this.lowerBound, this.upperBound),\n upper: this.valueInRange(this.upperValue, this.lowerBound, this.upperBound)\n };\n } else {\n return this.valueInRange(this.upperValue, this.lowerBound, this.upperBound);\n }\n }\n\n /**\n * Sets the slider value.\n * If the slider is of type {@link IgxSliderType.SLIDER}.\n * The argument is number. By default the {@link value} gets the {@link lowerBound}.\n * If the slider type is {@link IgxSliderType.RANGE} the argument\n * represents an object of {@link lowerValue} and {@link upperValue} properties.\n * By default the object is associated with the {@link lowerBound} and {@link upperBound} property values.\n * ```typescript\n * rangeValue = {\n * lower: 30,\n * upper: 60\n * };\n * ```\n * ```html\n * <igx-slider [type]=\"sliderType\" [(ngModel)]=\"rangeValue\" [minValue]=\"56\" [maxValue]=\"256\">\n * ```\n */\n @Input()\n public set value(value: number | IRangeSliderValue) {\n this.normalizeByStep(value);\n\n if (this._hasViewInit) {\n this.setValue(this._value, true);\n this.positionHandlersAndUpdateTrack();\n }\n }\n\n /**\n * Returns the number of the presented primary ticks.\n * ```typescript\n * const primaryTicks = this.slider.primaryTicks;\n * ```\n */\n @Input()\n public get primaryTicks() {\n if (this.labelsViewEnabled) {\n return this._primaryTicks = this.labels.length;\n }\n return this._primaryTicks;\n }\n\n /**\n * Sets the number of primary ticks. If {@link @labels} is enabled, this property won't function.\n * Insted enable ticks by {@link showTicks} property.\n * ```typescript\n * this.slider.primaryTicks = 5;\n * ```\n */\n public set primaryTicks(val: number) {\n if (val <= 1) {\n return;\n }\n\n this._primaryTicks = val;\n }\n\n /**\n * Returns the number of the presented secondary ticks.\n * ```typescript\n * const secondaryTicks = this.slider.secondaryTicks;\n * ```\n */\n @Input()\n public get secondaryTicks() {\n return this._secondaryTicks;\n }\n\n /**\n * Sets the number of secondary ticks. The property functions even when {@link labels} is enabled,\n * but all secondary ticks won't present any tick labels.\n * ```typescript\n * this.slider.secondaryTicks = 5;\n * ```\n */\n public set secondaryTicks(val: number) {\n if (val < 1) {\n return;\n }\n\n this._secondaryTicks = val;\n }\n\n /**\n * Show/hide slider ticks\n * ```html\n * <igx-slier [showTicks]=\"true\" [primaryTicks]=\"5\"></igx-slier>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public showTicks = false;\n\n /**\n * show/hide primary tick labels\n * ```html\n * <igx-slider [primaryTicks]=\"5\" [primaryTickLabels]=\"false\"></igx-slider>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public primaryTickLabels = true;\n\n /**\n * show/hide secondary tick labels\n * ```html\n * <igx-slider [secondaryTicks]=\"5\" [secondaryTickLabels]=\"false\"></igx-slider>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public secondaryTickLabels = true;\n\n /**\n * Changes ticks orientation:\n * bottom - The default orienation, below the slider track.\n * top - Above the slider track\n * mirror - combines top and bottom orientation.\n * ```html\n * <igx-slider [primaryTicks]=\"5\" [ticksOrientation]=\"ticksOrientation\"></igx-slider>\n * ```\n */\n @Input()\n public ticksOrientation: TicksOrientation = TicksOrientation.Bottom;\n\n /**\n * Changes tick labels rotation:\n * horizontal - The default rotation\n * toptobottom - Rotates tick labels vertically to 90deg\n * bottomtotop - Rotate tick labels vertically to -90deg\n * ```html\n * <igx-slider [primaryTicks]=\"5\" [secondaryTicks]=\"3\" [tickLabelsOrientation]=\"tickLabelsOrientaiton\"></igx-slider>\n * ```\n */\n @Input()\n public tickLabelsOrientation: TickLabelsOrientation = TickLabelsOrientation.Horizontal;\n\n /**\n * @hidden\n */\n public get deactivateThumbLabel() {\n return ((this.primaryTicks && this.primaryTickLabels) || (this.secondaryTicks && this.secondaryTickLabels)) &&\n (this.ticksOrientation === TicksOrientation.Top || this.ticksOrientation === TicksOrientation.Mirror);\n }\n\n /**\n * This event is emitted every time the value is changed.\n * ```typescript\n * public change(event){\n * alert(\"The value has been changed!\");\n * }\n * ```\n * ```html\n * <igx-slider (valueChange)=\"change($event)\" #slider [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Output()\n public valueChange = new EventEmitter<ISliderValueChangeEventArgs>();\n\n /**\n * This event is emitted every time the lower value of a range slider is changed.\n * ```typescript\n * public change(value){\n * alert(`The lower value has been changed to ${value}`);\n * }\n * ```\n * ```html\n * <igx-slider [(lowerValue)]=\"model.lowervalue\" (lowerValueChange)=\"change($event)\" [step]=\"5\">\n * ```\n */\n @Output()\n public lowerValueChange = new EventEmitter<number>();\n\n /**\n * This event is emitted every time the upper value of a range slider is changed.\n * ```typescript\n * public change(value){\n * alert(`The upper value has been changed to ${value}`);\n * }\n * ```\n * ```html\n * <igx-slider [(upperValue)]=\"model.uppervalue\" (upperValueChange)=\"change($event)\" [step]=\"5\">\n * ```\n */\n @Output()\n public upperValueChange = new EventEmitter<number>();\n\n /**\n * This event is emitted at the end of every slide interaction.\n * ```typescript\n * public change(event){\n * alert(\"The value has been changed!\");\n * }\n * ```\n * ```html\n * <igx-slider (dragFinished)=\"change($event)\" #slider [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Output()\n public dragFinished = new EventEmitter<number | IRangeSliderValue>();\n\n /**\n * @hidden\n */\n @ViewChild('ticks', { static: true })\n private ticks: ElementRef;\n\n /**\n * @hidden\n */\n @ViewChildren(IgxSliderThumbComponent)\n private thumbs: QueryList<IgxSliderThumbComponent> = new QueryList<IgxSliderThumbComponent>();\n\n /**\n * @hidden\n */\n @ViewChildren(IgxThumbLabelComponent)\n private labelRefs: QueryList<IgxThumbLabelComponent> = new QueryList<IgxThumbLabelComponent>();\n\n /**\n * @hidden\n */\n public onPan: Subject<number> = new Subject<number>();\n\n /**\n * @hidden\n */\n public stepDistance: number;\n\n // Limit handle travel zone\n private _pMin = 0;\n private _pMax = 1;\n\n // From/upperValue in percent values\n private _hasViewInit = false;\n private _minValue = 0;\n private _maxValue = 100;\n private _lowerBound: number;\n private _upperBound: number;\n private _lowerValue: number;\n private _upperValue: number;\n private _continuous = false;\n private _disabled = false;\n private _step = 1;\n private _value: number | IRangeSliderValue = 0;\n\n // ticks\n private _primaryTicks = 0;\n private _secondaryTicks = 0;\n private _sliding = false;\n\n private _labels = new Array<number | string | boolean | null | undefined>();\n private _type: IgxSliderType = IgxSliderType.SLIDER;\n\n private _destroyer$ = new Subject<boolean>();\n private _indicatorsDestroyer$ = new Subject<boolean>();\n private _indicatorsTimer: Observable<any>;\n\n private _onChangeCallback: (_: any) => void = noop;\n private _onTouchedCallback: () => void = noop;\n\n constructor() {\n this.stepDistance = this._step;\n }\n\n /**\n * @hidden\n */\n @HostListener('focus')\n public onFocus() {\n this.toggleSliderIndicators();\n }\n\n /**\n * Returns whether the `IgxSliderComponent` type is RANGE.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderRange = this.slider.isRange;\n * }\n * ```\n */\n public get isRange(): boolean {\n return this.type === IgxSliderType.RANGE;\n }\n\n /**\n * Returns the lower value of a RANGE `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * public lowValue(event){\n * let sliderLowValue = this.slider.lowerValue;\n * }\n * ```\n */\n public get lowerValue(): number {\n if (!Number.isNaN(this._lowerValue) && this._lowerValue !== undefined && this._lowerValue >= this.lowerBound) {\n return this._lowerValue;\n }\n\n return this.lowerBound;\n }\n\n /**\n * Sets the lower value of a RANGE `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * public lowValue(event){\n * this.slider.lowerValue = value;\n * }\n * ```\n */\n @Input()\n public set lowerValue(value: number) {\n const adjustedValue = this.valueInRange(value, this.lowerBound, this.upperBound);\n if (this._lowerValue !== adjustedValue) {\n this._lowerValue = adjustedValue;\n this.lowerValueChange.emit(this._lowerValue);\n this.value = { lower: this._lowerValue, upper: this._upperValue };\n }\n }\n\n /**\n * Returns the upper value of a RANGE `IgxSliderComponent`.\n * Returns `value` of a SLIDER `IgxSliderComponent`\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * public upperValue(event){\n * let upperValue = this.slider.upperValue;\n * }\n * ```\n */\n public get upperValue() {\n if (!Number.isNaN(this._upperValue) && this._upperValue !== undefined && this._upperValue <= this.upperBound) {\n return this._upperValue;\n }\n\n return this.upperBound;\n }\n\n /**\n * Sets the upper value of a RANGE `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * public upperValue(event){\n * this.slider.upperValue = value;\n * }\n * ```\n */\n @Input()\n public set upperValue(value: number) {\n const adjustedValue = this.valueInRange(value, this.lowerBound, this.upperBound);\n if (this._upperValue !== adjustedValue) {\n this._upperValue = adjustedValue;\n this.upperValueChange.emit(this._upperValue);\n this.value = { lower: this._lowerValue, upper: this._upperValue };\n }\n }\n\n /**\n * Returns the value corresponding the lower label.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * let label = this.slider.lowerLabel;\n * ```\n */\n public get lowerLabel() {\n return this.labelsViewEnabled ? this.labels[this.lowerValue] : this.lowerValue;\n }\n\n /**\n * Returns the value corresponding the upper label.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * let label = this.slider.upperLabel;\n * ```\n */\n public get upperLabel() {\n return this.labelsViewEnabled ? this.labels[this.upperValue] : this.upperValue;\n }\n\n /**\n * Returns if label view is enabled.\n * If the {@link labels} is set, the view is automatically activated.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * let labelView = this.slider.labelsViewEnabled;\n * ```\n */\n public get labelsViewEnabled(): boolean {\n return !!(this.labels && this.labels.length > 1);\n }\n\n /**\n * @hidden\n */\n public get showTopTicks() {\n return this.ticksOrientation === TicksOrientation.Top ||\n this.ticksOrientation === TicksOrientation.Mirror;\n }\n\n /**\n * @hidden\n */\n public get showBottomTicks() {\n return this.ticksOrientation === TicksOrientation.Bottom ||\n this.ticksOrientation === TicksOrientation.Mirror;\n }\n\n /**\n * @hidden\n */\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.minValue && changes.maxValue &&\n changes.minValue.currentValue < changes.maxValue.currentValue) {\n this._maxValue = changes.maxValue.currentValue;\n this._minValue = changes.minValue.currentValue;\n }\n\n if (changes.step && changes.step.isFirstChange()) {\n this.normalizeByStep(this._value);\n }\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n /**\n * if {@link SliderType.SLIDER} than the initial value shold be the lowest one.\n */\n if (!this.isRange) {\n this._upperValue = this.lowerBound;\n }\n\n // Set track travel zone\n this._pMin = this.valueToFraction(this.lowerBound) || 0;\n this._pMax = this.valueToFraction(this.upperBound) || 1;\n }\n\n public ngAfterContentInit() {\n this.setValue(this._value, false);\n }\n\n /**\n * @hidden\n */\n public ngAfterViewInit() {\n this._hasViewInit = true;\n this.stepDistance = this.calculateStepDistance();\n this.positionHandlersAndUpdateTrack();\n this.setTickInterval();\n this.changeThumbFocusableState(this.disabled);\n\n this.subscribeToEvents(this.thumbFrom);\n this.subscribeToEvents(this.thumbTo);\n\n this.thumbs.changes.pipe(takeUntil(this._destroyer$)).subscribe(change => {\n const thumbFrom = change.find((thumb: IgxSliderThumbComponent) => thumb.type === SliderHandle.FROM);\n this.positionHandler(thumbFrom, null, this.lowerValue);\n this.subscribeToEvents(thumbFrom);\n this.changeThumbFocusableState(this.disabled);\n });\n\n this.labelRefs.changes.pipe(takeUntil(this._destroyer$)).subscribe(() => {\n const labelFrom = this.labelRefs.find((label: IgxThumbLabelComponent) => label.type === SliderHandle.FROM);\n this.positionHandler(null, labelFrom, this.lowerValue);\n });\n\n this._ngZone.runOutsideAngular(() => {\n resizeObservable(this._el.nativeElement).pipe(\n throttleTime(40),\n takeUntil(this._destroyer$)).subscribe(() => this._ngZone.run(() => {\n this.stepDistance = this.calculateStepDistance();\n }));\n fromEvent(this._el.nativeElement, 'pointermove').pipe(\n throttle(() => interval(0, animationFrameScheduler)),\n takeUntil(this._destroyer$)).subscribe(($event: PointerEvent) => this._ngZone.run(() => {\n this.onPointerMove($event);\n }));\n });\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._destroyer$.next(true);\n this._destroyer$.complete();\n\n this._indicatorsDestroyer$.next(true);\n this._indicatorsDestroyer$.complete();\n }\n\n /**\n * @hidden\n */\n public writeValue(value: IRangeSliderValue | number): void {\n if (this.isNullishButNotZero(value)) {\n return;\n }\n\n this.normalizeByStep(value);\n this.setValue(this._value, false);\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * @hidden\n */\n public registerOnChange(fn: any): void {\n this._onChangeCallback = fn;\n }\n\n /**\n * @hidden\n */\n public registerOnTouched(fn: any): void {\n this._onTouchedCallback = fn;\n }\n\n /** @hidden */\n public getEditElement() {\n return this.isRange ? this.thumbFrom.nativeElement : this.thumbTo.nativeElement;\n }\n\n /**\n *\n * @hidden\n */\n public update(mouseX) {\n if (this.disabled) {\n return;\n }\n\n // Update To/From Values\n this.onPan.next(mouseX);\n\n // Finally do positionHandlersAndUpdateTrack the DOM\n // based on data values\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * @hidden\n */\n public thumbChanged(value: number, thumbType: string) {\n const oldValue = this.value;\n\n if (this.isRange) {\n if (thumbType === SliderHandle.FROM) {\n if (this.lowerValue + value > this.upperValue) {\n this.upperValue = this.lowerValue + value;\n }\n this.lowerValue += value;\n } else {\n if (this.upperValue + value < this.lowerValue) {\n this.lowerValue = this.upperValue + value;\n }\n this.upperValue += value;\n }\n\n const newVal: IRangeSliderValue = {\n lower: this.lowerValue,\n upper: this.upperValue\n }\n\n // Swap the thumbs if a collision appears.\n // if (newVal.lower == newVal.upper) {\n // this.toggleThumb();\n // }\n\n this.value = newVal;\n\n } else {\n const newVal = (this.value as number) + value;\n if (newVal >= this.lowerBound && newVal <= this.upperBound) {\n this.value = newVal;\n }\n }\n\n if (this.hasValueChanged(oldValue)) {\n this.emitValueChange(oldValue);\n }\n }\n\n /**\n * @hidden\n */\n public onThumbChange() {\n this.toggleSliderIndicators();\n }\n\n /**\n * @hidden\n */\n public onHoverChange(state: boolean) {\n return state ? this.showSliderIndicators() : this.hideSliderIndicators();\n }\n\n public setValue(value: number | IRangeSliderValue, triggerChange: boolean) {\n let res;\n if (!this.isRange) {\n value = value as number;\n if (!isNaN(value)) {\n this._upperValue = value - value % this.step;\n res = this.upperValue;\n }\n } else {\n value = this.validateInitialValue(value as IRangeSliderValue);\n this._upperValue = value.upper;\n this._lowerValue = value.lower;\n res = { lower: this.lowerValue, upper: this.upperValue };\n }\n\n if (triggerChange) {\n this._onChangeCallback(res);\n }\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown($event: PointerEvent) {\n this.findClosestThumb($event);\n\n if (!this.thumbTo.isActive && this.thumbFrom === undefined) {\n return;\n }\n\n this._sliding = true;\n const activeThumb = this.thumbTo.isActive ? this.thumbTo : this.thumbFrom;\n activeThumb.nativeElement.setPointerCapture($event.pointerId);\n this.showSliderIndicators();\n\n $event.preventDefault();\n }\n\n private onPointerMove($event: PointerEvent) {\n if (this._sliding) {\n this.update($event.clientX);\n }\n }\n\n @HostListener('pointerup', ['$event'])\n protected onPointerUp($event: PointerEvent) {\n if (!this.thumbTo.isActive && this.thumbFrom === undefined) {\n return;\n }\n\n const activeThumb = this.thumbTo.isActive ? this.thumbTo : this.thumbFrom;\n activeThumb.nativeElement.releasePointerCapture($event.pointerId);\n\n this._sliding = false;\n this.hideSliderIndicators();\n this.dragFinished.emit(this.value);\n }\n\n private validateInitialValue(value: IRangeSliderValue) {\n if (value.upper < value.lower) {\n const temp = value.upper;\n value.upper = value.lower;\n value.lower = temp;\n }\n\n if (value.lower < this.lowerBound) {\n value.lower = this.lowerBound;\n }\n\n if (value.upper > this.upperBound) {\n value.upper = this.upperBound;\n }\n\n return value;\n }\n\n private findClosestThumb(event: PointerEvent) {\n if (this.isRange) {\n this.closestHandle(event);\n } else {\n this.thumbTo.nativeElement.focus();\n }\n\n this.update(event.clientX);\n }\n\n private updateLowerBoundAndMinTravelZone() {\n this.lowerBound = this.minValue;\n this._pMin = 0;\n }\n\n private updateUpperBoundAndMaxTravelZone() {\n this.upperBound = this.maxValue;\n this._pMax = 1;\n }\n\n private calculateStepDistance() {\n return this._el.nativeElement.getBoundingClientRect().width / (this.maxValue - this.minValue) * this.step;\n }\n\n // private toggleThumb() {\n // return this.thumbFrom.isActive ?\n // this.thumbTo.nativeElement.focus() :\n // this.thumbFrom.nativeElement.focus();\n // }\n\n private valueInRange(value, min = 0, max = 100) {\n return Math.max(Math.min(value, max), min);\n }\n\n private positionHandler(thumbHandle: ElementRef, labelHandle: ElementRef, position: number) {\n const percent = `${this.valueToFraction(position) * 100}%`;\n const dir = this._dir.rtl ? 'right' : 'left';\n\n if (thumbHandle) {\n thumbHandle.nativeElement.style[dir] = percent;\n }\n\n if (labelHandle) {\n labelHandle.nativeElement.style[dir] = percent;\n }\n }\n\n private positionHandlersAndUpdateTrack() {\n if (!this.isRange) {\n this.positionHandler(this.thumbTo, this.labelTo, this.value as number);\n } else {\n this.positionHandler(this.thumbTo, this.labelTo, (this.value as IRangeSliderValue).upper);\n this.positionHandler(this.thumbFrom, this.labelFrom, (this.value as IRangeSliderValue).lower);\n }\n\n if (this._hasViewInit) {\n this.updateTrack();\n }\n }\n\n private closestHandle(event: PointerEvent) {\n const fromOffset = this.thumbFrom.nativeElement.offsetLeft + this.thumbFrom.nativeElement.offsetWidth / 2;\n const toOffset = this.thumbTo.nativeElement.offsetLeft + this.thumbTo.nativeElement.offsetWidth / 2;\n const xPointer = event.clientX - this._el.nativeElement.getBoundingClientRect().left;\n const match = this.closestTo(xPointer, [fromOffset, toOffset]);\n\n if (fromOffset === toOffset && toOffset < xPointer) {\n this.thumbTo.nativeElement.focus();\n } else if (fromOffset === toOffset && toOffset > xPointer) {\n this.thumbFrom.nativeElement.focus();\n } else if (match === fromOffset) {\n this.thumbFrom.nativeElement.focus();\n } else {\n this.thumbTo.nativeElement.focus();\n }\n }\n\n private setTickInterval() {\n let tickInterval;\n const trackProgress = 100;\n\n if (this.labelsViewEnabled) {\n // Calc ticks depending on the labels length;\n tickInterval = ((trackProgress / (this.labels.length - 1) * 10)) / 10;\n } else {\n const trackRange = this.maxValue - this.minValue;\n tickInterval = this.step > 1 ?\n (trackProgress / ((trackRange / this.step)) * 10) / 10\n : null;\n }\n\n this.renderer.setStyle(this.ticks.nativeElement, 'stroke-dasharray', `0, ${tickInterval * Math.sqrt(2)}%`);\n this.renderer.setStyle(this.ticks.nativeElement, 'visibility', this.continuous || tickInterval === null ? 'hidden' : 'visible');\n }\n\n private showSliderIndicators() {\n if (this.disabled) {\n return;\n }\n\n if (this._indicatorsTimer) {\n this._indicatorsDestroyer$.next(true);\n this._indicatorsTimer = null;\n }\n\n this.thumbTo.showThumbIndicators();\n this.labelTo.active = true;\n if (this.thumbFrom) {\n this.thumbFrom.showThumbIndicators();\n }\n\n if (this.labelFrom) {\n this.labelFrom.active = true;\n }\n\n }\n\n private hideSliderIndicators() {\n if (this.disabled) {\n return;\n }\n\n this._indicatorsTimer = timer(this.thumbLabelVisibilityDuration);\n this._indicatorsTimer.pipe(takeUntil(this._indicatorsDestroyer$)).subscribe(() => {\n this.thumbTo.hideThumbIndicators();\n this.labelTo.active = false;\n if (this.thumbFrom) {\n this.thumbFrom.hideThumbIndicators();\n }\n\n if (this.labelFrom) {\n this.labelFrom.active = false;\n }\n });\n }\n\n private toggleSliderIndicators() {\n this.showSliderIndicators();\n this.hideSliderIndicators();\n }\n\n private changeThumbFocusableState(state: boolean) {\n const value = state ? -1 : 0;\n\n if (this.isRange) {\n this.thumbFrom.tabindex = value;\n }\n\n this.thumbTo.tabindex = value;\n\n this._cdr.detectChanges();\n }\n\n private closestTo(goal: number, positions: number[]): number {\n return positions.reduce((previous, current) => (Math.abs(goal - current) < Math.abs(goal - previous) ? current : previous));\n }\n\n private valueToFraction(value: number, pMin = this._pMin, pMax = this._pMax) {\n return this.valueInRange((value - this.minValue) / (this.maxValue - this.minValue), pMin, pMax);\n }\n\n private isNullishButNotZero(value: any): boolean {\n return !value && value !== 0;\n }\n\n /**\n * @hidden\n * Normalizе the value when two-way data bind is used and {@link this.step} is set.\n * @param value\n */\n private normalizeByStep(value: IRangeSliderValue | number) {\n if (this.isRange) {\n this._value = {\n lower: Math.floor((value as IRangeSliderValue).lower / this.step) * this.step,\n upper: Math.floor((value as IRangeSliderValue).upper / this.step) * this.step\n };\n } else {\n this._value = Math.floor((value as number) / this.step) * this.step;\n }\n }\n\n private updateTrack() {\n const fromPosition = this.valueToFraction(this.lowerValue);\n const toPosition = this.valueToFraction(this.upperValue);\n const positionGap = toPosition - fromPosition;\n\n let trackLeftIndention = fromPosition;\n if (this.isRange) {\n if (positionGap) {\n trackLeftIndention = Math.round((1 / positionGap * fromPosition) * 100);\n }\n\n trackLeftIndention = this._dir.rtl ? -trackLeftIndention : trackLeftIndention;\n this.renderer.setStyle(this.trackRef.nativeElement, 'transform', `scaleX(${positionGap}) translateX(${trackLeftIndention}%)`);\n } else {\n this.renderer.setStyle(this.trackRef.nativeElement, 'transform', `scaleX(${toPosition})`);\n }\n }\n\n private subscribeToEvents(thumb: IgxSliderThumbComponent) {\n if (!thumb) {\n return;\n }\n\n thumb.thumbValueChange\n .pipe(takeUntil(this.unsubscriber(thumb)))\n .subscribe(value => this.thumbChanged(value, thumb.type));\n\n thumb.thumbBlur\n .pipe(takeUntil(this.unsubscriber(thumb)))\n .subscribe(() => this._onTouchedCallback());\n }\n\n private unsubscriber(thumb: IgxSliderThumbComponent) {\n return merge(this._destroyer$, thumb.destroy);\n }\n\n private hasValueChanged(oldValue) {\n const isSliderWithDifferentValue: boolean = !this.isRange && oldValue !== this.value;\n const isRangeWithOneDifferentValue: boolean = this.isRange &&\n ((oldValue as IRangeSliderValue).lower !== (this.value as IRangeSliderValue).lower ||\n (oldValue as IRangeSliderValue).upper !== (this.value as IRangeSliderValue).upper);\n\n return isSliderWithDifferentValue || isRangeWithOneDifferentValue;\n }\n\n private emitValueChange(oldValue: number | IRangeSliderValue) {\n this.valueChange.emit({ oldValue, value: this.value });\n }\n}\n\n/**\n * @hidden\n */\n\n","@if (showTicks && showTopTicks) {\n <igx-ticks\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n @if (isRange) {\n <igx-thumb-label\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n }\n\n @if (isRange) {\n <igx-thumb\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n }\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n@if (showTicks && showBottomTicks) {\n <igx-ticks\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n","import { IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective } from './slider.common';\nimport { IgxSliderComponent } from './slider.component';\n\nexport * from './slider.component';\nexport * from './slider.common';\n\n/* NOTE: Slider directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_SLIDER_DIRECTIVES = [\n IgxSliderComponent,\n IgxThumbFromTemplateDirective,\n IgxThumbToTemplateDirective,\n IgxTickLabelTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_SLIDER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_SLIDER_DIRECTIVES\n ],\n exports: [\n ...IGX_SLIDER_DIRECTIVES\n ]\n})\nexport class IgxSliderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵIgxDirectionality","i1.IgxSliderComponent","i2.IgxThumbFromTemplateDirective","i2.IgxThumbToTemplateDirective","i2.IgxTickLabelTemplateDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-slider.mjs","sources":["../../../projects/igniteui-angular/slider/src/slider/slider.common.ts","../../../projects/igniteui-angular/slider/src/slider/label/thumb-label.component.ts","../../../projects/igniteui-angular/slider/src/slider/label/thumb-label.component.html","../../../projects/igniteui-angular/slider/src/slider/thumb/thumb-slider.component.ts","../../../projects/igniteui-angular/slider/src/slider/thumb/thumb-slider.component.html","../../../projects/igniteui-angular/slider/src/slider/ticks/tick.pipe.ts","../../../projects/igniteui-angular/slider/src/slider/ticks/ticks.component.ts","../../../projects/igniteui-angular/slider/src/slider/ticks/ticks.component.html","../../../projects/igniteui-angular/slider/src/slider/slider.component.ts","../../../projects/igniteui-angular/slider/src/slider/slider.component.html","../../../projects/igniteui-angular/slider/src/slider/public_api.ts","../../../projects/igniteui-angular/slider/src/slider/slider.module.ts","../../../projects/igniteui-angular/slider/src/igniteui-angular-slider.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Template directive that allows you to set a custom template representing the lower label value of the {@link IgxSliderComponent}\n *\n * ```html\n * <igx-slider>\n * <ng-template igxSliderThumbFrom let-value let-labels>{{value}}</ng-template>\n * </igx-slider>\n * ```\n *\n * @context {@link IgxSliderComponent.context}\n */\n@Directive({\n selector: '[igxSliderThumbFrom]',\n standalone: true\n})\nexport class IgxThumbFromTemplateDirective {}\n\n/**\n * Template directive that allows you to set a custom template representing the upper label value of the {@link IgxSliderComponent}\n *\n * ```html\n * <igx-slider>\n * <ng-template igxSliderThumbTo let-value let-labels>{{value}}</ng-template>\n * </igx-slider>\n * ```\n *\n * @context {@link IgxSliderComponent.context}\n */\n@Directive({\n selector: '[igxSliderThumbTo]',\n standalone: true\n})\nexport class IgxThumbToTemplateDirective {}\n\n/**\n * Template directive that allows you to set a custom template, represeting primary/secondary tick labels of the {@link IgxSliderComponent}\n *\n * @context {@link IgxTicksComponent.context}\n */\n@Directive({\n selector: '[igxSliderTickLabel]',\n standalone: true\n})\nexport class IgxTickLabelTemplateDirective {}\n\nexport interface IRangeSliderValue {\n lower: number;\n upper: number;\n}\n\nexport interface ISliderValueChangeEventArgs {\n oldValue: number | IRangeSliderValue;\n value: number | IRangeSliderValue;\n}\n\nexport const IgxSliderType = {\n /**\n * Slider with single thumb.\n */\n SLIDER: 'slider',\n /**\n * Range slider with multiple thumbs, that can mark the range.\n */\n RANGE: 'range'\n} as const;\nexport type IgxSliderType = (typeof IgxSliderType)[keyof typeof IgxSliderType];\n\nexport const SliderHandle = {\n FROM: 'from',\n TO: 'to'\n} as const;\nexport type SliderHandle = (typeof SliderHandle)[keyof typeof SliderHandle];\n\n/**\n * Slider Tick labels Orientation\n */\nexport const TickLabelsOrientation = {\n Horizontal: 'horizontal',\n TopToBottom: 'toptobottom',\n BottomToTop: 'bottomtotop'\n} as const;\nexport type TickLabelsOrientation = (typeof TickLabelsOrientation)[keyof typeof TickLabelsOrientation];\n\n/**\n * Slider Ticks orientation\n */\nexport const TicksOrientation = {\n Top: 'top',\n Bottom: 'bottom',\n Mirror: 'mirror'\n} as const;\nexport type TicksOrientation = (typeof TicksOrientation)[keyof typeof TicksOrientation];\n","import { Component, Input, TemplateRef, HostBinding, ElementRef, booleanAttribute, inject } from '@angular/core';\nimport { SliderHandle } from '../slider.common';\nimport { IgxSliderThumbComponent } from '../thumb/thumb-slider.component';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @hidden\n */\n@Component({\n selector: 'igx-thumb-label',\n templateUrl: 'thumb-label.component.html',\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class IgxThumbLabelComponent {\n private _elementRef = inject(ElementRef);\n\n @Input()\n public value: any;\n\n @Input()\n public templateRef: TemplateRef<any>;\n\n @Input()\n public context: any;\n\n @Input()\n public type: SliderHandle;\n\n @Input({ transform: booleanAttribute })\n public continuous: boolean;\n\n @Input({ transform: booleanAttribute })\n public deactiveState: boolean;\n\n @Input()\n public thumb: IgxSliderThumbComponent;\n\n\n @HostBinding('class.igx-slider-thumb-label-from')\n public get thumbFromClass() {\n return this.type === SliderHandle.FROM;\n }\n\n @HostBinding('class.igx-slider-thumb-label-to')\n public get thumbToClass() {\n return this.type === SliderHandle.TO;\n }\n\n @HostBinding('class.igx-slider-thumb-label-from--active')\n public get thumbFromActiveClass() {\n return this.type === SliderHandle.FROM && this.active;\n }\n\n @HostBinding('class.igx-slider-thumb-label-to--active')\n public get thumbToActiveClass() {\n return this.type === SliderHandle.TO && this.active;\n }\n\n @HostBinding('class.igx-slider-thumb-label-from--pressed')\n public get labelFromPressedClass() {\n return this.thumb?.thumbFromPressedClass;\n }\n\n @HostBinding('class.igx-slider-thumb-label-to--pressed')\n public get labelToPressedClass() {\n return this.thumb?.thumbToPressedClass;\n }\n\n public get getLabelClass() {\n return {\n 'igx-slider-thumb-label-from__container': this.type === SliderHandle.FROM,\n 'igx-slider-thumb-label-to__container': this.type === SliderHandle.TO\n };\n }\n\n private _active: boolean;\n\n public get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n public get active() {\n return this._active;\n }\n\n public set active(val: boolean) {\n if (this.continuous || this.deactiveState) {\n this._active = false;\n } else {\n this._active = val;\n }\n }\n}\n","<div [ngClass]=\"getLabelClass\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : thumbFromDefaultTemplate; context: context\"></ng-container>\n</div>\n\n<ng-template #thumbFromDefaultTemplate>\n {{ value }}\n</ng-template>\n","import { Component, Input, HostListener, ElementRef, HostBinding, Output, EventEmitter, OnInit, OnDestroy, TemplateRef, booleanAttribute, inject } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { SliderHandle } from '../slider.common';\nimport { Subject } from 'rxjs';\nimport { NgClass } from '@angular/common';\nimport { isLeftToRight } from 'igniteui-angular/core';\n\n/**\n * @hidden\n */\n@Component({\n selector: 'igx-thumb',\n templateUrl: 'thumb-slider.component.html',\n imports: [NgClass]\n})\nexport class IgxSliderThumbComponent implements OnInit, OnDestroy {\n private _elementRef = inject(ElementRef);\n\n @Input()\n public value: any;\n\n @Input({ transform: booleanAttribute })\n public continuous: boolean;\n\n @Input()\n public thumbLabelVisibilityDuration: number;\n\n @Input({ transform: booleanAttribute })\n public disabled: boolean;\n\n @Input()\n public onPan: Subject<number>;\n\n @Input()\n public stepDistance: number;\n\n @Input()\n public step: number;\n\n @Input()\n public templateRef: TemplateRef<any>;\n\n @Input()\n public context: any;\n\n @Input()\n public type: SliderHandle;\n\n @Input({ transform: booleanAttribute })\n public deactiveState: boolean;\n\n @Input()\n public min: number;\n\n @Input()\n public max: number;\n\n @Input()\n public labels: any[];\n\n @Output()\n public thumbValueChange = new EventEmitter<number>();\n\n @Output()\n public thumbChange = new EventEmitter<any>();\n\n @Output()\n public thumbBlur = new EventEmitter<void>();\n\n @Output()\n public hoverChange = new EventEmitter<boolean>();\n\n @HostBinding('attr.tabindex')\n public tabindex = 0;\n\n @HostBinding('attr.role')\n public role = 'slider';\n\n @HostBinding('attr.aria-valuenow')\n public get ariaValueNow() {\n return this.value;\n }\n\n @HostBinding('attr.aria-valuemin')\n public get ariaValueMin() {\n return this.min;\n }\n\n @HostBinding('attr.aria-valuemax')\n public get ariaValueMax() {\n return this.max;\n }\n\n @HostBinding('attr.aria-valuetext')\n public get ariaValueText() {\n if (this.labels && this.labels[this.value] !== undefined) {\n return this.labels[this.value];\n }\n return this.value;\n }\n\n @HostBinding('attr.aria-label')\n public get ariaLabelAttr() {\n return `Slider thumb ${this.type}`;\n }\n\n @HostBinding('attr.aria-orientation')\n public ariaOrientation = 'horizontal';\n\n @HostBinding(`attr.aria-disabled`)\n public get ariaDisabled() {\n return this.disabled;\n }\n\n @HostBinding('attr.z-index')\n public zIndex = 0;\n\n @HostBinding('class.igx-slider-thumb-to--focused')\n public focused = false;\n\n @HostBinding('class.igx-slider-thumb-from')\n public get thumbFromClass() {\n return this.type === SliderHandle.FROM;\n }\n\n @HostBinding('class.igx-slider-thumb-to')\n public get thumbToClass() {\n return this.type === SliderHandle.TO;\n }\n\n @HostBinding('class.igx-slider-thumb-from--active')\n public get thumbFromActiveClass() {\n return this.type === SliderHandle.FROM && this._isActive;\n }\n\n @HostBinding('class.igx-slider-thumb-to--active')\n public get thumbToActiveClass() {\n return this.type === SliderHandle.TO && this._isActive;\n }\n\n @HostBinding('class.igx-slider-thumb-from--disabled')\n public get thumbFromDisabledClass() {\n return this.type === SliderHandle.FROM && this.disabled;\n }\n\n @HostBinding('class.igx-slider-thumb-to--disabled')\n public get thumbToDisabledClass() {\n return this.type === SliderHandle.TO && this.disabled;\n }\n\n @HostBinding('class.igx-slider-thumb-from--pressed')\n public get thumbFromPressedClass() {\n return this.type === SliderHandle.FROM && this.isActive && this._isPressed;\n }\n\n @HostBinding('class.igx-slider-thumb-to--pressed')\n public get thumbToPressedClass() {\n return this.type === SliderHandle.TO && this.isActive && this._isPressed;\n }\n\n public get getDotClass() {\n return {\n 'igx-slider-thumb-from__dot': this.type === SliderHandle.FROM,\n 'igx-slider-thumb-to__dot': this.type === SliderHandle.TO\n };\n }\n\n public isActive = false;\n\n public get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n public get destroy(): Subject<boolean> {\n return this._destroy$;\n }\n\n private _isActive = false;\n private _isPressed = false;\n private _destroy$ = new Subject<boolean>();\n\n private get thumbPositionX() {\n const thumbBounderies = this.nativeElement.getBoundingClientRect();\n const thumbCenter = (thumbBounderies.right - thumbBounderies.left) / 2;\n return thumbBounderies.left + thumbCenter;\n }\n\n @HostListener('pointerenter')\n public onPointerEnter() {\n this.focused = false;\n this.hoverChange.emit(true);\n }\n\n @HostListener('pointerleave')\n public onPointerLeave() {\n this.hoverChange.emit(false);\n }\n\n @HostListener('keyup', ['$event'])\n public onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n this.focused = true;\n }\n\n @HostListener('keydown', ['$event'])\n public onKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n let increment = 0;\n const isRTL = !isLeftToRight(this._elementRef.nativeElement);\n const stepWithDir = (rtl: boolean) => rtl ? this.step * -1 : this.step;\n if (event.key.endsWith('Left')) {\n increment = stepWithDir(!isRTL);\n } else if (event.key.endsWith('Right')) {\n increment = stepWithDir(isRTL);\n } else {\n return;\n }\n\n this.thumbChange.emit();\n this.thumbValueChange.emit(increment);\n }\n\n @HostListener('blur')\n public onBlur() {\n this.isActive = false;\n this.zIndex = 0;\n this.focused = false;\n this.thumbBlur.emit();\n }\n\n @HostListener('focus')\n public onFocusListener() {\n this.isActive = true;\n this.zIndex = 1;\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n this.onPan\n .pipe(takeUntil(this._destroy$))\n .subscribe(mouseX =>\n this.updateThumbValue(mouseX)\n );\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.complete();\n }\n\n /**\n * Show thumb label and ripple.\n */\n public showThumbIndicators() {\n this.toggleThumbIndicators(true);\n }\n\n /**\n * Hide thumb label and ripple.\n */\n public hideThumbIndicators() {\n this.toggleThumbIndicators(false);\n }\n\n private updateThumbValue(mouseX: number) {\n const updateValue = this.calculateTrackUpdate(mouseX);\n if (this.isActive && updateValue !== 0) {\n this.thumbValueChange.emit(updateValue);\n }\n }\n\n private calculateTrackUpdate(mouseX: number): number {\n const scaleX = !isLeftToRight(this._elementRef.nativeElement)\n ? this.thumbPositionX - mouseX\n : mouseX - this.thumbPositionX;\n const stepDistanceCenter = this.stepDistance / 2;\n\n // If the thumb scale range (slider update) is less than a half step,\n // the position stays the same.\n const scaleXPositive = Math.abs(scaleX);\n if (scaleXPositive < stepDistanceCenter) {\n return 0;\n }\n\n return this.stepToProceed(scaleX, this.stepDistance);\n }\n\n private stepToProceed(scaleX, stepDist) {\n return Math.round(scaleX / stepDist) * this.step;\n }\n\n private toggleThumbIndicators(visible: boolean) {\n this._isPressed = visible;\n\n if (this.continuous || this.deactiveState) {\n this._isActive = false;\n } else {\n this._isActive = visible;\n }\n\n }\n}\n","<div [ngClass]=\"getDotClass\"></div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * @hidden\n */\n@Pipe({\n name: 'spreadTickLabels',\n standalone: true\n})\nexport class IgxTickLabelsPipe implements PipeTransform {\n\n\n public transform(labels: Array<string | number | boolean | null | undefined>, secondaryTicks: number) {\n if (!labels) {\n return;\n }\n\n const result = [];\n labels.forEach(item => {\n result.push(item);\n for (let i = 0; i < secondaryTicks; i++) {\n result.push('');\n }\n });\n\n return result;\n }\n}\n","import { Component, Input, TemplateRef, HostBinding, booleanAttribute } from '@angular/core';\nimport { TicksOrientation, TickLabelsOrientation } from '../slider.common';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\n/**\n * @hidden\n */\n@Component({\n selector: 'igx-ticks',\n templateUrl: 'ticks.component.html',\n imports: [NgClass, NgTemplateOutlet]\n})\nexport class IgxTicksComponent {\n @Input()\n public primaryTicks: number;\n\n @Input()\n public secondaryTicks: number;\n\n @Input({ transform: booleanAttribute })\n public primaryTickLabels: boolean;\n\n @Input({ transform: booleanAttribute })\n public secondaryTickLabels: boolean;\n\n @Input()\n public ticksOrientation: TicksOrientation;\n\n @Input()\n public tickLabelsOrientation: TickLabelsOrientation;\n\n @Input()\n public maxValue: number;\n\n @Input()\n public minValue: number;\n\n @Input({ transform: booleanAttribute })\n public labelsViewEnabled: boolean;\n\n @Input()\n public labels: Array<number | string | boolean | null | undefined>;\n\n @Input()\n public tickLabelTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__ticks')\n public ticksClass = true;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__ticks--top')\n public get ticksTopClass() {\n return this.ticksOrientation === TicksOrientation.Top;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__ticks--tall')\n public get hasPrimaryClass() {\n return this.primaryTicks > 0;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__tick-labels--top-bottom')\n public get labelsTopToBottomClass() {\n return this.tickLabelsOrientation === TickLabelsOrientation.TopToBottom;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider__tick-labels--bottom-top')\n public get labelsBottomToTopClass() {\n return this.tickLabelsOrientation === TickLabelsOrientation.BottomToTop;\n }\n\n /**\n * Returns the template context corresponding to\n * {@link IgxTickLabelTemplateDirective}\n *\n * ```typescript\n * return {\n * $implicit //returns the value per each tick label.\n * isPrimery //returns if the tick is primary.\n * labels // returns the {@link labels} collection.\n * index // returns the index per each tick of the whole sequence.\n * }\n * ```\n *\n * @param idx the index per each tick label.\n */\n public context(idx: number): any {\n return {\n $implicit: this.tickLabel(idx),\n isPrimary: this.isPrimary(idx),\n labels: this.labels,\n index: idx\n };\n }\n\n /**\n * @hidden\n */\n public get ticksLength() {\n return this.primaryTicks > 0 ?\n ((this.primaryTicks - 1) * this.secondaryTicks) + this.primaryTicks :\n this.secondaryTicks > 0 ? this.secondaryTicks : 0;\n }\n\n public hiddenTickLabels(idx: number) {\n return this.isPrimary(idx) ? this.primaryTickLabels : this.secondaryTickLabels;\n }\n\n /**\n * @hidden\n */\n public isPrimary(idx: number) {\n return this.primaryTicks <= 0 ? false :\n idx % (this.secondaryTicks + 1) === 0;\n }\n\n /**\n * @hidden\n */\n public tickLabel(idx: number) {\n if (this.labelsViewEnabled) {\n return this.labels[idx];\n }\n\n const labelStep = (Math.max(this.minValue, this.maxValue) - Math.min(this.minValue, this.maxValue)) / (this.ticksLength - 1);\n const labelVal = labelStep * idx;\n\n return (this.minValue + labelVal).toFixed(2);\n }\n}\n","@for (n of [].constructor(ticksLength); track $index; let idx = $index) {\n <div class=\"igx-slider__ticks-group\" [ngClass]=\"{ 'igx-slider__ticks-group--tall': isPrimary(idx)}\">\n <div class=\"igx-slider__ticks-tick\">\n <span class=\"igx-slider__ticks-label\" [ngClass]=\"{ 'igx-slider__tick-label--hidden': !hiddenTickLabels(idx)}\">\n <ng-container *ngTemplateOutlet=\"tickLabelTemplateRef ? tickLabelTemplateRef : tickLabelDefaultTemplate; context: context(idx)\"></ng-container>\n </span>\n </div>\n </div>\n}\n\n<ng-template #tickLabelDefaultTemplate let-value>\n {{ value }}\n</ng-template>\n","import { AfterContentInit, AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, OnChanges, OnDestroy, OnInit, Output, QueryList, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewChildren, booleanAttribute, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { animationFrameScheduler, fromEvent, interval, merge, noop, Observable, Subject, timer } from 'rxjs';\nimport { takeUntil, throttle, throttleTime } from 'rxjs/operators';\nimport { EditorProvider, isLeftToRight, resizeObservable } from 'igniteui-angular/core';\nimport { IgxThumbLabelComponent } from './label/thumb-label.component';\nimport {\n IgxSliderType, IgxThumbFromTemplateDirective,\n IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective, IRangeSliderValue, ISliderValueChangeEventArgs, SliderHandle, TickLabelsOrientation, TicksOrientation\n} from './slider.common';\nimport { IgxSliderThumbComponent } from './thumb/thumb-slider.component';\nimport { IgxTickLabelsPipe } from './ticks/tick.pipe';\nimport { IgxTicksComponent } from './ticks/ticks.component';\n\nlet NEXT_ID = 0;\n\n/**\n * **Ignite UI for Angular Slider** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/slider/slider)\n *\n * The Ignite UI Slider allows selection in a given range by moving the thumb along the track. The track\n * can be defined as continuous or stepped, and you can choose between single and range slider types.\n *\n * Example:\n * ```html\n * <igx-slider id=\"slider\"\n * [minValue]=\"0\" [maxValue]=\"100\"\n * [continuous]=true [(ngModel)]=\"volume\">\n * </igx-slider>\n * ```\n */\n@Component({\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }],\n selector: 'igx-slider',\n templateUrl: 'slider.component.html',\n imports: [IgxTicksComponent, IgxThumbLabelComponent, IgxSliderThumbComponent, IgxTickLabelsPipe]\n})\nexport class IgxSliderComponent implements\n ControlValueAccessor,\n EditorProvider,\n OnInit,\n AfterViewInit,\n AfterContentInit,\n OnChanges,\n OnDestroy {\n private renderer = inject(Renderer2);\n private _el = inject(ElementRef);\n private _cdr = inject(ChangeDetectorRef);\n private _ngZone = inject(NgZone);\n\n /**\n * @hidden\n */\n public get thumbFrom(): IgxSliderThumbComponent {\n return this.thumbs.find(thumb => thumb.type === SliderHandle.FROM);\n }\n\n /**\n * @hidden\n */\n public get thumbTo(): IgxSliderThumbComponent {\n return this.thumbs.find(thumb => thumb.type === SliderHandle.TO);\n }\n\n private get labelFrom(): IgxThumbLabelComponent {\n return this.labelRefs.find(label => label.type === SliderHandle.FROM);\n }\n\n private get labelTo(): IgxThumbLabelComponent {\n return this.labelRefs.find(label => label.type === SliderHandle.TO);\n }\n\n /**\n * @hidden\n */\n @ViewChild('track', { static: true })\n public trackRef: ElementRef;\n\n /**\n * @hidden\n */\n @ContentChild(IgxThumbFromTemplateDirective, { read: TemplateRef })\n public thumbFromTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @ContentChild(IgxThumbToTemplateDirective, { read: TemplateRef })\n public thumbToTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @ContentChild(IgxTickLabelTemplateDirective, { read: TemplateRef, static: false })\n public tickLabelTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider')\n public slierClass = true;\n\n /**\n * Sets the value of the `id` attribute.\n * If not provided it will be automatically generated.\n * ```html\n * <igx-slider [id]=\"'igx-slider-32'\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-slider-${NEXT_ID++}`;\n\n /**\n * Sets the duration visibility of thumbs labels. The default value is 750 milliseconds.\n * ```html\n * <igx-slider #slider [thumbLabelVisibilityDuration]=\"3000\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Input()\n public thumbLabelVisibilityDuration = 750;\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-slider--disabled')\n public get disabledClass() {\n return this.disabled;\n }\n\n /**\n * Gets the type of the `IgxSliderComponent`.\n * The slider can be IgxSliderType.SLIDER(default) or IgxSliderType.RANGE.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let type = this.slider.type;\n * }\n */\n @Input()\n public get type() {\n return this._type as IgxSliderType;\n }\n\n /**\n * Sets the type of the `IgxSliderComponent`.\n * The slider can be IgxSliderType.SLIDER(default) or IgxSliderType.RANGE.\n * ```typescript\n * sliderType: IgxSliderType = IgxSliderType.RANGE;\n * ```\n * ```html\n * <igx-slider #slider2 [type]=\"sliderType\" [(ngModel)]=\"rangeValue\" [minValue]=\"0\" [maxValue]=\"100\">\n * ```\n */\n public set type(type: IgxSliderType) {\n this._type = type;\n\n if (type === IgxSliderType.SLIDER) {\n this.lowerValue = 0;\n }\n\n if (this._hasViewInit) {\n this.updateTrack();\n }\n }\n\n\n /**\n * Enables `labelView`, by accepting a collection of primitive values with more than one element.\n * Each element will be equally spread over the slider and it will serve as a thumb label.\n * Once the property is set, it will precendence over {@link maxValue}, {@link minValue}, {@link step}.\n * This means that the manipulation for those properties won't be allowed.\n */\n @Input()\n public get labels() {\n return this._labels;\n }\n\n public set labels(labels: Array<number | string | boolean | null | undefined>) {\n this._labels = labels;\n\n this._pMax = this.valueToFraction(this.upperBound, 0, 1);\n this._pMin = this.valueToFraction(this.lowerBound, 0, 1);\n\n this.positionHandlersAndUpdateTrack();\n\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the template context corresponding\n * to {@link IgxThumbFromTemplateDirective} and {@link IgxThumbToTemplateDirective} templates.\n *\n * ```typescript\n * return {\n * $implicit // returns the value of the label,\n * labels // returns the labels collection the user has passed.\n * }\n * ```\n */\n public get context(): any {\n return {\n $implicit: this.value,\n labels: this.labels\n };\n }\n\n /**\n * Sets the incremental/decremental step of the value when dragging the thumb.\n * The default step is 1, and step should not be less or equal than 0.\n * ```html\n * <igx-slider #slider [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Input()\n public set step(step: number) {\n this._step = step;\n\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.normalizeByStep(this._value);\n this.setValue(this._value, true);\n this.positionHandlersAndUpdateTrack();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the incremental/decremental dragging step of the {@link IgxSliderComponent}.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let step = this.slider.step;\n * }\n * ```\n */\n public get step() {\n return this.labelsViewEnabled ? 1 : this._step;\n }\n\n /**\n * Returns if the {@link IgxSliderComponent} is disabled.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let isDisabled = this.slider.disabled;\n * }\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Disables the component.\n * ```html\n * <igx-slider #slider [disabled]=\"true\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n public set disabled(disable: boolean) {\n this._disabled = disable;\n\n if (this._hasViewInit) {\n this.changeThumbFocusableState(disable);\n }\n }\n\n /**\n * Returns if the {@link IgxSliderComponent} is set as continuous.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let continuous = this.slider.continuous;\n * }\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get continuous(): boolean {\n return this._continuous;\n }\n\n /**\n * Sets the {@link IgxSliderComponent} as continuous.\n * By default is considered that the {@link IgxSliderComponent} is discrete.\n * Discrete {@link IgxSliderComponent} slider has step indicators over the track and visible thumb labels during interaction.\n * Continuous {@link IgxSliderComponent} does not have ticks and does not show bubble labels for values.\n * ```html\n * <igx-slider #slider [continuous]=\"'true'\" [(ngModel)]=\"task.percentCompleted\" [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n public set continuous(continuous: boolean) {\n this._continuous = continuous;\n if (this._hasViewInit) {\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the minimal displayed track value of the `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderMin = this.slider.minValue;\n * }\n * ```\n */\n public get minValue(): number {\n if (this.labelsViewEnabled) {\n return 0;\n }\n\n return this._minValue;\n }\n\n /**\n * Sets the minimal displayed track value for the `IgxSliderComponent`.\n * The default minimal value is 0.\n * ```html\n * <igx-slider [type]=\"sliderType\" [minValue]=\"56\" [maxValue]=\"100\">\n * ```\n */\n @Input()\n public set minValue(value: number) {\n if (value >= this.maxValue) {\n return;\n } else {\n this._minValue = value;\n }\n\n if (value > this._upperBound) {\n this.updateUpperBoundAndMaxTravelZone();\n this.lowerBound = value;\n }\n\n // Refresh min travel zone limit.\n this._pMin = 0;\n // Recalculate step distance.\n this.positionHandlersAndUpdateTrack();\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the maximum displayed track value for the {@link IgxSliderComponent}.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderMax = this.slider.maxValue;\n * }\n * ```\n */\n public get maxValue(): number {\n return this.labelsViewEnabled ?\n this.labels.length - 1 :\n this._maxValue;\n }\n\n /**\n * Sets the maximal displayed track value for the `IgxSliderComponent`.\n * The default maximum value is 100.\n * ```html\n * <igx-slider [type]=\"sliderType\" [minValue]=\"56\" [maxValue]=\"256\">\n * ```\n */\n @Input()\n public set maxValue(value: number) {\n if (value <= this._minValue) {\n return;\n } else {\n this._maxValue = value;\n }\n\n if (value < this._lowerBound) {\n this.updateLowerBoundAndMinTravelZone();\n this.upperBound = value;\n }\n\n // refresh max travel zone limits.\n this._pMax = 1;\n // recalculate step distance.\n this.positionHandlersAndUpdateTrack();\n if (this._hasViewInit) {\n this.stepDistance = this.calculateStepDistance();\n this.setTickInterval();\n }\n }\n\n /**\n * Returns the lower boundary of settable values of the `IgxSliderComponent`.\n * If not set, will return `minValue`.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderLowBound = this.slider.lowerBound;\n * }\n * ```\n */\n public get lowerBound(): number {\n if (!Number.isNaN(this._lowerBound) && this._lowerBound !== undefined) {\n return this.valueInRange(this._lowerBound, this.minValue, this.maxValue);\n }\n\n return this.minValue;\n }\n\n /**\n * Sets the lower boundary of settable values of the `IgxSliderComponent`.\n * If not set is the same as min value.\n * ```html\n * <igx-slider [step]=\"5\" [lowerBound]=\"20\">\n * ```\n */\n @Input()\n public set lowerBound(value: number) {\n if (value >= this.upperBound || (this.labelsViewEnabled && value < 0)) {\n return;\n }\n\n this._lowerBound = this.valueInRange(value, this.minValue, this.maxValue);\n\n // Refresh min travel zone.\n this._pMin = this.valueToFraction(this._lowerBound, 0, 1);\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * Returns the upper boundary of settable values of the `IgxSliderComponent`.\n * If not set, will return `maxValue`\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderUpBound = this.slider.upperBound;\n * }\n * ```\n */\n public get upperBound(): number {\n if (!Number.isNaN(this._upperBound) && this._upperBound !== undefined) {\n return this.valueInRange(this._upperBound, this.minValue, this.maxValue);\n }\n\n return this.maxValue;\n }\n\n /**\n * Sets the upper boundary of the `IgxSliderComponent`.\n * If not set is the same as max value.\n * ```html\n * <igx-slider [step]=\"5\" [upperBound]=\"20\">\n * ```\n */\n @Input()\n public set upperBound(value: number) {\n if (value <= this.lowerBound || (this.labelsViewEnabled && value > this.labels.length - 1)) {\n return;\n }\n\n this._upperBound = this.valueInRange(value, this.minValue, this.maxValue);\n // Refresh time travel zone.\n this._pMax = this.valueToFraction(this._upperBound, 0, 1);\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * Returns the slider value. If the slider is of type {@link IgxSliderType.SLIDER} the returned value is number.\n * If the slider type is {@link IgxSliderType.RANGE}.\n * The returned value represents an object of {@link lowerValue} and {@link upperValue}.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * public sliderValue(event){\n * let sliderVal = this.slider.value;\n * }\n * ```\n */\n public get value(): number | IRangeSliderValue {\n if (this.isRange) {\n return {\n lower: this.valueInRange(this.lowerValue, this.lowerBound, this.upperBound),\n upper: this.valueInRange(this.upperValue, this.lowerBound, this.upperBound)\n };\n } else {\n return this.valueInRange(this.upperValue, this.lowerBound, this.upperBound);\n }\n }\n\n /**\n * Sets the slider value.\n * If the slider is of type {@link IgxSliderType.SLIDER}.\n * The argument is number. By default the {@link value} gets the {@link lowerBound}.\n * If the slider type is {@link IgxSliderType.RANGE} the argument\n * represents an object of {@link lowerValue} and {@link upperValue} properties.\n * By default the object is associated with the {@link lowerBound} and {@link upperBound} property values.\n * ```typescript\n * rangeValue = {\n * lower: 30,\n * upper: 60\n * };\n * ```\n * ```html\n * <igx-slider [type]=\"sliderType\" [(ngModel)]=\"rangeValue\" [minValue]=\"56\" [maxValue]=\"256\">\n * ```\n */\n @Input()\n public set value(value: number | IRangeSliderValue) {\n this.normalizeByStep(value);\n\n if (this._hasViewInit) {\n this.setValue(this._value, true);\n this.positionHandlersAndUpdateTrack();\n }\n }\n\n /**\n * Returns the number of the presented primary ticks.\n * ```typescript\n * const primaryTicks = this.slider.primaryTicks;\n * ```\n */\n @Input()\n public get primaryTicks() {\n if (this.labelsViewEnabled) {\n return this._primaryTicks = this.labels.length;\n }\n return this._primaryTicks;\n }\n\n /**\n * Sets the number of primary ticks. If {@link @labels} is enabled, this property won't function.\n * Insted enable ticks by {@link showTicks} property.\n * ```typescript\n * this.slider.primaryTicks = 5;\n * ```\n */\n public set primaryTicks(val: number) {\n if (val <= 1) {\n return;\n }\n\n this._primaryTicks = val;\n }\n\n /**\n * Returns the number of the presented secondary ticks.\n * ```typescript\n * const secondaryTicks = this.slider.secondaryTicks;\n * ```\n */\n @Input()\n public get secondaryTicks() {\n return this._secondaryTicks;\n }\n\n /**\n * Sets the number of secondary ticks. The property functions even when {@link labels} is enabled,\n * but all secondary ticks won't present any tick labels.\n * ```typescript\n * this.slider.secondaryTicks = 5;\n * ```\n */\n public set secondaryTicks(val: number) {\n if (val < 1) {\n return;\n }\n\n this._secondaryTicks = val;\n }\n\n /**\n * Show/hide slider ticks\n * ```html\n * <igx-slier [showTicks]=\"true\" [primaryTicks]=\"5\"></igx-slier>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public showTicks = false;\n\n /**\n * show/hide primary tick labels\n * ```html\n * <igx-slider [primaryTicks]=\"5\" [primaryTickLabels]=\"false\"></igx-slider>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public primaryTickLabels = true;\n\n /**\n * show/hide secondary tick labels\n * ```html\n * <igx-slider [secondaryTicks]=\"5\" [secondaryTickLabels]=\"false\"></igx-slider>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public secondaryTickLabels = true;\n\n /**\n * Changes ticks orientation:\n * bottom - The default orienation, below the slider track.\n * top - Above the slider track\n * mirror - combines top and bottom orientation.\n * ```html\n * <igx-slider [primaryTicks]=\"5\" [ticksOrientation]=\"ticksOrientation\"></igx-slider>\n * ```\n */\n @Input()\n public ticksOrientation: TicksOrientation = TicksOrientation.Bottom;\n\n /**\n * Changes tick labels rotation:\n * horizontal - The default rotation\n * toptobottom - Rotates tick labels vertically to 90deg\n * bottomtotop - Rotate tick labels vertically to -90deg\n * ```html\n * <igx-slider [primaryTicks]=\"5\" [secondaryTicks]=\"3\" [tickLabelsOrientation]=\"tickLabelsOrientaiton\"></igx-slider>\n * ```\n */\n @Input()\n public tickLabelsOrientation: TickLabelsOrientation = TickLabelsOrientation.Horizontal;\n\n /**\n * @hidden\n */\n public get deactivateThumbLabel() {\n return ((this.primaryTicks && this.primaryTickLabels) || (this.secondaryTicks && this.secondaryTickLabels)) &&\n (this.ticksOrientation === TicksOrientation.Top || this.ticksOrientation === TicksOrientation.Mirror);\n }\n\n /**\n * This event is emitted every time the value is changed.\n * ```typescript\n * public change(event){\n * alert(\"The value has been changed!\");\n * }\n * ```\n * ```html\n * <igx-slider (valueChange)=\"change($event)\" #slider [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Output()\n public valueChange = new EventEmitter<ISliderValueChangeEventArgs>();\n\n /**\n * This event is emitted every time the lower value of a range slider is changed.\n * ```typescript\n * public change(value){\n * alert(`The lower value has been changed to ${value}`);\n * }\n * ```\n * ```html\n * <igx-slider [(lowerValue)]=\"model.lowervalue\" (lowerValueChange)=\"change($event)\" [step]=\"5\">\n * ```\n */\n @Output()\n public lowerValueChange = new EventEmitter<number>();\n\n /**\n * This event is emitted every time the upper value of a range slider is changed.\n * ```typescript\n * public change(value){\n * alert(`The upper value has been changed to ${value}`);\n * }\n * ```\n * ```html\n * <igx-slider [(upperValue)]=\"model.uppervalue\" (upperValueChange)=\"change($event)\" [step]=\"5\">\n * ```\n */\n @Output()\n public upperValueChange = new EventEmitter<number>();\n\n /**\n * This event is emitted at the end of every slide interaction.\n * ```typescript\n * public change(event){\n * alert(\"The value has been changed!\");\n * }\n * ```\n * ```html\n * <igx-slider (dragFinished)=\"change($event)\" #slider [(ngModel)]=\"task.percentCompleted\" [step]=\"5\">\n * ```\n */\n @Output()\n public dragFinished = new EventEmitter<number | IRangeSliderValue>();\n\n /**\n * @hidden\n */\n @ViewChild('ticks', { static: true })\n private ticks: ElementRef;\n\n /**\n * @hidden\n */\n @ViewChildren(IgxSliderThumbComponent)\n private thumbs: QueryList<IgxSliderThumbComponent> = new QueryList<IgxSliderThumbComponent>();\n\n /**\n * @hidden\n */\n @ViewChildren(IgxThumbLabelComponent)\n private labelRefs: QueryList<IgxThumbLabelComponent> = new QueryList<IgxThumbLabelComponent>();\n\n /**\n * @hidden\n */\n public onPan: Subject<number> = new Subject<number>();\n\n /**\n * @hidden\n */\n public stepDistance: number;\n\n // Limit handle travel zone\n private _pMin = 0;\n private _pMax = 1;\n\n // From/upperValue in percent values\n private _hasViewInit = false;\n private _minValue = 0;\n private _maxValue = 100;\n private _lowerBound: number;\n private _upperBound: number;\n private _lowerValue: number;\n private _upperValue: number;\n private _continuous = false;\n private _disabled = false;\n private _step = 1;\n private _value: number | IRangeSliderValue = 0;\n\n // ticks\n private _primaryTicks = 0;\n private _secondaryTicks = 0;\n private _sliding = false;\n\n private _labels = new Array<number | string | boolean | null | undefined>();\n private _type: IgxSliderType = IgxSliderType.SLIDER;\n\n private _destroyer$ = new Subject<boolean>();\n private _indicatorsDestroyer$ = new Subject<boolean>();\n private _indicatorsTimer: Observable<any>;\n\n private _onChangeCallback: (_: any) => void = noop;\n private _onTouchedCallback: () => void = noop;\n\n constructor() {\n this.stepDistance = this._step;\n }\n\n /**\n * @hidden\n */\n @HostListener('focus')\n public onFocus() {\n this.toggleSliderIndicators();\n }\n\n /**\n * Returns whether the `IgxSliderComponent` type is RANGE.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * ngAfterViewInit(){\n * let sliderRange = this.slider.isRange;\n * }\n * ```\n */\n public get isRange(): boolean {\n return this.type === IgxSliderType.RANGE;\n }\n\n /**\n * Returns the lower value of a RANGE `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * public lowValue(event){\n * let sliderLowValue = this.slider.lowerValue;\n * }\n * ```\n */\n public get lowerValue(): number {\n if (!Number.isNaN(this._lowerValue) && this._lowerValue !== undefined && this._lowerValue >= this.lowerBound) {\n return this._lowerValue;\n }\n\n return this.lowerBound;\n }\n\n /**\n * Sets the lower value of a RANGE `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * public lowValue(event){\n * this.slider.lowerValue = value;\n * }\n * ```\n */\n @Input()\n public set lowerValue(value: number) {\n const adjustedValue = this.valueInRange(value, this.lowerBound, this.upperBound);\n if (this._lowerValue !== adjustedValue) {\n this._lowerValue = adjustedValue;\n this.lowerValueChange.emit(this._lowerValue);\n this.value = { lower: this._lowerValue, upper: this._upperValue };\n }\n }\n\n /**\n * Returns the upper value of a RANGE `IgxSliderComponent`.\n * Returns `value` of a SLIDER `IgxSliderComponent`\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * public upperValue(event){\n * let upperValue = this.slider.upperValue;\n * }\n * ```\n */\n public get upperValue() {\n if (!Number.isNaN(this._upperValue) && this._upperValue !== undefined && this._upperValue <= this.upperBound) {\n return this._upperValue;\n }\n\n return this.upperBound;\n }\n\n /**\n * Sets the upper value of a RANGE `IgxSliderComponent`.\n * ```typescript\n * @ViewChild(\"slider2\")\n * public slider: IgxSliderComponent;\n * public upperValue(event){\n * this.slider.upperValue = value;\n * }\n * ```\n */\n @Input()\n public set upperValue(value: number) {\n const adjustedValue = this.valueInRange(value, this.lowerBound, this.upperBound);\n if (this._upperValue !== adjustedValue) {\n this._upperValue = adjustedValue;\n this.upperValueChange.emit(this._upperValue);\n this.value = { lower: this._lowerValue, upper: this._upperValue };\n }\n }\n\n /**\n * Returns the value corresponding the lower label.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * let label = this.slider.lowerLabel;\n * ```\n */\n public get lowerLabel() {\n return this.labelsViewEnabled ? this.labels[this.lowerValue] : this.lowerValue;\n }\n\n /**\n * Returns the value corresponding the upper label.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * let label = this.slider.upperLabel;\n * ```\n */\n public get upperLabel() {\n return this.labelsViewEnabled ? this.labels[this.upperValue] : this.upperValue;\n }\n\n /**\n * Returns if label view is enabled.\n * If the {@link labels} is set, the view is automatically activated.\n * ```typescript\n * @ViewChild(\"slider\")\n * public slider: IgxSliderComponent;\n * let labelView = this.slider.labelsViewEnabled;\n * ```\n */\n public get labelsViewEnabled(): boolean {\n return !!(this.labels && this.labels.length > 1);\n }\n\n /**\n * @hidden\n */\n public get showTopTicks() {\n return this.ticksOrientation === TicksOrientation.Top ||\n this.ticksOrientation === TicksOrientation.Mirror;\n }\n\n /**\n * @hidden\n */\n public get showBottomTicks() {\n return this.ticksOrientation === TicksOrientation.Bottom ||\n this.ticksOrientation === TicksOrientation.Mirror;\n }\n\n /**\n * @hidden\n */\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.minValue && changes.maxValue &&\n changes.minValue.currentValue < changes.maxValue.currentValue) {\n this._maxValue = changes.maxValue.currentValue;\n this._minValue = changes.minValue.currentValue;\n }\n\n if (changes.step && changes.step.isFirstChange()) {\n this.normalizeByStep(this._value);\n }\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n /**\n * if {@link SliderType.SLIDER} than the initial value shold be the lowest one.\n */\n if (!this.isRange) {\n this._upperValue = this.lowerBound;\n }\n\n // Set track travel zone\n this._pMin = this.valueToFraction(this.lowerBound) || 0;\n this._pMax = this.valueToFraction(this.upperBound) || 1;\n }\n\n public ngAfterContentInit() {\n this.setValue(this._value, false);\n }\n\n /**\n * @hidden\n */\n public ngAfterViewInit() {\n this._hasViewInit = true;\n this.stepDistance = this.calculateStepDistance();\n this.positionHandlersAndUpdateTrack();\n this.setTickInterval();\n this.changeThumbFocusableState(this.disabled);\n\n this.subscribeToEvents(this.thumbFrom);\n this.subscribeToEvents(this.thumbTo);\n\n this.thumbs.changes.pipe(takeUntil(this._destroyer$)).subscribe(change => {\n const thumbFrom = change.find((thumb: IgxSliderThumbComponent) => thumb.type === SliderHandle.FROM);\n this.positionHandler(thumbFrom, null, this.lowerValue);\n this.subscribeToEvents(thumbFrom);\n this.changeThumbFocusableState(this.disabled);\n });\n\n this.labelRefs.changes.pipe(takeUntil(this._destroyer$)).subscribe(() => {\n const labelFrom = this.labelRefs.find((label: IgxThumbLabelComponent) => label.type === SliderHandle.FROM);\n this.positionHandler(null, labelFrom, this.lowerValue);\n });\n\n this._ngZone.runOutsideAngular(() => {\n resizeObservable(this._el.nativeElement).pipe(\n throttleTime(40),\n takeUntil(this._destroyer$)).subscribe(() => this._ngZone.run(() => {\n this.stepDistance = this.calculateStepDistance();\n }));\n fromEvent(this._el.nativeElement, 'pointermove').pipe(\n throttle(() => interval(0, animationFrameScheduler)),\n takeUntil(this._destroyer$)).subscribe(($event: PointerEvent) => this._ngZone.run(() => {\n this.onPointerMove($event);\n }));\n });\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._destroyer$.next(true);\n this._destroyer$.complete();\n\n this._indicatorsDestroyer$.next(true);\n this._indicatorsDestroyer$.complete();\n }\n\n /**\n * @hidden\n */\n public writeValue(value: IRangeSliderValue | number): void {\n if (this.isNullishButNotZero(value)) {\n return;\n }\n\n this.normalizeByStep(value);\n this.setValue(this._value, false);\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * @hidden\n */\n public registerOnChange(fn: any): void {\n this._onChangeCallback = fn;\n }\n\n /**\n * @hidden\n */\n public registerOnTouched(fn: any): void {\n this._onTouchedCallback = fn;\n }\n\n /** @hidden */\n public getEditElement() {\n return this.isRange ? this.thumbFrom.nativeElement : this.thumbTo.nativeElement;\n }\n\n /**\n *\n * @hidden\n */\n public update(mouseX) {\n if (this.disabled) {\n return;\n }\n\n // Update To/From Values\n this.onPan.next(mouseX);\n\n // Finally do positionHandlersAndUpdateTrack the DOM\n // based on data values\n this.positionHandlersAndUpdateTrack();\n }\n\n /**\n * @hidden\n */\n public thumbChanged(value: number, thumbType: string) {\n const oldValue = this.value;\n\n if (this.isRange) {\n if (thumbType === SliderHandle.FROM) {\n if (this.lowerValue + value > this.upperValue) {\n this.upperValue = this.lowerValue + value;\n }\n this.lowerValue += value;\n } else {\n if (this.upperValue + value < this.lowerValue) {\n this.lowerValue = this.upperValue + value;\n }\n this.upperValue += value;\n }\n\n const newVal: IRangeSliderValue = {\n lower: this.lowerValue,\n upper: this.upperValue\n }\n\n // Swap the thumbs if a collision appears.\n // if (newVal.lower == newVal.upper) {\n // this.toggleThumb();\n // }\n\n this.value = newVal;\n\n } else {\n const newVal = (this.value as number) + value;\n if (newVal >= this.lowerBound && newVal <= this.upperBound) {\n this.value = newVal;\n }\n }\n\n if (this.hasValueChanged(oldValue)) {\n this.emitValueChange(oldValue);\n }\n }\n\n /**\n * @hidden\n */\n public onThumbChange() {\n this.toggleSliderIndicators();\n }\n\n /**\n * @hidden\n */\n public onHoverChange(state: boolean) {\n return state ? this.showSliderIndicators() : this.hideSliderIndicators();\n }\n\n public setValue(value: number | IRangeSliderValue, triggerChange: boolean) {\n let res;\n if (!this.isRange) {\n value = value as number;\n if (!isNaN(value)) {\n this._upperValue = value - value % this.step;\n res = this.upperValue;\n }\n } else {\n value = this.validateInitialValue(value as IRangeSliderValue);\n this._upperValue = value.upper;\n this._lowerValue = value.lower;\n res = { lower: this.lowerValue, upper: this.upperValue };\n }\n\n if (triggerChange) {\n this._onChangeCallback(res);\n }\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown($event: PointerEvent) {\n this.findClosestThumb($event);\n\n if (!this.thumbTo.isActive && this.thumbFrom === undefined) {\n return;\n }\n\n this._sliding = true;\n const activeThumb = this.thumbTo.isActive ? this.thumbTo : this.thumbFrom;\n activeThumb.nativeElement.setPointerCapture($event.pointerId);\n this.showSliderIndicators();\n\n $event.preventDefault();\n }\n\n private onPointerMove($event: PointerEvent) {\n if (this._sliding) {\n this.update($event.clientX);\n }\n }\n\n @HostListener('pointerup', ['$event'])\n protected onPointerUp($event: PointerEvent) {\n if (!this.thumbTo.isActive && this.thumbFrom === undefined) {\n return;\n }\n\n const activeThumb = this.thumbTo.isActive ? this.thumbTo : this.thumbFrom;\n activeThumb.nativeElement.releasePointerCapture($event.pointerId);\n\n this._sliding = false;\n this.hideSliderIndicators();\n this.dragFinished.emit(this.value);\n }\n\n private validateInitialValue(value: IRangeSliderValue) {\n if (value.upper < value.lower) {\n const temp = value.upper;\n value.upper = value.lower;\n value.lower = temp;\n }\n\n if (value.lower < this.lowerBound) {\n value.lower = this.lowerBound;\n }\n\n if (value.upper > this.upperBound) {\n value.upper = this.upperBound;\n }\n\n return value;\n }\n\n private findClosestThumb(event: PointerEvent) {\n if (this.isRange) {\n this.closestHandle(event);\n } else {\n this.thumbTo.nativeElement.focus();\n }\n\n this.update(event.clientX);\n }\n\n private updateLowerBoundAndMinTravelZone() {\n this.lowerBound = this.minValue;\n this._pMin = 0;\n }\n\n private updateUpperBoundAndMaxTravelZone() {\n this.upperBound = this.maxValue;\n this._pMax = 1;\n }\n\n private calculateStepDistance() {\n return this._el.nativeElement.getBoundingClientRect().width / (this.maxValue - this.minValue) * this.step;\n }\n\n private valueInRange(value, min = 0, max = 100) {\n return Math.max(Math.min(value, max), min);\n }\n\n private positionHandler(thumbHandle: ElementRef, labelHandle: ElementRef, position: number) {\n const percent = `${this.valueToFraction(position) * 100}%`;\n const dir = !isLeftToRight(this._el.nativeElement) ? 'right' : 'left';\n\n if (thumbHandle) {\n thumbHandle.nativeElement.style[dir] = percent;\n }\n\n if (labelHandle) {\n labelHandle.nativeElement.style[dir] = percent;\n }\n }\n\n private positionHandlersAndUpdateTrack() {\n if (!this.isRange) {\n this.positionHandler(this.thumbTo, this.labelTo, this.value as number);\n } else {\n this.positionHandler(this.thumbTo, this.labelTo, (this.value as IRangeSliderValue).upper);\n this.positionHandler(this.thumbFrom, this.labelFrom, (this.value as IRangeSliderValue).lower);\n }\n\n if (this._hasViewInit) {\n this.updateTrack();\n }\n }\n\n private closestHandle(event: PointerEvent) {\n const fromOffset = this.thumbFrom.nativeElement.offsetLeft + this.thumbFrom.nativeElement.offsetWidth / 2;\n const toOffset = this.thumbTo.nativeElement.offsetLeft + this.thumbTo.nativeElement.offsetWidth / 2;\n const xPointer = event.clientX - this._el.nativeElement.getBoundingClientRect().left;\n const match = this.closestTo(xPointer, [fromOffset, toOffset]);\n\n if (fromOffset === toOffset && toOffset < xPointer) {\n this.thumbTo.nativeElement.focus();\n } else if (fromOffset === toOffset && toOffset > xPointer) {\n this.thumbFrom.nativeElement.focus();\n } else if (match === fromOffset) {\n this.thumbFrom.nativeElement.focus();\n } else {\n this.thumbTo.nativeElement.focus();\n }\n }\n\n private setTickInterval() {\n let tickInterval;\n const trackProgress = 100;\n\n if (this.labelsViewEnabled) {\n // Calc ticks depending on the labels length;\n tickInterval = ((trackProgress / (this.labels.length - 1) * 10)) / 10;\n } else {\n const trackRange = this.maxValue - this.minValue;\n tickInterval = this.step > 1 ?\n (trackProgress / ((trackRange / this.step)) * 10) / 10\n : null;\n }\n\n this.renderer.setStyle(this.ticks.nativeElement, 'stroke-dasharray', `0, ${tickInterval * Math.sqrt(2)}%`);\n this.renderer.setStyle(this.ticks.nativeElement, 'visibility', this.continuous || tickInterval === null ? 'hidden' : 'visible');\n }\n\n private showSliderIndicators() {\n if (this.disabled) {\n return;\n }\n\n if (this._indicatorsTimer) {\n this._indicatorsDestroyer$.next(true);\n this._indicatorsTimer = null;\n }\n\n this.thumbTo.showThumbIndicators();\n this.labelTo.active = true;\n if (this.thumbFrom) {\n this.thumbFrom.showThumbIndicators();\n }\n\n if (this.labelFrom) {\n this.labelFrom.active = true;\n }\n\n }\n\n private hideSliderIndicators() {\n if (this.disabled) {\n return;\n }\n\n this._indicatorsTimer = timer(this.thumbLabelVisibilityDuration);\n this._indicatorsTimer.pipe(takeUntil(this._indicatorsDestroyer$)).subscribe(() => {\n this.thumbTo.hideThumbIndicators();\n this.labelTo.active = false;\n if (this.thumbFrom) {\n this.thumbFrom.hideThumbIndicators();\n }\n\n if (this.labelFrom) {\n this.labelFrom.active = false;\n }\n });\n }\n\n private toggleSliderIndicators() {\n this.showSliderIndicators();\n this.hideSliderIndicators();\n }\n\n private changeThumbFocusableState(state: boolean) {\n const value = state ? -1 : 0;\n\n if (this.isRange) {\n this.thumbFrom.tabindex = value;\n }\n\n this.thumbTo.tabindex = value;\n\n this._cdr.detectChanges();\n }\n\n private closestTo(goal: number, positions: number[]): number {\n return positions.reduce((previous, current) => (Math.abs(goal - current) < Math.abs(goal - previous) ? current : previous));\n }\n\n private valueToFraction(value: number, pMin = this._pMin, pMax = this._pMax) {\n return this.valueInRange((value - this.minValue) / (this.maxValue - this.minValue), pMin, pMax);\n }\n\n private isNullishButNotZero(value: any): boolean {\n return !value && value !== 0;\n }\n\n /**\n * @hidden\n * Normalizе the value when two-way data bind is used and {@link this.step} is set.\n * @param value\n */\n private normalizeByStep(value: IRangeSliderValue | number) {\n if (this.isRange) {\n this._value = {\n lower: Math.floor((value as IRangeSliderValue).lower / this.step) * this.step,\n upper: Math.floor((value as IRangeSliderValue).upper / this.step) * this.step\n };\n } else {\n this._value = Math.floor((value as number) / this.step) * this.step;\n }\n }\n\n private updateTrack() {\n const fromPosition = this.valueToFraction(this.lowerValue);\n const toPosition = this.valueToFraction(this.upperValue);\n const positionGap = toPosition - fromPosition;\n\n let trackLeftIndention = fromPosition;\n if (this.isRange) {\n if (positionGap) {\n trackLeftIndention = Math.round((1 / positionGap * fromPosition) * 100);\n }\n\n const rtl = !isLeftToRight(this._el.nativeElement);\n trackLeftIndention = rtl ? -trackLeftIndention : trackLeftIndention;\n this.renderer.setStyle(this.trackRef.nativeElement, 'transform', `scaleX(${positionGap}) translateX(${trackLeftIndention}%)`);\n } else {\n this.renderer.setStyle(this.trackRef.nativeElement, 'transform', `scaleX(${toPosition})`);\n }\n }\n\n private subscribeToEvents(thumb: IgxSliderThumbComponent) {\n if (!thumb) {\n return;\n }\n\n thumb.thumbValueChange\n .pipe(takeUntil(this.unsubscriber(thumb)))\n .subscribe(value => this.thumbChanged(value, thumb.type));\n\n thumb.thumbBlur\n .pipe(takeUntil(this.unsubscriber(thumb)))\n .subscribe(() => this._onTouchedCallback());\n }\n\n private unsubscriber(thumb: IgxSliderThumbComponent) {\n return merge(this._destroyer$, thumb.destroy);\n }\n\n private hasValueChanged(oldValue) {\n const isSliderWithDifferentValue: boolean = !this.isRange && oldValue !== this.value;\n const isRangeWithOneDifferentValue: boolean = this.isRange &&\n ((oldValue as IRangeSliderValue).lower !== (this.value as IRangeSliderValue).lower ||\n (oldValue as IRangeSliderValue).upper !== (this.value as IRangeSliderValue).upper);\n\n return isSliderWithDifferentValue || isRangeWithOneDifferentValue;\n }\n\n private emitValueChange(oldValue: number | IRangeSliderValue) {\n this.valueChange.emit({ oldValue, value: this.value });\n }\n}\n\n/**\n * @hidden\n */\n\n","@if (showTicks && showTopTicks) {\n <igx-ticks\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n @if (isRange) {\n <igx-thumb-label\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n }\n\n @if (isRange) {\n <igx-thumb\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n }\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n@if (showTicks && showBottomTicks) {\n <igx-ticks\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n","import { IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective } from './slider.common';\nimport { IgxSliderComponent } from './slider.component';\n\nexport * from './slider.component';\nexport * from './slider.common';\n\n/* NOTE: Slider directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_SLIDER_DIRECTIVES = [\n IgxSliderComponent,\n IgxThumbFromTemplateDirective,\n IgxThumbToTemplateDirective,\n IgxTickLabelTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_SLIDER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_SLIDER_DIRECTIVES\n ],\n exports: [\n ...IGX_SLIDER_DIRECTIVES\n ]\n})\nexport class IgxSliderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxSliderComponent","i2.IgxThumbFromTemplateDirective","i2.IgxThumbToTemplateDirective","i2.IgxTickLabelTemplateDirective"],"mappings":"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"}
|
|
@@ -163,10 +163,10 @@ class IgxSnackbarComponent extends IgxNotificationsDirective {
|
|
|
163
163
|
this.animationDone.emit(closedEventArgs);
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxSnackbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: IgxSnackbarComponent, isStandalone: true, selector: "igx-snackbar", inputs: { id: "id", actionText: "actionText", positionSettings: "positionSettings" }, outputs: { clicked: "clicked", animationStarted: "animationStarted", animationDone: "animationDone" }, host: { properties: { "attr.id": "this.id", "class.igx-snackbar": "this.cssClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"igx-snackbar__message\">\n {{ textMessage }}\n <ng-content></ng-content>\n</div>\n<div #customButton class=\"igx-snackbar__button\">\n <ng-content select=\"[igxButton]\"></ng-content>\n</div>\n@if (!customButton.children.length && actionText) {\n <button igxButton (click)=\"triggerAction()\">\n {{ actionText }}\n </button>\n}\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }] }); }
|
|
168
168
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxSnackbarComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
171
|
args: [{ selector: 'igx-snackbar', imports: [IgxButtonDirective], template: "<div class=\"igx-snackbar__message\">\n {{ textMessage }}\n <ng-content></ng-content>\n</div>\n<div #customButton class=\"igx-snackbar__button\">\n <ng-content select=\"[igxButton]\"></ng-content>\n</div>\n@if (!customButton.children.length && actionText) {\n <button igxButton (click)=\"triggerAction()\">\n {{ actionText }}\n </button>\n}\n" }]
|
|
172
172
|
}], propDecorators: { id: [{
|
|
@@ -195,11 +195,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
195
195
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
196
196
|
*/
|
|
197
197
|
class IgxSnackbarModule {
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
199
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
200
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
199
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: IgxSnackbarModule, imports: [IgxSnackbarComponent], exports: [IgxSnackbarComponent] }); }
|
|
200
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxSnackbarModule }); }
|
|
201
201
|
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxSnackbarModule, decorators: [{
|
|
203
203
|
type: NgModule,
|
|
204
204
|
args: [{
|
|
205
205
|
imports: [
|