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) 2.98 kB
'use client'; import{a as M}from"./chunk-QKTCKT62.mjs";import{a as m}from"./chunk-HWFSS7R2.mjs";import{a as p}from"./chunk-KRZGAABX.mjs";import{a as f}from"./chunk-OGSH2PFV.mjs";import{a as g}from"./chunk-FRP23O27.mjs";import{a as l}from"./chunk-QSOEAWMM.mjs";import{a as n,b as L,f as y}from"./chunk-WABH67VC.mjs";import{b as H}from"./chunk-VMZM6ONT.mjs";import e,{forwardRef as O,Fragment as $,memo as T}from"react";import{useLocale as Y}from"@react-aria/i18n";import{mergeProps as j}from"@react-aria/utils";import{VisuallyHidden as w}from"@react-aria/visually-hidden";var q=O((h,G)=>{let{calendarProps:c,headerLayout:i="apart",className:D,prevButtonProps:k,nextButtonProps:u,header:F,footer:A}=h,{state:x,visibleMonths:N,classNames:r,withPicker:C,pickerHeight:I,isPickerExpanded:v,styles:d}=H(),{direction:S}=Y(),o=x.visibleRange.start,a=S==="rtl",b=[],B=[];for(let t=0;t<N;t++){let s=o.add({months:t}),V=e.createElement($,{key:`calendar-header-${t}`},t===0&&e.createElement(l,{...k,className:n(r.nav,a?r.nextButton:r.previousButton),role:a?"next-button":"previous-button"},a?e.createElement(p,null):e.createElement(m,null)),e.createElement(g,{"data-layout":i,currentMonth:o,date:s}),t===N-1&&e.createElement(l,{...u,className:n(r.nav,a?r.previousButton:r.nextButton),role:a?"previous-button":"next-button"},a?e.createElement(m,null):e.createElement(p,null))),P=e.createElement("div",{className:r.navGroup,style:d?.navGroup},e.createElement(l,{...k,className:n(r.nav,r.nextButton),role:"next-button"},e.createElement(m,null)),e.createElement(l,{...u,className:n(r.nav,r.previousButton),role:"previous-button"},e.createElement(p,null))),E=e.createElement($,{key:`calendar-header-${t}`},i==="left"?P:null,e.createElement(g,{"data-layout":i,currentMonth:o,date:s}),i==="right"?P:null);b.push(i==="apart"?V:E);let W=C?e.createElement("div",{key:`calendar-month-${t}`,className:r.gridGroup,role:"calendar-month-group"},e.createElement(M,{key:`calendar-picker-${t}`,"data-index":t,currentMonth:o,date:s}),e.createElement(f,{...h,key:`calendar-grid-${t}`,currentMonth:o.month,startDate:s})):e.createElement("div",{key:`calendar-month-${t}`,className:r.gridGroup,role:"calendar-month-group"},e.createElement(f,{...h,key:`calendar-grid-${t}`,currentMonth:o.month,startDate:s}));B.push(W)}return e.createElement("div",{...j(c),style:y({"--picker-height":`${I}px`},c?.style,d?.root),"data-picker-expanded":L(v),className:n(D,r.root),ref:G},F,e.createElement(w,null,e.createElement("h2",null,c["aria-label"])),e.createElement("div",{className:r.container,style:d?.container},e.createElement("div",{className:r.header,style:d?.header},b),e.createElement("div",{className:r.gridWrapper,style:y(C&&v?{minHeight:"var(--picker-height)",maxHeight:"var(--picker-height)",overflowY:"hidden"}:{},d?.gridWrapper)},B)),e.createElement(w,null,e.createElement("button",{"aria-label":u["aria-label"],disabled:u.isDisabled,tabIndex:-1,onClick:()=>x.focusNextPage()})),v?null:A)}),oe=T(q);export{oe as a};