{"version":3,"file":"tapsellorg-angular-material-library-src-lib-hour-range-picker.mjs","sources":["../../projects/pegah-library/src/lib/hour-range-picker/hour-range-picker.constants.ts","../../projects/pegah-library/src/lib/hour-range-picker/hour-range-picker.component.ts","../../projects/pegah-library/src/lib/hour-range-picker/hour-range-picker.component.html","../../projects/pegah-library/src/lib/hour-range-picker/hours-range-chips/hours-range-chips.component.ts","../../projects/pegah-library/src/lib/hour-range-picker/hours-range-chips/hours-range-chips.component.html","../../projects/pegah-library/src/lib/hour-range-picker/hour-range-picker-dialog/hour-range-picker-dialog.component.ts","../../projects/pegah-library/src/lib/hour-range-picker/hour-range-picker-dialog/hour-range-picker-dialog.component.html","../../projects/pegah-library/src/lib/hour-range-picker/hour-range-picker.module.ts","../../projects/pegah-library/src/lib/hour-range-picker/tapsellorg-angular-material-library-src-lib-hour-range-picker.ts"],"sourcesContent":["export const PGH_DEFAULT_START_HOURS = Array.from({ length: 24 }, (_, i) => i);\nexport const PGH_DEFAULT_END_HOURS = Array.from({ length: 24 }, (_, i) => i + 1);\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  input,\n  model,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PghHourRange } from './models';\nimport { ThemePalette } from '@angular/material/core';\nimport { PGH_DEFAULT_END_HOURS, PGH_DEFAULT_START_HOURS } from './hour-range-picker.constants';\n\n@Component({\n  selector: 'pgh-hour-range-picker',\n  templateUrl: './hour-range-picker.component.html',\n  styleUrls: ['./hour-range-picker.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: PghHourRangePickerComponent,\n      multi: true,\n    },\n  ],\n  standalone: false,\n})\nexport class PghHourRangePickerComponent implements ControlValueAccessor {\n  color = input<ThemePalette>('primary');\n  startHourOptions = input<number[]>(PGH_DEFAULT_START_HOURS);\n  endHourOptions = input<number[]>(PGH_DEFAULT_END_HOURS);\n  startTime = model<number | undefined>(undefined);\n  endTime = model<number | undefined>(undefined);\n\n  filteredEndHourOptions = computed(() =>\n    this.endHourOptions()?.filter(t => t > (this.startTime() ?? 0)),\n  );\n\n  private controlOnChange?: (newValue: any) => void;\n  constructor() {}\n\n  startTimeChange() {\n    const start = this.startTime() ?? 0;\n    const end = this.endTime();\n\n    if (start != null && end != null && end <= start) {\n      this.endTime.set(undefined);\n    }\n    this.updateHourRange();\n  }\n\n  endTimeChange() {\n    this.updateHourRange();\n  }\n\n  writeValue(value: Partial<PghHourRange>) {\n    if (!value?.startHour && !value?.endHour) return;\n\n    const { startHour, endHour } = value;\n    this.startTime.set(startHour);\n    this.endTime.set(endHour);\n  }\n  registerOnChange(fn: (newValue: any) => void) {\n    this.controlOnChange = fn;\n  }\n  registerOnTouched(_fn: any) {}\n\n  private updateHourRange() {\n    const start = this.startTime();\n    const end = this.endTime();\n\n    if (start == null || end == null) return;\n    this.controlOnChange?.({ startHour: this.startTime(), endHour: this.endTime() });\n  }\n}\n","<mat-form-field class=\"pgh-hour-range-picker-start\" [color]=\"color()\">\n  <mat-label>ساعت شروع</mat-label>\n  <mat-select [(ngModel)]=\"startTime\" (selectionChange)=\"startTimeChange()\">\n    <mat-select-trigger>\n      <ng-container *ngTemplateOutlet=\"timeTemplate; context: { hour: startTime() }\"></ng-container>\n    </mat-select-trigger>\n    @for (t of startHourOptions(); track t) {\n    <mat-option [value]=\"t\">\n      <ng-container *ngTemplateOutlet=\"timeTemplate; context: { hour: t }\"></ng-container>\n    </mat-option>\n    }\n  </mat-select>\n</mat-form-field>\n\n<mat-form-field [color]=\"color()\">\n  <mat-label>ساعت پایان</mat-label>\n  <mat-select [(ngModel)]=\"endTime\" (selectionChange)=\"endTimeChange()\">\n    <mat-select-trigger>\n      <ng-container *ngTemplateOutlet=\"timeTemplate; context: { hour: endTime() }\"></ng-container>\n    </mat-select-trigger>\n    @for (t of filteredEndHourOptions(); track t) {\n    <mat-option [value]=\"t\">\n      <ng-container *ngTemplateOutlet=\"timeTemplate; context: { hour: t }\"></ng-container>\n    </mat-option>\n    }\n  </mat-select>\n</mat-form-field>\n\n<ng-template #timeTemplate let-hour=\"hour\">\n  <span class=\"d-inline-block ltr\">{{ hour >= 10 ? hour : '0' + hour }} : 00</span>\n</ng-template>\n","import { Component, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, UntypedFormControl } from '@angular/forms';\nimport { PghHourRange } from '../models';\nimport { ThemePalette } from '@angular/material/core';\nimport { PghAnimations } from '@tapsellorg/angular-material-library/src/lib/animations';\nimport { PGH_DEFAULT_END_HOURS, PGH_DEFAULT_START_HOURS } from '../hour-range-picker.constants';\n\n@Component({\n  selector: 'pgh-hours-range-chips',\n  templateUrl: './hours-range-chips.component.html',\n  styleUrls: ['./hours-range-chips.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: PghHoursRangeChipsComponent,\n      multi: true,\n    },\n  ],\n  animations: [PghAnimations.fadeInOut],\n  standalone: false,\n})\nexport class PghHoursRangeChipsComponent implements ControlValueAccessor {\n  color = input<ThemePalette>('primary');\n  customHourConflictError = input<string>('این محدوده‌ی زمانی قبلا انتخاب شده'); // TODO: Maybe use snackbar instead\n  removable = input<boolean>(false);\n  selectedHours = signal<PghHourRange[]>([]);\n  startHourOptions = input<number[]>(PGH_DEFAULT_START_HOURS);\n  endHourOptions = input<number[]>(PGH_DEFAULT_END_HOURS);\n\n  newHourRange = new UntypedFormControl();\n  private onChange?: (newValue: PghHourRange[]) => void;\n  private onTouched?: () => void;\n  isShowingError = signal<boolean>(false);\n  constructor() {}\n\n  removeHourRange(hourRange: PghHourRange) {\n    this.setActiveHours(this.selectedHours().filter(h => h !== hourRange));\n  }\n\n  private setActiveHours(data: PghHourRange[]) {\n    this.selectedHours.set(data);\n    this.onChange?.(data);\n  }\n\n  writeValue(value: any) {\n    if (!Array.isArray(value) || value.some(o => !this.isHourRange(o))) return;\n\n    this.selectedHours.set(value);\n  }\n\n  isHourRange(obj: any): obj is PghHourRange {\n    return (obj as PghHourRange).startHour != null && (obj as PghHourRange).endHour != null;\n  }\n  registerOnChange(fn: (newValue: any) => void) {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: () => void) {\n    this.onTouched = fn;\n  }\n\n  private hasConflictWithOtherRanges({ startHour, endHour }: PghHourRange) {\n    const betweenRange = (x: number, { startHour: min, endHour: max }: PghHourRange) =>\n      x > min && x < max;\n\n    return this.selectedHours().some(\n      hour =>\n        betweenRange(startHour, hour) ||\n        betweenRange(endHour, hour) ||\n        startHour === hour.startHour ||\n        endHour === hour.endHour,\n    );\n  }\n\n  submitAddHourRange() {\n    this.onTouched?.();\n    const startHour = this.newHourRange.value?.startHour;\n    const endHour = this.newHourRange.value?.endHour;\n\n    if (startHour == null || endHour == null || endHour <= startHour) return;\n    if (this.hasConflictWithOtherRanges(this.newHourRange.value)) {\n      this.showError();\n      return;\n    }\n\n    this.setActiveHours([...this.selectedHours(), this.newHourRange.value]);\n  }\n\n  showError() {\n    this.isShowingError.set(true);\n    setTimeout(() => {\n      this.isShowingError.set(false);\n    }, 3000);\n  }\n}\n","<div class=\"pgh-add-hour-range-chips-container\">\n  <mat-chip-listbox class=\"d-flex align-items-center\">\n    @for (chip of selectedHours(); track chip) {\n    <mat-chip-option [removable]=\"removable()\" (removed)=\"removeHourRange(chip)\">\n      <span class=\"me-1\">{{ chip.startHour }}</span>\n      <span class=\"me-1\">تا</span>\n      <span>{{ chip.endHour }}</span>\n      @if (removable()) {\n      <button matChipRemove>\n        <mat-icon svgIcon=\"close\"></mat-icon>\n      </button>\n      }\n    </mat-chip-option>\n    }\n  </mat-chip-listbox>\n\n  <button\n    mat-button\n    [color]=\"color()\"\n    class=\"pgh-add-hour-range-btn\"\n    cdkOverlayOrigin\n    #chipOverlayOrigin=\"cdkOverlayOrigin\"\n    (click)=\"overlay.open()\"\n  >\n    افزودن ساعت\n  </button>\n</div>\n\n<pgh-overlay [origin]=\"chipOverlayOrigin\" #overlay>\n  <pgh-hour-range-picker\n    [formControl]=\"newHourRange\"\n    [color]=\"color()\"\n    [startHourOptions]=\"startHourOptions()\"\n    [endHourOptions]=\"endHourOptions()\"\n  ></pgh-hour-range-picker>\n\n  <div class=\"d-flex\">\n    @if (isShowingError()) {\n    <div @fadeInOut class=\"text-danger\">{{ customHourConflictError() }}</div>\n    }\n    <button\n      mat-flat-button\n      color=\"primary\"\n      (click)=\"submitAddHourRange()\"\n      type=\"button\"\n      class=\"ms-auto\"\n    >\n      انتخاب ساعت\n    </button>\n  </div>\n</pgh-overlay>\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { UntypedFormControl } from '@angular/forms';\nimport { PghHoursRangeDialogRes } from '../models';\n\n@Component({\n  selector: 'pgh-hour-range-picker-dialog',\n  templateUrl: './hour-range-picker-dialog.component.html',\n  styleUrls: ['./hour-range-picker-dialog.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class PghHourRangePickerDialogComponent implements OnInit {\n  hourRange = new UntypedFormControl();\n  constructor(\n    private matDialogRef: MatDialogRef<PghHourRangePickerDialogComponent, PghHoursRangeDialogRes>,\n  ) {}\n\n  ngOnInit(): void {}\n\n  submit() {\n    this.matDialogRef.close(this.hourRange.value);\n  }\n}\n","<h1 matDialogTitle class=\"d-flex align-items-center\">\n  <span>انتخاب بازه‌ی زمانی</span>\n</h1>\n\n<mat-dialog-content>\n  <pgh-hour-range-picker [formControl]=\"hourRange\"></pgh-hour-range-picker>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n  <button mat-raised-button color=\"primary\" (click)=\"submit()\" type=\"button\">انتخاب ساعت</button>\n</mat-dialog-actions>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { PghHourRangePickerComponent } from './hour-range-picker.component';\nimport { PghHoursRangeChipsComponent } from './hours-range-chips/hours-range-chips.component';\nimport { PghHourRangePickerDialogComponent } from './hour-range-picker-dialog/hour-range-picker-dialog.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { MatIconModule } from '@angular/material/icon';\nimport { PghOverlayModule } from '@tapsellorg/angular-material-library/src/lib/overlay';\n\n@NgModule({\n  declarations: [\n    PghHourRangePickerComponent,\n    PghHourRangePickerDialogComponent,\n    PghHoursRangeChipsComponent,\n  ],\n  imports: [\n    CommonModule,\n    MatFormFieldModule,\n    MatSelectModule,\n    FormsModule,\n    MatDialogModule,\n    MatButtonModule,\n    ReactiveFormsModule,\n    MatChipsModule,\n    OverlayModule,\n    PghOverlayModule,\n    MatIconModule,\n  ],\n  exports: [\n    PghHourRangePickerComponent,\n    PghHourRangePickerDialogComponent,\n    PghHoursRangeChipsComponent,\n  ],\n})\nexport class PghHourRangePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i7.PghHourRangePickerComponent","i4.PghHourRangePickerComponent"],"mappings":"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"}