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) • 2.16 kB
JavaScript
'use client';
var u=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var B=(r,e)=>{for(var a in e)u(r,a,{get:e[a],enumerable:!0})},H=(r,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of G(e))!j.call(r,n)&&n!==a&&u(r,n,{get:()=>e[n],enumerable:!(o=U(e,n))||o.enumerable});return r};var L=r=>H(u({},"__esModule",{value:!0}),r);var z={};B(z,{useDateRangePicker:()=>q});module.exports=L(z);var T=require("react"),l=require("@internationalized/date"),f=require("@react-aria/datepicker"),s=require("@react-aria/utils"),y=require("@react-stately/datepicker");var Y=require("@internationalized/date"),N=require("clsx");var R=r=>r?"true":void 0;var q=(r={})=>{let{minValue:e=new l.CalendarDate(1900,1,1),maxValue:a=new l.CalendarDate(2099,12,31),timeInputProps:o={},dateInputProps:n={},calendarProps:b={},...g}=r,P=(0,T.useRef)(null),t=(0,y.useDateRangePickerState)({...g,minValue:e,maxValue:a,shouldCloseOnSelect:()=>!t.hasTime}),{groupProps:h,labelProps:V,startFieldProps:I,endFieldProps:S,buttonProps:m,dialogProps:x,calendarProps:C}=(0,f.useDateRangePicker)({...g,minValue:e,maxValue:a},t,P),p=t.granularity==="hour"||t.granularity==="minute"||t.granularity==="second"?t.granularity:null,d=!!p,{onPress:k,isDisabled:A,...M}=m,F={...M,onClick:()=>t.toggle(),onPress:k,"data-disabled":R(A)},E={...I,granularity:p},O={...S,granularity:p},c=e&&"hour"in e?e:null,D=a&&"hour"in a?a:null,w=d?{...o,value:t.timeRange?.start||null,onChange:i=>t.setTime("start",i),granularity:p,minValue:c??void 0,maxValue:D??void 0}:{},v=d?{...o,value:t.timeRange?.end||null,onChange:i=>t.setTime("end",i),granularity:p,minValue:c??void 0,maxValue:D??void 0}:{};return{ref:P,state:t,getTriggerProps:F,getAriaTriggerProps:m,getDateRangeProps:{state:t,label:r.label,groupProps:h,labelProps:V,getStartDateFieldProps:(0,s.mergeProps)(E,o),getEndDateFieldProps:(0,s.mergeProps)(O,o)},getTimeInputRangeProps:{getEndTimeInputProps:(0,s.mergeProps)(v,n),getStartTimeInputProps:(0,s.mergeProps)(w,n)},getCalendarProps:(0,s.mergeProps)(C,b),getDialogProps:x}};0&&(module.exports={useDateRangePicker});