UNPKG

@appbuckets/react-ui-forms

Version:

An utilities package to manage and create Form using AppBuckets ReactUI

95 lines (88 loc) 2.54 kB
'use strict'; var _tslib = require('../_virtual/_tslib.js'); var React = require('react'); var DayPicker = require('@appbuckets/react-ui/DayPicker'); var createHookedField = require('../utils/createHookedField.js'); function _interopDefaultLegacy(e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty( n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; }, } ); } }); } n['default'] = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/ _interopNamespace(React); var DayPicker__default = /*#__PURE__*/ _interopDefaultLegacy(DayPicker); /* -------- * Component Definition * -------- */ var HookedDayPicker = createHookedField.createHookedField({ displayName: 'HookedDayPicker', Component: function HookedDayPickerComponent(props) { var _a = props.rest, value = _a.value, onChange = _a.onChange, userDefinedOnDayChangeHandler = _a.onDayChange; _a.timestamp; var rest = _tslib.__rest(_a, [ 'value', 'onChange', 'onDayChange', 'timestamp', ]), meta = props.meta; // ---- // Internal Day Change Handler // ---- var handleDayChange = React__namespace.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__namespace.createElement( DayPicker__default['default'], _tslib.__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; }, }); module.exports = HookedDayPicker;