@progress/kendo-angular-inputs 21.1.1-develop.1 → 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 (28) 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
  28. package/schematics/ngAdd/index.js +4 -0
@@ -14,7 +14,7 @@ import { areSame } from '../common/utils';
14
14
  import { RatingItemTemplateDirective } from './directives/rating-item.directive';
15
15
  import { RatingHoveredItemTemplateDirective } from './directives/rating-hovered-item.directive';
16
16
  import { RatingSelectedItemTemplateDirective } from './directives/rating-selected-item.directive';
17
- import { NgFor, NgClass, NgIf, NgTemplateOutlet, NgStyle } from '@angular/common';
17
+ import { NgClass, NgTemplateOutlet, NgStyle } from '@angular/common';
18
18
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "@progress/kendo-angular-l10n";
@@ -370,7 +370,7 @@ export class RatingComponent {
370
370
  }
371
371
  }
372
372
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
373
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RatingComponent, isStandalone: true, selector: "kendo-rating", inputs: { disabled: "disabled", readonly: "readonly", tabindex: "tabindex", itemsCount: "itemsCount", value: "value", selection: "selection", precision: "precision", label: "label", icon: "icon", svgIcon: "svgIcon", svgIconOutline: "svgIconOutline" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.aria-disabled": "this.disabled", "class.k-disabled": "this.disabled", "attr.aria-readonly": "this.readonly", "class.k-readonly": "this.readonly", "attr.tabindex": "this.tabindex", "class.k-rating": "this.hostClass", "attr.dir": "this.direction", "attr.aria-invalid": "this.isControlInvalid", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax", "attr.aria-valuenow": "this.valueNow", "attr.role": "this.ariaRole" } }, providers: [
373
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RatingComponent, isStandalone: true, selector: "kendo-rating", inputs: { disabled: "disabled", readonly: "readonly", tabindex: "tabindex", itemsCount: "itemsCount", value: "value", selection: "selection", precision: "precision", label: "label", icon: "icon", svgIcon: "svgIcon", svgIconOutline: "svgIconOutline" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.aria-disabled": "this.disabled", "class.k-disabled": "this.disabled", "attr.aria-readonly": "this.readonly", "class.k-readonly": "this.readonly", "attr.tabindex": "this.tabindex", "class.k-rating": "this.hostClass", "attr.dir": "this.direction", "attr.aria-invalid": "this.isControlInvalid", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax", "attr.aria-valuenow": "this.valueNow", "attr.role": "this.ariaRole" } }, providers: [
374
374
  LocalizationService,
375
375
  { provide: L10N_PREFIX, useValue: 'kendo.rating' },
376
376
  {
@@ -382,144 +382,145 @@ export class RatingComponent {
382
382
  provide: KendoInput,
383
383
  useExisting: forwardRef(() => RatingComponent)
384
384
  }
385
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: RatingItemTemplateDirective, descendants: true }, { propertyName: "hoveredItemTemplate", first: true, predicate: RatingHoveredItemTemplateDirective, descendants: true }, { propertyName: "selectedItemTemplate", first: true, predicate: RatingSelectedItemTemplateDirective, descendants: true }], exportAs: ["kendoRating"], ngImport: i0, template: `
386
- <span class="k-rating-container">
387
- <span
388
- *ngFor="let item of ratingItems; index as i"
389
- class="k-rating-item"
390
- [title]="item.title"
385
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: RatingItemTemplateDirective, descendants: true }, { propertyName: "hoveredItemTemplate", first: true, predicate: RatingHoveredItemTemplateDirective, descendants: true }, { propertyName: "selectedItemTemplate", first: true, predicate: RatingSelectedItemTemplateDirective, descendants: true }], exportAs: ["kendoRating"], ngImport: i0, template: `
386
+ <span class="k-rating-container">
387
+ @for (item of ratingItems; track item; let i = $index) {
388
+ <span
389
+ class="k-rating-item"
390
+ [title]="item.title"
391
391
  [ngClass]="{
392
392
  'k-selected': item.selected || item.selectedIndicator,
393
393
  'k-hover': item.hovered
394
394
  }"
