UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

81 lines (80 loc) 4.09 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _tslib = require("tslib"); var _react = _interopRequireWildcard(require("react")); var _dayjs = _interopRequireDefault(require("dayjs")); var _picker = _interopRequireDefault(require("../picker")); var _locale = require("../locale"); var _zhCn = _interopRequireDefault(require("../locale/lang/zh-cn")); var _date = require("../utils/date"); var _hooks = require("../utils/hooks"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var EmbedPicker = function (props, ref) { var _props$prefix = props.prefix, prefix = _props$prefix === void 0 ? 'mt-' : _props$prefix, valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, className = props.className, hourStep = props.hourStep, minuteStep = props.minuteStep, secondStep = props.secondStep, _props$format = props.format, format = _props$format === void 0 ? _utils.DEFAULT_FORMAT : _props$format, disabledHours = props.disabledHours, disabledMinutes = props.disabledMinutes, disabledSeconds = props.disabledSeconds, validRangeProp = props.validRange, others = (0, _tslib.__rest)(props, ["prefix", "value", "defaultValue", "onChange", "className", "hourStep", "minuteStep", "secondStep", "format", "disabledHours", "disabledMinutes", "disabledSeconds", "validRange"]); var options = (0, _utils.getTimeOption)(props); var validRange = (0, _date.getRealRange)(options, props, validRangeProp); var locale = (0, _locale.useLocale)('TimePicker', others, _zhCn.default.TimePicker); var _useValue = (0, _hooks.useValue)(props, new Date(), { fitValue: function fitValue(v) { var d = (0, _date.toDate)(v); var x = (0, _date.getRangeDate)((0, _date.isValidDate)(d) ? d : new Date(), { time: options }, validRange); if (validRange && (secondStep !== 1 || minuteStep !== 1 || hourStep !== 1)) { var xt = (0, _dayjs.default)(x).format(format); if (xt !== (0, _dayjs.default)(validRange[0]).format(format) && xt !== (0, _dayjs.default)(validRange[1]).format(format)) { return (0, _date.getNearestDate)(options, props, x, 'auto'); } } return x; }, compare: function compare(a, b) { return a.getTime() === b.getTime(); } }), value = _useValue[0], setValue = _useValue[1], isControlled = _useValue[2]; var dataSource = (0, _utils.getColumns)(value, options, Object.assign(Object.assign({}, props), { locale: locale })); var pickerValue = (0, _utils.dateToPicker)(value, options); return /*#__PURE__*/(0, _react.createElement)(_picker.default, { ref: ref, className: className, prefix: prefix, value: pickerValue, data: dataSource, onChange: function handleChange(values) { var d = (0, _date.getRangeDate)((0, _utils.pickerToDate)(values, options), { time: options }, validRange); if (onChange) { onChange(d); } if (!isControlled) { setValue(d); } } }); }; var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(EmbedPicker);