@guruhotel/aura-ui
Version:
⚛️ React UI library by GuruHotel
1 lines • 1.59 kB
JavaScript
import r,{Fragment as e,useRef as t}from"react";import{useRangeCalendarState as o}from"@react-stately/calendar";import{useRangeCalendar as a}from"@react-aria/calendar";import{createCalendar as n}from"@internationalized/date";import{useLocale as i}from"@react-aria/i18n";import{CalendarGrid as l}from"./calendar-grid";import{CalendarHeader as s}from"./calendar-header";import{Stack as m}from"../stack";import c from"./scroll-area-wrapper";import{CalendarContainer as d}from"./calendar.styles";import{CalendarPropsContext as p}from"./calendar-props.provider";import{jsx as f}from"react/jsx-runtime";import{jsxs as h}from"react/jsx-runtime";function u({rounded:r="md",as:u="single",colorScheme:v="guru",monthDateFormat:x={month:"short",year:"numeric"},withSelectors:g=!1,tooltip:P=!1,dateUnavailableStyle:S="disabled",size:b="md",prevIcon:y,nextIcon:I,...j}){const z="infinite"===u?12:1,B="single"===u?1:"double"===u?2:12,{locale:w}=i(),D=o({...j,visibleDuration:{months:B},locale:w,createCalendar:n}),F=t(null),{calendarProps:U,prevButtonProps:k,nextButtonProps:A}=a(j,D,F),C=Array.from({length:z});return f(p.Provider,{value:{rounded:r,as:u,colorScheme:v,monthDateFormat:x,withSelectors:g,tooltip:P,dateUnavailableStyle:S,size:b},children:f(c,{as:u,children:f(d,{...U,colorScheme:v,size:b,ref:F,children:C.map(((r,t)=>h(e,{children:[f(s,{state:D,calendarProps:U,prevButtonProps:k,nextButtonProps:A,prevIcon:y,nextIcon:I,index:t}),h(m,{spacing:"6",css:{alignItems:"start"},children:[f(l,{state:D,offset:{months:t}}),"double"===u&&f(l,{state:D,offset:{months:1}})]})]},t)))})})})}export default u;