tdesign-mobile-vue
Version:
tdesign-mobile-vue
900 lines (874 loc) • 33.8 kB
JavaScript
/**
* tdesign v1.7.0
* (c) 2024 TDesign Group
* @license MIT
*/
import isString from 'lodash/isString';
import dayjs from 'dayjs';
import { c as commonjsGlobal } from './dep-38637d40.js';
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
import _extends from '@babel/runtime/helpers/extends';
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import isFunction from 'lodash/isFunction';
import { a as advancedFormat } from './dep-10885c07.js';
import { c as customParseFormat } from './dep-41cb31ff.js';
import chunk from 'lodash/chunk';
import '../_common/js/log/index.js';
import log from '../_common/js/log/log.js';
var isoWeeksInYear$1 = {exports: {}};
(function (module, exports) {
!function (e, n) {
"object" == 'object' && "undefined" != 'object' ? module.exports = n() : "function" == typeof undefined && undefined.amd ? undefined(n) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isoWeeksInYear = n();
}(commonjsGlobal, function () {
"use strict";
return function (e, n) {
n.prototype.isoWeeksInYear = function () {
var e = this.isLeapYear(),
n = this.endOf("y").day();
return 4 === n || e && 5 === n ? 53 : 52;
};
};
});
})(isoWeeksInYear$1, isoWeeksInYear$1.exports);
var isoWeeksInYear = isoWeeksInYear$1.exports;
var isLeapYear$1 = {exports: {}};
(function (module, exports) {
!function (e, t) {
"object" == 'object' && "undefined" != 'object' ? module.exports = t() : "function" == typeof undefined && undefined.amd ? undefined(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isLeapYear = t();
}(commonjsGlobal, function () {
"use strict";
return function (e, t) {
t.prototype.isLeapYear = function () {
return this.$y % 4 == 0 && this.$y % 100 != 0 || this.$y % 400 == 0;
};
};
});
})(isLeapYear$1, isLeapYear$1.exports);
var isLeapYear = isLeapYear$1.exports;
var isBetween = {exports: {}};
(function (module, exports) {
!function (e, i) {
"object" == 'object' && "undefined" != 'object' ? module.exports = i() : "function" == typeof undefined && undefined.amd ? undefined(i) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isBetween = i();
}(commonjsGlobal, function () {
"use strict";
return function (e, i, t) {
i.prototype.isBetween = function (e, i, s, f) {
var n = t(e),
o = t(i),
r = "(" === (f = f || "()")[0],
u = ")" === f[1];
return (r ? this.isAfter(n, s) : !this.isBefore(n, s)) && (u ? this.isBefore(o, s) : !this.isAfter(o, s)) || (r ? this.isBefore(n, s) : !this.isAfter(n, s)) && (u ? this.isAfter(o, s) : !this.isBefore(o, s));
};
};
});
})(isBetween, isBetween.exports);
var dayJsIsBetween = isBetween.exports;
var weekOfYear$1 = {exports: {}};
(function (module, exports) {
!function (e, t) {
"object" == 'object' && "undefined" != 'object' ? module.exports = t() : "function" == typeof undefined && undefined.amd ? undefined(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_weekOfYear = t();
}(commonjsGlobal, function () {
"use strict";
var e = "week",
t = "year";
return function (i, n, r) {
var f = n.prototype;
f.week = function (i) {
if (void 0 === i && (i = null), null !== i) return this.add(7 * (i - this.week()), "day");
var n = this.$locale().yearStart || 1;
if (11 === this.month() && this.date() > 25) {
var f = r(this).startOf(t).add(1, t).date(n),
s = r(this).endOf(e);
if (f.isBefore(s)) return 1;
}
var a = r(this).startOf(t).date(n).startOf(e).subtract(1, "millisecond"),
o = this.diff(a, e, !0);
return o < 0 ? r(this).startOf("week").week() : Math.ceil(o);
}, f.weeks = function (e) {
return void 0 === e && (e = null), this.week(e);
};
};
});
})(weekOfYear$1, weekOfYear$1.exports);
var weekOfYear = weekOfYear$1.exports;
var weekYear$1 = {exports: {}};
(function (module, exports) {
!function (e, t) {
"object" == 'object' && "undefined" != 'object' ? module.exports = t() : "function" == typeof undefined && undefined.amd ? undefined(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_weekYear = t();
}(commonjsGlobal, function () {
"use strict";
return function (e, t) {
t.prototype.weekYear = function () {
var e = this.month(),
t = this.week(),
n = this.year();
return 1 === t && 11 === e ? n + 1 : 0 === e && t >= 52 ? n - 1 : n;
};
};
});
})(weekYear$1, weekYear$1.exports);
var weekYear = weekYear$1.exports;
var localeData$1 = {exports: {}};
(function (module, exports) {
!function (n, e) {
"object" == 'object' && "undefined" != 'object' ? module.exports = e() : "function" == typeof undefined && undefined.amd ? undefined(e) : (n = "undefined" != typeof globalThis ? globalThis : n || self).dayjs_plugin_localeData = e();
}(commonjsGlobal, function () {
"use strict";
return function (n, e, t) {
var r = e.prototype,
o = function o(n) {
return n && (n.indexOf ? n : n.s);
},
u = function u(n, e, t, r, _u) {
var i = n.name ? n : n.$locale(),
a = o(i[e]),
s = o(i[t]),
f = a || s.map(function (n) {
return n.slice(0, r);
});
if (!_u) return f;
var d = i.weekStart;
return f.map(function (n, e) {
return f[(e + (d || 0)) % 7];
});
},
i = function i() {
return t.Ls[t.locale()];
},
a = function a(n, e) {
return n.formats[e] || function (n) {
return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (n, e, t) {
return e || t.slice(1);
});
}(n.formats[e.toUpperCase()]);
},
s = function s() {
var n = this;
return {
months: function months(e) {
return e ? e.format("MMMM") : u(n, "months");
},
monthsShort: function monthsShort(e) {
return e ? e.format("MMM") : u(n, "monthsShort", "months", 3);
},
firstDayOfWeek: function firstDayOfWeek() {
return n.$locale().weekStart || 0;
},
weekdays: function weekdays(e) {
return e ? e.format("dddd") : u(n, "weekdays");
},
weekdaysMin: function weekdaysMin(e) {
return e ? e.format("dd") : u(n, "weekdaysMin", "weekdays", 2);
},
weekdaysShort: function weekdaysShort(e) {
return e ? e.format("ddd") : u(n, "weekdaysShort", "weekdays", 3);
},
longDateFormat: function longDateFormat(e) {
return a(n.$locale(), e);
},
meridiem: this.$locale().meridiem,
ordinal: this.$locale().ordinal
};
};
r.localeData = function () {
return s.bind(this)();
}, t.localeData = function () {
var n = i();
return {
firstDayOfWeek: function firstDayOfWeek() {
return n.weekStart || 0;
},
weekdays: function weekdays() {
return t.weekdays();
},
weekdaysShort: function weekdaysShort() {
return t.weekdaysShort();
},
weekdaysMin: function weekdaysMin() {
return t.weekdaysMin();
},
months: function months() {
return t.months();
},
monthsShort: function monthsShort() {
return t.monthsShort();
},
longDateFormat: function longDateFormat(e) {
return a(n, e);
},
meridiem: n.meridiem,
ordinal: n.ordinal
};
}, t.months = function () {
return u(i(), "months");
}, t.monthsShort = function () {
return u(i(), "monthsShort", "months", 3);
}, t.weekdays = function (n) {
return u(i(), "weekdays", null, null, n);
}, t.weekdaysShort = function (n) {
return u(i(), "weekdaysShort", "weekdays", 3, n);
}, t.weekdaysMin = function (n) {
return u(i(), "weekdaysMin", "weekdays", 2, n);
};
};
});
})(localeData$1, localeData$1.exports);
var localeData = localeData$1.exports;
var quarterOfYear$1 = {exports: {}};
(function (module, exports) {
!function (t, n) {
"object" == 'object' && "undefined" != 'object' ? module.exports = n() : "function" == typeof undefined && undefined.amd ? undefined(n) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_quarterOfYear = n();
}(commonjsGlobal, function () {
"use strict";
var t = "month",
n = "quarter";
return function (e, i) {
var r = i.prototype;
r.quarter = function (t) {
return this.$utils().u(t) ? Math.ceil((this.month() + 1) / 3) : this.month(this.month() % 3 + 3 * (t - 1));
};
var s = r.add;
r.add = function (e, i) {
return e = Number(e), this.$utils().p(i) === n ? this.add(3 * e, t) : s.bind(this)(e, i);
};
var u = r.startOf;
r.startOf = function (e, i) {
var r = this.$utils(),
s = !!r.u(i) || i;
if (r.p(e) === n) {
var o = this.quarter() - 1;
return s ? this.month(3 * o).startOf(t).startOf("day") : this.month(3 * o + 2).endOf(t).endOf("day");
}
return u.bind(this)(e, i);
};
};
});
})(quarterOfYear$1, quarterOfYear$1.exports);
var quarterOfYear = quarterOfYear$1.exports;
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
dayjs.extend(weekOfYear);
dayjs.extend(weekYear);
dayjs.extend(localeData);
dayjs.extend(quarterOfYear);
dayjs.extend(advancedFormat);
dayjs.extend(customParseFormat);
dayjs.extend(dayJsIsBetween);
function firstUpperCase(str) {
if (!str) return str;
return str[0].toUpperCase().concat(str.substring(1, str.length));
}
function getFirstDayOfMonth(_ref) {
var year = _ref.year,
month = _ref.month;
return new Date(year, month, 1);
}
function getDaysInMonth(_ref2) {
var year = _ref2.year,
month = _ref2.month;
return new Date(year, month + 1, 0).getDate();
}
function getLastDayOfMonth(_ref3) {
var year = _ref3.year,
month = _ref3.month;
return new Date(year, month, getDaysInMonth({
year: year,
month: month
}));
}
function isSameYear(date1, date2) {
return date1.getFullYear() === date2.getFullYear();
}
function isSameQuarter(date1, date2) {
return isSameYear(date1, date2) && dayjs(date1).quarter() === dayjs(date2).quarter();
}
function isSameMonth(date1, date2) {
return isSameYear(date1, date2) && date1.getMonth() === date2.getMonth();
}
function isSameWeek(date1, date2) {
var dayjsLocale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "zh-cn";
return isSameMonth(date1, date2) && dayjs(date1).locale(dayjsLocale).week() === dayjs(date2).locale(dayjsLocale).week();
}
function isSameDate(date1, date2) {
return isSameMonth(date1, date2) && date1.getDate() === date2.getDate();
}
function compareAsc(date1, date2) {
var d1 = date1.getTime();
var d2 = date2.getTime();
if (d1 < d2) return -1;
if (d1 > d2) return 1;
return 0;
}
function isSame(date1, date2) {
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "date";
var dayjsLocale = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "zh-cn";
var func = {
isSameYear: isSameYear,
isSameQuarter: isSameQuarter,
isSameMonth: isSameMonth,
isSameWeek: isSameWeek,
isSameDate: isSameDate
};
return func["isSame".concat(firstUpperCase(type))](date1, date2, dayjsLocale);
}
function outOfRanges(d, min, max) {
return min && compareAsc(d, min) === -1 || max && compareAsc(d, max) === 1;
}
function getToday() {
var now = new Date();
return new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
}
function getDateObj(date) {
var tempDate = date;
if (!(date instanceof Date)) {
tempDate = getToday();
}
return {
year: tempDate.getFullYear(),
month: tempDate.getMonth(),
date: tempDate.getDate(),
hours: tempDate.getHours(),
minutes: tempDate.getMinutes(),
seconds: tempDate.getSeconds(),
milliseconds: tempDate.getMilliseconds(),
meridiem: tempDate.getHours() > 11 ? "PM" : "AM"
};
}
function setDateTime(date, hours, minutes, seconds, milliseconds) {
return dayjs(date).hour(hours).minute(minutes).second(seconds).millisecond(milliseconds).toDate();
}
function subtractMonth(date, num) {
return dayjs(date).subtract(num, "month").toDate();
}
function addMonth(date, num) {
return dayjs(date).add(num, "month").toDate();
}
function getWeeks(_ref4, _ref5) {
var year = _ref4.year,
month = _ref4.month;
var firstDayOfWeek = _ref5.firstDayOfWeek,
_ref5$showWeekOfYear = _ref5.showWeekOfYear,
showWeekOfYear = _ref5$showWeekOfYear === void 0 ? false : _ref5$showWeekOfYear,
_ref5$disableDate = _ref5.disableDate,
disableDate = _ref5$disableDate === void 0 ? function () {
return false;
} : _ref5$disableDate,
minDate = _ref5.minDate,
maxDate = _ref5.maxDate,
_ref5$dayjsLocale = _ref5.dayjsLocale,
dayjsLocale = _ref5$dayjsLocale === void 0 ? "zh-cn" : _ref5$dayjsLocale,
_ref5$cancelRangeSele = _ref5.cancelRangeSelectLimit,
cancelRangeSelectLimit = _ref5$cancelRangeSele === void 0 ? false : _ref5$cancelRangeSele;
var prependDay = getFirstDayOfMonth({
year: year,
month: month
});
var appendDay = getLastDayOfMonth({
year: year,
month: month
});
var maxDays = getDaysInMonth({
year: year,
month: month
});
var daysArr = [];
var i = 1;
var today = getToday();
for (i; i <= maxDays; i++) {
var currentDay = new Date(year, month, i);
daysArr.push({
text: i,
active: false,
value: currentDay,
disabled: isFunction(disableDate) && disableDate(currentDay) || !cancelRangeSelectLimit && outOfRanges(currentDay, minDate, maxDate),
now: isSame(today, currentDay),
firstDayOfMonth: i === 1,
lastDayOfMonth: i === maxDays,
type: "current-month",
dayjsObj: dayjs(currentDay).locale(dayjsLocale)
});
}
if (prependDay.getDay() !== firstDayOfWeek) {
prependDay.setDate(0);
while (true) {
daysArr.unshift({
text: prependDay.getDate().toString(),
active: false,
value: new Date(prependDay),
disabled: isFunction(disableDate) && disableDate(prependDay) || !cancelRangeSelectLimit && outOfRanges(prependDay, minDate, maxDate),
additional: true,
type: "prev-month",
dayjsObj: dayjs(prependDay).locale(dayjsLocale)
});
prependDay.setDate(prependDay.getDate() - 1);
if (prependDay.getDay() === Math.abs(firstDayOfWeek + 6) % 7) break;
}
}
var LEN = 42;
while (daysArr.length < LEN) {
appendDay.setDate(appendDay.getDate() + 1);
daysArr.push({
text: appendDay.getDate(),
active: false,
value: new Date(appendDay),
disabled: isFunction(disableDate) && disableDate(appendDay) || !cancelRangeSelectLimit && outOfRanges(appendDay, minDate, maxDate),
additional: true,
type: "next-month",
dayjsObj: dayjs(appendDay).locale(dayjsLocale)
});
}
var dataList = chunk(daysArr, 7);
if (showWeekOfYear) {
dataList.forEach(function (d) {
d.unshift(_objectSpread(_objectSpread({}, d[0]), {}, {
active: false,
value: d[0].value,
text: dayjs(d[0].value).locale(dayjsLocale).week(),
dayjsObj: dayjs(d[0].value).locale(dayjsLocale)
}));
});
}
return dataList;
}
function getQuarters(year, _ref6) {
var _ref6$disableDate = _ref6.disableDate,
disableDate = _ref6$disableDate === void 0 ? function () {
return false;
} : _ref6$disableDate,
minDate = _ref6.minDate,
maxDate = _ref6.maxDate,
quarterLocal = _ref6.quarterLocal,
_ref6$dayjsLocale = _ref6.dayjsLocale,
dayjsLocale = _ref6$dayjsLocale === void 0 ? "zh-cn" : _ref6$dayjsLocale,
_ref6$cancelRangeSele = _ref6.cancelRangeSelectLimit,
cancelRangeSelectLimit = _ref6$cancelRangeSele === void 0 ? false : _ref6$cancelRangeSele;
var quarterArr = [];
var today = getToday();
for (var i = 1; i <= 4; i++) {
var date = dayjs(new Date(year, 0)).quarter(i).toDate();
quarterArr.push({
value: date,
now: isSame(date, today, "quarter"),
disabled: isFunction(disableDate) && disableDate(date) || !cancelRangeSelectLimit && outOfRanges(date, minDate, maxDate),
active: false,
text: quarterLocal[i - 1],
dayjsObj: dayjs(date).locale(dayjsLocale)
});
}
return chunk(quarterArr, 4);
}
function getYears(year, _ref7) {
var _ref7$disableDate = _ref7.disableDate,
disableDate = _ref7$disableDate === void 0 ? function () {
return false;
} : _ref7$disableDate,
minDate = _ref7.minDate,
maxDate = _ref7.maxDate,
_ref7$dayjsLocale = _ref7.dayjsLocale,
dayjsLocale = _ref7$dayjsLocale === void 0 ? "zh-cn" : _ref7$dayjsLocale,
_ref7$cancelRangeSele = _ref7.cancelRangeSelectLimit,
cancelRangeSelectLimit = _ref7$cancelRangeSele === void 0 ? false : _ref7$cancelRangeSele;
var startYear = parseInt((year / 10).toString(), 10) * 10;
var endYear = startYear + 9;
var yearArr = [];
var today = getToday();
for (var i = startYear; i <= endYear; i++) {
var date = new Date(i, 1);
yearArr.push({
value: date,
now: isSame(date, today, "year"),
disabled: isFunction(disableDate) && disableDate(date) || !cancelRangeSelectLimit && outOfRanges(date, minDate, maxDate),
active: false,
text: "".concat(date.getFullYear()),
dayjsObj: dayjs(date).locale(dayjsLocale)
});
}
return chunk(yearArr, 3);
}
function getMonths(year, params) {
var _params$disableDate = params.disableDate,
disableDate = _params$disableDate === void 0 ? function () {
return false;
} : _params$disableDate,
minDate = params.minDate,
maxDate = params.maxDate,
monthLocal = params.monthLocal,
_params$dayjsLocale = params.dayjsLocale,
dayjsLocale = _params$dayjsLocale === void 0 ? "zh-cn" : _params$dayjsLocale,
_params$cancelRangeSe = params.cancelRangeSelectLimit,
cancelRangeSelectLimit = _params$cancelRangeSe === void 0 ? false : _params$cancelRangeSe;
var MonthArr = [];
var today = getToday();
for (var i = 0; i <= 11; i++) {
var date = new Date(year, i);
MonthArr.push({
value: date,
now: isSame(date, today, "month"),
disabled: isFunction(disableDate) && disableDate(date) || !cancelRangeSelectLimit && outOfRanges(date, minDate, maxDate),
active: false,
text: monthLocal[date.getMonth()],
dayjsObj: dayjs(date).locale(dayjsLocale)
});
}
return chunk(MonthArr, 3);
}
function flagActive(data, _ref8) {
var args = _extends({}, (_objectDestructuringEmpty(_ref8), _ref8));
var start = args.start,
end = args.end,
hoverStart = args.hoverStart,
hoverEnd = args.hoverEnd,
_args$type = args.type,
type = _args$type === void 0 ? "date" : _args$type,
_args$isRange = args.isRange,
isRange = _args$isRange === void 0 ? false : _args$isRange,
value = args.value,
_args$multiple = args.multiple,
multiple = _args$multiple === void 0 ? false : _args$multiple;
if (type === "week") return data;
if (!isRange) {
return data.map(function (row) {
return row.map(function (item) {
var _item = item;
if (multiple) {
var _value$some;
_item.active = value === null || value === void 0 || (_value$some = value.some) === null || _value$some === void 0 ? void 0 : _value$some.call(value, function (val) {
return isSame(dayjs(val).toDate(), _item.value, type) && !_item.additional;
});
} else {
_item.active = start && isSame(item.value, start, type) && !_item.additional;
}
return _item;
});
});
}
return data.map(function (row) {
return row.map(function (item) {
var _item = item;
var date = item.value;
var isStart = start && isSame(start, date, type);
var isHoverStart = hoverStart && isSame(hoverStart, date, type);
var isEnd = end && isSame(end, date, type);
var isHoverEnd = hoverEnd && isSame(hoverEnd, date, type);
_item.active = (isStart || isEnd) && !_item.additional;
if (start && end) {
_item.highlight = dayjs(date).isBetween(start, end, type, "[]") && !_item.additional;
_item.startOfRange = isStart;
_item.endOfRange = isEnd;
}
if (hoverStart && hoverEnd) {
_item.hoverHighlight = dayjs(date).isBetween(hoverStart, hoverEnd, type, "[]") && !_item.additional;
_item.hoverStartOfRange = isHoverStart;
_item.hoverEndOfRange = isHoverEnd;
}
return _item;
});
});
}
function extractTimeFormat() {
var dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
return dateFormat.replace(/\W?Y{2,4}|\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g, "").trim();
}
function extractTimeObj() {
var timeFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var matchedMeridiem = timeFormat.match(/[ap]m/i) || [""];
var timeReg = /\d{1,2}(:\d{1,2})?(:\d{1,2})?(:\d{1,3})?/;
var matchedTimeStr = timeFormat.match(timeReg) || ["0:0:0:0"];
var _matchedTimeStr$0$spl = matchedTimeStr[0].split(":"),
_matchedTimeStr$0$spl2 = _slicedToArray(_matchedTimeStr$0$spl, 4),
_matchedTimeStr$0$spl3 = _matchedTimeStr$0$spl2[0],
hours = _matchedTimeStr$0$spl3 === void 0 ? 0 : _matchedTimeStr$0$spl3,
_matchedTimeStr$0$spl4 = _matchedTimeStr$0$spl2[1],
minutes = _matchedTimeStr$0$spl4 === void 0 ? 0 : _matchedTimeStr$0$spl4,
_matchedTimeStr$0$spl5 = _matchedTimeStr$0$spl2[2],
seconds = _matchedTimeStr$0$spl5 === void 0 ? 0 : _matchedTimeStr$0$spl5,
_matchedTimeStr$0$spl6 = _matchedTimeStr$0$spl2[3],
milliseconds = _matchedTimeStr$0$spl6 === void 0 ? 0 : _matchedTimeStr$0$spl6;
return {
hours: +hours,
minutes: +minutes,
seconds: +seconds,
milliseconds: +milliseconds,
meridiem: matchedMeridiem[0]
};
}
function isEnabledDate(_ref9) {
var value = _ref9.value,
disableDate = _ref9.disableDate,
mode = _ref9.mode,
format = _ref9.format;
if (!disableDate) return true;
var availableMode = mode === "quarter" ? "date" : mode;
var isEnabled = true;
if (isFunction(disableDate)) {
return !disableDate(value);
}
if (Array.isArray(disableDate)) {
var formattedDisabledDate = disableDate.map(function (item) {
return parseToDayjs(item, format);
});
var isIncludes = formattedDisabledDate.some(function (item) {
return item.isSame(dayjs(value));
});
return !isIncludes;
}
var from = disableDate.from,
to = disableDate.to,
before = disableDate.before,
after = disableDate.after;
if (from && to) {
var compareMin = dayjs(new Date(from));
var compareMax = dayjs(new Date(to));
return !dayjs(value).isBetween(compareMin, compareMax, availableMode, "[]");
}
var min = before ? new Date(before) : null;
var max = after ? new Date(after) : null;
if (max && min) {
var _compareMin = dayjs(new Date(min));
var _compareMax = dayjs(new Date(max));
isEnabled = dayjs(value).isBetween(_compareMin, _compareMax, availableMode, "[]");
} else if (min) {
var _compareMin2 = dayjs(new Date(min));
isEnabled = !dayjs(value).isBefore(_compareMin2, availableMode);
} else if (max) {
var _compareMax2 = dayjs(new Date(max));
isEnabled = !dayjs(value).isAfter(_compareMax2, availableMode);
}
return isEnabled;
}
function covertToDate(value, valueType) {
return valueType === "time-stamp" ? new Date(value) : dayjs(value, valueType).toDate();
}
dayjs.extend(isoWeeksInYear);
dayjs.extend(isLeapYear);
var TIME_FORMAT = "HH:mm:ss";
function parseToDayjs(value, format, timeOfDay, dayjsLocale) {
if (value === "" || value === null) return dayjs();
var dateText = value;
if (/[w|W]/g.test(format)) {
if (!isString(dateText)) {
dateText = dayjs(dateText).locale(dayjsLocale || "zh-cn").format(format);
}
var yearStr = dateText.split(/[-/.\s]/)[0];
var weekStr = dateText.split(/[-/.\s]/)[1];
var weekFormatStr = format.split(/[-/.\s]/)[1];
var firstWeek = dayjs(yearStr, "YYYY").locale(dayjsLocale || "zh-cn").startOf("year");
if (firstWeek.day() > 4 || firstWeek.day() === 0) firstWeek = firstWeek.add(1, "week");
var weekCounts = dayjs(yearStr, "YYYY").locale(dayjsLocale || "zh-cn").isoWeeksInYear();
for (var i = 0; i <= weekCounts; i += 1) {
var nextWeek = firstWeek.add(i, "week");
if (timeOfDay === "start") nextWeek = nextWeek.subtract(5, "day");
if (nextWeek.format(weekFormatStr) === weekStr) {
return nextWeek;
}
}
}
if (/Q/g.test(format)) {
if (!isString(dateText)) {
dateText = dayjs(dateText).locale(dayjsLocale || "zh-cn").format(format);
}
var _yearStr = dateText.split(/[-/.\s]/)[0];
var quarterStr = dateText.split(/[-/.\s]/)[1];
var quarterFormatStr = format.split(/[-/.\s]/)[1];
var firstQuarter = dayjs(_yearStr, "YYYY").startOf("year");
for (var _i = 0; _i < 4; _i += 1) {
var nextQuarter = firstQuarter.add(_i, "quarter");
if (nextQuarter.format(quarterFormatStr) === quarterStr) {
return nextQuarter;
}
}
}
var result = dayjs(dateText, format).isValid() ? dayjs(dateText, format) : dayjs(dateText);
if (!result.isValid()) {
log.error("DatePicker", "Check whether the format\u3001value format is valid.\n value: '".concat(value, "', format: '").concat(format, "'"));
return dayjs();
}
return result;
}
function formatRange(_ref) {
var newDate = _ref.newDate,
format = _ref.format,
dayjsLocale = _ref.dayjsLocale,
targetFormat = _ref.targetFormat,
autoSwap = _ref.autoSwap;
if (!newDate || !Array.isArray(newDate)) return [];
var dayjsDateList = newDate.map(function (d) {
return d && parseToDayjs(d, format).locale(dayjsLocale);
});
if (autoSwap && dayjsDateList[0] && dayjsDateList[1] && dayjsDateList[0].toDate().getTime() > dayjsDateList[1].toDate().getTime()) {
dayjsDateList = [dayjsDateList[1], dayjsDateList[0]];
}
if (dayjsDateList.some(function (r) {
return r && !r.isValid();
})) {
log.error("DatePicker", "Check whether the value\u3001format\u3001valueType format is valid.\nformat: '".concat(format, "' value: '").concat(newDate, "' valueType: '").concat(targetFormat, "'"));
return [];
}
if (targetFormat === "time-stamp") return dayjsDateList.map(function (da) {
return da && da.toDate().getTime();
});
if (targetFormat === "Date") return dayjsDateList.map(function (da) {
return da && da.toDate();
});
return dayjsDateList.map(function (da) {
return da && da.format(targetFormat || format);
});
}
function formatSingle(_ref2) {
var newDate = _ref2.newDate,
format = _ref2.format,
targetFormat = _ref2.targetFormat,
dayjsLocale = _ref2.dayjsLocale;
if (!newDate) return "";
var dayJsDate = parseToDayjs(newDate, format).locale(dayjsLocale);
if (!dayJsDate.isValid()) {
log.error("DatePicker", "Check whether the format\u3001value format is valid.\nformat: '".concat(format, "' value: '").concat(newDate, "'"));
return "";
}
if (targetFormat === "time-stamp") return dayJsDate.toDate().getTime();
if (targetFormat === "Date") return dayJsDate.toDate();
return dayJsDate.format(targetFormat || format);
}
function isValidDate(value, format) {
if (Array.isArray(value)) {
return value.every(function (v) {
if (v === "") return true;
return dayjs(v, format).isValid() || dayjs(v).isValid();
});
}
if (value === "") return true;
return dayjs(value, format).isValid() || dayjs(value).isValid();
}
function formatDate(newDate, _ref3) {
var format = _ref3.format,
targetFormat = _ref3.targetFormat,
_ref3$dayjsLocale = _ref3.dayjsLocale,
dayjsLocale = _ref3$dayjsLocale === void 0 ? "zh-cn" : _ref3$dayjsLocale,
autoSwap = _ref3.autoSwap;
var result;
if (Array.isArray(newDate)) {
result = formatRange({
newDate: newDate,
format: format,
dayjsLocale: dayjsLocale,
targetFormat: targetFormat,
autoSwap: autoSwap
});
} else {
result = formatSingle({
newDate: newDate,
format: format,
dayjsLocale: dayjsLocale,
targetFormat: targetFormat
});
}
return result;
}
function calcFormatTime(time, timeFormat) {
if (time && timeFormat) {
var timeArr = time.split(":");
var timeFormatArr = timeFormat.split(":");
return timeArr.slice(0, timeFormatArr.length).join(":");
}
return time;
}
function formatTime(value, format, timeFormat, defaultTime) {
var _result;
var result = Array.isArray(value) ? value : [value];
defaultTime = Array.isArray(defaultTime) ? defaultTime : [defaultTime, defaultTime];
result = result.map(function (v, i) {
if (v) return dayjs(v, typeof v === "string" ? format : void 0).format(timeFormat);
return calcFormatTime(defaultTime[i], timeFormat);
});
result = result.length ? result : defaultTime.map(function (t) {
return calcFormatTime(t, timeFormat);
});
return Array.isArray(value) ? result : (_result = result) === null || _result === void 0 ? void 0 : _result[0];
}
function getDefaultFormat(_ref4) {
var _ref4$mode = _ref4.mode,
mode = _ref4$mode === void 0 ? "date" : _ref4$mode,
format = _ref4.format,
valueType = _ref4.valueType,
enableTimePicker = _ref4.enableTimePicker;
if (mode === "year") {
return {
format: format || "YYYY",
valueType: valueType || format || "YYYY",
timeFormat: TIME_FORMAT
};
}
if (mode === "month") {
return {
format: format || "YYYY-MM",
valueType: valueType || format || "YYYY-MM",
timeFormat: TIME_FORMAT
};
}
if (mode === "quarter") {
return {
format: format || "YYYY-[Q]Q",
valueType: valueType || format || "YYYY-[Q]Q",
timeFormat: TIME_FORMAT
};
}
if (mode === "week") {
return {
format: format || "gggg-wo",
valueType: valueType || format || "gggg-wo",
timeFormat: TIME_FORMAT
};
}
if (mode === "date") {
return {
format: format || "YYYY-MM-DD".concat(enableTimePicker ? " HH:mm:ss" : ""),
valueType: valueType || format || "YYYY-MM-DD".concat(enableTimePicker ? " HH:mm:ss" : ""),
timeFormat: extractTimeFormat(format || "YYYY-MM-DD".concat(enableTimePicker ? " HH:mm:ss" : "")) || TIME_FORMAT
};
}
log.error("DatePicker", "Invalid mode: ".concat(mode));
return {};
}
function initYearMonthTime(_ref5) {
var value = _ref5.value,
_ref5$mode = _ref5.mode,
mode = _ref5$mode === void 0 ? "date" : _ref5$mode,
format = _ref5.format,
_ref5$timeFormat = _ref5.timeFormat,
timeFormat = _ref5$timeFormat === void 0 ? "HH:mm:ss" : _ref5$timeFormat,
enableTimePicker = _ref5.enableTimePicker;
var defaultYearMonthTime = {
year: [dayjs().year(), dayjs().year()],
month: [dayjs().month(), dayjs().month()],
time: [dayjs().format(timeFormat), dayjs().format(timeFormat)]
};
if (mode === "year") {
defaultYearMonthTime.year[1] += 10;
} else if (mode === "month" || mode === "quarter") {
defaultYearMonthTime.year[1] += 1;
} else if ((mode === "date" || mode === "week") && !enableTimePicker) {
if (defaultYearMonthTime.month[0] === 11) {
defaultYearMonthTime.year[1] += 1;
defaultYearMonthTime.month[1] = 0;
} else {
defaultYearMonthTime.month[1] += 1;
}
}
if (!value || !Array.isArray(value) || !value.length) {
return defaultYearMonthTime;
}
return {
year: value.map(function (v) {
return parseToDayjs(v, format).year();
}),
month: value.map(function (v) {
return parseToDayjs(v, format).month();
}),
time: value.map(function (v) {
return parseToDayjs(v, format).format(timeFormat);
})
};
}
export { TIME_FORMAT as T, getDateObj as a, subtractMonth as b, addMonth as c, getWeeks as d, getQuarters as e, firstUpperCase as f, getToday as g, getYears as h, isSame as i, getMonths as j, flagActive as k, extractTimeFormat as l, extractTimeObj as m, isEnabledDate as n, outOfRanges as o, covertToDate as p, parseToDayjs as q, isValidDate as r, setDateTime as s, formatDate as t, calcFormatTime as u, formatTime as v, getDefaultFormat as w, initYearMonthTime as x };
//# sourceMappingURL=dep-08bc8a53.js.map