@fundamental-ngx/core 0.64.2-rc.47 → 0.64.2-rc.48

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { computed, inject, ElementRef, Renderer2, effect, Input, Directive, forwardRef, DestroyRef, HostBinding, ViewChildren, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
2
+ import { computed, inject, ElementRef, Renderer2, effect, Input, Directive, forwardRef, input, DestroyRef, HostBinding, ViewChildren, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
3
  import { RtlService, KeyUtil, OnlyDigitsDirective, applyCssClass, OnlyDigitsModule } from '@fundamental-ngx/cdk/utils';
4
4
  import { __decorate, __metadata } from 'tslib';
5
5
  import * as i2 from '@angular/cdk/a11y';
@@ -154,6 +154,14 @@ class SliderComponent {
154
154
  this._contentDensityObserver = _contentDensityObserver;
155
155
  /** Slider id, it has some default value if not set, */
156
156
  this.id = 'fd-slider-id-' + sliderId++;
157
+ /**
158
+ * aria-valuetext for the slider
159
+ * provides a human-readable text alternative for a slider's current numeric value.
160
+ * Assistive technologies usually announce the numeric value stored in aria-valuenow.
161
+ * When a bare number is not meaningful or needs context, aria-valuetext overrides the numeric announcement with a descriptive string.
162
+ */
163
+ this.ariaValueText = input(/* @ts-ignore */
164
+ ...(ngDevMode ? [undefined, { debugName: "ariaValueText" }] : /* istanbul ignore next */ []));
157
165
  /**
158
166
  * Slider mode.
159
167
  * Options include: 'single' | 'range'
@@ -198,11 +206,6 @@ class SliderComponent {
198
206
  this._sliderValueTargets = SliderValueTargets;
199
207
  /** @hidden */
200
208
  this._popoverInputFieldClass = `fd-slider-popover-input-${sliderId}`;
201
- /**
202
- * @hidden
203
- * whether to use value with a prefix for announcing
204
- */
205
- this._useSliderValuePrefix = true;
206
209
  /** @hidden */
207
210
  this._handles = SliderRangeHandles;
208
211
  /** @hidden */
@@ -485,7 +488,6 @@ class SliderComponent {
485
488
  if (newValue < this.min) {
486
489
  newValue = this.min;
487
490
  }
488
- this._useSliderValuePrefix = false;
489
491
  this._cdr.markForCheck();
490
492
  const stepDiffArray = this._valuesBySteps
491
493
  .map((stepValue) => ({
@@ -754,17 +756,10 @@ class SliderComponent {
754
756
  this._popovers.forEach((popover) => popover.open());
755
757
  }
756
758
  else {
757
- this._resetPrefix();
758
759
  this._popovers.forEach((popover) => popover.close());
759
760
  }
760
761
  });
761
762
  }
762
- /** @hidden reset default prefix on leaving the slider */
763
- _resetPrefix() {
764
- // reset prefix string for slider current value that need to be announced
765
- this._useSliderValuePrefix = true;
766
- this._cdr.markForCheck();
767
- }
768
763
  /**
769
764
  * @hidden
770
765
  * Checks whether input popover element is hovered.
@@ -779,7 +774,7 @@ class SliderComponent {
779
774
  return of(false);
780
775
  }
781
776
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SliderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.Platform }, { token: i2.LiveAnnouncer }, { token: i3.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
782
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SliderComponent, isStandalone: true, selector: "fd-slider", inputs: { id: "id", class: "class", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", min: "min", max: "max", step: "step", jump: "jump", tickmarksBetweenLabels: "tickmarksBetweenLabels", mode: "mode", showTicks: "showTicks", showTicksLabels: "showTicksLabels", customValues: "customValues", tooltipMode: "tooltipMode", hideProgressBar: "hideProgressBar", disabled: "disabled", vertical: "vertical", value: "value" }, host: { listeners: { "mouseenter": "this._componentHovered$.next(true)", "mouseleave": "this._componentHovered$.next(false)", "focusout": "onTouched()" }, properties: { "attr.id": "this.id", "class.fd-slider--range": "this._isRange" } }, providers: [
777
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SliderComponent, isStandalone: true, selector: "fd-slider", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaValueText: { classPropertyName: "ariaValueText", publicName: "ariaValueText", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: false, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: false, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: false, isRequired: false, transformFunction: null }, jump: { classPropertyName: "jump", publicName: "jump", isSignal: false, isRequired: false, transformFunction: null }, tickmarksBetweenLabels: { classPropertyName: "tickmarksBetweenLabels", publicName: "tickmarksBetweenLabels", isSignal: false, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: false, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: false, isRequired: false, transformFunction: null }, showTicksLabels: { classPropertyName: "showTicksLabels", publicName: "showTicksLabels", isSignal: false, isRequired: false, transformFunction: null }, customValues: { classPropertyName: "customValues", publicName: "customValues", isSignal: false, isRequired: false, transformFunction: null }, tooltipMode: { classPropertyName: "tooltipMode", publicName: "tooltipMode", isSignal: false, isRequired: false, transformFunction: null }, hideProgressBar: { classPropertyName: "hideProgressBar", publicName: "hideProgressBar", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "this._componentHovered$.next(true)", "mouseleave": "this._componentHovered$.next(false)", "focusout": "onTouched()" }, properties: { "attr.id": "this.id", "class.fd-slider--range": "this._isRange" } }, providers: [
783
778
  SLIDER_VALUE_ACCESSOR,
784
779
  registerFormItemControl(SliderComponent),
785
780
  contentDensityObserverProviders({
@@ -788,7 +783,7 @@ class SliderComponent {
788
783
  [ContentDensityMode.COZY]: 'fd-slider--lg'
789
784
  }
790
785
  })
791
- ], viewQueries: [{ propertyName: "trackEl", first: true, predicate: ["track"], descendants: true, read: ElementRef, static: true }, { propertyName: "handle", first: true, predicate: ["handle"], descendants: true, read: ElementRef }, { propertyName: "rangeHandle1", first: true, predicate: ["rangeHandle1"], descendants: true, read: ElementRef }, { propertyName: "rangeHandle2", first: true, predicate: ["rangeHandle2"], descendants: true, read: ElementRef }, { propertyName: "_rangeGroupHandle", first: true, predicate: ["rangeGroupHandle"], descendants: true, read: ElementRef }, { propertyName: "_popovers", predicate: PopoverComponent, descendants: true }, { propertyName: "_sliderTooltipWrappers", predicate: ["sliderTooltipWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-slider__inner\">\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeMode : singleMode\"></ng-template>\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-template>\n </div>\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n @if (showTicks) {\n @for (tick of _tickMarks; track tick; let i = $index) {\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n }\n }\n </div>\n @if (showTicks && showTicksLabels) {\n <div class=\"fd-slider__labels\">\n @for (tick of _tickMarks; track tick; let i = $index; let last = $last; let first = $first) {\n @if (first || last || i % tickmarksBetweenLabels === 0) {\n <div\n class=\"fd-slider__label\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n }\n }\n </div>\n }\n </div>\n</div>\n<ng-template #singleModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _progress : null\"\n [style.width.%]=\"vertical ? null : _progress\"\n ></div>\n }\n</ng-template>\n<ng-template #rangeModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _rangeProgress : null\"\n [style.width.%]=\"vertical ? null : _rangeProgress\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n >\n <div\n class=\"fd-slider__track-focus-range\"\n (mousedown)=\"onHandleClick($event, true)\"\n (keydown)=\"onKeyDown($event, _handles.Both)\"\n tabindex=\"0\"\n #rangeGroupHandle\n ></div>\n </div>\n }\n</ng-template>\n<ng-template #singleMode>\n <div\n #handle\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.singleMinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"('coreSlider.singleValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.singleValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.singleValueNowDetails'\n | fdTranslate: { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) }\n )()\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.singleValueNowDetails'\n | fdTranslate: { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) }\n )()\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.multipleHandle1MinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"('coreSlider.multipleHandle1ValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.multipleHandle1ValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) }\n )()\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) }\n )()\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.First)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n <div\n #rangeHandle2\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.multipleHandle2MinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"('coreSlider.multipleHandle2ValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.multipleHandle2ValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) }\n )()\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) }\n )()\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.Second)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\"\n ></ng-template>\n </fd-popover>\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider-tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n @if ((customValues && customValues.length > 0) || tooltipMode === 'readonly') {\n <div class=\"fd-slider-tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n }\n @if (customValues.length === 0 && tooltipMode === 'editable') {\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider-tooltip {{ _popoverInputFieldClass }}\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n }\n </div>\n</ng-template>\n", styles: [".fd-slider{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;min-width:4rem;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:calc(var(--fdSlider_Handle_Width)*.5 + .125rem);position:relative}.fd-slider:after,.fd-slider:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider.is-disabled,.fd-slider:disabled,.fd-slider[aria-disabled=true]{cursor:not-allowed}.fd-slider--lg{--fdSlider_Handle_Width:var(--fdSlider_Mobile_Handle_Width);--fdSlider_Handle_Height:var(--fdSlider_Mobile_Handle_Height);--fdSlider_Handle_Active_Width:var(--fdSlider_Mobile_Handle_Active_Size);--fdSlider_Handle_Active_Height:var(--fdSlider_Mobile_Handle_Active_Size);padding-inline:calc(var(--fdSlider_Mobile_Handle_Width)*.5 + .125rem)}.fd-slider__inner{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__inner:after,.fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Active_Background);border:0;border:var(--fdSlider_Endpoint_Active_Border);border-radius:50%;-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);content:\"\";font-family:var(--sapFontFamily);font-size:inherit;font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Endpoint_Size);left:-.7rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:var(--fdSlider_Endpoint_Size)}.fd-slider__inner:after:after,.fd-slider__inner:after:before,.fd-slider__inner:before:after,.fd-slider__inner:before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__inner:after{left:auto;right:-.7rem}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:before,.fd-slider__inner:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:after{background-color:var(--fdSlider_Endpoint_Active_Background);border:var(--fdSlider_Endpoint_Active_Border)}.fd-slider__track{background-color:var(--fdSlider_Track_Background);border:0;border-radius:var(--fdSlider_Track_BorderRadius);-webkit-box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Track_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative;width:100%;z-index:1}.fd-slider__track:after,.fd-slider__track:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track .fd-slider__handle.is-focus,.fd-slider__track .fd-slider__handle:focus{z-index:5;z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track-range{background-color:var(--fdSlider_Track_Active_Background);border:0;border:.0625rem solid var(--fdSlider_Track_Active_Border);border-radius:.25rem;-webkit-box-shadow:var(--fdSlider_Track_Active_Box_Shadow);box-shadow:var(--fdSlider_Track_Active_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__track-range:after,.fd-slider__track-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick-wrapper{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);width:100%;z-index:2}.fd-slider__tick-wrapper:after,.fd-slider__tick-wrapper:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__ticks{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:var(--fdSlider_Tick_Height);justify-content:space-between}.fd-slider__ticks:after,.fd-slider__ticks:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__labels{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:1rem;justify-content:space-between;position:relative;top:.5rem}.fd-slider__labels:after,.fd-slider__labels:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick{border:0;border-left:.0625rem solid var(--fdSlider_Tick_Background);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Tick_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__tick:after,.fd-slider__tick:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick--in-range{border-color:var(--fdSlider_Active_Tick_Background)}.fd-slider__label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);font-size:var(--sapFontSmallSize);position:relative;width:0}.fd-slider__label:after,.fd-slider__label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdSlider_Handle_Background);border:var(--fdSlider_Handle_Border);border-radius:var(--fdSlider_Handle_Border_Radius);cursor:pointer;height:var(--fdSlider_Handle_Height);position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Width);z-index:3}.fd-slider__handle:after,.fd-slider__handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle:before{content:\"\";height:var(--fdSlider_Handle_Active_Height);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Active_Width)}.fd-slider__handle:after{color:var(--sapContent_Selected_ForegroundColor);content:\"\\e29c\";display:var(--fdSlider_Handle_Icon_Display);font-family:SAP-icons;font-size:.875rem;line-height:1}.fd-slider__handle.is-focus,.fd-slider__handle:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-focus:after,.fd-slider__handle:focus:after{display:none}.fd-slider__handle.is-hover,.fd-slider__handle:hover{background-color:var(--fdSlider_Hover_Handle_Background);border:var(--fdSlider_Hover_Handle_Border);border-color:var(--fdSlider_Handle_Border_Hover_Color)}.fd-slider__handle.is-hover.is-focus,.fd-slider__handle.is-hover:focus,.fd-slider__handle:hover.is-focus,.fd-slider__handle:hover:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-hover.is-focus:after,.fd-slider__handle.is-hover:focus:after,.fd-slider__handle:hover.is-focus:after,.fd-slider__handle:hover:focus:after{display:none}.fd-slider__handle.is-active,.fd-slider__handle:active{background-color:var(--fdSlider_Active_Handle_Background);border:var(--fdSlider_Active_Handle_Border)}.fd-slider__handle.is-active.is-focus,.fd-slider__handle.is-active:focus,.fd-slider__handle:active.is-focus,.fd-slider__handle:active:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-active.is-focus:after,.fd-slider__handle.is-active:focus:after,.fd-slider__handle:active.is-focus:after,.fd-slider__handle:active:focus:after{display:none}.fd-slider__track-focus-range{border:0;border-radius:var(--fdSlider_Range_Track_Border_Radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:calc(var(--fdSlider_Handle_Height) + .5rem);left:0;line-height:normal;margin-block:0;margin-inline:0;margin-inline:calc(var(--fdSlider_Handle_Height)*-1/1.1);padding-block:0;padding-inline:0;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-slider__track-focus-range:after,.fd-slider__track-focus-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track-focus-range.is-focus,.fd-slider__track-focus-range:focus{outline:var(--fdSlider_Focus_Range_Outline);z-index:5}.fd-slider--range .fd-slider__inner:after,.fd-slider--range .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle{background-color:var(--fdSlider_Range_Handle_Background);border:var(--fdSlider_Range_Handle_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-hover,.fd-slider--range .fd-slider__inner .fd-slider__handle:hover{background-color:var(--fdSlider_Range_Hover_Handle_Background);border-color:var(--fdSlider_Range_Hover_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active,.fd-slider--range .fd-slider__inner .fd-slider__handle:active{background-color:var(--fdSlider_Range_Active_Handle_Background);border-color:var(--fdSlider_Range_Active_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:active:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus{background-color:var(--fdSlider_Range_Focus_Handle_Background);border:var(--fdSlider_Range_Focus_Handle_Border);z-index:5}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--vertical{height:100%}.fd-slider--vertical .fd-slider__inner{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__inner:after,.fd-slider--vertical .fd-slider__inner:before{left:50%;right:auto;top:auto;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-slider--vertical .fd-slider__inner:before{bottom:-.7rem}.fd-slider--vertical .fd-slider__inner:after{top:-.7rem}.fd-slider--vertical .fd-slider__track{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__track-range{bottom:0;position:absolute;width:100%}.fd-slider--vertical .fd-slider__handle{bottom:0;height:var(--fdSlider_Handle_Width);left:50%;top:auto;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%);width:var(--fdSlider_Handle_Height)}.fd-slider--vertical .fd-slider__handle:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fd-slider--vertical .fd-slider__tick-wrapper{height:100%;left:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);right:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);top:0}.fd-slider--vertical .fd-slider__ticks{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:100%}.fd-slider--vertical .fd-slider__tick{border-left:none;border-top-style:solid;border-top-width:.0625rem;height:0;width:var(--fdSlider_Tick_Height)}.fd-slider--vertical .fd-slider__labels{height:100%;position:absolute;top:-.55rem;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;left:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__labels[dir=rtl],[dir=rtl] .fd-slider--vertical .fd-slider__labels{left:auto;right:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__label{height:.0625rem;width:auto}.fd-slider--vertical.fd-slider--range .fd-slider__track-range{left:0}.fd-slider--vertical.fd-slider--range .fd-slider__track-focus-range{height:auto;inset:0 auto 0 50%;margin-block:calc(var(--fdSlider_Handle_Height)*-1/1.1);margin-inline:0;-webkit-transform:translateX(-50%);transform:translate(-50%);width:calc(var(--fdSlider_Handle_Height) + .5rem)}.fd-slider-tooltip-popover.fd-popover__body{background:var(--sapBackgroundColor);border:none;border-radius:.0625rem;-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);height:1rem;overflow:hidden;padding-block:0;padding-inline:.5rem;top:-.4375rem!important}.fd-slider-tooltip-popover.fd-popover__body .fd-slider-tooltip{color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize);line-height:1rem;text-align:center}.fd-slider-tooltip-popover.fd-popover__body:has(input){-webkit-box-shadow:none;box-shadow:none;height:auto;padding-inline:0;width:auto}.fd-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle,var(--sapField_BackgroundStyle));background-color:var(--sapField_Background,var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);-webkit-box-shadow:var(--sapField_Shadow);box-shadow:var(--sapField_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdInput_Height,var(--sapElement_Height));line-height:normal;margin-block:0;margin-block:var(--fdInput_Field_Margin_Block,.25rem);margin-inline:0;min-height:var(--fdInput_Height,var(--sapElement_Height));min-width:2.75rem;outline:none;overflow:hidden;padding-block:0;padding-inline:0;padding-inline:var(--fdInput_Field_Padding_Inline,.625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-input::-webkit-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-moz-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input:-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::-webkit-input-placeholder,[dir=rtl] .fd-input::-webkit-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-moz-placeholder,[dir=rtl] .fd-input::-moz-placeholder{text-indent:.125rem}.fd-input[dir=rtl]:-ms-input-placeholder,[dir=rtl] .fd-input:-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-ms-input-placeholder,[dir=rtl] .fd-input::-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::-moz-selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{background:var(--sapField_Hover_BackgroundStyle,var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background,var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{background:var(--sapField_Focus_Background,var(--sapField_Focus_Background));-webkit-box-shadow:none;box-shadow:none;outline:var(--fdInput_Outline_Color) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:var(--fdInput_Outline_Offset);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));margin-block:var(--fdInput_Field_Compact_Margin_Block,.1875rem);margin-inline:0;min-height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));min-width:var(--fdInput_Field_Compact_Min_Width,2rem);padding-block:0;padding-inline:var(--fdInput_Field_Compact_Padding,.5rem)}.fd-input--no-number-spinner{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin-block:0;margin-inline:0}.fd-input.right-align{text-align:right}.fd-input__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle);-webkit-box-shadow:var(--sapField_SuccessShadow);box-shadow:var(--sapField_SuccessShadow)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-success.is-expanded,.fd-input.is-success[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Success_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle);-webkit-box-shadow:var(--sapField_InvalidShadow);box-shadow:var(--sapField_InvalidShadow)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-error.is-expanded,.fd-input.is-error[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Error_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle);-webkit-box-shadow:var(--sapField_WarningShadow);box-shadow:var(--sapField_WarningShadow)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-warning.is-expanded,.fd-input.is-warning[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-alert.is-expanded,.fd-input.is-alert[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle);-webkit-box-shadow:var(--sapField_InformationShadow);box-shadow:var(--sapField_InformationShadow)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-information.is-expanded,.fd-input.is-information[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Information_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-webkit-input-placeholder,.fd-input.is-error::-webkit-input-placeholder,.fd-input.is-warning::-webkit-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-moz-placeholder,.fd-input.is-error::-moz-placeholder,.fd-input.is-warning::-moz-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert:-ms-input-placeholder,.fd-input.is-error:-ms-input-placeholder,.fd-input.is-warning:-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-ms-input-placeholder,.fd-input.is-error::-ms-input-placeholder,.fd-input.is-warning::-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::-webkit-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-moz-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error:-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::-webkit-input-placeholder,.fd-input:disabled::-webkit-input-placeholder,.fd-input[aria-disabled=true]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-moz-placeholder,.fd-input:disabled::-moz-placeholder,.fd-input[aria-disabled=true]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled:-ms-input-placeholder,.fd-input:disabled:-ms-input-placeholder,.fd-input[aria-disabled=true]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-ms-input-placeholder,.fd-input:disabled::-ms-input-placeholder,.fd-input[aria-disabled=true]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly::-webkit-input-placeholder,.fd-input[aria-readonly=true]::-webkit-input-placeholder,.fd-input[readonly]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-moz-placeholder,.fd-input[aria-readonly=true]::-moz-placeholder,.fd-input[readonly]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly:-ms-input-placeholder,.fd-input[aria-readonly=true]:-ms-input-placeholder,.fd-input[readonly]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-ms-input-placeholder,.fd-input[aria-readonly=true]::-ms-input-placeholder,.fd-input[readonly]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly.is-focus,.fd-input.is-readonly.is-hover,.fd-input.is-readonly:focus,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:focus,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-focus,.fd-input[readonly].is-hover,.fd-input[readonly]:focus,.fd-input[readonly]:hover{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{z-index:5}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-popover--slider{display:block!important}.fd-popover__body.fd-slider-tooltip-popover{height:1rem;border:none;padding-block:0;overflow:hidden;padding-inline:.5rem;border-radius:.0625rem;top:-.4375rem!important;background:var(--sapBackgroundColor);box-shadow:var(--sapContent_Shadow1)}.fd-popover__body.fd-slider-tooltip-popover .fd-slider-tooltip{line-height:1rem;text-align:center;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize)}.fd-popover__body.fd-slider-tooltip-popover:has(input){width:auto;height:auto;box-shadow:none;padding-inline:0}.fd-slider{display:block}.fd-slider.fd-slider--with-labels{padding-bottom:2rem}.fd-slider__tick-wrapper .fd-slider__label,.fd-slider__tick-wrapper .fd-slider__tick{position:absolute}.fd-slider__ticks{height:var(--fdSlider_Tick_Height)}.fd-slider__track .fd-slider__handle:focus{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track .fd-popover-custom{display:none}.fd-slider__labels .fd-slider__label{white-space:nowrap}[dir=rtl] .fd-slider__handle{transform:translate(50%,-50%)}\n/*! Bundled license information:\n\nfundamental-styles/dist/input.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SliderPositionDirective, selector: "[fd-slider-position]", inputs: ["position", "vertical"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "directive", type: PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyDigitsDirective, selector: "[fdkOnlyDigits]", inputs: ["decimal", "decimalSeparator"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
786
+ ], viewQueries: [{ propertyName: "trackEl", first: true, predicate: ["track"], descendants: true, read: ElementRef, static: true }, { propertyName: "handle", first: true, predicate: ["handle"], descendants: true, read: ElementRef }, { propertyName: "rangeHandle1", first: true, predicate: ["rangeHandle1"], descendants: true, read: ElementRef }, { propertyName: "rangeHandle2", first: true, predicate: ["rangeHandle2"], descendants: true, read: ElementRef }, { propertyName: "_rangeGroupHandle", first: true, predicate: ["rangeGroupHandle"], descendants: true, read: ElementRef }, { propertyName: "_popovers", predicate: PopoverComponent, descendants: true }, { propertyName: "_sliderTooltipWrappers", predicate: ["sliderTooltipWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-slider__inner\">\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeMode : singleMode\"></ng-template>\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-template>\n </div>\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n @if (showTicks) {\n @for (tick of _tickMarks; track tick; let i = $index) {\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n }\n }\n </div>\n @if (showTicks && showTicksLabels) {\n <div class=\"fd-slider__labels\">\n @for (tick of _tickMarks; track tick; let i = $index; let last = $last; let first = $first) {\n @if (first || last || i % tickmarksBetweenLabels === 0) {\n <div\n class=\"fd-slider__label\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n }\n }\n </div>\n }\n </div>\n</div>\n<ng-template #singleModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _progress : null\"\n [style.width.%]=\"vertical ? null : _progress\"\n ></div>\n }\n</ng-template>\n<ng-template #rangeModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _rangeProgress : null\"\n [style.width.%]=\"vertical ? null : _rangeProgress\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n >\n <div\n class=\"fd-slider__track-focus-range\"\n (mousedown)=\"onHandleClick($event, true)\"\n (keydown)=\"onKeyDown($event, _handles.Both)\"\n tabindex=\"0\"\n #rangeGroupHandle\n ></div>\n </div>\n }\n</ng-template>\n<ng-template #singleMode>\n <div\n #handle\n role=\"slider\"\n fd-slider-position\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n role=\"slider\"\n fd-slider-position\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.First)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n <div\n #rangeHandle2\n fd-slider-position\n role=\"slider\"\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.Second)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\"\n ></ng-template>\n </fd-popover>\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider-tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n @if ((customValues && customValues.length > 0) || tooltipMode === 'readonly') {\n <div class=\"fd-slider-tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n }\n @if (customValues.length === 0 && tooltipMode === 'editable') {\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider-tooltip {{ _popoverInputFieldClass }}\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n }\n </div>\n</ng-template>\n", styles: [".fd-slider{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;min-width:4rem;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:calc(var(--fdSlider_Handle_Width)*.5 + .125rem);position:relative}.fd-slider:after,.fd-slider:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider.is-disabled,.fd-slider:disabled,.fd-slider[aria-disabled=true]{cursor:not-allowed}.fd-slider--lg{--fdSlider_Handle_Width:var(--fdSlider_Mobile_Handle_Width);--fdSlider_Handle_Height:var(--fdSlider_Mobile_Handle_Height);--fdSlider_Handle_Active_Width:var(--fdSlider_Mobile_Handle_Active_Size);--fdSlider_Handle_Active_Height:var(--fdSlider_Mobile_Handle_Active_Size);padding-inline:calc(var(--fdSlider_Mobile_Handle_Width)*.5 + .125rem)}.fd-slider__inner{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__inner:after,.fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Active_Background);border:0;border:var(--fdSlider_Endpoint_Active_Border);border-radius:50%;-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);content:\"\";font-family:var(--sapFontFamily);font-size:inherit;font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Endpoint_Size);left:-.7rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:var(--fdSlider_Endpoint_Size)}.fd-slider__inner:after:after,.fd-slider__inner:after:before,.fd-slider__inner:before:after,.fd-slider__inner:before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__inner:after{left:auto;right:-.7rem}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:before,.fd-slider__inner:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:after{background-color:var(--fdSlider_Endpoint_Active_Background);border:var(--fdSlider_Endpoint_Active_Border)}.fd-slider__track{background-color:var(--fdSlider_Track_Background);border:0;border-radius:var(--fdSlider_Track_BorderRadius);-webkit-box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Track_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative;width:100%;z-index:1}.fd-slider__track:after,.fd-slider__track:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track .fd-slider__handle.is-focus,.fd-slider__track .fd-slider__handle:focus{z-index:5;z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track-range{background-color:var(--fdSlider_Track_Active_Background);border:0;border:.0625rem solid var(--fdSlider_Track_Active_Border);border-radius:.25rem;-webkit-box-shadow:var(--fdSlider_Track_Active_Box_Shadow);box-shadow:var(--fdSlider_Track_Active_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__track-range:after,.fd-slider__track-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick-wrapper{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);width:100%;z-index:2}.fd-slider__tick-wrapper:after,.fd-slider__tick-wrapper:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__ticks{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:var(--fdSlider_Tick_Height);justify-content:space-between}.fd-slider__ticks:after,.fd-slider__ticks:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__labels{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:1rem;justify-content:space-between;position:relative;top:.5rem}.fd-slider__labels:after,.fd-slider__labels:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick{border:0;border-left:.0625rem solid var(--fdSlider_Tick_Background);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Tick_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__tick:after,.fd-slider__tick:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick--in-range{border-color:var(--fdSlider_Active_Tick_Background)}.fd-slider__label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);font-size:var(--sapFontSmallSize);position:relative;width:0}.fd-slider__label:after,.fd-slider__label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdSlider_Handle_Background);border:var(--fdSlider_Handle_Border);border-radius:var(--fdSlider_Handle_Border_Radius);cursor:pointer;height:var(--fdSlider_Handle_Height);position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Width);z-index:3}.fd-slider__handle:after,.fd-slider__handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle:before{content:\"\";height:var(--fdSlider_Handle_Active_Height);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Active_Width)}.fd-slider__handle:after{color:var(--sapContent_Selected_ForegroundColor);content:\"\\e29c\";display:var(--fdSlider_Handle_Icon_Display);font-family:SAP-icons;font-size:.875rem;line-height:1}.fd-slider__handle.is-focus,.fd-slider__handle:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-focus:after,.fd-slider__handle:focus:after{display:none}.fd-slider__handle.is-hover,.fd-slider__handle:hover{background-color:var(--fdSlider_Hover_Handle_Background);border:var(--fdSlider_Hover_Handle_Border);border-color:var(--fdSlider_Handle_Border_Hover_Color)}.fd-slider__handle.is-hover.is-focus,.fd-slider__handle.is-hover:focus,.fd-slider__handle:hover.is-focus,.fd-slider__handle:hover:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-hover.is-focus:after,.fd-slider__handle.is-hover:focus:after,.fd-slider__handle:hover.is-focus:after,.fd-slider__handle:hover:focus:after{display:none}.fd-slider__handle.is-active,.fd-slider__handle:active{background-color:var(--fdSlider_Active_Handle_Background);border:var(--fdSlider_Active_Handle_Border)}.fd-slider__handle.is-active.is-focus,.fd-slider__handle.is-active:focus,.fd-slider__handle:active.is-focus,.fd-slider__handle:active:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-active.is-focus:after,.fd-slider__handle.is-active:focus:after,.fd-slider__handle:active.is-focus:after,.fd-slider__handle:active:focus:after{display:none}.fd-slider__track-focus-range{border:0;border-radius:var(--fdSlider_Range_Track_Border_Radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:calc(var(--fdSlider_Handle_Height) + .5rem);left:0;line-height:normal;margin-block:0;margin-inline:0;margin-inline:calc(var(--fdSlider_Handle_Height)*-1/1.1);padding-block:0;padding-inline:0;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-slider__track-focus-range:after,.fd-slider__track-focus-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track-focus-range.is-focus,.fd-slider__track-focus-range:focus{outline:var(--fdSlider_Focus_Range_Outline);z-index:5}.fd-slider--range .fd-slider__inner:after,.fd-slider--range .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle{background-color:var(--fdSlider_Range_Handle_Background);border:var(--fdSlider_Range_Handle_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-hover,.fd-slider--range .fd-slider__inner .fd-slider__handle:hover{background-color:var(--fdSlider_Range_Hover_Handle_Background);border-color:var(--fdSlider_Range_Hover_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active,.fd-slider--range .fd-slider__inner .fd-slider__handle:active{background-color:var(--fdSlider_Range_Active_Handle_Background);border-color:var(--fdSlider_Range_Active_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:active:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus{background-color:var(--fdSlider_Range_Focus_Handle_Background);border:var(--fdSlider_Range_Focus_Handle_Border);z-index:5}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--vertical{height:100%}.fd-slider--vertical .fd-slider__inner{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__inner:after,.fd-slider--vertical .fd-slider__inner:before{left:50%;right:auto;top:auto;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-slider--vertical .fd-slider__inner:before{bottom:-.7rem}.fd-slider--vertical .fd-slider__inner:after{top:-.7rem}.fd-slider--vertical .fd-slider__track{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__track-range{bottom:0;position:absolute;width:100%}.fd-slider--vertical .fd-slider__handle{bottom:0;height:var(--fdSlider_Handle_Width);left:50%;top:auto;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%);width:var(--fdSlider_Handle_Height)}.fd-slider--vertical .fd-slider__handle:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fd-slider--vertical .fd-slider__tick-wrapper{height:100%;left:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);right:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);top:0}.fd-slider--vertical .fd-slider__ticks{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:100%}.fd-slider--vertical .fd-slider__tick{border-left:none;border-top-style:solid;border-top-width:.0625rem;height:0;width:var(--fdSlider_Tick_Height)}.fd-slider--vertical .fd-slider__labels{height:100%;position:absolute;top:-.55rem;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;left:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__labels[dir=rtl],[dir=rtl] .fd-slider--vertical .fd-slider__labels{left:auto;right:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__label{height:.0625rem;width:auto}.fd-slider--vertical.fd-slider--range .fd-slider__track-range{left:0}.fd-slider--vertical.fd-slider--range .fd-slider__track-focus-range{height:auto;inset:0 auto 0 50%;margin-block:calc(var(--fdSlider_Handle_Height)*-1/1.1);margin-inline:0;-webkit-transform:translateX(-50%);transform:translate(-50%);width:calc(var(--fdSlider_Handle_Height) + .5rem)}.fd-slider-tooltip-popover.fd-popover__body{background:var(--sapBackgroundColor);border:none;border-radius:.0625rem;-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);height:1rem;overflow:hidden;padding-block:0;padding-inline:.5rem;top:-.4375rem!important}.fd-slider-tooltip-popover.fd-popover__body .fd-slider-tooltip{color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize);line-height:1rem;text-align:center}.fd-slider-tooltip-popover.fd-popover__body:has(input){-webkit-box-shadow:none;box-shadow:none;height:auto;padding-inline:0;width:auto}.fd-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle,var(--sapField_BackgroundStyle));background-color:var(--sapField_Background,var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);-webkit-box-shadow:var(--sapField_Shadow);box-shadow:var(--sapField_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdInput_Height,var(--sapElement_Height));line-height:normal;margin-block:0;margin-block:var(--fdInput_Field_Margin_Block,.25rem);margin-inline:0;min-height:var(--fdInput_Height,var(--sapElement_Height));min-width:2.75rem;outline:none;overflow:hidden;padding-block:0;padding-inline:0;padding-inline:var(--fdInput_Field_Padding_Inline,.625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-input::-webkit-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-moz-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input:-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::-webkit-input-placeholder,[dir=rtl] .fd-input::-webkit-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-moz-placeholder,[dir=rtl] .fd-input::-moz-placeholder{text-indent:.125rem}.fd-input[dir=rtl]:-ms-input-placeholder,[dir=rtl] .fd-input:-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-ms-input-placeholder,[dir=rtl] .fd-input::-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::-moz-selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{background:var(--sapField_Hover_BackgroundStyle,var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background,var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{background:var(--sapField_Focus_Background,var(--sapField_Focus_Background));-webkit-box-shadow:none;box-shadow:none;outline:var(--fdInput_Outline_Color) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:var(--fdInput_Outline_Offset);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));margin-block:var(--fdInput_Field_Compact_Margin_Block,.1875rem);margin-inline:0;min-height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));min-width:var(--fdInput_Field_Compact_Min_Width,2rem);padding-block:0;padding-inline:var(--fdInput_Field_Compact_Padding,.5rem)}.fd-input--no-number-spinner{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin-block:0;margin-inline:0}.fd-input.right-align{text-align:right}.fd-input__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle);-webkit-box-shadow:var(--sapField_SuccessShadow);box-shadow:var(--sapField_SuccessShadow)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-success.is-expanded,.fd-input.is-success[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Success_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle);-webkit-box-shadow:var(--sapField_InvalidShadow);box-shadow:var(--sapField_InvalidShadow)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-error.is-expanded,.fd-input.is-error[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Error_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle);-webkit-box-shadow:var(--sapField_WarningShadow);box-shadow:var(--sapField_WarningShadow)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-warning.is-expanded,.fd-input.is-warning[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-alert.is-expanded,.fd-input.is-alert[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle);-webkit-box-shadow:var(--sapField_InformationShadow);box-shadow:var(--sapField_InformationShadow)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-information.is-expanded,.fd-input.is-information[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Information_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-webkit-input-placeholder,.fd-input.is-error::-webkit-input-placeholder,.fd-input.is-warning::-webkit-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-moz-placeholder,.fd-input.is-error::-moz-placeholder,.fd-input.is-warning::-moz-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert:-ms-input-placeholder,.fd-input.is-error:-ms-input-placeholder,.fd-input.is-warning:-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-ms-input-placeholder,.fd-input.is-error::-ms-input-placeholder,.fd-input.is-warning::-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::-webkit-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-moz-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error:-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::-webkit-input-placeholder,.fd-input:disabled::-webkit-input-placeholder,.fd-input[aria-disabled=true]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-moz-placeholder,.fd-input:disabled::-moz-placeholder,.fd-input[aria-disabled=true]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled:-ms-input-placeholder,.fd-input:disabled:-ms-input-placeholder,.fd-input[aria-disabled=true]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-ms-input-placeholder,.fd-input:disabled::-ms-input-placeholder,.fd-input[aria-disabled=true]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly::-webkit-input-placeholder,.fd-input[aria-readonly=true]::-webkit-input-placeholder,.fd-input[readonly]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-moz-placeholder,.fd-input[aria-readonly=true]::-moz-placeholder,.fd-input[readonly]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly:-ms-input-placeholder,.fd-input[aria-readonly=true]:-ms-input-placeholder,.fd-input[readonly]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-ms-input-placeholder,.fd-input[aria-readonly=true]::-ms-input-placeholder,.fd-input[readonly]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly.is-focus,.fd-input.is-readonly.is-hover,.fd-input.is-readonly:focus,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:focus,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-focus,.fd-input[readonly].is-hover,.fd-input[readonly]:focus,.fd-input[readonly]:hover{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{z-index:5}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-popover--slider{display:block!important}.fd-popover__body.fd-slider-tooltip-popover{height:1rem;border:none;padding-block:0;overflow:hidden;padding-inline:.5rem;border-radius:.0625rem;top:-.4375rem!important;background:var(--sapBackgroundColor);box-shadow:var(--sapContent_Shadow1)}.fd-popover__body.fd-slider-tooltip-popover .fd-slider-tooltip{line-height:1rem;text-align:center;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize)}.fd-popover__body.fd-slider-tooltip-popover:has(input){width:auto;height:auto;box-shadow:none;padding-inline:0}.fd-slider{display:block}.fd-slider.fd-slider--with-labels{padding-bottom:2rem}.fd-slider__tick-wrapper .fd-slider__label,.fd-slider__tick-wrapper .fd-slider__tick{position:absolute}.fd-slider__ticks{height:var(--fdSlider_Tick_Height)}.fd-slider__track .fd-slider__handle:focus{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track .fd-popover-custom{display:none}.fd-slider__labels .fd-slider__label{white-space:nowrap}[dir=rtl] .fd-slider__handle{transform:translate(50%,-50%)}\n/*! Bundled license information:\n\nfundamental-styles/dist/input.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SliderPositionDirective, selector: "[fd-slider-position]", inputs: ["position", "vertical"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "directive", type: PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: OnlyDigitsDirective, selector: "[fdkOnlyDigits]", inputs: ["decimal", "decimalSeparator"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
792
787
  }
793
788
  __decorate([
794
789
  applyCssClass,
@@ -819,7 +814,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
819
814
  FormsModule,
820
815
  OnlyDigitsDirective,
821
816
  FdTranslatePipe
822
- ], template: "<div class=\"fd-slider__inner\">\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeMode : singleMode\"></ng-template>\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-template>\n </div>\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n @if (showTicks) {\n @for (tick of _tickMarks; track tick; let i = $index) {\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n }\n }\n </div>\n @if (showTicks && showTicksLabels) {\n <div class=\"fd-slider__labels\">\n @for (tick of _tickMarks; track tick; let i = $index; let last = $last; let first = $first) {\n @if (first || last || i % tickmarksBetweenLabels === 0) {\n <div\n class=\"fd-slider__label\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n }\n }\n </div>\n }\n </div>\n</div>\n<ng-template #singleModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _progress : null\"\n [style.width.%]=\"vertical ? null : _progress\"\n ></div>\n }\n</ng-template>\n<ng-template #rangeModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _rangeProgress : null\"\n [style.width.%]=\"vertical ? null : _rangeProgress\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n >\n <div\n class=\"fd-slider__track-focus-range\"\n (mousedown)=\"onHandleClick($event, true)\"\n (keydown)=\"onKeyDown($event, _handles.Both)\"\n tabindex=\"0\"\n #rangeGroupHandle\n ></div>\n </div>\n }\n</ng-template>\n<ng-template #singleMode>\n <div\n #handle\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.singleMinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"('coreSlider.singleValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.singleValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.singleValueNowDetails'\n | fdTranslate: { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) }\n )()\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.singleValueNowDetails'\n | fdTranslate: { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) }\n )()\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.multipleHandle1MinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"('coreSlider.multipleHandle1ValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.multipleHandle1ValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) }\n )()\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) }\n )()\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.First)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n <div\n #rangeHandle2\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.multipleHandle2MinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"('coreSlider.multipleHandle2ValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.multipleHandle2ValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) }\n )()\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) }\n )()\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.Second)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\"\n ></ng-template>\n </fd-popover>\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider-tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n @if ((customValues && customValues.length > 0) || tooltipMode === 'readonly') {\n <div class=\"fd-slider-tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n }\n @if (customValues.length === 0 && tooltipMode === 'editable') {\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider-tooltip {{ _popoverInputFieldClass }}\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n }\n </div>\n</ng-template>\n", styles: [".fd-slider{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;min-width:4rem;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:calc(var(--fdSlider_Handle_Width)*.5 + .125rem);position:relative}.fd-slider:after,.fd-slider:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider.is-disabled,.fd-slider:disabled,.fd-slider[aria-disabled=true]{cursor:not-allowed}.fd-slider--lg{--fdSlider_Handle_Width:var(--fdSlider_Mobile_Handle_Width);--fdSlider_Handle_Height:var(--fdSlider_Mobile_Handle_Height);--fdSlider_Handle_Active_Width:var(--fdSlider_Mobile_Handle_Active_Size);--fdSlider_Handle_Active_Height:var(--fdSlider_Mobile_Handle_Active_Size);padding-inline:calc(var(--fdSlider_Mobile_Handle_Width)*.5 + .125rem)}.fd-slider__inner{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__inner:after,.fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Active_Background);border:0;border:var(--fdSlider_Endpoint_Active_Border);border-radius:50%;-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);content:\"\";font-family:var(--sapFontFamily);font-size:inherit;font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Endpoint_Size);left:-.7rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:var(--fdSlider_Endpoint_Size)}.fd-slider__inner:after:after,.fd-slider__inner:after:before,.fd-slider__inner:before:after,.fd-slider__inner:before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__inner:after{left:auto;right:-.7rem}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:before,.fd-slider__inner:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:after{background-color:var(--fdSlider_Endpoint_Active_Background);border:var(--fdSlider_Endpoint_Active_Border)}.fd-slider__track{background-color:var(--fdSlider_Track_Background);border:0;border-radius:var(--fdSlider_Track_BorderRadius);-webkit-box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Track_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative;width:100%;z-index:1}.fd-slider__track:after,.fd-slider__track:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track .fd-slider__handle.is-focus,.fd-slider__track .fd-slider__handle:focus{z-index:5;z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track-range{background-color:var(--fdSlider_Track_Active_Background);border:0;border:.0625rem solid var(--fdSlider_Track_Active_Border);border-radius:.25rem;-webkit-box-shadow:var(--fdSlider_Track_Active_Box_Shadow);box-shadow:var(--fdSlider_Track_Active_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__track-range:after,.fd-slider__track-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick-wrapper{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);width:100%;z-index:2}.fd-slider__tick-wrapper:after,.fd-slider__tick-wrapper:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__ticks{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:var(--fdSlider_Tick_Height);justify-content:space-between}.fd-slider__ticks:after,.fd-slider__ticks:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__labels{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:1rem;justify-content:space-between;position:relative;top:.5rem}.fd-slider__labels:after,.fd-slider__labels:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick{border:0;border-left:.0625rem solid var(--fdSlider_Tick_Background);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Tick_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__tick:after,.fd-slider__tick:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick--in-range{border-color:var(--fdSlider_Active_Tick_Background)}.fd-slider__label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);font-size:var(--sapFontSmallSize);position:relative;width:0}.fd-slider__label:after,.fd-slider__label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdSlider_Handle_Background);border:var(--fdSlider_Handle_Border);border-radius:var(--fdSlider_Handle_Border_Radius);cursor:pointer;height:var(--fdSlider_Handle_Height);position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Width);z-index:3}.fd-slider__handle:after,.fd-slider__handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle:before{content:\"\";height:var(--fdSlider_Handle_Active_Height);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Active_Width)}.fd-slider__handle:after{color:var(--sapContent_Selected_ForegroundColor);content:\"\\e29c\";display:var(--fdSlider_Handle_Icon_Display);font-family:SAP-icons;font-size:.875rem;line-height:1}.fd-slider__handle.is-focus,.fd-slider__handle:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-focus:after,.fd-slider__handle:focus:after{display:none}.fd-slider__handle.is-hover,.fd-slider__handle:hover{background-color:var(--fdSlider_Hover_Handle_Background);border:var(--fdSlider_Hover_Handle_Border);border-color:var(--fdSlider_Handle_Border_Hover_Color)}.fd-slider__handle.is-hover.is-focus,.fd-slider__handle.is-hover:focus,.fd-slider__handle:hover.is-focus,.fd-slider__handle:hover:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-hover.is-focus:after,.fd-slider__handle.is-hover:focus:after,.fd-slider__handle:hover.is-focus:after,.fd-slider__handle:hover:focus:after{display:none}.fd-slider__handle.is-active,.fd-slider__handle:active{background-color:var(--fdSlider_Active_Handle_Background);border:var(--fdSlider_Active_Handle_Border)}.fd-slider__handle.is-active.is-focus,.fd-slider__handle.is-active:focus,.fd-slider__handle:active.is-focus,.fd-slider__handle:active:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-active.is-focus:after,.fd-slider__handle.is-active:focus:after,.fd-slider__handle:active.is-focus:after,.fd-slider__handle:active:focus:after{display:none}.fd-slider__track-focus-range{border:0;border-radius:var(--fdSlider_Range_Track_Border_Radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:calc(var(--fdSlider_Handle_Height) + .5rem);left:0;line-height:normal;margin-block:0;margin-inline:0;margin-inline:calc(var(--fdSlider_Handle_Height)*-1/1.1);padding-block:0;padding-inline:0;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-slider__track-focus-range:after,.fd-slider__track-focus-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track-focus-range.is-focus,.fd-slider__track-focus-range:focus{outline:var(--fdSlider_Focus_Range_Outline);z-index:5}.fd-slider--range .fd-slider__inner:after,.fd-slider--range .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle{background-color:var(--fdSlider_Range_Handle_Background);border:var(--fdSlider_Range_Handle_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-hover,.fd-slider--range .fd-slider__inner .fd-slider__handle:hover{background-color:var(--fdSlider_Range_Hover_Handle_Background);border-color:var(--fdSlider_Range_Hover_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active,.fd-slider--range .fd-slider__inner .fd-slider__handle:active{background-color:var(--fdSlider_Range_Active_Handle_Background);border-color:var(--fdSlider_Range_Active_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:active:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus{background-color:var(--fdSlider_Range_Focus_Handle_Background);border:var(--fdSlider_Range_Focus_Handle_Border);z-index:5}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--vertical{height:100%}.fd-slider--vertical .fd-slider__inner{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__inner:after,.fd-slider--vertical .fd-slider__inner:before{left:50%;right:auto;top:auto;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-slider--vertical .fd-slider__inner:before{bottom:-.7rem}.fd-slider--vertical .fd-slider__inner:after{top:-.7rem}.fd-slider--vertical .fd-slider__track{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__track-range{bottom:0;position:absolute;width:100%}.fd-slider--vertical .fd-slider__handle{bottom:0;height:var(--fdSlider_Handle_Width);left:50%;top:auto;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%);width:var(--fdSlider_Handle_Height)}.fd-slider--vertical .fd-slider__handle:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fd-slider--vertical .fd-slider__tick-wrapper{height:100%;left:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);right:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);top:0}.fd-slider--vertical .fd-slider__ticks{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:100%}.fd-slider--vertical .fd-slider__tick{border-left:none;border-top-style:solid;border-top-width:.0625rem;height:0;width:var(--fdSlider_Tick_Height)}.fd-slider--vertical .fd-slider__labels{height:100%;position:absolute;top:-.55rem;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;left:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__labels[dir=rtl],[dir=rtl] .fd-slider--vertical .fd-slider__labels{left:auto;right:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__label{height:.0625rem;width:auto}.fd-slider--vertical.fd-slider--range .fd-slider__track-range{left:0}.fd-slider--vertical.fd-slider--range .fd-slider__track-focus-range{height:auto;inset:0 auto 0 50%;margin-block:calc(var(--fdSlider_Handle_Height)*-1/1.1);margin-inline:0;-webkit-transform:translateX(-50%);transform:translate(-50%);width:calc(var(--fdSlider_Handle_Height) + .5rem)}.fd-slider-tooltip-popover.fd-popover__body{background:var(--sapBackgroundColor);border:none;border-radius:.0625rem;-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);height:1rem;overflow:hidden;padding-block:0;padding-inline:.5rem;top:-.4375rem!important}.fd-slider-tooltip-popover.fd-popover__body .fd-slider-tooltip{color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize);line-height:1rem;text-align:center}.fd-slider-tooltip-popover.fd-popover__body:has(input){-webkit-box-shadow:none;box-shadow:none;height:auto;padding-inline:0;width:auto}.fd-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle,var(--sapField_BackgroundStyle));background-color:var(--sapField_Background,var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);-webkit-box-shadow:var(--sapField_Shadow);box-shadow:var(--sapField_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdInput_Height,var(--sapElement_Height));line-height:normal;margin-block:0;margin-block:var(--fdInput_Field_Margin_Block,.25rem);margin-inline:0;min-height:var(--fdInput_Height,var(--sapElement_Height));min-width:2.75rem;outline:none;overflow:hidden;padding-block:0;padding-inline:0;padding-inline:var(--fdInput_Field_Padding_Inline,.625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-input::-webkit-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-moz-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input:-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::-webkit-input-placeholder,[dir=rtl] .fd-input::-webkit-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-moz-placeholder,[dir=rtl] .fd-input::-moz-placeholder{text-indent:.125rem}.fd-input[dir=rtl]:-ms-input-placeholder,[dir=rtl] .fd-input:-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-ms-input-placeholder,[dir=rtl] .fd-input::-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::-moz-selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{background:var(--sapField_Hover_BackgroundStyle,var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background,var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{background:var(--sapField_Focus_Background,var(--sapField_Focus_Background));-webkit-box-shadow:none;box-shadow:none;outline:var(--fdInput_Outline_Color) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:var(--fdInput_Outline_Offset);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));margin-block:var(--fdInput_Field_Compact_Margin_Block,.1875rem);margin-inline:0;min-height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));min-width:var(--fdInput_Field_Compact_Min_Width,2rem);padding-block:0;padding-inline:var(--fdInput_Field_Compact_Padding,.5rem)}.fd-input--no-number-spinner{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin-block:0;margin-inline:0}.fd-input.right-align{text-align:right}.fd-input__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle);-webkit-box-shadow:var(--sapField_SuccessShadow);box-shadow:var(--sapField_SuccessShadow)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-success.is-expanded,.fd-input.is-success[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Success_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle);-webkit-box-shadow:var(--sapField_InvalidShadow);box-shadow:var(--sapField_InvalidShadow)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-error.is-expanded,.fd-input.is-error[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Error_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle);-webkit-box-shadow:var(--sapField_WarningShadow);box-shadow:var(--sapField_WarningShadow)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-warning.is-expanded,.fd-input.is-warning[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-alert.is-expanded,.fd-input.is-alert[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle);-webkit-box-shadow:var(--sapField_InformationShadow);box-shadow:var(--sapField_InformationShadow)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-information.is-expanded,.fd-input.is-information[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Information_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-webkit-input-placeholder,.fd-input.is-error::-webkit-input-placeholder,.fd-input.is-warning::-webkit-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-moz-placeholder,.fd-input.is-error::-moz-placeholder,.fd-input.is-warning::-moz-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert:-ms-input-placeholder,.fd-input.is-error:-ms-input-placeholder,.fd-input.is-warning:-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-ms-input-placeholder,.fd-input.is-error::-ms-input-placeholder,.fd-input.is-warning::-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::-webkit-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-moz-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error:-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::-webkit-input-placeholder,.fd-input:disabled::-webkit-input-placeholder,.fd-input[aria-disabled=true]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-moz-placeholder,.fd-input:disabled::-moz-placeholder,.fd-input[aria-disabled=true]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled:-ms-input-placeholder,.fd-input:disabled:-ms-input-placeholder,.fd-input[aria-disabled=true]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-ms-input-placeholder,.fd-input:disabled::-ms-input-placeholder,.fd-input[aria-disabled=true]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly::-webkit-input-placeholder,.fd-input[aria-readonly=true]::-webkit-input-placeholder,.fd-input[readonly]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-moz-placeholder,.fd-input[aria-readonly=true]::-moz-placeholder,.fd-input[readonly]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly:-ms-input-placeholder,.fd-input[aria-readonly=true]:-ms-input-placeholder,.fd-input[readonly]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-ms-input-placeholder,.fd-input[aria-readonly=true]::-ms-input-placeholder,.fd-input[readonly]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly.is-focus,.fd-input.is-readonly.is-hover,.fd-input.is-readonly:focus,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:focus,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-focus,.fd-input[readonly].is-hover,.fd-input[readonly]:focus,.fd-input[readonly]:hover{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{z-index:5}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-popover--slider{display:block!important}.fd-popover__body.fd-slider-tooltip-popover{height:1rem;border:none;padding-block:0;overflow:hidden;padding-inline:.5rem;border-radius:.0625rem;top:-.4375rem!important;background:var(--sapBackgroundColor);box-shadow:var(--sapContent_Shadow1)}.fd-popover__body.fd-slider-tooltip-popover .fd-slider-tooltip{line-height:1rem;text-align:center;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize)}.fd-popover__body.fd-slider-tooltip-popover:has(input){width:auto;height:auto;box-shadow:none;padding-inline:0}.fd-slider{display:block}.fd-slider.fd-slider--with-labels{padding-bottom:2rem}.fd-slider__tick-wrapper .fd-slider__label,.fd-slider__tick-wrapper .fd-slider__tick{position:absolute}.fd-slider__ticks{height:var(--fdSlider_Tick_Height)}.fd-slider__track .fd-slider__handle:focus{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track .fd-popover-custom{display:none}.fd-slider__labels .fd-slider__label{white-space:nowrap}[dir=rtl] .fd-slider__handle{transform:translate(50%,-50%)}\n/*! Bundled license information:\n\nfundamental-styles/dist/input.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
817
+ ], template: "<div class=\"fd-slider__inner\">\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeMode : singleMode\"></ng-template>\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-template>\n </div>\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n @if (showTicks) {\n @for (tick of _tickMarks; track tick; let i = $index) {\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n }\n }\n </div>\n @if (showTicks && showTicksLabels) {\n <div class=\"fd-slider__labels\">\n @for (tick of _tickMarks; track tick; let i = $index; let last = $last; let first = $first) {\n @if (first || last || i % tickmarksBetweenLabels === 0) {\n <div\n class=\"fd-slider__label\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n }\n }\n </div>\n }\n </div>\n</div>\n<ng-template #singleModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _progress : null\"\n [style.width.%]=\"vertical ? null : _progress\"\n ></div>\n }\n</ng-template>\n<ng-template #rangeModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _rangeProgress : null\"\n [style.width.%]=\"vertical ? null : _rangeProgress\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n >\n <div\n class=\"fd-slider__track-focus-range\"\n (mousedown)=\"onHandleClick($event, true)\"\n (keydown)=\"onKeyDown($event, _handles.Both)\"\n tabindex=\"0\"\n #rangeGroupHandle\n ></div>\n </div>\n }\n</ng-template>\n<ng-template #singleMode>\n <div\n #handle\n role=\"slider\"\n fd-slider-position\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n role=\"slider\"\n fd-slider-position\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.First)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n <div\n #rangeHandle2\n fd-slider-position\n role=\"slider\"\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.Second)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\"\n ></ng-template>\n </fd-popover>\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider-tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n @if ((customValues && customValues.length > 0) || tooltipMode === 'readonly') {\n <div class=\"fd-slider-tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n }\n @if (customValues.length === 0 && tooltipMode === 'editable') {\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider-tooltip {{ _popoverInputFieldClass }}\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n }\n </div>\n</ng-template>\n", styles: [".fd-slider{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;min-width:4rem;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:calc(var(--fdSlider_Handle_Width)*.5 + .125rem);position:relative}.fd-slider:after,.fd-slider:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider.is-disabled,.fd-slider:disabled,.fd-slider[aria-disabled=true]{cursor:not-allowed}.fd-slider--lg{--fdSlider_Handle_Width:var(--fdSlider_Mobile_Handle_Width);--fdSlider_Handle_Height:var(--fdSlider_Mobile_Handle_Height);--fdSlider_Handle_Active_Width:var(--fdSlider_Mobile_Handle_Active_Size);--fdSlider_Handle_Active_Height:var(--fdSlider_Mobile_Handle_Active_Size);padding-inline:calc(var(--fdSlider_Mobile_Handle_Width)*.5 + .125rem)}.fd-slider__inner{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__inner:after,.fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Active_Background);border:0;border:var(--fdSlider_Endpoint_Active_Border);border-radius:50%;-webkit-box-sizing:inherit;box-sizing:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);content:\"\";font-family:var(--sapFontFamily);font-size:inherit;font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Endpoint_Size);left:-.7rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:var(--fdSlider_Endpoint_Size)}.fd-slider__inner:after:after,.fd-slider__inner:after:before,.fd-slider__inner:before:after,.fd-slider__inner:before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__inner:after{left:auto;right:-.7rem}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:before,.fd-slider__inner:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner[dir=rtl]:after,[dir=rtl] .fd-slider:not(.fd-slider--vertical,.fd-slider--range) .fd-slider__inner:after{background-color:var(--fdSlider_Endpoint_Active_Background);border:var(--fdSlider_Endpoint_Active_Border)}.fd-slider__track{background-color:var(--fdSlider_Track_Background);border:0;border-radius:var(--fdSlider_Track_BorderRadius);-webkit-box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);box-shadow:inset 0 0 0 var(--fdSlider_Track_Border_Width) var(--fdSlider_Track_Border_Color);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Track_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative;width:100%;z-index:1}.fd-slider__track:after,.fd-slider__track:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track .fd-slider__handle.is-focus,.fd-slider__track .fd-slider__handle:focus{z-index:5;z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track-range{background-color:var(--fdSlider_Track_Active_Background);border:0;border:.0625rem solid var(--fdSlider_Track_Active_Border);border-radius:.25rem;-webkit-box-shadow:var(--fdSlider_Track_Active_Box_Shadow);box-shadow:var(--fdSlider_Track_Active_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__track-range:after,.fd-slider__track-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick-wrapper{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);width:100%;z-index:2}.fd-slider__tick-wrapper:after,.fd-slider__tick-wrapper:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__ticks{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:var(--fdSlider_Tick_Height);justify-content:space-between}.fd-slider__ticks:after,.fd-slider__ticks:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__labels{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;height:1rem;justify-content:space-between;position:relative;top:.5rem}.fd-slider__labels:after,.fd-slider__labels:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick{border:0;border-left:.0625rem solid var(--fdSlider_Tick_Background);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdSlider_Tick_Height);line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-slider__tick:after,.fd-slider__tick:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__tick--in-range{border-color:var(--fdSlider_Active_Tick_Background)}.fd-slider__label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);font-size:var(--sapFontSmallSize);position:relative;width:0}.fd-slider__label:after,.fd-slider__label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdSlider_Handle_Background);border:var(--fdSlider_Handle_Border);border-radius:var(--fdSlider_Handle_Border_Radius);cursor:pointer;height:var(--fdSlider_Handle_Height);position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Width);z-index:3}.fd-slider__handle:after,.fd-slider__handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__handle:before{content:\"\";height:var(--fdSlider_Handle_Active_Height);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--fdSlider_Handle_Active_Width)}.fd-slider__handle:after{color:var(--sapContent_Selected_ForegroundColor);content:\"\\e29c\";display:var(--fdSlider_Handle_Icon_Display);font-family:SAP-icons;font-size:.875rem;line-height:1}.fd-slider__handle.is-focus,.fd-slider__handle:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-focus:after,.fd-slider__handle:focus:after{display:none}.fd-slider__handle.is-hover,.fd-slider__handle:hover{background-color:var(--fdSlider_Hover_Handle_Background);border:var(--fdSlider_Hover_Handle_Border);border-color:var(--fdSlider_Handle_Border_Hover_Color)}.fd-slider__handle.is-hover.is-focus,.fd-slider__handle.is-hover:focus,.fd-slider__handle:hover.is-focus,.fd-slider__handle:hover:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-hover.is-focus:after,.fd-slider__handle.is-hover:focus:after,.fd-slider__handle:hover.is-focus:after,.fd-slider__handle:hover:focus:after{display:none}.fd-slider__handle.is-active,.fd-slider__handle:active{background-color:var(--fdSlider_Active_Handle_Background);border:var(--fdSlider_Active_Handle_Border)}.fd-slider__handle.is-active.is-focus,.fd-slider__handle.is-active:focus,.fd-slider__handle:active.is-focus,.fd-slider__handle:active:focus{background-color:var(--fdSlider_Focus_Handle_Background);border:var(--fdSlider_Focus_Handle_Border);outline:none;z-index:5}.fd-slider__handle.is-active.is-focus:after,.fd-slider__handle.is-active:focus:after,.fd-slider__handle:active.is-focus:after,.fd-slider__handle:active:focus:after{display:none}.fd-slider__track-focus-range{border:0;border-radius:var(--fdSlider_Range_Track_Border_Radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:calc(var(--fdSlider_Handle_Height) + .5rem);left:0;line-height:normal;margin-block:0;margin-inline:0;margin-inline:calc(var(--fdSlider_Handle_Height)*-1/1.1);padding-block:0;padding-inline:0;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-slider__track-focus-range:after,.fd-slider__track-focus-range:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-slider__track-focus-range.is-focus,.fd-slider__track-focus-range:focus{outline:var(--fdSlider_Focus_Range_Outline);z-index:5}.fd-slider--range .fd-slider__inner:after,.fd-slider--range .fd-slider__inner:before{background-color:var(--fdSlider_Endpoint_Background);border:var(--fdSlider_Endpoint_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle{background-color:var(--fdSlider_Range_Handle_Background);border:var(--fdSlider_Range_Handle_Border)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-hover,.fd-slider--range .fd-slider__inner .fd-slider__handle:hover{background-color:var(--fdSlider_Range_Hover_Handle_Background);border-color:var(--fdSlider_Range_Hover_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active,.fd-slider--range .fd-slider__inner .fd-slider__handle:active{background-color:var(--fdSlider_Range_Active_Handle_Background);border-color:var(--fdSlider_Range_Active_Handle_Border_Color)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-active:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:active:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus{background-color:var(--fdSlider_Range_Focus_Handle_Background);border:var(--fdSlider_Range_Focus_Handle_Border);z-index:5}.fd-slider--range .fd-slider__inner .fd-slider__handle.is-focus:after,.fd-slider--range .fd-slider__inner .fd-slider__handle:focus:after{display:var(--fdSlider_Focus_Handle_Display)}.fd-slider--vertical{height:100%}.fd-slider--vertical .fd-slider__inner{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__inner:after,.fd-slider--vertical .fd-slider__inner:before{left:50%;right:auto;top:auto;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-slider--vertical .fd-slider__inner:before{bottom:-.7rem}.fd-slider--vertical .fd-slider__inner:after{top:-.7rem}.fd-slider--vertical .fd-slider__track{height:100%;width:var(--fdSlider_Track_Height)}.fd-slider--vertical .fd-slider__track-range{bottom:0;position:absolute;width:100%}.fd-slider--vertical .fd-slider__handle{bottom:0;height:var(--fdSlider_Handle_Width);left:50%;top:auto;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%);width:var(--fdSlider_Handle_Height)}.fd-slider--vertical .fd-slider__handle:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fd-slider--vertical .fd-slider__tick-wrapper{height:100%;left:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);right:calc((var(--fdSlider_Track_Height) - var(--fdSlider_Tick_Height))/2);top:0}.fd-slider--vertical .fd-slider__ticks{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;height:100%}.fd-slider--vertical .fd-slider__tick{border-left:none;border-top-style:solid;border-top-width:.0625rem;height:0;width:var(--fdSlider_Tick_Height)}.fd-slider--vertical .fd-slider__labels{height:100%;position:absolute;top:-.55rem;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;left:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__labels[dir=rtl],[dir=rtl] .fd-slider--vertical .fd-slider__labels{left:auto;right:calc(var(--fdSlider_Handle_Width)*.5 + .125rem)}.fd-slider--vertical .fd-slider__label{height:.0625rem;width:auto}.fd-slider--vertical.fd-slider--range .fd-slider__track-range{left:0}.fd-slider--vertical.fd-slider--range .fd-slider__track-focus-range{height:auto;inset:0 auto 0 50%;margin-block:calc(var(--fdSlider_Handle_Height)*-1/1.1);margin-inline:0;-webkit-transform:translateX(-50%);transform:translate(-50%);width:calc(var(--fdSlider_Handle_Height) + .5rem)}.fd-slider-tooltip-popover.fd-popover__body{background:var(--sapBackgroundColor);border:none;border-radius:.0625rem;-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);height:1rem;overflow:hidden;padding-block:0;padding-inline:.5rem;top:-.4375rem!important}.fd-slider-tooltip-popover.fd-popover__body .fd-slider-tooltip{color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize);line-height:1rem;text-align:center}.fd-slider-tooltip-popover.fd-popover__body:has(input){-webkit-box-shadow:none;box-shadow:none;height:auto;padding-inline:0;width:auto}.fd-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sapField_BackgroundStyle,var(--sapField_BackgroundStyle));background-color:var(--sapField_Background,var(--sapField_Background));border:0;border:var(--sapField_BorderWidth) var(--sapField_BorderStyle) var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);-webkit-box-shadow:var(--sapField_Shadow);box-shadow:var(--sapField_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdInput_Height,var(--sapElement_Height));line-height:normal;margin-block:0;margin-block:var(--fdInput_Field_Margin_Block,.25rem);margin-inline:0;min-height:var(--fdInput_Height,var(--sapElement_Height));min-width:2.75rem;outline:none;overflow:hidden;padding-block:0;padding-inline:0;padding-inline:var(--fdInput_Field_Padding_Inline,.625rem);text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-input:after,.fd-input:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-input::-webkit-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-moz-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input:-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::-ms-input-placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-input[dir=rtl]::-webkit-input-placeholder,[dir=rtl] .fd-input::-webkit-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-moz-placeholder,[dir=rtl] .fd-input::-moz-placeholder{text-indent:.125rem}.fd-input[dir=rtl]:-ms-input-placeholder,[dir=rtl] .fd-input:-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::-ms-input-placeholder,[dir=rtl] .fd-input::-ms-input-placeholder{text-indent:.125rem}.fd-input[dir=rtl]::placeholder,[dir=rtl] .fd-input::placeholder{text-indent:.125rem}.fd-input::-moz-selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-input::-ms-clear{display:none}.fd-input.is-hover,.fd-input:hover{background:var(--sapField_Hover_BackgroundStyle,var(--sapField_Hover_BackgroundStyle));background-color:var(--sapField_Hover_Background,var(--sapField_Hover_Background));border-color:var(--sapField_Hover_BorderColor);-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-input.is-focus,.fd-input:focus{background:var(--sapField_Focus_Background,var(--sapField_Focus_Background));-webkit-box-shadow:none;box-shadow:none;outline:var(--fdInput_Outline_Color) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:var(--fdInput_Outline_Offset);z-index:5}.fd-input[type=search]::-webkit-search-cancel-button,.fd-input[type=search]::-webkit-search-decoration,.fd-input[type=search]::-webkit-search-results-button,.fd-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.fd-input[aria-expanded=false]{z-index:0}.fd-input.is-expanded,.fd-input[aria-expanded=true]{z-index:4}.fd-input[class*=-compact],.fd-input[class*=-condensed],[class*=-compact] .fd-input:not([class*=-cozy]),[class*=-condensed] .fd-input:not([class*=-cozy]){-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));margin-block:var(--fdInput_Field_Compact_Margin_Block,.1875rem);margin-inline:0;min-height:var(--fdInput_Compact_Height,var(--sapElement_Compact_Height));min-width:var(--fdInput_Field_Compact_Min_Width,2rem);padding-block:0;padding-inline:var(--fdInput_Field_Compact_Padding,.5rem)}.fd-input--no-number-spinner{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.fd-input--no-number-spinner::-webkit-inner-spin-button,.fd-input--no-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin-block:0;margin-inline:0}.fd-input.right-align{text-align:right}.fd-input__sr-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;white-space:nowrap;width:1px}.fd-input.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle);-webkit-box-shadow:var(--sapField_SuccessShadow);box-shadow:var(--sapField_SuccessShadow)}.fd-input.is-success.is-hover,.fd-input.is-success:hover{background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-input.is-success.is-focus,.fd-input.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-input.is-success.is-focus.is-hover,.fd-input.is-success.is-focus:hover,.fd-input.is-success:focus.is-hover,.fd-input.is-success:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-success.is-expanded,.fd-input.is-success[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Success_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle);-webkit-box-shadow:var(--sapField_InvalidShadow);box-shadow:var(--sapField_InvalidShadow)}.fd-input.is-error.is-hover,.fd-input.is-error:hover{background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-input.is-error.is-focus,.fd-input.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-input.is-error.is-focus.is-hover,.fd-input.is-error.is-focus:hover,.fd-input.is-error:focus.is-hover,.fd-input.is-error:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-error.is-expanded,.fd-input.is-error[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Error_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle);-webkit-box-shadow:var(--sapField_WarningShadow);box-shadow:var(--sapField_WarningShadow)}.fd-input.is-warning.is-hover,.fd-input.is-warning:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-warning.is-focus.is-hover,.fd-input.is-warning.is-focus:hover,.fd-input.is-warning:focus.is-hover,.fd-input.is-warning:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-warning.is-expanded,.fd-input.is-warning[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-input.is-alert.is-hover,.fd-input.is-alert:hover{background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-input.is-alert.is-focus.is-hover,.fd-input.is-alert.is-focus:hover,.fd-input.is-alert:focus.is-hover,.fd-input.is-alert:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-alert.is-expanded,.fd-input.is-alert[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Warning_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle);-webkit-box-shadow:var(--sapField_InformationShadow);box-shadow:var(--sapField_InformationShadow)}.fd-input.is-information.is-hover,.fd-input.is-information:hover{background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-input.is-information.is-focus,.fd-input.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-input.is-information.is-focus.is-hover,.fd-input.is-information.is-focus:hover,.fd-input.is-information:focus.is-hover,.fd-input.is-information:focus:hover{-webkit-box-shadow:none;box-shadow:none}.fd-input.is-information.is-expanded,.fd-input.is-information[aria-expanded=true]{background:var(--sapField_Focus_Background);-webkit-box-shadow:none;box-shadow:none;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdInput_Information_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-input.is-alert,.fd-input.is-error,.fd-input.is-warning{font-style:var(--fdInput_State_Text_Style);font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-webkit-input-placeholder,.fd-input.is-error::-webkit-input-placeholder,.fd-input.is-warning::-webkit-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-moz-placeholder,.fd-input.is-error::-moz-placeholder,.fd-input.is-warning::-moz-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert:-ms-input-placeholder,.fd-input.is-error:-ms-input-placeholder,.fd-input.is-warning:-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::-ms-input-placeholder,.fd-input.is-error::-ms-input-placeholder,.fd-input.is-warning::-ms-input-placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert::placeholder,.fd-input.is-error::placeholder,.fd-input.is-warning::placeholder{font-weight:var(--fdInput_State_Font_Weight)}.fd-input.is-alert.is-focus,.fd-input.is-alert:focus,.fd-input.is-error.is-focus,.fd-input.is-error:focus,.fd-input.is-information.is-focus,.fd-input.is-information:focus,.fd-input.is-warning.is-focus,.fd-input.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-input.is-error::-webkit-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-moz-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error:-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::-ms-input-placeholder{color:var(--sapField_TextColor)}.fd-input.is-error::placeholder{color:var(--sapField_TextColor)}.fd-input.is-disabled,.fd-input:disabled,.fd-input[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-input.is-disabled::-webkit-input-placeholder,.fd-input:disabled::-webkit-input-placeholder,.fd-input[aria-disabled=true]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-moz-placeholder,.fd-input:disabled::-moz-placeholder,.fd-input[aria-disabled=true]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled:-ms-input-placeholder,.fd-input:disabled:-ms-input-placeholder,.fd-input[aria-disabled=true]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::-ms-input-placeholder,.fd-input:disabled::-ms-input-placeholder,.fd-input[aria-disabled=true]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-disabled::placeholder,.fd-input:disabled::placeholder,.fd-input[aria-disabled=true]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly,.fd-input[aria-readonly=true],.fd-input[readonly]{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly::-webkit-input-placeholder,.fd-input[aria-readonly=true]::-webkit-input-placeholder,.fd-input[readonly]::-webkit-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-moz-placeholder,.fd-input[aria-readonly=true]::-moz-placeholder,.fd-input[readonly]::-moz-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly:-ms-input-placeholder,.fd-input[aria-readonly=true]:-ms-input-placeholder,.fd-input[readonly]:-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::-ms-input-placeholder,.fd-input[aria-readonly=true]::-ms-input-placeholder,.fd-input[readonly]::-ms-input-placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly::placeholder,.fd-input[aria-readonly=true]::placeholder,.fd-input[readonly]::placeholder{color:var(--fdInput_Non_Interactive_State_Placeholder_Color);opacity:0}.fd-input.is-readonly.is-focus,.fd-input.is-readonly.is-hover,.fd-input.is-readonly:focus,.fd-input.is-readonly:hover,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true].is-hover,.fd-input[aria-readonly=true]:focus,.fd-input[aria-readonly=true]:hover,.fd-input[readonly].is-focus,.fd-input[readonly].is-hover,.fd-input[readonly]:focus,.fd-input[readonly]:hover{--fdInput_Outline_Offset:-.25rem;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);-webkit-box-shadow:none;box-shadow:none}.fd-input.is-readonly.is-focus,.fd-input.is-readonly:focus,.fd-input[aria-readonly=true].is-focus,.fd-input[aria-readonly=true]:focus,.fd-input[readonly].is-focus,.fd-input[readonly]:focus{z-index:5}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.fd-popover--slider{display:block!important}.fd-popover__body.fd-slider-tooltip-popover{height:1rem;border:none;padding-block:0;overflow:hidden;padding-inline:.5rem;border-radius:.0625rem;top:-.4375rem!important;background:var(--sapBackgroundColor);box-shadow:var(--sapContent_Shadow1)}.fd-popover__body.fd-slider-tooltip-popover .fd-slider-tooltip{line-height:1rem;text-align:center;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSmallSize)}.fd-popover__body.fd-slider-tooltip-popover:has(input){width:auto;height:auto;box-shadow:none;padding-inline:0}.fd-slider{display:block}.fd-slider.fd-slider--with-labels{padding-bottom:2rem}.fd-slider__tick-wrapper .fd-slider__label,.fd-slider__tick-wrapper .fd-slider__tick{position:absolute}.fd-slider__ticks{height:var(--fdSlider_Tick_Height)}.fd-slider__track .fd-slider__handle:focus{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fd-slider__track .fd-popover-custom{display:none}.fd-slider__labels .fd-slider__label{white-space:nowrap}[dir=rtl] .fd-slider__handle{transform:translate(50%,-50%)}\n/*! Bundled license information:\n\nfundamental-styles/dist/input.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
823
818
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1.Platform }, { type: i2.LiveAnnouncer }, { type: i3.ContentDensityObserver }], propDecorators: { id: [{
824
819
  type: Input
825
820
  }, {
@@ -831,7 +826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
831
826
  type: Input
832
827
  }], ariaLabel: [{
833
828
  type: Input
834
- }], min: [{
829
+ }], ariaValueText: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaValueText", required: false }] }], min: [{
835
830
  type: Input
836
831
  }], max: [{
837
832
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-slider.mjs","sources":["../../../../libs/core/slider/slider-position.directive.ts","../../../../libs/core/slider/constants.ts","../../../../libs/core/slider/slider.model.ts","../../../../libs/core/slider/slider.component.ts","../../../../libs/core/slider/slider.component.html","../../../../libs/core/slider/slider.module.ts","../../../../libs/core/slider/fundamental-ngx-core-slider.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges, Renderer2, computed, effect, inject } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-slider-position]'\n})\nexport class SliderPositionDirective implements OnChanges {\n /** Position of the slider */\n @Input()\n position: number;\n\n /** Whether the slider is rendered vertically. */\n @Input()\n vertical = false;\n\n /** @hidden */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n constructor() {\n effect(() => {\n this._setPosition(this._isRtl());\n });\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._setPosition();\n }\n /** @hidden */\n private _setPosition(rtl = this._isRtl()): void {\n if (this.vertical) {\n this._renderer.setStyle(this._elementRef.nativeElement, 'bottom', `${this.position}%`);\n return;\n }\n\n this._renderer.setStyle(this._elementRef.nativeElement, 'left', !rtl ? `${this.position}%` : 'unset');\n this._renderer.setStyle(this._elementRef.nativeElement, 'right', rtl ? `${this.position}%` : 'unset');\n }\n}\n","export const MIN_DISTANCE_BETWEEN_TICKS = 8;\n","export enum SliderValueTargets {\n SINGLE_SLIDER,\n RANGE_SLIDER1,\n RANGE_SLIDER2\n}\n\nexport enum SliderRangeHandles {\n First,\n Second,\n Both\n}\n\nexport interface SliderTickMark {\n value: number | string;\n label: string;\n position?: number;\n}\n\nexport type SliderCustomValue = Omit<SliderTickMark, 'position'>;\n\nexport type SliderControlValue = number | number[] | SliderTickMark | SliderTickMark[];\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, Observable, combineLatest, fromEvent, of } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, mapTo, skip, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n CssClassBuilder,\n KeyUtil,\n Nullable,\n OnlyDigitsDirective,\n RtlService,\n applyCssClass\n} from '@fundamental-ngx/cdk/utils';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { PopoverComponent, PopoverTriggerDirective } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { MIN_DISTANCE_BETWEEN_TICKS } from './constants';\nimport { SliderPositionDirective } from './slider-position.directive';\nimport {\n SliderControlValue,\n SliderCustomValue,\n SliderRangeHandles,\n SliderTickMark,\n SliderValueTargets\n} from './slider.model';\n\nexport const SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true\n};\nlet sliderId = 0;\n@Component({\n selector: 'fd-slider',\n templateUrl: './slider.component.html',\n styleUrl: './slider.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SLIDER_VALUE_ACCESSOR,\n registerFormItemControl(SliderComponent),\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT,\n modifiers: {\n [ContentDensityMode.COZY]: 'fd-slider--lg'\n }\n })\n ],\n host: {\n '(mouseenter)': 'this._componentHovered$.next(true)',\n '(mouseleave)': 'this._componentHovered$.next(false)',\n '(focusout)': 'onTouched()'\n },\n imports: [\n NgTemplateOutlet,\n SliderPositionDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n FormsModule,\n OnlyDigitsDirective,\n FdTranslatePipe\n ]\n})\nexport class SliderComponent\n implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor, CssClassBuilder, FormItemControl\n{\n /** Slider id, it has some default value if not set, */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-slider-id-' + sliderId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** ID of the element that labels slider. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the slider. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Minimum value. */\n @Input()\n set min(value: number) {\n const newValue = coerceNumberProperty(value, this._min);\n if (((this.max - newValue) / this.step) % 1 !== 0) {\n return;\n }\n this._min = value;\n }\n get min(): number {\n return this._min;\n }\n\n /** Maximum value. */\n @Input()\n set max(value: number) {\n const newValue = coerceNumberProperty(value, this._max);\n if (((newValue - this.min) / this.step) % 1 !== 0) {\n return;\n }\n this._max = value;\n }\n get max(): number {\n return this._max;\n }\n\n /** Step value. */\n @Input()\n set step(value: number) {\n const newValue = coerceNumberProperty(value, this._step);\n if (((this.max - this.min) / newValue) % 1 !== 0) {\n return;\n }\n this._step = value;\n }\n get step(): number {\n return this._step;\n }\n\n /** Jump value. */\n @Input()\n set jump(value: number) {\n this._jump = coerceNumberProperty(value, this._jump);\n }\n get jump(): number {\n return this._jump;\n }\n\n /** Put a label on every N-th tickmark. */\n @Input()\n set tickmarksBetweenLabels(value: number) {\n this._tickmarksBetweenLabels = coerceNumberProperty(value, this._tickmarksBetweenLabels);\n }\n get tickmarksBetweenLabels(): number {\n return this._tickmarksBetweenLabels;\n }\n\n /**\n * Slider mode.\n * Options include: 'single' | 'range'\n * The default is set to 'single'\n */\n @Input()\n mode: 'single' | 'range' = 'single';\n\n /** Toggles the visibility of tick marks. */\n @Input()\n showTicks = false;\n\n /** Toggles the visibility of tick mark labels. Must be used in conjunction with 'showTicks' */\n @Input()\n showTicksLabels = false;\n\n /** Array of custom values to use for Slider. */\n @Input()\n customValues: SliderCustomValue[] = [];\n\n /** Tooltip can be two types, 'readonly' to display value and 'editable' to make the ability to set and display value. */\n @Input()\n tooltipMode: 'readonly' | 'editable';\n\n /** Hides display of colored progress bar. */\n @Input()\n hideProgressBar = false;\n\n /** Whether the control is disabled. */\n @Input()\n disabled = false;\n\n /**\n * Whether slider should have vertical alignment.\n */\n @Input()\n vertical = false;\n\n /** @hidden */\n _position: number | number[] = 0;\n\n /** Control value */\n @Input()\n set value(value: SliderControlValue) {\n this._setValue(value);\n }\n get value(): SliderControlValue {\n return this._value;\n }\n\n /** @hidden */\n get _popoverValueRef(): number[] {\n return [this._position as number, this._handle1Value, this._handle2Value];\n }\n\n /** @hidden */\n @ViewChild('track', { read: ElementRef, static: true })\n trackEl: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('handle', {\n read: ElementRef\n })\n handle: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle1', {\n read: ElementRef\n })\n rangeHandle1: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle2', {\n read: ElementRef\n })\n rangeHandle2: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeGroupHandle', { read: ElementRef, static: false })\n _rangeGroupHandle: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChildren(PopoverComponent)\n _popovers: QueryList<PopoverComponent>;\n\n /** @hidden */\n @ViewChildren('sliderTooltipWrapper')\n _sliderTooltipWrappers: QueryList<ElementRef<HTMLDivElement>>;\n\n /** @hidden */\n _value: number | SliderTickMark | SliderTickMark[] | number[] = 0;\n\n /** @hidden */\n _progress = 0;\n\n /** @hidden */\n @HostBinding('class.fd-slider--range')\n _isRange = false;\n\n /** @hidden */\n _handle1Position = 0;\n\n /** @hidden */\n _handle2Position = 0;\n\n /** @hidden */\n _handle1Value = 0;\n\n /** @hidden */\n _handle2Value = 0;\n\n /** @hidden */\n _rangeProgress = 0;\n\n /** @hidden */\n _tickMarks: SliderTickMark[] = [];\n\n /** @hidden */\n _sliderValueTargets = SliderValueTargets;\n\n /** @hidden */\n _popoverInputFieldClass = `fd-slider-popover-input-${sliderId}`;\n\n /**\n * @hidden\n * whether to use value with a prefix for announcing\n */\n _useSliderValuePrefix = true;\n\n /** @hidden */\n _handles = SliderRangeHandles;\n\n /** @hidden */\n private _min = 0;\n\n /** @hidden */\n private _max = 100;\n\n /** @hidden */\n private _step = 1;\n\n /** @hidden */\n private _jump = 10;\n\n /** @hidden */\n private _tickmarksBetweenLabels = 1;\n\n /** @hidden */\n private _valuesBySteps: number[] = [];\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n readonly _componentHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _handleFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle1Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle2Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n private readonly _platform: Platform,\n private readonly _liveAnnouncer: LiveAnnouncer,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-slider',\n this.disabled ? 'is-disabled' : '',\n this._isRange ? 'fd-slider--range' : '',\n this.showTicks && this.showTicksLabels ? 'fd-slider--with-labels' : '',\n this.vertical ? 'fd-slider--vertical' : '',\n this.class,\n this._platform.EDGE || this._platform.TRIDENT ? 'fd-slider__alternative-tick-width' : ''\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._attachResizeListener();\n this._onResize();\n if (this._valuesBySteps.length === 0) {\n this._constructValuesBySteps();\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._checkIsInRangeMode();\n this._constructTickMarks();\n this._constructValuesBySteps();\n this._recalcHandlePositions();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToInteractionChanges();\n }\n\n /** @hidden */\n getValuenow(position: number | number[], sliderValueTarget: SliderValueTargets): string | number {\n return this.customValues.length > 0\n ? this.customValues[position as number].label\n : this._popoverValueRef[sliderValueTarget];\n }\n\n /** @hidden */\n get minValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.min as number].label : this.min;\n }\n\n /** @hidden */\n get maxValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.max as number].label : this.max;\n }\n\n /** @hidden */\n onChange: (value: SliderControlValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (value: SliderControlValue) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** @hidden */\n writeValue(value: SliderControlValue): void {\n this._setValue(value, false);\n }\n\n /** @hidden */\n onTrackClick(event: MouseEvent): void {\n if (this.disabled || this._isRange) {\n return;\n }\n this._setValue(this._calculateValueFromPointerPosition(event));\n this._updatePopoversPosition();\n this.handle.nativeElement.focus();\n }\n\n /** @hidden */\n onHandleClick(event: MouseEvent, group = false): void {\n if (this.disabled) {\n return;\n }\n\n let firstHandleCoords: { x: number; y: number };\n let rangeSliderStartCoords: { x: number; y: number };\n\n if (group) {\n rangeSliderStartCoords = {\n x: event.clientX,\n y: event.clientY\n };\n\n const firstHandleRect = this.rangeHandle1.nativeElement.getBoundingClientRect();\n\n firstHandleCoords = {\n x: firstHandleRect.x + firstHandleRect.width / 2,\n y: firstHandleRect.y + firstHandleRect.height / 2\n };\n }\n\n const unsubscribeFromMousemove = this._renderer.listen('document', 'mousemove', (moveEvent: MouseEvent) => {\n this._updatePopoversPosition();\n if (!this._isRange) {\n this._setValue(this._calculateValueFromPointerPosition(moveEvent));\n return;\n }\n\n let coords = {\n clientX: moveEvent.clientX,\n clientY: moveEvent.clientY\n };\n\n let handleIndex: SliderRangeHandles;\n if (group) {\n handleIndex = SliderRangeHandles.Both;\n // Mimic dragging first handle to calculate the difference between old and new values.\n coords = {\n clientX: firstHandleCoords!.x + (moveEvent.clientX - rangeSliderStartCoords!.x),\n clientY: firstHandleCoords!.y + (moveEvent.clientY - rangeSliderStartCoords!.y)\n };\n } else if (event.target === this.rangeHandle1.nativeElement) {\n handleIndex = SliderRangeHandles.First;\n } else if (event.target === this.rangeHandle2.nativeElement) {\n handleIndex = SliderRangeHandles.Second;\n } else {\n return;\n }\n\n const value = this._calculateValueFromPointerPosition(coords, false) as number;\n this._setRangeHandleValueAndPosition(handleIndex, value);\n this._setValue(this._constructRangeModelValue());\n });\n const unsubscribeFromMouseup = this._renderer.listen('document', 'mouseup', () => {\n unsubscribeFromMousemove();\n unsubscribeFromMouseup();\n });\n }\n\n /** @hidden */\n onKeyDown(event: KeyboardEvent, handle?: SliderRangeHandles): void {\n if (this.disabled) {\n return;\n }\n const allowedKeys: number[] = [LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, ENTER, SPACE];\n if (!KeyUtil.isKeyCode(event, allowedKeys)) {\n return;\n }\n event.preventDefault();\n const upActionKey = KeyUtil.isKeyCode(event, [UP_ARROW, this._isRtl() ? LEFT_ARROW : RIGHT_ARROW]);\n const downActionKey = KeyUtil.isKeyCode(event, [DOWN_ARROW, this._isRtl() ? RIGHT_ARROW : LEFT_ARROW]);\n if (!upActionKey && !downActionKey) {\n return;\n }\n\n const diff = event.shiftKey ? this.jump : this.step;\n let newValue: number | SliderTickMark | null = null;\n if (!this._isRange) {\n newValue = (this._position as number) + diff * (upActionKey ? 1 : -1);\n\n if (newValue === null) {\n return;\n }\n\n newValue = this._processNewValue(newValue as number, !this._isRange);\n\n this._setValue(newValue);\n this._updatePopoversPosition();\n return;\n }\n\n this._handleRangeKeydown(\n handle === SliderRangeHandles.Both ? [SliderRangeHandles.First, SliderRangeHandles.Second] : handle!,\n diff,\n upActionKey\n );\n\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n _updateValueFromInput(value: string, target: SliderValueTargets): void {\n const newValue = this._processNewValue(+value) as number;\n if (!this._isRange && target === SliderValueTargets.SINGLE_SLIDER) {\n this._setValue(newValue);\n this.handle.nativeElement.focus();\n this._updatePopoversPosition();\n return;\n }\n if (target === SliderValueTargets.RANGE_SLIDER1) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, newValue);\n this.rangeHandle1.nativeElement.focus();\n }\n if (target === SliderValueTargets.RANGE_SLIDER2) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, newValue);\n this.rangeHandle2.nativeElement.focus();\n }\n this._setValue(this._constructRangeModelValue());\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n private _handleRangeKeydown(handles: SliderRangeHandles | SliderRangeHandles[], diff: number, up: boolean): void {\n handles = Array.isArray(handles) ? handles : [handles];\n const valueMap = new Map<\n SliderRangeHandles,\n { prev: number | SliderTickMark | null; current: number | SliderTickMark | null }\n >();\n handles.forEach((handle) => {\n const prevValue = handle === SliderRangeHandles.First ? this._handle1Value : this._handle2Value;\n let newValue: number | SliderTickMark | null = prevValue + diff * (up ? 1 : -1);\n if (newValue === null) {\n return;\n }\n\n newValue = this._processNewValue(newValue as number, !this._isRange);\n\n valueMap.set(handle, { prev: prevValue, current: newValue });\n });\n\n if (Array.from(valueMap.values()).some((entry) => entry.current === entry.prev)) {\n return;\n }\n\n valueMap.forEach((entry, handle) => {\n this._setRangeHandleValueAndPosition(handle, entry.current as number);\n });\n\n this._setValue(this._constructRangeModelValue());\n }\n\n /** @hidden */\n private _setValue(value: SliderControlValue, emitEvent = true): void {\n if (this._isRange) {\n this._initRangeMode((value ?? [0.0]) as number[] | SliderTickMark[]);\n } else {\n this._initSingeMode((value ?? 0) as number | SliderTickMark);\n }\n this._value = value;\n if (emitEvent) {\n this.onChange(value);\n }\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _updatePopoversPosition(): void {\n this._cdr.detectChanges();\n this._popovers.forEach((popover) => popover.refreshPosition());\n }\n\n /** @hidden */\n private _calculateValueFromPointerPosition(\n coords: { clientY: number; clientX: number },\n takeCustomValue = true\n ): number | SliderTickMark {\n const { left, width, bottom, height } = this.trackEl.nativeElement.getBoundingClientRect();\n let percentage = this.vertical ? (bottom - coords.clientY) / height : (coords.clientX - left) / width;\n\n if (this._isRtl()) {\n percentage = 1 - percentage;\n }\n const newValue = this.min + percentage * (this.max - this.min);\n return this._processNewValue(newValue, takeCustomValue);\n }\n\n /** @hidden */\n private _processNewValue(newValue: number, takeCustomValue = true): number | SliderTickMark {\n if (newValue > this.max) {\n newValue = this.max;\n }\n if (newValue < this.min) {\n newValue = this.min;\n }\n this._useSliderValuePrefix = false;\n this._cdr.markForCheck();\n const stepDiffArray = this._valuesBySteps\n .map((stepValue) => ({\n diff: Math.abs(stepValue - newValue),\n value: stepValue\n }))\n .sort((a, b) => a.diff - b.diff);\n let value: SliderTickMark | number = stepDiffArray[0].value;\n if (takeCustomValue && this.customValues.length > 0) {\n value = this.customValues[value];\n }\n return value;\n }\n\n /** @hidden */\n private _setRangeHandleValueAndPosition(handleIndex: SliderRangeHandles, value: number): void {\n const position = this._calcProgress(value, true);\n if (handleIndex === SliderRangeHandles.First) {\n this._handle1Value = value;\n this._handle1Position = position;\n } else if (handleIndex === SliderRangeHandles.Second) {\n this._handle2Value = value;\n this._handle2Position = position;\n } else if (handleIndex === SliderRangeHandles.Both) {\n // Calculate how much steps being skipped.\n const oldValueIndex = this._valuesBySteps.indexOf(this._handle1Value);\n const newValueIndex = this._valuesBySteps.indexOf(value);\n const diff = oldValueIndex - newValueIndex;\n const handle2ValueIndex = this._valuesBySteps.indexOf(this._handle2Value);\n\n if (diff === 0 || this._valuesBySteps.length <= handle2ValueIndex - diff) {\n return;\n }\n\n const positionShift = position - this._handle1Position;\n this._handle1Position = position;\n this._handle2Position = this._handle2Position + positionShift;\n this._handle1Value = value;\n this._handle2Value = this._valuesBySteps[handle2ValueIndex - diff];\n }\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n\n /** @hidden */\n private _constructRangeModelValue(): number[] | SliderTickMark[] {\n let rangeLowerValue: number | string;\n let rangeHigherValue: number | string;\n let rangeValue: number[] | SliderTickMark[] = [\n Math.min(this._handle1Value, this._handle2Value),\n Math.max(this._handle1Value, this._handle2Value)\n ];\n rangeLowerValue = rangeValue[0];\n rangeHigherValue = rangeValue[1];\n if (this.customValues.length > 0) {\n const min = this.customValues[rangeValue[0]] || this.customValues[0];\n const max = this.customValues[rangeValue[1]] || this.customValues[this.customValues.length - 1];\n rangeValue = [min, max];\n rangeLowerValue = rangeValue[0].label;\n rangeHigherValue = rangeValue[1].label;\n }\n this._liveAnnouncer.announce('range value between ' + rangeLowerValue + ' and ' + rangeHigherValue, 'polite');\n return rangeValue;\n }\n\n /** @hidden */\n private _attachResizeListener(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(500), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._onResize());\n }\n\n /** @hidden */\n private _onResize(): void {\n this._constructTickMarks();\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _constructValuesBySteps(): void {\n try {\n this._valuesBySteps = Array.from(\n {\n length: (this.max - this.min) / this.step + 1\n },\n (_, i) => Number((this.min + i * this.step).toFixed(2))\n );\n } catch {}\n }\n\n /** @hidden */\n private _constructTickMarks(): void {\n if (!this.showTicks) {\n this._tickMarks = [];\n return;\n }\n if (this.customValues.length) {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n const customValuesLength = this.customValues.length - 1;\n this._tickMarks = this.customValues.map((item, i) => ({\n ...item,\n position: (100 / customValuesLength) * i\n }));\n } else {\n const total = this.max - this.min;\n const tickMarksCount = total / this.step + 1;\n if (this._maxTickMarksNumber !== undefined && tickMarksCount > this._maxTickMarksNumber) {\n this._tickMarks = [\n {\n position: 0,\n value: 0,\n label: `${this.min}`\n },\n {\n position: 100,\n value: total,\n label: `${this.max}`\n }\n ];\n return;\n }\n if (tickMarksCount % 1 === 0) {\n this._tickMarks = Array.from(\n {\n length: tickMarksCount\n },\n (_, i) => {\n const value = Math.round(i * this.step * 100) / 100;\n const position = (value / (this.max - this.min)) * 100;\n return {\n value,\n position,\n label: `${this.min + value}`\n };\n }\n );\n }\n }\n }\n\n /** @hidden */\n private get _maxTickMarksNumber(): number | undefined {\n if (!this.trackEl || !this.trackEl.nativeElement) {\n return;\n }\n\n const { width, height } = this.trackEl.nativeElement.getBoundingClientRect();\n\n return Math.floor((this.vertical ? height : width) / MIN_DISTANCE_BETWEEN_TICKS);\n }\n\n /** @hidden */\n private _calcProgress(value: number, skipRtl = false): number {\n let progress = ((value - this.min) / (this.max - this.min)) * 100;\n if (!skipRtl && this._isRtl()) {\n progress = 100 - progress;\n }\n if (progress > 100) {\n return 100;\n }\n if (progress < 0) {\n return 0;\n }\n return progress;\n }\n\n /** @hidden */\n private _recalcHandlePositions(): void {\n if (this._isRange) {\n this._handle1Position = this._calcProgress(this._handle1Value);\n this._handle2Position = this._calcProgress(this._handle2Value);\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n this._progress = this._calcProgress(this._position as number, true);\n }\n\n /** @hidden */\n private _checkIsInRangeMode(): void {\n this._isRange = this.mode === 'range';\n }\n\n /** @hidden */\n private _initSingeMode(value: number | SliderTickMark): void {\n if (this.customValues.length > 0) {\n this._initSingeModeWithCustomValue(value as SliderTickMark);\n return;\n }\n this._initSingeModeDefault(coerceNumberProperty(value, this.min));\n }\n\n /** @hidden */\n private _initSingeModeDefault(value: number): void {\n this._position = value;\n this._progress = this._calcProgress(value, true);\n }\n\n /** @hidden */\n private _initSingeModeWithCustomValue(sliderTickMark: SliderTickMark): void {\n const value = (this._getCustomValuesPosition(sliderTickMark) as number) || this.min;\n this._initSingeModeDefault(value);\n }\n\n /** @hidden */\n private _initRangeMode(value: number[] | SliderTickMark[]): void {\n if (this.customValues.length > 0) {\n this._initRangeModeWithCustomValues(value as SliderTickMark[]);\n return;\n }\n const firstHandle = coerceNumberProperty(value[0], this.min);\n const secondHandle = coerceNumberProperty(value[1], this.max);\n this._initRangeModeDefault([firstHandle, secondHandle]);\n }\n\n /** @hidden */\n private _initRangeModeDefault([firstHandle, secondHandle]: number[]): void {\n this._position = [firstHandle, secondHandle];\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, firstHandle);\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, secondHandle);\n }\n\n /** @hidden */\n private _initRangeModeWithCustomValues([firstHandle, secondHandle]: SliderTickMark[]): void {\n const value = this._getCustomValuesPosition([firstHandle, secondHandle]) || [this.min, this.max];\n this._initRangeModeDefault(value as number[]);\n }\n\n /** @hidden */\n private _getCustomValuesPosition(value: SliderTickMark | SliderTickMark[]): number | number[] {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n return this._getCustomValuesPositions(value);\n }\n\n /** @hidden */\n private _getCustomValuesPositions(value: SliderTickMark | SliderTickMark[]): number | number[] {\n if (!value || (value as SliderTickMark[]).length === 0) {\n return this._isRange ? [0, this.customValues.length - 1] : 0;\n }\n if (Array.isArray(value)) {\n let [firstHandle, secondHandle] = value;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n if (!this._instanceOfCustomValue(secondHandle)) {\n secondHandle = this.customValues[this.customValues.length - 1];\n }\n const firstHandlePosition = this.customValues.findIndex((item) => item.value === firstHandle.value);\n const secondHandlePosition = this.customValues.findIndex((item) => item.value === secondHandle.value);\n const indexes = [\n firstHandlePosition >= 0 ? firstHandlePosition : 0,\n secondHandlePosition >= 0 ? secondHandlePosition : this.customValues.length - 1\n ];\n return indexes;\n } else {\n let firstHandle = value as SliderTickMark;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n return this.customValues.findIndex((item) => item.value === firstHandle.value) || 0;\n }\n }\n\n /** @hidden */\n private _instanceOfCustomValue(object: any): object is SliderCustomValue {\n return !!object && 'value' in object && 'label' in object;\n }\n\n /** @hidden */\n private _listenToInteractionChanges(): void {\n combineLatest([\n this._handleFocused$,\n this._rangeHandle1Focused$,\n this._rangeHandle2Focused$,\n this._popoverInputFieldFocused$,\n this._componentHovered$,\n this._popoverInputFieldHovered$\n ])\n .pipe(\n skip(1),\n map((states) => states.some(Boolean)),\n switchMap((focused) => {\n if (focused) {\n return of(true);\n }\n // If not focused, check for the edge case,\n // when hover is on the fd-popover-body, that is a parent for the tooltip.\n // This will return true, when hovering the gap between handle and the tooltip.\n return this._isPopoverHovered();\n }),\n debounceTime(10),\n distinctUntilChanged(),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((focused) => {\n if (focused) {\n this._popovers.forEach((popover) => popover.open());\n } else {\n this._resetPrefix();\n this._popovers.forEach((popover) => popover.close());\n }\n });\n }\n\n /** @hidden reset default prefix on leaving the slider */\n private _resetPrefix(): void {\n // reset prefix string for slider current value that need to be announced\n this._useSliderValuePrefix = true;\n this._cdr.markForCheck();\n }\n\n /**\n * @hidden\n * Checks whether input popover element is hovered.\n * Will also return true, when hovering the gap between handle and the tooltip.\n * If yes, returns \"true\" instantly and \"false\" once it's not hovered anymore.\n */\n private _isPopoverHovered(): Observable<boolean> {\n const popoverBody = this._sliderTooltipWrappers.first?.nativeElement.closest('fd-popover-body');\n if (popoverBody?.matches(':hover')) {\n return fromEvent(popoverBody, 'mouseleave').pipe(mapTo(false), take(1), startWith(true));\n }\n return of(false);\n }\n}\n","<div class=\"fd-slider__inner\">\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeMode : singleMode\"></ng-template>\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-template>\n </div>\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n @if (showTicks) {\n @for (tick of _tickMarks; track tick; let i = $index) {\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n }\n }\n </div>\n @if (showTicks && showTicksLabels) {\n <div class=\"fd-slider__labels\">\n @for (tick of _tickMarks; track tick; let i = $index; let last = $last; let first = $first) {\n @if (first || last || i % tickmarksBetweenLabels === 0) {\n <div\n class=\"fd-slider__label\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n }\n }\n </div>\n }\n </div>\n</div>\n<ng-template #singleModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _progress : null\"\n [style.width.%]=\"vertical ? null : _progress\"\n ></div>\n }\n</ng-template>\n<ng-template #rangeModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _rangeProgress : null\"\n [style.width.%]=\"vertical ? null : _rangeProgress\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n >\n <div\n class=\"fd-slider__track-focus-range\"\n (mousedown)=\"onHandleClick($event, true)\"\n (keydown)=\"onKeyDown($event, _handles.Both)\"\n tabindex=\"0\"\n #rangeGroupHandle\n ></div>\n </div>\n }\n</ng-template>\n<ng-template #singleMode>\n <div\n #handle\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.singleMinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"('coreSlider.singleValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.singleValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.singleValueNowDetails'\n | fdTranslate: { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) }\n )()\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.singleValueNowDetails'\n | fdTranslate: { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) }\n )()\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.multipleHandle1MinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"('coreSlider.multipleHandle1ValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.multipleHandle1ValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) }\n )()\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) }\n )()\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.First)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n <div\n #rangeHandle2\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || ('coreSlider.multipleHandle2MinMaxDetails' | fdTranslate: { min: minValue, max: maxValue })()\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"('coreSlider.multipleHandle2ValueminDetails' | fdTranslate: { value: minValue })()\"\n [attr.aria-valuemax]=\"('coreSlider.multipleHandle2ValuemaxDetails' | fdTranslate: { value: maxValue })()\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) }\n )()\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? (\n 'coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate: { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) }\n )()\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.Second)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\"\n ></ng-template>\n </fd-popover>\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider-tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n @if ((customValues && customValues.length > 0) || tooltipMode === 'readonly') {\n <div class=\"fd-slider-tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n }\n @if (customValues.length === 0 && tooltipMode === 'editable') {\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider-tooltip {{ _popoverInputFieldClass }}\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n }\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { OnlyDigitsModule } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { SliderPositionDirective } from './slider-position.directive';\nimport { SliderComponent } from './slider.component';\n\nconst EXPORTS = [SliderComponent, SliderPositionDirective];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [PopoverModule, FormsModule, OnlyDigitsModule, ContentDensityModule, FdTranslatePipe, ...EXPORTS],\n exports: [...EXPORTS]\n})\nexport class SliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-slider.mjs","sources":["../../../../libs/core/slider/slider-position.directive.ts","../../../../libs/core/slider/constants.ts","../../../../libs/core/slider/slider.model.ts","../../../../libs/core/slider/slider.component.ts","../../../../libs/core/slider/slider.component.html","../../../../libs/core/slider/slider.module.ts","../../../../libs/core/slider/fundamental-ngx-core-slider.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges, Renderer2, computed, effect, inject } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-slider-position]'\n})\nexport class SliderPositionDirective implements OnChanges {\n /** Position of the slider */\n @Input()\n position: number;\n\n /** Whether the slider is rendered vertically. */\n @Input()\n vertical = false;\n\n /** @hidden */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n constructor() {\n effect(() => {\n this._setPosition(this._isRtl());\n });\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._setPosition();\n }\n /** @hidden */\n private _setPosition(rtl = this._isRtl()): void {\n if (this.vertical) {\n this._renderer.setStyle(this._elementRef.nativeElement, 'bottom', `${this.position}%`);\n return;\n }\n\n this._renderer.setStyle(this._elementRef.nativeElement, 'left', !rtl ? `${this.position}%` : 'unset');\n this._renderer.setStyle(this._elementRef.nativeElement, 'right', rtl ? `${this.position}%` : 'unset');\n }\n}\n","export const MIN_DISTANCE_BETWEEN_TICKS = 8;\n","export enum SliderValueTargets {\n SINGLE_SLIDER,\n RANGE_SLIDER1,\n RANGE_SLIDER2\n}\n\nexport enum SliderRangeHandles {\n First,\n Second,\n Both\n}\n\nexport interface SliderTickMark {\n value: number | string;\n label: string;\n position?: number;\n}\n\nexport type SliderCustomValue = Omit<SliderTickMark, 'position'>;\n\nexport type SliderControlValue = number | number[] | SliderTickMark | SliderTickMark[];\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n input\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, Observable, combineLatest, fromEvent, of } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, mapTo, skip, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n CssClassBuilder,\n KeyUtil,\n Nullable,\n OnlyDigitsDirective,\n RtlService,\n applyCssClass\n} from '@fundamental-ngx/cdk/utils';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { PopoverComponent, PopoverTriggerDirective } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { MIN_DISTANCE_BETWEEN_TICKS } from './constants';\nimport { SliderPositionDirective } from './slider-position.directive';\nimport {\n SliderControlValue,\n SliderCustomValue,\n SliderRangeHandles,\n SliderTickMark,\n SliderValueTargets\n} from './slider.model';\n\nexport const SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true\n};\nlet sliderId = 0;\n@Component({\n selector: 'fd-slider',\n templateUrl: './slider.component.html',\n styleUrl: './slider.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SLIDER_VALUE_ACCESSOR,\n registerFormItemControl(SliderComponent),\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT,\n modifiers: {\n [ContentDensityMode.COZY]: 'fd-slider--lg'\n }\n })\n ],\n host: {\n '(mouseenter)': 'this._componentHovered$.next(true)',\n '(mouseleave)': 'this._componentHovered$.next(false)',\n '(focusout)': 'onTouched()'\n },\n imports: [\n NgTemplateOutlet,\n SliderPositionDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n FormsModule,\n OnlyDigitsDirective,\n FdTranslatePipe\n ]\n})\nexport class SliderComponent\n implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor, CssClassBuilder, FormItemControl\n{\n /** Slider id, it has some default value if not set, */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-slider-id-' + sliderId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** ID of the element that labels slider. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the slider. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * aria-valuetext for the slider\n * provides a human-readable text alternative for a slider's current numeric value.\n * Assistive technologies usually announce the numeric value stored in aria-valuenow.\n * When a bare number is not meaningful or needs context, aria-valuetext overrides the numeric announcement with a descriptive string.\n */\n ariaValueText = input<string>();\n\n /** Minimum value. */\n @Input()\n set min(value: number) {\n const newValue = coerceNumberProperty(value, this._min);\n if (((this.max - newValue) / this.step) % 1 !== 0) {\n return;\n }\n this._min = value;\n }\n get min(): number {\n return this._min;\n }\n\n /** Maximum value. */\n @Input()\n set max(value: number) {\n const newValue = coerceNumberProperty(value, this._max);\n if (((newValue - this.min) / this.step) % 1 !== 0) {\n return;\n }\n this._max = value;\n }\n get max(): number {\n return this._max;\n }\n\n /** Step value. */\n @Input()\n set step(value: number) {\n const newValue = coerceNumberProperty(value, this._step);\n if (((this.max - this.min) / newValue) % 1 !== 0) {\n return;\n }\n this._step = value;\n }\n get step(): number {\n return this._step;\n }\n\n /** Jump value. */\n @Input()\n set jump(value: number) {\n this._jump = coerceNumberProperty(value, this._jump);\n }\n get jump(): number {\n return this._jump;\n }\n\n /** Put a label on every N-th tickmark. */\n @Input()\n set tickmarksBetweenLabels(value: number) {\n this._tickmarksBetweenLabels = coerceNumberProperty(value, this._tickmarksBetweenLabels);\n }\n get tickmarksBetweenLabels(): number {\n return this._tickmarksBetweenLabels;\n }\n\n /**\n * Slider mode.\n * Options include: 'single' | 'range'\n * The default is set to 'single'\n */\n @Input()\n mode: 'single' | 'range' = 'single';\n\n /** Toggles the visibility of tick marks. */\n @Input()\n showTicks = false;\n\n /** Toggles the visibility of tick mark labels. Must be used in conjunction with 'showTicks' */\n @Input()\n showTicksLabels = false;\n\n /** Array of custom values to use for Slider. */\n @Input()\n customValues: SliderCustomValue[] = [];\n\n /** Tooltip can be two types, 'readonly' to display value and 'editable' to make the ability to set and display value. */\n @Input()\n tooltipMode: 'readonly' | 'editable';\n\n /** Hides display of colored progress bar. */\n @Input()\n hideProgressBar = false;\n\n /** Whether the control is disabled. */\n @Input()\n disabled = false;\n\n /**\n * Whether slider should have vertical alignment.\n */\n @Input()\n vertical = false;\n\n /** @hidden */\n _position: number | number[] = 0;\n\n /** Control value */\n @Input()\n set value(value: SliderControlValue) {\n this._setValue(value);\n }\n get value(): SliderControlValue {\n return this._value;\n }\n\n /** @hidden */\n get _popoverValueRef(): number[] {\n return [this._position as number, this._handle1Value, this._handle2Value];\n }\n\n /** @hidden */\n @ViewChild('track', { read: ElementRef, static: true })\n trackEl: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('handle', {\n read: ElementRef\n })\n handle: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle1', {\n read: ElementRef\n })\n rangeHandle1: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle2', {\n read: ElementRef\n })\n rangeHandle2: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeGroupHandle', { read: ElementRef, static: false })\n _rangeGroupHandle: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChildren(PopoverComponent)\n _popovers: QueryList<PopoverComponent>;\n\n /** @hidden */\n @ViewChildren('sliderTooltipWrapper')\n _sliderTooltipWrappers: QueryList<ElementRef<HTMLDivElement>>;\n\n /** @hidden */\n _value: number | SliderTickMark | SliderTickMark[] | number[] = 0;\n\n /** @hidden */\n _progress = 0;\n\n /** @hidden */\n @HostBinding('class.fd-slider--range')\n _isRange = false;\n\n /** @hidden */\n _handle1Position = 0;\n\n /** @hidden */\n _handle2Position = 0;\n\n /** @hidden */\n _handle1Value = 0;\n\n /** @hidden */\n _handle2Value = 0;\n\n /** @hidden */\n _rangeProgress = 0;\n\n /** @hidden */\n _tickMarks: SliderTickMark[] = [];\n\n /** @hidden */\n _sliderValueTargets = SliderValueTargets;\n\n /** @hidden */\n _popoverInputFieldClass = `fd-slider-popover-input-${sliderId}`;\n\n /** @hidden */\n _handles = SliderRangeHandles;\n\n /** @hidden */\n private _min = 0;\n\n /** @hidden */\n private _max = 100;\n\n /** @hidden */\n private _step = 1;\n\n /** @hidden */\n private _jump = 10;\n\n /** @hidden */\n private _tickmarksBetweenLabels = 1;\n\n /** @hidden */\n private _valuesBySteps: number[] = [];\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n readonly _componentHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _handleFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle1Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle2Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n private readonly _platform: Platform,\n private readonly _liveAnnouncer: LiveAnnouncer,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-slider',\n this.disabled ? 'is-disabled' : '',\n this._isRange ? 'fd-slider--range' : '',\n this.showTicks && this.showTicksLabels ? 'fd-slider--with-labels' : '',\n this.vertical ? 'fd-slider--vertical' : '',\n this.class,\n this._platform.EDGE || this._platform.TRIDENT ? 'fd-slider__alternative-tick-width' : ''\n ];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._attachResizeListener();\n this._onResize();\n if (this._valuesBySteps.length === 0) {\n this._constructValuesBySteps();\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._checkIsInRangeMode();\n this._constructTickMarks();\n this._constructValuesBySteps();\n this._recalcHandlePositions();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToInteractionChanges();\n }\n\n /** @hidden */\n getValuenow(position: number | number[], sliderValueTarget: SliderValueTargets): string | number {\n return this.customValues.length > 0\n ? this.customValues[position as number].label\n : this._popoverValueRef[sliderValueTarget];\n }\n\n /** @hidden */\n get minValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.min as number].label : this.min;\n }\n\n /** @hidden */\n get maxValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.max as number].label : this.max;\n }\n\n /** @hidden */\n onChange: (value: SliderControlValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (value: SliderControlValue) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** @hidden */\n writeValue(value: SliderControlValue): void {\n this._setValue(value, false);\n }\n\n /** @hidden */\n onTrackClick(event: MouseEvent): void {\n if (this.disabled || this._isRange) {\n return;\n }\n this._setValue(this._calculateValueFromPointerPosition(event));\n this._updatePopoversPosition();\n this.handle.nativeElement.focus();\n }\n\n /** @hidden */\n onHandleClick(event: MouseEvent, group = false): void {\n if (this.disabled) {\n return;\n }\n\n let firstHandleCoords: { x: number; y: number };\n let rangeSliderStartCoords: { x: number; y: number };\n\n if (group) {\n rangeSliderStartCoords = {\n x: event.clientX,\n y: event.clientY\n };\n\n const firstHandleRect = this.rangeHandle1.nativeElement.getBoundingClientRect();\n\n firstHandleCoords = {\n x: firstHandleRect.x + firstHandleRect.width / 2,\n y: firstHandleRect.y + firstHandleRect.height / 2\n };\n }\n\n const unsubscribeFromMousemove = this._renderer.listen('document', 'mousemove', (moveEvent: MouseEvent) => {\n this._updatePopoversPosition();\n if (!this._isRange) {\n this._setValue(this._calculateValueFromPointerPosition(moveEvent));\n return;\n }\n\n let coords = {\n clientX: moveEvent.clientX,\n clientY: moveEvent.clientY\n };\n\n let handleIndex: SliderRangeHandles;\n if (group) {\n handleIndex = SliderRangeHandles.Both;\n // Mimic dragging first handle to calculate the difference between old and new values.\n coords = {\n clientX: firstHandleCoords!.x + (moveEvent.clientX - rangeSliderStartCoords!.x),\n clientY: firstHandleCoords!.y + (moveEvent.clientY - rangeSliderStartCoords!.y)\n };\n } else if (event.target === this.rangeHandle1.nativeElement) {\n handleIndex = SliderRangeHandles.First;\n } else if (event.target === this.rangeHandle2.nativeElement) {\n handleIndex = SliderRangeHandles.Second;\n } else {\n return;\n }\n\n const value = this._calculateValueFromPointerPosition(coords, false) as number;\n this._setRangeHandleValueAndPosition(handleIndex, value);\n this._setValue(this._constructRangeModelValue());\n });\n const unsubscribeFromMouseup = this._renderer.listen('document', 'mouseup', () => {\n unsubscribeFromMousemove();\n unsubscribeFromMouseup();\n });\n }\n\n /** @hidden */\n onKeyDown(event: KeyboardEvent, handle?: SliderRangeHandles): void {\n if (this.disabled) {\n return;\n }\n const allowedKeys: number[] = [LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, ENTER, SPACE];\n if (!KeyUtil.isKeyCode(event, allowedKeys)) {\n return;\n }\n event.preventDefault();\n const upActionKey = KeyUtil.isKeyCode(event, [UP_ARROW, this._isRtl() ? LEFT_ARROW : RIGHT_ARROW]);\n const downActionKey = KeyUtil.isKeyCode(event, [DOWN_ARROW, this._isRtl() ? RIGHT_ARROW : LEFT_ARROW]);\n if (!upActionKey && !downActionKey) {\n return;\n }\n\n const diff = event.shiftKey ? this.jump : this.step;\n let newValue: number | SliderTickMark | null = null;\n if (!this._isRange) {\n newValue = (this._position as number) + diff * (upActionKey ? 1 : -1);\n\n if (newValue === null) {\n return;\n }\n\n newValue = this._processNewValue(newValue as number, !this._isRange);\n\n this._setValue(newValue);\n this._updatePopoversPosition();\n return;\n }\n\n this._handleRangeKeydown(\n handle === SliderRangeHandles.Both ? [SliderRangeHandles.First, SliderRangeHandles.Second] : handle!,\n diff,\n upActionKey\n );\n\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n _updateValueFromInput(value: string, target: SliderValueTargets): void {\n const newValue = this._processNewValue(+value) as number;\n if (!this._isRange && target === SliderValueTargets.SINGLE_SLIDER) {\n this._setValue(newValue);\n this.handle.nativeElement.focus();\n this._updatePopoversPosition();\n return;\n }\n if (target === SliderValueTargets.RANGE_SLIDER1) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, newValue);\n this.rangeHandle1.nativeElement.focus();\n }\n if (target === SliderValueTargets.RANGE_SLIDER2) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, newValue);\n this.rangeHandle2.nativeElement.focus();\n }\n this._setValue(this._constructRangeModelValue());\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n private _handleRangeKeydown(handles: SliderRangeHandles | SliderRangeHandles[], diff: number, up: boolean): void {\n handles = Array.isArray(handles) ? handles : [handles];\n const valueMap = new Map<\n SliderRangeHandles,\n { prev: number | SliderTickMark | null; current: number | SliderTickMark | null }\n >();\n handles.forEach((handle) => {\n const prevValue = handle === SliderRangeHandles.First ? this._handle1Value : this._handle2Value;\n let newValue: number | SliderTickMark | null = prevValue + diff * (up ? 1 : -1);\n if (newValue === null) {\n return;\n }\n\n newValue = this._processNewValue(newValue as number, !this._isRange);\n\n valueMap.set(handle, { prev: prevValue, current: newValue });\n });\n\n if (Array.from(valueMap.values()).some((entry) => entry.current === entry.prev)) {\n return;\n }\n\n valueMap.forEach((entry, handle) => {\n this._setRangeHandleValueAndPosition(handle, entry.current as number);\n });\n\n this._setValue(this._constructRangeModelValue());\n }\n\n /** @hidden */\n private _setValue(value: SliderControlValue, emitEvent = true): void {\n if (this._isRange) {\n this._initRangeMode((value ?? [0.0]) as number[] | SliderTickMark[]);\n } else {\n this._initSingeMode((value ?? 0) as number | SliderTickMark);\n }\n this._value = value;\n if (emitEvent) {\n this.onChange(value);\n }\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _updatePopoversPosition(): void {\n this._cdr.detectChanges();\n this._popovers.forEach((popover) => popover.refreshPosition());\n }\n\n /** @hidden */\n private _calculateValueFromPointerPosition(\n coords: { clientY: number; clientX: number },\n takeCustomValue = true\n ): number | SliderTickMark {\n const { left, width, bottom, height } = this.trackEl.nativeElement.getBoundingClientRect();\n let percentage = this.vertical ? (bottom - coords.clientY) / height : (coords.clientX - left) / width;\n\n if (this._isRtl()) {\n percentage = 1 - percentage;\n }\n const newValue = this.min + percentage * (this.max - this.min);\n return this._processNewValue(newValue, takeCustomValue);\n }\n\n /** @hidden */\n private _processNewValue(newValue: number, takeCustomValue = true): number | SliderTickMark {\n if (newValue > this.max) {\n newValue = this.max;\n }\n if (newValue < this.min) {\n newValue = this.min;\n }\n this._cdr.markForCheck();\n const stepDiffArray = this._valuesBySteps\n .map((stepValue) => ({\n diff: Math.abs(stepValue - newValue),\n value: stepValue\n }))\n .sort((a, b) => a.diff - b.diff);\n let value: SliderTickMark | number = stepDiffArray[0].value;\n if (takeCustomValue && this.customValues.length > 0) {\n value = this.customValues[value];\n }\n return value;\n }\n\n /** @hidden */\n private _setRangeHandleValueAndPosition(handleIndex: SliderRangeHandles, value: number): void {\n const position = this._calcProgress(value, true);\n if (handleIndex === SliderRangeHandles.First) {\n this._handle1Value = value;\n this._handle1Position = position;\n } else if (handleIndex === SliderRangeHandles.Second) {\n this._handle2Value = value;\n this._handle2Position = position;\n } else if (handleIndex === SliderRangeHandles.Both) {\n // Calculate how much steps being skipped.\n const oldValueIndex = this._valuesBySteps.indexOf(this._handle1Value);\n const newValueIndex = this._valuesBySteps.indexOf(value);\n const diff = oldValueIndex - newValueIndex;\n const handle2ValueIndex = this._valuesBySteps.indexOf(this._handle2Value);\n\n if (diff === 0 || this._valuesBySteps.length <= handle2ValueIndex - diff) {\n return;\n }\n\n const positionShift = position - this._handle1Position;\n this._handle1Position = position;\n this._handle2Position = this._handle2Position + positionShift;\n this._handle1Value = value;\n this._handle2Value = this._valuesBySteps[handle2ValueIndex - diff];\n }\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n\n /** @hidden */\n private _constructRangeModelValue(): number[] | SliderTickMark[] {\n let rangeLowerValue: number | string;\n let rangeHigherValue: number | string;\n let rangeValue: number[] | SliderTickMark[] = [\n Math.min(this._handle1Value, this._handle2Value),\n Math.max(this._handle1Value, this._handle2Value)\n ];\n rangeLowerValue = rangeValue[0];\n rangeHigherValue = rangeValue[1];\n if (this.customValues.length > 0) {\n const min = this.customValues[rangeValue[0]] || this.customValues[0];\n const max = this.customValues[rangeValue[1]] || this.customValues[this.customValues.length - 1];\n rangeValue = [min, max];\n rangeLowerValue = rangeValue[0].label;\n rangeHigherValue = rangeValue[1].label;\n }\n this._liveAnnouncer.announce('range value between ' + rangeLowerValue + ' and ' + rangeHigherValue, 'polite');\n return rangeValue;\n }\n\n /** @hidden */\n private _attachResizeListener(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(500), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._onResize());\n }\n\n /** @hidden */\n private _onResize(): void {\n this._constructTickMarks();\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _constructValuesBySteps(): void {\n try {\n this._valuesBySteps = Array.from(\n {\n length: (this.max - this.min) / this.step + 1\n },\n (_, i) => Number((this.min + i * this.step).toFixed(2))\n );\n } catch {}\n }\n\n /** @hidden */\n private _constructTickMarks(): void {\n if (!this.showTicks) {\n this._tickMarks = [];\n return;\n }\n if (this.customValues.length) {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n const customValuesLength = this.customValues.length - 1;\n this._tickMarks = this.customValues.map((item, i) => ({\n ...item,\n position: (100 / customValuesLength) * i\n }));\n } else {\n const total = this.max - this.min;\n const tickMarksCount = total / this.step + 1;\n if (this._maxTickMarksNumber !== undefined && tickMarksCount > this._maxTickMarksNumber) {\n this._tickMarks = [\n {\n position: 0,\n value: 0,\n label: `${this.min}`\n },\n {\n position: 100,\n value: total,\n label: `${this.max}`\n }\n ];\n return;\n }\n if (tickMarksCount % 1 === 0) {\n this._tickMarks = Array.from(\n {\n length: tickMarksCount\n },\n (_, i) => {\n const value = Math.round(i * this.step * 100) / 100;\n const position = (value / (this.max - this.min)) * 100;\n return {\n value,\n position,\n label: `${this.min + value}`\n };\n }\n );\n }\n }\n }\n\n /** @hidden */\n private get _maxTickMarksNumber(): number | undefined {\n if (!this.trackEl || !this.trackEl.nativeElement) {\n return;\n }\n\n const { width, height } = this.trackEl.nativeElement.getBoundingClientRect();\n\n return Math.floor((this.vertical ? height : width) / MIN_DISTANCE_BETWEEN_TICKS);\n }\n\n /** @hidden */\n private _calcProgress(value: number, skipRtl = false): number {\n let progress = ((value - this.min) / (this.max - this.min)) * 100;\n if (!skipRtl && this._isRtl()) {\n progress = 100 - progress;\n }\n if (progress > 100) {\n return 100;\n }\n if (progress < 0) {\n return 0;\n }\n return progress;\n }\n\n /** @hidden */\n private _recalcHandlePositions(): void {\n if (this._isRange) {\n this._handle1Position = this._calcProgress(this._handle1Value);\n this._handle2Position = this._calcProgress(this._handle2Value);\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n this._progress = this._calcProgress(this._position as number, true);\n }\n\n /** @hidden */\n private _checkIsInRangeMode(): void {\n this._isRange = this.mode === 'range';\n }\n\n /** @hidden */\n private _initSingeMode(value: number | SliderTickMark): void {\n if (this.customValues.length > 0) {\n this._initSingeModeWithCustomValue(value as SliderTickMark);\n return;\n }\n this._initSingeModeDefault(coerceNumberProperty(value, this.min));\n }\n\n /** @hidden */\n private _initSingeModeDefault(value: number): void {\n this._position = value;\n this._progress = this._calcProgress(value, true);\n }\n\n /** @hidden */\n private _initSingeModeWithCustomValue(sliderTickMark: SliderTickMark): void {\n const value = (this._getCustomValuesPosition(sliderTickMark) as number) || this.min;\n this._initSingeModeDefault(value);\n }\n\n /** @hidden */\n private _initRangeMode(value: number[] | SliderTickMark[]): void {\n if (this.customValues.length > 0) {\n this._initRangeModeWithCustomValues(value as SliderTickMark[]);\n return;\n }\n const firstHandle = coerceNumberProperty(value[0], this.min);\n const secondHandle = coerceNumberProperty(value[1], this.max);\n this._initRangeModeDefault([firstHandle, secondHandle]);\n }\n\n /** @hidden */\n private _initRangeModeDefault([firstHandle, secondHandle]: number[]): void {\n this._position = [firstHandle, secondHandle];\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, firstHandle);\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, secondHandle);\n }\n\n /** @hidden */\n private _initRangeModeWithCustomValues([firstHandle, secondHandle]: SliderTickMark[]): void {\n const value = this._getCustomValuesPosition([firstHandle, secondHandle]) || [this.min, this.max];\n this._initRangeModeDefault(value as number[]);\n }\n\n /** @hidden */\n private _getCustomValuesPosition(value: SliderTickMark | SliderTickMark[]): number | number[] {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n return this._getCustomValuesPositions(value);\n }\n\n /** @hidden */\n private _getCustomValuesPositions(value: SliderTickMark | SliderTickMark[]): number | number[] {\n if (!value || (value as SliderTickMark[]).length === 0) {\n return this._isRange ? [0, this.customValues.length - 1] : 0;\n }\n if (Array.isArray(value)) {\n let [firstHandle, secondHandle] = value;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n if (!this._instanceOfCustomValue(secondHandle)) {\n secondHandle = this.customValues[this.customValues.length - 1];\n }\n const firstHandlePosition = this.customValues.findIndex((item) => item.value === firstHandle.value);\n const secondHandlePosition = this.customValues.findIndex((item) => item.value === secondHandle.value);\n const indexes = [\n firstHandlePosition >= 0 ? firstHandlePosition : 0,\n secondHandlePosition >= 0 ? secondHandlePosition : this.customValues.length - 1\n ];\n return indexes;\n } else {\n let firstHandle = value as SliderTickMark;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n return this.customValues.findIndex((item) => item.value === firstHandle.value) || 0;\n }\n }\n\n /** @hidden */\n private _instanceOfCustomValue(object: any): object is SliderCustomValue {\n return !!object && 'value' in object && 'label' in object;\n }\n\n /** @hidden */\n private _listenToInteractionChanges(): void {\n combineLatest([\n this._handleFocused$,\n this._rangeHandle1Focused$,\n this._rangeHandle2Focused$,\n this._popoverInputFieldFocused$,\n this._componentHovered$,\n this._popoverInputFieldHovered$\n ])\n .pipe(\n skip(1),\n map((states) => states.some(Boolean)),\n switchMap((focused) => {\n if (focused) {\n return of(true);\n }\n // If not focused, check for the edge case,\n // when hover is on the fd-popover-body, that is a parent for the tooltip.\n // This will return true, when hovering the gap between handle and the tooltip.\n return this._isPopoverHovered();\n }),\n debounceTime(10),\n distinctUntilChanged(),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((focused) => {\n if (focused) {\n this._popovers.forEach((popover) => popover.open());\n } else {\n this._popovers.forEach((popover) => popover.close());\n }\n });\n }\n\n /**\n * @hidden\n * Checks whether input popover element is hovered.\n * Will also return true, when hovering the gap between handle and the tooltip.\n * If yes, returns \"true\" instantly and \"false\" once it's not hovered anymore.\n */\n private _isPopoverHovered(): Observable<boolean> {\n const popoverBody = this._sliderTooltipWrappers.first?.nativeElement.closest('fd-popover-body');\n if (popoverBody?.matches(':hover')) {\n return fromEvent(popoverBody, 'mouseleave').pipe(mapTo(false), take(1), startWith(true));\n }\n return of(false);\n }\n}\n","<div class=\"fd-slider__inner\">\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeMode : singleMode\"></ng-template>\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-template [ngTemplateOutlet]=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-template>\n </div>\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n @if (showTicks) {\n @for (tick of _tickMarks; track tick; let i = $index) {\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n }\n }\n </div>\n @if (showTicks && showTicksLabels) {\n <div class=\"fd-slider__labels\">\n @for (tick of _tickMarks; track tick; let i = $index; let last = $last; let first = $first) {\n @if (first || last || i % tickmarksBetweenLabels === 0) {\n <div\n class=\"fd-slider__label\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n }\n }\n </div>\n }\n </div>\n</div>\n<ng-template #singleModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _progress : null\"\n [style.width.%]=\"vertical ? null : _progress\"\n ></div>\n }\n</ng-template>\n<ng-template #rangeModeTrack>\n @if (!hideProgressBar) {\n <div\n class=\"fd-slider__track-range\"\n [style.height.%]=\"vertical ? _rangeProgress : null\"\n [style.width.%]=\"vertical ? null : _rangeProgress\"\n fd-slider-position\n [vertical]=\"vertical\"\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n >\n <div\n class=\"fd-slider__track-focus-range\"\n (mousedown)=\"onHandleClick($event, true)\"\n (keydown)=\"onKeyDown($event, _handles.Both)\"\n tabindex=\"0\"\n #rangeGroupHandle\n ></div>\n </div>\n }\n</ng-template>\n<ng-template #singleMode>\n <div\n #handle\n role=\"slider\"\n fd-slider-position\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n role=\"slider\"\n fd-slider-position\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.First)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n <div\n #rangeHandle2\n fd-slider-position\n role=\"slider\"\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozySignal()\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-label]=\"ariaLabel || ('coreSlider.ariaLabel' | fdTranslate)()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"minValue\"\n [attr.aria-valuemax]=\"maxValue\"\n [attr.aria-valuenow]=\"getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\"\n [attr.aria-valuetext]=\"ariaValueText()\"\n [vertical]=\"vertical\"\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event, _handles.Second)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\"\n ></ng-template>\n </fd-popover>\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider-tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-template\n [ngTemplateOutlet]=\"popoverInner\"\n [ngTemplateOutletContext]=\"{ target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\"\n ></ng-template>\n </fd-popover>\n</ng-template>\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider-tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n @if ((customValues && customValues.length > 0) || tooltipMode === 'readonly') {\n <div class=\"fd-slider-tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n }\n @if (customValues.length === 0 && tooltipMode === 'editable') {\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider-tooltip {{ _popoverInputFieldClass }}\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n }\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { OnlyDigitsModule } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { SliderPositionDirective } from './slider-position.directive';\nimport { SliderComponent } from './slider.component';\n\nconst EXPORTS = [SliderComponent, SliderPositionDirective];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [PopoverModule, FormsModule, OnlyDigitsModule, ContentDensityModule, FdTranslatePipe, ...EXPORTS],\n exports: [...EXPORTS]\n})\nexport class SliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.64.2-rc.47",
3
+ "version": "0.64.2-rc.48",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "packageGroupName": "@fundamental-ngx/core",
@@ -37,8 +37,8 @@
37
37
  "@angular/forms": "^22.0.0",
38
38
  "@angular/platform-browser": "^22.0.0",
39
39
  "@angular/router": "^22.0.0",
40
- "@fundamental-ngx/cdk": "0.64.2-rc.47",
41
- "@fundamental-ngx/i18n": "0.64.2-rc.47",
40
+ "@fundamental-ngx/cdk": "0.64.2-rc.48",
41
+ "@fundamental-ngx/i18n": "0.64.2-rc.48",
42
42
  "@sap-theming/theming-base-content": "^11.36.0",
43
43
  "fundamental-styles": "0.41.8",
44
44
  "rxjs": "^7.8.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-schematics",
3
- "version": "0.64.2-rc.47",
3
+ "version": "0.64.2-rc.48",
4
4
  "types": "./ng-add/index.d.ts",
5
5
  "main": "./ng-add/index.js",
6
6
  "type": "commonjs"
@@ -75,6 +75,13 @@ declare class SliderComponent implements OnInit, OnChanges, AfterViewInit, Contr
75
75
  ariaLabelledBy: Nullable<string>;
76
76
  /** Aria label for the slider. */
77
77
  ariaLabel: Nullable<string>;
78
+ /**
79
+ * aria-valuetext for the slider
80
+ * provides a human-readable text alternative for a slider's current numeric value.
81
+ * Assistive technologies usually announce the numeric value stored in aria-valuenow.
82
+ * When a bare number is not meaningful or needs context, aria-valuetext overrides the numeric announcement with a descriptive string.
83
+ */
84
+ ariaValueText: i0.InputSignal<string | undefined>;
78
85
  /** Minimum value. */
79
86
  set min(value: number);
80
87
  get min(): number;
@@ -155,11 +162,6 @@ declare class SliderComponent implements OnInit, OnChanges, AfterViewInit, Contr
155
162
  _sliderValueTargets: typeof SliderValueTargets;
156
163
  /** @hidden */
157
164
  _popoverInputFieldClass: string;
158
- /**
159
- * @hidden
160
- * whether to use value with a prefix for announcing
161
- */
162
- _useSliderValuePrefix: boolean;
163
165
  /** @hidden */
164
166
  _handles: typeof SliderRangeHandles;
165
167
  /** @hidden */
@@ -286,8 +288,6 @@ declare class SliderComponent implements OnInit, OnChanges, AfterViewInit, Contr
286
288
  private _instanceOfCustomValue;
287
289
  /** @hidden */
288
290
  private _listenToInteractionChanges;
289
- /** @hidden reset default prefix on leaving the slider */
290
- private _resetPrefix;
291
291
  /**
292
292
  * @hidden
293
293
  * Checks whether input popover element is hovered.
@@ -296,7 +296,7 @@ declare class SliderComponent implements OnInit, OnChanges, AfterViewInit, Contr
296
296
  */
297
297
  private _isPopoverHovered;
298
298
  static ɵfac: i0.ɵɵFactoryDeclaration<SliderComponent, never>;
299
- static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "fd-slider", never, { "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "jump": { "alias": "jump"; "required": false; }; "tickmarksBetweenLabels": { "alias": "tickmarksBetweenLabels"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "showTicks": { "alias": "showTicks"; "required": false; }; "showTicksLabels": { "alias": "showTicksLabels"; "required": false; }; "customValues": { "alias": "customValues"; "required": false; }; "tooltipMode": { "alias": "tooltipMode"; "required": false; }; "hideProgressBar": { "alias": "hideProgressBar"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, true, never>;
299
+ static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "fd-slider", never, { "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "jump": { "alias": "jump"; "required": false; }; "tickmarksBetweenLabels": { "alias": "tickmarksBetweenLabels"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "showTicks": { "alias": "showTicks"; "required": false; }; "showTicksLabels": { "alias": "showTicksLabels"; "required": false; }; "customValues": { "alias": "customValues"; "required": false; }; "tooltipMode": { "alias": "tooltipMode"; "required": false; }; "hideProgressBar": { "alias": "hideProgressBar"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, true, never>;
300
300
  }
301
301
 
302
302
  /**