react-calendar-kit
Version:
React Calendar Kit is a powerful and flexible library for building accessible and highly customizable calendar and date/time picker components in your React applications. React Calendar Kit provides a solid foundation for creating inclusive user experienc
3 lines (2 loc) • 27 kB
JavaScript
'use client';
var tr=Object.create;var ce=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var ar=Object.getOwnPropertyNames;var or=Object.getPrototypeOf,nr=Object.prototype.hasOwnProperty;var sr=(e,t)=>{for(var r in t)ce(e,r,{get:t[r],enumerable:!0})},je=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ar(t))!nr.call(e,n)&&n!==r&&ce(e,n,{get:()=>t[n],enumerable:!(a=rr(t,n))||a.enumerable});return e};var x=(e,t,r)=>(r=e!=null?tr(or(e)):{},je(t||!e||!e.__esModule?ce(r,"default",{value:e,enumerable:!0}):r,e)),ir=e=>je(ce({},"__esModule",{value:!0}),e);var xr={};sr(xr,{Calendar:()=>Te,CalendarKit:()=>kr,DateInput:()=>Oe,DateRangeInput:()=>We,LocaleProvider:()=>Jt.I18nProvider,RangeCalendar:()=>Re,TimeInput:()=>Ze,useDatePicker:()=>He,useDateRangePicker:()=>Ge});module.exports=ir(xr);var Jt=require("@react-aria/i18n");var j=x(require("react")),ie=require("@internationalized/date"),ht=require("@react-aria/calendar"),Dt=require("@react-aria/i18n"),bt=require("@react-stately/calendar");var Z=x(require("react"));var J=x(require("react"));function Se(e){let t=J.useRef(e);return J.useEffect(()=>{t.current=e}),J.useMemo(()=>(...r)=>t.current?.(...r),[])}function fe({prop:e,defaultProp:t,onChange:r=()=>{}}){let[a,n]=lr({defaultProp:t,onChange:r}),i=e!==void 0,d=i?e:a,p=Se(r),o=Z.useCallback(s=>{if(i){let l=typeof s=="function"?s(e):s;l!==e&&p(l)}else n(s)},[i,e,n,p]);return[d,o]}function lr({defaultProp:e,onChange:t}){let r=Z.useState(e),[a]=r,n=Z.useRef(a),i=Se(t);return Z.useEffect(()=>{n.current!==a&&(i(a),n.current=a)},[a,n,i]),r}var Q=x(require("react"));function Ke(e){let t=(0,Q.createContext)(null);return[({children:n,value:i})=>Q.default.createElement(t.Provider,{value:i},n),()=>{let n=(0,Q.useContext)(t);if(n===null)throw new Error(e);return n}]}var[Pe,L]=Ke("Calendar component was not found in tree");var h=x(require("react")),gt=require("@react-aria/i18n"),Ct=require("@react-aria/utils"),Ae=require("@react-aria/visually-hidden");var ye=require("@internationalized/date"),Ye=require("clsx"),N=Ye.clsx,b=e=>e?"true":void 0;function _e(e,t){let r=[];if(!e||!t)return r;let a=(0,ye.startOfYear)(e);for(;a.compare(t)<=0;)r.push(a),a=(0,ye.startOfYear)(a.add({years:1}));return r}function pr(e,t){return e.add({months:t})}function qe(e){let r=[(0,ye.startOfYear)(e)];for(;r.length<12;){let a=r[r.length-1];r.push(pr(a,1))}return r}function V(...e){return e?.reduce((t,r)=>r?{...t,...r}:t,{})??{}}var X=x(require("react")),Je=require("@react-aria/button"),Qe=require("@react-aria/focus"),Xe=require("@react-aria/interactions"),ge=require("@react-aria/utils");var ze=require("react");function dr(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function mr(...e){return t=>{e.forEach(r=>dr(r,t))}}function H(...e){return(0,ze.useCallback)(mr(...e),e)}var et=(0,X.forwardRef)((e,t)=>{let{children:r,autoFocus:a,isDisabled:n,onKeyDown:i,...d}=e,p=(0,X.useRef)(null),{buttonProps:o,isPressed:s}=(0,Je.useButton)({elementType:"button",isDisabled:n,onKeyDown:i,...d},p),f=H(p,t),{isFocusVisible:l,isFocused:m,focusProps:P}=(0,Qe.useFocusRing)({autoFocus:a}),{isHovered:u,hoverProps:c}=(0,Xe.useHover)({isDisabled:n});return X.default.createElement("button",{ref:f,"data-disabled":b(n),"data-focus":b(m),"data-focus-visible":b(l),"data-hover":b(u),"data-pressed":b(s),className:e.className,...(0,ge.mergeProps)(P,c,o,(0,ge.filterDOMProps)(d))},r)});et.displayName="Button";var O=et;var G=x(require("react")),Ce=require("@internationalized/date"),it=require("@react-aria/calendar"),lt=require("@react-aria/i18n");var ee=x(require("react")),B=require("@internationalized/date"),tt=require("@react-aria/calendar"),rt=require("@react-aria/focus"),at=require("@react-aria/i18n"),ot=require("@react-aria/interactions"),nt=require("@react-aria/utils");function st({isPickerVisible:e,classNames:t,styles:r,state:a,currentMonth:n,...i}){let{locale:d}=(0,at.useLocale)(),p=(0,ee.useRef)(null),{cellProps:o,buttonProps:s,isPressed:f,isSelected:l,isDisabled:m,isFocused:P,isInvalid:u,formattedDate:c}=(0,tt.useCalendarCell)({...i,date:i.date,isDisabled:!(0,B.isSameMonth)(i.date,n)||e},a,p),y=a.isCellUnavailable(i.date),T=!m&&!u&&a.isCellUnavailable(i.date.add({days:1})),R=!m&&!u&&a.isCellUnavailable(i.date.subtract({days:1})),S="highlightedRange"in a&&a.highlightedRange,v=l&&S&&(0,B.isSameDay)(i.date,S.start),g=l&&S&&(0,B.isSameDay)(i.date,S.end),I=(0,B.getDayOfWeek)(i.date,d),M=l&&(R||I===0||i.date.day===1),D=l&&(T||I===6||i.date.day===n.calendar.getDaysInMonth(n)),{focusProps:C,isFocusVisible:k}=(0,rt.useFocusRing)(),{hoverProps:F,isHovered:E}=(0,ot.useHover)({isDisabled:m||y||a.isReadOnly});return ee.default.createElement("td",{...o,role:"grid-body-cell",className:t.gridBodyCell},ee.default.createElement("span",{...(0,nt.mergeProps)(s,F,C),className:t.cellButton,style:r?.cellButton,ref:p,role:"button","data-disabled":b(m&&!u),"data-focus-visible":b(P&&k),"data-hover":b(E),"data-invalid":b(u),"data-outside-month":b(!(0,B.isSameMonth)(i.date,n)),"data-pressed":b(f&&!a.isReadOnly),"data-range-end":b(D),"data-range-selection":b(l&&"highlightedRange"in a),"data-range-start":b(M),"data-readonly":b(a.isReadOnly),"data-selected":b(l),"data-selection-end":b(g),"data-selection-start":b(v),"data-today":b((0,B.isToday)(i.date,a.timeZone)),"data-unavailable":b(y)},ee.default.createElement("span",null,c)))}var ur=e=>{let{startDate:t,currentMonth:r,...a}=e,{state:n,weekdayStyle:i,isPickerExpanded:d,classNames:p,styles:o}=L(),{locale:s}=(0,lt.useLocale)(),f=(0,Ce.getWeeksInMonth)(t,s),{gridProps:l,headerProps:m,weekDays:P}=(0,it.useCalendarGrid)({...a,weekdayStyle:i,endDate:(0,Ce.endOfMonth)(t)},n),u=[...new Array(f).keys()].map(c=>G.default.createElement("tr",{role:"grid-body-row",className:p.gridBodyRow,key:c,"data-picker-expanded":b(d)},n.getDatesInWeek(c,t).map((y,T)=>y?G.default.createElement(st,{key:T,state:n,currentMonth:t,date:y,isPickerVisible:d,classNames:p,styles:o}):G.default.createElement("td",{key:T}))));return G.default.createElement("table",{...l,role:"grid",className:N(p.grid,l.className),"aria-hidden":b(d),tabIndex:-1},G.default.createElement("thead",{...m,className:N(p.gridHead,m.className),style:V(m.style,o?.gridHead),role:"grid-header"},G.default.createElement("tr",{className:p.gridHeadRow,style:o?.gridHeadRow,role:"grid-header-row"},P.map((c,y)=>G.default.createElement("th",{key:y,role:"grid-header-cell",className:p.gridHeadCell,style:o?.gridHeadCell},G.default.createElement("span",null,c))))),G.default.createElement("tbody",{key:r,className:p.gridBody,style:o?.gridBody,role:"grid-body"},u))},ve=ur;var U=x(require("react")),dt=require("@react-aria/i18n");var Ie=x(require("react")),cr=e=>Ie.createElement("svg",{width:20,height:20,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ie.createElement("path",{d:"m5 7.5 5 5 5-5",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})),pt=cr;var fr=e=>{let{date:t,currentMonth:r,...a}=e,{state:n,headerRef:i,withPicker:d,classNames:p,styles:o,isPickerExpanded:s,setPickerExpanded:f}=L(),m=(0,dt.useDateFormatter)({month:"long",era:r.calendar.identifier==="gregory"&&r.era==="BC"?"short":void 0,calendar:r.calendar.identifier,timeZone:n.timeZone,year:"numeric"}).format(t.toDate(n.timeZone)),P=(0,U.useCallback)(u=>{u.key==="Escape"&&(u.preventDefault(),u.stopPropagation(),f?.(!1))},[f]);return d?U.default.createElement("div",{className:p.month,style:o?.month,ref:i,...a},U.default.createElement(O,{onPress:()=>f(!s),onKeyDown:P,className:p?.picker?.button,style:o?.picker?.button,ref:i,"data-expanded":b(s)},U.default.createElement("span",{key:r.month,"aria-hidden":!0},m),U.default.createElement(pt,{role:"chevron-down",className:p?.picker?.buttonIcon,style:o?.picker?.buttonIcon}))):U.default.createElement("div",{className:p.month,style:o?.month,ref:i,...a},U.default.createElement("span",{key:r.month,"aria-hidden":!0},m))},Ne=fr;var Ee=x(require("react")),Pr=e=>Ee.createElement("svg",{"aria-hidden":"true",role:"presentation",width:20,height:20,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ee.createElement("path",{d:"m12.5 15-5-5 5-5",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})),he=Pr;var Me=x(require("react")),yr=e=>Me.createElement("svg",{"aria-hidden":"true",role:"presentation",width:20,height:20,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"m7.5 15 5-5-5-5",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})),De=yr;var A=x(require("react")),Fe=require("@react-aria/i18n");var w=x(require("react")),ft=x(require("lodash.debounce")),Pt=x(require("scroll-into-view-if-needed"));function mt(e,t){let r=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),a=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top));return r*a}var ut=require("react"),gr=()=>{let e=(0,ut.useRef)(new Map);function t(){return e.current||(e.current=new Map),e.current}function r(a,n){a?e.current.set(n,a):e.current.delete(n)}return[r,t]},ct=gr;var te=x(require("react")),Cr=({className:e,total:t,...r})=>te.default.createElement(te.default.Fragment,null,Array.from({length:t},(a,n)=>te.default.createElement("div",{key:n,"aria-hidden":"true",className:e,role:"picker-item-empty",tabIndex:-1,...r},"\xA0"))),Ve=(0,te.memo)(Cr);var hr=200,Dr=e=>{let{initialDate:t,options:r=[],className:a,style:n,listClassName:i,itemClassName:d,listStyle:p,itemStyle:o,listType:s="month",highlightRef:f,...l}=e,m=(0,w.useRef)(null),[P,u]=ct(),{state:c,isPickerExpanded:y,headerRef:T,setPickerExpanded:R,pickerEmptyItem:S}=L(),v=(0,w.useCallback)((D,C)=>{if(!(D.target instanceof HTMLElement))return;let k=u(),E=Array.from(k.values()).findLast(Xt=>{let er=Xt.getBoundingClientRect(),$e=C?.getBoundingClientRect();return $e?mt(er,$e)>50:!1}),ue=Number(E?.getAttribute("data-value"));if(!ue)return;let Qt=c.focusedDate.set({[s]:ue});c.setFocusedDate(Qt)},[c,t,s,y]);(0,w.useEffect)(()=>{let D=m.current,C=f;if(!C)return;let k=(0,ft.default)(F=>v(F,C),hr);return D?.addEventListener("scroll",k),()=>{k&&D?.removeEventListener("scroll",k)}},[v]);let g=(0,w.useCallback)((D,C=!0)=>{let F=u().get(D);F&&(0,Pt.default)(F,{scrollMode:"always",behavior:C?"smooth":"instant",boundary:m.current})},[u]),I=(0,w.useCallback)(D=>{let C=D.target,k=Number(C.getAttribute("data-value"));if(k===c.focusedDate[s]){R?.(!1);return}k&&g(k)},[c]),M=(0,w.useCallback)((D,C)=>{let k=u();if(!k.get(C))return;let E=C;switch(D.key){case"ArrowDown":E=C+1;break;case"ArrowUp":E=C-1;break;case"Home":E=0;break;case"End":E=r.length-1;break;case"PageUp":E=C-3;break;case"PageDown":E=C+3;break;case"Escape":case"Enter":case" ":R?.(!1),T?.current?.focus();return}k.get(E)?.focus()},[u,r.length,R,T]);return(0,w.useEffect)(()=>{y&&g(t,!1)},[y]),w.default.createElement("div",{ref:m,className:N(i,a),style:V({overflowY:"scroll"},n,p),role:`picker-${s}-list`,...l},w.default.createElement(Ve,{total:S,className:d,style:o}),r.map(D=>w.default.createElement(O,{role:`picker-${s}-item`,key:`picker-${s}-${D.value}`,ref:C=>P(C,D.value),className:d,style:o,"data-value":D.value,tabIndex:!y||c.focusedDate?.[s]!==D.value?-1:0,onKeyDown:C=>M(C,D.value),onPress:C=>I(C)},D.label)),w.default.createElement(Ve,{total:S,className:d}))},we=(0,w.memo)(Dr);var br=e=>{let{date:t,currentMonth:r,className:a,style:n,...i}=e,{state:d,isPickerExpanded:p,classNames:o,styles:s}=L(),[f,l]=(0,A.useState)(null),m=(0,Fe.useDateFormatter)({month:"long",era:r.calendar.identifier==="gregory"&&r.era==="BC"?"short":void 0,calendar:r.calendar.identifier,timeZone:d.timeZone}),P=(0,Fe.useDateFormatter)({year:"numeric",timeZone:d.timeZone}),u=(0,A.useMemo)(()=>_e(d.minValue,d.maxValue)?.map(y=>({value:y.year,label:P.format(y.toDate(d.timeZone))})),[d.minValue,d.maxValue,P,d.timeZone]),c=(0,A.useMemo)(()=>qe(t).map(y=>({value:y.month,label:m.format(y.toDate(d.timeZone))})),[t,m,d.timeZone]);return A.default.createElement("div",{...i,"data-expanded":b(p),className:N(o?.picker?.root,a),style:V({height:"var(--picker-height)"},n,s?.picker?.root),role:"picker-root",inert:p?void 0:"true"},A.default.createElement("div",{ref:l,className:o?.picker?.highlight,style:s?.picker?.highlight,role:"picker-highlight"}),A.default.createElement(we,{highlightRef:f,options:c,listClassName:N(o?.picker?.list,o?.picker?.monthList),listStyle:V(s?.picker?.list,s?.picker?.monthList),itemClassName:N(o?.picker?.item,o?.picker?.monthItem),itemStyle:V(s?.picker?.item,s?.picker?.monthItem),initialDate:t.month,listType:"month"}),A.default.createElement(we,{highlightRef:f,options:u,listClassName:N(o?.picker?.list,o?.picker?.yearList),listStyle:V(s?.picker?.list,s?.picker?.yearList),itemClassName:N(o?.picker?.item,o?.picker?.yearItem),itemStyle:V(s?.picker?.item,s?.picker?.yearItem),initialDate:t.year,listType:"year"}))},yt=(0,A.memo)(br);var Tr=(0,h.forwardRef)((e,t)=>{let{calendarProps:r,headerLayout:a="apart",className:n,prevButtonProps:i,nextButtonProps:d,header:p,footer:o}=e,{state:s,visibleMonths:f,classNames:l,withPicker:m,pickerHeight:P,isPickerExpanded:u,styles:c}=L(),{direction:y}=(0,gt.useLocale)(),T=s.visibleRange.start,R=y==="rtl",S=[],v=[];for(let g=0;g<f;g++){let I=T.add({months:g}),M=h.default.createElement(h.Fragment,{key:`calendar-header-${g}`},g===0&&h.default.createElement(O,{...i,className:N(l.nav,R?l.nextButton:l.previousButton),role:R?"next-button":"previous-button"},R?h.default.createElement(De,null):h.default.createElement(he,null)),h.default.createElement(Ne,{"data-layout":a,currentMonth:T,date:I}),g===f-1&&h.default.createElement(O,{...d,className:N(l.nav,R?l.previousButton:l.nextButton),role:R?"previous-button":"next-button"},R?h.default.createElement(he,null):h.default.createElement(De,null))),D=h.default.createElement("div",{className:l.navGroup,style:c?.navGroup},h.default.createElement(O,{...i,className:N(l.nav,l.nextButton),role:"next-button"},h.default.createElement(he,null)),h.default.createElement(O,{...d,className:N(l.nav,l.previousButton),role:"previous-button"},h.default.createElement(De,null))),C=h.default.createElement(h.Fragment,{key:`calendar-header-${g}`},a==="left"?D:null,h.default.createElement(Ne,{"data-layout":a,currentMonth:T,date:I}),a==="right"?D:null);S.push(a==="apart"?M:C);let k=m?h.default.createElement("div",{key:`calendar-month-${g}`,className:l.gridGroup,role:"calendar-month-group"},h.default.createElement(yt,{key:`calendar-picker-${g}`,"data-index":g,currentMonth:T,date:I}),h.default.createElement(ve,{...e,key:`calendar-grid-${g}`,currentMonth:T.month,startDate:I})):h.default.createElement("div",{key:`calendar-month-${g}`,className:l.gridGroup,role:"calendar-month-group"},h.default.createElement(ve,{...e,key:`calendar-grid-${g}`,currentMonth:T.month,startDate:I}));v.push(k)}return h.default.createElement("div",{...(0,Ct.mergeProps)(r),style:V({"--picker-height":`${P}px`},r?.style,c?.root),"data-picker-expanded":b(u),className:N(n,l.root),ref:t},p,h.default.createElement(Ae.VisuallyHidden,null,h.default.createElement("h2",null,r["aria-label"])),h.default.createElement("div",{className:l.container,style:c?.container},h.default.createElement("div",{className:l.header,style:c?.header},S),h.default.createElement("div",{className:l.gridWrapper,style:V(m&&u?{minHeight:"var(--picker-height)",maxHeight:"var(--picker-height)",overflowY:"hidden"}:{},c?.gridWrapper)},v)),h.default.createElement(Ae.VisuallyHidden,null,h.default.createElement("button",{"aria-label":d["aria-label"],disabled:d.isDisabled,tabIndex:-1,onClick:()=>s.focusNextPage()})),u?null:o)}),be=(0,h.memo)(Tr);function Tt(e,t){let{minValue:r=new ie.CalendarDate(1900,1,1),maxValue:a=new ie.CalendarDate(2099,12,31),className:n,classNames:i={},styles:d={},visibleMonths:p=1,weekdayStyle:o="short",createCalendar:s,withPicker:f=!1,pickerHeight:l=278,pickerEmptyItem:m=3,pickerOpen:P,defaultPickerOpen:u=!1,onPickerOpenChange:c,headerLayout:y,...T}=e,{locale:R}=(0,Dt.useLocale)(),S=Math.max(1,Math.min(p,4)),v=(0,j.useMemo)(()=>({months:S}),[S]),g=(0,bt.useCalendarState)({...e,locale:R,minValue:r,maxValue:a,visibleDuration:v,createCalendar:!s||typeof s!="function"?ie.createCalendar:s}),[I,M]=fe({prop:P,defaultProp:u,onChange:c}),{calendarProps:D,prevButtonProps:C,nextButtonProps:k,title:F,errorMessageProps:E}=(0,ht.useCalendar)(e,g);return j.default.createElement(Pe,{value:{state:g,visibleMonths:S,weekdayStyle:o,withPicker:f,pickerHeight:l,pickerEmptyItem:m,isPickerExpanded:I,setPickerExpanded:M,classNames:i,styles:d}},j.default.createElement(be,{ref:t,calendarProps:D,prevButtonProps:C,nextButtonProps:k,title:F,errorMessageProps:E,className:n,headerLayout:y,...T}))}Tt.displayName="Calendar";var Te=(0,j.forwardRef)(Tt);var W=x(require("react")),le=require("@internationalized/date"),Rt=require("@react-aria/calendar"),kt=require("@react-aria/i18n"),xt=require("@react-stately/calendar");function St(e,t){let{minValue:r=new le.CalendarDate(1900,1,1),maxValue:a=new le.CalendarDate(2099,12,31),className:n,classNames:i={},styles:d={},visibleMonths:p=1,weekdayStyle:o="short",createCalendar:s,withPicker:f=!1,pickerHeight:l=278,pickerEmptyItem:m=3,pickerOpen:P,defaultPickerOpen:u=!1,onPickerOpenChange:c,...y}=e,{locale:T}=(0,kt.useLocale)(),R=f?1:Math.max(1,Math.min(p,3)),S=(0,W.useMemo)(()=>({months:R}),[R]),v=(0,xt.useRangeCalendarState)({...e,locale:T,minValue:r,maxValue:a,visibleDuration:S,createCalendar:!s||typeof s!="function"?le.createCalendar:s}),g=(0,W.useRef)(null),{calendarProps:I,prevButtonProps:M,nextButtonProps:D,title:C,errorMessageProps:k}=(0,Rt.useRangeCalendar)(e,v,g),[F,E]=fe({prop:P,defaultProp:u,onChange:c}),ue=H(g,t);return W.default.createElement(Pe,{value:{state:v,visibleMonths:R,weekdayStyle:o,classNames:i,styles:d,withPicker:f,pickerHeight:l,pickerEmptyItem:m,isPickerExpanded:F,setPickerExpanded:E}},W.default.createElement(be,{ref:ue,calendarProps:I,prevButtonProps:M,nextButtonProps:D,title:C,errorMessageProps:k,className:n,...y}))}St.displayName="RangeCalendar";var Re=(0,W.forwardRef)(St);var vt=require("react"),Le=require("@internationalized/date"),It=require("@react-aria/datepicker"),ke=require("@react-aria/utils"),Nt=require("@react-stately/datepicker");var He=(e={})=>{let{minValue:t=new Le.CalendarDate(1900,1,1),maxValue:r=new Le.CalendarDate(2099,12,31),timeInputProps:a={},dateInputProps:n={},calendarProps:i={},...d}=e,p=(0,vt.useRef)(null),o=(0,Nt.useDatePickerState)({...d,minValue:t,maxValue:r,shouldCloseOnSelect:()=>!o.hasTime}),{groupProps:s,labelProps:f,fieldProps:l,buttonProps:m,dialogProps:P,calendarProps:u}=(0,It.useDatePicker)({...d,minValue:t,maxValue:r},o,p),c=o.granularity==="hour"||o.granularity==="minute"||o.granularity==="second"?o.granularity:null,y=!!c,{onPress:T,isDisabled:R,...S}=m,v={...S,onClick:()=>o.toggle(),"data-disabled":b(R)},g={...l,groupProps:s,labelProps:f,granularity:c,label:e.label},I=t&&"hour"in t?t:null,M=r&&"hour"in r?r:null,D=y?{...a,value:o.timeValue,onChange:o.setTimeValue,granularity:c,minValue:I??void 0,maxValue:M??void 0}:{};return{ref:p,state:o,getTriggerProps:v,getAriaTriggerProps:m,getTimeInputProps:(0,ke.mergeProps)(D,a),getDateInputProps:(0,ke.mergeProps)(g,n),getCalendarProps:(0,ke.mergeProps)(u,i),getDialogProps:P}};var Et=require("react"),Be=require("@internationalized/date"),Mt=require("@react-aria/datepicker"),re=require("@react-aria/utils"),Vt=require("@react-stately/datepicker");var Ge=(e={})=>{let{minValue:t=new Be.CalendarDate(1900,1,1),maxValue:r=new Be.CalendarDate(2099,12,31),timeInputProps:a={},dateInputProps:n={},calendarProps:i={},...d}=e,p=(0,Et.useRef)(null),o=(0,Vt.useDateRangePickerState)({...d,minValue:t,maxValue:r,shouldCloseOnSelect:()=>!o.hasTime}),{groupProps:s,labelProps:f,startFieldProps:l,endFieldProps:m,buttonProps:P,dialogProps:u,calendarProps:c}=(0,Mt.useDateRangePicker)({...d,minValue:t,maxValue:r},o,p),y=o.granularity==="hour"||o.granularity==="minute"||o.granularity==="second"?o.granularity:null,T=!!y,{onPress:R,isDisabled:S,...v}=P,g={...v,onClick:()=>o.toggle(),onPress:R,"data-disabled":b(S)},I={...l,granularity:y},M={...m,granularity:y},D=t&&"hour"in t?t:null,C=r&&"hour"in r?r:null,k=T?{...a,value:o.timeRange?.start||null,onChange:E=>o.setTime("start",E),granularity:y,minValue:D??void 0,maxValue:C??void 0}:{},F=T?{...a,value:o.timeRange?.end||null,onChange:E=>o.setTime("end",E),granularity:y,minValue:D??void 0,maxValue:C??void 0}:{};return{ref:p,state:o,getTriggerProps:g,getAriaTriggerProps:P,getDateRangeProps:{state:o,label:e.label,groupProps:s,labelProps:f,getStartDateFieldProps:(0,re.mergeProps)(I,a),getEndDateFieldProps:(0,re.mergeProps)(M,a)},getTimeInputRangeProps:{getEndTimeInputProps:(0,re.mergeProps)(F,n),getStartTimeInputProps:(0,re.mergeProps)(k,n)},getCalendarProps:(0,re.mergeProps)(c,i),getDialogProps:u}};var Y=x(require("react")),pe=require("@internationalized/date"),Ht=require("@react-aria/datepicker"),Bt=require("@react-aria/i18n"),K=require("@react-aria/utils"),Gt=require("@react-stately/datepicker");var ae=x(require("react")),At=require("@react-aria/utils");var xe=x(require("react")),wt=require("@react-aria/datepicker"),Ft=({state:e,segment:t,...r})=>{let a=(0,xe.useRef)(null),{segmentProps:n}=(0,wt.useDateSegment)(t,e,a);return xe.default.createElement("div",{...n,...r,ref:a,"data-editable":t.isEditable,"data-invalid":e.isInvalid,"data-placeholder":t.isPlaceholder,"data-type":t.type,style:{...n.style}},t.text)};var Rr=(0,ae.forwardRef)((e,t)=>{let{state:r,classNames:a,styles:n,inputProps:i={},fieldProps:d={},segmentProps:{className:p="",style:o={},...s}={},formatSegment:f=m=>m,...l}=e;return ae.default.createElement("div",{...(0,At.mergeProps)(d,l),"data-disabled":r.isDisabled,"data-invalid":r.isInvalid,className:N(a.segmentWrapper),style:n?.segmentWrapper,ref:t},f(r.segments).map((m,P)=>ae.default.createElement(Ft,{key:P,className:N(a.segment,p),style:V(n?.segment,o),segment:m,state:r,...s})),ae.default.createElement("input",{...i}))}),oe=Rr;var ne=x(require("react"));var Lt=(0,ne.forwardRef)((e,t)=>{let{label:r,labelProps:a,children:n,groupProps:i,className:d,style:p,classNames:o,styles:s,startContent:f,endContent:l,...m}=e,P=a?.children??r;return ne.default.createElement("div",{...i,...m,className:N(o?.root,d),style:V(s?.root,p)},P?ne.default.createElement("label",{...a,className:o?.label,style:s?.label},P):null,ne.default.createElement("div",{className:o?.group,style:s?.group,ref:t},f,n,l))});Lt.displayName="DateInputGroup";var se=Lt;var Ot=(e,t)=>{let{groupProps:r={},labelProps:a={},inputProps:n={},fieldProps:i={},className:d,classNames:p={},styles:o={},style:s,shouldForceLeadingZeros:f=!0,minValue:l=new pe.CalendarDate(1900,1,1),maxValue:m=new pe.CalendarDate(2099,12,31),createCalendar:P,segmentProps:u,formatSegment:c,startContent:y,endContent:T,children:R,...S}=e,{locale:v}=(0,Bt.useLocale)(),g=(0,Gt.useDateFieldState)({...e,locale:v,minValue:l,maxValue:m,shouldForceLeadingZeros:f,createCalendar:!P||typeof P!="function"?pe.createCalendar:P}),I=(0,Y.useRef)(null),M=H(I,t),{labelProps:D,fieldProps:C,inputProps:k}=(0,Ht.useDateField)({...e,shouldForceLeadingZeros:f},g,I);return Y.default.createElement(se,{"data-disabled":g.isDisabled,"data-invalid":g.isInvalid,className:d,classNames:p,styles:o,style:s,ref:M,labelProps:(0,K.mergeProps)(D,a),startContent:y,endContent:T,label:e.label,...(0,K.mergeProps)(r,(0,K.filterDOMProps)(S))},Y.default.createElement(oe,{fieldProps:(0,K.mergeProps)(C,i),inputProps:(0,K.mergeProps)(k,n),state:g,classNames:p,segmentProps:u,formatSegment:c,styles:o}),R)};Ot.displayName="DateInput";var Oe=(0,Y.forwardRef)(Ot);var $=x(require("react")),jt=require("@react-aria/utils");var _=x(require("react")),de=require("@internationalized/date"),Ut=require("@react-aria/datepicker"),Wt=require("@react-aria/i18n"),me=require("@react-aria/utils"),Zt=require("@react-stately/datepicker");var $t=(e,t)=>{let{fieldProps:r={},inputProps:a={},classNames:n={},styles:i={},shouldForceLeadingZeros:d=!0,minValue:p=new de.CalendarDate(1900,1,1),maxValue:o=new de.CalendarDate(2099,12,31),createCalendar:s,segmentProps:f,formatSegment:l,...m}=e,{locale:P}=(0,Wt.useLocale)(),u=(0,Zt.useDateFieldState)({...e,locale:P,minValue:p,maxValue:o,shouldForceLeadingZeros:d,createCalendar:!s||typeof s!="function"?de.createCalendar:s}),c=(0,_.useRef)(null),y=H(c,t),{fieldProps:T,inputProps:R}=(0,Ut.useDateField)({...e,shouldForceLeadingZeros:d},u,c);return _.default.createElement("div",{"data-disabled":u.isDisabled,"data-invalid":u.isInvalid,ref:y,...(0,me.filterDOMProps)(m)},_.default.createElement(oe,{fieldProps:(0,me.mergeProps)(T,r),inputProps:(0,me.mergeProps)(R,a),state:u,classNames:n,segmentProps:f,formatSegment:l,styles:i}))};$t.displayName="DateRangeField";var Ue=(0,_.forwardRef)($t);var Kt=(e,t)=>{let{state:r,label:a,groupProps:n={},labelProps:i={},className:d,classNames:p={},separator:o=$.default.createElement("span",{className:p?.separator},"-"),styles:s={},style:f,startContent:l,endContent:m,children:P,getStartDateFieldProps:u,getEndDateFieldProps:c}=e;return $.default.createElement(se,{"data-disabled":r.isInvalid,"data-invalid":r.isInvalid,className:d,classNames:p,styles:s,style:f,labelProps:(0,jt.mergeProps)(i),startContent:l,endContent:m,label:a,ref:t,...n},$.default.createElement("div",{className:p.rangeGroup},$.default.createElement(Ue,{...u,classNames:p,styles:s}),o,$.default.createElement(Ue,{...c,classNames:p,styles:s})),P)};Kt.displayName="DateRangeInput";var We=(0,$.forwardRef)(Kt);var z=x(require("react")),Yt=require("@react-aria/datepicker"),_t=require("@react-aria/i18n"),q=require("@react-aria/utils"),qt=require("@react-stately/datepicker");var zt=(e,t)=>{let{groupProps:r={},labelProps:a={},inputProps:n={},fieldProps:i={},className:d,classNames:p={},styles:o={},style:s,shouldForceLeadingZeros:f=!0,minValue:l,maxValue:m,segmentProps:P,formatSegment:u,startContent:c,endContent:y,children:T,...R}=e,{locale:S}=(0,_t.useLocale)(),v=(0,qt.useTimeFieldState)({...e,locale:S,minValue:l,maxValue:m,shouldForceLeadingZeros:f}),g=(0,z.useRef)(null),I=H(g,t),{labelProps:M,fieldProps:D,inputProps:C}=(0,Yt.useTimeField)({...e,shouldForceLeadingZeros:f},v,g);return z.default.createElement(se,{"data-disabled":v.isDisabled,"data-invalid":v.isInvalid,className:d,classNames:p,styles:o,style:s,ref:I,labelProps:(0,q.mergeProps)(M,a),startContent:c,endContent:y,label:e.label,...(0,q.mergeProps)(r,(0,q.filterDOMProps)(R))},z.default.createElement(oe,{fieldProps:(0,q.mergeProps)(D,i),inputProps:(0,q.mergeProps)(C,n),state:v,classNames:p,segmentProps:P,formatSegment:u,styles:o}),T)};zt.displayName="TimeInput";var Ze=(0,z.forwardRef)(zt);var kr={DateInput:Oe,TimeInput:Ze,DateRangeInput:We,Calendar:Te,RangeCalendar:Re,useDatePicker:He,useDateRangePicker:Ge};0&&(module.exports={Calendar,CalendarKit,DateInput,DateRangeInput,LocaleProvider,RangeCalendar,TimeInput,useDatePicker,useDateRangePicker});