Skip to content

Commit 7e1836f

Browse files
committed
support range calendar
1 parent 298cf4d commit 7e1836f

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

packages/@react-spectrum/s2/src/Calendar.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,10 @@ export const Calendar = /*#__PURE__*/ (forwardRef as forwardRefType)(function Ca
470470
flexBasis: '0%',
471471
minWidth: 0,
472472
width: 'calc(7 * var(--cell-min-width) + var(--cell-gap) * 12)',
473-
maxWidth: 'calc(100% / var(--visible-months))'
473+
maxWidth: {
474+
default: 'calc(100vw / var(--visible-months))',
475+
'@media (max-width: 375px)': '100%'
476+
}
474477
})}>
475478
<CalendarGrid months={i} />
476479
</div>

packages/@react-spectrum/s2/src/DateRangePicker.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ export const DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(func
8888
} = props;
8989
let formContext = useContext(FormContext);
9090
let [buttonHasFocus, setButtonHasFocus] = useState(false);
91-
console.log('errorMessage', errorMessage);
9291

9392
return (
9493
<AriaDateRangePicker

packages/@react-spectrum/s2/src/RangeCalendar.tsx

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {CalendarButton, CalendarGrid, CalendarHeading} from './Calendar';
1919
import ChevronLeftIcon from '../s2wf-icons/S2_Icon_ChevronLeft_20_N.svg';
2020
import ChevronRightIcon from '../s2wf-icons/S2_Icon_ChevronRight_20_N.svg';
2121
import {ContextValue, Provider} from 'react-aria-components/utils';
22-
import {createContext, ForwardedRef, forwardRef, ReactNode} from 'react';
22+
import {createContext, CSSProperties, ForwardedRef, forwardRef, ReactNode} from 'react';
2323
import {forwardRefType, GlobalDOMAttributes} from '@react-types/shared';
2424
import {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};
2525
import {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

5967
const 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

Comments
 (0)