UNPKG

@appbuckets/react-ui-forms

Version:

An utilities package to manage and create Form using AppBuckets ReactUI

55 lines (52 loc) 1.62 kB
import { __rest, __assign } from '../_virtual/_tslib.js'; import * as React from 'react'; import DayPicker from '@appbuckets/react-ui/DayPicker'; import { createHookedField } from '../utils/createHookedField.js'; /* -------- * Component Definition * -------- */ var HookedDayPicker = createHookedField({ displayName: 'HookedDayPicker', Component: function HookedDayPickerComponent(props) { var _a = props.rest, value = _a.value, onChange = _a.onChange, userDefinedOnDayChangeHandler = _a.onDayChange; _a.timestamp; var rest = __rest(_a, ['value', 'onChange', 'onDayChange', 'timestamp']), meta = props.meta; // ---- // Internal Day Change Handler // ---- var handleDayChange = React.useCallback( function (nothing, dayPickerProps) { /** Call the internal on change function */ onChange(nothing, dayPickerProps); /** Call user defined handler if exists */ if (typeof userDefinedOnDayChangeHandler === 'function') { userDefinedOnDayChangeHandler(nothing, dayPickerProps); } }, [onChange, userDefinedOnDayChangeHandler] ); return React.createElement( DayPicker, __assign({}, rest, meta.appearance, { date: value, hint: meta.message, onDayChange: handleDayChange, }) ); }, parseValue: function (_a) { var props = _a.props; if ( (props === null || props === void 0 ? void 0 : props.date) && props.date instanceof Date ) { return props.date; } return null; }, }); export { HookedDayPicker as default };