@ucloud-pccl/react-components
Version:
UCloud pccl react components
102 lines (101 loc) • 6.63 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
var _react = _interopRequireWildcard(require("react"));
var _Popover = _interopRequireDefault(require("../../components/Popover"));
var _Input = _interopRequireDefault(require("../../components/Input"));
var _Calendar = _interopRequireDefault(require("../../components/Calendar"));
var _Notice = _interopRequireDefault(require("../../components/Notice"));
var _Time = _interopRequireDefault(require("../../components/TimePicker/Time"));
var _SvgIcon = _interopRequireDefault(require("../../components/SvgIcon"));
var _usePopoverConfig = _interopRequireDefault(require("../../hooks/usePopoverConfig"));
var _DatePicker = require("./DatePicker");
var _Month = require("./Month");
var _style = require("./style");
var _usePicker3 = _interopRequireDefault(require("./usePicker"));
var _Footer = _interopRequireDefault(require("./Footer"));
var _excluded = ["prefix", "onActiveChange", "type", "readonly", "tip", "error", "footerTip"];
var _this = void 0;
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 && {}.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; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var RangePickerWithoutMemo = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
var _this2 = this;
(0, _newArrowCheck2.default)(this, _this);
var prefix = _ref.prefix,
onActiveChange = _ref.onActiveChange,
_ref$type = _ref.type,
type = _ref$type === void 0 ? 'date' : _ref$type,
readonly = _ref.readonly,
tip = _ref.tip,
error = _ref.error,
footerTip = _ref.footerTip,
pickProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
var _usePicker = (0, _usePicker3.default)(_objectSpread({}, pickProps), type === 'month' ? _Month.displayToFormatAndTimeMode : _DatePicker.displayToFormatAndTimeMode, type),
_usePicker2 = (0, _slicedToArray2.default)(_usePicker, 8),
inputProps = _usePicker2[0],
popoverProps = _usePicker2[2],
popupProps = _usePicker2[3],
calendarProps = _usePicker2[4],
timeProps = _usePicker2[5],
footerProps = _usePicker2[6],
_usePicker2$ = _usePicker2[7],
pickerError = _usePicker2$.error,
active = _usePicker2$.active;
var inputRef = /*#__PURE__*/(0, _react.createRef)();
(0, _react.useImperativeHandle)(ref, function () {
var _this3 = this;
(0, _newArrowCheck2.default)(this, _this2);
return {
focus: function focus() {
var _inputRef$current;
(0, _newArrowCheck2.default)(this, _this3);
return inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
}.bind(this)
};
}.bind(this), [inputRef]);
(0, _react.useEffect)(function () {
(0, _newArrowCheck2.default)(this, _this2);
onActiveChange(active);
}.bind(this), [active, onActiveChange]);
var popoverConfigProps = (0, _usePopoverConfig.default)();
var CalendarComp = type === 'month' ? _Calendar.default.Month : _Calendar.default;
return readonly ? /*#__PURE__*/_react.default.createElement("span", {
className: _style.readonlyInputCls
}, inputProps.value) : /*#__PURE__*/_react.default.createElement(_Popover.default, (0, _extends2.default)({
popup: /*#__PURE__*/_react.default.createElement(_style.SPopup, popupProps, /*#__PURE__*/_react.default.createElement(CalendarComp, (0, _extends2.default)({}, calendarProps, {
sidebar: type === 'month' ? null : timeProps.mode.length ? /*#__PURE__*/_react.default.createElement(_Time.default, timeProps) : null
})), pickerError && /*#__PURE__*/_react.default.createElement(_Notice.default, {
styleType: "error",
closable: false
}, pickerError), error && /*#__PURE__*/_react.default.createElement(_Notice.default, {
styleType: "error",
closable: false
}, error), tip && /*#__PURE__*/_react.default.createElement(_Notice.default, {
closable: false
}, tip), /*#__PURE__*/_react.default.createElement(_Footer.default, (0, _extends2.default)({}, footerProps, {
tip: footerTip
})))
}, popoverConfigProps, popoverProps), /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, inputProps, {
prefix: prefix ? /*#__PURE__*/_react.default.createElement(_SvgIcon.default, {
type: "calendar"
}) : null,
customStyle: {
border: 'none',
boxShadow: 'none',
background: 'none'
},
ref: inputRef
})));
}.bind(void 0));
var _default = exports.default = /*#__PURE__*/(0, _react.memo)(RangePickerWithoutMemo);