UNPKG

@zenithui/day-picker

Version:

A ZenithUi Time Picker is React component enables users to select a date or date range from calendar.

55 lines (54 loc) 2.37 kB
import * as __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__ from "date-fns"; function getInitialDate(selected) { return selected instanceof Date ? selected : Array.isArray(selected) ? selected[0] : selected.from; } function getInitialRange(selected) { return selected instanceof Date ? { from: new Date(), to: new Date() } : Array.isArray(selected) ? { from: selected[0], to: selected[1] } : selected; } function isBetweenRange(day, range, focus) { if (!range.from || !focus) return false; if ((0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isAfter)(focus, range.from)) return (0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isWithinInterval)(day, { start: range.from, end: focus }); if ((0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isBefore)(focus, range.from)) return (0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isWithinInterval)(day, { start: focus, end: range.from }); return false; } function parseDate(date) { return "string" == typeof date ? new Date(date) : date; } function getDisabled(current, disable) { if (!disable) return false; if (disable.before && (0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isBefore)(current, parseDate(disable.before))) return true; if (disable.after && (0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isAfter)(current, parseDate(disable.after))) return true; if (disable.date && (0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isSameDay)(current, parseDate(disable.date))) return true; if (disable.dates && disable.dates.some((date)=>(0, __WEBPACK_EXTERNAL_MODULE_date_fns_925206bc__.isSameDay)(current, parseDate(date)))) return true; if (disable.days) { const currentDay = current.getDay(); const dayNames = [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ]; if (disable.days.some((day)=>{ if ("number" == typeof day) return currentDay === day; return dayNames.indexOf(day.toLowerCase()) === currentDay; })) return true; } if (disable.modifier && disable.modifier(current)) return true; return false; } export { getDisabled, getInitialDate, getInitialRange, isBetweenRange, parseDate };