diff --git a/packages/datetime2/src/components/date-range-input3/dateRangeInput3.tsx b/packages/datetime2/src/components/date-range-input3/dateRangeInput3.tsx index 58bd965c29..630fc8e200 100644 --- a/packages/datetime2/src/components/date-range-input3/dateRangeInput3.tsx +++ b/packages/datetime2/src/components/date-range-input3/dateRangeInput3.tsx @@ -38,6 +38,7 @@ import { DateUtils, Errors, type NonNullDateRange, + TimePrecision, } from "@blueprintjs/datetime"; import { Classes } from "../../classes"; @@ -288,6 +289,15 @@ export class DateRangeInput3 extends DateFnsLocalizedComponent { + // timePrecision may be set as a root prop or as a property inside timePickerProps, so we need to check both + const { timePickerProps, timePrecision } = this.props; + if(timePickerProps === DateRangePicker3.defaultProps.timePickerProps) { + return undefined; + } + return timePickerProps?.precision ?? timePrecision; + } + private handleDateRangePickerChange = (selectedRange: DateRange, didSubmitWithEnter = false) => { // ignore mouse events in the date-range picker if the popover is animating closed. if (!this.state.isOpen) { @@ -306,9 +316,11 @@ export class DateRangeInput3 extends DateFnsLocalizedComponent { if (this.props.closeOnSelection) { // trivial case when TimePicker is not shown - if (this.props.timePrecision == null) { + if (this.getTimePrecision() == null) { return false; } @@ -747,7 +760,7 @@ export class DateRangeInput3 extends DateFnsLocalizedComponent { @@ -907,7 +920,8 @@ export class DateRangeInput3 extends DateFnsLocalizedComponent, @@ -226,15 +226,23 @@ export class DateRangePicker3 extends DateFnsLocalizedComponent { // timePrecision may be set as a root prop or as a property inside timePickerProps, so we need to check both - const { timePickerProps, timePrecision = timePickerProps?.precision } = this.props; - if (timePrecision == null && timePickerProps === DateRangePicker3.defaultProps.timePickerProps) { + const { timePickerProps, timePrecision } = this.props; + if(timePickerProps === DateRangePicker3.defaultProps.timePickerProps) { + return undefined; + } + return timePickerProps?.precision ?? timePrecision; + } + + private maybeRenderTimePickers(isShowingOneMonth: boolean) { + const timePrecision = this.getTimePrecision(); + if (timePrecision == null) { return null; } const isLongTimePicker = - timePickerProps?.useAmPm || + this.props.timePickerProps?.useAmPm || timePrecision === TimePrecision.SECOND || timePrecision === TimePrecision.MILLISECOND; @@ -246,13 +254,13 @@ export class DateRangePicker3 extends DateFnsLocalizedComponent