UNPKG

test-nut-ui

Version:

<p align="center"> <img alt="logo" src="https://img11.360buyimg.com/imagetools/jfs/t1/211965/25/7152/22022/61b16785E433119bb/aa41d7a9f7e823f3.png" width="150" style="margin-bottom: 10px;"> </p>

147 lines (146 loc) 5.85 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function(sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), true).forEach(function(key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import React__default, { useRef } from "react"; import Popup from "./Popup.js"; import CalendarItem from "./CalendarItem.js"; import { U as Utils } from "./date.js"; import { useConfig } from "./ConfigProvider.js"; import { C as ComponentDefaults } from "./typings.js"; import { k as kr } from "./index.js"; var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, { type: "single", autoBackfill: false, popup: true, visible: false, title: "", defaultValue: "", startDate: Utils.getDay(0), endDate: Utils.getDay(365), showToday: true, startText: "", endText: "", confirmText: "", showTitle: true, showSubTitle: true, scrollAnimation: true, firstDayOfWeek: 0, isSwitch: false, isQuick: false, firstClickAsFirstDay: false, disableDate: function disableDate(date) { return false; }, renderHeaderButtons: void 0, renderDay: void 0, renderDayTop: void 0, renderDayBottom: void 0, onClose: function onClose() { }, onConfirm: function onConfirm(param) { }, onDayClick: function onDayClick(data) { }, onPageChange: function onPageChange(param) { } }); var Calendar = React__default.forwardRef(function(props, ref) { var _useConfig = useConfig(), locale = _useConfig.locale; var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), style = _defaultProps$props.style, className = _defaultProps$props.className, popup = _defaultProps$props.popup, visible = _defaultProps$props.visible, type = _defaultProps$props.type, autoBackfill = _defaultProps$props.autoBackfill, title = _defaultProps$props.title, defaultValue = _defaultProps$props.defaultValue, startDate = _defaultProps$props.startDate, endDate = _defaultProps$props.endDate, showToday = _defaultProps$props.showToday, startText = _defaultProps$props.startText, endText = _defaultProps$props.endText, confirmText = _defaultProps$props.confirmText, showTitle = _defaultProps$props.showTitle, showSubTitle = _defaultProps$props.showSubTitle, scrollAnimation = _defaultProps$props.scrollAnimation, firstDayOfWeek = _defaultProps$props.firstDayOfWeek, isSwitch = _defaultProps$props.isSwitch, isQuick = _defaultProps$props.isQuick, firstClickAsFirstDay = _defaultProps$props.firstClickAsFirstDay, disableDate2 = _defaultProps$props.disableDate, renderHeaderButtons = _defaultProps$props.renderHeaderButtons, renderDay = _defaultProps$props.renderDay, renderDayTop = _defaultProps$props.renderDayTop, renderDayBottom = _defaultProps$props.renderDayBottom, onClose2 = _defaultProps$props.onClose, onConfirm2 = _defaultProps$props.onConfirm, onDayClick2 = _defaultProps$props.onDayClick, onPageChange2 = _defaultProps$props.onPageChange; var calendarRef = useRef(null); var close = function close2() { onClose2 && onClose2(); }; var choose = function choose2(param) { close(); onConfirm2 && onConfirm2(param); }; var closePopup = function closePopup2() { close(); }; var select = function select2(param) { onDayClick2 && onDayClick2(param); }; var scrollToDate = function scrollToDate2(date) { var _calendarRef$current; (_calendarRef$current = calendarRef.current) === null || _calendarRef$current === void 0 ? void 0 : _calendarRef$current.scrollToDate(date); }; var yearMonthChange = function yearMonthChange2(param) { onPageChange2 && onPageChange2(param); }; React__default.useImperativeHandle(ref, function() { return { scrollToDate }; }); var renderItem = function renderItem2() { return React__default.createElement(CalendarItem, { ref: calendarRef, style, className, type, autoBackfill, popup, title: title || locale.calendaritem.title, defaultValue, startDate, endDate, showToday, startText: startText || locale.calendaritem.start, endText: endText || locale.calendaritem.end, confirmText: confirmText || locale.calendaritem.confirm, showTitle, showSubTitle, scrollAnimation, firstDayOfWeek, firstClickAsFirstDay, isSwitch, isQuick, disableDate: disableDate2, renderHeaderButtons, renderDay, renderDayTop, renderDayBottom, onConfirm: choose, onDayClick: select, onPageChange: yearMonthChange }); }; return React__default.createElement(React__default.Fragment, null, popup ? React__default.createElement(Popup, { visible, closeIcon: React__default.createElement(kr, null), position: "bottom", round: true, closeable: true, destroyOnClose: true, onOverlayClick: closePopup, onCloseIconClick: closePopup, style: { height: isSwitch ? "492px" : "85vh" } }, renderItem()) : renderItem()); }); Calendar.defaultProps = defaultProps; Calendar.displayName = "NutCalendar"; export { Calendar as default };