UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 50.1 kB
{"version":3,"file":"utils.mjs","sources":["../../../../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/dayjs/plugin/isBetween.js","../../../../node_modules/dayjs/plugin/weekOfYear.js","../../../../node_modules/dayjs/plugin/weekYear.js","../../../../node_modules/dayjs/plugin/localeData.js","../../../../node_modules/dayjs/plugin/quarterOfYear.js","../../../../node_modules/dayjs/plugin/advancedFormat.js","../../../../node_modules/lodash/chunk.js","../../../../src/_common/js/date-picker/utils.ts"],"sourcesContent":["export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(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))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(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)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekYear=t()}(this,(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}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(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(){return t.Ls[t.locale()]},a=function(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(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(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(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(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)}}}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(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)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","var baseSlice = require('./_baseSlice'),\n isIterateeCall = require('./_isIterateeCall'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\nfunction chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n}\n\nmodule.exports = chunk;\n","import isFunction from 'lodash/isFunction';\nimport dayjs from 'dayjs';\nimport dayJsIsBetween from 'dayjs/plugin/isBetween';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\nimport localeData from 'dayjs/plugin/localeData';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport chunk from 'lodash/chunk';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\ndayjs.extend(localeData);\ndayjs.extend(quarterOfYear);\ndayjs.extend(advancedFormat);\ndayjs.extend(customParseFormat);\ndayjs.extend(dayJsIsBetween);\n\n/**\n * 首字母大写\n * @param {String} str 目标字符串\n * @returns {String}\n */\nexport function firstUpperCase(str: string): string {\n if (!str) return str;\n return str[0].toUpperCase().concat(str.substring(1, str.length));\n}\n\ninterface DateObj {\n year: number;\n month: number;\n}\n\n/**\n * 返回指定年、月的第一天日期\n * @param {Object} { year, month }\n * @returns {Date}\n */\nfunction getFirstDayOfMonth({ year, month }: DateObj): Date {\n return new Date(year, month, 1);\n}\n\n/**\n * 返回指定年、月的天数\n * @param {Object} { year, month }\n * @returns {Number}\n */\nfunction getDaysInMonth({ year, month }: DateObj): number {\n return new Date(year, month + 1, 0).getDate();\n}\n\n/**\n * 返回指定年、月的最后一天日期\n * @param {Object} { year, month }\n * @returns {Date}\n */\nfunction getLastDayOfMonth({ year, month }: DateObj): Date {\n return new Date(year, month, getDaysInMonth({ year, month }));\n}\n\nfunction isSameYear(date1: Date, date2: Date): boolean {\n return date1.getFullYear() === date2.getFullYear();\n}\n\nfunction isSameQuarter(date1: Date, date2: Date): boolean {\n return isSameYear(date1, date2) && dayjs(date1).quarter() === dayjs(date2).quarter();\n}\n\nfunction isSameMonth(date1: Date, date2: Date): boolean {\n return isSameYear(date1, date2) && date1.getMonth() === date2.getMonth();\n}\n\nfunction isSameWeek(date1: Date, date2: Date, dayjsLocale = 'zh-cn'): boolean {\n return isSameMonth(date1, date2) && dayjs(date1).locale(dayjsLocale).week() === dayjs(date2).locale(dayjsLocale).week();\n}\n\nfunction isSameDate(date1: Date, date2: Date): boolean {\n return isSameMonth(date1, date2) && date1.getDate() === date2.getDate();\n}\n\n/**\n * 比较两个日期对象的时间戳\n * @param {Date} date1 日期1\n * @param {Date} date2 日期2\n * @returns {Number} 返回 date1.getTime() - date2.getTime() 的差值\n */\nfunction compareAsc(date1: { getTime: () => any }, date2: Date): number {\n const d1 = date1.getTime();\n const d2 = date2.getTime();\n\n if (d1 < d2) return -1;\n if (d1 > d2) return 1;\n return 0;\n}\n\n/**\n * 比较两个 Date 是否是同一天 或则 同一月 或则 同一年\n * @param {Date} date1 比较的日期\n * @param {Date} date2 比较的日期\n * @param {String} type 比较类型,默认比较到『日』 date|month|year\n * @returns {Boolean}\n */\nexport function isSame(date1: Date, date2: Date, type = 'date', dayjsLocale = 'zh-cn'): boolean {\n const func = {\n isSameYear,\n isSameQuarter,\n isSameMonth,\n isSameWeek,\n isSameDate,\n };\n return func[`isSame${firstUpperCase(type)}`](date1, date2, dayjsLocale);\n}\n\nexport function outOfRanges(d: Date, min: any, max: any) {\n return (min && compareAsc(d, min) === -1) || (max && compareAsc(d, max) === 1);\n}\n\n/**\n * @returns {Date} 当天零点的日期对象\n */\nexport function getToday(): Date {\n const now = new Date();\n return new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);\n}\n\n/**\n * 返回日期对象的年、月、日、小时、分钟、秒、12小时制标识\n * @param {Date} date\n * @returns {Object}\n */\nexport function getDateObj(date: Date) {\n let tempDate = date;\n if (!(date instanceof Date)) {\n tempDate = getToday();\n }\n return {\n year: tempDate.getFullYear(),\n month: tempDate.getMonth(),\n date: tempDate.getDate(),\n hours: tempDate.getHours(),\n minutes: tempDate.getMinutes(),\n seconds: tempDate.getSeconds(),\n milliseconds: tempDate.getMilliseconds(),\n meridiem: tempDate.getHours() > 11 ? 'PM' : 'AM',\n };\n}\n\n/**\n * 设置日期对象的时间部分\n * @param {Date} date 日期\n * @param {Number} hours 小时\n * @param {Number} minutes 分钟\n * @param {Number} seconds 秒\n * @param {Number} milliseconds 毫秒\n * @returns {Date} 一个新的date\n */\nexport function setDateTime(\n date: Date,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds?: number\n): Date {\n return dayjs(date)\n .hour(hours)\n .minute(minutes)\n .second(seconds)\n .millisecond(milliseconds)\n .toDate();\n}\n\n/**\n * 减少月份\n * @param {Date} date 起始日期\n * @param {Number} num 月份数\n * @returns {Date}\n */\nexport function subtractMonth(date: Date, num: number): Date {\n return dayjs(date).subtract(num, 'month').toDate();\n}\n\n/**\n * 增加月份\n * @param {Date} date 起始日期\n * @param {Number} num 月份数\n * @returns {Date}\n */\nexport function addMonth(date: Date, num: number): Date {\n return dayjs(date).add(num, 'month').toDate();\n}\n\nexport type DateValue = string | Date | number;\nexport interface DisableDateObj { from?: string; to?: string; before?: string; after?: string }\nexport type DisableDate = Array<DateValue> | DisableDateObj | ((date: DateValue) => boolean);\n\nexport interface OptionsType {\n firstDayOfWeek: number;\n disableDate: DisableDate;\n minDate: Date;\n maxDate: Date;\n showWeekOfYear?: Boolean;\n dayjsLocale?: string;\n monthLocal?: string[];\n quarterLocal?: string[];\n}\n\nexport function getWeeks(\n { year, month }: { year: number; month: number },\n {\n firstDayOfWeek,\n showWeekOfYear = false,\n disableDate = () => false,\n minDate,\n maxDate,\n dayjsLocale = 'zh-cn',\n }: OptionsType,\n) {\n const prependDay = getFirstDayOfMonth({ year, month });\n const appendDay = getLastDayOfMonth({ year, month });\n const maxDays = getDaysInMonth({ year, month });\n const daysArr = [];\n let i = 1;\n const today = getToday();\n for (i; i <= maxDays; i++) {\n const currentDay = new Date(year, month, i);\n daysArr.push({\n text: i,\n active: false,\n value: currentDay,\n disabled: (isFunction(disableDate) && disableDate(currentDay))\n || outOfRanges(currentDay, minDate, maxDate),\n now: isSame(today, currentDay),\n firstDayOfMonth: i === 1,\n lastDayOfMonth: i === maxDays,\n type: 'current-month',\n dayjsObj: dayjs(currentDay).locale(dayjsLocale),\n });\n }\n\n if (prependDay.getDay() !== firstDayOfWeek) {\n prependDay.setDate(0); // 上一月\n while (true) {\n daysArr.unshift({\n text: prependDay.getDate().toString(),\n active: false,\n value: new Date(prependDay),\n disabled: (isFunction(disableDate) && disableDate(prependDay)) || outOfRanges(prependDay, minDate, maxDate),\n additional: true, // 非当前月\n type: 'prev-month',\n dayjsObj: dayjs(prependDay).locale(dayjsLocale),\n });\n prependDay.setDate(prependDay.getDate() - 1);\n if (prependDay.getDay() === Math.abs(firstDayOfWeek + 6) % 7) break;\n }\n }\n\n const LEN = 42; // 显示6周\n while (daysArr.length < LEN) {\n appendDay.setDate(appendDay.getDate() + 1);\n daysArr.push({\n text: appendDay.getDate(),\n active: false,\n value: new Date(appendDay),\n disabled: (isFunction(disableDate) && disableDate(appendDay)) || outOfRanges(appendDay, minDate, maxDate),\n additional: true, // 非当前月\n type: 'next-month',\n dayjsObj: dayjs(appendDay).locale(dayjsLocale),\n });\n }\n\n const dataList = chunk(daysArr, 7);\n // 显示周数\n if (showWeekOfYear) {\n dataList.forEach((d) => {\n d.unshift({\n ...d[0],\n active: false,\n value: d[0].value,\n text: dayjs(d[0].value).locale(dayjsLocale).week(),\n dayjsObj: dayjs(d[0].value).locale(dayjsLocale),\n });\n });\n }\n\n return dataList;\n}\n\nexport function getQuarters(\n year: number,\n {\n disableDate = () => false,\n minDate,\n maxDate,\n quarterLocal,\n dayjsLocale = 'zh-cn',\n }: OptionsType,\n) {\n const quarterArr = [];\n const today = getToday();\n\n for (let i = 1; i <= 4; i++) {\n const date = dayjs(new Date(year, 0)).quarter(i).toDate();\n\n quarterArr.push({\n value: date,\n now: isSame(date, today, 'quarter'),\n disabled: (isFunction(disableDate) && disableDate(date)) || outOfRanges(date, minDate, maxDate),\n active: false,\n text: quarterLocal[i - 1],\n dayjsObj: dayjs(date).locale(dayjsLocale),\n });\n }\n\n return chunk(quarterArr, 4);\n}\n\nexport function getYears(\n year: number,\n {\n disableDate = () => false,\n minDate,\n maxDate,\n dayjsLocale = 'zh-cn',\n }: OptionsType,\n) {\n const startYear = parseInt((year / 10).toString(), 10) * 10;\n const endYear = startYear + 9;\n\n const yearArr = [];\n\n const today = getToday();\n\n for (let i = startYear; i <= endYear; i++) {\n const date = new Date(i, 1);\n\n yearArr.push({\n value: date,\n now: isSame(date, today, 'year'),\n disabled: (isFunction(disableDate) && disableDate(date)) || outOfRanges(date, minDate, maxDate),\n active: false,\n text: `${date.getFullYear()}`,\n dayjsObj: dayjs(date).locale(dayjsLocale),\n });\n }\n\n return chunk(yearArr, 3);\n}\n\nexport function getMonths(year: number, params: OptionsType) {\n const {\n disableDate = () => false, minDate, maxDate, monthLocal, dayjsLocale = 'zh-cn',\n } = params;\n const MonthArr = [];\n const today = getToday();\n\n for (let i = 0; i <= 11; i++) {\n const date = new Date(year, i);\n\n MonthArr.push({\n value: date,\n now: isSame(date, today, 'month'),\n disabled: (isFunction(disableDate) && disableDate(date)) || outOfRanges(date, minDate, maxDate),\n active: false,\n text: monthLocal[date.getMonth()], // `${date.getMonth() + 1} ${monthText || '月'}`,\n dayjsObj: dayjs(date).locale(dayjsLocale),\n });\n }\n\n return chunk(MonthArr, 3);\n}\n\nexport interface DateTime {\n additional: boolean;\n active: boolean;\n highlight: boolean;\n hoverHighlight: boolean;\n startOfRange: boolean;\n endOfRange: boolean;\n hoverStartOfRange: boolean;\n hoverEndOfRange: boolean;\n value: Date;\n}\n\nexport function flagActive(data: any[], { ...args }: any) {\n const { start, end, hoverStart, hoverEnd, type = 'date', isRange = false } = args;\n\n // 周选择器不更改 cell 样式\n if (type === 'week') return data;\n\n if (!isRange) {\n return data.map((row: any[]) => row.map((item: DateTime) => {\n const _item = item;\n _item.active = start && isSame(item.value, start, type) && !_item.additional;\n return _item;\n }));\n }\n\n return data.map((row: any[]) => row.map((item: DateTime) => {\n const _item = item;\n const date = item.value;\n\n const isStart = start && isSame(start, date, type);\n const isHoverStart = hoverStart && isSame(hoverStart, date, type);\n const isEnd = end && isSame(end, date, type);\n const isHoverEnd = hoverEnd && isSame(hoverEnd, date, type);\n _item.active = (isStart || isEnd) && !_item.additional;\n\n if (start && end) {\n _item.highlight = dayjs(date).isBetween(start, end, type, '[]') && !_item.additional;\n _item.startOfRange = isStart;\n _item.endOfRange = isEnd;\n }\n\n if (hoverStart && hoverEnd) {\n _item.hoverHighlight = dayjs(date).isBetween(hoverStart, hoverEnd, type, '[]') && !_item.additional;\n _item.hoverStartOfRange = isHoverStart;\n _item.hoverEndOfRange = isHoverEnd;\n }\n return _item;\n }));\n}\n\n// extract time format from a completed date format 'YYYY-MM-DD HH:mm' -> 'HH:mm'\nexport function extractTimeFormat(dateFormat: string = '') {\n const res = dateFormat.match(/(a\\s)?h{1,2}(:m{1,2})?(:s{1,2})?(\\sa)?/i);\n if (!res) return null;\n return res[0];\n}\n\n/**\n * 返回时间对象的小时、分钟、秒、12小时制标识\n * @param {String} timeFormat 'pm 20:11:11:333'\n * @returns {Object}\n */\nexport function extractTimeObj(timeFormat: string = '') {\n const matchedMeridiem = timeFormat.match(/[ap]m/i) || [''];\n const timeReg = /\\d{1,2}(:\\d{1,2})?(:\\d{1,2})?(:\\d{1,3})?/;\n const matchedTimeStr = timeFormat.match(timeReg) || ['0:0:0:0'];\n const [hours = 0, minutes = 0, seconds = 0, milliseconds = 0] = matchedTimeStr[0].split(':');\n\n return {\n hours: +hours,\n minutes: +minutes,\n seconds: +seconds,\n milliseconds: +milliseconds,\n meridiem: matchedMeridiem[0],\n };\n}\n\n/**\n * 日期是否可用\n * @param {Object} { value, disableDate, mode, format }\n * @returns {Boolean}\n */\nexport function isEnabledDate({\n value,\n disableDate,\n mode,\n format,\n}: {\n value: Date;\n mode: 'year' | 'month' | 'date' | 'quarter' | 'week';\n format: string;\n disableDate: any;\n}): boolean {\n if (!disableDate) return true;\n\n const availableMode = mode === 'quarter' ? 'date' : mode;\n\n let isEnabled = true;\n // 值类型为 Function 则表示返回值为 true 的日期会被禁用\n if (isFunction(disableDate)) {\n return !disableDate(value);\n }\n\n // 禁用日期,示例:['A', 'B'] 表示日期 A 和日期 B 会被禁用。\n if (Array.isArray(disableDate)) {\n const formattedDisabledDate = disableDate.map((item: string) => dayjs(item, format));\n // eslint-disable-next-line\n const isIncludes = formattedDisabledDate.some(item => item.isSame(dayjs(value)));\n return !isIncludes;\n }\n\n // { from: 'A', to: 'B' } 表示在 A 到 B 之间的日期会被禁用。\n // eslint-disable-next-line\n const { from, to, before, after } = disableDate;\n\n if (from && to) {\n const compareMin = dayjs(new Date(from));\n const compareMax = dayjs(new Date(to));\n\n return !dayjs(value).isBetween(compareMin, compareMax, availableMode, '[]');\n }\n\n const min = before ? new Date(before) : null;\n const max = after ? new Date(after) : null;\n\n // { before: 'A', after: 'B' } 表示在 A 之前和在 B 之后的日期都会被禁用。\n if (max && min) {\n const compareMin = dayjs(new Date(min));\n const compareMax = dayjs(new Date(max));\n\n isEnabled = dayjs(value).isBetween(compareMin, compareMax, availableMode, '[]');\n } else if (min) {\n const compareMin = dayjs(new Date(min));\n isEnabled = !dayjs(value).isBefore(compareMin, availableMode);\n } else if (max) {\n const compareMax = dayjs(new Date(max));\n isEnabled = !dayjs(value).isAfter(compareMax, availableMode);\n }\n return isEnabled;\n}\n"],"names":["_objectDestructuringEmpty","obj","TypeError","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","e","module","exports","define","amd","globalThis","self","dayjs_plugin_isBetween","this","t","isBetween","s","f","n","o","r","u","isAfter","isBefore","dayjs_plugin_weekOfYear","week","add","$locale","yearStart","month","date","startOf","endOf","a","subtract","diff","Math","ceil","weeks","dayjs_plugin_weekYear","weekYear","year","dayjs_plugin_localeData","indexOf","name","map","slice","d","weekStart","Ls","locale","formats","replace","toUpperCase","months","format","monthsShort","firstDayOfWeek","weekdays","weekdaysMin","weekdaysShort","longDateFormat","meridiem","ordinal","localeData","dayjs_plugin_quarterOfYear","quarter","$utils","Number","p","dayjs_plugin_advancedFormat","isValid","$M","$D","isoWeekYear","isoWeek","String","$H","floor","$d","getTime","offsetName","baseSlice","require$$0","isIterateeCall","require$$1","toInteger","require$$2","nativeCeil","nativeMax","max","chunk","array","size","guard","undefined","index","resIndex","result","Array","chunk_1","dayjs","isSameYear","isSameQuarter","isSameMonth","isSameWeek","isSameDate","hours","minutes","seconds","milliseconds","showWeekOfYear","dayjsLocale","text","active","value","disabled","now","type","prependDay","additional","dataList","dayjsObj","isRange","_item","_matchedTimeStr$0$spl3","_matchedTimeStr$0$spl4","_matchedTimeStr$0$spl5","_matchedTimeStr$0$spl6","isFunction","isEnabled"],"mappings":"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"}