import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core'; import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; @Component({ selector: 'rating', template: `
`, styles: [` .rating-container { display: flex; justify-content: center; gap: 8px; } ion-icon { font-size: 24px; color: #ffc107; cursor: pointer; } ion-icon.large { font-size: 36px; } ion-icon.selected { color: #ffc107; } ion-icon:not(.selected) { color: #ccc; } .readonly ion-icon { cursor: default; } `], providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RatingComponent), multi: true } ], standalone: false }) export class RatingComponent implements ControlValueAccessor { @Input() readonly: string = 'false'; @Input() size: string = 'default'; @Input() max: number = 5; @Output() rateChange = new EventEmitter