UNPKG

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) 4.21 kB
'use client'; var X=Object.create;var x=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var ee=Object.getPrototypeOf,te=Object.prototype.hasOwnProperty;var ae=(t,e)=>{for(var s in e)x(t,s,{get:e[s],enumerable:!0})},B=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of $(e))!te.call(t,a)&&a!==s&&x(t,a,{get:()=>e[a],enumerable:!(n=_(e,a))||n.enumerable});return t};var R=(t,e,s)=>(s=t!=null?X(ee(t)):{},B(e||!t||!t.__esModule?x(s,"default",{value:t,enumerable:!0}):s,t)),re=t=>B(x({},"__esModule",{value:!0}),t);var ie={};ae(ie,{default:()=>se});module.exports=re(ie);var l=R(require("react")),P=require("@internationalized/date"),W=require("@react-aria/calendar"),F=require("@react-aria/i18n");var ne=require("@internationalized/date"),E=require("clsx"),w=E.clsx,r=t=>t?"true":void 0;function H(...t){return t?.reduce((e,s)=>s?{...e,...s}:e,{})??{}}var y=R(require("react")),o=require("@internationalized/date"),V=require("@react-aria/calendar"),M=require("@react-aria/focus"),A=require("@react-aria/i18n"),I=require("@react-aria/interactions"),O=require("@react-aria/utils");function G({isPickerVisible:t,classNames:e,styles:s,state:n,currentMonth:a,...d}){let{locale:h}=(0,A.useLocale)(),i=(0,y.useRef)(null),{cellProps:m,buttonProps:k,isPressed:D,isSelected:u,isDisabled:c,isFocused:v,isInvalid:g,formattedDate:f}=(0,V.useCalendarCell)({...d,date:d.date,isDisabled:!(0,o.isSameMonth)(d.date,a)||t},n,i),p=n.isCellUnavailable(d.date),S=!c&&!g&&n.isCellUnavailable(d.date.add({days:1})),U=!c&&!g&&n.isCellUnavailable(d.date.subtract({days:1})),b="highlightedRange"in n&&n.highlightedRange,j=u&&b&&(0,o.isSameDay)(d.date,b.start),K=u&&b&&(0,o.isSameDay)(d.date,b.end),N=(0,o.getDayOfWeek)(d.date,h),Y=u&&(U||N===0||d.date.day===1),Z=u&&(S||N===6||d.date.day===a.calendar.getDaysInMonth(a)),{focusProps:q,isFocusVisible:z}=(0,M.useFocusRing)(),{hoverProps:J,isHovered:Q}=(0,I.useHover)({isDisabled:c||p||n.isReadOnly});return y.default.createElement("td",{...m,role:"grid-body-cell",className:e.gridBodyCell},y.default.createElement("span",{...(0,O.mergeProps)(k,J,q),className:e.cellButton,style:s?.cellButton,ref:i,role:"button","data-disabled":r(c&&!g),"data-focus-visible":r(v&&z),"data-hover":r(Q),"data-invalid":r(g),"data-outside-month":r(!(0,o.isSameMonth)(d.date,a)),"data-pressed":r(D&&!n.isReadOnly),"data-range-end":r(Z),"data-range-selection":r(u&&"highlightedRange"in n),"data-range-start":r(Y),"data-readonly":r(n.isReadOnly),"data-selected":r(u),"data-selection-end":r(K),"data-selection-start":r(j),"data-today":r((0,o.isToday)(d.date,n.timeZone)),"data-unavailable":r(p)},y.default.createElement("span",null,f)))}var C=R(require("react"));function L(t){let e=(0,C.createContext)(null);return[({children:a,value:d})=>C.default.createElement(e.Provider,{value:d},a),()=>{let a=(0,C.useContext)(e);if(a===null)throw new Error(t);return a}]}var[ge,T]=L("Calendar component was not found in tree");var de=t=>{let{startDate:e,currentMonth:s,...n}=t,{state:a,weekdayStyle:d,isPickerExpanded:h,classNames:i,styles:m}=T(),{locale:k}=(0,F.useLocale)(),D=(0,P.getWeeksInMonth)(e,k),{gridProps:u,headerProps:c,weekDays:v}=(0,W.useCalendarGrid)({...n,weekdayStyle:d,endDate:(0,P.endOfMonth)(e)},a),g=[...new Array(D).keys()].map(f=>l.default.createElement("tr",{role:"grid-body-row",className:i.gridBodyRow,key:f,"data-picker-expanded":r(h)},a.getDatesInWeek(f,e).map((p,S)=>p?l.default.createElement(G,{key:S,state:a,currentMonth:e,date:p,isPickerVisible:h,classNames:i,styles:m}):l.default.createElement("td",{key:S}))));return l.default.createElement("table",{...u,role:"grid",className:w(i.grid,u.className),"aria-hidden":r(h),tabIndex:-1},l.default.createElement("thead",{...c,className:w(i.gridHead,c.className),style:H(c.style,m?.gridHead),role:"grid-header"},l.default.createElement("tr",{className:i.gridHeadRow,style:m?.gridHeadRow,role:"grid-header-row"},v.map((f,p)=>l.default.createElement("th",{key:p,role:"grid-header-cell",className:i.gridHeadCell,style:m?.gridHeadCell},l.default.createElement("span",null,f))))),l.default.createElement("tbody",{key:s,className:i.gridBody,style:m?.gridBody,role:"grid-body"},g))},se=de;