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) • 3.01 kB
JavaScript
'use client';
var G=Object.create;var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var z=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})},C=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Y(t))!q.call(e,a)&&a!==r&&f(e,a,{get:()=>t[a],enumerable:!(s=j(t,a))||s.enumerable});return e};var T=(e,t,r)=>(r=e!=null?G(Z(e)):{},C(t||!e||!e.__esModule?f(r,"default",{value:e,enumerable:!0}):r,e)),B=e=>C(f({},"__esModule",{value:!0}),e);var _={};z(_,{default:()=>X});module.exports=B(_);var n=T(require("react")),i=require("@internationalized/date"),L=require("@react-aria/datepicker"),k=require("@react-aria/i18n"),m=require("@react-aria/utils"),A=require("@react-stately/datepicker");var b=require("react");function J(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function K(...e){return t=>{e.forEach(r=>J(r,t))}}function I(...e){return(0,b.useCallback)(K(...e),e)}var o=T(require("react")),E=require("@react-aria/utils");var Q=require("@internationalized/date"),h=require("clsx"),x=h.clsx;function M(...e){return e?.reduce((t,r)=>r?{...t,...r}:t,{})??{}}var c=T(require("react")),V=require("@react-aria/datepicker"),v=({state:e,segment:t,...r})=>{let s=(0,c.useRef)(null),{segmentProps:a}=(0,V.useDateSegment)(t,e,s);return c.default.createElement("div",{...a,...r,ref:s,"data-editable":t.isEditable,"data-invalid":e.isInvalid,"data-placeholder":t.isPlaceholder,"data-type":t.type,style:{...a.style}},t.text)};var U=(0,o.forwardRef)((e,t)=>{let{state:r,classNames:s,styles:a,inputProps:y={},fieldProps:u={},segmentProps:{className:g="",style:P={},...p}={},formatSegment:D=l=>l,...S}=e;return o.default.createElement("div",{...(0,E.mergeProps)(u,S),"data-disabled":r.isDisabled,"data-invalid":r.isInvalid,className:x(s.segmentWrapper),style:a?.segmentWrapper,ref:t},D(r.segments).map((l,R)=>o.default.createElement(v,{key:R,className:x(s.segment,g),style:M(a?.segment,P),segment:l,state:r,...p})),o.default.createElement("input",{...y}))}),N=U;var w=(e,t)=>{let{fieldProps:r={},inputProps:s={},classNames:a={},styles:y={},shouldForceLeadingZeros:u=!0,minValue:g=new i.CalendarDate(1900,1,1),maxValue:P=new i.CalendarDate(2099,12,31),createCalendar:p,segmentProps:D,formatSegment:S,...l}=e,{locale:R}=(0,k.useLocale)(),d=(0,A.useDateFieldState)({...e,locale:R,minValue:g,maxValue:P,shouldForceLeadingZeros:u,createCalendar:!p||typeof p!="function"?i.createCalendar:p}),F=(0,n.useRef)(null),H=I(F,t),{fieldProps:O,inputProps:W}=(0,L.useDateField)({...e,shouldForceLeadingZeros:u},d,F);return n.default.createElement("div",{"data-disabled":d.isDisabled,"data-invalid":d.isInvalid,ref:H,...(0,m.filterDOMProps)(l)},n.default.createElement(N,{fieldProps:(0,m.mergeProps)(O,r),inputProps:(0,m.mergeProps)(W,s),state:d,classNames:a,segmentProps:D,formatSegment:S,styles:y}))};w.displayName="DateRangeField";var X=(0,n.forwardRef)(w);