{"version":3,"file":"ngx-star-review.mjs","sources":["../../../projects/ngx-star-review/src/lib/ngx-star-review.service.ts","../../../projects/ngx-star-review/src/lib/ngx-star-review.component.ts","../../../projects/ngx-star-review/src/lib/ngx-star-review.component.html","../../../projects/ngx-star-review/src/lib/ngx-star-review.module.ts","../../../projects/ngx-star-review/src/public-api.ts","../../../projects/ngx-star-review/src/ngx-star-review.ts"],"sourcesContent":["import {\n  MatButtonToggle,\n  MatButtonToggleGroup,\n} from '@angular/material/button-toggle';\n\nimport { FormControl } from '@angular/forms';\nimport { Injectable } from '@angular/core';\nimport { StarReview } from './ngx-star-review.interface';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NgxStarReviewService {\n  constructor() {}\n\n  /**\n   * Generates an array of stars to use in your component\n   *\n   * @public\n   * @param number starCount\n   * @returns StarReview[]\n   */\n  public generateRatingStars(starCount: number): StarReview[] {\n    let stars: StarReview[] = [];\n\n    for (let i = 1; i <= starCount; i++) {\n      const newStar: StarReview = {\n        value: i,\n        selected: i == 1 ? true : false,\n      };\n      stars.push(newStar);\n    }\n\n    return stars;\n  }\n\n  /**\n   *  When the user clicks on a star, all the stars will be selected\n   *\n   * @public\n   * @param number index\n   * @param StarReview[] stars\n   * @param FormControl control\n   */\n  public onStarClick(\n    index: number,\n    stars: StarReview[],\n    control: FormControl\n  ): void {\n    const foundStarIndex: number = stars.findIndex(\n      (star) => star.value === index\n    );\n    let selectedStarsArray: StarReview[] = [];\n\n    stars.forEach((star: StarReview, index: number) => {\n      star.selected = false;\n      if (index <= foundStarIndex) {\n        star.selected = true;\n        selectedStarsArray.push(star);\n      }\n    });\n\n    control.setValue(index);\n  }\n\n  \n  /**\n   * When the user clicks on a star, all the stars will be checked\n   *\n   * @public\n   * @param number index\n   * @param FormControl control\n   * @param MatButtonToggleGroup toggleGroup\n   */\n  public onStarToggleClick(\n    index: number,\n    control: FormControl,\n    toggleGroup: MatButtonToggleGroup\n  ): void {\n    toggleGroup._buttonToggles.forEach((toggleButton: MatButtonToggle) => {\n      if (toggleButton.value <= index) {\n        toggleButton.checked = true;\n      } else {\n        toggleButton.checked = false;\n      }\n    });\n\n    control.setValue(index);\n  }\n}\n","import { Component, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport {\n  FormBuilder,\n  FormControl,\n  FormGroup,\n  Validators,\n} from '@angular/forms';\nimport {\n  StarReview,\n  StarReviewConfig,\n  StarReviewIcon,\n} from './ngx-star-review.interface';\n\nimport { MatButtonToggleGroup } from '@angular/material/button-toggle';\nimport { NgxStarReviewService } from './ngx-star-review.service';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'ngx-star-review',\n  templateUrl: './ngx-star-review.component.html',\n  styles: [],\n})\nexport class NgxStarReviewComponent implements OnInit, OnChanges {\n  @Input('starCount') public starCount?: StarReviewConfig['starCount'] = 5;\n  @Input('mode') public mode?: StarReviewConfig['mode'] = 'default';\n  @Input('theme') public theme?: StarReviewConfig['theme'] = 'primary';\n  @Input('control') public control: FormControl = new FormControl(1);\n  @Input('minDisabled') public minDisabled?: boolean = false;\n  @Input('customIcon') public customIcon: StarReviewIcon = {\n    icon: undefined,\n    selectedIcon: undefined,\n    text: 'check',\n    selectedText: 'check_circle',\n  };\n  @Output('rating') public rating: Subject<number> = new Subject();\n  public ratingStars: StarReview[] = [];\n  public ratingForm: FormGroup;\n\n  constructor(\n    private fb: FormBuilder,\n    private reviewService: NgxStarReviewService\n  ) {\n    this.ratingForm = this.fb.group({\n      rating: [1, [Validators.min(1)]],\n    });\n  }\n\n  ngOnInit(): void {\n    if (this.mode == '' || !this.mode) {\n      this.mode = 'default';\n    }\n\n    this.updateStarsCount();\n  }\n\n  ngOnChanges(): void {\n    this.updateStarsCount();\n  }\n\n  /**\n   * Update the count of stars at each change\n   * \n   * @private\n   */\n  private updateStarsCount() {\n    this.ratingStars = this.reviewService.generateRatingStars(\n      this.starCount ? this.starCount : 5\n    );\n  }\n\n  /**\n   * Send the clicked star to the review service to display the selected stars\n   *\n   * @public\n   * @param number value\n   */\n  public onStarClick(value: number): void {\n    const control: FormControl = this.ratingForm.get('rating') as FormControl;\n    this.reviewService.onStarClick(\n      value,\n      this.ratingStars,\n      this.control ? this.control : control\n    );\n\n    this.rating.next(value);\n  }\n\n  /**\n   * Send the clicked star to the review service to display the selected stars\n   *\n   * @public\n   * @param number value\n   */\n  public onStarToggleClick(\n    value: number,\n    toggleGroup: MatButtonToggleGroup\n  ): void {\n    const control: FormControl = this.ratingForm.get('rating') as FormControl;\n    this.reviewService.onStarToggleClick(\n      value,\n      this.control ? this.control : control,\n      toggleGroup\n    );\n\n    this.rating.next(value);\n  }\n}\n","<span *ngIf=\"mode === 'default'\">\r\n  <button\r\n    *ngFor=\"let star of ratingStars\"\r\n    (click)=\"onStarClick(star.value)\"\r\n    type=\"button\"\r\n    [disabled]=\"minDisabled && star.value == 1\"\r\n  >\r\n    <span *ngIf=\"customIcon.icon\">\r\n      <fa-icon [icon]=\"customIcon.icon\" *ngIf=\"!star.selected\"></fa-icon>\r\n      <fa-icon [icon]=\"customIcon.selectedIcon\" *ngIf=\"star.selected\"></fa-icon>\r\n    </span>\r\n    <span *ngIf=\"customIcon.text\">\r\n      <mat-icon *ngIf=\"!star.selected\">{{ customIcon.text }}</mat-icon>\r\n      <mat-icon *ngIf=\"star.selected\">{{ customIcon.selectedText }}</mat-icon>\r\n    </span>\r\n  </button>\r\n</span>\r\n\r\n<span *ngIf=\"mode === 'material'\">\r\n  <button\r\n    mat-icon-button\r\n    *ngFor=\"let star of ratingStars\"\r\n    [color]=\"star.selected ? theme : 'default'\"\r\n    (click)=\"onStarClick(star.value)\"\r\n    [disabled]=\"minDisabled && star.value == 1\"\r\n    type=\"button\"\r\n  >\r\n    <span *ngIf=\"customIcon.icon\">\r\n      <fa-icon [icon]=\"customIcon.icon\" *ngIf=\"!star.selected\"></fa-icon>\r\n      <fa-icon [icon]=\"customIcon.selectedIcon\" *ngIf=\"star.selected\"></fa-icon>\r\n    </span>\r\n    <span *ngIf=\"customIcon.text\">\r\n      <mat-icon *ngIf=\"!star.selected\">{{ customIcon.text }}</mat-icon>\r\n      <mat-icon *ngIf=\"star.selected\">{{ customIcon.selectedText }}</mat-icon>\r\n    </span>\r\n  </button>\r\n</span>\r\n\r\n<span *ngIf=\"mode === 'material-toggle'\">\r\n  <mat-button-toggle-group\r\n    multiple\r\n    #toggleGroup=\"matButtonToggleGroup\"\r\n    *ngIf=\"customIcon.icon\"\r\n  >\r\n    <mat-button-toggle\r\n      #starToggle\r\n      [checked]=\"star.selected\"\r\n      (click)=\"onStarToggleClick(star.value, toggleGroup)\"\r\n      [value]=\"star.value\"\r\n      *ngFor=\"let star of ratingStars\"\r\n      [disabled]=\"minDisabled && star.value == 1\"\r\n    >\r\n      <fa-icon [icon]=\"customIcon.icon\" *ngIf=\"!star.selected\"></fa-icon>\r\n      <fa-icon [icon]=\"customIcon.selectedIcon\" *ngIf=\"star.selected\"></fa-icon>\r\n    </mat-button-toggle>\r\n  </mat-button-toggle-group>\r\n  <mat-button-toggle-group\r\n    multiple\r\n    #toggleGroup=\"matButtonToggleGroup\"\r\n    *ngIf=\"customIcon.text\"\r\n  >\r\n    <mat-button-toggle\r\n      #starToggle\r\n      [checked]=\"star.selected\"\r\n      (click)=\"onStarToggleClick(star.value, toggleGroup)\"\r\n      [value]=\"star.value\"\r\n      *ngFor=\"let star of ratingStars\"\r\n      [disabled]=\"minDisabled && star.value == 1\"\r\n    >\r\n      <mat-icon\r\n        *ngIf=\"!star.selected\"\r\n        [color]=\"starToggle.checked ? theme : 'default'\"\r\n        >{{ customIcon.text }}</mat-icon\r\n      >\r\n      <mat-icon\r\n        *ngIf=\"star.selected\"\r\n        [color]=\"starToggle.checked ? theme : 'default'\"\r\n        >{{ customIcon.selectedText }}</mat-icon\r\n      >\r\n    </mat-button-toggle>\r\n  </mat-button-toggle-group>\r\n</span>\r\n","import { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgModule } from '@angular/core';\nimport { NgxStarReviewComponent } from './ngx-star-review.component';\n\n@NgModule({\n  declarations: [NgxStarReviewComponent],\n  imports: [\n    CommonModule,\n    MatButtonModule,\n    MatButtonToggleModule,\n    MatIconModule,\n    FontAwesomeModule,\n  ],\n  exports: [NgxStarReviewComponent],\n})\nexport class NgxStarReviewModule {}\n","/*\n * Public API Surface of ngx-star-review\n */\n\nexport * from './lib/ngx-star-review.service';\nexport * from './lib/ngx-star-review.component';\nexport * from './lib/ngx-star-review.module';\nexport * from './lib/ngx-star-review.interface';\nexport * from './lib/ngx-star-review.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.NgxStarReviewService"],"mappings":"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"}