@nutui/nutui-react 2.7.6 → 2.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +29 -7
  2. package/dist/esm/Address/style/style.css +1 -1
  3. package/dist/esm/Animate/style/style.css +1 -1
  4. package/dist/esm/Animate.js +6 -9
  5. package/dist/esm/Calendar/style/style.css +1 -1
  6. package/dist/esm/Calendar.js +2 -2
  7. package/dist/esm/CalendarCard.js +4 -4
  8. package/dist/esm/CalendarItem.js +177 -180
  9. package/dist/esm/Cascader/style/style.css +1 -1
  10. package/dist/esm/DatePicker.js +8 -0
  11. package/dist/esm/Empty.js +1 -1
  12. package/dist/esm/Form.js +2 -1
  13. package/dist/esm/TabPane.js +1 -1
  14. package/dist/esm/Tabs/style/style.css +1 -1
  15. package/dist/esm/date.js +109 -181
  16. package/dist/esm/formitem2.js +121 -31
  17. package/dist/esm/tabs2.js +26 -42
  18. package/dist/locales/base.js +1 -1
  19. package/dist/locales/en-US.js +1 -1
  20. package/dist/locales/id-ID.js +1 -1
  21. package/dist/locales/tr-TR.js +1 -1
  22. package/dist/locales/zh-CN.js +1 -1
  23. package/dist/locales/zh-TW.js +1 -1
  24. package/dist/locales/zh-UG.js +1 -1
  25. package/dist/nutui.react.es.js +477 -517
  26. package/dist/nutui.react.umd.js +477 -517
  27. package/dist/packages/animate/animate.scss +63 -105
  28. package/dist/packages/calendar/calendar.scss +9 -9
  29. package/dist/packages/tabs/tabs.scss +72 -115
  30. package/dist/style.css +1 -1
  31. package/dist/types/packages/animate/animate.taro.d.ts +2 -1
  32. package/dist/types/packages/form/__tests__/merge.spec.d.ts +1 -0
  33. package/dist/types/packages/form/index.d.ts +2 -1
  34. package/dist/types/packages/form/index.taro.d.ts +2 -1
  35. package/dist/types/packages/form/useform.d.ts +2 -1
  36. package/dist/types/packages/form/useform.taro.d.ts +2 -1
  37. package/dist/types/utils/date.d.ts +54 -52
  38. package/dist/types/utils/merge.d.ts +14 -1
  39. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import React__default, { useState, useRef, useEffect } from "react";
2
2
  import classNames from "classnames";
3
3
  import { C as ComponentDefaults } from "./typings.js";
4
- import { U as Utils, g as getPreMonthDates, a as getDaysStatus, b as getCurrMonthData } from "./date.js";
4
+ import { i as isEqual, d as date2Str, a as getNumTwoBit, g as getDateString, c as compareDate, b as getPreMonthDates, e as getDaysStatus, f as getMonthDays, h as getCurrMonthData, j as getWeekDate, k as getWhatDay, l as formatResultDate } from "./date.js";
5
5
  import { r as requestAniFrame } from "./raf.js";
6
6
  import { useConfig } from "./ConfigProvider.js";
7
7
  import { u as usePropsValue } from "./use-props-value.js";
