@@ -269,8 +269,8 @@ export function useDateFieldState<T extends DateValue = DateValue>(props: DateFi
269
269
270
270
let dateValue = useMemo ( ( ) => displayValue . toDate ( timeZone ) , [ displayValue , timeZone ] ) ;
271
271
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 ] ) ;
274
274
275
275
// When the era field appears, mark it valid if the year field is already valid.
276
276
// If the era field disappears, remove it from the valid segments.
@@ -408,13 +408,13 @@ export function useDateFieldState<T extends DateValue = DateValue>(props: DateFi
408
408
} ;
409
409
}
410
410
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 [ ] {
412
412
let timeValue = [ 'hour' , 'minute' , 'second' ] ;
413
413
let segments = dateFormatter . formatToParts ( dateValue ) ;
414
414
let processedSegments : DateSegment [ ] = [ ] ;
415
415
for ( let segment of segments ) {
416
416
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 ) {
418
418
isEditable = false ;
419
419
}
420
420
0 commit comments