{"version":3,"file":"xxmachina-components-organisms-calendar-section.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/organisms/calendar-section/calendar-section.organism.ts","../../../../../packages/@xxmachina/components/src/lib/organisms/calendar-section/xxmachina-components-organisms-calendar-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, SimpleChanges, inject, OnChanges } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { CalendarDate, Schedule } from '@xxmachina/common/domain/models';\nimport { DailyCellMolecule } from '@xxmachina/components/molecules/daily-cell';\nimport { CalendarPaginatorMolecule } from '@xxmachina/components/molecules/calendar-paginator';\nimport { WeeklyHeaderMolecule } from '@xxmachina/components/molecules/weekly-header';\nimport dayjs from 'dayjs';\n\n@Component({\n  standalone: true,\n  imports: [\n    CalendarPaginatorMolecule,\n    DailyCellMolecule,\n    WeeklyHeaderMolecule,\n    MatRippleModule\n],\n  selector: 'organisms-calendar-section',\n  template: `\n  <!-- <molecules-calendar-paginator\n  *ngIf=\"displayPaginator\"\n  [date]=\"date\"\n  (dateChange)=\"dateChange.emit($event)\"\n  /> -->\n  <div class=\"calendar header\">\n    <molecules-weekly-header/>\n  </div>\n  <div class=\"calendar contents\">\n    @for (week of calendar; track week) {\n      @for (date of week; track date) {\n        <molecules-daily-cell\n          [date]=\"date.date\"\n          [schedules]=\"schedules\"\n          [displayDate]=\"displayDays\"\n          [marked]=\"isToday(date) || isEndDay(date)\"\n          [markingColor]=\"isToday(date) ? '#6200EE' : isEndDay(date) ? '#B00020' : 'transparent'\"\n          noSchedulesText=\"予定なし\"\n          matRipple\n          (click)=\"onDateClick.emit(date)\"\n        ></molecules-daily-cell>\n      }\n    }\n  </div>\n  `,\n  styleUrls: ['./calendar-section.organism.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarSectionOrganism implements OnChanges {\n  private el = inject(ElementRef);\n  @Input() label = 'label';\n  @Input() displayDays = true;\n  @Input() readonly calendar!: CalendarDate[][];\n  @Input() schedules: Schedule[] = [];\n  @Input() date = dayjs()\n  @Input() today = dayjs();\n  @Input() displayPaginator = true;\n  @Input() displayDescription = true;\n  @Output() onDateClick = new EventEmitter();\n  @Output() dateChange = new EventEmitter();\n\n\n  isToday(date: CalendarDate): boolean {\n    return !!date.date.isSame(dayjs(), 'day');\n  }\n\n  isEndDay(date: CalendarDate): boolean {\n    return !!date.date.isSame(dayjs().add(10, 'days'), 'day');\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.calendar) {\n      this.el.nativeElement.style.setProperty('--row-num', this.calendar?.length || 0);\n    }\n  }\n\n  // getToolTipText(date: CalendarDate): string {\n  //   return date.schedules.map(s => {\n  //     return `${s.startAt.format('HH:mm')}~${s.endAt.format('HH:mm')}`\n  //   }).join(' ');\n  // }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}