{"version":3,"file":"angular-dashboard-calendar.mjs","sources":["../../../projects/calendar-library/src/lib/calendar-library.service.ts","../../../projects/calendar-library/src/lib/calendar-library.component.ts","../../../projects/calendar-library/src/lib/dashboard-calendar/dashboard-calendar.component.ts","../../../projects/calendar-library/src/lib/dashboard-calendar/dashboard-calendar.component.html","../../../projects/calendar-library/src/lib/calendar-library.module.ts","../../../projects/calendar-library/src/public-api.ts","../../../projects/calendar-library/src/angular-dashboard-calendar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class CalendarLibraryService {\r\n\r\n  constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'lib-calendar-library',\r\n  template: `\r\n    <p>\r\n      calendar-library works!\r\n    </p>\r\n  `,\r\n  styles: [\r\n  ]\r\n})\r\nexport class CalendarLibraryComponent {\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'angular-dashboard-calendar',\r\n  templateUrl: './dashboard-calendar.component.html',\r\n  styleUrls: ['./dashboard-calendar.component.css']\r\n})\r\nexport class DashboardCalendarComponent {\r\n  currentMonth: any;\r\n  currentDate: any;\r\n  calendarDays: HTMLElement | null = document.querySelector(\".calendar-days\");\r\n  today: Date = new Date();\r\n  date: Date = new Date();\r\n  days: any = []\r\n  constructor() {\r\n    this.currentMonth = this.date.toLocaleDateString(\"en-US\", { month: 'long', year: 'numeric' });\r\n    console.log(this.today.getDate());\r\nthis.currentDate = this.today.getDate();\r\n    this.today.setHours(0, 0, 0, 0);\r\n    this.renderCalendar();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n\r\n renderCalendar(): void {\r\n  const prevLastDay = new Date(this.date.getFullYear(), this.date.getMonth(), 0).getDate();\r\n  const totalMonthDay = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 0).getDate();\r\n  const startWeekDay = new Date(this.date.getFullYear(), this.date.getMonth(), 0).getDay();\r\nconsole.log(prevLastDay, totalMonthDay, startWeekDay);\r\n\r\n // if (!this.calendarDays) return;\r\n\r\n // this.calendarDays.innerHTML = \"\";\r\n\r\n  let totalCalendarDay = 6 * 7;\r\n // console.log(totalCalendarDay);\r\n\r\n  for (let i = 0; i < totalCalendarDay; i++) {\r\n    let day = i - startWeekDay;\r\n  //  console.log(day);\r\n\r\n    if (i <= startWeekDay) {\r\n\r\n\r\n      // adding previous month days\r\n      //this.calendarDays.innerHTML += `${prevLastDay - i}`;\r\n      console.log(prevLastDay - i);\r\n      this.days.push('')\r\n    } else if (i <= startWeekDay + totalMonthDay) {\r\n      // adding this month days\r\n      this.date.setDate(day);\r\n      this.date.setHours(0, 0, 0, 0);\r\n\r\n      let dayClass = this.date.getTime() === this.today.getTime() ? 'current-day' : 'month-day';\r\n    //  this.calendarDays.innerHTML += `${day}`;\r\n      console.log(day);\r\n\r\n      this.days.push(day);\r\n    } else {\r\n      // adding next month days\r\n    //  this.calendarDays.innerHTML += `${day - totalMonthDay}`;\r\n    }\r\n  }\r\n  }\r\n\r\nnextMonth(){\r\n  const monthMap: any = {\r\n    \"January\": 0,\r\n    \"February\": 1,\r\n    \"March\": 2,\r\n    \"April\": 3,\r\n    \"May\": 4,\r\n    \"June\": 5,\r\n    \"July\": 6,\r\n    \"August\": 7,\r\n    \"September\": 8,\r\n    \"October\": 9,\r\n    \"November\": 10,\r\n    \"December\": 11\r\n  };\r\n//  const currentDate = new Date();\r\n// const currentMonth = currentDate.getMonth();\r\n// console.log(currentMonth);\r\nconst currentDate = new Date();\r\n const currentShownMonth = document.querySelector(\".current-month\")?.textContent;\r\n\r\n if(currentShownMonth){\r\n const monthNamea: any = currentShownMonth.trim();\r\nconst parts = monthNamea.split(\" \");\r\n\r\n// The first part should be the month name\r\nconst monthName = parts[0];\r\n\r\n const monthNumber = monthMap[monthName];\r\n\r\n const nextMonth = (monthNumber === 11) ? 0 : monthNumber + 1;\r\n const nextMonthDate = new Date(currentDate.getFullYear(), nextMonth);\r\n const nextMonthName = nextMonthDate.toLocaleString('default', { month: 'long', year: 'numeric'});\r\n console.log(nextMonthName);\r\nthis.currentMonth = nextMonthName;\r\n }\r\n\r\n // Get the month number from the mapping object\r\n\r\n\r\n//  console.log(\"Month number:\", monthNumber);\r\n//  console.log(currentShownMonth);\r\n\r\n}\r\n}\r\n","\r\n    <div class=\"card\">\r\n      <div class=\"calendar-toolbar\">\r\n        <!-- <button class=\"prev month-btn\">\r\n          <i class=\"fas fa-chevron-left\"></i>\r\n        </button> -->\r\n        <div class=\"current-month\">{{currentMonth}}</div>\r\n        <button (click)=\"nextMonth()\" class=\"next month-btn\">\r\n          <img src=\"../../assets/right-arrow.png\">\r\n          <!-- <i class=\"fas fa-chevron-right\"></i> -->\r\n        </button>\r\n      </div>\r\n      <div class=\"calendar\">\r\n        <div class=\"weekdays\">\r\n          <div class=\"weekday-name\" style=\"color:red\">Su</div>\r\n          <div class=\"weekday-name\">Mo</div>\r\n          <div class=\"weekday-name\">Tu</div>\r\n          <div class=\"weekday-name\">We</div>\r\n          <div class=\"weekday-name\">Th</div>\r\n          <div class=\"weekday-name\">Fr</div>\r\n          <div class=\"weekday-name\">Sa</div>\r\n        </div>\r\n        <div class=\"weekdays\">\r\n          <div [ngClass]=\"{ 'current-day': day=== currentDate}\" *ngFor=\"let day of days\" class=\"day-list\">{{day}}</div>\r\n        </div>\r\n\r\n      </div>\r\n      <!-- <div class=\"goto-buttons\">\r\n        <button type=\"button\" class=\"btn prev-year\">Prev Year</button>\r\n        <button type=\"button\" class=\"btn today\">Today</button>\r\n        <button type=\"button\" class=\"btn next-year\">Next Year</button>\r\n      </div> -->\r\n    </div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CalendarLibraryComponent } from './calendar-library.component';\r\nimport { DashboardCalendarComponent } from './dashboard-calendar/dashboard-calendar.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    CalendarLibraryComponent,\r\n    DashboardCalendarComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    CalendarLibraryComponent, DashboardCalendarComponent\r\n  ]\r\n})\r\nexport class AgniCalendarModule { }\r\n","/*\r\n * Public API Surface of calendar-library\r\n */\r\n\r\nexport * from './lib/calendar-library.service';\r\nexport * from './lib/calendar-library.component';\r\nexport * from './lib/calendar-library.module';\r\nexport * from './lib/dashboard-calendar/dashboard-calendar.component'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}