395
- (mouseenter)="onMouseEnter($event)"
396
- (mouseout)="onMouseOut()"
397
- (click)="changeValue(i, $event)"
398
- >
399
- <ng-container *ngIf="!item.half">
400
- <ng-container *ngIf="!itemTemplate">
401
- <kendo-icon-wrapper
402
- *ngIf="!icon"
403
- size="xlarge"
404
- [name]="item.selected || item.hovered ? 'star' : 'star-outline'"
405
- [svgIcon]="item.selected || item.hovered ? svgIcon : svgIconOutline"
406
- >
407
- </kendo-icon-wrapper>
408
-
409
- <kendo-icon-wrapper
410
- *ngIf="icon"
411
- size="xlarge"
412
- [name]="item.selected || item.hovered ? icon : icon + '-outline'"
413
- >
414
- </kendo-icon-wrapper>
415
- </ng-container>
416
-
417
- <ng-template
418
- *ngIf="itemTemplate && (!item.selected && !item.hovered)"
419
- [ngTemplateOutlet]="itemTemplate?.templateRef"
420
- [ngTemplateOutletContext]="{index: i}"
421
- >
422
- </ng-template>
423
-
424
- <ng-template
425
- *ngIf="hoveredItemTemplate && item.hovered"
426
- [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
427
- [ngTemplateOutletContext]="{index: i}"
428
- >
429
- </ng-template>
430
-
431
- <ng-template
432
- *ngIf="selectedItemTemplate && (item.selected && !item.hovered)"
433
- [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
434
- [ngTemplateOutletContext]="{index: i}"
435
- >
436
- </ng-template>
437
- </ng-container>
438
-
439
- <ng-container *ngIf="item.half">
440
- <ng-container *ngIf="!itemTemplate">
441
- <span class="k-rating-precision-complement">
442
- <kendo-icon-wrapper
443
- *ngIf="!icon"
444
- size="xlarge"
445
- [name]="'star-outline'"
446
- [svgIcon]="svgIconOutline"
447
- >
448
- </kendo-icon-wrapper>
449
-
450
- <kendo-icon-wrapper
451
- *ngIf="icon"
452
- size="xlarge"
453
- [name]="icon + '-outline'"
454
- >
455
- </kendo-icon-wrapper>
456
- </span>
457
-
458
- <span
459
- class="k-rating-precision-part"
460
- [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
461
- >
462
- <kendo-icon-wrapper
463
- *ngIf="!icon"
464
- size="xlarge"
465
- [name]="'star'"
466
- [svgIcon]="svgIcon"
467
- >
468
- </kendo-icon-wrapper>
469
-
470
- <kendo-icon-wrapper
471
- *ngIf="icon"
472
- size="xlarge"
473
- [name]="icon"
474
- >
475
- </kendo-icon-wrapper>
476
- </span>
477
- </ng-container>
478
-
479
- <span
480
- class="k-rating-precision-complement"
481
- >
482
- <ng-template
483
- [ngTemplateOutlet]="itemTemplate?.templateRef"
484
- [ngTemplateOutletContext]="{index: i}"
485
- >
486
- </ng-template>
487
- </span>
488
-
489
- <span
490
- *ngIf="hoveredItemTemplate && item.hovered"
491
- class="k-rating-precision-part"
492
- [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
493
- >
494
- <ng-template
495
- [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
496
- [ngTemplateOutletContext]="{index: i}"
497
- >
498
- </ng-template>
499
- </span>
500
-
501
- <span
502
- *ngIf="selectedItemTemplate && (item.selected && !item.hovered)"
503
- class="k-rating-precision-part"
504
- [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
505
- >
506
- <ng-template
507
- [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
508
- [ngTemplateOutletContext]="{index: i}"
509
- >
510
- </ng-template>
511
- </span>
512
-
513
- <span [style.width.px]="24" [style.height.px]="24" [style.display]="'block'"></span>
514
- </ng-container>
515
- </span>
516
- </span>
517
-
518
- <span
519
- *ngIf="label"
520
- class="k-rating-label"
521
- >{{ label }}</span>
522
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
395
+ (mouseenter)="onMouseEnter($event)"
396
+ (mouseout)="onMouseOut()"
397
+ (click)="changeValue(i, $event)"
398
+ >
399
+ @if (!item.half) {
400
+ @if (!itemTemplate) {
401
+ @if (!icon) {
402
+ <kendo-icon-wrapper
403
+ size="xlarge"
404
+ [name]="item.selected || item.hovered ? 'star' : 'star-outline'"
405
+ [svgIcon]="item.selected || item.hovered ? svgIcon : svgIconOutline"
406
+ >
407
+ </kendo-icon-wrapper>
408
+ }
409
+ @if (icon) {
410
+ <kendo-icon-wrapper
411
+ size="xlarge"
412
+ [name]="item.selected || item.hovered ? icon : icon + '-outline'"
413
+ >
414
+ </kendo-icon-wrapper>
415
+ }
416
+ }
417
+ @if (itemTemplate && (!item.selected && !item.hovered)) {
418
+ <ng-template
419
+ [ngTemplateOutlet]="itemTemplate?.templateRef"
420
+ [ngTemplateOutletContext]="{index: i}"
421
+ >
422
+ </ng-template>
423
+ }
424
+ @if (hoveredItemTemplate && item.hovered) {
425
+ <ng-template
426
+ [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
427
+ [ngTemplateOutletContext]="{index: i}"
428
+ >
429
+ </ng-template>
430
+ }
431
+ @if (selectedItemTemplate && (item.selected && !item.hovered)) {
432
+ <ng-template
433
+ [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
434
+ [ngTemplateOutletContext]="{index: i}"
435
+ >
436
+ </ng-template>
437
+ }
438
+ }
439
+ @if (item.half) {
440
+ @if (!itemTemplate) {
441
+ <span class="k-rating-precision-complement">
442
+ @if (!icon) {
443
+ <kendo-icon-wrapper
444
+ size="xlarge"
445
+ [name]="'star-outline'"
446
+ [svgIcon]="svgIconOutline"
447
+ >
448
+ </kendo-icon-wrapper>
449
+ }
450
+ @if (icon) {
451
+ <kendo-icon-wrapper
452
+ size="xlarge"
453
+ [name]="icon + '-outline'"
454
+ >
455
+ </kendo-icon-wrapper>
456
+ }
457
+ </span>
458
+ <span
459
+ class="k-rating-precision-part"
460
+ [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
461
+ >
462
+ @if (!icon) {
463
+ <kendo-icon-wrapper
464
+ size="xlarge"
465
+ [name]="'star'"
466
+ [svgIcon]="svgIcon"
467
+ >
468
+ </kendo-icon-wrapper>
469
+ }
470
+ @if (icon) {
471
+ <kendo-icon-wrapper
472
+ size="xlarge"
473
+ [name]="icon"
474
+ >
475
+ </kendo-icon-wrapper>
476
+ }
477
+ </span>
478
+ }
479
+ <span
480
+ class="k-rating-precision-complement"
481
+ >
482
+ <ng-template
483
+ [ngTemplateOutlet]="itemTemplate?.templateRef"
484
+ [ngTemplateOutletContext]="{index: i}"
485
+ >
486
+ </ng-template>
487
+ </span>
488
+ @if (hoveredItemTemplate && item.hovered) {
489
+ <span
490
+ class="k-rating-precision-part"
491
+ [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
492
+ >
493
+ <ng-template
494
+ [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
495
+ [ngTemplateOutletContext]="{index: i}"
496
+ >
497
+ </ng-template>
498
+ </span>
499
+ }
500
+ @if (selectedItemTemplate && (item.selected && !item.hovered)) {
501
+ <span
502
+ class="k-rating-precision-part"
503
+ [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
504
+ >
505
+ <ng-template
506
+ [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
507
+ [ngTemplateOutletContext]="{index: i}"
508
+ >
509
+ </ng-template>
510
+ </span>
511
+ }
512
+ <span [style.width.px]="24" [style.height.px]="24" [style.display]="'block'"></span>
513
+ }
514
+ </span>
515
+ }
516
+ </span>
517
+
518
+ @if (label) {
519
+ <span
520
+ class="k-rating-label"
521
+ >{{ label }}</span>
522
+ }
523
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
523
524
  }
524
525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingComponent, decorators: [{
525
526
  type: Component,
@@ -539,146 +540,147 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
539
540
  }
540
541
  ],
541
542
  selector: 'kendo-rating',
542
- template: `
543
- <span class="k-rating-container">
544
- <span
545
- *ngFor="let item of ratingItems; index as i"
546
- class="k-rating-item"
547
- [title]="item.title"
543
+ template: `
544
+ <span class="k-rating-container">
545
+ @for (item of ratingItems; track item; let i = $index) {
546
+ <span
547
+ class="k-rating-item"
548
+ [title]="item.title"
548
549
  [ngClass]="{
549
550
  'k-selected': item.selected || item.selectedIndicator,
550
551
  'k-hover': item.hovered
551
552
  }"
552
- (mouseenter)="onMouseEnter($event)"
553
- (mouseout)="onMouseOut()"
554
- (click)="changeValue(i, $event)"
555
- >
556
- <ng-container *ngIf="!item.half">
557
- <ng-container *ngIf="!itemTemplate">
558
- <kendo-icon-wrapper
559
- *ngIf="!icon"
560
- size="xlarge"
561
- [name]="item.selected || item.hovered ? 'star' : 'star-outline'"
562
- [svgIcon]="item.selected || item.hovered ? svgIcon : svgIconOutline"
563
- >
564
- </kendo-icon-wrapper>
565
-
566
- <kendo-icon-wrapper
567
- *ngIf="icon"
568
- size="xlarge"
569
- [name]="item.selected || item.hovered ? icon : icon + '-outline'"
570
- >
571
- </kendo-icon-wrapper>
572
- </ng-container>
573
-
574
- <ng-template
575
- *ngIf="itemTemplate && (!item.selected && !item.hovered)"
576
- [ngTemplateOutlet]="itemTemplate?.templateRef"
577
- [ngTemplateOutletContext]="{index: i}"
578
- >
579
- </ng-template>
580
-
581
- <ng-template
582
- *ngIf="hoveredItemTemplate && item.hovered"
583
- [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
584
- [ngTemplateOutletContext]="{index: i}"
585
- >
586
- </ng-template>
587
-
588
- <ng-template
589
- *ngIf="selectedItemTemplate && (item.selected && !item.hovered)"
590
- [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
591
- [ngTemplateOutletContext]="{index: i}"
592
- >
593
- </ng-template>
594
- </ng-container>
595
-
596
- <ng-container *ngIf="item.half">
597
- <ng-container *ngIf="!itemTemplate">
598
- <span class="k-rating-precision-complement">
599
- <kendo-icon-wrapper
600
- *ngIf="!icon"
601
- size="xlarge"
602
- [name]="'star-outline'"
603
- [svgIcon]="svgIconOutline"
604
- >
605
- </kendo-icon-wrapper>
606
-
607
- <kendo-icon-wrapper
608
- *ngIf="icon"
609
- size="xlarge"
610
- [name]="icon + '-outline'"
611
- >
612
- </kendo-icon-wrapper>
613
- </span>
614
-
615
- <span
616
- class="k-rating-precision-part"
617
- [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
618
- >
619
- <kendo-icon-wrapper
620
- *ngIf="!icon"
621
- size="xlarge"
622
- [name]="'star'"
623
- [svgIcon]="svgIcon"
624
- >
625
- </kendo-icon-wrapper>
626
-
627
- <kendo-icon-wrapper
628
- *ngIf="icon"
629
- size="xlarge"
630
- [name]="icon"
631
- >
632
- </kendo-icon-wrapper>
633
- </span>
634
- </ng-container>
635
-
636
- <span
637
- class="k-rating-precision-complement"
638
- >
639
- <ng-template
640
- [ngTemplateOutlet]="itemTemplate?.templateRef"
641
- [ngTemplateOutletContext]="{index: i}"
642
- >
643
- </ng-template>
644
- </span>
645
-
646
- <span
647
- *ngIf="hoveredItemTemplate && item.hovered"
648
- class="k-rating-precision-part"
649
- [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
650
- >
651
- <ng-template
652
- [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
653
- [ngTemplateOutletContext]="{index: i}"
654
- >
655
- </ng-template>
656
- </span>
657
-
658
- <span
659
- *ngIf="selectedItemTemplate && (item.selected && !item.hovered)"
660
- class="k-rating-precision-part"
661
- [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
662
- >
663
- <ng-template
664
- [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
665
- [ngTemplateOutletContext]="{index: i}"
666
- >
667
- </ng-template>
668
- </span>
669
-
670
- <span [style.width.px]="24" [style.height.px]="24" [style.display]="'block'"></span>
671
- </ng-container>
672
- </span>
673
- </span>
674
-
675
- <span
676
- *ngIf="label"
677
- class="k-rating-label"
678
- >{{ label }}</span>
679
- `,
553
+ (mouseenter)="onMouseEnter($event)"
554
+ (mouseout)="onMouseOut()"
555
+ (click)="changeValue(i, $event)"
556
+ >
557
+ @if (!item.half) {
558
+ @if (!itemTemplate) {
559
+ @if (!icon) {
560
+ <kendo-icon-wrapper
561
+ size="xlarge"
562
+ [name]="item.selected || item.hovered ? 'star' : 'star-outline'"
563
+ [svgIcon]="item.selected || item.hovered ? svgIcon : svgIconOutline"
564
+ >
565
+ </kendo-icon-wrapper>
566
+ }
567
+ @if (icon) {
568
+ <kendo-icon-wrapper
569
+ size="xlarge"
570
+ [name]="item.selected || item.hovered ? icon : icon + '-outline'"
571
+ >
572
+ </kendo-icon-wrapper>
573
+ }
574
+ }
575
+ @if (itemTemplate && (!item.selected && !item.hovered)) {
576
+ <ng-template
577
+ [ngTemplateOutlet]="itemTemplate?.templateRef"
578
+ [ngTemplateOutletContext]="{index: i}"
579
+ >
580
+ </ng-template>
581
+ }
582
+ @if (hoveredItemTemplate && item.hovered) {
583
+ <ng-template
584
+ [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
585
+ [ngTemplateOutletContext]="{index: i}"
586
+ >
587
+ </ng-template>
588
+ }
589
+ @if (selectedItemTemplate && (item.selected && !item.hovered)) {
590
+ <ng-template
591
+ [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
592
+ [ngTemplateOutletContext]="{index: i}"
593
+ >
594
+ </ng-template>
595
+ }
596
+ }
597
+ @if (item.half) {
598
+ @if (!itemTemplate) {
599
+ <span class="k-rating-precision-complement">
600
+ @if (!icon) {
601
+ <kendo-icon-wrapper
602
+ size="xlarge"
603
+ [name]="'star-outline'"
604
+ [svgIcon]="svgIconOutline"
605
+ >
606
+ </kendo-icon-wrapper>
607
+ }
608
+ @if (icon) {
609
+ <kendo-icon-wrapper
610
+ size="xlarge"
611
+ [name]="icon + '-outline'"
612
+ >
613
+ </kendo-icon-wrapper>
614
+ }
615
+ </span>
616
+ <span
617
+ class="k-rating-precision-part"
618
+ [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
619
+ >
620
+ @if (!icon) {
621
+ <kendo-icon-wrapper
622
+ size="xlarge"
623
+ [name]="'star'"
624
+ [svgIcon]="svgIcon"
625
+ >
626
+ </kendo-icon-wrapper>
627
+ }
628
+ @if (icon) {
629
+ <kendo-icon-wrapper
630
+ size="xlarge"
631
+ [name]="icon"
632
+ >
633
+ </kendo-icon-wrapper>
634
+ }
635
+ </span>
636
+ }
637
+ <span
638
+ class="k-rating-precision-complement"
639
+ >
640
+ <ng-template
641
+ [ngTemplateOutlet]="itemTemplate?.templateRef"
642
+ [ngTemplateOutletContext]="{index: i}"
643
+ >
644
+ </ng-template>
645
+ </span>
646
+ @if (hoveredItemTemplate && item.hovered) {
647
+ <span
648
+ class="k-rating-precision-part"
649
+ [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
650
+ >
651
+ <ng-template
652
+ [ngTemplateOutlet]="hoveredItemTemplate?.templateRef"
653
+ [ngTemplateOutletContext]="{index: i}"
654
+ >
655
+ </ng-template>
656
+ </span>
657
+ }
658
+ @if (selectedItemTemplate && (item.selected && !item.hovered)) {
659
+ <span
660
+ class="k-rating-precision-part"
661
+ [ngStyle]="{'clipPath': direction === 'rtl' ? 'inset(0 0 0 50%)' : 'inset(0 50% 0 0)'}"
662
+ >
663
+ <ng-template
664
+ [ngTemplateOutlet]="selectedItemTemplate?.templateRef"
665
+ [ngTemplateOutletContext]="{index: i}"
666
+ >
667
+ </ng-template>
668
+ </span>
669
+ }
670
+ <span [style.width.px]="24" [style.height.px]="24" [style.display]="'block'"></span>
671
+ }
672
+ </span>
673
+ }
674
+ </span>
675
+
676
+ @if (label) {
677
+ <span
678
+ class="k-rating-label"
679
+ >{{ label }}</span>
680
+ }
681
+ `,
680
682
  standalone: true,
681
- imports: [NgFor, NgClass, NgIf, IconWrapperComponent, NgTemplateOutlet, NgStyle]
683
+ imports: [NgClass, IconWrapperComponent, NgTemplateOutlet, NgStyle]
682
684
  }]
683
685
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { itemTemplate: [{
684
686
  type: ContentChild,