react-modular-datepicker 0.0.2-canary.20 → 0.0.2-canary.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.d.ts +113 -23
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/useDates.d.ts +1 -0
- package/dist/cjs/utils.d.ts +1 -0
- package/dist/cjs/utils.js +1 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/es/index.d.mts +113 -23
- package/dist/es/index.mjs +1 -1
- package/dist/es/useDates.d.mts +1 -0
- package/dist/es/utils.d.mts +1 -0
- package/dist/es/utils.mjs +1 -1
- package/dist/es/utils.mjs.map +1 -1
- package/dist/index.css +710 -31
- package/package.json +1 -1
package/dist/es/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useDates as e}from"./useDates.mjs";export{Dates,useDates}from"./useDates.mjs";export*from"./utils.mjs";import t,{useState as a,useRef as r,useEffect as n}from"react";import l from"dayjs";import o from"dayjs/plugin/isBetween";import d from"dayjs/plugin/customParseFormat";import s from"dayjs/plugin/localeData";let i=({dateObj:e,getDateProps:a,classNames:r})=>{if(!e)return t.createElement("div",{className:"aspect-square"});let{date:n,selected:l,selectable:o,today:d,prevMonth:s,nextMonth:i,isRangeStart:m,isRangeEnd:u,isRangeBetween:c,isRangeHovering:g}=e,f=s||i,p=["aspect-square flex items-center justify-center text-sm font-medium transition-all relative cursor-pointer",m&&u?"bg-brand-gold text-white rounded-full":m?"bg-brand-gold text-white rounded-l-full rounded-r-none":u?"bg-brand-gold text-white rounded-r-full rounded-l-none":c||g?"bg-brand-gray-light text-brand-text rounded-none":l?"bg-brand-gold text-white rounded-full":d?"text-brand-gold border border-brand-gold rounded-full":o?f?"text-gray-400 rounded-full":"hover:bg-brand-gray-light text-brand-text rounded-full":"text-gray-300 cursor-not-allowed",null==r?void 0:r.day,d&&(null==r?void 0:r.today),l&&(null==r?void 0:r.selected),!o&&(null==r?void 0:r.disabled),f&&(null==r?void 0:r.outside),m&&(null==r?void 0:r.rangeStart),u&&(null==r?void 0:r.rangeEnd),c&&(null==r?void 0:r.rangeBetween),g&&(null==r?void 0:r.rangeHovering),...(e.modifiers||[]).map(e=>(null==r?void 0:r[e])||e)].filter(Boolean).join(" ");return t.createElement("button",{...a({dateObj:e}),className:p},n.getDate())};l.extend(o),l.extend(d),l.extend(s);class m{date(e){return l(e)}add(e,t,a){return e.add(t,a)}subtract(e,t,a){return e.subtract(t,a)}startOf(e,t){return e.startOf(t)}endOf(e,t){return e.endOf(t)}isBefore(e,t,a){return e.isBefore(t,a)}isAfter(e,t,a){return e.isAfter(t,a)}isSame(e,t,a){return e.isSame(t,a)}set(e,t,a){return"day"===t?e.date(a):e.set(t,a)}get(e,t){return"day"===t?e.date():e.get(t)}format(e,t,a){return a?e.locale(a).format(t):e.format(t)}getDaysInMonth(e){return e.daysInMonth()}toDate(e){return e.toDate()}diff(e,t,a){return e.diff(t,a)}getMonths(e){return e?l().locale(e).localeData().months():l.localeData().months()}getWeekdays(e){return e?l().locale(e).localeData().weekdaysShort().map(e=>e.toUpperCase()):l.localeData().weekdaysShort().map(e=>e.toUpperCase())}}let u=new m;function c(e=u,t){return{months:e.getMonths(t),weekdays:e.getWeekdays(t),back:"Previous month",forward:"Next month"}}function g(e=u,t,a){return{...c(e,t),...a}}let f=l=>{let{classNames:o,locale:d,translations:s,adapter:m=u,firstDayOfWeek:c=0,...f}=l,[b,h]=a("days"),v=r(null),w=g(m,d,s),x=w.weekdays,D=w.months,{calendars:E,getBackProps:N,getForwardProps:k,getDateProps:j,setOffset:C}=e({...f,adapter:m,firstDayOfWeek:c}),M=[...x.slice(c),...x.slice(0,c)],{month:$,year:B}=E[0];switch(n(()=>{if("years"===b&&v.current){let e=v.current.querySelector('[data-selected="true"]');e&&e.scrollIntoView({block:"center"})}},[b]),b){case"months":return t.createElement("div",{className:"w-fit p-4 bg-white rounded-lg shadow-lg min-w-[280px]"},t.createElement("div",{className:"flex items-center justify-between mb-4"},t.createElement("button",{onMouseDown:e=>e.preventDefault(),onClick:()=>h("days"),className:"p-2 hover:bg-gray-100 rounded-full"},t.createElement(p,null)),t.createElement("div",{className:"font-semibold"},B),t.createElement("div",{className:"w-9"})),t.createElement("div",{className:"grid grid-cols-3 gap-2"},D.map((e,a)=>t.createElement("button",{key:e,onMouseDown:e=>e.preventDefault(),onClick:()=>{let e,t,r;return e=m.set(m.set(m.date(l.date||new Date),"year",B),"month",$),t=m.set(e,"month",a),r=m.startOf(m.date(l.date||new Date),"month"),void(C(m.diff(t,r,"month")),h("days"))},className:`py-4 rounded-lg hover:bg-brand-gray-light transition-colors ${a===$?"bg-brand-gold text-white":"text-brand-text"}`},e))));case"years":let S=l.minDate?m.get(m.date(l.minDate),"year"):B-50,O=l.maxDate?m.get(m.date(l.maxDate),"year"):B+50,A=[];for(let e=S;e<=O;e++)A.push(e);return t.createElement("div",{className:"w-fit p-4 bg-white rounded-lg shadow-lg min-w-[280px]"},t.createElement("div",{className:"flex items-center justify-between mb-4"},t.createElement("button",{onMouseDown:e=>e.preventDefault(),onClick:()=>h("days"),className:"p-2 hover:bg-gray-100 rounded-full"},t.createElement(p,null)),t.createElement("div",{className:"font-semibold"},"Select Year"),t.createElement("div",{className:"w-9"})),t.createElement("div",{ref:v,className:"grid grid-cols-3 gap-2 max-h-[300px] overflow-y-auto pr-2"},A.map(e=>t.createElement("button",{key:e,"data-selected":e===B,onMouseDown:e=>e.preventDefault(),onClick:()=>{let t,a,r;return t=m.set(m.set(m.date(l.date||new Date),"year",B),"month",$),a=m.set(t,"year",e),r=m.startOf(m.date(l.date||new Date),"month"),void(C(m.diff(a,r,"month")),h("days"))},className:`py-3 rounded-lg hover:bg-brand-gray-light transition-colors ${e===B?"bg-brand-gold text-white":"text-brand-text"}`},e))));default:return t.createElement("div",{className:`w-fit flex flex-col md:flex-row gap-4 p-4 bg-white rounded-lg shadow-lg ${(null==o?void 0:o.root)||""}`},E.map((e,a)=>t.createElement("div",{key:`${e.month}-${e.year}`,className:"flex-1 min-w-[280px]"},t.createElement("div",{className:"flex items-center justify-between mb-6"},0===a?t.createElement("button",{...N({calendars:E}),onMouseDown:e=>e.preventDefault(),className:`p-2 hover:bg-gray-100 rounded-full transition-colors ${(null==o?void 0:o.navButton)||""}`,"aria-label":w.back},t.createElement(p,null)):t.createElement("div",{className:"w-9"}),t.createElement("div",{className:`flex gap-1 items-center font-semibold text-brand-text ${(null==o?void 0:o.monthName)||""}`},t.createElement("button",{onMouseDown:e=>e.preventDefault(),onClick:()=>h("months"),className:"hover:bg-gray-100 px-2 py-1 rounded"},D[e.month]),t.createElement("button",{onMouseDown:e=>e.preventDefault(),onClick:()=>h("years"),className:"hover:bg-gray-100 px-2 py-1 rounded"},e.year)),a===E.length-1?t.createElement("button",{...k({calendars:E}),onMouseDown:e=>e.preventDefault(),className:`p-2 hover:bg-gray-100 rounded-full transition-colors ${(null==o?void 0:o.navButton)||""}`,"aria-label":w.forward},t.createElement(y,null)):t.createElement("div",{className:"w-9"})),t.createElement("div",{className:"grid grid-cols-7 gap-1 mb-2"},M.map(e=>t.createElement("div",{key:e,className:`text-center text-xs font-bold text-gray-400 py-2 ${(null==o?void 0:o.weekday)||""}`},e))),t.createElement("div",{className:`grid grid-cols-7 gap-1 ${(null==o?void 0:o.grid)||""}`},e.weeks.map((e,a)=>e.map((e,r)=>t.createElement(i,{key:`${a}-${r}`,dateObj:e,getDateProps:j,classNames:null==o?void 0:o.day})))))))}},p=()=>t.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t.createElement("polyline",{points:"15 18 9 12 15 6"})),y=()=>t.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t.createElement("polyline",{points:"9 18 15 12 9 6"}));!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}("@theme{--color-brand-gold:#c5a059;--color-brand-gray-light:#f1f3f5;--color-brand-gray-dark:#6c757d;--color-brand-text:#343a40}@layer base{button{@apply cursor-pointer;}}");export{f as Calendar,i as Day,m as DayjsAdapter,u as defaultAdapter,c as getDefaults,g as getTranslations};
|
|
1
|
+
import{useDates as e}from"./useDates.mjs";export{Dates,useDates}from"./useDates.mjs";export*from"./utils.mjs";import t,{useRef as a,useEffect as r,useState as n}from"react";import o from"dayjs";import l from"dayjs/plugin/isBetween";import s from"dayjs/plugin/customParseFormat";import d from"dayjs/plugin/localeData";let i=({dateObj:e,getDateProps:a,classNames:r,tooltip:n})=>{if(!e)return t.createElement("div",{className:"aspect-square bg-white"});let{date:o,selected:l,selectable:s,today:d,prevMonth:i,nextMonth:m,isRangeStart:c,isRangeEnd:u,isRangeBetween:y,isRangeHovering:g,isRangeActive:h}=e,p=r.day,f="rounded-full";f=c&&u?`${p.selected} rounded-full`:c?`${p.rangeStart} ${h?"rounded-l-full rounded-r-none":"rounded-full"}`:u?`${p.rangeEnd} ${h?"rounded-r-full rounded-l-none":"rounded-full"}`:y?p.rangeBetween||"":g?p.rangeHovering||"":l?p.selected||"":d?p.today||"":s?i||m?p.outside||"":p.unselected||"":p.disabled||"";let b=[p.day,f,...(e.modifiers||[]).map(e=>p[e]||e)].filter(Boolean).join(" ");return t.createElement("button",{...a({dateObj:e}),className:b},o.getDate(),n&&t.createElement("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 hidden group-hover:block z-10"},t.createElement("div",{className:"bg-gray-800 text-white text-xs py-1 px-2 rounded whitespace-nowrap shadow-lg"},n,t.createElement("div",{className:"absolute top-full left-1/2 -translate-x-1/2 border-8 border-transparent border-t-gray-800"}))))};o.extend(l),o.extend(s),o.extend(d);class m{date(e){return o(e)}add(e,t,a){return e.add(t,a)}subtract(e,t,a){return e.subtract(t,a)}startOf(e,t){return e.startOf(t)}endOf(e,t){return e.endOf(t)}isBefore(e,t,a){return e.isBefore(t,a)}isAfter(e,t,a){return e.isAfter(t,a)}isSame(e,t,a){return e.isSame(t,a)}set(e,t,a){return"day"===t?e.date(a):e.set(t,a)}get(e,t){return"day"===t?e.date():e.get(t)}format(e,t,a){return a?e.locale(a).format(t):e.format(t)}getDaysInMonth(e){return e.daysInMonth()}toDate(e){return e.toDate()}diff(e,t,a){return e.diff(t,a)}getMonths(e){return e?o().locale(e).localeData().months():o.localeData().months()}getWeekdays(e){return e?o().locale(e).localeData().weekdaysShort().map(e=>e.toUpperCase()):o.localeData().weekdaysShort().map(e=>e.toUpperCase())}}let c=new m;function u(e=c,t){return{months:e.getMonths(t),weekdays:e.getWeekdays(t),back:"Previous month",forward:"Next month"}}function y(e=c,t,a){return{...u(e,t),...a}}let g=()=>t.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t.createElement("polyline",{points:"15 18 9 12 15 6"})),h=()=>t.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},t.createElement("polyline",{points:"9 18 15 12 9 6"})),p=({calendars:e,getBackProps:a,getForwardProps:r,setView:n,monthNames:o,t:l,classNames:s,slideDirection:d,currentView:i})=>{let m,c;return t.createElement("div",{className:s.header},t.createElement("button",{...a({calendars:e}),onMouseDown:e=>e.preventDefault(),className:`${s.navButton} ${i&&"days"!==i?"invisible pointer-events-none":""}`,"aria-label":l.back},t.createElement(g,null)),t.createElement("div",{className:s.monthYearContainer},1===e.length?t.createElement("div",{key:`${e[0].month}-${e[0].year}`,className:`${s.monthYearLabel} ${"left"===d?"animate-slide-in-left":"right"===d?"animate-slide-in-right":""}`},t.createElement("button",{onMouseDown:e=>e.preventDefault(),onClick:()=>n("months"===i?"days":"months"),className:s.monthYearButton},o[e[0].month]),t.createElement("button",{onMouseDown:e=>e.preventDefault(),onClick:()=>n("years"===i?"days":"years"),className:s.monthYearButton},e[0].year)):t.createElement("div",{className:`${s.monthYearLabel} ${"left"===d?"animate-slide-in-left":"right"===d?"animate-slide-in-right":""}`},(m=e[0],c=e[e.length-1],12===e.length&&0===m.month&&11===c.month&&m.year===c.year?t.createElement("span",null,m.year):m.year===c.year?t.createElement("span",null,o[m.month]," - ",o[c.month]," ",m.year):t.createElement("span",null,o[m.month]," ",m.year," - ",o[c.month]," ",c.year)))),t.createElement("button",{...r({calendars:e}),onMouseDown:e=>e.preventDefault(),className:`${s.navButton} ${i&&"days"!==i?"invisible pointer-events-none":""}`,"aria-label":l.forward},t.createElement(h,null)))},f={root:"w-fit flex flex-col p-4 bg-white rounded-lg shadow-lg",header:"flex items-center justify-between border-b-2 border-brand-gray-light/40",calendarsContainer:"flex flex-col md:flex-row gap-4",calendarContainer:"flex-1 min-w-[280px] min-h-[260px]",weekdayGrid:"grid grid-cols-7 gap-1 mb-1 border-b border-brand-gray-light/40",weekday:"text-center text-xs text-gray-400 py-2",daysGrid:"grid grid-cols-7 gap-px bg-brand-gray-light/20",footer:"mt-4",navButton:"p-2 hover:bg-gray-100 rounded-full transition-colors cursor-pointer disabled:opacity-30 disabled:pointer-events-none",monthYearContainer:"flex gap-8",monthYearLabel:"flex gap-1 items-center font-semibold text-brand-text",monthYearButton:"hover:bg-gray-100 px-2 py-1 rounded cursor-pointer",day:{day:"aspect-square flex items-center justify-center text-sm font-medium transition-all relative group cursor-pointer bg-white p-px",today:"text-brand-gold border border-brand-gold",selected:"bg-brand-gold text-white rounded-full",unselected:"hover:bg-brand-gray-light text-brand-text",disabled:"text-gray-300 cursor-not-allowed",outside:"text-gray-400",rangeStart:"bg-brand-gold text-white",rangeEnd:"bg-brand-gold text-white",rangeBetween:"bg-brand-gray-light text-brand-text",rangeHovering:"bg-brand-gray-light text-brand-text"},monthsRoot:"w-fit p-4 bg-white rounded-lg shadow-lg min-w-[280px]",monthsHeader:"flex items-center justify-between mb-4",monthsBackButton:"p-2 hover:bg-gray-100 rounded-full cursor-pointer",monthsYearLabel:"font-semibold",monthsGrid:"grid grid-cols-3 gap-2 animate-slide-in-top",monthButton:"py-4 rounded-lg hover:bg-brand-gray-light transition-colors cursor-pointer disabled:opacity-30 disabled:pointer-events-none",monthButtonSelected:"bg-brand-gold text-white",monthButtonUnselected:"text-brand-text",yearsRoot:"w-fit p-4 bg-white rounded-lg shadow-lg min-w-[280px]",yearsHeader:"flex items-center justify-between mb-4",yearsBackButton:"p-2 hover:bg-gray-100 rounded-full cursor-pointer",yearsTitle:"font-semibold",yearsGrid:"grid grid-cols-3 gap-2 max-h-[300px] overflow-y-auto pr-2 animate-slide-in-top",yearButton:"py-3 rounded-lg hover:bg-brand-gray-light transition-colors cursor-pointer disabled:opacity-30 disabled:pointer-events-none",yearButtonSelected:"bg-brand-gold text-white",yearButtonUnselected:"text-brand-text"},b=e=>{let t={...f};if(!e)return t;for(let a in e)"day"===a&&e.day?t.day={...f.day,...e.day}:e[a]&&(t[a]=e[a]);return t},x=({year:e,month:a,monthNames:r,minDate:n,maxDate:o,onMonthSelect:l,classNames:s})=>t.createElement("div",{className:s.monthsGrid},r.map((r,d)=>{let i=!!(n&&e===n.getFullYear()&&d<n.getMonth()||o&&e===o.getFullYear()&&d>o.getMonth());return t.createElement("button",{key:r,onMouseDown:e=>e.preventDefault(),onClick:()=>!i&&l(d),className:`${s.monthButton} ${d===a?s.monthButtonSelected:s.monthButtonUnselected}`,disabled:i},r)})),w=({year:e,minDate:n,maxDate:o,adapter:l,onYearSelect:s,classNames:d})=>{let i=a(null);r(()=>{if(i.current){let e=i.current.querySelector('[data-selected="true"]');e&&e.scrollIntoView({block:"center"})}},[]);let m=n?l.get(l.date(n),"year"):e-50,c=o?l.get(l.date(o),"year"):e+50,u=[];for(let e=m;e<=c;e++)u.push(e);return t.createElement("div",{ref:i,className:d.yearsGrid},u.map(a=>t.createElement("button",{key:a,"data-selected":a===e,onMouseDown:e=>e.preventDefault(),onClick:()=>s(a),className:`${d.yearButton} ${a===e?d.yearButtonSelected:d.yearButtonUnselected}`},a)))},v=a=>{let{classNames:r,locale:o,translations:l,adapter:s=c,firstDayOfWeek:d=0,header:m,footer:u,renderDayTooltip:g,...h}=a,f=b(r),[v,k]=n("days"),[E,D]=n(null),N=y(s,o,l),B=N.weekdays,C=N.months,{calendars:$,getBackProps:S,getForwardProps:j,getDateProps:Y,setOffset:M}=e({...h,adapter:s,firstDayOfWeek:d}),I=[...B.slice(d),...B.slice(0,d)],{month:L,year:G}=$[0],F=e=>{let t=s.set(s.set(s.date(a.date||new Date),"year",G),"month",L),r=s.set(t,"month",e),n=s.startOf(s.date(a.date||new Date),"month"),o=s.diff(r,n,"month");D(null),M(o),k("days")},O=e=>{let t=s.set(s.set(s.date(a.date||new Date),"year",G),"month",L),r=s.set(t,"year",e),n=s.startOf(s.date(a.date||new Date),"month"),o=s.diff(r,n,"month");D(null),M(o),k("days")},P=e=>{let t=S(e);return{...t,onClick:e=>{D("left"),null==t.onClick||t.onClick.call(t,e)}}},T=e=>{let t=j(e);return{...t,onClick:e=>{D("right"),null==t.onClick||t.onClick.call(t,e)}}};return t.createElement("div",{className:f.root},"function"==typeof m?m({calendars:$,getBackProps:P,getForwardProps:T,setView:k,monthNames:C,t:N,slideDirection:E,currentView:v}):m||t.createElement(p,{calendars:$,getBackProps:P,getForwardProps:T,setView:k,monthNames:C,t:N,classNames:f,slideDirection:E,currentView:v}),t.createElement("div",{className:f.calendarsContainer},"months"===v&&$.map(e=>t.createElement("div",{key:`months-${e.year}`,className:f.calendarContainer},t.createElement(x,{year:e.year,month:e.month,monthNames:C,minDate:a.minDate,maxDate:a.maxDate,onMonthSelect:F,classNames:f}))),"years"===v&&$.map(e=>t.createElement("div",{key:`years-${e.year}`,className:f.calendarContainer},t.createElement(w,{year:e.year,minDate:a.minDate,maxDate:a.maxDate,adapter:s,onYearSelect:O,classNames:f}))),"days"===v&&$.map(e=>t.createElement("div",{key:`${e.month}-${e.year}`,className:f.calendarContainer},$.length>1&&t.createElement("div",{className:"text-center font-semibold mb-2 text-brand-text"},C[e.month]," ",$[0].year!==$[$.length-1].year?e.year:""),t.createElement("div",{className:f.weekdayGrid},I.map(e=>t.createElement("div",{key:e,className:f.weekday},e))),t.createElement("div",{className:`${f.daysGrid} ${"left"===E?"animate-slide-in-left":"right"===E?"animate-slide-in-right":""}`},e.weeks.map((e,a)=>e.map((e,r)=>t.createElement(i,{key:`${a}-${r}`,dateObj:e,getDateProps:Y,classNames:f,tooltip:e&&(null==g?void 0:g(e))}))))))),u&&t.createElement("div",{className:f.footer},u))};!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}("@theme{--color-brand-gold:#c5a059;--color-brand-gray-light:#b5bec6;--color-brand-gray-dark:#4a5660;--color-brand-text:#343a40}@keyframes slideInFromTop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-top{animation:slideInFromTop .2s ease-out forwards}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:slideInRight .2s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .2s ease-out forwards}");export{v as Calendar,p as CalendarHeader,g as ChevronLeftIcon,h as ChevronRightIcon,i as Day,m as DayjsAdapter,x as MonthSelection,w as YearSelection,c as defaultAdapter,f as defaultClassNames,u as getDefaults,y as getTranslations,b as mergeClassNames};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/es/useDates.d.mts
CHANGED
package/dist/es/utils.d.mts
CHANGED
package/dist/es/utils.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"dayjs";import t from"dayjs/plugin/isBetween";import a from"dayjs/plugin/customParseFormat";import r from"dayjs/plugin/localeData";e.extend(t),e.extend(a),e.extend(r);let n=new class{date(t){return e(t)}add(e,t,a){return e.add(t,a)}subtract(e,t,a){return e.subtract(t,a)}startOf(e,t){return e.startOf(t)}endOf(e,t){return e.endOf(t)}isBefore(e,t,a){return e.isBefore(t,a)}isAfter(e,t,a){return e.isAfter(t,a)}isSame(e,t,a){return e.isSame(t,a)}set(e,t,a){return"day"===t?e.date(a):e.set(t,a)}get(e,t){return"day"===t?e.date():e.get(t)}format(e,t,a){return a?e.locale(a).format(t):e.format(t)}getDaysInMonth(e){return e.daysInMonth()}toDate(e){return e.toDate()}diff(e,t,a){return e.diff(t,a)}getMonths(t){return t?e().locale(t).localeData().months():e.localeData().months()}getWeekdays(t){return t?e().locale(t).localeData().weekdaysShort().map(e=>e.toUpperCase()):e.localeData().weekdaysShort().map(e=>e.toUpperCase())}};function d(...e){return(t,...a)=>e.some(e=>(e&&e(t,...a),t.defaultPrevented))}function s(e){return(e=Array.isArray(e)?e[0]:e)||o}function o(){}function i({calendars:e,offset:t,minDate:a,adapter:r=n}){if(t>1&&a){let{firstDayOfMonth:n}=e[0],d=r.diff(r.date(n),r.date(a),"month");d<t&&(t=d)}return t}function f({calendars:e,offset:t,maxDate:a,adapter:r=n}){if(t>1&&a){let{lastDayOfMonth:n}=e[e.length-1],d=r.diff(r.date(a),r.date(n),"month");d<t&&(t=d)}return t}function l({calendars:e,minDate:t,adapter:a=n}){if(!t)return!1;let{firstDayOfMonth:r}=e[0],d=a.subtract(a.date(r),1,"day");return a.isBefore(d,a.date(t))}function u({calendars:e,maxDate:t,adapter:a=n}){if(!t)return!1;let{lastDayOfMonth:r}=e[e.length-1],d=a.add(a.date(r),1,"day");return a.isBefore(a.date(t),d)}function y({date:e,selected:t,disabledDates:a,monthsToDisplay:r,offset:d,minDate:s,maxDate:o,firstDayOfWeek:i,showOutsideDays:f,adapter:l=n,selectionMode:u="single",modifiers:c,hoveredDate:h}){let p=[],g=function(e,t,a,r=n){let d=r.startOf(r.date(e),"day");if(t){let e=r.startOf(r.date(t),"day");r.isBefore(d,e)&&(d=e)}if(a){let e=r.startOf(r.date(a),"day");r.isBefore(e,d)&&(d=e)}return d}(e,s,o,l);for(let e=0;e<r;e++){let r=function({month:e,year:t,selectedDates:a,disabledDates:r,modifiers:n,minDate:d,maxDate:s,firstDayOfWeek:o,showOutsideDays:i,adapter:f,selectionMode:l,hoveredDate:u}){let y=f.set(f.set(f.date(),"year",t),"month",e);e=f.get(y,"month"),t=f.get(y,"year");let c=f.getDaysInMonth(y),h=[];for(let e=1;e<=c;e++){let t=m(f.toDate(f.set(y,"day",e)),a,r,n,d,s,f,l,!1,u);h.push(t)}let p=f.toDate(f.startOf(y,"month")),g=f.toDate(f.endOf(y,"month")),D=function({firstDayOfMonth:e,minDate:t,maxDate:a,selectedDates:r,disabledDates:n,modifiers:d,firstDayOfWeek:s,showOutsideDays:o,adapter:i,selectionMode:f,hoveredDate:l}){let u=[],y=(i.toDate(i.date(e)).getDay()+7-s)%7;if(o){let s=i.subtract(i.date(e),1,"day");for(let e=0;e<y;e++){let e=m(i.toDate(s),r,n,d,t,a,i,f,!0,l);e.prevMonth=!0,u.unshift(e),s=i.subtract(s,1,"day")}}else for(;y>0;)u.unshift(null),y--;return u}({firstDayOfMonth:p,minDate:d,maxDate:s,selectedDates:a,disabledDates:r,modifiers:n,firstDayOfWeek:o,showOutsideDays:i,adapter:f,selectionMode:l,hoveredDate:u}),S=function({lastDayOfMonth:e,minDate:t,maxDate:a,selectedDates:r,disabledDates:n,modifiers:d,firstDayOfWeek:s,showOutsideDays:o,adapter:i,selectionMode:f,hoveredDate:l}){let u=[],y=(i.toDate(i.date(e)).getDay()+7-s)%7;if(o){let s=i.add(i.date(e),1,"day");for(let e=0;e<6-y;e++){let e=m(i.toDate(s),r,n,d,t,a,i,f,!0,l);e.nextMonth=!0,u.push(e),s=i.add(s,1,"day")}}else for(;y<6;)u.push(null),y++;return u}({lastDayOfMonth:g,minDate:d,maxDate:s,selectedDates:a,disabledDates:r,modifiers:n,firstDayOfWeek:o,showOutsideDays:i,adapter:f,selectionMode:l,hoveredDate:u});return h.unshift(...D),h.push(...S),{firstDayOfMonth:p,lastDayOfMonth:g,month:e,year:t,weeks:function(e){let t=Math.ceil(e.length/7),a=[];for(let r=0;r<t;r++){a[r]=[];for(let t=0;t<7;t++)a[r].push(e[7*r+t])}return a}(h)}}({month:l.get(g,"month")+e+d,year:l.get(g,"year"),selectedDates:t,disabledDates:a,modifiers:c,minDate:s,maxDate:o,firstDayOfWeek:i,showOutsideDays:f,adapter:l,selectionMode:u,hoveredDate:h});p.push(r)}return p}function m(e,t,a,r,n,d,s,o,i=!1,f){var l,u,y,c,h;let p,g,D,S,{selected:A,isRangeStart:B,isRangeEnd:O,isRangeBetween:b,isRangeHovering:M}=function(e,t,a,r,n){if(!e&&!n)return{selected:!1};let d=a.date(t);if("single"===r&&e instanceof Date)return{selected:a.isSame(d,a.date(e),"day")};if("multiple"===r&&Array.isArray(e))return{selected:e.some(e=>a.isSame(d,a.date(e),"day"))};if("range"===r){let{start:t,end:r}=e&&"object"==typeof e&&!Array.isArray(e)?e:{start:void 0,end:void 0},s=!!t&&a.isSame(d,a.date(t),"day"),o=!!r&&a.isSame(d,a.date(r),"day"),i=!!t&&!!r&&a.isAfter(d,a.date(t),"day")&&a.isBefore(d,a.date(r),"day"),f=!1;if(t&&!r&&n){let e=a.date(n),r=a.date(t);a.isAfter(e,r,"day")?(f=a.isAfter(d,r,"day")&&a.isBefore(d,e,"day")||a.isSame(d,e,"day"),a.isSame(d,e,"day")&&(o=!0)):a.isBefore(e,r,"day")&&(f=a.isAfter(d,e,"day")&&a.isBefore(d,r,"day")||a.isSame(d,e,"day"),a.isSame(d,e,"day")&&(s=!0),a.isSame(d,r,"day")&&(s=!1,o=!0))}return{selected:s||o||i,isRangeStart:s,isRangeEnd:o,isRangeBetween:i,isRangeHovering:f}}return Array.isArray(e)&&1===e.length&&"single"===r?{selected:a.isSame(d,a.date(e[0]),"day")}:{selected:!1}}(t,e,s,o,f),
|
|
1
|
+
import e from"dayjs";import t from"dayjs/plugin/isBetween";import a from"dayjs/plugin/customParseFormat";import r from"dayjs/plugin/localeData";e.extend(t),e.extend(a),e.extend(r);let n=new class{date(t){return e(t)}add(e,t,a){return e.add(t,a)}subtract(e,t,a){return e.subtract(t,a)}startOf(e,t){return e.startOf(t)}endOf(e,t){return e.endOf(t)}isBefore(e,t,a){return e.isBefore(t,a)}isAfter(e,t,a){return e.isAfter(t,a)}isSame(e,t,a){return e.isSame(t,a)}set(e,t,a){return"day"===t?e.date(a):e.set(t,a)}get(e,t){return"day"===t?e.date():e.get(t)}format(e,t,a){return a?e.locale(a).format(t):e.format(t)}getDaysInMonth(e){return e.daysInMonth()}toDate(e){return e.toDate()}diff(e,t,a){return e.diff(t,a)}getMonths(t){return t?e().locale(t).localeData().months():e.localeData().months()}getWeekdays(t){return t?e().locale(t).localeData().weekdaysShort().map(e=>e.toUpperCase()):e.localeData().weekdaysShort().map(e=>e.toUpperCase())}};function d(...e){return(t,...a)=>e.some(e=>(e&&e(t,...a),t.defaultPrevented))}function s(e){return(e=Array.isArray(e)?e[0]:e)||o}function o(){}function i({calendars:e,offset:t,minDate:a,adapter:r=n}){if(t>1&&a){let{firstDayOfMonth:n}=e[0],d=r.diff(r.date(n),r.date(a),"month");d<t&&(t=d)}return t}function f({calendars:e,offset:t,maxDate:a,adapter:r=n}){if(t>1&&a){let{lastDayOfMonth:n}=e[e.length-1],d=r.diff(r.date(a),r.date(n),"month");d<t&&(t=d)}return t}function l({calendars:e,minDate:t,adapter:a=n}){if(!t)return!1;let{firstDayOfMonth:r}=e[0],d=a.subtract(a.date(r),1,"day");return a.isBefore(d,a.date(t))}function u({calendars:e,maxDate:t,adapter:a=n}){if(!t)return!1;let{lastDayOfMonth:r}=e[e.length-1],d=a.add(a.date(r),1,"day");return a.isBefore(a.date(t),d)}function y({date:e,selected:t,disabledDates:a,monthsToDisplay:r,offset:d,minDate:s,maxDate:o,firstDayOfWeek:i,showOutsideDays:f,adapter:l=n,selectionMode:u="single",modifiers:c,hoveredDate:h}){let p=[],g=function(e,t,a,r=n){let d=r.startOf(r.date(e),"day");if(t){let e=r.startOf(r.date(t),"day");r.isBefore(d,e)&&(d=e)}if(a){let e=r.startOf(r.date(a),"day");r.isBefore(e,d)&&(d=e)}return d}(e,s,o,l);for(let e=0;e<r;e++){let r=function({month:e,year:t,selectedDates:a,disabledDates:r,modifiers:n,minDate:d,maxDate:s,firstDayOfWeek:o,showOutsideDays:i,adapter:f,selectionMode:l,hoveredDate:u}){let y=f.set(f.set(f.date(),"year",t),"month",e);e=f.get(y,"month"),t=f.get(y,"year");let c=f.getDaysInMonth(y),h=[];for(let e=1;e<=c;e++){let t=m(f.toDate(f.set(y,"day",e)),a,r,n,d,s,f,l,!1,u);h.push(t)}let p=f.toDate(f.startOf(y,"month")),g=f.toDate(f.endOf(y,"month")),D=function({firstDayOfMonth:e,minDate:t,maxDate:a,selectedDates:r,disabledDates:n,modifiers:d,firstDayOfWeek:s,showOutsideDays:o,adapter:i,selectionMode:f,hoveredDate:l}){let u=[],y=(i.toDate(i.date(e)).getDay()+7-s)%7;if(o){let s=i.subtract(i.date(e),1,"day");for(let e=0;e<y;e++){let e=m(i.toDate(s),r,n,d,t,a,i,f,!0,l);e.prevMonth=!0,u.unshift(e),s=i.subtract(s,1,"day")}}else for(;y>0;)u.unshift(null),y--;return u}({firstDayOfMonth:p,minDate:d,maxDate:s,selectedDates:a,disabledDates:r,modifiers:n,firstDayOfWeek:o,showOutsideDays:i,adapter:f,selectionMode:l,hoveredDate:u}),S=function({lastDayOfMonth:e,minDate:t,maxDate:a,selectedDates:r,disabledDates:n,modifiers:d,firstDayOfWeek:s,showOutsideDays:o,adapter:i,selectionMode:f,hoveredDate:l}){let u=[],y=(i.toDate(i.date(e)).getDay()+7-s)%7;if(o){let s=i.add(i.date(e),1,"day");for(let e=0;e<6-y;e++){let e=m(i.toDate(s),r,n,d,t,a,i,f,!0,l);e.nextMonth=!0,u.push(e),s=i.add(s,1,"day")}}else for(;y<6;)u.push(null),y++;return u}({lastDayOfMonth:g,minDate:d,maxDate:s,selectedDates:a,disabledDates:r,modifiers:n,firstDayOfWeek:o,showOutsideDays:i,adapter:f,selectionMode:l,hoveredDate:u});return h.unshift(...D),h.push(...S),{firstDayOfMonth:p,lastDayOfMonth:g,month:e,year:t,weeks:function(e){let t=Math.ceil(e.length/7),a=[];for(let r=0;r<t;r++){a[r]=[];for(let t=0;t<7;t++)a[r].push(e[7*r+t])}return a}(h)}}({month:l.get(g,"month")+e+d,year:l.get(g,"year"),selectedDates:t,disabledDates:a,modifiers:c,minDate:s,maxDate:o,firstDayOfWeek:i,showOutsideDays:f,adapter:l,selectionMode:u,hoveredDate:h});p.push(r)}return p}function m(e,t,a,r,n,d,s,o,i=!1,f){var l,u,y,c,h;let p,g,D,S,{selected:A,isRangeStart:B,isRangeEnd:O,isRangeBetween:b,isRangeHovering:v,isRangeActive:M}=function(e,t,a,r,n){if(!e&&!n)return{selected:!1};let d=a.date(t);if("single"===r&&e instanceof Date)return{selected:a.isSame(d,a.date(e),"day")};if("multiple"===r&&Array.isArray(e))return{selected:e.some(e=>a.isSame(d,a.date(e),"day"))};if("range"===r){let{start:t,end:r}=e&&"object"==typeof e&&!Array.isArray(e)?e:{start:void 0,end:void 0},s=!!t&&a.isSame(d,a.date(t),"day"),o=!!r&&a.isSame(d,a.date(r),"day"),i=!!t&&!!r&&a.isAfter(d,a.date(t),"day")&&a.isBefore(d,a.date(r),"day"),f=!1;if(t&&!r&&n){let e=a.date(n),r=a.date(t);a.isAfter(e,r,"day")?(f=a.isAfter(d,r,"day")&&a.isBefore(d,e,"day")||a.isSame(d,e,"day"),a.isSame(d,e,"day")&&(o=!0)):a.isBefore(e,r,"day")&&(f=a.isAfter(d,e,"day")&&a.isBefore(d,r,"day")||a.isSame(d,e,"day"),a.isSame(d,e,"day")&&(s=!0),a.isSame(d,r,"day")&&(s=!1,o=!0))}return{selected:s||o||i,isRangeStart:s,isRangeEnd:o,isRangeBetween:i,isRangeHovering:f,isRangeActive:!!(t&&r&&!a.isSame(a.date(t),a.date(r),"day")||t&&!r&&n&&!a.isSame(a.date(t),a.date(n),"day"))}}return Array.isArray(e)&&1===e.length&&"single"===r?{selected:a.isSame(d,a.date(e[0]),"day")}:{selected:!1}}(t,e,s,o,f),w=s.isSame(s.date(e),s.date(),"day"),x=i&&s.isBefore(s.date(e),s.startOf(s.date(e),"month")),j=i&&s.isAfter(s.date(e),s.endOf(s.date(e),"month")),k=r?Object.keys(r).filter(t=>r[t](e)):[];return w&&k.push("today"),i&&k.push("outside"),x&&k.push("prev-month"),j&&k.push("next-month"),{date:e,selected:A,modifiers:k,selectable:(l=n,u=d,y=a,c=e,p=(h=s).date(c),g=l&&h.isBefore(p,h.date(l),"day"),D=u&&h.isAfter(p,h.date(u),"day"),S=null==y?void 0:y.some(e=>h.isSame(p,h.date(e),"day")),!g&&!D&&!S),today:w,prevMonth:x,nextMonth:j,isRangeStart:B,isRangeEnd:O,isRangeBetween:b,isRangeHovering:v,isRangeActive:M}}export{f as addMonth,d as composeEventHandlers,y as getCalendars,l as isBackDisabled,u as isForwardDisabled,i as subtractMonth,s as unwrapChildrenForPreact};
|
|
2
2
|
//# sourceMappingURL=utils.mjs.map
|
package/dist/es/utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../src/adapters/dayjs.ts","../../src/utils.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport localeData from 'dayjs/plugin/localeData';\nimport type { DateAdapter } from '../types';\n\ndayjs.extend(isBetween);\ndayjs.extend(customParseFormat);\ndayjs.extend(localeData);\n\nexport class DayjsAdapter implements DateAdapter<Dayjs> {\n date(value?: any): Dayjs {\n return dayjs(value);\n }\n\n add(date: Dayjs, amount: number, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.add(amount, unit);\n }\n\n subtract(date: Dayjs, amount: number, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.subtract(amount, unit);\n }\n\n startOf(date: Dayjs, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.startOf(unit);\n }\n\n endOf(date: Dayjs, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.endOf(unit);\n }\n\n isBefore(date: Dayjs, comparison: Dayjs, unit?: 'day' | 'month' | 'year'): boolean {\n return date.isBefore(comparison, unit);\n }\n\n isAfter(date: Dayjs, comparison: Dayjs, unit?: 'day' | 'month' | 'year'): boolean {\n return date.isAfter(comparison, unit);\n }\n\n isSame(date: Dayjs, comparison: Dayjs, unit?: 'day' | 'month' | 'year'): boolean {\n return date.isSame(comparison, unit);\n }\n\n set(date: Dayjs, unit: 'day' | 'month' | 'year', value: number): Dayjs {\n if (unit === 'day') return date.date(value);\n return date.set(unit, value);\n }\n\n get(date: Dayjs, unit: 'day' | 'month' | 'year'): number {\n if (unit === 'day') return date.date();\n return date.get(unit);\n }\n\n format(date: Dayjs, formatStr: string, locale?: string): string {\n if (locale) {\n return date.locale(locale).format(formatStr);\n }\n return date.format(formatStr);\n }\n\n getDaysInMonth(date: Dayjs): number {\n return date.daysInMonth();\n }\n\n toDate(date: Dayjs): Date {\n return date.toDate();\n }\n\n diff(date: Dayjs, comparison: Dayjs, unit: 'month' | 'year'): number {\n return date.diff(comparison, unit);\n }\n\n getMonths(locale?: string): string[] {\n return locale ? dayjs().locale(locale).localeData().months() : dayjs.localeData().months();\n }\n\n getWeekdays(locale?: string): string[] {\n return locale ? dayjs().locale(locale).localeData().weekdaysShort().map(d => d.toUpperCase()) : dayjs.localeData().weekdaysShort().map(d => d.toUpperCase());\n }\n}\n\nexport const defaultAdapter = new DayjsAdapter();\n","import { defaultAdapter } from \"./adapters/dayjs\";\nimport type { DateAdapter, DateObj, Calendar } from \"./types\";\n\nexport function composeEventHandlers(...fns: Array<((event: any, ...args: unknown[]) => void) | undefined>): (event: any, ...args: unknown[]) => boolean {\n return (event, ...args) =>\n fns.some(fn => {\n fn && fn(event, ...args);\n return event.defaultPrevented;\n });\n}\n\nexport function unwrapChildrenForPreact<T>(arg: T | T[]): T | typeof noop {\n arg = Array.isArray(arg) ? /* istanbul ignore next (preact) */ arg[0] : arg;\n return arg || noop;\n}\nfunction noop() { }\n\nexport function subtractMonth({ calendars, offset, minDate, adapter = defaultAdapter }: { calendars: Calendar[], offset: number, minDate?: Date, adapter?: DateAdapter }): number {\n if (offset > 1 && minDate) {\n const { firstDayOfMonth } = calendars[0];\n const diffInMonths = adapter.diff(adapter.date(firstDayOfMonth), adapter.date(minDate), \"month\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\nexport function addMonth({ calendars, offset, maxDate, adapter = defaultAdapter }: { calendars: Calendar[], offset: number, maxDate?: Date, adapter?: DateAdapter }): number {\n if (offset > 1 && maxDate) {\n const { lastDayOfMonth } = calendars[calendars.length - 1];\n const diffInMonths = adapter.diff(adapter.date(maxDate), adapter.date(lastDayOfMonth), \"month\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\nexport function isBackDisabled({ calendars, minDate, adapter = defaultAdapter }: { calendars: Calendar[], minDate?: Date, adapter?: DateAdapter }): boolean {\n if (!minDate) {\n return false;\n }\n const { firstDayOfMonth } = calendars[0];\n const firstDayOfMonthMinusOne = adapter.subtract(adapter.date(firstDayOfMonth), 1, \"day\");\n return adapter.isBefore(firstDayOfMonthMinusOne, adapter.date(minDate));\n}\n\nexport function isForwardDisabled({ calendars, maxDate, adapter = defaultAdapter }: { calendars: Calendar[], maxDate?: Date, adapter?: DateAdapter }): boolean {\n if (!maxDate) {\n return false;\n }\n const { lastDayOfMonth } = calendars[calendars.length - 1];\n const lastDayOfMonthPlusOne = adapter.add(adapter.date(lastDayOfMonth), 1, \"day\");\n return adapter.isBefore(adapter.date(maxDate), lastDayOfMonthPlusOne);\n}\n\nexport function getCalendars({\n date,\n selected,\n disabledDates,\n monthsToDisplay,\n offset,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n adapter = defaultAdapter,\n selectionMode = 'single',\n modifiers,\n hoveredDate\n}: {\n date: Date,\n selected?: Date | Date[] | { start?: Date, end?: Date },\n disabledDates?: Date[],\n modifiers?: Record<string, (date: Date) => boolean>,\n monthsToDisplay: number,\n offset: number,\n minDate?: Date,\n maxDate?: Date,\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter?: DateAdapter,\n selectionMode?: 'single' | 'range' | 'multiple',\n hoveredDate?: Date\n}): Calendar[] {\n const months: Calendar[] = [];\n const startDate = getStartDate(date, minDate, maxDate, adapter);\n for (let i = 0; i < monthsToDisplay; i++) {\n const calendarDates = getMonthData({\n month: adapter.get(startDate, 'month') + i + offset,\n year: adapter.get(startDate, 'year'),\n selectedDates: selected,\n disabledDates,\n modifiers,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n });\n months.push(calendarDates);\n }\n return months;\n}\n\nfunction getStartDate(date: Date, minDate?: Date, maxDate?: Date, adapter: DateAdapter = defaultAdapter): any {\n let startDate = adapter.startOf(adapter.date(date), \"day\");\n if (minDate) {\n const minDateNormalized = adapter.startOf(adapter.date(minDate), \"day\");\n if (adapter.isBefore(startDate, minDateNormalized)) {\n startDate = minDateNormalized;\n }\n }\n if (maxDate) {\n const maxDateNormalized = adapter.startOf(adapter.date(maxDate), \"day\");\n if (adapter.isBefore(maxDateNormalized, startDate)) {\n startDate = maxDateNormalized;\n }\n }\n return startDate;\n}\n\nfunction getMonthData({\n month,\n year,\n selectedDates,\n disabledDates,\n modifiers,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n}: {\n month: number,\n year: number,\n selectedDates?: Date | Date[] | { start?: Date, end?: Date },\n disabledDates?: Date[],\n minDate?: Date,\n maxDate?: Date,\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter: DateAdapter,\n selectionMode: 'single' | 'range' | 'multiple',\n hoveredDate?: Date\n}): Calendar {\n let currentMonth = adapter.set(adapter.set(adapter.date(), 'year', year), 'month', month);\n month = adapter.get(currentMonth, 'month');\n year = adapter.get(currentMonth, 'year');\n\n const daysInMonth = adapter.getDaysInMonth(currentMonth);\n const dates: (DateObj | null)[] = [];\n\n for (let day = 1; day <= daysInMonth; day++) {\n const date = adapter.toDate(adapter.set(currentMonth, 'day', day));\n const dateObj = createDateObj(date, selectedDates, disabledDates, modifiers, minDate, maxDate, adapter, selectionMode, false, hoveredDate);\n dates.push(dateObj);\n }\n\n const firstDayOfMonth = adapter.toDate(adapter.startOf(currentMonth, 'month'));\n const lastDayOfMonth = adapter.toDate(adapter.endOf(currentMonth, 'month'));\n\n const frontWeekBuffer = fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n });\n\n const backWeekBuffer = fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n });\n\n dates.unshift(...frontWeekBuffer);\n dates.push(...backWeekBuffer);\n\n const weeks = getWeeks(dates);\n\n return {\n firstDayOfMonth,\n lastDayOfMonth,\n month,\n year,\n weeks\n };\n}\n\nfunction createDateObj(\n date: Date,\n selectedDates: Date | Date[] | { start?: Date, end?: Date } | undefined,\n disabledDates: Date[] | undefined,\n modifiers: Record<string, (date: Date) => boolean> | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n adapter: DateAdapter,\n selectionMode: 'single' | 'range' | 'multiple',\n isOutside = false,\n hoveredDate?: Date\n): DateObj {\n const { selected, isRangeStart, isRangeEnd, isRangeBetween, isRangeHovering } = isSelected(selectedDates, date, adapter, selectionMode, hoveredDate);\n const isToday = adapter.isSame(adapter.date(date), adapter.date(), \"day\");\n const isPrevMonth = isOutside && adapter.isBefore(adapter.date(date), adapter.startOf(adapter.date(date), 'month'));\n const isNextMonth = isOutside && adapter.isAfter(adapter.date(date), adapter.endOf(adapter.date(date), 'month'));\n\n const activeModifiers = modifiers\n ? Object.keys(modifiers).filter(key => modifiers[key](date))\n : [];\n\n if (isToday) activeModifiers.push('today');\n if (isOutside) activeModifiers.push('outside');\n if (isPrevMonth) activeModifiers.push('prev-month');\n if (isNextMonth) activeModifiers.push('next-month');\n\n return {\n date,\n selected,\n modifiers: activeModifiers,\n selectable: isSelectable(minDate, maxDate, disabledDates, date, adapter),\n today: isToday,\n prevMonth: isPrevMonth,\n nextMonth: isNextMonth,\n isRangeStart,\n isRangeEnd,\n isRangeBetween,\n isRangeHovering\n };\n}\n\nfunction fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n}: {\n firstDayOfMonth: Date,\n minDate?: Date,\n maxDate?: Date,\n selectedDates?: any,\n disabledDates?: Date[],\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter: DateAdapter,\n selectionMode: any,\n hoveredDate?: Date\n}): (DateObj | null)[] {\n const dates: (DateObj | null)[] = [];\n let firstDay = (adapter.toDate(adapter.date(firstDayOfMonth)).getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n let current = adapter.subtract(adapter.date(firstDayOfMonth), 1, \"day\");\n for (let i = 0; i < firstDay; i++) {\n const date = adapter.toDate(current);\n const dateObj = createDateObj(date, selectedDates, disabledDates, modifiers, minDate, maxDate, adapter, selectionMode, true, hoveredDate);\n dateObj.prevMonth = true;\n dates.unshift(dateObj);\n current = adapter.subtract(current, 1, \"day\");\n }\n } else {\n while (firstDay > 0) {\n dates.unshift(null);\n firstDay--;\n }\n }\n\n return dates;\n}\n\nfunction fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n}: {\n lastDayOfMonth: Date,\n minDate?: Date,\n maxDate?: Date,\n selectedDates?: any,\n disabledDates?: Date[],\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter: DateAdapter,\n selectionMode: any,\n hoveredDate?: Date\n}): (DateObj | null)[] {\n const dates: (DateObj | null)[] = [];\n let lastDay = (adapter.toDate(adapter.date(lastDayOfMonth)).getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n let current = adapter.add(adapter.date(lastDayOfMonth), 1, \"day\");\n for (let i = 0; i < 6 - lastDay; i++) {\n const date = adapter.toDate(current);\n const dateObj = createDateObj(date, selectedDates, disabledDates, modifiers, minDate, maxDate, adapter, selectionMode, true, hoveredDate);\n dateObj.nextMonth = true;\n dates.push(dateObj);\n current = adapter.add(current, 1, \"day\");\n }\n } else {\n while (lastDay < 6) {\n dates.push(null);\n lastDay++;\n }\n }\n\n return dates;\n}\n\nfunction getWeeks(dates: (DateObj | null)[]): (DateObj | null)[][] {\n const weeksLength = Math.ceil(dates.length / 7);\n const weeks: (DateObj | null)[][] = [];\n for (let i = 0; i < weeksLength; i++) {\n weeks[i] = [];\n for (let x = 0; x < 7; x++) {\n weeks[i].push(dates[i * 7 + x]);\n }\n }\n return weeks;\n}\n\nfunction isSelected(\n selectedDates: Date | Date[] | { start?: Date, end?: Date } | undefined,\n date: Date,\n adapter: DateAdapter,\n selectionMode: 'single' | 'range' | 'multiple',\n hoveredDate?: Date\n): { selected: boolean, isRangeStart?: boolean, isRangeEnd?: boolean, isRangeBetween?: boolean, isRangeHovering?: boolean } {\n if (!selectedDates && !hoveredDate) return { selected: false };\n\n const d = adapter.date(date);\n\n if (selectionMode === 'single' && selectedDates instanceof Date) {\n return { selected: adapter.isSame(d, adapter.date(selectedDates), 'day') };\n }\n\n if (selectionMode === 'multiple' && Array.isArray(selectedDates)) {\n return { selected: selectedDates.some(sd => adapter.isSame(d, adapter.date(sd), 'day')) };\n }\n\n if (selectionMode === 'range') {\n const range = (selectedDates && typeof selectedDates === 'object' && !Array.isArray(selectedDates)) ? selectedDates : { start: undefined, end: undefined };\n const { start, end } = range;\n\n let isStart = start ? adapter.isSame(d, adapter.date(start), 'day') : false;\n let isEnd = end ? adapter.isSame(d, adapter.date(end), 'day') : false;\n const isBetween = (start && end) ? (adapter.isAfter(d, adapter.date(start), 'day') && adapter.isBefore(d, adapter.date(end), 'day')) : false;\n\n let isHovering = false;\n if (start && !end && hoveredDate) {\n const h = adapter.date(hoveredDate);\n const s = adapter.date(start);\n if (adapter.isAfter(h, s, 'day')) {\n isHovering = (adapter.isAfter(d, s, 'day') && adapter.isBefore(d, h, 'day')) || adapter.isSame(d, h, 'day');\n if (adapter.isSame(d, h, 'day')) isEnd = true;\n } else if (adapter.isBefore(h, s, 'day')) {\n isHovering = (adapter.isAfter(d, h, 'day') && adapter.isBefore(d, s, 'day')) || adapter.isSame(d, h, 'day');\n if (adapter.isSame(d, h, 'day')) {\n isStart = true;\n }\n if (adapter.isSame(d, s, 'day')) {\n isStart = false;\n isEnd = true;\n }\n }\n }\n\n return {\n selected: isStart || isEnd || isBetween,\n isRangeStart: isStart,\n isRangeEnd: isEnd,\n isRangeBetween: isBetween,\n isRangeHovering: isHovering\n };\n }\n\n if (Array.isArray(selectedDates) && selectedDates.length === 1 && selectionMode === 'single') {\n return { selected: adapter.isSame(d, adapter.date(selectedDates[0]), 'day') };\n }\n\n return { selected: false };\n}\n\nfunction isSelectable(minDate: Date | undefined, maxDate: Date | undefined, disabledDates: Date[] | undefined, date: Date, adapter: DateAdapter): boolean {\n const d = adapter.date(date);\n const isMinDateInvalid = minDate && adapter.isBefore(d, adapter.date(minDate), 'day');\n const isMaxDateInvalid = maxDate && adapter.isAfter(d, adapter.date(maxDate), 'day');\n const isDisabled = disabledDates?.some(disabledDate => adapter.isSame(d, adapter.date(disabledDate), 'day'));\n return !isMinDateInvalid && !isMaxDateInvalid && !isDisabled;\n}\n"],"names":["dayjs","extend","isBetween","customParseFormat","localeData","defaultAdapter","date","value","add","amount","unit","subtract","startOf","endOf","isBefore","comparison","isAfter","isSame","set","get","format","formatStr","locale","getDaysInMonth","daysInMonth","toDate","diff","getMonths","months","getWeekdays","weekdaysShort","map","d","toUpperCase","composeEventHandlers","fns","event","args","some","fn","defaultPrevented","unwrapChildrenForPreact","arg","Array","isArray","noop","subtractMonth","calendars","offset","minDate","adapter","firstDayOfMonth","diffInMonths","addMonth","maxDate","lastDayOfMonth","length","isBackDisabled","firstDayOfMonthMinusOne","isForwardDisabled","lastDayOfMonthPlusOne","getCalendars","selected","disabledDates","monthsToDisplay","firstDayOfWeek","showOutsideDays","selectionMode","modifiers","hoveredDate","startDate","getStartDate","minDateNormalized","maxDateNormalized","i","calendarDates","getMonthData","month","year","selectedDates","currentMonth","dates","day","dateObj","createDateObj","push","frontWeekBuffer","fillFrontWeek","firstDay","getDay","current","prevMonth","unshift","backWeekBuffer","fillBackWeek","lastDay","nextMonth","weeks","getWeeks","weeksLength","Math","ceil","x","isOutside","isMinDateInvalid","isMaxDateInvalid","isDisabled","isRangeStart","isRangeEnd","isRangeBetween","isRangeHovering","isSelected","Date","sd","start","end","undefined","isStart","isEnd","isHovering","h","s","isToday","isPrevMonth","isNextMonth","activeModifiers","Object","keys","filter","key","selectable","disabledDate","today"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/adapters/dayjs.ts","../../src/utils.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport localeData from 'dayjs/plugin/localeData';\nimport type { DateAdapter } from '../types';\n\ndayjs.extend(isBetween);\ndayjs.extend(customParseFormat);\ndayjs.extend(localeData);\n\nexport class DayjsAdapter implements DateAdapter<Dayjs> {\n date(value?: any): Dayjs {\n return dayjs(value);\n }\n\n add(date: Dayjs, amount: number, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.add(amount, unit);\n }\n\n subtract(date: Dayjs, amount: number, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.subtract(amount, unit);\n }\n\n startOf(date: Dayjs, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.startOf(unit);\n }\n\n endOf(date: Dayjs, unit: 'day' | 'month' | 'year'): Dayjs {\n return date.endOf(unit);\n }\n\n isBefore(date: Dayjs, comparison: Dayjs, unit?: 'day' | 'month' | 'year'): boolean {\n return date.isBefore(comparison, unit);\n }\n\n isAfter(date: Dayjs, comparison: Dayjs, unit?: 'day' | 'month' | 'year'): boolean {\n return date.isAfter(comparison, unit);\n }\n\n isSame(date: Dayjs, comparison: Dayjs, unit?: 'day' | 'month' | 'year'): boolean {\n return date.isSame(comparison, unit);\n }\n\n set(date: Dayjs, unit: 'day' | 'month' | 'year', value: number): Dayjs {\n if (unit === 'day') return date.date(value);\n return date.set(unit, value);\n }\n\n get(date: Dayjs, unit: 'day' | 'month' | 'year'): number {\n if (unit === 'day') return date.date();\n return date.get(unit);\n }\n\n format(date: Dayjs, formatStr: string, locale?: string): string {\n if (locale) {\n return date.locale(locale).format(formatStr);\n }\n return date.format(formatStr);\n }\n\n getDaysInMonth(date: Dayjs): number {\n return date.daysInMonth();\n }\n\n toDate(date: Dayjs): Date {\n return date.toDate();\n }\n\n diff(date: Dayjs, comparison: Dayjs, unit: 'month' | 'year'): number {\n return date.diff(comparison, unit);\n }\n\n getMonths(locale?: string): string[] {\n return locale ? dayjs().locale(locale).localeData().months() : dayjs.localeData().months();\n }\n\n getWeekdays(locale?: string): string[] {\n return locale ? dayjs().locale(locale).localeData().weekdaysShort().map(d => d.toUpperCase()) : dayjs.localeData().weekdaysShort().map(d => d.toUpperCase());\n }\n}\n\nexport const defaultAdapter = new DayjsAdapter();\n","import { defaultAdapter } from \"./adapters/dayjs\";\nimport type { DateAdapter, DateObj, Calendar } from \"./types\";\n\nexport function composeEventHandlers(...fns: Array<((event: any, ...args: unknown[]) => void) | undefined>): (event: any, ...args: unknown[]) => boolean {\n return (event, ...args) =>\n fns.some(fn => {\n fn && fn(event, ...args);\n return event.defaultPrevented;\n });\n}\n\nexport function unwrapChildrenForPreact<T>(arg: T | T[]): T | typeof noop {\n arg = Array.isArray(arg) ? /* istanbul ignore next (preact) */ arg[0] : arg;\n return arg || noop;\n}\nfunction noop() { }\n\nexport function subtractMonth({ calendars, offset, minDate, adapter = defaultAdapter }: { calendars: Calendar[], offset: number, minDate?: Date, adapter?: DateAdapter }): number {\n if (offset > 1 && minDate) {\n const { firstDayOfMonth } = calendars[0];\n const diffInMonths = adapter.diff(adapter.date(firstDayOfMonth), adapter.date(minDate), \"month\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\nexport function addMonth({ calendars, offset, maxDate, adapter = defaultAdapter }: { calendars: Calendar[], offset: number, maxDate?: Date, adapter?: DateAdapter }): number {\n if (offset > 1 && maxDate) {\n const { lastDayOfMonth } = calendars[calendars.length - 1];\n const diffInMonths = adapter.diff(adapter.date(maxDate), adapter.date(lastDayOfMonth), \"month\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\nexport function isBackDisabled({ calendars, minDate, adapter = defaultAdapter }: { calendars: Calendar[], minDate?: Date, adapter?: DateAdapter }): boolean {\n if (!minDate) {\n return false;\n }\n const { firstDayOfMonth } = calendars[0];\n const firstDayOfMonthMinusOne = adapter.subtract(adapter.date(firstDayOfMonth), 1, \"day\");\n return adapter.isBefore(firstDayOfMonthMinusOne, adapter.date(minDate));\n}\n\nexport function isForwardDisabled({ calendars, maxDate, adapter = defaultAdapter }: { calendars: Calendar[], maxDate?: Date, adapter?: DateAdapter }): boolean {\n if (!maxDate) {\n return false;\n }\n const { lastDayOfMonth } = calendars[calendars.length - 1];\n const lastDayOfMonthPlusOne = adapter.add(adapter.date(lastDayOfMonth), 1, \"day\");\n return adapter.isBefore(adapter.date(maxDate), lastDayOfMonthPlusOne);\n}\n\nexport function getCalendars({\n date,\n selected,\n disabledDates,\n monthsToDisplay,\n offset,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n adapter = defaultAdapter,\n selectionMode = 'single',\n modifiers,\n hoveredDate\n}: {\n date: Date,\n selected?: Date | Date[] | { start?: Date, end?: Date },\n disabledDates?: Date[],\n modifiers?: Record<string, (date: Date) => boolean>,\n monthsToDisplay: number,\n offset: number,\n minDate?: Date,\n maxDate?: Date,\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter?: DateAdapter,\n selectionMode?: 'single' | 'range' | 'multiple',\n hoveredDate?: Date\n}): Calendar[] {\n const months: Calendar[] = [];\n const startDate = getStartDate(date, minDate, maxDate, adapter);\n for (let i = 0; i < monthsToDisplay; i++) {\n const calendarDates = getMonthData({\n month: adapter.get(startDate, 'month') + i + offset,\n year: adapter.get(startDate, 'year'),\n selectedDates: selected,\n disabledDates,\n modifiers,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n });\n months.push(calendarDates);\n }\n return months;\n}\n\nfunction getStartDate(date: Date, minDate?: Date, maxDate?: Date, adapter: DateAdapter = defaultAdapter): any {\n let startDate = adapter.startOf(adapter.date(date), \"day\");\n if (minDate) {\n const minDateNormalized = adapter.startOf(adapter.date(minDate), \"day\");\n if (adapter.isBefore(startDate, minDateNormalized)) {\n startDate = minDateNormalized;\n }\n }\n if (maxDate) {\n const maxDateNormalized = adapter.startOf(adapter.date(maxDate), \"day\");\n if (adapter.isBefore(maxDateNormalized, startDate)) {\n startDate = maxDateNormalized;\n }\n }\n return startDate;\n}\n\nfunction getMonthData({\n month,\n year,\n selectedDates,\n disabledDates,\n modifiers,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n}: {\n month: number,\n year: number,\n selectedDates?: Date | Date[] | { start?: Date, end?: Date },\n disabledDates?: Date[],\n minDate?: Date,\n maxDate?: Date,\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter: DateAdapter,\n selectionMode: 'single' | 'range' | 'multiple',\n hoveredDate?: Date\n}): Calendar {\n let currentMonth = adapter.set(adapter.set(adapter.date(), 'year', year), 'month', month);\n month = adapter.get(currentMonth, 'month');\n year = adapter.get(currentMonth, 'year');\n\n const daysInMonth = adapter.getDaysInMonth(currentMonth);\n const dates: (DateObj | null)[] = [];\n\n for (let day = 1; day <= daysInMonth; day++) {\n const date = adapter.toDate(adapter.set(currentMonth, 'day', day));\n const dateObj = createDateObj(date, selectedDates, disabledDates, modifiers, minDate, maxDate, adapter, selectionMode, false, hoveredDate);\n dates.push(dateObj);\n }\n\n const firstDayOfMonth = adapter.toDate(adapter.startOf(currentMonth, 'month'));\n const lastDayOfMonth = adapter.toDate(adapter.endOf(currentMonth, 'month'));\n\n const frontWeekBuffer = fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n });\n\n const backWeekBuffer = fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n });\n\n dates.unshift(...frontWeekBuffer);\n dates.push(...backWeekBuffer);\n\n const weeks = getWeeks(dates);\n\n return {\n firstDayOfMonth,\n lastDayOfMonth,\n month,\n year,\n weeks\n };\n}\n\nfunction createDateObj(\n date: Date,\n selectedDates: Date | Date[] | { start?: Date, end?: Date } | undefined,\n disabledDates: Date[] | undefined,\n modifiers: Record<string, (date: Date) => boolean> | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n adapter: DateAdapter,\n selectionMode: 'single' | 'range' | 'multiple',\n isOutside = false,\n hoveredDate?: Date\n): DateObj {\n const { selected, isRangeStart, isRangeEnd, isRangeBetween, isRangeHovering, isRangeActive } = isSelected(selectedDates, date, adapter, selectionMode, hoveredDate);\n const isToday = adapter.isSame(adapter.date(date), adapter.date(), \"day\");\n const isPrevMonth = isOutside && adapter.isBefore(adapter.date(date), adapter.startOf(adapter.date(date), 'month'));\n const isNextMonth = isOutside && adapter.isAfter(adapter.date(date), adapter.endOf(adapter.date(date), 'month'));\n\n const activeModifiers = modifiers\n ? Object.keys(modifiers).filter(key => modifiers[key](date))\n : [];\n\n if (isToday) activeModifiers.push('today');\n if (isOutside) activeModifiers.push('outside');\n if (isPrevMonth) activeModifiers.push('prev-month');\n if (isNextMonth) activeModifiers.push('next-month');\n\n return {\n date,\n selected,\n modifiers: activeModifiers,\n selectable: isSelectable(minDate, maxDate, disabledDates, date, adapter),\n today: isToday,\n prevMonth: isPrevMonth,\n nextMonth: isNextMonth,\n isRangeStart,\n isRangeEnd,\n isRangeBetween,\n isRangeHovering,\n isRangeActive\n };\n}\n\nfunction fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n}: {\n firstDayOfMonth: Date,\n minDate?: Date,\n maxDate?: Date,\n selectedDates?: any,\n disabledDates?: Date[],\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter: DateAdapter,\n selectionMode: any,\n hoveredDate?: Date\n}): (DateObj | null)[] {\n const dates: (DateObj | null)[] = [];\n let firstDay = (adapter.toDate(adapter.date(firstDayOfMonth)).getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n let current = adapter.subtract(adapter.date(firstDayOfMonth), 1, \"day\");\n for (let i = 0; i < firstDay; i++) {\n const date = adapter.toDate(current);\n const dateObj = createDateObj(date, selectedDates, disabledDates, modifiers, minDate, maxDate, adapter, selectionMode, true, hoveredDate);\n dateObj.prevMonth = true;\n dates.unshift(dateObj);\n current = adapter.subtract(current, 1, \"day\");\n }\n } else {\n while (firstDay > 0) {\n dates.unshift(null);\n firstDay--;\n }\n }\n\n return dates;\n}\n\nfunction fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n disabledDates,\n modifiers,\n firstDayOfWeek,\n showOutsideDays,\n adapter,\n selectionMode,\n hoveredDate\n}: {\n lastDayOfMonth: Date,\n minDate?: Date,\n maxDate?: Date,\n selectedDates?: any,\n disabledDates?: Date[],\n firstDayOfWeek: number,\n showOutsideDays: boolean,\n adapter: DateAdapter,\n selectionMode: any,\n hoveredDate?: Date\n}): (DateObj | null)[] {\n const dates: (DateObj | null)[] = [];\n let lastDay = (adapter.toDate(adapter.date(lastDayOfMonth)).getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n let current = adapter.add(adapter.date(lastDayOfMonth), 1, \"day\");\n for (let i = 0; i < 6 - lastDay; i++) {\n const date = adapter.toDate(current);\n const dateObj = createDateObj(date, selectedDates, disabledDates, modifiers, minDate, maxDate, adapter, selectionMode, true, hoveredDate);\n dateObj.nextMonth = true;\n dates.push(dateObj);\n current = adapter.add(current, 1, \"day\");\n }\n } else {\n while (lastDay < 6) {\n dates.push(null);\n lastDay++;\n }\n }\n\n return dates;\n}\n\nfunction getWeeks(dates: (DateObj | null)[]): (DateObj | null)[][] {\n const weeksLength = Math.ceil(dates.length / 7);\n const weeks: (DateObj | null)[][] = [];\n for (let i = 0; i < weeksLength; i++) {\n weeks[i] = [];\n for (let x = 0; x < 7; x++) {\n weeks[i].push(dates[i * 7 + x]);\n }\n }\n return weeks;\n}\n\nfunction isSelected(\n selectedDates: Date | Date[] | { start?: Date, end?: Date } | undefined,\n date: Date,\n adapter: DateAdapter,\n selectionMode: 'single' | 'range' | 'multiple',\n hoveredDate?: Date\n): { selected: boolean, isRangeStart?: boolean, isRangeEnd?: boolean, isRangeBetween?: boolean, isRangeHovering?: boolean, isRangeActive?: boolean } {\n if (!selectedDates && !hoveredDate) return { selected: false };\n\n const d = adapter.date(date);\n\n if (selectionMode === 'single' && selectedDates instanceof Date) {\n return { selected: adapter.isSame(d, adapter.date(selectedDates), 'day') };\n }\n\n if (selectionMode === 'multiple' && Array.isArray(selectedDates)) {\n return { selected: selectedDates.some(sd => adapter.isSame(d, adapter.date(sd), 'day')) };\n }\n\n if (selectionMode === 'range') {\n const range = (selectedDates && typeof selectedDates === 'object' && !Array.isArray(selectedDates)) ? selectedDates : { start: undefined, end: undefined };\n const { start, end } = range;\n\n let isStart = start ? adapter.isSame(d, adapter.date(start), 'day') : false;\n let isEnd = end ? adapter.isSame(d, adapter.date(end), 'day') : false;\n const isBetween = (start && end) ? (adapter.isAfter(d, adapter.date(start), 'day') && adapter.isBefore(d, adapter.date(end), 'day')) : false;\n\n let isHovering = false;\n if (start && !end && hoveredDate) {\n const h = adapter.date(hoveredDate);\n const s = adapter.date(start);\n if (adapter.isAfter(h, s, 'day')) {\n isHovering = (adapter.isAfter(d, s, 'day') && adapter.isBefore(d, h, 'day')) || adapter.isSame(d, h, 'day');\n if (adapter.isSame(d, h, 'day')) isEnd = true;\n } else if (adapter.isBefore(h, s, 'day')) {\n isHovering = (adapter.isAfter(d, h, 'day') && adapter.isBefore(d, s, 'day')) || adapter.isSame(d, h, 'day');\n if (adapter.isSame(d, h, 'day')) {\n isStart = true;\n }\n if (adapter.isSame(d, s, 'day')) {\n isStart = false;\n isEnd = true;\n }\n }\n }\n\n const isRangeActive = !!(\n (start && end && !adapter.isSame(adapter.date(start), adapter.date(end), 'day')) ||\n (start && !end && hoveredDate && !adapter.isSame(adapter.date(start), adapter.date(hoveredDate), 'day'))\n );\n\n return {\n selected: isStart || isEnd || isBetween,\n isRangeStart: isStart,\n isRangeEnd: isEnd,\n isRangeBetween: isBetween,\n isRangeHovering: isHovering,\n isRangeActive\n };\n }\n\n if (Array.isArray(selectedDates) && selectedDates.length === 1 && selectionMode === 'single') {\n return { selected: adapter.isSame(d, adapter.date(selectedDates[0]), 'day') };\n }\n\n return { selected: false };\n}\n\nfunction isSelectable(minDate: Date | undefined, maxDate: Date | undefined, disabledDates: Date[] | undefined, date: Date, adapter: DateAdapter): boolean {\n const d = adapter.date(date);\n const isMinDateInvalid = minDate && adapter.isBefore(d, adapter.date(minDate), 'day');\n const isMaxDateInvalid = maxDate && adapter.isAfter(d, adapter.date(maxDate), 'day');\n const isDisabled = disabledDates?.some(disabledDate => adapter.isSame(d, adapter.date(disabledDate), 'day'));\n return !isMinDateInvalid && !isMaxDateInvalid && !isDisabled;\n}\n"],"names":["dayjs","extend","isBetween","customParseFormat","localeData","defaultAdapter","date","value","add","amount","unit","subtract","startOf","endOf","isBefore","comparison","isAfter","isSame","set","get","format","formatStr","locale","getDaysInMonth","daysInMonth","toDate","diff","getMonths","months","getWeekdays","weekdaysShort","map","d","toUpperCase","composeEventHandlers","fns","event","args","some","fn","defaultPrevented","unwrapChildrenForPreact","arg","Array","isArray","noop","subtractMonth","calendars","offset","minDate","adapter","firstDayOfMonth","diffInMonths","addMonth","maxDate","lastDayOfMonth","length","isBackDisabled","firstDayOfMonthMinusOne","isForwardDisabled","lastDayOfMonthPlusOne","getCalendars","selected","disabledDates","monthsToDisplay","firstDayOfWeek","showOutsideDays","selectionMode","modifiers","hoveredDate","startDate","getStartDate","minDateNormalized","maxDateNormalized","i","calendarDates","getMonthData","month","year","selectedDates","currentMonth","dates","day","dateObj","createDateObj","push","frontWeekBuffer","fillFrontWeek","firstDay","getDay","current","prevMonth","unshift","backWeekBuffer","fillBackWeek","lastDay","nextMonth","weeks","getWeeks","weeksLength","Math","ceil","x","isOutside","isMinDateInvalid","isMaxDateInvalid","isDisabled","isRangeStart","isRangeEnd","isRangeBetween","isRangeHovering","isRangeActive","isSelected","Date","sd","start","end","undefined","isStart","isEnd","isHovering","h","s","isToday","isPrevMonth","isNextMonth","activeModifiers","Object","keys","filter","key","selectable","disabledDate","today"],"mappings":"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"}
|