flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
1 lines • 10.1 kB
Source Map (JSON)
{"version":3,"file":"helpers.cjs","sources":["../../../src/components/Datepicker/helpers.ts"],"sourcesContent":["export enum Views {\n Days = 0,\n Months = 1,\n Years = 2,\n Decades = 3,\n}\n\nexport enum WeekStart {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport function isDateInRange(date: Date, minDate?: Date, maxDate?: Date): boolean {\n const dateTime = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();\n\n if (minDate && maxDate) {\n const minDateTime = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()).getTime();\n const maxDateTime = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()).getTime();\n return dateTime >= minDateTime && dateTime <= maxDateTime;\n }\n\n if (minDate) {\n const minDateTime = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()).getTime();\n return dateTime >= minDateTime;\n }\n\n if (maxDate) {\n const maxDateTime = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()).getTime();\n return dateTime <= maxDateTime;\n }\n\n return true;\n}\n\nexport function isDateEqual(date: Date, selectedDate: Date): boolean {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n selectedDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate());\n\n return date.getTime() === selectedDate.getTime();\n}\n\nexport function isMonthEqual(date: Date, selectedDate: Date): boolean {\n return date.getMonth() === selectedDate.getMonth();\n}\n\nexport function getFirstDateInRange(date: Date, minDate?: Date, maxDate?: Date): Date {\n if (!isDateInRange(date, minDate, maxDate)) {\n if (minDate && date < minDate) {\n date = minDate;\n } else if (maxDate && date > maxDate) {\n date = maxDate;\n }\n }\n return date;\n}\n\nexport function getFirstDayOfTheMonth(date: Date, weekStart: WeekStart): Date {\n const firstDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1);\n const dayOfWeek = firstDayOfMonth.getDay();\n\n let diff = dayOfWeek - weekStart;\n if (diff < 0) {\n diff += 7;\n }\n\n return addDays(firstDayOfMonth, -diff);\n}\n\nexport function getWeekDays(lang: string, weekStart: WeekStart): string[] {\n const weekdays: string[] = [];\n const date = new Date(0);\n date.setDate(date.getDate() - date.getDay() + weekStart);\n\n const formatter = new Intl.DateTimeFormat(lang, { weekday: \"short\" });\n\n for (let i = 0; i < 7; i++) {\n weekdays.push(formatter.format(addDays(date, i)));\n }\n\n return weekdays;\n}\n\nexport function addDays(date: Date, amount: number): Date {\n const newDate = new Date(date);\n newDate.setDate(newDate.getDate() + amount);\n return newDate;\n}\n\nexport function addMonths(date: Date, amount: number): Date {\n const newDate = new Date(date);\n newDate.setMonth(newDate.getMonth() + amount);\n return newDate;\n}\n\nexport function addYears(date: Date, amount: number): Date {\n const newDate = new Date(date);\n newDate.setFullYear(newDate.getFullYear() + amount);\n return newDate;\n}\n\nexport function getFormattedDate(language: string, date: Date, options?: Intl.DateTimeFormatOptions): string {\n let defaultOptions: Intl.DateTimeFormatOptions = {\n day: \"numeric\",\n month: \"long\",\n year: \"numeric\",\n };\n\n if (options) {\n defaultOptions = options;\n }\n\n return new Intl.DateTimeFormat(language, defaultOptions).format(date);\n}\n\nexport function startOfYearPeriod(date: Date, years: number): number {\n const year = date.getFullYear();\n return Math.floor(year / years) * years;\n}\n\nexport function isDateInDecade(date: Date, startYear: number): boolean {\n const year = date.getFullYear();\n const endYear = startYear + 9;\n return year >= startYear && year <= endYear;\n}\n\nexport function isDateRangeInDecade(startDate: Date, endDate: Date, decadeStart: number, decadeEnd: number): boolean {\n const startYear = startDate.getFullYear();\n const endYear = endDate.getFullYear();\n\n if (decadeStart && decadeEnd) {\n // Check if the start and end years of the date range are within the decade\n const isStartYearInRange = isDateInRange(\n new Date(startYear, 0, 1),\n new Date(decadeStart, 0, 1),\n new Date(decadeEnd, 11, 31),\n );\n const isEndYearInRange = isDateInRange(\n new Date(endYear, 11, 31),\n new Date(decadeStart, 0, 1),\n new Date(decadeEnd, 11, 31),\n );\n\n return isStartYearInRange && isEndYearInRange;\n }\n\n // If decadeStart or decadeEnd is not provided, treat it as an open-ended range\n return true;\n}\n"],"names":[],"mappings":"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"}