@@ -37,6 +37,7 @@ import {
3737 getInputSize ,
3838 elementsContains ,
3939} from './Utils/uiUtil' ;
40+ import { normalizeRangeTimes , normalizeSingleTime } from './Utils/timeUtil' ;
4041import type { ContextOperationRefProps } from './PartialContext' ;
4142import PartialContext from './PartialContext' ;
4243import {
@@ -409,6 +410,13 @@ function InnerRangePicker<DateType>(props: OcRangePickerProps<DateType>) {
409410 }
410411 }
411412
413+ // Normalize times when showTime is false
414+ if ( ! showTime && picker !== 'time' ) {
415+ values = normalizeRangeTimes ( generateConfig , values ) ;
416+ startValue = getValue ( values , 0 ) ;
417+ endValue = getValue ( values , 1 ) ;
418+ }
419+
412420 setSelectedValue ( values ) ;
413421
414422 const startStr : string = values ?. [ 0 ]
@@ -452,7 +460,6 @@ function InnerRangePicker<DateType>(props: OcRangePickerProps<DateType>) {
452460
453461 const canTrigger : boolean =
454462 values === null || ( canStartValueTrigger && canEndValueTrigger ) ;
455-
456463 if ( canTrigger ) {
457464 // Trigger onChange only when value is validated.
458465 setInnerValue ( values ) ;
@@ -503,8 +510,19 @@ function InnerRangePicker<DateType>(props: OcRangePickerProps<DateType>) {
503510 index === 0 ? disabledStartDate : disabledEndDate ;
504511
505512 if ( inputDate && ! disabledFunc ( inputDate ) ) {
506- setSelectedValue ( updateValues ( selectedValue , inputDate , index ) ) ;
507- setViewDate ( inputDate , index ) ;
513+ let normalizedInputDate : DateType = inputDate ;
514+
515+ // Normalize times when showTime is false
516+ if ( ! showTime && picker !== 'time' ) {
517+ normalizedInputDate = normalizeSingleTime (
518+ generateConfig ,
519+ inputDate ,
520+ index === 0 // isStartDate
521+ ) ;
522+ }
523+
524+ setSelectedValue ( updateValues ( selectedValue , normalizedInputDate , index ) ) ;
525+ setViewDate ( normalizedInputDate , index ) ;
508526 }
509527 } ;
510528
@@ -1170,7 +1188,7 @@ function InnerRangePicker<DateType>(props: OcRangePickerProps<DateType>) {
11701188 date : DateType ,
11711189 type : 'key' | 'mouse' | 'submit'
11721190 ) => {
1173- const values : [ DateType , DateType ] = updateValues (
1191+ let values : [ DateType , DateType ] = updateValues (
11741192 selectedValue ,
11751193 date ,
11761194 mergedActivePickerIndex
@@ -1197,6 +1215,11 @@ function InnerRangePicker<DateType>(props: OcRangePickerProps<DateType>) {
11971215 triggerOpen ( false , mergedActivePickerIndex , 'confirm' ) ;
11981216 }
11991217 } else {
1218+ // Normalize times when showTime is false before setting selected value
1219+ if ( ! showTime && picker !== 'time' ) {
1220+ values = normalizeRangeTimes ( generateConfig , values ) ;
1221+ }
1222+
12001223 setSelectedValue ( values ) ;
12011224 }
12021225 } ;
0 commit comments