@progress/kendo-angular-inputs 21.1.1-develop.2 → 21.2.0-develop.1

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.
Files changed (27) hide show
  1. package/esm2022/colorpicker/adaptiveness/adaptive-renderer.component.mjs +105 -97
  2. package/esm2022/colorpicker/color-contrast-svg.component.mjs +10 -7
  3. package/esm2022/colorpicker/color-gradient.component.mjs +287 -279
  4. package/esm2022/colorpicker/color-input.component.mjs +242 -235
  5. package/esm2022/colorpicker/color-palette.component.mjs +47 -39
  6. package/esm2022/colorpicker/colorpicker.component.mjs +228 -222
  7. package/esm2022/colorpicker/contrast-validation.component.mjs +26 -21
  8. package/esm2022/colorpicker/contrast.component.mjs +46 -37
  9. package/esm2022/colorpicker/flatcolorpicker-header.component.mjs +105 -95
  10. package/esm2022/colorpicker/flatcolorpicker.component.mjs +167 -157
  11. package/esm2022/form/form.component.mjs +13 -9
  12. package/esm2022/formfield/formfield.component.mjs +18 -11
  13. package/esm2022/formfieldset/formfieldset.component.mjs +15 -11
  14. package/esm2022/maskedtextbox/maskedtextbox.component.mjs +77 -61
  15. package/esm2022/numerictextbox/numerictextbox.component.mjs +133 -113
  16. package/esm2022/otpinput/otpinput-separator.component.mjs +25 -15
  17. package/esm2022/otpinput/otpinput.component.mjs +116 -109
  18. package/esm2022/package-metadata.mjs +2 -2
  19. package/esm2022/rangeslider/rangeslider.component.mjs +114 -113
  20. package/esm2022/rating/rating.component.mjs +273 -271
  21. package/esm2022/signature/signature.component.mjs +170 -161
  22. package/esm2022/slider/slider.component.mjs +130 -125
  23. package/esm2022/sliders-common/slider-ticks.component.mjs +43 -31
  24. package/esm2022/textarea/textarea.component.mjs +73 -69
  25. package/esm2022/textbox/textbox.component.mjs +145 -123
  26. package/fesm2022/progress-kendo-angular-inputs.mjs +2599 -2393
  27. package/package.json +12 -12
@@ -4,7 +4,6 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Injector, Input, NgZone, Output, QueryList, Renderer2, ViewChildren, forwardRef } from "@angular/core";
6
6
  import { SharedInputEventsDirective } from "../shared/shared-events.directive";
7
- import { NgFor, NgIf } from "@angular/common";
8
7
  import { KendoInput, Keys, hasObservers, isPresent, normalizeNumpadKeys, replaceMessagePlaceholder } from "@progress/kendo-angular-common";
9
8
  import { TextBoxComponent } from "../textbox/textbox.component";
10
9
  import { NG_VALUE_ACCESSOR, NgControl } from "@angular/forms";
@@ -731,7 +730,7 @@ export class OTPInputComponent {
731
730
  return true;
732
731
  }