@@ -12,28 +12,28 @@ const splitDate = (date) => {
12
12
  const isMultiple = (day, days) => {
13
13
  if (days.length > 0) {
14
14
  return days.some((item) => {
15
- return Utils.isEqual(item, day);
15
+ return isEqual(item, day);
16
16
  });
17
17
  }
18
18
  return false;
19
19
  };
20
20
  const isCurrDay = (month, day) => {
21
21
  const date = `${month.curData[0]}/${month.curData[1]}/${day}`;
22
- return Utils.isEqual(date, Utils.date2Str(/* @__PURE__ */ new Date(), "/"));
22
+ return isEqual(date, date2Str(/* @__PURE__ */ new Date(), "/"));
23
23
  };
24
24
  const getCurrDate = (day, month) => {
25
- return `${month.curData[0]}/${month.curData[1]}/${Utils.getNumTwoBit(+day.day)}`;
25
+ return `${month.curData[0]}/${month.curData[1]}/${getNumTwoBit(+day.day)}`;
26
26
  };
27
27
  const isStart = (day, days) => {
28
- return Utils.isEqual(days[0], day);
28
+ return isEqual(days[0], day);
29
29
  };
30
30
  const isEnd = (day, days) => {
31
- return Utils.isEqual(days[1], day);
31
+ return isEqual(days[1], day);
32
32
  };
33
33
  const isStartAndEnd = (days) => {
34
- return days.length >= 2 && Utils.isEqual(days[0], days[1]);
34
+ return days.length >= 2 && isEqual(days[0], days[1]);
35
35
  };
36
- const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { type: "single", autoBackfill: false, popup: true, title: "", startDate: Utils.getDay(0), endDate: Utils.getDay(365), showToday: true, startText: "", endText: "", confirmText: "", showTitle: true, showSubTitle: true, scrollAnimation: true, firstDayOfWeek: 0, disableDate: (date) => false, renderHeaderButtons: void 0, renderDay: void 0, renderDayTop: void 0, renderDayBottom: void 0, onConfirm: (data) => {
36
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { type: "single", autoBackfill: false, popup: true, title: "", startDate: getDateString(0), endDate: getDateString(365), showToday: true, startText: "", endText: "", confirmText: "", showTitle: true, showSubTitle: true, scrollAnimation: true, firstDayOfWeek: 0, disableDate: (date) => false, renderHeaderButtons: void 0, renderDay: void 0, renderDayTop: void 0, renderDayBottom: void 0, onConfirm: (data) => {
37
37
  }, onUpdate: () => {
38
38
  }, onDayClick: (data) => {
39
39
  }, onPageChange: (data) => {
@@ -41,6 +41,8 @@ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { type:
41
41
  const CalendarItem = React__default.forwardRef((props, ref) => {
42
42
  const { locale } = useConfig();
43
43
  const { style, className, children, popup, type, autoBackfill, title, defaultValue, startDate, endDate, showToday, startText, endText, confirmText, showTitle, showSubTitle, scrollAnimation, firstDayOfWeek, disableDate, renderHeaderButtons, renderBottomButton, renderDay, renderDayTop, renderDayBottom, value, onConfirm, onUpdate, onDayClick, onPageChange } = Object.assign(Object.assign({}, defaultProps), props);
44
+ const classPrefix = "nut-calendar";
45
+ const dayPrefix = "nut-calendar-day";
44
46
  const weekdays = locale.calendaritem.weekdays;
45
47
  const weeks = [
46
48
  ...weekdays.slice(firstDayOfWeek, 7),
@@ -52,19 +54,13 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
52
54
  const [monthsNum, setMonthsNum] = useState(0);
53
55
  const [translateY, setTranslateY] = useState(0);
54
56
  const [monthDefaultRange, setMonthDefaultRange] = useState([]);
55
- const propStartDate = startDate || Utils.getDay(0);
56
- const propEndDate = endDate || Utils.getDay(365);
57
+ const propStartDate = startDate || getDateString(0);
58
+ const propEndDate = endDate || getDateString(365);
57
59
  const startDates = splitDate(propStartDate);
58
60
  const endDates = splitDate(propEndDate);
59
61
  const [state] = useState({
60
62
  currDateArray: []
61
63
  });
62
- const getMonthsPanel = () => {
63
- return monthsPanel.current;
64
- };
65
- const getMonthsRef = () => {
66
- return monthsRef.current;
67
- };
68
64
  const resetDefaultValue = () => {
69
65
  if (defaultValue || Array.isArray(defaultValue) && defaultValue.length > 0) {
70
66
  return type !== "single" ? [...defaultValue] : defaultValue;
@@ -84,9 +80,7 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
84
80
  const viewAreaRef = useRef(null);
85
81
  const [avgHeight, setAvgHeight] = useState(0);
86
82
  let viewHeight = 0;
87
- const classPrefix = "nut-calendar";
88
- const dayPrefix = "nut-calendar-day";
89
- const getMonthData = (curData, monthNum, type2) => {
83
+ const getMonthData = (curData, monthNum) => {
90
84
  let i = 0;
91
85
  let date = curData;
92
86
  const monthData = monthsData;
@@ -110,10 +104,8 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
110
104
  cssHeight,
111
105
  scrollTop
112
106
  };
113
- {
114
- if (!endDates || !Utils.compareDate(`${endDates[0]}/${endDates[1]}/${Utils.getMonthDays(endDates[0], endDates[1])}`, `${curData[0]}/${curData[1]}/${curData[2]}`)) {
115
- monthData.push(monthInfo);
116
- }
107
+ if (!endDates || !compareDate(`${endDates[0]}/${endDates[1]}/${getMonthDays(endDates[0], endDates[1])}`, `${curData[0]}/${curData[1]}/${curData[2]}`)) {
108
+ monthData.push(monthInfo);
117
109
  }
118
110
  date = getCurrMonthData("next", y, m);
119
111
  } while (i++ < monthNum);
@@ -121,9 +113,9 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
121
113
  };
122
114
  const setReachedYearMonthInfo = (current) => {
123
115
  const currentMonthsData = monthsData[current];
124
- const [year, month] = currentMonthsData.curData;
125
116
  if (currentMonthsData.title === yearMonthTitle)
126
117
  return;
118
+ const [year, month] = currentMonthsData.curData;
127
119
  onPageChange && onPageChange([year, month, `${year}-${month}`]);
128
120
  setYearMonthTitle(currentMonthsData.title);
129
121
  };
@@ -149,57 +141,54 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
149
141
  setTranslateY(monthsData[start].scrollTop);
150
142
  setReachedYearMonthInfo(current);
151
143
  };
152
- const getMonthNum = () => {
153
- let monthNum = Number(endDates[1]) - Number(startDates[1]);
154
- const yearNum = Number(endDates[0]) - Number(startDates[0]);
155
- if (yearNum > 0) {
156
- monthNum += 12 * yearNum;
157
- }
158
- if (monthNum <= 0) {
159
- monthNum = 1;
160
- }
161
- setMonthsNum(monthNum);
162
- return monthNum;
163
- };
164
144
  const setDefaultDate = () => {
165
145
  let defaultData = [];
166
- if (type === "range" && Array.isArray(currentDate)) {
167
- if (currentDate.length > 0) {
168
- if (propStartDate && Utils.compareDate(currentDate[0], propStartDate)) {
169
- currentDate.splice(0, 1, propStartDate);
146
+ if (type === "single" && typeof currentDate === "string") {
147
+ if (!currentDate.length) {
148
+ return defaultData;
149
+ }
150
+ if (compareDate(currentDate, propStartDate)) {
151
+ defaultData = [...splitDate(propStartDate)];
152
+ } else if (!compareDate(currentDate, propEndDate)) {
153
+ defaultData = [...splitDate(propEndDate)];
154
+ } else {
155
+ defaultData = [...splitDate(currentDate)];
156
+ }
157
+ return defaultData;
158
+ }
159
+ if (Array.isArray(currentDate) && currentDate.length) {
160
+ if (type === "range") {
161
+ if (compareDate(currentDate[0], propStartDate)) {
162
+ currentDate[0] = propStartDate;
170
163
  }
171
- if (propEndDate && Utils.compareDate(propEndDate, currentDate[1])) {
172
- currentDate.splice(1, 1, propEndDate);
164
+ if (compareDate(propEndDate, currentDate[1])) {
165
+ currentDate[1] = propEndDate;
173
166
  }
174
167
  defaultData = [
175
168
  ...splitDate(currentDate[0]),
176
169
  ...splitDate(currentDate[1])
177
170
  ];
178
- }
179
- } else if (type === "multiple" && Array.isArray(currentDate)) {
180
- if (currentDate.length > 0) {
171
+ } else if (type === "multiple") {
181
172
  const defaultArr = [];
182
173
  const obj = {};
183
174
  currentDate.forEach((item) => {
184
- if (propStartDate && !Utils.compareDate(item, propStartDate) && propEndDate && !Utils.compareDate(propEndDate, item)) {
175
+ if (!compareDate(item, propStartDate) && !compareDate(propEndDate, item)) {
185
176
  if (!Object.hasOwnProperty.call(obj, item)) {
186
177
  defaultArr.push(item);
187
178
  obj[item] = item;
188
179
  }
189
180
  }
190
181
  });
191
- currentDate.splice(0) && currentDate.push(...defaultArr);
182
+ currentDate.splice(0, currentDate.length, ...defaultArr);
192
183
  defaultData = [...splitDate(defaultArr[0])];
193
- }
194
- } else if (type === "week" && Array.isArray(currentDate)) {
195
- if (currentDate.length > 0) {
184
+ } else if (type === "week") {
196
185
  const [y, m, d] = splitDate(currentDate[0]);
197
- const weekArr = Utils.getWeekDate(y, m, d, firstDayOfWeek);
198
- currentDate.splice(0) && currentDate.push(...weekArr);
199
- if (propStartDate && Utils.compareDate(currentDate[0], propStartDate)) {
186
+ const weekArr = getWeekDate(y, m, d, firstDayOfWeek);
187
+ currentDate.splice(0, currentDate.length, ...weekArr);
188
+ if (compareDate(currentDate[0], propStartDate)) {
200
189
  currentDate.splice(0, 1, propStartDate);
201
190
  }
202
- if (propEndDate && Utils.compareDate(propEndDate, currentDate[1])) {
191
+ if (compareDate(propEndDate, currentDate[1])) {
203
192
  currentDate.splice(1, 1, propEndDate);
204
193
  }
205
194
  defaultData = [
@@ -207,18 +196,6 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
207
196
  ...splitDate(currentDate[1])
208
197
  ];
209
198
  }
210
- } else if (currentDate) {
211
- if (currentDate.length > 0) {
212
- if (propStartDate && Utils.compareDate(currentDate, propStartDate)) {
213
- defaultData = [...splitDate(propStartDate)];
214
- } else if (propEndDate && !Utils.compareDate(currentDate, propEndDate)) {
215
- defaultData = [...splitDate(propEndDate)];
216
- } else {
217
- defaultData = [...splitDate(currentDate)];
218
- }
219
- } else {
220
- defaultData = [];
221
- }
222
199
  }
223
200
  return defaultData;
224
201
  };
@@ -252,31 +229,31 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
252
229
  lastCurrent
253
230
  };
254
231
  };
255
- const renderCurrentDate = () => {
256
- const defaultData = setDefaultDate();
257
- const current = getCurrentIndex(defaultData);
258
- if (defaultData.length > 0) {
259
- if (type === "range") {
260
- chooseDay({ day: defaultData[2], type: "active" }, monthsData[current.current], true);
261
- chooseDay({ day: defaultData[5], type: "active" }, monthsData[current.lastCurrent], true);
262
- } else if (type === "week") {
263
- chooseDay({ day: defaultData[2], type: "curr" }, monthsData[current.current], true);
264
- } else if (type === "multiple") {
265
- [...currentDate].forEach((item) => {
266
- const dateArr = splitDate(item);
267
- let currentIndex = current.current;
268
- monthsData.forEach((item2, index) => {
269
- if (item2.title === monthTitle(dateArr[0], dateArr[1])) {
270
- currentIndex = index;
271
- }
272
- });
273
- chooseDay({ day: dateArr[2], type: "active" }, monthsData[currentIndex], true);
274
- });
275
- } else {
276
- chooseDay({ day: defaultData[2], type: "active" }, monthsData[current.current], true);
277
- }
232
+ const renderCurrentDate = (defaultData, current) => {
233
+ if (!defaultData.length)
234
+ return;
235
+ const date = monthsData[current.current];
236
+ if (type === "range") {
237
+ handleDayClick({ day: defaultData[2], type: "active" }, date);
238
+ handleDayClick({ day: defaultData[5], type: "active" }, monthsData[current.lastCurrent]);
239
+ } else if (type === "week") {
240
+ handleDayClick({ day: defaultData[2], type: "curr" }, date);
241
+ } else if (type === "multiple") {
242
+ [...currentDate].forEach((item) => {
243
+ const dateArr = splitDate(item);
244
+ let currentIndex = current.current;
245
+ currentIndex = monthsData.findIndex((item2) => item2.title === monthTitle(dateArr[0], dateArr[1]));
246
+ handleDayClick({ day: dateArr[2], type: "active" }, monthsData[currentIndex]);
247
+ });
248
+ } else {
249
+ handleDayClick({ day: defaultData[2], type: "active" }, date);
278
250
  }
279
- return current.current;
251
+ };
252
+ const getMonthsPanel = () => {
253
+ return monthsPanel.current;
254
+ };
255
+ const getMonthsRef = () => {
256
+ return monthsRef.current;
280
257
  };
281
258
  const requestAniFrameFunc = (current, monthNum) => {
282
259
  const lastItem = monthsData[monthsData.length - 1];
@@ -290,12 +267,27 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
290
267
  });
291
268
  setAvgHeight(Math.floor(containerHeight / (monthNum + 1)));
292
269
  };
270
+ const getMonthNum = () => {
271
+ let monthNum = Number(endDates[1]) - Number(startDates[1]);
272
+ const yearNum = Number(endDates[0]) - Number(startDates[0]);
273
+ if (yearNum > 0) {
274
+ monthNum += 12 * yearNum;
275
+ }
276
+ if (monthNum <= 0) {
277
+ monthNum = 1;
278
+ }
279
+ setMonthsNum(monthNum);
280
+ return monthNum;
281
+ };
293
282
  const initData = () => {
294
283
  const monthNum = getMonthNum();
295
284
  getMonthData(startDates, monthNum);
296
- const current = renderCurrentDate();
297
- setDefaultRange(monthNum, current);
298
- requestAniFrameFunc(current, monthNum);
285
+ const defaultData = setDefaultDate();
286
+ const current = getCurrentIndex(defaultData);
287
+ const currentIndex = current.current;
288
+ renderCurrentDate(defaultData, current);
289
+ setDefaultRange(monthNum, currentIndex);
290
+ requestAniFrameFunc(currentIndex, monthNum);
299
291
  };
300
292
  useEffect(() => {
301
293
  initData();
@@ -312,9 +304,9 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
312
304
  popup && resetRender();
313
305
  }, [currentDate]);
314
306
  const scrollToDate = (date) => {
315
- if (Utils.compareDate(date, propStartDate)) {
307
+ if (compareDate(date, propStartDate)) {
316
308
  date = propStartDate;
317
- } else if (!Utils.compareDate(date, propEndDate)) {
309
+ } else if (!compareDate(date, propEndDate)) {
318
310
  date = propEndDate;
319
311
  }
320
312
  const dateArr = splitDate(date);
@@ -358,16 +350,13 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
358
350
  const nextTop = monthsData[current + 1].scrollTop;
359
351
  const nextHeight = monthsData[current + 1].cssHeight;
360
352
  if (current === 0) {
361
- if (scrollTop >= nextTop) {
353
+ if (scrollTop >= nextTop)
362
354
  current += 1;
363
- }
364
355
  } else if (current > 0 && current < monthsNum - 1) {
365
- if (scrollTop >= nextTop) {
356
+ if (scrollTop >= nextTop)
366
357
  current += 1;
367
- }
368
- if (scrollTop < monthsData[current].scrollTop) {
358
+ if (scrollTop < monthsData[current].scrollTop)
369
359
  current -= 1;
370
- }
371
360
  } else {
372
361
  const viewPosition = Math.round(scrollTop + viewHeight);
373
362
  if (current + 1 <= monthsNum && viewPosition >= nextTop + nextHeight) {
@@ -382,86 +371,90 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
382
371
  React__default.useImperativeHandle(ref, () => ({
383
372
  scrollToDate
384
373
  }));
374
+ const isDisable = (day, month) => {
375
+ if (day.type !== "active")
376
+ return true;
377
+ const dateStr = getCurrDate(day, month);
378
+ if (compareDate(dateStr, propStartDate))
379
+ return true;
380
+ if (compareDate(propEndDate, dateStr))
381
+ return true;
382
+ return false;
383
+ };
385
384
  const getClasses = (day, month) => {
386
385
  const dateStr = getCurrDate(day, month);
387
- if (day.type === "active") {
388
- if (propStartDate && Utils.compareDate(dateStr, propStartDate) || propEndDate && Utils.compareDate(propEndDate, dateStr)) {
389
- return `${dayPrefix}-disabled`;
386
+ if (isDisable(day, month))
387
+ return `${dayPrefix}-disabled`;
388
+ const activeCls = `${dayPrefix}-active`;
389
+ if (type === "range" || type === "week") {
390
+ if (isStart(dateStr, currentDate))
391
+ return `${activeCls} active-start`;
392
+ if (isEnd(dateStr, currentDate)) {
393
+ return `${activeCls} active-end`;
390
394
  }
391
- if (type === "range" || type === "week") {
392
- if (isStart(dateStr, currentDate) || isEnd(dateStr, currentDate)) {
393
- return `${dayPrefix}-active ${isStart(dateStr, currentDate) ? "active-start" : ""} ${isEnd(dateStr, currentDate) ? "active-end" : ""}`;
394
- }
395
- if (Array.isArray(currentDate) && Object.values(currentDate).length === 2 && Utils.compareDate(currentDate[0], dateStr) && Utils.compareDate(dateStr, currentDate[1])) {
396
- if (disableDate(day)) {
397
- return `${dayPrefix}-choose-disabled`;
398
- }
399
- return `${dayPrefix}-choose`;
400
- }
401
- } else if (type === "multiple" && isMultiple(dateStr, currentDate) || !Array.isArray(currentDate) && Utils.isEqual(currentDate, dateStr)) {
402
- return `${dayPrefix}-active`;
395
+ if (currentDate.length === 2 && compareDate(currentDate[0], dateStr) && compareDate(dateStr, currentDate[1])) {
396
+ return disableDate(day) ? `${dayPrefix}-choose-disabled` : `${dayPrefix}-choose`;
403
397
  }
404
- if (disableDate(day)) {
405
- return `${dayPrefix}-disabled`;
406
- }
407
- return null;
398
+ } else if (type === "multiple" && isMultiple(dateStr, currentDate) || type === "single" && isEqual(currentDate, dateStr)) {
399
+ return activeCls;
408
400
  }
409
- return `${dayPrefix}-disabled`;
401
+ if (disableDate(day))
402
+ return `${dayPrefix}-disabled`;
403
+ return null;
410
404
  };
411
- const chooseDay = (day, month, isFirst) => {
405
+ const handleDayClick = (day, month, isFirst = true) => {
412
406
  if (getClasses(day, month) === `${dayPrefix}-disabled`) {
413
407
  return;
414
408
  }
415
409
  const days = [...month.curData];
416
410
  const [y, m] = month.curData;
417
- days[2] = typeof day.day === "number" ? Utils.getNumTwoBit(day.day) : day.day;
411
+ days[2] = typeof day.day === "number" ? getNumTwoBit(day.day) : day.day;
418
412
  days[3] = `${days[0]}/${days[1]}/${days[2]}`;
419
- days[4] = Utils.getWhatDay(+days[0], +days[1], +days[2]);
413
+ days[4] = getWhatDay(+days[0], +days[1], +days[2]);
414
+ const newDate = days[3];
420
415
  if (type === "multiple") {
421
- if (currentDate.length > 0) {
422
- let hasIndex = "";
423
- currentDate.forEach((item, index) => {
424
- if (item === days[3]) {
425
- hasIndex = index;
416
+ if (Array.isArray(currentDate)) {
417
+ if (currentDate.length > 0) {
418
+ const hasIndex = currentDate.findIndex((item) => item === newDate);
419
+ if (isFirst) {
420
+ state.currDateArray.push([...days]);
421
+ } else if (hasIndex > -1) {
422
+ currentDate.splice(hasIndex, 1);
423
+ state.currDateArray.splice(hasIndex, 1);
424
+ } else {
425
+ currentDate.push(newDate);
426
+ state.currDateArray.push([...days]);
426
427
  }
427
- });
428
- if (isFirst) {
429
- state.currDateArray.push([...days]);
430
- } else if (hasIndex !== "") {
431
- currentDate.splice(hasIndex, 1);
432
- state.currDateArray.splice(hasIndex, 1);
433
428
  } else {
434
- currentDate.push(days[3]);
435
- state.currDateArray.push([...days]);
429
+ currentDate.push(newDate);
430
+ state.currDateArray = [[...days]];
436
431
  }
437
- } else {
438
- currentDate.push(days[3]);
439
- state.currDateArray = [[...days]];
440
432
  }
441
433
  } else if (type === "range") {
442
- const curDataLength = Object.values(currentDate).length;
443
- if (curDataLength === 2 || curDataLength === 0) {
444
- Array.isArray(currentDate) && currentDate.splice(0) && currentDate.push(days[3]);
445
- state.currDateArray = [[...days]];
446
- } else if (Utils.compareDate(currentDate[0], days[3])) {
447
- Array.isArray(currentDate) && currentDate.push(days[3]);
448
- state.currDateArray = [...state.currDateArray, [...days]];
449
- } else {
450
- Array.isArray(currentDate) && currentDate.unshift(days[3]);
451
- state.currDateArray = [[...days], ...state.currDateArray];
434
+ if (Array.isArray(currentDate)) {
435
+ if (currentDate.length === 2 || currentDate.length === 0) {
436
+ currentDate.splice(0, currentDate.length, newDate);
437
+ state.currDateArray = [[...days]];
438
+ } else if (compareDate(currentDate[0], newDate)) {
439
+ currentDate.push(newDate);
440
+ state.currDateArray = [...state.currDateArray, [...days]];
441
+ } else {
442
+ currentDate.unshift(newDate);
443
+ state.currDateArray = [[...days], ...state.currDateArray];
444
+ }
452
445
  }
453
446
  } else if (type === "week") {
454
- const weekArr = Utils.getWeekDate(y, m, `${day.day}`, firstDayOfWeek);
455
- if (propStartDate && Utils.compareDate(weekArr[0], propStartDate)) {
456
- weekArr.splice(0, 1, propStartDate);
447
+ const weekArr = getWeekDate(y, m, `${day.day}`, firstDayOfWeek);
448
+ if (compareDate(weekArr[0], propStartDate)) {
449
+ weekArr[0] = propStartDate;
457
450
  }
458
- if (propEndDate && Utils.compareDate(propEndDate, weekArr[1])) {
459
- weekArr.splice(1, 1, propEndDate);
451
+ if (compareDate(propEndDate, weekArr[1])) {
452
+ weekArr[1] = propEndDate;
460
453
  }
461
- Array.isArray(currentDate) && currentDate.splice(0) && currentDate.push(...weekArr);
454
+ currentDate.splice(0, currentDate.length, ...weekArr);
462
455
  state.currDateArray = [
463
- Utils.formatResultDate(weekArr[0]),
464
- Utils.formatResultDate(weekArr[1])
456
+ formatResultDate(weekArr[0]),
457
+ formatResultDate(weekArr[1])
465
458
  ];
466
459
  } else {
467
460
  setCurrentDate(days[3]);
@@ -484,10 +477,10 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
484
477
  }
485
478
  }
486
479
  };
487
- const classes = classNames({
480
+ const classes = classNames(classPrefix, {
488
481
  [`${classPrefix}-title`]: !popup,
489
482
  [`${classPrefix}-nofooter`]: !!autoBackfill
490
- }, classPrefix, className);
483
+ }, className);
491
484
  const headerClasses = classNames({
492
485
  [`${classPrefix}-header`]: true,
493
486
  [`${classPrefix}-header-title`]: !popup
@@ -508,6 +501,29 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
508
501
  React__default.createElement("div", { className: `${classPrefix}-weeks`, ref: weeksPanel }, weeks.map((item) => React__default.createElement("div", { className: `${classPrefix}-week-item`, key: item }, item)))
509
502
  );
510
503
  };
504
+ const renderItem = (month, day, index) => {
505
+ const startTip = isStartTip(day, month);
506
+ const endTip = isEndTip(day, month);
507
+ const noStartNorEnd = !startTip && !endTip;
508
+ return React__default.createElement(
509
+ "div",
510
+ { className: [`${classPrefix}-day`, getClasses(day, month)].join(" "), onClick: () => handleDayClick(day, month, false), key: index },
511
+ React__default.createElement("div", { className: `${classPrefix}-day-day` }, renderDay ? renderDay(day) : day.day),
512
+ !startTip && renderDayTop && React__default.createElement("div", { className: `${classPrefix}-day-info-top` }, renderDayTop(day)),
513
+ noStartNorEnd && renderDayBottom && React__default.createElement("div", { className: `${classPrefix}-day-info-bottom` }, renderDayBottom(day)),
514
+ noStartNorEnd && !renderDayBottom && showToday && isCurrDay(month, day.day) && React__default.createElement("div", { className: `${classPrefix}-day-info-curr` }, locale.calendaritem.today),
515
+ startTip && React__default.createElement("div", { className: `${classPrefix}-day-info ${isStartAndEnd(currentDate) ? `${classPrefix}-day-info-top` : ""}` }, startText || locale.calendaritem.start),
516
+ endTip && React__default.createElement("div", { className: `${classPrefix}-day-info` }, endText || locale.calendaritem.end)
517
+ );
518
+ };
519
+ const renderPanel = (month, key) => {
520
+ return React__default.createElement(
521
+ "div",
522
+ { className: `${classPrefix}-month`, key },
523
+ React__default.createElement("div", { className: `${classPrefix}-month-title` }, month.title),
524
+ React__default.createElement("div", { className: `${classPrefix}-days` }, month.monthData.map((day, i) => renderItem(month, day, i)))
525
+ );
526
+ };
511
527
  const renderContent = () => {
512
528
  return React__default.createElement(
513
529
  "div",
@@ -516,26 +532,7 @@ const CalendarItem = React__default.forwardRef((props, ref) => {
516
532
  "div",
517
533
  { className: `${classPrefix}-pannel`, ref: monthsPanel },
518
534
  React__default.createElement("div", { className: "viewArea", ref: viewAreaRef, style: { transform: `translateY(${translateY}px)` } }, monthsData.slice(monthDefaultRange[0], monthDefaultRange[1]).map((month, key) => {
519
- return React__default.createElement(
520
- "div",
521
- { className: `${classPrefix}-month`, key },
522
- React__default.createElement("div", { className: `${classPrefix}-month-title` }, month.title),
523
- React__default.createElement("div", { className: `${classPrefix}-days` }, month.monthData.map((day, i) => React__default.createElement(
524
- "div",
525
- { className: [
526
- `${classPrefix}-day`,
527
- getClasses(day, month)
528
- ].join(" "), onClick: () => {
529
- chooseDay(day, month);
530
- }, key: i },
531
- React__default.createElement("div", { className: `${classPrefix}-day-day` }, renderDay ? renderDay(day) : day.day),
532
- !isStartTip(day, month) && renderDayTop && React__default.createElement("div", { className: `${classPrefix}-day-info-top` }, renderDayTop(day)),
533
- !isStartTip(day, month) && !isEndTip(day, month) && renderDayBottom && React__default.createElement("div", { className: `${classPrefix}-day-info-bottom` }, renderDayBottom(day)),
534
- !isStartTip(day, month) && !isEndTip(day, month) && !renderDayBottom && showToday && isCurrDay(month, day.day) && React__default.createElement("div", { className: `${classPrefix}-day-info-curr` }, locale.calendaritem.today),
535
- isStartTip(day, month) && React__default.createElement("div", { className: `${classPrefix}-day-info ${isStartAndEnd(currentDate) ? `${classPrefix}-day-info-top` : ""}` }, startText || locale.calendaritem.start),
536
- isEndTip(day, month) && React__default.createElement("div", { className: `${classPrefix}-day-info` }, endText || locale.calendaritem.end)
537
- )))
538
- );
535
+ return renderPanel(month, key);
539
536
  }))
540
537
  )
541
538
  );
@@ -1 +1 @@
1
- .nut-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--nutui-overlay-bg-color, var(--nutui-black-10, rgba(0, 0, 0, .7)));z-index:var(--nutui-overlay-zIndex, 1000)}.nut-overlay .wrapper .content{background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-1, #ffffff));color:var(--nutui-overlay-content-color, var(--nutui-gray-7, #1a1a1a))}[dir=rtl] .nut-overlay,.nut-rtl .nut-overlay{left:auto;right:0}.nut-overflow-hidden{overflow:hidden!important}@keyframes nut-fade-in{0%{opacity:0}1%{opacity:0}to{opacity:1}}@keyframes nut-fade-out{0%{opacity:1}1%{opacity:1}to{opacity:0}}.nut-overlay-slide-enter-active,.nut-overlay-slide-appear-active{animation-fill-mode:both;animation-name:nut-fade-in;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-overlay-slide-exit-active{animation-fill-mode:both;animation-name:nut-fade-out;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-popup{position:fixed;min-height:26%;max-height:100%;overflow-y:auto;background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-1, #ffffff));color:var(--nutui-gray-7, #1a1a1a);-webkit-overflow-scrolling:touch;font-size:var(--nutui-font-size-3, 14px)}.nut-popup-title{display:flex;align-items:center;justify-content:center;border-bottom:var(--nutui-popup-title-border-bottom, 0);padding:var(--nutui-popup-title-padding, 16px);position:relative}.nut-popup-title-left{position:absolute;left:var(--nutui-popup-title-padding, 16px)}.nut-popup-title-title{font-weight:var(--nutui-font-weight-bold, 500);font-size:var(--nutui-popup-title-font-size, var(--nutui-font-size-5, 18px))}.nut-popup-title-description{color:var(--nutui-gray-5, #8c8c8c);font-size:var(--nutui-popup-description-font-size, var(--nutui-font-size-1, 10px));font-weight:var(--nutui-font-weight, 400)}.nut-popup-title-right{position:absolute!important;z-index:1;cursor:pointer;width:var(--nutui-popup-icon-size, var(--nutui-font-size-5, 18px));height:var(--nutui-popup-icon-size, var(--nutui-font-size-5, 18px));display:flex;justify-content:center;align-items:center;top:var(--nutui-popup-title-padding, 16px);right:var(--nutui-popup-title-padding, 16px);color:var(--nutui-gray-5, #8c8c8c)}.nut-popup-title-right:active{opacity:.7}.nut-popup-title-right-top-left{top:var(--nutui-popup-title-padding, 16px);left:var(--nutui-popup-title-padding, 16px)}.nut-popup-title-right-bottom-left{bottom:var(--nutui-popup-title-padding, 16px);left:var(--nutui-popup-title-padding, 16px)}.nut-popup-title-right-bottom-right{right:var(--nutui-popup-title-padding, 16px);bottom:var(--nutui-popup-title-padding, 16px)}.nut-popup-center{top:50%;left:50%;min-height:10%;transform:translate(-50%,-50%)}.nut-popup-center.nut-popup-round{border-radius:var(--nutui-popup-border-radius, 24px)}.nut-popup-bottom,.nut-popup-top{max-height:83%}.nut-popup-bottom{bottom:0;left:0;width:100%}.nut-popup-bottom.nut-popup-round{border-radius:var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px) 0 0}.nut-popup-right{top:0;right:0}.nut-popup-right.nut-popup-round{border-radius:var(--nutui-popup-border-radius, 24px) 0 0 var(--nutui-popup-border-radius, 24px)}.nut-popup-left{top:0;left:0}.nut-popup-left.nut-popup-round{border-radius:0 var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px) 0}.nut-popup-top{top:0;left:0;width:100%}.nut-popup-top.nut-popup-round{border-radius:0 0 var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px)}@keyframes popup-scale-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes popup-scale-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.nut-popup-slide-default-enter-active{animation-fill-mode:both;animation-name:popup-scale-fade-in;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-default-exit-active{animation-fill-mode:both;animation-name:popup-scale-fade-out;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes popup-fade-out{0%{opacity:1}to{opacity:0}}.nut-popup-slide-center-enter-active{animation-fill-mode:both;animation-name:popup-fade-in;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-center-exit-active{animation-fill-mode:both;animation-name:popup-fade-out;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-top-enter{0%{transform:translate3d(0,-100%,0)}}@keyframes popup-slide-top-exit{to{transform:translate3d(0,-100%,0)}}.nut-popup-slide-top-enter-active,.nut-popup-slide-top-appear-active{transform:translateZ(0);animation-fill-mode:both;animation-name:popup-slide-top-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-top-exit-active{animation-fill-mode:both;animation-name:popup-slide-top-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-right-enter{0%{transform:translate3d(100%,0,0)}}@keyframes popup-slide-right-exit{to{transform:translate3d(100%,0,0)}}.nut-popup-slide-right-enter-active,.nut-popup-slide-right-appear-active{transform:translateZ(0);animation-fill-mode:both;animation-name:popup-slide-right-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-right-exit{animation-fill-mode:both;animation-name:popup-slide-right-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-bottom-enter{0%{transform:translate3d(0,100%,0)}}@keyframes slide-bottom-exit{to{transform:translate3d(0,100%,0)}}.nut-popup-slide-bottom-enter-active,.nut-popup-slide-bottom-appear-active{transform:translate(0);animation-fill-mode:both;animation-name:popup-slide-bottom-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-bottom-exit{animation-fill-mode:both;animation-name:slide-bottom-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-left-enter{0%{transform:translate3d(-100%,0,0)}}@keyframes popup-slide-left-exit{to{transform:translate3d(-100%,0,0)}}.nut-popup-slide-left-enter-active,.nut-popup-slide-left-appear-active{transform:translate(0);animation-fill-mode:both;animation-name:popup-slide-left-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-left-exit-active,.nut-popup-slide-left-exit-done{animation-fill-mode:both;animation-name:popup-slide-left-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-default-exit-done.nut-popup,.nut-popup-slide-center-exit-done.nut-popup,.nut-popup-slide-left-exit-done.nut-popup,.nut-popup-slide-right-exit-done.nut-popup,.nut-popup-slide-top-exit-done.nut-popup,.nut-popup-slide-bottom-exit-done.nut-popup{display:none}.nut-popup .nut-overflow-hidden{overflow:hidden!important}[dir=rtl] .nut-popup-title-left,.nut-rtl .nut-popup-title-left{left:auto;right:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title-right,.nut-rtl .nut-popup-title-right{right:auto;left:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title-right-top-left,.nut-rtl .nut-popup-title-right-top-left,[dir=rtl] .nut-popup-title-right-bottom-left,.nut-rtl .nut-popup-title-right-bottom-left{left:auto;right:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title-right-bottom-right,.nut-rtl .nut-popup-title-right-bottom-right{right:auto;left:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title .nut-icon-ArrowLeft,.nut-rtl .nut-popup-title .nut-icon-ArrowLeft{transform:rotate(180deg)}[dir=rtl] .nut-popup-center,.nut-rtl .nut-popup-center{left:auto;right:50%;transform:translate(50%,-50%)}[dir=rtl] .nut-popup-bottom,.nut-rtl .nut-popup-bottom,[dir=rtl] .nut-popup-top,.nut-rtl .nut-popup-top{left:auto;right:0}.nut-tabpane{width:100%;flex-shrink:0;display:block;background-color:var(--nutui-tabs-tabpane-backgroundColor, #fff);color:var(--nutui-gray-7, #1a1a1a);padding:var(--nutui-tabs-tabpane-padding, 24px 20px);box-sizing:border-box;overflow:auto}.nut-tabpane.inactive{overflow:visible;height:0}.nut-tabs{display:flex}.nut-tabs-titles{display:flex;box-sizing:border-box;height:var(--nutui-tabs-titles-height, 44px);-webkit-user-select:none;user-select:none;overflow:hidden;background:var(--nutui-tabs-titles-background-color, var(--nutui-gray-3, #f6f6f6));scrollbar-width:none}.nut-tabs-titles::-webkit-scrollbar{display:none;width:0;background:transparent}.nut-tabs-titles .nut-tabs-list{width:100%;height:auto;display:flex;flex-shrink:0}.nut-tabs-titles-left{justify-content:flex-start}.nut-tabs-titles-left .nut-tabs-titles-item{padding:0 22px}.nut-tabs-titles-right{justify-content:flex-end}.nut-tabs-titles-right .nut-tabs-titles-item{padding:0 22px}.nut-tabs-titles-scrollable{overflow-x:auto;overflow-y:hidden}.nut-tabs-titles-item{position:relative;display:flex;align-items:center;justify-content:center;flex:1 0 auto;padding:0 var(--nutui-tabs-titles-gap, 12px);height:var(--nutui-tabs-titles-height, 44px);line-height:var(--nutui-tabs-titles-height, 44px);min-width:var(--nutui-tabs-titles-item-min-width, 50px);font-size:var(--nutui-tabs-titles-font-size, var(--nutui-font-size-3, 14px));color:var(--nutui-tabs-titles-item-color, var(--nutui-gray-7, #1a1a1a));text-overflow:ellipsis;white-space:nowrap}.nut-tabs-titles-item-left,.nut-tabs-titles-item-right{flex:none}.nut-tabs-titles-item-text{text-align:center}.nut-tabs-titles-item-smile,.nut-tabs-titles-item-line{position:absolute;transition:width .3s ease;width:0;height:0;content:" ";bottom:var(--nutui-tabs-line-bottom, 15%);left:50%;transform:translate(-50%);border-radius:var(--nutui-tabs-line-border-radius, 2px);opacity:var(--nutui-tabs-tab-line-opacity, 1);overflow:hidden}.nut-tabs-titles-item-smile{bottom:var(--nutui-tabs-titles-item-smile-bottom, -10%)}.nut-tabs-titles-item-smile .nut-icon{position:absolute;font-size:20px;width:100%;height:100%;color:var(--nutui-color-primary, #fa2c19)}.nut-tabs-titles-item-active{color:var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #fa2c19));font-weight:var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 500))}.nut-tabs-titles-item-active .nut-tabs-titles-item-line{overflow:unset;content:" ";width:var(--nutui-tabs-tab-line-width, 12px);height:var(--nutui-tabs-tab-line-height, 2px);background:var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #fa2c19))}.nut-tabs-titles-item-active .nut-tabs-titles-item-smile{overflow:unset;width:40px;height:20px}.nut-tabs-titles-item-disabled{color:var(--nutui-color-text-disabled, #bfbfbf)}.nut-tabs-titles-simple .nut-tabs-titles-item-active{color:var(--nutui-gray-7, #1a1a1a);font-size:var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-4, 16px))}.nut-tabs-titles-card{padding:0;background-color:var(--nutui-color-default-light)}.nut-tabs-titles-card .nut-tabs-titles-item{padding:0}.nut-tabs-titles-card .nut-tabs-titles-item-active{font-weight:var(--nutui-font-weight-bold, 500);background-color:#fff;border-radius:var(--nutui-radius-3) var(--nutui-radius-3) 0 0}.nut-tabs-titles-button .nut-tabs-titles-item{padding:0 10px}.nut-tabs-titles-button .nut-tabs-titles-item .nut-tabs-titles-item-text{flex:1;height:28px;display:flex;align-items:center;justify-content:center;padding:0 8px}.nut-tabs-titles-button .nut-tabs-titles-item-active .nut-tabs-titles-item-text{background:var(--nutui-color-default-light);color:var(--nutui-gray-6, #595959);border-radius:var(--nutui-tabs-button-border-radius, 50px);font-weight:var(--nutui-font-weight-bold, 500);background-color:var(--nutui-tabs-button-active-background-color, var(--nutui-color-primary-light, #ffeae8));color:var(--nutui-color-primary, #fa2c19);border:var(--nutui-tabs-button-active-border, 1px solid var(--nutui-color-primary, #fa2c19))}.nut-tabs-titles-divider{padding:0;border-bottom:1px solid var(--nutui-black-3, rgba(0, 0, 0, .06))}.nut-tabs-titles-divider .nut-tabs-titles-item{padding:0;position:relative}.nut-tabs-titles-divider .nut-tabs-titles-item:after{content:"";position:absolute;right:0;top:50%;height:50%;width:1px;background:var(--nutui-black-3, rgba(0, 0, 0, .06));transform:translateY(-50%)}.nut-tabs-titles-divider .nut-tabs-titles-item:last-child:after{display:none}[dir=rtl] .nut-tabs-titles-item-smile,[dir=rtl] .nut-tabs-titles-item-line,.nut-rtl .nut-tabs-titles-item-smile,.nut-rtl .nut-tabs-titles-item-line{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item:after,.nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item:after{right:auto;left:0}.nut-tabs-horizontal{flex-direction:column;position:relative}.nut-tabs-vertical{flex-direction:row;width:100%}.nut-tabs-vertical .nut-tabs-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nut-tabs-vertical .nut-tabs-titles{box-sizing:border-box;flex-direction:column;height:100%;padding:0;width:var(--nutui-tabs-vertical-titles-width, 100px);flex-shrink:0}.nut-tabs-vertical .nut-tabs-titles .nut-tabs-list{width:100%;display:flex;flex-direction:column;flex-shrink:0}.nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item{padding-left:14px}.nut-tabs-vertical .nut-tabs-titles-scrollable{overflow-x:hidden;overflow-y:auto}.nut-tabs-vertical .nut-tabs-titles-item{height:var(--nutui-tabs-vertical-titles-item-height, 40px);margin:0;flex:none}.nut-tabs-vertical .nut-tabs-titles-item-smile{width:0;height:0;overflow:hidden;transition:width .3s ease}.nut-tabs-vertical .nut-tabs-titles-item-line{width:0;height:0;transform:translateY(-50%);transition:height .3s ease}.nut-tabs-vertical .nut-tabs-titles-item-line-vertical{top:50%}.nut-tabs-vertical .nut-tabs-titles-item-active{background-color:var(--nutui-tabs-titles-item-active-background-color, var(--nutui-gray-1, #ffffff))}.nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:10px;width:var(--nutui-tabs-vertical-tab-line-width, 3px);height:var(--nutui-tabs-vertical-tab-line-height, 12px);background:var(--nutui-tabs-vertical-tab-line-color, linear-gradient(180deg, var(--nutui-color-primary-stop-1, #f53d4d) 0%, var(--nutui-color-primary-light, #ffeae8) 100%))}.nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{right:-12px;bottom:-2%;left:auto;width:40px;height:20px;transform:rotate(320deg)}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles{flex-direction:row;overflow-x:auto;overflow-y:hidden;height:var(--nutui-tabs-titles-height, 44px)}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-list{width:100%;display:flex;flex-direction:row;flex-shrink:0}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-content{flex-direction:row}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active{background-color:initial}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:50%;transform:translate(-50%)}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{left:50%;right:auto;bottom:-3px;transform:translate(-50%) rotate(0)}.nut-tabs-vertical .nut-tabs-content{flex-direction:column;height:100%}.nut-tabs-vertical .nut-tabs-content-wrap{flex:1}.nut-tabs-vertical .nut-tabs-content .nut-tabpane{height:100%}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles{display:flex;flex-direction:row;padding:0!important;width:100%}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item{display:flex;align-items:center;justify-content:center;flex:1 0 auto}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item-active{color:var(--nutui-color-primary, #fa2c19);font-weight:var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 500));font-size:var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-4, 16px))}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item-active .nut-tabs-titles-item-line{content:" ";width:var(--nutui-tabs-tab-line-width, 12px);height:var(--nutui-tabs-tab-line-height, 2px);background:var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #fa2c19))}[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item,.nut-rtl .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item{padding-left:0;padding-right:14px}[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line,.nut-rtl .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:auto;right:10px}[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile,.nut-rtl .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{left:-12px;right:auto;transform:rotate(-320deg)}[dir=rtl] .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line,.nut-rtl .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile,.nut-rtl .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{right:50%;left:auto;transform:translate(50%) rotate(0)}.nut-tabs-content{display:flex;box-sizing:border-box}.nut-tabs-content-wrap{overflow:hidden}.nut-cascader{width:100%;font-size:var(--nutui-cascader-font-size, var(--nutui-font-size-3, 14px))}.nut-cascader .nut-tabs-titles{padding:var(--nutui-cascader-tabs-item-padding, 0 10px);background:var(--nutui-gray-1, #ffffff)}.nut-cascader .nut-tabs-titles-item{flex:initial;min-width:auto;width:auto;padding:var(--nutui-cascader-tabs-item-padding, 0 10px);white-space:nowrap}.nut-cascader .nut-tabpane{padding:0;background:var(--nutui-gray-1, #ffffff)}.nut-cascader-pane{display:block;width:100%;padding-top:var(--nutui-cascader-pane-paddingTop, 10px);height:var(--nutui-cascader-pane-height, 342px);overflow-y:auto;-webkit-overflow-scrolling:touch}.nut-cascader-item{display:flex;align-items:center;justify-content:center;padding:var(--nutui-cascader-item-padding, 10px 20px);margin:var(--nutui-cascader-item-margin, 0px);border-bottom:var(--nutui-cascader-item-border-bottom, 0px solid var(--nutui-black-3, rgba(0, 0, 0, .06)));font-size:var(--nutui-cascader-item-font-size, var(--nutui-font-size-3, 14px));color:var(--nutui-cascader-item-color, var(--nutui-gray-7, #1a1a1a));cursor:pointer}.nut-cascader-item.disabled{opacity:.6;cursor:not-allowed}.nut-cascader-item.active:not(.disabled){color:var(--nutui-cascader-item-active-color, var(--nutui-color-primary, #fa2c19))}.nut-cascader-item.active .nut-cascader-item-icon-check{visibility:visible;color:inherit}.nut-cascader-item-title{flex:1}.nut-cascader .nut-icon-checklist{margin-left:var(--nutui-cascader-icon-checklist-marginLeft, 10px);visibility:hidden}[dir=rtl] .nut-cascader .nut-icon-checklist,.nut-rtl .nut-cascader .nut-icon-checklist{margin-left:0;margin-right:var(--nutui-cascader-icon-checklist-marginLeft, 10px)}
1
+ .nut-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--nutui-overlay-bg-color, var(--nutui-black-10, rgba(0, 0, 0, .7)));z-index:var(--nutui-overlay-zIndex, 1000)}.nut-overlay .wrapper .content{background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-1, #ffffff));color:var(--nutui-overlay-content-color, var(--nutui-gray-7, #1a1a1a))}[dir=rtl] .nut-overlay,.nut-rtl .nut-overlay{left:auto;right:0}.nut-overflow-hidden{overflow:hidden!important}@keyframes nut-fade-in{0%{opacity:0}1%{opacity:0}to{opacity:1}}@keyframes nut-fade-out{0%{opacity:1}1%{opacity:1}to{opacity:0}}.nut-overlay-slide-enter-active,.nut-overlay-slide-appear-active{animation-fill-mode:both;animation-name:nut-fade-in;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-overlay-slide-exit-active{animation-fill-mode:both;animation-name:nut-fade-out;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-popup{position:fixed;min-height:26%;max-height:100%;overflow-y:auto;background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-1, #ffffff));color:var(--nutui-gray-7, #1a1a1a);-webkit-overflow-scrolling:touch;font-size:var(--nutui-font-size-3, 14px)}.nut-popup-title{display:flex;align-items:center;justify-content:center;border-bottom:var(--nutui-popup-title-border-bottom, 0);padding:var(--nutui-popup-title-padding, 16px);position:relative}.nut-popup-title-left{position:absolute;left:var(--nutui-popup-title-padding, 16px)}.nut-popup-title-title{font-weight:var(--nutui-font-weight-bold, 500);font-size:var(--nutui-popup-title-font-size, var(--nutui-font-size-5, 18px))}.nut-popup-title-description{color:var(--nutui-gray-5, #8c8c8c);font-size:var(--nutui-popup-description-font-size, var(--nutui-font-size-1, 10px));font-weight:var(--nutui-font-weight, 400)}.nut-popup-title-right{position:absolute!important;z-index:1;cursor:pointer;width:var(--nutui-popup-icon-size, var(--nutui-font-size-5, 18px));height:var(--nutui-popup-icon-size, var(--nutui-font-size-5, 18px));display:flex;justify-content:center;align-items:center;top:var(--nutui-popup-title-padding, 16px);right:var(--nutui-popup-title-padding, 16px);color:var(--nutui-gray-5, #8c8c8c)}.nut-popup-title-right:active{opacity:.7}.nut-popup-title-right-top-left{top:var(--nutui-popup-title-padding, 16px);left:var(--nutui-popup-title-padding, 16px)}.nut-popup-title-right-bottom-left{bottom:var(--nutui-popup-title-padding, 16px);left:var(--nutui-popup-title-padding, 16px)}.nut-popup-title-right-bottom-right{right:var(--nutui-popup-title-padding, 16px);bottom:var(--nutui-popup-title-padding, 16px)}.nut-popup-center{top:50%;left:50%;min-height:10%;transform:translate(-50%,-50%)}.nut-popup-center.nut-popup-round{border-radius:var(--nutui-popup-border-radius, 24px)}.nut-popup-bottom,.nut-popup-top{max-height:83%}.nut-popup-bottom{bottom:0;left:0;width:100%}.nut-popup-bottom.nut-popup-round{border-radius:var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px) 0 0}.nut-popup-right{top:0;right:0}.nut-popup-right.nut-popup-round{border-radius:var(--nutui-popup-border-radius, 24px) 0 0 var(--nutui-popup-border-radius, 24px)}.nut-popup-left{top:0;left:0}.nut-popup-left.nut-popup-round{border-radius:0 var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px) 0}.nut-popup-top{top:0;left:0;width:100%}.nut-popup-top.nut-popup-round{border-radius:0 0 var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px)}@keyframes popup-scale-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes popup-scale-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.nut-popup-slide-default-enter-active{animation-fill-mode:both;animation-name:popup-scale-fade-in;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-default-exit-active{animation-fill-mode:both;animation-name:popup-scale-fade-out;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes popup-fade-out{0%{opacity:1}to{opacity:0}}.nut-popup-slide-center-enter-active{animation-fill-mode:both;animation-name:popup-fade-in;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-center-exit-active{animation-fill-mode:both;animation-name:popup-fade-out;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-top-enter{0%{transform:translate3d(0,-100%,0)}}@keyframes popup-slide-top-exit{to{transform:translate3d(0,-100%,0)}}.nut-popup-slide-top-enter-active,.nut-popup-slide-top-appear-active{transform:translateZ(0);animation-fill-mode:both;animation-name:popup-slide-top-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-top-exit-active{animation-fill-mode:both;animation-name:popup-slide-top-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-right-enter{0%{transform:translate3d(100%,0,0)}}@keyframes popup-slide-right-exit{to{transform:translate3d(100%,0,0)}}.nut-popup-slide-right-enter-active,.nut-popup-slide-right-appear-active{transform:translateZ(0);animation-fill-mode:both;animation-name:popup-slide-right-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-right-exit{animation-fill-mode:both;animation-name:popup-slide-right-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-bottom-enter{0%{transform:translate3d(0,100%,0)}}@keyframes slide-bottom-exit{to{transform:translate3d(0,100%,0)}}.nut-popup-slide-bottom-enter-active,.nut-popup-slide-bottom-appear-active{transform:translate(0);animation-fill-mode:both;animation-name:popup-slide-bottom-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-bottom-exit{animation-fill-mode:both;animation-name:slide-bottom-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}@keyframes popup-slide-left-enter{0%{transform:translate3d(-100%,0,0)}}@keyframes popup-slide-left-exit{to{transform:translate3d(-100%,0,0)}}.nut-popup-slide-left-enter-active,.nut-popup-slide-left-appear-active{transform:translate(0);animation-fill-mode:both;animation-name:popup-slide-left-enter;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-left-exit-active,.nut-popup-slide-left-exit-done{animation-fill-mode:both;animation-name:popup-slide-left-exit;animation-duration:var(--nutui-popup-animation-duration, .3s)}.nut-popup-slide-default-exit-done.nut-popup,.nut-popup-slide-center-exit-done.nut-popup,.nut-popup-slide-left-exit-done.nut-popup,.nut-popup-slide-right-exit-done.nut-popup,.nut-popup-slide-top-exit-done.nut-popup,.nut-popup-slide-bottom-exit-done.nut-popup{display:none}.nut-popup .nut-overflow-hidden{overflow:hidden!important}[dir=rtl] .nut-popup-title-left,.nut-rtl .nut-popup-title-left{left:auto;right:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title-right,.nut-rtl .nut-popup-title-right{right:auto;left:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title-right-top-left,.nut-rtl .nut-popup-title-right-top-left,[dir=rtl] .nut-popup-title-right-bottom-left,.nut-rtl .nut-popup-title-right-bottom-left{left:auto;right:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title-right-bottom-right,.nut-rtl .nut-popup-title-right-bottom-right{right:auto;left:var(--nutui-popup-title-padding, 16px)}[dir=rtl] .nut-popup-title .nut-icon-ArrowLeft,.nut-rtl .nut-popup-title .nut-icon-ArrowLeft{transform:rotate(180deg)}[dir=rtl] .nut-popup-center,.nut-rtl .nut-popup-center{left:auto;right:50%;transform:translate(50%,-50%)}[dir=rtl] .nut-popup-bottom,.nut-rtl .nut-popup-bottom,[dir=rtl] .nut-popup-top,.nut-rtl .nut-popup-top{left:auto;right:0}.nut-tabpane{width:100%;flex-shrink:0;display:block;background-color:var(--nutui-tabs-tabpane-backgroundColor, #fff);color:var(--nutui-gray-7, #1a1a1a);padding:var(--nutui-tabs-tabpane-padding, 24px 20px);box-sizing:border-box;overflow:auto}.nut-tabpane.inactive{overflow:visible;height:0}.nut-tabs{display:flex}.nut-tabs-horizontal{flex-direction:column}.nut-tabs-titles{display:flex;box-sizing:border-box;height:var(--nutui-tabs-titles-height, 44px);-webkit-user-select:none;user-select:none;overflow-x:auto;overflow-y:hidden;background:var(--nutui-tabs-titles-background-color, var(--nutui-gray-3, #f6f6f6));scrollbar-width:none}.nut-tabs-titles::-webkit-scrollbar{display:none;width:0;background:transparent}.nut-tabs-titles .nut-tabs-list{width:100%;display:flex;flex-shrink:0}.nut-tabs-titles-left{justify-content:flex-start}.nut-tabs-titles-left .nut-tabs-titles-item{padding:0 22px}.nut-tabs-titles-right{justify-content:flex-end}.nut-tabs-titles-right .nut-tabs-titles-item{padding:0 22px}.nut-tabs-titles-item{position:relative;display:flex;align-items:center;justify-content:center;flex:1 0 auto;padding:0 var(--nutui-tabs-titles-gap, 12px);height:var(--nutui-tabs-titles-height, 44px);line-height:var(--nutui-tabs-titles-height, 44px);min-width:var(--nutui-tabs-titles-item-min-width, 50px);font-size:var(--nutui-tabs-titles-font-size, var(--nutui-font-size-3, 14px));color:var(--nutui-tabs-titles-item-color, var(--nutui-gray-7, #1a1a1a));text-overflow:ellipsis;white-space:nowrap}.nut-tabs-titles-item .nut-icon{color:var(--nutui-tabs-titles-item-color, var(--nutui-gray-7, #1a1a1a))}.nut-tabs-titles-item-left,.nut-tabs-titles-item-right{flex:none}.nut-tabs-titles-item-text{color:var(--nutui-tabs-titles-item-color, var(--nutui-gray-7, #1a1a1a))}.nut-tabs-titles-item-smile,.nut-tabs-titles-item-line{position:absolute;transition:width .3s ease;width:0;height:0;content:" ";left:50%;transform:translate(-50%);bottom:var(--nutui-tabs-line-bottom, 15%);border-radius:var(--nutui-tabs-line-border-radius, 2px);opacity:var(--nutui-tabs-tab-line-opacity, 1);overflow:hidden}.nut-tabs-titles-item-smile{bottom:var(--nutui-tabs-titles-item-smile-bottom, -10%)}.nut-tabs-titles-item-smile .nut-icon{position:absolute;font-size:20px;width:100%;height:100%}.nut-tabs-titles-item-active .nut-icon{color:var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #fa2c19))}.nut-tabs-titles-item-active .nut-tabs-titles-item-text{color:var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #fa2c19));font-weight:var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 500))}.nut-tabs-titles-item-active .nut-tabs-titles-item-line{overflow:unset;content:" ";width:var(--nutui-tabs-tab-line-width, 12px);height:var(--nutui-tabs-tab-line-height, 2px);background:var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #fa2c19))}.nut-tabs-titles-item-active .nut-tabs-titles-item-smile{overflow:unset;width:40px;height:20px}.nut-tabs-titles-item-active .nut-tabs-titles-item-smile .nut-icon{color:var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #fa2c19))}.nut-tabs-titles-item-disabled,.nut-tabs-titles-item-disabled .nut-icon,.nut-tabs-titles-item-disabled .nut-tabs-titles-item-text{color:var(--nutui-color-text-disabled, #bfbfbf)}.nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-tabs-titles-item-text,.nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-icon{color:var(--nutui-gray-7, #1a1a1a);font-size:var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-4, 16px))}.nut-tabs-titles-card .nut-tabs-titles-item-active{font-weight:var(--nutui-font-weight-bold, 500);background-color:#fff;border-radius:var(--nutui-radius-3) var(--nutui-radius-3) 0 0}.nut-tabs-titles-button .nut-tabs-titles-item{padding:0 10px}.nut-tabs-titles-button .nut-tabs-titles-item .nut-tabs-titles-item-text{flex:1;height:28px;display:flex;align-items:center;justify-content:center;padding:0 8px}.nut-tabs-titles-button .nut-tabs-titles-item-active .nut-tabs-titles-item-text{background:var(--nutui-color-default-light);color:var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #fa2c19));border-radius:var(--nutui-tabs-button-border-radius, 50px);font-weight:var(--nutui-font-weight-bold, 500);background-color:var(--nutui-tabs-button-active-background-color, var(--nutui-color-primary-light, #ffeae8));border:var(--nutui-tabs-button-active-border, 1px solid var(--nutui-color-primary, #fa2c19))}.nut-tabs-titles-divider{border-bottom:1px solid var(--nutui-black-3, rgba(0, 0, 0, .06))}.nut-tabs-titles-divider .nut-tabs-titles-item{position:relative}.nut-tabs-titles-divider .nut-tabs-titles-item:after{content:"";position:absolute;right:0;top:50%;height:50%;width:1px;background:var(--nutui-black-3, rgba(0, 0, 0, .06));transform:translateY(-50%)}.nut-tabs-titles-divider .nut-tabs-titles-item:last-child:after{display:none}.nut-tabs-vertical .nut-tabs-ellipsis{white-space:break-spaces;padding-left:6px;width:90px;line-height:var(--nutui-font-size-3, 14px)}.nut-tabs-vertical .nut-tabs-titles{flex-direction:column;height:100%;width:var(--nutui-tabs-vertical-titles-width, 100px);flex-shrink:0}.nut-tabs-vertical .nut-tabs-titles .nut-tabs-list{flex-direction:column}.nut-tabs-vertical .nut-tabs-titles-item{height:var(--nutui-tabs-vertical-titles-item-height, 40px);flex:none}.nut-tabs-vertical .nut-tabs-titles-item-smile{overflow:hidden;transition:width .3s ease}.nut-tabs-vertical .nut-tabs-titles-item-line{transform:translateY(-50%);transition:height .3s ease}.nut-tabs-vertical .nut-tabs-titles-item-line-vertical{top:50%}.nut-tabs-vertical .nut-tabs-titles-item-active{background-color:var(--nutui-tabs-titles-item-active-background-color, var(--nutui-gray-1, #ffffff))}.nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:10px;width:var(--nutui-tabs-vertical-tab-line-width, 3px);height:var(--nutui-tabs-vertical-tab-line-height, 12px);background:var(--nutui-tabs-vertical-tab-line-color, linear-gradient(180deg, var(--nutui-color-primary-stop-1, #f53d4d) 0%, var(--nutui-color-primary-light, #ffeae8) 100%))}.nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{right:-12px;bottom:-2%;left:auto;transform:rotate(320deg)}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles{flex-direction:row;height:var(--nutui-tabs-titles-height, 44px);width:100%;padding:0!important}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-list{flex-direction:row;height:auto}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-content{flex-direction:row}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active{background-color:initial}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:50%;transform:translate(-50%);width:var(--nutui-tabs-tab-line-width, 12px);height:var(--nutui-tabs-tab-line-height, 2px);background:var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #fa2c19))}.nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{left:50%;right:auto;bottom:-3px;transform:translate(-50%) rotate(0)}.nut-tabs-vertical .nut-tabs-content{flex-direction:column;height:100%}.nut-tabs-vertical .nut-tabs-content-wrap{flex:1}.nut-tabs-vertical .nut-tabs-content .nut-tabpane{height:100%}.nut-tabs-content{display:flex;box-sizing:border-box}.nut-tabs-content-wrap{overflow:hidden}[dir=rtl] .nut-tabs-titles-item-smile,[dir=rtl] .nut-tabs-titles-item-line,.nut-rtl .nut-tabs-titles-item-smile,.nut-rtl .nut-tabs-titles-item-line{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item:after,.nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item:after{right:auto;left:0}[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item,.nut-rtl .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item{padding-left:0;padding-right:14px}[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line,.nut-rtl .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:auto;right:10px}[dir=rtl] .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile,.nut-rtl .nut-tabs-vertical .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{left:-12px;right:auto;transform:rotate(-320deg)}[dir=rtl] .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line,.nut-rtl .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile,.nut-rtl .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile{right:50%;left:auto;transform:translate(50%) rotate(0)}.nut-cascader{width:100%;font-size:var(--nutui-cascader-font-size, var(--nutui-font-size-3, 14px))}.nut-cascader .nut-tabs-titles{padding:var(--nutui-cascader-tabs-item-padding, 0 10px);background:var(--nutui-gray-1, #ffffff)}.nut-cascader .nut-tabs-titles-item{flex:initial;min-width:auto;width:auto;padding:var(--nutui-cascader-tabs-item-padding, 0 10px);white-space:nowrap}.nut-cascader .nut-tabpane{padding:0;background:var(--nutui-gray-1, #ffffff)}.nut-cascader-pane{display:block;width:100%;padding-top:var(--nutui-cascader-pane-paddingTop, 10px);height:var(--nutui-cascader-pane-height, 342px);overflow-y:auto;-webkit-overflow-scrolling:touch}.nut-cascader-item{display:flex;align-items:center;justify-content:center;padding:var(--nutui-cascader-item-padding, 10px 20px);margin:var(--nutui-cascader-item-margin, 0px);border-bottom:var(--nutui-cascader-item-border-bottom, 0px solid var(--nutui-black-3, rgba(0, 0, 0, .06)));font-size:var(--nutui-cascader-item-font-size, var(--nutui-font-size-3, 14px));color:var(--nutui-cascader-item-color, var(--nutui-gray-7, #1a1a1a));cursor:pointer}.nut-cascader-item.disabled{opacity:.6;cursor:not-allowed}.nut-cascader-item.active:not(.disabled){color:var(--nutui-cascader-item-active-color, var(--nutui-color-primary, #fa2c19))}.nut-cascader-item.active .nut-cascader-item-icon-check{visibility:visible;color:inherit}.nut-cascader-item-title{flex:1}.nut-cascader .nut-icon-checklist{margin-left:var(--nutui-cascader-icon-checklist-marginLeft, 10px);visibility:hidden}[dir=rtl] .nut-cascader .nut-icon-checklist,.nut-rtl .nut-cascader .nut-icon-checklist{margin-left:0;margin-right:var(--nutui-cascader-icon-checklist-marginLeft, 10px)}
@@ -154,6 +154,14 @@ const DatePicker = (props) => {
154
154
  const year = Number(formatDate[0]);
155
155
  const month = Number(formatDate[1]) - 1;
156
156
  const day = Math.min(Number(formatDate[2]), getMonthEndDay(Number(formatDate[0]), Number(formatDate[1])));
157
+ if (selectedOptions.length >= 2 && ["date", "datehour", "datetime", "month-day"].includes(rangeType)) {
158
+ const dayOption = formatOption("day", day);
159
+ if (rangeType === "month-day") {
160
+ selectedOptions[1] = dayOption;
161
+ } else {
162
+ selectedOptions[2] = dayOption;
163
+ }
164
+ }
157
165
  let date = null;
158
166
  if (rangeType === "date" || rangeType === "month-day" || rangeType === "year-month") {
159
167
  date = new Date(year, month, day);