UNPKG

@guruhotel/aura-ui

Version:

⚛️ React UI library by GuruHotel

1 lines 1.76 kB
import r,{Fragment as t,useRef as e}from"react";import{useCalendarState as o}from"@react-stately/calendar";import{useCalendar as a}from"@react-aria/calendar";import{useLocale as i}from"@react-aria/i18n";import{createCalendar as n}from"@internationalized/date";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 f from"./horizontal-calendar";import{VISIBLE_DURATION_DEFAULT as h}from"./calendar.constants";import{jsx as u}from"react/jsx-runtime";import{jsxs as v}from"react/jsx-runtime";function x({rounded:r="md",as:x="single",showHorizontalTitle:z=!1,colorScheme:b="guru",monthDateFormat:P={month:"short",year:"numeric"},withSelectors:S=!1,tooltip:g=!1,dateUnavailableStyle:y="disabled",size:w="md",visibleDuration:D=h[x],prevIcon:I,nextIcon:j,...B}){const F="infinite"===x?12:1,{locale:H}=i(),T=o({...B,visibleDuration:D,locale:H,createCalendar:n}),U=e(null),{calendarProps:k,prevButtonProps:A,nextButtonProps:C}=a(B,T),q=Array.from({length:F});return u(p.Provider,{value:{rounded:r,as:x,colorScheme:b,monthDateFormat:P,withSelectors:S,tooltip:g,dateUnavailableStyle:y,size:w,showHorizontalTitle:z},children:"horizontal"===x?u(f,{visibleDuration:D,state:T,...B}):u(c,{as:x,children:u(d,{...k,colorScheme:b,size:w,ref:U,children:q.map(((r,e)=>v(t,{children:[u(s,{state:T,calendarProps:k,prevButtonProps:A,nextButtonProps:C,prevIcon:I,nextIcon:j,index:e}),v(m,{spacing:"6",css:{alignItems:"start"},children:[u(l,{state:T,offset:{months:e}}),"double"===x&&u(l,{state:T,offset:{months:1}})]})]},e)))})})})}export default x;