tdesign-react
Version:
TDesign Component for React
657 lines (649 loc) • 28.2 kB
JavaScript
/**
* tdesign v1.13.2
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var toConsumableArray = require('../_chunks/dep-64a1054a.js');
var slicedToArray = require('../_chunks/dep-e17e2d31.js');
var defineProperty = require('../_chunks/dep-cc768e34.js');
var React = require('react');
var dayjs = require('dayjs');
var button_index = require('../button/index.js');
var select_index = require('../select/index.js');
var radio_index = require('../radio/index.js');
var tag_CheckTag = require('../tag/CheckTag.js');
var _util_noop = require('../_util/noop.js');
var calendar_hooks_usePrefixClass = require('./hooks/usePrefixClass.js');
var hooks_useLayoutEffect = require('../hooks/useLayoutEffect.js');
var locale_LocalReceiver = require('../locale/LocalReceiver.js');
var calendar__util = require('./_util.js');
var calendar_CalendarCellComp = require('./CalendarCellComp.js');
var calendar_defaultProps = require('./defaultProps.js');
var hooks_useDefaultProps = require('../hooks/useDefaultProps.js');
require('../_chunks/dep-b7d577ac.js');
require('../_chunks/dep-6d4d8660.js');
require('../button/Button.js');
require('../_chunks/dep-810b3643.js');
require('classnames');
require('../hooks/useConfig.js');
require('../config-provider/ConfigContext.js');
require('../_chunks/dep-3a869b87.js');
require('../_chunks/dep-ac58e1cc.js');
require('../_chunks/dep-7da96a57.js');
require('../_chunks/dep-07b911d8.js');
require('../_chunks/dep-4b02d669.js');
require('../_chunks/dep-f0379c5f.js');
require('../_chunks/dep-ddacd27a.js');
require('../_chunks/dep-028b759d.js');
require('../_chunks/dep-8a116183.js');
require('../_chunks/dep-4671b9bd.js');
require('../_chunks/dep-bed9d73e.js');
require('../_chunks/dep-780eda7b.js');
require('../_chunks/dep-47bdc05f.js');
require('../_chunks/dep-cab13149.js');
require('../_chunks/dep-a30819a4.js');
require('../_chunks/dep-6a7ba247.js');
require('../_chunks/dep-c87d9752.js');
require('../_chunks/dep-bd956a2d.js');
require('../_chunks/dep-0cdb3286.js');
require('../_chunks/dep-865c186c.js');
require('../_chunks/dep-f4e58639.js');
require('../_chunks/dep-781a2854.js');
require('../_chunks/dep-1ef213f8.js');
require('../_chunks/dep-e2c832a5.js');
require('../hooks/useDomRefCallback.js');
require('../hooks/useRipple.js');
require('../_chunks/dep-58719304.js');
require('../hooks/useAnimation.js');
require('../_chunks/dep-3f65dfe7.js');
require('../_chunks/dep-3e2d2665.js');
require('../loading/index.js');
require('../loading/Loading.js');
require('../common/Portal.js');
require('react-dom');
require('../loading/gradient.js');
require('../_chunks/dep-b8d4cf07.js');
require('../_chunks/dep-422caf30.js');
require('../loading/defaultProps.js');
require('../loading/plugin.js');
require('../_util/react-render.js');
require('../_chunks/dep-a93b6608.js');
require('../common/PluginContainer.js');
require('../config-provider/ConfigProvider.js');
require('../_chunks/dep-ed886f2a.js');
require('../_chunks/dep-aeef4e56.js');
require('../_chunks/dep-0c1ca63f.js');
require('../_chunks/dep-fd5d57c1.js');
require('../_chunks/dep-ac2874ce.js');
require('../_chunks/dep-6cfc06a0.js');
require('../_chunks/dep-5d9d080b.js');
require('../button/defaultProps.js');
require('../_util/parseTNode.js');
require('../_chunks/dep-4bc3c0ab.js');
require('../select/base/Select.js');
require('../_util/helper.js');
require('../_chunks/dep-a70197cb.js');
require('../_chunks/dep-62193a48.js');
require('../_chunks/dep-f076775e.js');
require('../_chunks/dep-4be7f839.js');
require('../_chunks/dep-d42c60f4.js');
require('../_chunks/dep-05b4c661.js');
require('../hooks/useControlled.js');
require('../_util/forwardRefWithStatics.js');
require('hoist-non-react-statics');
require('../_chunks/dep-c148acab.js');
require('../select/base/OptionGroup.js');
require('../select/defaultProps.js');
require('../select/base/Option.js');
require('../_chunks/dep-fbc19a54.js');
require('../_chunks/dep-4ba2ac6b.js');
require('../common/FakeArrow.js');
require('../select-input/index.js');
require('../select-input/SelectInput.js');
require('../popup/index.js');
require('../popup/Popup.js');
require('react-transition-group');
require('../_util/ref.js');
require('react-is');
require('../_util/isFragment.js');
require('../hooks/useAttach.js');
require('../hooks/useMutationObserver.js');
require('../hooks/useLatest.js');
require('../_chunks/dep-d6e82200.js');
require('../_chunks/dep-94d97586.js');
require('../_chunks/dep-b12bf98d.js');
require('../_chunks/dep-1bcdd0a4.js');
require('../_chunks/dep-c915e145.js');
require('../hooks/usePopper.js');
require('@popperjs/core');
require('react-fast-compare');
require('../hooks/useWindowSize.js');
require('../popup/defaultProps.js');
require('../popup/hooks/useTrigger.js');
require('../_util/composeRefs.js');
require('../_util/listener.js');
require('../popup/utils/transition.js');
require('../popup/PopupPlugin.js');
require('../select-input/useSingle.js');
require('../input/index.js');
require('../input/Input.js');
require('tdesign-icons-react');
require('../hooks/useGlobalIcon.js');
require('../input/InputGroup.js');
require('../input/defaultProps.js');
require('../input/useLengthLimit.js');
require('../_chunks/dep-08fa4947.js');
require('../_chunks/dep-2df3735a.js');
require('../_chunks/dep-aaaf9309.js');
require('../_chunks/dep-ef231277.js');
require('../_chunks/dep-ba1bf618.js');
require('../select-input/useMultiple.js');
require('../tag-input/index.js');
require('../tag-input/TagInput.js');
require('../hooks/useDragSorter.js');
require('../hooks/useEventCallback.js');
require('../tag-input/useTagScroll.js');
require('../tag-input/useTagList.js');
require('../tag/index.js');
require('../tag/Tag.js');
require('../_chunks/dep-7bc521fe.js');
require('../tag/defaultProps.js');
require('../tag/CheckTagGroup.js');
require('../_chunks/dep-d33a1510.js');
require('../tag-input/useHover.js');
require('../tag-input/defaultProps.js');
require('../select-input/useOverlayInnerStyle.js');
require('../select-input/defaultProps.js');
require('../select/base/PopupContent.js');
require('../select/hooks/usePanelVirtualScroll.js');
require('../hooks/useVirtualScroll.js');
require('../hooks/useResizeObserver.js');
require('../_chunks/dep-58dc387c.js');
require('../common/Check.js');
require('../_chunks/dep-476c1fcc.js');
require('../_chunks/dep-02c6f7b0.js');
require('../hooks/useCommonClassName.js');
require('../radio/defaultProps.js');
require('../radio/useKeyboard.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
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) { defineProperty._defineProperty(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 getDefaultControllerConfigData = function getDefaultControllerConfigData() {
var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
return {
visible: visible,
disabled: false,
mode: {
visible: true,
radioGroupProps: {}
},
year: {
visible: true,
selectProps: {
popupProps: {
overlayInnerStyle: {
width: "110px"
}
}
}
},
month: {
visible: true,
selectProps: {
popupProps: {
overlayInnerStyle: {
width: "90px"
}
}
}
},
weekend: {
visible: true,
showWeekendButtonProps: {},
hideWeekendButtonProps: {}
},
current: {
visible: true,
currentDayButtonProps: {},
currentMonthButtonProps: {}
}
};
};
var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
var _useDefaultProps = hooks_useDefaultProps["default"](props, calendar_defaultProps.calendarDefaultProps),
className = _useDefaultProps.className,
style = _useDefaultProps.style,
modeFromProps = _useDefaultProps.mode,
valueFromProps = _useDefaultProps.value,
_useDefaultProps$firs = _useDefaultProps.firstDayOfWeek,
firstDayOfWeek = _useDefaultProps$firs === void 0 ? 1 : _useDefaultProps$firs,
format = _useDefaultProps.format,
range = _useDefaultProps.range,
head = _useDefaultProps.head,
cell = _useDefaultProps.cell,
cellAppend = _useDefaultProps.cellAppend,
week = _useDefaultProps.week,
theme = _useDefaultProps.theme,
controllerConfig = _useDefaultProps.controllerConfig,
_useDefaultProps$isSh = _useDefaultProps.isShowWeekendDefault,
isShowWeekendDefault = _useDefaultProps$isSh === void 0 ? true : _useDefaultProps$isSh,
_useDefaultProps$prev = _useDefaultProps.preventCellContextmenu,
preventCellContextmenu = _useDefaultProps$prev === void 0 ? false : _useDefaultProps$prev,
monthProps = _useDefaultProps.month,
yearProps = _useDefaultProps.year,
_useDefaultProps$onCo = _useDefaultProps.onControllerChange,
onControllerChange = _useDefaultProps$onCo === void 0 ? _util_noop["default"] : _useDefaultProps$onCo,
_useDefaultProps$onCe = _useDefaultProps.onCellClick,
onCellClick = _useDefaultProps$onCe === void 0 ? _util_noop["default"] : _useDefaultProps$onCe,
_useDefaultProps$onCe2 = _useDefaultProps.onCellDoubleClick,
onCellDoubleClick = _useDefaultProps$onCe2 === void 0 ? _util_noop["default"] : _useDefaultProps$onCe2,
_useDefaultProps$onCe3 = _useDefaultProps.onCellRightClick,
onCellRightClick = _useDefaultProps$onCe3 === void 0 ? _util_noop["default"] : _useDefaultProps$onCe3,
_useDefaultProps$onMo = _useDefaultProps.onMonthChange,
onMonthChange = _useDefaultProps$onMo === void 0 ? _util_noop["default"] : _useDefaultProps$onMo,
fillWithZero = _useDefaultProps.fillWithZero;
var controllerConfigData = typeof controllerConfig === "boolean" ? getDefaultControllerConfigData(controllerConfig) : _objectSpread(_objectSpread({}, getDefaultControllerConfigData()), controllerConfig);
if (typeof controllerConfig !== "boolean") {
if (monthProps) {
controllerConfigData.month.visible = true;
}
if (yearProps) {
controllerConfigData.year.visible = true;
}
}
var visible = controllerConfigData.visible,
disabled = controllerConfigData.disabled,
modeFromConfig = controllerConfigData.mode,
yearFromConfig = controllerConfigData.year,
monthFromConfig = controllerConfigData.month,
weekend = controllerConfigData.weekend,
current = controllerConfigData.current;
var _modeFromConfig$visib = modeFromConfig.visible,
visibleForMode = _modeFromConfig$visib === void 0 ? true : _modeFromConfig$visib,
_modeFromConfig$radio = modeFromConfig.radioGroupProps,
radioGroupPropsForMode = _modeFromConfig$radio === void 0 ? {} : _modeFromConfig$radio;
var _yearFromConfig$visib = yearFromConfig.visible,
visibleForYear = _yearFromConfig$visib === void 0 ? true : _yearFromConfig$visib,
_yearFromConfig$selec = yearFromConfig.selectProps,
selectPropsForYear = _yearFromConfig$selec === void 0 ? {} : _yearFromConfig$selec;
var _monthFromConfig$visi = monthFromConfig.visible,
visibleForMonth = _monthFromConfig$visi === void 0 ? true : _monthFromConfig$visi,
_monthFromConfig$sele = monthFromConfig.selectProps,
selectPropsForMonth = _monthFromConfig$sele === void 0 ? {} : _monthFromConfig$sele;
var _weekend$visible = weekend.visible,
visibleForWeekendToggle = _weekend$visible === void 0 ? true : _weekend$visible,
_weekend$showWeekendB = weekend.showWeekendButtonProps,
showWeekendButtonProps = _weekend$showWeekendB === void 0 ? {} : _weekend$showWeekendB,
_weekend$hideWeekendB = weekend.hideWeekendButtonProps,
hideWeekendButtonProps = _weekend$hideWeekendB === void 0 ? {} : _weekend$hideWeekendB;
var _current$visible = current.visible,
visibleForCurrent = _current$visible === void 0 ? true : _current$visible,
_current$currentDayBu = current.currentDayButtonProps,
currentDayButtonProps = _current$currentDayBu === void 0 ? {} : _current$currentDayBu,
_current$currentMonth = current.currentMonthButtonProps,
currentMonthButtonProps = _current$currentMonth === void 0 ? {} : _current$currentMonth;
var _useState = React.useState("month"),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
mode = _useState2[0],
setMode = _useState2[1];
var _useState3 = React.useState(function () {
return dayjs__default["default"](valueFromProps || dayjs__default["default"]().format("YYYY-MM-DD"));
}),
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
value = _useState4[0],
setValue = _useState4[1];
var _useState5 = React.useState(function () {
return yearProps ? Number(yearProps) : value.year();
}),
_useState6 = slicedToArray._slicedToArray(_useState5, 2),
year = _useState6[0],
setYear = _useState6[1];
var _useState7 = React.useState(function () {
return monthProps ? Number(monthProps) : parseInt(value.format("M"), 10);
}),
_useState8 = slicedToArray._slicedToArray(_useState7, 2),
month = _useState8[0],
setMonth = _useState8[1];
var _useState9 = React.useState(isShowWeekendDefault),
_useState0 = slicedToArray._slicedToArray(_useState9, 2),
isShowWeekend = _useState0[0],
setIsShowWeekend = _useState0[1];
var _useLocaleReceiver = locale_LocalReceiver.useLocaleReceiver("calendar"),
_useLocaleReceiver2 = slicedToArray._slicedToArray(_useLocaleReceiver, 2),
local = _useLocaleReceiver2[0],
t = _useLocaleReceiver2[1];
var weekLabelList = t(local.week).split(",");
var colHeaderList = React.useMemo(function () {
if (mode === "year") return [];
var weekTextArr = Array.isArray(week) && week.length >= 7 ? week : toConsumableArray._toConsumableArray(weekLabelList);
var list = [];
for (var i = firstDayOfWeek; i <= 7; i++) {
if (!isShowWeekend && i > 5) {
break;
}
list.push({
day: i,
text: weekTextArr[i - 1]
});
}
if (firstDayOfWeek > 1) {
for (var _i = 1; _i < firstDayOfWeek; _i++) {
if (!isShowWeekend && _i > 5) {
break;
}
list.push({
day: _i,
text: weekTextArr[_i - 1]
});
}
}
return list;
}, [mode, firstDayOfWeek, isShowWeekend, week, weekLabelList]);
var rangeFromTo = React.useMemo(function () {
if (!range || range.length < 2) {
return null;
}
var _range = slicedToArray._slicedToArray(range, 2),
v1 = _range[0],
v2 = _range[1];
if (dayjs__default["default"](v1).isBefore(dayjs__default["default"](v2))) {
return {
from: v1,
to: v2
};
}
return {
from: v2,
to: v1
};
}, [range]);
var controllerOptions = React.useMemo(function () {
var dayJsFilterDate = dayjs__default["default"]("".concat(year, "-").concat(month));
var re = {
filterDate: dayJsFilterDate.toDate(),
formattedFilterDate: dayJsFilterDate.format(format),
mode: mode,
isShowWeekend: isShowWeekend
};
return re;
}, [isShowWeekend, mode, year, month, format]);
var _useMemo = React.useMemo(function () {
var isRangeValid = rangeFromTo && rangeFromTo.from && rangeFromTo.to;
var checkMonthSelectorDisabled = function checkMonthSelectorDisabled(yearIn, monthIn) {
if (isRangeValid) {
var beginYear = dayjs__default["default"](rangeFromTo.from).year();
var endYear = dayjs__default["default"](rangeFromTo.to).year();
if (yearIn === beginYear) {
var beginMon = parseInt(dayjs__default["default"](rangeFromTo.from).format("M"), 10);
return monthIn < beginMon;
}
if (yearIn === endYear) {
var endMon = parseInt(dayjs__default["default"](rangeFromTo.to).format("M"), 10);
return monthIn > endMon;
}
}
return false;
};
var yearList = [];
var monthList2 = [];
var yearBegin = isRangeValid ? dayjs__default["default"](rangeFromTo.from).year() : Math.max(calendar__util.minYear, year - 10);
var yearEnd = isRangeValid ? dayjs__default["default"](rangeFromTo.to).year() : Math.max(calendar__util.minYear, year + 10);
for (var i = yearBegin; i <= yearEnd; i++) {
yearList.push({
value: i,
disabled: checkMonthSelectorDisabled(i, month)
});
}
for (var _i2 = 1; _i2 <= 12; _i2++) {
monthList2.push({
value: _i2,
disabled: checkMonthSelectorDisabled(year, _i2)
});
}
return [yearList, monthList2];
}, [rangeFromTo, year, month]),
_useMemo2 = slicedToArray._slicedToArray(_useMemo, 2),
yearSelectList = _useMemo2[0],
monthSelectList = _useMemo2[1];
var dateList = React.useMemo(function () {
return calendar__util.createDateList(year, month, firstDayOfWeek, value, format);
}, [year, month, firstDayOfWeek, format, value]);
var monthList = React.useMemo(function () {
return calendar__util.createMonthList(year, value, format);
}, [year, value, format]);
var createCalendarCell = React.useCallback(function (cellData) {
return _objectSpread(_objectSpread({}, cellData), controllerOptions);
}, [controllerOptions]);
var toCurrent = React.useCallback(function () {
var valueIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var now = dayjs__default["default"](valueIn).isValid() ? dayjs__default["default"](valueIn) : dayjs__default["default"](dayjs__default["default"]().format("YYYY-MM-DD"));
setValue(now);
setYear(now.year());
setMonth(parseInt(now.format("M"), 10));
}, []);
React__default["default"].useImperativeHandle(ref, function () {
return {
toCurrent: toCurrent
};
}, [toCurrent]);
var handleMonthChange = function handleMonthChange(newMonth) {
setMonth(newMonth);
onMonthChange({
month: String(newMonth),
year: String(year)
});
};
var execCellEvent = React.useCallback(function (event, calendarCell, handleFunc) {
if (handleFunc && typeof handleFunc === "function") {
handleFunc({
cell: createCalendarCell(calendarCell),
e: event
});
}
}, [createCalendarCell]);
var clickCell = function clickCell(event, calendarCell) {
setValue(dayjs__default["default"](calendarCell.formattedDate));
execCellEvent(event, calendarCell, onCellClick);
};
var doubleClickCell = function doubleClickCell(event, calendarCell) {
execCellEvent(event, calendarCell, onCellDoubleClick);
};
var rightClickCell = function rightClickCell(event, calendarCell) {
if (preventCellContextmenu) event.preventDefault();
execCellEvent(event, calendarCell, onCellRightClick);
};
React.useEffect(function () {
toCurrent(valueFromProps);
}, [valueFromProps, toCurrent]);
React.useEffect(function () {
if (monthProps) {
setMonth(Number(monthProps));
}
}, [monthProps]);
React.useEffect(function () {
if (yearProps) {
setYear(Number(yearProps));
}
}, [yearProps]);
React.useEffect(function () {
setMode(modeFromProps);
}, [modeFromProps]);
React.useEffect(function () {
setIsShowWeekend(isShowWeekendDefault);
}, [isShowWeekendDefault]);
hooks_useLayoutEffect["default"](function () {
onControllerChange(controllerOptions);
}, [controllerOptions, onControllerChange]);
var prefixCls = calendar_hooks_usePrefixClass["default"]();
var currentDate = dayjs__default["default"]().format("YYYY-MM-DD");
var currentMonth = dayjs__default["default"]().format("YYYY-MM");
var controlSectionSize = theme === "card" ? "small" : "medium";
return /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls(calendar__util.blockName, [calendar__util.blockName, "", theme]).concat(" ", className),
style: style
}, visible && /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control"])
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "title"])
}, function () {
if (head && typeof head === "function") return head(controllerOptions);
if (head && typeof head !== "function") return head;
}()), /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control-section"])
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control-section-cell"])
}, visibleForYear && /* @__PURE__ */React__default["default"].createElement(select_index.Select, _objectSpread({
autoWidth: true,
size: controlSectionSize,
value: year,
disabled: disabled,
options: yearSelectList.map(function (item) {
return {
label: t(local.yearSelection, {
year: item.value
}),
value: item.value,
disabled: item.disabled
};
}),
onChange: function onChange(selectYear) {
return setYear(selectYear);
}
}, selectPropsForYear))), /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control-section-cell"])
}, visibleForMonth && mode === "month" && /* @__PURE__ */React__default["default"].createElement(select_index.Select, _objectSpread({
autoWidth: true,
size: controlSectionSize,
value: month,
options: monthSelectList.map(function (item) {
return {
label: t(local.monthSelection, {
month: item.value
}),
value: item.value,
disabled: item.disabled
};
}),
disabled: disabled,
onChange: handleMonthChange
}, selectPropsForMonth))), /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control-section-cell"]),
style: {
height: "auto"
}
}, visibleForMode && /* @__PURE__ */React__default["default"].createElement(radio_index.Radio.Group, _objectSpread({
variant: "default-filled",
size: controlSectionSize,
value: mode,
disabled: disabled,
onChange: function onChange(value2) {
return setMode(value2);
}
}, radioGroupPropsForMode), /* @__PURE__ */React__default["default"].createElement(radio_index.Radio.Button, {
value: "month"
}, t(local.monthRadio)), /* @__PURE__ */React__default["default"].createElement(radio_index.Radio.Button, {
value: "year"
}, t(local.yearRadio)))), mode === "month" && theme === "full" && visibleForWeekendToggle && /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control-section-cell"])
}, /* @__PURE__ */React__default["default"].createElement(tag_CheckTag["default"], _objectSpread({
className: "t-calendar__control-tag",
checked: !isShowWeekend,
disabled: disabled,
size: controlSectionSize,
onClick: function onClick() {
setIsShowWeekend(!isShowWeekend);
}
}, isShowWeekend ? hideWeekendButtonProps : showWeekendButtonProps), "".concat(isShowWeekend ? t(local.hideWeekend) : t(local.showWeekend)))), theme === "full" && visibleForCurrent && /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "control-section-cell"])
}, /* @__PURE__ */React__default["default"].createElement(button_index.Button, _objectSpread({
size: controlSectionSize,
disabled: disabled,
onClick: function onClick() {
toCurrent();
}
}, mode === "year" ? currentMonthButtonProps : currentDayButtonProps), mode === "year" ? t(local.thisMonth) : t(local.today))))), /* @__PURE__ */React__default["default"].createElement("div", {
className: prefixCls([calendar__util.blockName, "panel"], [calendar__util.blockName, "panel--".concat(mode)])
}, /* @__PURE__ */React__default["default"].createElement("table", {
className: prefixCls([calendar__util.blockName, "table"])
}, colHeaderList.length > 0 && /* @__PURE__ */React__default["default"].createElement("thead", {
className: prefixCls([calendar__util.blockName, "table-head"])
}, /* @__PURE__ */React__default["default"].createElement("tr", {
className: prefixCls([calendar__util.blockName, "table-head-row"])
}, colHeaderList.map(function (item) {
return /* @__PURE__ */React__default["default"].createElement("th", {
key: item.day,
className: prefixCls([calendar__util.blockName, "table-head-cell"])
}, week && typeof week === "function" ? week({
day: item.day
}) : item.text);
}))), mode === "month" && /* @__PURE__ */React__default["default"].createElement("tbody", {
className: prefixCls([calendar__util.blockName, "table-body"])
}, dateList.map(function (dateRow, dateRowIndex) {
return /* @__PURE__ */React__default["default"].createElement("tr", {
key: String(dateRowIndex),
className: prefixCls([calendar__util.blockName, "table-body-row"])
}, dateRow.map(function (dateCell, dateCellIndex) {
if (!isShowWeekend && [6, 7].indexOf(dateCell.day) >= 0) return null;
var isNow = dateCell.formattedDate === currentDate;
return /* @__PURE__ */React__default["default"].createElement(calendar_CalendarCellComp["default"], {
key: dateCellIndex,
mode: mode,
theme: theme,
cell: cell,
cellData: dateCell,
cellAppend: cellAppend,
fillWithZero: fillWithZero,
isCurrent: dateCell.isCurrent,
isNow: isNow,
isDisabled: dateCell.belongTo !== 0,
createCalendarCell: createCalendarCell,
onCellClick: function onCellClick(event) {
return clickCell(event, dateCell);
},
onCellDoubleClick: function onCellDoubleClick(event) {
return doubleClickCell(event, dateCell);
},
onCellRightClick: function onCellRightClick(event) {
return rightClickCell(event, dateCell);
}
});
}));
})), mode === "year" && /* @__PURE__ */React__default["default"].createElement("tbody", {
className: prefixCls([calendar__util.blockName, "table-body"])
}, monthList.map(function (monthRow, monthRowIndex) {
return /* @__PURE__ */React__default["default"].createElement("tr", {
key: String(monthRowIndex),
className: prefixCls([calendar__util.blockName, "table-body-row"])
}, monthRow.map(function (monthCell, monthCellIndex) {
var isNow = monthCell.formattedDate.startsWith(currentMonth);
return /* @__PURE__ */React__default["default"].createElement(calendar_CalendarCellComp["default"], {
key: monthCellIndex,
mode: mode,
theme: theme,
cell: cell,
cellData: monthCell,
cellAppend: cellAppend,
fillWithZero: fillWithZero,
isCurrent: monthCell.isCurrent,
isNow: isNow,
createCalendarCell: createCalendarCell,
onCellClick: function onCellClick(event) {
return clickCell(event, monthCell);
},
onCellDoubleClick: function onCellDoubleClick(event) {
return doubleClickCell(event, monthCell);
},
onCellRightClick: function onCellRightClick(event) {
return rightClickCell(event, monthCell);
}
});
}));
})))));
});
Calendar.displayName = "Calendar";
exports["default"] = Calendar;
//# sourceMappingURL=Calendar.js.map