{"version":3,"file":"dep-ec892b61.mjs","sources":["../../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/isoWeeksInYear.js","../../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/isLeapYear.js","../../../common/js/date-picker/format.ts"],"sourcesContent":["!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeeksInYear=n()}(this,(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}}}));","!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_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","import { isString, isObject } from 'lodash-es';\nimport dayjs from 'dayjs';\nimport isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';\nimport isLeapYear from 'dayjs/plugin/isLeapYear';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\nimport log from '../log';\n\ntype DateValue = string | number | Date;\ntype EnableTimePickerType = boolean | { mode?: 'switch' | 'parallel' };\n\ndayjs.extend(isoWeeksInYear);\ndayjs.extend(isLeapYear);\ndayjs.extend(customParseFormat);\n\nexport const TIME_FORMAT = 'HH:mm:ss';\n\n// extract time format from a completed date format 'YYYY-MM-DD HH:mm' -> 'HH:mm'\nexport function extractTimeFormat(dateFormat: string = '') {\n  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();\n}\n\n// 统一解析日期格式字符串成 Dayjs 对象\nexport function parseToDayjs(\n  value: string | Date | number,\n  format: string,\n  timeOfDay?: string,\n  dayjsLocale?: string,\n  defaultTime?: string\n) {\n  if (value === '' || value === null) return dayjs();\n\n  let dateText = value;\n  // format week\n  if (/[w|W]/g.test(format)) {\n    if (!isString(dateText)) {\n      dateText = dayjs(dateText)\n        .locale(dayjsLocale || 'zh-cn')\n        .format(format) as string;\n    }\n\n    const yearStr = dateText.split(/[-/.\\s]/)[0];\n    const weekStr = dateText.split(/[-/.\\s]/)[1];\n    const weekFormatStr = format.split(/[-/.\\s]/)[1];\n\n    let firstWeek = dayjs(yearStr, 'YYYY')\n      .locale(dayjsLocale || 'zh-cn')\n      .startOf('year');\n    // 第一周ISO定义: 本年度第一个星期四所在的星期\n    // 如果第一年第一天在星期四后, 直接跳到下一周, 下一周必定是第一周\n    // 否则本周即为第一周\n    if (firstWeek.day() > 4 || firstWeek.day() === 0) firstWeek = firstWeek.add(1, 'week');\n\n    // 一年有52或者53周, 引入IsoWeeksInYear辅助查询\n    const weekCounts = dayjs(yearStr, 'YYYY')\n      .locale(dayjsLocale || 'zh-cn')\n      .isoWeeksInYear();\n    for (let i = 0; i <= weekCounts; i += 1) {\n      let nextWeek = firstWeek.add(i, 'week');\n      // 重置为周的第一天\n      if (timeOfDay === 'start') nextWeek = nextWeek.subtract(5, 'day');\n      if (nextWeek.format(weekFormatStr) === weekStr) {\n        // 如果传入了 defaultTime\n        if (defaultTime) {\n          const parts = (defaultTime || '').split(':').map((p) => Number(p));\n          // 设置时分秒\n          nextWeek = nextWeek\n            .hour(parts[0] || 0)\n            .minute(parts[1] || 0)\n            .second(parts[2] || 0);\n        }\n        return nextWeek;\n      }\n    }\n  }\n\n  // format quarter\n  if (/Q/g.test(format)) {\n    if (!isString(dateText)) {\n      dateText = dayjs(dateText)\n        .locale(dayjsLocale || 'zh-cn')\n        .format(format) as string;\n    }\n\n    const yearStr = dateText.split(/[-/.\\s]/)[0];\n    const quarterStr = dateText.split(/[-/.\\s]/)[1];\n    const quarterFormatStr = format.split(/[-/.\\s]/)[1];\n    const firstQuarter = dayjs(yearStr, 'YYYY').startOf('year');\n    for (let i = 0; i < 4; i += 1) {\n      const nextQuarter = firstQuarter.add(i, 'quarter');\n      if (nextQuarter.format(quarterFormatStr) === quarterStr) {\n        // 如果传入了 defaultTime，给返回的 dayjs 对象设置默认时间\n        if (defaultTime) {\n          const parts = (defaultTime || '').split(':').map((p) => Number(p));\n          return nextQuarter\n            .hour(parts[0] || 0)\n            .minute(parts[1] || 0)\n            .second(parts[2] || 0);\n        }\n        return nextQuarter;\n      }\n    }\n  }\n\n  // 兼容数据格式不标准场景 YYYY-MM-D\n  const result = dayjs(dateText, format).isValid() ? dayjs(dateText, format) : dayjs(dateText);\n\n  // 兼容数据异常情况\n  if (!result.isValid()) {\n    log.error(\n      'DatePicker',\n      `Check whether the format、value format is valid.\\n value: '${value}', format: '${format}'`\n    );\n    return dayjs();\n  }\n\n  // 如果没有时间格式但提供了 defaultTime，则将默认时间设置到解析结果上\n  try {\n    const timeFormatFromFormat = extractTimeFormat(format || '');\n    if (defaultTime && (!timeFormatFromFormat || timeFormatFromFormat.trim() === '')) {\n      if (defaultTime) {\n        const parts = defaultTime.split(':').map((p) => Number(p));\n        // 注意：dayjs 的 hour/minute/second 返回新的 dayjs 对象（可链式调用）\n        const withTime = result\n          .hour(parts[0] || 0)\n          .minute(parts[1] || 0)\n          .second(parts[2] || 0);\n        return withTime;\n      }\n    }\n  } catch (e) {\n    // 保守处理：若设置时间出错，仍返回原始结果并记录日志\n    log.error('DatePicker', `set defaultTime error: ${e}`);\n  }\n\n  return result;\n}\n\n// 格式化 range\nfunction formatRange({\n  newDate,\n  format,\n  dayjsLocale,\n  targetFormat,\n  autoSwap,\n  defaultTime,\n}: {\n  newDate: any;\n  format: string;\n  dayjsLocale?: string;\n  targetFormat?: string;\n  autoSwap?: boolean;\n  defaultTime?: string | string[];\n}) {\n  if (!newDate || !Array.isArray(newDate)) return [];\n\n  let dayjsDateList = newDate.map(\n    (d, i) => d && parseToDayjs(d, format, undefined, undefined, defaultTime?.[i]).locale(dayjsLocale)\n  );\n\n  // 保证后面的时间大于前面的时间\n  if (\n    autoSwap &&\n    dayjsDateList[0] &&\n    dayjsDateList[1] &&\n    dayjsDateList[0].toDate().getTime() > dayjsDateList[1].toDate().getTime()\n  ) {\n    // 数据兼容规则\n    dayjsDateList = [dayjsDateList[1], dayjsDateList[0]];\n  }\n\n  // 格式化失败提示\n  if (dayjsDateList.some((r) => r && !r.isValid())) {\n    log.error(\n      'DatePicker',\n      `Check whether the value、format、valueType format is valid.\\nformat: '${format}' value: '${newDate}' valueType: '${targetFormat}'`\n    );\n    return [];\n  }\n\n  // valueType = 'time-stamp' 返回时间戳\n  if (targetFormat === 'time-stamp') return dayjsDateList.map((da) => da && da.toDate().getTime());\n  // valueType = 'Date' 返回时间对象\n  if (targetFormat === 'Date') return dayjsDateList.map((da) => da && da.toDate());\n\n  return dayjsDateList.map((da) => da && da.format(targetFormat || format));\n}\n\n// 格式化单选\nfunction formatSingle({\n  newDate,\n  format,\n  targetFormat,\n  dayjsLocale,\n  defaultTime,\n}: {\n  newDate: any;\n  format: string;\n  targetFormat?: string;\n  dayjsLocale?: string;\n  defaultTime?: string;\n}) {\n  if (!newDate) return '';\n\n  const dayJsDate = parseToDayjs(newDate, format, undefined, undefined, defaultTime).locale(dayjsLocale);\n\n  // 格式化失败提示\n  if (!dayJsDate.isValid()) {\n    log.error(\n      'DatePicker',\n      `Check whether the format、value format is valid.\\nformat: '${format}' value: '${newDate}'`\n    );\n    return '';\n  }\n\n  // valueType = 'time-stamp' 返回时间戳\n  if (targetFormat === 'time-stamp') return dayJsDate.toDate().getTime();\n  // valueType = 'Date' 返回时间对象\n  if (targetFormat === 'Date') return dayJsDate.toDate();\n\n  return dayJsDate.format(targetFormat || format);\n}\n\n// 检测日期是否合法\nexport function isValidDate(value: DateValue | DateValue[], format: string) {\n  if (Array.isArray(value)) {\n    return value.every((v) => {\n      if (v === '') return true;\n      return dayjs(v, format).isValid() || dayjs(v).isValid();\n    });\n  }\n\n  if (value === '') return true;\n  return dayjs(value, format).isValid() || dayjs(value).isValid();\n}\n\n// 日期格式化\nexport function formatDate(\n  newDate: DateValue | DateValue[],\n  {\n    format,\n    targetFormat,\n    dayjsLocale = 'zh-cn',\n    autoSwap,\n    defaultTime,\n  }: {\n    format: string;\n    dayjsLocale?: string;\n    targetFormat?: string;\n    autoSwap?: boolean;\n    defaultTime?: string | string[];\n  }\n) {\n  let result;\n\n  if (Array.isArray(newDate)) {\n    result = formatRange({ newDate, format, dayjsLocale, targetFormat, autoSwap, defaultTime });\n  } else {\n    const singleDefaultTime = Array.isArray(defaultTime) ? '' : defaultTime;\n\n    result = formatSingle({ newDate, format, dayjsLocale, targetFormat, defaultTime: singleDefaultTime });\n  }\n\n  return result;\n}\n\n// 对齐格式化时间\nexport function calcFormatTime(time: string, timeFormat: string) {\n  if (time && timeFormat) {\n    const timeArr = time.split(':');\n    const timeFormatArr = timeFormat.split(':');\n    return timeArr.slice(0, timeFormatArr.length).join(':');\n  }\n  return time;\n}\n// TODO 细化 value 类型\n// 格式化时间\nexport function formatTime(value: any, format: string, timeFormat: string, defaultTime: string | string[]) {\n  // 无论参数是不是数组，统一转成数组处理\n  let result = Array.isArray(value) ? value : [value];\n  // eslint-disable-next-line no-param-reassign\n  defaultTime = Array.isArray(defaultTime) ? defaultTime : [defaultTime, defaultTime];\n  result = result.map((v, i) => {\n    // string格式需要用format去解析，其他诸如Date、time-stamp格式则直接dayjs\n    if (v) {\n      const formattedResult = dayjs(v, typeof v === 'string' ? format : undefined).format(timeFormat);\n      return !dayjs(formattedResult, timeFormat).isValid() && defaultTime[i] ? defaultTime[i] : formattedResult;\n    }\n    return calcFormatTime(defaultTime[i], timeFormat);\n  });\n\n  result = result.length ? result : defaultTime.map((t) => calcFormatTime(t, timeFormat));\n  // value是数组就输出数组，不是数组就输出第一个即可\n  return Array.isArray(value) ? result : result?.[0];\n}\n\n// 根据不同 mode 给出格式化默认值\nexport function getDefaultFormat({\n  mode = 'date',\n  format,\n  valueType,\n  enableTimePicker,\n}: {\n  mode?: string;\n  format?: string;\n  valueType?: string;\n  enableTimePicker?: EnableTimePickerType;\n}) {\n  if (mode === 'year') {\n    return {\n      format: format || 'YYYY',\n      valueType: valueType || format || 'YYYY',\n      timeFormat: TIME_FORMAT,\n    };\n  }\n  if (mode === 'month') {\n    return {\n      format: format || 'YYYY-MM',\n      valueType: valueType || format || 'YYYY-MM',\n      timeFormat: TIME_FORMAT,\n    };\n  }\n  if (mode === 'quarter') {\n    return {\n      format: format || 'YYYY-[Q]Q',\n      valueType: valueType || format || 'YYYY-[Q]Q',\n      timeFormat: TIME_FORMAT,\n    };\n  }\n  if (mode === 'week') {\n    return {\n      format: format || 'gggg-wo',\n      valueType: valueType || format || 'gggg-wo',\n      timeFormat: TIME_FORMAT,\n    };\n  }\n  if (mode === 'date') {\n    return {\n      format: format || `YYYY-MM-DD${enableTimePicker ? ' HH:mm:ss' : ''}`,\n      valueType: valueType || format || `YYYY-MM-DD${enableTimePicker ? ' HH:mm:ss' : ''}`,\n      timeFormat: extractTimeFormat(format || `YYYY-MM-DD${enableTimePicker ? ' HH:mm:ss' : ''}`) || TIME_FORMAT,\n    };\n  }\n  log.error('DatePicker', `Invalid mode: ${mode}`);\n  return {};\n}\n\n// 初始化面板年份月份\nexport function initYearMonthTime({\n  value,\n  mode = 'date',\n  format,\n  timeFormat = 'HH:mm:ss',\n  enableTimePicker,\n}: {\n  value: Array<any>;\n  mode: string;\n  format: string;\n  timeFormat?: string;\n  enableTimePicker?: EnableTimePickerType;\n}) {\n  const defaultYearMonthTime = {\n    year: [dayjs().year(), dayjs().year()],\n    month: [dayjs().month(), dayjs().month()],\n    time: [dayjs().format(timeFormat), dayjs().format(timeFormat)],\n  };\n  if (mode === 'year') {\n    defaultYearMonthTime.year[1] += 10;\n  } else if (mode === 'month' || mode === 'quarter') {\n    defaultYearMonthTime.year[1] += 1;\n  } else if (\n    (mode === 'date' || mode === 'week') &&\n    (!enableTimePicker || (isObject(enableTimePicker) && enableTimePicker?.mode === 'switch'))\n  ) {\n    // 切换至下一年\n    if (defaultYearMonthTime.month[0] === 11) {\n      defaultYearMonthTime.year[1] += 1;\n      defaultYearMonthTime.month[1] = 0;\n    } else {\n      defaultYearMonthTime.month[1] += 1;\n    }\n  }\n\n  if (!value || !Array.isArray(value) || !value.length) {\n    return defaultYearMonthTime;\n  }\n\n  return {\n    year: value.map((v) => parseToDayjs(v, format).year()),\n    month: value.map((v) => parseToDayjs(v, format).month()),\n    time: value.map((v) => parseToDayjs(v, format).format(timeFormat)),\n  };\n}\n"],"names":["e","n","module","exports","define","amd","globalThis","self","dayjs_plugin_isoWeeksInYear","this","prototype","isoWeeksInYear","isLeapYear","endOf","day","t","dayjs_plugin_isLeapYear","$y","dayjs","extend","customParseFormat","TIME_FORMAT","extractTimeFormat","dateFormat","replace","trim","parseToDayjs","value","format","timeOfDay","dayjsLocale","defaultTime","dateText","test","isString","locale","yearStr","split","weekStr","weekFormatStr","firstWeek","startOf","add","weekCounts","i","nextWeek","subtract","parts","map","p","Number","hour","minute","second","quarterStr","quarterFormatStr","firstQuarter","nextQuarter","result","isValid","log","error","concat","timeFormatFromFormat","withTime","formatRange","_ref","newDate","targetFormat","autoSwap","Array","isArray","dayjsDateList","d","toDate","getTime","some","r","da","formatSingle","_ref2","dayJsDate","isValidDate","every","v","formatDate","_ref3","_ref3$dayjsLocale","singleDefaultTime","calcFormatTime","time","timeFormat","timeArr","timeFormatArr","slice","length","join","formatTime","_result","formattedResult","getDefaultFormat","_ref4","_ref4$mode","mode","valueType","enableTimePicker","initYearMonthTime","_ref5","_ref5$mode","_ref5$timeFormat","defaultYearMonthTime","year","month","isObject"],"mappings":"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"}