{"version":3,"file":"xirenec-ngx-weekday-picker.mjs","sources":["../../../projects/ngx-weekday-picker/src/lib/ngx-weekday-picker.service.ts","../../../projects/ngx-weekday-picker/src/lib/ngx-weekday-picker.component.ts","../../../projects/ngx-weekday-picker/src/lib/ngx-weekday-picker.component.html","../../../projects/ngx-weekday-picker/src/lib/ngx-weekday-picker.module.ts","../../../projects/ngx-weekday-picker/src/public-api.ts","../../../projects/ngx-weekday-picker/src/xirenec-ngx-weekday-picker.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class NgxWeekdayPickerService {\r\n\r\n  constructor() { }\r\n}\r\n","import { WeekDay } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\n    selector: 'ngx-weekday-picker',\n    templateUrl: 'ngx-weekday-picker.component.html',\n    styleUrls: ['ngx-weekday-picker.component.scss'],\n    standalone: false\n})\r\nexport class NgxWeekdayPickerComponent implements OnInit {\r\n  @Input() weekStart = WeekDay.Monday;\r\n  @Input() daysNames = [\r\n    'MO',\r\n    'TU',\r\n    'WE',\r\n    'TH',\r\n    'FR',\r\n    'SA',\r\n    'SU',\r\n  ];\r\n  @Input() disabledList: WeekDay[] = [];\r\n  @Input() selected: WeekDay[] | WeekDay = [];\r\n\r\n  @Input() dayWidth = '40px';\r\n\r\n  @Input() fontSize = '14px';\r\n  @Input() borderRadius = '6px';\r\n  @Input() borderWidth = '1px';\r\n\r\n  @Input() activeColor = '#fff';\r\n  @Input() activeBgColor = '#2196f3';\r\n  @Input() activeBorderColor = '#008eff';\r\n\r\n  @Input() inactiveColor = '#000';\r\n  @Input() inactiveBgColor = '#fff';\r\n  @Input() inactiveBorderColor = '#ddd';\r\n\r\n  @Input() isMulti = true;\r\n  @Output() selectedChanged = new EventEmitter<any>();\r\n\r\n  days = [\r\n    { day: WeekDay.Monday, name: 'Monday', isSelected: false, isDisabled: false, },\r\n    { day: WeekDay.Tuesday, name: 'Tuesday', isSelected: false, isDisabled: false, },\r\n    { day: WeekDay.Wednesday, name: 'Wednesday', isSelected: false, isDisabled: false, },\r\n    { day: WeekDay.Thursday, name: 'Thursday', isSelected: false, isDisabled: false, },\r\n    { day: WeekDay.Friday, name: 'Friday', isSelected: false, isDisabled: false, },\r\n    { day: WeekDay.Saturday, name: 'Saturday', isSelected: false, isDisabled: false, },\r\n    { day: WeekDay.Sunday, name: 'Sunday', isSelected: false, isDisabled: false, },\r\n  ];\r\n  value: any = null;\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n    this.init();\r\n  }\r\n  init() {\r\n    // init daysNames\r\n    this.days.forEach((d, i) => {\r\n      d.name = this.daysNames[i];\r\n    });\r\n\r\n    // init weekStart\r\n    const index = this.days.map(x => x.day).indexOf(this.weekStart);\r\n    for (let i = 0; i < index; i++) {\r\n      this.days.push(this.days.shift() as any);\r\n      this.daysNames.push(this.daysNames.shift() as any);\r\n    }\r\n\r\n    // init disabled\r\n    this.days.filter(x => this.disabledList.includes(x.day)).forEach(x => x.isDisabled = true);\r\n\r\n    // init selected\r\n    if (Array.isArray(this.selected)) {\r\n      this.days.filter(x => (this.selected as WeekDay[]).includes(x.day)).forEach(x => x.isSelected = true);\r\n    } else {\r\n      this.days.filter(x => this.selected === x.day).forEach(x => x.isSelected = true);\r\n    }\r\n\r\n  }\r\n  dayClicked(d: any) {\r\n    if (d.isDisabled) {\r\n      return;\r\n    }\r\n    if (!d.isSelected && !this.isMulti) {\r\n      this.days.forEach(x => x.isSelected = false);\r\n    }\r\n    d.isSelected = !d.isSelected;\r\n    if (this.isMulti) {\r\n      this.value = this.days.filter(x => x.isSelected).map(x => x.day);\r\n    } else {\r\n      const t = this.days.find(x => x.isSelected);\r\n      this.value = t ? t.day : null;\r\n    }\r\n    console.log(this.value);\r\n    this.selectedChanged.emit(this.value)\r\n  }\r\n}\r\n","<div class=\"days-container\"\n     [ngStyle]=\"{\r\n      '--fontSize':fontSize,\r\n      '--dayWidth':dayWidth,\r\n      '--borderRadius':borderRadius,\r\n      '--borderWidth':borderWidth,\r\n\r\n      '--activeBorderColor':activeBorderColor,\r\n      '--inactiveBorderColor':inactiveBorderColor,\r\n      \r\n\r\n      '--activeColor':activeColor,\r\n      '--activeBgColor':activeBgColor,\r\n      '--inactiveColor':inactiveColor,\r\n      '--inactiveBgColor':inactiveBgColor\r\n    }\">\r\n  @for (d of days; track d) {\n    <button\n      (click)=\"dayClicked(d)\"\n    [ngClass]=\" {'active':d.isSelected,'disabled':d.isDisabled}\">{{d.name}}</button>\n  }\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { NgxWeekdayPickerComponent } from './ngx-weekday-picker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    NgxWeekdayPickerComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    NgxWeekdayPickerComponent\r\n  ]\r\n})\r\nexport class NgxWeekdayPickerModule { }\r\n","/*\r\n * Public API Surface of ngx-weekday-picker\r\n */\r\n\r\nexport * from './lib/ngx-weekday-picker.service';\r\nexport * from './lib/ngx-weekday-picker.component';\r\nexport * from './lib/ngx-weekday-picker.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}