@talend/react-components
Version:
Set of react components.
104 lines • 3.69 kB
JavaScript
import PropTypes from 'prop-types';
import InputDatePicker from '../InputDatePicker';
import InputTimePicker from '../InputTimePicker';
import LegacyInputDateTimePicker from '../LegacyDateTimePickers';
import DateTime from '../DateTime';
import { DateTimeContext } from '../DateTime/Context';
import theme from './InputDateTimePicker.module.scss';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
function InputDateTimePicker(props) {
if (props.selectedDateTime) {
// eslint-disable-next-line no-console
console.warn('Warning: "selectedDateTime" is deprecated and will be removed in the next major version. Use "value" instead please.');
}
return /*#__PURE__*/_jsx(DateTime.Manager, {
id: props.id,
value: props.value || props.selectedDateTime,
useSeconds: props.useSeconds,
useUTC: props.useUTC,
timezone: props.timezone,
onChange: props.onChange,
defaultTimeValue: props.defaultTimeValue,
children: /*#__PURE__*/_jsx(DateTimeContext.Consumer, {
children: ({
date,
time,
onDateChange,
onTimeChange
}) => /*#__PURE__*/_jsxs("div", {
className: theme['date-time-picker'],
children: [/*#__PURE__*/_jsx(InputDatePicker, {
"data-testid": "date-picker",
id: `${props.id}-date-picker`,
readOnly: props.readOnly,
disabled: props.disabled,
onBlur: props.onBlur,
onChange: onDateChange,
value: date,
dateFormat: props.dateFormat,
startDate: props.startDate,
endDate: props.endDate,
minWidth: props.minWidthDate,
isDisabledChecker: props.isDisabledChecker
}), /*#__PURE__*/_jsx(InputTimePicker, {
"data-testid": "time-picker",
id: `${props.id}-time-picker`,
readOnly: props.readOnly,
disabled: props.disabled,
onBlur: props.onBlur,
onChange: onTimeChange,
value: time,
useSeconds: props.useSeconds,
timezone: props.timezone,
minWidth: props.minWidthTime
})]
})
})
});
}
InputDateTimePicker.propTypes = {
id: PropTypes.string.isRequired,
value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]),
selectedDateTime: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]),
onChange: PropTypes.func,
onBlur: PropTypes.func,
disabled: PropTypes.bool,
readOnly: PropTypes.bool,
dateFormat: PropTypes.string,
useSeconds: PropTypes.bool,
useUTC: PropTypes.bool,
timezone: PropTypes.string,
defaultTimeValue: PropTypes.shape({
hours: PropTypes.string.isRequired,
minutes: PropTypes.string.isRequired,
seconds: PropTypes.string
}),
startDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]),
endDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]),
minWidthDate: PropTypes.number,
minWidthTime: PropTypes.number,
isDisabledChecker: PropTypes.bool
};
InputDateTimePicker.defaultProps = {
dateFormat: 'YYYY-MM-DD',
useSeconds: false,
useUTC: false,
// default behaviour is to forbid empty values
required: true
};
function InputDateTimePickerSwitch(props) {
if (props.formMode) {
return /*#__PURE__*/_jsx(LegacyInputDateTimePicker, {
...props
});
}
return /*#__PURE__*/_jsx(InputDateTimePicker, {
...props
});
}
InputDateTimePickerSwitch.propTypes = {
formMode: PropTypes.bool,
...InputDatePicker.propTypes
};
export default InputDateTimePickerSwitch;
//# sourceMappingURL=InputDateTimePicker.component.js.map