Skip to content

Commit 3ed43ed

Browse files
committed
fix: force data-readonly when datefield is readonly
1 parent 4b2c6e7 commit 3ed43ed

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

packages/@react-stately/datepicker/src/useDateFieldState.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,8 @@ export function useDateFieldState<T extends DateValue = DateValue>(props: DateFi
269269

270270
let dateValue = useMemo(() => displayValue.toDate(timeZone), [displayValue, timeZone]);
271271
let segments = useMemo(() =>
272-
processSegments(dateValue, validSegments, dateFormatter, resolvedOptions, displayValue, calendar, locale, granularity),
273-
[dateValue, validSegments, dateFormatter, resolvedOptions, displayValue, calendar, locale, granularity]);
272+
processSegments(dateValue, validSegments, dateFormatter, resolvedOptions, displayValue, calendar, locale, granularity, isReadOnly),
273+
[dateValue, validSegments, dateFormatter, resolvedOptions, displayValue, calendar, locale, granularity, isReadOnly]);
274274

275275
// When the era field appears, mark it valid if the year field is already valid.
276276
// If the era field disappears, remove it from the valid segments.
@@ -408,13 +408,13 @@ export function useDateFieldState<T extends DateValue = DateValue>(props: DateFi
408408
};
409409
}
410410

411-
function processSegments(dateValue, validSegments, dateFormatter, resolvedOptions, displayValue, calendar, locale, granularity) : DateSegment[] {
411+
function processSegments(dateValue, validSegments, dateFormatter, resolvedOptions, displayValue, calendar, locale, granularity, isReadOnly) : DateSegment[] {
412412
let timeValue = ['hour', 'minute', 'second'];
413413
let segments = dateFormatter.formatToParts(dateValue);
414414
let processedSegments: DateSegment[] = [];
415415
for (let segment of segments) {
416416
let isEditable = EDITABLE_SEGMENTS[segment.type];
417-
if (segment.type === 'era' && calendar.getEras().length === 1) {
417+
if (segment.type === 'era' && calendar.getEras().length === 1 || isReadOnly) {
418418
isEditable = false;
419419
}
420420

0 commit comments

Comments
 (0)