@@ -19,7 +19,7 @@ import {CalendarButton, CalendarGrid, CalendarHeading} from './Calendar';
1919import ChevronLeftIcon from '../s2wf-icons/S2_Icon_ChevronLeft_20_N.svg' ;
2020import ChevronRightIcon from '../s2wf-icons/S2_Icon_ChevronRight_20_N.svg' ;
2121import { ContextValue , Provider } from 'react-aria-components/utils' ;
22- import { createContext , ForwardedRef , forwardRef , ReactNode } from 'react' ;
22+ import { createContext , CSSProperties , ForwardedRef , forwardRef , ReactNode } from 'react' ;
2323import { forwardRefType , GlobalDOMAttributes } from '@react-types/shared' ;
2424import { getAllowedOverrides , StyleProps } from './style-utils' with { type : 'macro' } ;
2525import { Header , HeaderContext , HeadingContext } from './Content' ;
@@ -53,7 +53,15 @@ const calendarStyles = style({
5353 display : 'flex' ,
5454 flexDirection : 'column' ,
5555 gap : 24 ,
56- width : 'fit'
56+ width : 'fit' ,
57+ '--cell-gap' : {
58+ type : 'paddingStart' ,
59+ value : 4
60+ } ,
61+ '--cell-min-width' : {
62+ type : 'width' ,
63+ value : 32
64+ }
5765} , getAllowedOverrides ( ) ) ;
5866
5967const headerStyles = style ( {
@@ -108,7 +116,23 @@ export const RangeCalendar = /*#__PURE__*/ (forwardRef as forwardRefType)(functi
108116 alignItems : 'start'
109117 } ) } >
110118 { Array . from ( { length : visibleMonths } ) . map ( ( _ , i ) => (
111- < CalendarGrid months = { i } key = { i } />
119+ < div
120+ key = { i }
121+ style = { { '--visible-months' : visibleMonths } as CSSProperties }
122+ className = { style ( {
123+ containerType : 'inline-size' ,
124+ flexGrow : 1 ,
125+ flexShrink : 0 ,
126+ flexBasis : '0%' ,
127+ minWidth : 0 ,
128+ width : 'calc(7 * var(--cell-min-width) + var(--cell-gap) * 12)' ,
129+ maxWidth : {
130+ default : 'calc(100vw / var(--visible-months))' ,
131+ '@media (max-width: 375px)' : '100%'
132+ }
133+ } ) } >
134+ < CalendarGrid months = { i } />
135+ </ div >
112136 ) ) }
113137 </ div >
114138 { isInvalid && (
0 commit comments