@nutui/nutui-react 2.7.7 → 2.7.9

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.
@@ -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-indicator{display:flex;width:auto;flex-wrap:nowrap;align-items:center}.nut-indicator-dot{display:inline-block;vertical-align:middle;width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-size, 4px);border-radius:50%;background-color:var(--nutui-indicator-dot-color, var(--nutui-black-3, rgba(0, 0, 0, .06)));margin:0 var(--nutui-indicator-dot-margin, 2px)}.nut-indicator-dot:first-child{margin-left:0}.nut-indicator-dot:last-child{margin-right:0}.nut-indicator-active{width:var(--nutui-indicator-dot-active-size, 8px);border-radius:var(--nutui-indicator-border-radius, 2px);background:var(--nutui-indicator-color, linear-gradient(135deg, var(--nutui-color-primary-stop-1, #f53d4d) 0%, var(--nutui-color-primary-stop-2, #fa2c19) 100%))}.nut-indicator-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center}.nut-indicator-vertical .nut-indicator-dot{margin:var(--nutui-indicator-dot-margin, 2px) 0}.nut-indicator-vertical .nut-indicator-dot:first-child{margin-top:0}.nut-indicator-vertical .nut-indicator-dot:last-child{margin-bottom:0}.nut-indicator-vertical .nut-indicator-active{width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-active-size, 8px)}[dir=rtl] .nut-indicator-dot:first-child,.nut-rtl .nut-indicator-dot:first-child{margin-left:var(--nutui-indicator-dot-margin, 2px);margin-right:0}[dir=rtl] .nut-indicator-dot:last-child,.nut-rtl .nut-indicator-dot:last-child{margin-right:var(--nutui-indicator-dot-margin, 2px);margin-left:0}.nut-swiper{width:100%;height:100%;overflow:hidden;touch-action:none;position:relative}.nut-swiper-indicator{display:flex;position:absolute;left:50%;bottom:var(--nutui-swiper-indicator-bottom, 12px);transform:translate(-50%);z-index:1}.nut-swiper-indicator-vertical{top:50%;left:12px;bottom:auto;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;transform:translateY(-50%);z-index:1}.nut-swiper-inner{width:100%;height:100%;display:flex;position:relative}.nut-swiper-inner-horizontal{transform:translate(var(--swiper-offset))}.nut-swiper-inner-vertical{transform:translateY(var(--swiper-offset));flex-direction:column}.nut-swiper-slide{width:100%;height:100%;position:relative;flex-shrink:0}.nut-swiper-item{width:100%;height:100%}[dir=rtl] .nut-swiper-indicator,.nut-rtl .nut-swiper-indicator{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-swiper-indicator-vertical,.nut-rtl .nut-swiper-indicator-vertical{left:auto;right:12px}.nut-video{width:100%;height:100%;position:relative;display:flex}.nut-video-player{width:100%;background:#000}.nut-video-player:focus{outline:none}.nut-video video{width:100%;height:100%;object-fit:fill}.nut-image{display:block;position:relative}.nut-image .nut-img{display:block;width:100%;height:100%}.nut-image.nut-image-round{border-radius:50%;overflow:hidden}.nut-image .nut-img-loading,.nut-image .nut-img-error{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--nutui-gray-3, #f6f6f6);background-size:100% 100%}[dir=rtl] .nut-image .nut-img-loading,.nut-rtl .nut-image .nut-img-loading,[dir=rtl] .nut-image .nut-img-error,.nut-rtl .nut-image .nut-img-error{left:auto;right:0}.nut-imagepreview{width:100%;height:100%}.nut-imagepreview-swiper{height:100%;width:100vw;background-color:transparent}.nut-imagepreview-index{position:fixed;z-index:2002;top:50px;text-align:center;left:0;right:0;background:transparent;color:#fff}.nut-imagepreview-index .arrow{position:absolute;left:15px;transform:rotate(180deg)}.nut-imagepreview-close{position:fixed;display:flex;align-items:center;justify-content:center;z-index:2002;background:transparent;color:#fff}.nut-imagepreview-close.top-right{top:50px;right:20px}.nut-imagepreview-close.top-left{top:50px;left:20px}.nut-imagepreview-close.bottom{bottom:50px;left:0;right:0;text-align:center}.nut-imagepreview-pop{height:100%;background:transparent!important;display:flex;align-items:center;width:100%}.nut-imagepreview-swiper .nut-imagepreview-swiper-item,.nut-imagepreview-swiper .nut-swiper-item{display:flex;align-items:center;justify-content:center;height:100%}.nut-imagepreview-swiper .nut-imagepreview-swiper-item .nut-image-preview-box,.nut-imagepreview-swiper .nut-swiper-item .nut-image-preview-box{width:100%}.nut-imagepreview-swiper .nut-imagepreview-swiper-item .nut-video video,.nut-imagepreview-swiper .nut-swiper-item .nut-video video{object-fit:contain}[dir=rtl] .nut-imagepreview-index .arrow,.nut-rtl .nut-imagepreview-index .arrow{left:auto;right:15px;transform:rotate(-180deg)}[dir=rtl] .nut-imagepreview-close.top-right,.nut-rtl .nut-imagepreview-close.top-right{right:auto;left:20px}[dir=rtl] .nut-imagepreview-close.top-left,.nut-rtl .nut-imagepreview-close.top-left{left:auto;right:20px}
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-indicator{display:flex;width:auto;flex-wrap:nowrap;align-items:center}.nut-indicator-dot{display:inline-block;vertical-align:middle;width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-size, 4px);border-radius:50%;background-color:var(--nutui-indicator-dot-color, var(--nutui-black-3, rgba(0, 0, 0, .06)));margin:0 var(--nutui-indicator-dot-margin, 2px)}.nut-indicator-dot:first-child{margin-left:0}.nut-indicator-dot:last-child{margin-right:0}.nut-indicator-active{width:var(--nutui-indicator-dot-active-size, 8px);border-radius:var(--nutui-indicator-border-radius, 2px);background:var(--nutui-indicator-color, linear-gradient(135deg, var(--nutui-color-primary-stop-1, #f53d4d) 0%, var(--nutui-color-primary-stop-2, #fa2c19) 100%))}.nut-indicator-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center}.nut-indicator-vertical .nut-indicator-dot{margin:var(--nutui-indicator-dot-margin, 2px) 0}.nut-indicator-vertical .nut-indicator-dot:first-child{margin-top:0}.nut-indicator-vertical .nut-indicator-dot:last-child{margin-bottom:0}.nut-indicator-vertical .nut-indicator-active{width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-active-size, 8px)}[dir=rtl] .nut-indicator-dot:first-child,.nut-rtl .nut-indicator-dot:first-child{margin-left:var(--nutui-indicator-dot-margin, 2px);margin-right:0}[dir=rtl] .nut-indicator-dot:last-child,.nut-rtl .nut-indicator-dot:last-child{margin-right:var(--nutui-indicator-dot-margin, 2px);margin-left:0}.nut-swiper{width:100%;height:100%;overflow:hidden;touch-action:none;position:relative}.nut-swiper-canmove-horizontal{touch-action:pan-y}.nut-swiper-canmove-vertical{touch-action:pan-x}.nut-swiper-indicator{display:flex;position:absolute;left:50%;bottom:var(--nutui-swiper-indicator-bottom, 12px);transform:translate(-50%);z-index:1}.nut-swiper-indicator-vertical{top:50%;left:12px;bottom:auto;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;transform:translateY(-50%);z-index:1}.nut-swiper-inner{width:100%;height:100%;display:flex;position:relative}.nut-swiper-inner-horizontal{transform:translate(var(--swiper-offset))}.nut-swiper-inner-vertical{transform:translateY(var(--swiper-offset));flex-direction:column}.nut-swiper-slide{width:100%;height:100%;position:relative;flex-shrink:0}.nut-swiper-item{width:100%;height:100%}[dir=rtl] .nut-swiper-indicator,.nut-rtl .nut-swiper-indicator{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-swiper-indicator-vertical,.nut-rtl .nut-swiper-indicator-vertical{left:auto;right:12px}.nut-video{width:100%;height:100%;position:relative;display:flex}.nut-video-player{width:100%;background:#000}.nut-video-player:focus{outline:none}.nut-video video{width:100%;height:100%;object-fit:fill}.nut-image{display:block;position:relative}.nut-image .nut-img{display:block;width:100%;height:100%}.nut-image.nut-image-round{border-radius:50%;overflow:hidden}.nut-image .nut-img-loading,.nut-image .nut-img-error{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--nutui-gray-3, #f6f6f6);background-size:100% 100%}[dir=rtl] .nut-image .nut-img-loading,.nut-rtl .nut-image .nut-img-loading,[dir=rtl] .nut-image .nut-img-error,.nut-rtl .nut-image .nut-img-error{left:auto;right:0}.nut-imagepreview{width:100%;height:100%}.nut-imagepreview-swiper{height:100%;width:100vw;background-color:transparent}.nut-imagepreview-index{position:fixed;z-index:2002;top:50px;text-align:center;left:0;right:0;background:transparent;color:#fff}.nut-imagepreview-index .arrow{position:absolute;left:15px;transform:rotate(180deg)}.nut-imagepreview-close{position:fixed;display:flex;align-items:center;justify-content:center;z-index:2002;background:transparent;color:#fff}.nut-imagepreview-close.top-right{top:50px;right:20px}.nut-imagepreview-close.top-left{top:50px;left:20px}.nut-imagepreview-close.bottom{bottom:50px;left:0;right:0;text-align:center}.nut-imagepreview-pop{height:100%;background:transparent!important;display:flex;align-items:center;width:100%}.nut-imagepreview-swiper .nut-imagepreview-swiper-item,.nut-imagepreview-swiper .nut-swiper-item{display:flex;align-items:center;justify-content:center;height:100%}.nut-imagepreview-swiper .nut-imagepreview-swiper-item .nut-image-preview-box,.nut-imagepreview-swiper .nut-swiper-item .nut-image-preview-box{width:100%}.nut-imagepreview-swiper .nut-imagepreview-swiper-item .nut-video video,.nut-imagepreview-swiper .nut-swiper-item .nut-video video{object-fit:contain}[dir=rtl] .nut-imagepreview-index .arrow,.nut-rtl .nut-imagepreview-index .arrow{left:auto;right:15px;transform:rotate(-180deg)}[dir=rtl] .nut-imagepreview-close.top-right,.nut-rtl .nut-imagepreview-close.top-right{right:auto;left:20px}[dir=rtl] .nut-imagepreview-close.top-left,.nut-rtl .nut-imagepreview-close.top-left{left:auto;right:20px}
@@ -1 +1 @@
1
- .nut-indicator{display:flex;width:auto;flex-wrap:nowrap;align-items:center}.nut-indicator-dot{display:inline-block;vertical-align:middle;width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-size, 4px);border-radius:50%;background-color:var(--nutui-indicator-dot-color, var(--nutui-black-3, rgba(0, 0, 0, .06)));margin:0 var(--nutui-indicator-dot-margin, 2px)}.nut-indicator-dot:first-child{margin-left:0}.nut-indicator-dot:last-child{margin-right:0}.nut-indicator-active{width:var(--nutui-indicator-dot-active-size, 8px);border-radius:var(--nutui-indicator-border-radius, 2px);background:var(--nutui-indicator-color, linear-gradient(135deg, var(--nutui-color-primary-stop-1, #f53d4d) 0%, var(--nutui-color-primary-stop-2, #fa2c19) 100%))}.nut-indicator-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center}.nut-indicator-vertical .nut-indicator-dot{margin:var(--nutui-indicator-dot-margin, 2px) 0}.nut-indicator-vertical .nut-indicator-dot:first-child{margin-top:0}.nut-indicator-vertical .nut-indicator-dot:last-child{margin-bottom:0}.nut-indicator-vertical .nut-indicator-active{width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-active-size, 8px)}[dir=rtl] .nut-indicator-dot:first-child,.nut-rtl .nut-indicator-dot:first-child{margin-left:var(--nutui-indicator-dot-margin, 2px);margin-right:0}[dir=rtl] .nut-indicator-dot:last-child,.nut-rtl .nut-indicator-dot:last-child{margin-right:var(--nutui-indicator-dot-margin, 2px);margin-left:0}.nut-swiper{width:100%;height:100%;overflow:hidden;touch-action:none;position:relative}.nut-swiper-indicator{display:flex;position:absolute;left:50%;bottom:var(--nutui-swiper-indicator-bottom, 12px);transform:translate(-50%);z-index:1}.nut-swiper-indicator-vertical{top:50%;left:12px;bottom:auto;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;transform:translateY(-50%);z-index:1}.nut-swiper-inner{width:100%;height:100%;display:flex;position:relative}.nut-swiper-inner-horizontal{transform:translate(var(--swiper-offset))}.nut-swiper-inner-vertical{transform:translateY(var(--swiper-offset));flex-direction:column}.nut-swiper-slide{width:100%;height:100%;position:relative;flex-shrink:0}.nut-swiper-item{width:100%;height:100%}[dir=rtl] .nut-swiper-indicator,.nut-rtl .nut-swiper-indicator{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-swiper-indicator-vertical,.nut-rtl .nut-swiper-indicator-vertical{left:auto;right:12px}
1
+ .nut-indicator{display:flex;width:auto;flex-wrap:nowrap;align-items:center}.nut-indicator-dot{display:inline-block;vertical-align:middle;width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-size, 4px);border-radius:50%;background-color:var(--nutui-indicator-dot-color, var(--nutui-black-3, rgba(0, 0, 0, .06)));margin:0 var(--nutui-indicator-dot-margin, 2px)}.nut-indicator-dot:first-child{margin-left:0}.nut-indicator-dot:last-child{margin-right:0}.nut-indicator-active{width:var(--nutui-indicator-dot-active-size, 8px);border-radius:var(--nutui-indicator-border-radius, 2px);background:var(--nutui-indicator-color, linear-gradient(135deg, var(--nutui-color-primary-stop-1, #f53d4d) 0%, var(--nutui-color-primary-stop-2, #fa2c19) 100%))}.nut-indicator-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center}.nut-indicator-vertical .nut-indicator-dot{margin:var(--nutui-indicator-dot-margin, 2px) 0}.nut-indicator-vertical .nut-indicator-dot:first-child{margin-top:0}.nut-indicator-vertical .nut-indicator-dot:last-child{margin-bottom:0}.nut-indicator-vertical .nut-indicator-active{width:var(--nutui-indicator-dot-size, 4px);height:var(--nutui-indicator-dot-active-size, 8px)}[dir=rtl] .nut-indicator-dot:first-child,.nut-rtl .nut-indicator-dot:first-child{margin-left:var(--nutui-indicator-dot-margin, 2px);margin-right:0}[dir=rtl] .nut-indicator-dot:last-child,.nut-rtl .nut-indicator-dot:last-child{margin-right:var(--nutui-indicator-dot-margin, 2px);margin-left:0}.nut-swiper{width:100%;height:100%;overflow:hidden;touch-action:none;position:relative}.nut-swiper-canmove-horizontal{touch-action:pan-y}.nut-swiper-canmove-vertical{touch-action:pan-x}.nut-swiper-indicator{display:flex;position:absolute;left:50%;bottom:var(--nutui-swiper-indicator-bottom, 12px);transform:translate(-50%);z-index:1}.nut-swiper-indicator-vertical{top:50%;left:12px;bottom:auto;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;transform:translateY(-50%);z-index:1}.nut-swiper-inner{width:100%;height:100%;display:flex;position:relative}.nut-swiper-inner-horizontal{transform:translate(var(--swiper-offset))}.nut-swiper-inner-vertical{transform:translateY(var(--swiper-offset));flex-direction:column}.nut-swiper-slide{width:100%;height:100%;position:relative;flex-shrink:0}.nut-swiper-item{width:100%;height:100%}[dir=rtl] .nut-swiper-indicator,.nut-rtl .nut-swiper-indicator{left:auto;right:50%;transform:translate(50%)}[dir=rtl] .nut-swiper-indicator-vertical,.nut-rtl .nut-swiper-indicator-vertical{left:auto;right:12px}