733
732
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OTPInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
734
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: OTPInputComponent, isStandalone: true, selector: "kendo-otpinput", inputs: { length: "length", type: "type", spacing: "spacing", separator: "separator", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", groupLength: "groupLength", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-otp": "this.wrapperClass", "class.k-invalid": "this.invalidClass", "attr.dir": "this.direction", "attr.role": "this.role" } }, providers: [
733
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: OTPInputComponent, isStandalone: true, selector: "kendo-otpinput", inputs: { length: "length", type: "type", spacing: "spacing", separator: "separator", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", groupLength: "groupLength", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-otp": "this.wrapperClass", "class.k-invalid": "this.invalidClass", "attr.dir": "this.direction", "attr.role": "this.role" } }, providers: [
735
734
  LocalizationService,
736
735
  { provide: L10N_PREFIX, useValue: 'kendo.otpinput' },
737
736
  {
@@ -742,61 +741,65 @@ export class OTPInputComponent {
742
741
  { provide: KendoInput, useExisting: forwardRef(() => OTPInputComponent) }
743
742
  ], viewQueries: [{ propertyName: "inputFields", predicate: TextBoxComponent, descendants: true }, { propertyName: "inputGroups", predicate: ["inputGroup"], descendants: true }], exportAs: ["kendoOTPInput"], usesOnChanges: true, ngImport: i0, template: `
744
743
  <ng-container kendoOTPInputLocalizedMessages
745
- i18n-ariaLabel="kendo.otpinput.ariaLabel|The value of the aria-label attribute of the input fields."
746
- ariaLabel="{{ 'Input {currentInput} of {totalInputs}, current value {value}' }}"
744
+ i18n-ariaLabel="kendo.otpinput.ariaLabel|The value of the aria-label attribute of the input fields."
745
+ ariaLabel="{{ 'Input {currentInput} of {totalInputs}, current value {value}' }}"
747
746
  ></ng-container>
748
747
  <ng-container
749
- kendoInputSharedEvents
750
- [hostElement]="hostElement"
751
- [(isFocused)]="isFocused"
752
- (handleBlur)="handleBlur()"
753
- (onFocus)="handleFocus()"
754
- >
755
- <ng-container *ngIf="spacing; else groups">
756
- <ng-container *ngFor="let input of inputsArray; let i = index">
757
- <kendo-textbox
758
- class="k-otp-input"
759
- [class.k-invalid]="isControlInvalid"
760
- [selectOnFocus]="true"
761
- [maxlength]="1"
762
- [type]="type !== 'number' ? type : null"
763
- [placeholder]="placeholder"
764
- [size]="size"
765
- [rounded]="rounded"
766
- [fillMode]="fillMode"
767
- [disabled]="disabled"
768
- [readonly]="readonly"
769
- (focus)="handleInputFocus(i)"
770
- (input)="handleInput($event, i)"
771
- ></kendo-textbox>
772
- <kendo-otpinput-separator *ngIf="showSeparator(i)" [separator]="separator"></kendo-otpinput-separator>
773
- </ng-container>
774
- </ng-container>
775
- <ng-template #groups>
776
- <ng-container *ngFor="let group of adjacentGroups; let i = index">
777
- <div #inputGroup class="k-input-group">
778
- <kendo-textbox
779
- *ngFor="let input of [].constructor(group); let j = index"
780
- class="k-otp-input"
781
- [class.k-invalid]="isControlInvalid"
782
- [selectOnFocus]="true"
783
- [maxlength]="1"
784
- [type]="type !== 'number' ? type : null"
785
- [placeholder]="placeholder"
786
- [size]="size"
787
- [rounded]="rounded"
788
- [fillMode]="fillMode"
789
- [disabled]="disabled"
790
- [readonly]="readonly"
791
- (focus)="handleInputFocus(j, i)"
792
- (input)="handleInput($event, j, i)"
793
- ></kendo-textbox>
794
- </div>
795
- <kendo-otpinput-separator *ngIf="showGroupSeparator(i)" [separator]="separator"></kendo-otpinput-separator>
796
- </ng-container>
797
- </ng-template>
798
- <ng-container>
799
- `, isInline: true, dependencies: [{ kind: "directive", type: SharedInputEventsDirective, selector: "[kendoInputSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: OTPInputSeparatorComponent, selector: "kendo-otpinput-separator", inputs: ["separator"], exportAs: ["kendoOTPInputSeparator"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LocalizedOTPInputMessagesDirective, selector: "[kendoOTPInputLocalizedMessages]" }] });
748
+ kendoInputSharedEvents
749
+ [hostElement]="hostElement"
750
+ [(isFocused)]="isFocused"
751
+ (handleBlur)="handleBlur()"
752
+ (onFocus)="handleFocus()"
753
+ >
754
+ @if (spacing) {
755
+ @for (input of inputsArray; track input; let i = $index) {
756
+ <kendo-textbox
757
+ class="k-otp-input"
758
+ [class.k-invalid]="isControlInvalid"
759
+ [selectOnFocus]="true"
760
+ [maxlength]="1"
761
+ [type]="type !== 'number' ? type : null"
762
+ [placeholder]="placeholder"
763
+ [size]="size"
764
+ [rounded]="rounded"
765
+ [fillMode]="fillMode"
766
+ [disabled]="disabled"
767
+ [readonly]="readonly"
768
+ (focus)="handleInputFocus(i)"
769
+ (input)="handleInput($event, i)"
770
+ ></kendo-textbox>
771
+ @if (showSeparator(i)) {
772
+ <kendo-otpinput-separator [separator]="separator"></kendo-otpinput-separator>
773
+ }
774
+ }
775
+ } @else {
776
+ @for (group of adjacentGroups; track group; let i = $index) {
777
+ <div #inputGroup class="k-input-group">
778
+ @for (input of [].constructor(group); track input; let j = $index) {
779
+ <kendo-textbox
780
+ class="k-otp-input"
781
+ [class.k-invalid]="isControlInvalid"
782
+ [selectOnFocus]="true"
783
+ [maxlength]="1"
784
+ [type]="type !== 'number' ? type : null"
785
+ [placeholder]="placeholder"
786
+ [size]="size"
787
+ [rounded]="rounded"
788
+ [fillMode]="fillMode"
789
+ [disabled]="disabled"
790
+ [readonly]="readonly"
791
+ (focus)="handleInputFocus(j, i)"
792
+ (input)="handleInput($event, j, i)"
793
+ ></kendo-textbox>
794
+ }
795
+ </div>
796
+ @if (showGroupSeparator(i)) {
797
+ <kendo-otpinput-separator [separator]="separator"></kendo-otpinput-separator>
798
+ }
799
+ }
800
+ }
801
+ <ng-container>
802
+ `, isInline: true, dependencies: [{ kind: "directive", type: SharedInputEventsDirective, selector: "[kendoInputSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: OTPInputSeparatorComponent, selector: "kendo-otpinput-separator", inputs: ["separator"], exportAs: ["kendoOTPInputSeparator"] }, { kind: "directive", type: LocalizedOTPInputMessagesDirective, selector: "[kendoOTPInputLocalizedMessages]" }] });
800
803
  }
801
804
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OTPInputComponent, decorators: [{
802
805
  type: Component,
@@ -815,63 +818,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
815
818
  selector: 'kendo-otpinput',
816
819
  template: `
817
820
  <ng-container kendoOTPInputLocalizedMessages
818
- i18n-ariaLabel="kendo.otpinput.ariaLabel|The value of the aria-label attribute of the input fields."
819
- ariaLabel="{{ 'Input {currentInput} of {totalInputs}, current value {value}' }}"
821
+ i18n-ariaLabel="kendo.otpinput.ariaLabel|The value of the aria-label attribute of the input fields."
822
+ ariaLabel="{{ 'Input {currentInput} of {totalInputs}, current value {value}' }}"
820
823
  ></ng-container>
821
824
  <ng-container
822
- kendoInputSharedEvents
823
- [hostElement]="hostElement"
824
- [(isFocused)]="isFocused"
825
- (handleBlur)="handleBlur()"
826
- (onFocus)="handleFocus()"
827
- >
828
- <ng-container *ngIf="spacing; else groups">
829
- <ng-container *ngFor="let input of inputsArray; let i = index">
830
- <kendo-textbox
831
- class="k-otp-input"
832
- [class.k-invalid]="isControlInvalid"
833
- [selectOnFocus]="true"
834
- [maxlength]="1"
835
- [type]="type !== 'number' ? type : null"
836
- [placeholder]="placeholder"
837
- [size]="size"
838
- [rounded]="rounded"
839
- [fillMode]="fillMode"
840
- [disabled]="disabled"
841
- [readonly]="readonly"
842
- (focus)="handleInputFocus(i)"
843
- (input)="handleInput($event, i)"
844
- ></kendo-textbox>
845
- <kendo-otpinput-separator *ngIf="showSeparator(i)" [separator]="separator"></kendo-otpinput-separator>
846
- </ng-container>
847
- </ng-container>
848
- <ng-template #groups>
849
- <ng-container *ngFor="let group of adjacentGroups; let i = index">
850
- <div #inputGroup class="k-input-group">
851
- <kendo-textbox
852
- *ngFor="let input of [].constructor(group); let j = index"
853
- class="k-otp-input"
854
- [class.k-invalid]="isControlInvalid"
855
- [selectOnFocus]="true"
856
- [maxlength]="1"
857
- [type]="type !== 'number' ? type : null"
858
- [placeholder]="placeholder"
859
- [size]="size"
860
- [rounded]="rounded"
861
- [fillMode]="fillMode"
862
- [disabled]="disabled"
863
- [readonly]="readonly"
864
- (focus)="handleInputFocus(j, i)"
865
- (input)="handleInput($event, j, i)"
866
- ></kendo-textbox>
867
- </div>
868
- <kendo-otpinput-separator *ngIf="showGroupSeparator(i)" [separator]="separator"></kendo-otpinput-separator>
869
- </ng-container>
870
- </ng-template>
871
- <ng-container>
872
- `,
825
+ kendoInputSharedEvents
826
+ [hostElement]="hostElement"
827
+ [(isFocused)]="isFocused"
828
+ (handleBlur)="handleBlur()"
829
+ (onFocus)="handleFocus()"
830
+ >
831
+ @if (spacing) {
832
+ @for (input of inputsArray; track input; let i = $index) {
833
+ <kendo-textbox
834
+ class="k-otp-input"
835
+ [class.k-invalid]="isControlInvalid"
836
+ [selectOnFocus]="true"
837
+ [maxlength]="1"
838
+ [type]="type !== 'number' ? type : null"
839
+ [placeholder]="placeholder"
840
+ [size]="size"
841
+ [rounded]="rounded"
842
+ [fillMode]="fillMode"
843
+ [disabled]="disabled"
844
+ [readonly]="readonly"
845
+ (focus)="handleInputFocus(i)"
846
+ (input)="handleInput($event, i)"
847
+ ></kendo-textbox>
848
+ @if (showSeparator(i)) {
849
+ <kendo-otpinput-separator [separator]="separator"></kendo-otpinput-separator>
850
+ }
851
+ }
852
+ } @else {
853
+ @for (group of adjacentGroups; track group; let i = $index) {
854
+ <div #inputGroup class="k-input-group">
855
+ @for (input of [].constructor(group); track input; let j = $index) {
856
+ <kendo-textbox
857
+ class="k-otp-input"
858
+ [class.k-invalid]="isControlInvalid"
859
+ [selectOnFocus]="true"
860
+ [maxlength]="1"
861
+ [type]="type !== 'number' ? type : null"
862
+ [placeholder]="placeholder"
863
+ [size]="size"
864
+ [rounded]="rounded"
865
+ [fillMode]="fillMode"
866
+ [disabled]="disabled"
867
+ [readonly]="readonly"
868
+ (focus)="handleInputFocus(j, i)"
869
+ (input)="handleInput($event, j, i)"
870
+ ></kendo-textbox>
871
+ }
872
+ </div>
873
+ @if (showGroupSeparator(i)) {
874
+ <kendo-otpinput-separator [separator]="separator"></kendo-otpinput-separator>
875
+ }
876
+ }
877
+ }
878
+ <ng-container>
879
+ `,
873
880
  standalone: true,
874
- imports: [SharedInputEventsDirective, TextBoxComponent, OTPInputSeparatorComponent, NgFor, NgIf, LocalizedOTPInputMessagesDirective]
881
+ imports: [SharedInputEventsDirective, TextBoxComponent, OTPInputSeparatorComponent, LocalizedOTPInputMessagesDirective]
875
882
  }]
876
883
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }], propDecorators: { length: [{
877
884
  type: Input
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1763729048,
14
- version: '21.1.1-develop.2',
13
+ publishDate: 1763998157,
14
+ version: '21.2.0-develop.1',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -14,7 +14,6 @@ import { guid, isDocumentAvailable, Keys, KendoInput, anyChanged, hasObservers,
14
14
  import { requiresZoneOnBlur } from '../common/utils';
15
15
  import { SliderBase } from '../sliders-common/slider-base';
16
16
  import { SliderTicksComponent } from '../sliders-common/slider-ticks.component';
17
- import { NgIf } from '@angular/common';
18
17
  import { LocalizedRangeSliderMessagesDirective } from './localization/localized-rangeslider-messages.directive';
19
18
  import { validatePackage } from '@progress/kendo-licensing';
20
19
  import { packageMetadata } from '../package-metadata';
@@ -446,29 +445,29 @@ export class RangeSliderComponent extends SliderBase {
446
445
  }
447
446
  };
448
447
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeSliderComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
449
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RangeSliderComponent, isStandalone: true, selector: "kendo-rangeslider", inputs: { value: "value" }, providers: [
448
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RangeSliderComponent, isStandalone: true, selector: "kendo-rangeslider", inputs: { value: "value" }, providers: [
450
449
  LocalizationService,
451
450
  { provide: L10N_PREFIX, useValue: 'kendo.rangeslider' },
452
451
  { multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RangeSliderComponent) },
453
452
  { provide: KendoInput, useExisting: forwardRef(() => RangeSliderComponent) }
454
453
  ], viewQueries: [{ propertyName: "draghandleStart", first: true, predicate: ["draghandleStart"], descendants: true, static: true }, { propertyName: "draghandleEnd", first: true, predicate: ["draghandleEnd"], descendants: true, static: true }], exportAs: ["kendoRangeSlider"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
455
454
  <ng-container kendoSliderLocalizedMessages
456
- i18n-dragHandleStart="kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider."
457
- dragHandleStart="Drag"
458
- i18n-dragHandleEnd="kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider."
459
- dragHandleEnd="Drag"
460
- >
461
-
462
- <div
455
+ i18n-dragHandleStart="kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider."
456
+ dragHandleStart="Drag"
457
+ i18n-dragHandleEnd="kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider."
458
+ dragHandleEnd="Drag"
459
+ >
460
+
461
+ <div
463
462
  #wrap
464
463
  class="k-slider-track-wrap"
465
464
  [class.k-slider-topleft]="tickPlacement === 'before'"
466
465
  [class.k-slider-bottomright]="tickPlacement === 'after'"
467
466
  [kendoEventsOutsideAngular]="{ click: onWrapClick, keydown: onKeyDown }"
468
- >
469
- <ul kendoSliderTicks
467
+ >
468
+ @if (tickPlacement !== 'none') {
469
+ <ul kendoSliderTicks
470
470
  #ticks
471
- *ngIf="tickPlacement !== 'none'"
472
471
  [tickTitle]="title"
473
472
  [vertical]="vertical"
474
473
  [step]="smallStep"
@@ -477,53 +476,54 @@ export class RangeSliderComponent extends SliderBase {
477
476
  [max]="max"
478
477
  [labelTemplate]="labelTemplate?.templateRef"
479
478
  [attr.aria-hidden]="true"
480
- >
481
- </ul>
479
+ >
480
+ </ul>
481
+ }
482
482
  <div #track class="k-slider-track">
483
- <div #sliderSelection class="k-slider-selection">
484
- </div>
485
- <span #draghandleStart
486
- role="slider"
487
- [id]="startHandleId"
488
- [attr.tabindex]="disabled ? undefined : tabindex"
489
- [attr.aria-valuemin]="min"
490
- [attr.aria-valuemax]="max"
491
- [attr.aria-valuenow]="value ? value[0] : null"
492
- [attr.aria-valuetext]="valueText"
493
- [attr.aria-disabled]="disabled ? true : undefined"
494
- [attr.aria-readonly]="readonly ? true : undefined"
495
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
496
- [style.touch-action]="isDisabled ? '' : 'none'"
497
- class="k-draghandle"
498
- [title]="textFor('dragHandleStart')"
499
- kendoDraggable
500
- (kendoPress)="ifEnabled(handleDragPress ,$event)"
501
- (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
502
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
503
- ></span>
504
- <span #draghandleEnd
505
- role="slider"
506
- [id]="endHandleId"
507
- [attr.tabindex]="disabled ? undefined : tabindex"
508
- [attr.aria-valuemin]="min"
509
- [attr.aria-valuemax]="max"
510
- [attr.aria-valuenow]="value ? value[1] : null"
511
- [attr.aria-valuetext]="valueText"
512
- [attr.aria-disabled]="disabled ? true : undefined"
513
- [attr.aria-readonly]="readonly ? true : undefined"
514
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
515
- [style.touch-action]="isDisabled ? '' : 'none'"
516
- class="k-draghandle"
517
- [title]="textFor('dragHandleEnd')"
518
- kendoDraggable
519
- (kendoPress)="ifEnabled(handleDragPress ,$event)"
520
- (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
521
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
522
- ></span>
483
+ <div #sliderSelection class="k-slider-selection">
484
+ </div>
485
+ <span #draghandleStart
486
+ role="slider"
487
+ [id]="startHandleId"
488
+ [attr.tabindex]="disabled ? undefined : tabindex"
489
+ [attr.aria-valuemin]="min"
490
+ [attr.aria-valuemax]="max"
491
+ [attr.aria-valuenow]="value ? value[0] : null"
492
+ [attr.aria-valuetext]="valueText"
493
+ [attr.aria-disabled]="disabled ? true : undefined"
494
+ [attr.aria-readonly]="readonly ? true : undefined"
495
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
496
+ [style.touch-action]="isDisabled ? '' : 'none'"
497
+ class="k-draghandle"
498
+ [title]="textFor('dragHandleStart')"
499
+ kendoDraggable
500
+ (kendoPress)="ifEnabled(handleDragPress ,$event)"
501
+ (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
502
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
503
+ ></span>
504
+ <span #draghandleEnd
505
+ role="slider"
506
+ [id]="endHandleId"
507
+ [attr.tabindex]="disabled ? undefined : tabindex"
508
+ [attr.aria-valuemin]="min"
509
+ [attr.aria-valuemax]="max"
510
+ [attr.aria-valuenow]="value ? value[1] : null"
511
+ [attr.aria-valuetext]="valueText"
512
+ [attr.aria-disabled]="disabled ? true : undefined"
513
+ [attr.aria-readonly]="readonly ? true : undefined"
514
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
515
+ [style.touch-action]="isDisabled ? '' : 'none'"
516
+ class="k-draghandle"
517
+ [title]="textFor('dragHandleEnd')"
518
+ kendoDraggable
519
+ (kendoPress)="ifEnabled(handleDragPress ,$event)"
520
+ (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
521
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
522
+ ></span>
523
523
  </div>
524
- </div>
525
- <kendo-resize-sensor (resize)="sizeComponent()"></kendo-resize-sensor>
526
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedRangeSliderMessagesDirective, selector: "[kendoSliderLocalizedMessages]" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SliderTicksComponent, selector: "[kendoSliderTicks]", inputs: ["tickTitle", "vertical", "step", "largeStep", "min", "max", "labelTemplate"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
524
+ </div>
525
+ <kendo-resize-sensor (resize)="sizeComponent()"></kendo-resize-sensor>
526
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedRangeSliderMessagesDirective, selector: "[kendoSliderLocalizedMessages]" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: SliderTicksComponent, selector: "[kendoSliderTicks]", inputs: ["tickTitle", "vertical", "step", "largeStep", "min", "max", "labelTemplate"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
527
527
  }
528
528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeSliderComponent, decorators: [{
529
529
  type: Component,
@@ -538,22 +538,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
538
538
  selector: 'kendo-rangeslider',
539
539
  template: `
540
540
  <ng-container kendoSliderLocalizedMessages
541
- i18n-dragHandleStart="kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider."
542
- dragHandleStart="Drag"
543
- i18n-dragHandleEnd="kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider."
544
- dragHandleEnd="Drag"
545
- >
546
-
547
- <div
541
+ i18n-dragHandleStart="kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider."
542
+ dragHandleStart="Drag"
543
+ i18n-dragHandleEnd="kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider."
544
+ dragHandleEnd="Drag"
545
+ >
546
+
547
+ <div
548
548
  #wrap
549
549
  class="k-slider-track-wrap"
550
550
  [class.k-slider-topleft]="tickPlacement === 'before'"
551
551
  [class.k-slider-bottomright]="tickPlacement === 'after'"
552
552
  [kendoEventsOutsideAngular]="{ click: onWrapClick, keydown: onKeyDown }"
553
- >
554
- <ul kendoSliderTicks
553
+ >
554
+ @if (tickPlacement !== 'none') {
555
+ <ul kendoSliderTicks
555
556
  #ticks
556
- *ngIf="tickPlacement !== 'none'"
557
557
  [tickTitle]="title"
558
558
  [vertical]="vertical"
559
559
  [step]="smallStep"
@@ -562,55 +562,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
562
562
  [max]="max"
563
563
  [labelTemplate]="labelTemplate?.templateRef"
564
564
  [attr.aria-hidden]="true"
565
- >
566
- </ul>
565
+ >
566
+ </ul>
567
+ }
567
568
  <div #track class="k-slider-track">
568
- <div #sliderSelection class="k-slider-selection">
569
- </div>
570
- <span #draghandleStart
571
- role="slider"
572
- [id]="startHandleId"
573
- [attr.tabindex]="disabled ? undefined : tabindex"
574
- [attr.aria-valuemin]="min"
575
- [attr.aria-valuemax]="max"
576
- [attr.aria-valuenow]="value ? value[0] : null"
577
- [attr.aria-valuetext]="valueText"
578
- [attr.aria-disabled]="disabled ? true : undefined"
579
- [attr.aria-readonly]="readonly ? true : undefined"
580
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
581
- [style.touch-action]="isDisabled ? '' : 'none'"
582
- class="k-draghandle"
583
- [title]="textFor('dragHandleStart')"
584
- kendoDraggable
585
- (kendoPress)="ifEnabled(handleDragPress ,$event)"
586
- (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
587
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
588
- ></span>
589
- <span #draghandleEnd
590
- role="slider"
591
- [id]="endHandleId"
592
- [attr.tabindex]="disabled ? undefined : tabindex"
593
- [attr.aria-valuemin]="min"
594
- [attr.aria-valuemax]="max"
595
- [attr.aria-valuenow]="value ? value[1] : null"
596
- [attr.aria-valuetext]="valueText"
597
- [attr.aria-disabled]="disabled ? true : undefined"
598
- [attr.aria-readonly]="readonly ? true : undefined"
599
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
600
- [style.touch-action]="isDisabled ? '' : 'none'"
601
- class="k-draghandle"
602
- [title]="textFor('dragHandleEnd')"
603
- kendoDraggable
604
- (kendoPress)="ifEnabled(handleDragPress ,$event)"
605
- (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
606
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
607
- ></span>
569
+ <div #sliderSelection class="k-slider-selection">
570
+ </div>
571
+ <span #draghandleStart
572
+ role="slider"
573
+ [id]="startHandleId"
574
+ [attr.tabindex]="disabled ? undefined : tabindex"
575
+ [attr.aria-valuemin]="min"
576
+ [attr.aria-valuemax]="max"
577
+ [attr.aria-valuenow]="value ? value[0] : null"
578
+ [attr.aria-valuetext]="valueText"
579
+ [attr.aria-disabled]="disabled ? true : undefined"
580
+ [attr.aria-readonly]="readonly ? true : undefined"
581
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
582
+ [style.touch-action]="isDisabled ? '' : 'none'"
583
+ class="k-draghandle"
584
+ [title]="textFor('dragHandleStart')"
585
+ kendoDraggable
586
+ (kendoPress)="ifEnabled(handleDragPress ,$event)"
587
+ (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
588
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
589
+ ></span>
590
+ <span #draghandleEnd
591
+ role="slider"
592
+ [id]="endHandleId"
593
+ [attr.tabindex]="disabled ? undefined : tabindex"
594
+ [attr.aria-valuemin]="min"
595
+ [attr.aria-valuemax]="max"
596
+ [attr.aria-valuenow]="value ? value[1] : null"
597
+ [attr.aria-valuetext]="valueText"
598
+ [attr.aria-disabled]="disabled ? true : undefined"
599
+ [attr.aria-readonly]="readonly ? true : undefined"
600
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
601
+ [style.touch-action]="isDisabled ? '' : 'none'"
602
+ class="k-draghandle"
603
+ [title]="textFor('dragHandleEnd')"
604
+ kendoDraggable
605
+ (kendoPress)="ifEnabled(handleDragPress ,$event)"
606
+ (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
607
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
608
+ ></span>
608
609
  </div>
609
- </div>
610
- <kendo-resize-sensor (resize)="sizeComponent()"></kendo-resize-sensor>
611
- `,
610
+ </div>
611
+ <kendo-resize-sensor (resize)="sizeComponent()"></kendo-resize-sensor>
612
+ `,
612
613
  standalone: true,
613
- imports: [LocalizedRangeSliderMessagesDirective, EventsOutsideAngularDirective, NgIf, SliderTicksComponent, DraggableDirective, ResizeSensorComponent]
614
+ imports: [LocalizedRangeSliderMessagesDirective, EventsOutsideAngularDirective, SliderTicksComponent, DraggableDirective, ResizeSensorComponent]
614
615
  }]
615
616
  }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { value: [{
616
617
  type: Input