in src/timepicker/timepicker.tsx [71:95]
componentDidUpdate(prevProps: TimePickerProps<T>) {
const formatChanged = prevProps.format !== this.props.format;
const stepChanged = prevProps.step !== this.props.step;
const adapterChanged = prevProps.adapter !== this.props.adapter;
const minTimeChange = prevProps.minTime !== this.props.minTime;
const maxTimeChange = prevProps.maxTime !== this.props.maxTime;
const valueDateChanged =
prevProps.value !== this.props.value &&
(!prevProps.value !== !this.props.value ||
(prevProps.value &&
this.props.value &&
(this.props.adapter.isValid(prevProps.value) ||
this.props.adapter.isValid(this.props.value)) &&
!this.props.adapter.isSameDay(prevProps.value, this.props.value)));
if (adapterChanged) {
this.dateHelpers = new DateHelpers(this.props.adapter);
}
if (formatChanged || stepChanged || minTimeChange || maxTimeChange || valueDateChanged) {
const steps = this.buildSteps();
this.setState({ steps });
}
if (prevProps.value && !this.props.value) {
this.setState({ value: null });
}
}