{"version":3,"file":"use-month-rows.mjs","sources":["../../../../../../../packages/components/date-picker/src/hooks/use-month-rows.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport { genCell, getYMD, isSameMonth, dateHasInRange } from '../utils'\nimport { genMatrix } from '../../../../shared/utils'\nimport type { DateCell } from '../types'\n\nconst MONTHS = [\n  '一月',\n  '二月',\n  '三月',\n  '四月',\n  '五月',\n  '六月',\n  '七月',\n  '八月',\n  '九月',\n  '十月',\n  '十一月',\n  '十二月'\n]\n\nexport const useMonthRows = ({\n  date,\n  dateModel,\n  dateRange,\n  disabledDate\n}: {\n  date: Ref<Date | undefined>\n  dateModel: Ref<Date[]>\n  dateRange?: Ref<Date[]>\n  disabledDate?: Ref<Function | undefined>\n}) => {\n  const rows = computed(() => {\n    const cells: DateCell[] = []\n    const ROW = 4\n    const [y] = getYMD(date.value)\n    for (let i = 0; i < 12; i++) {\n      const dateEffect = new Date(y, i, 1)\n      const cell = genCell({\n        value: i,\n        label: MONTHS[i],\n        date: dateEffect,\n        isCur: true,\n        isNow: isSameMonth(new Date(), dateEffect),\n        isSelect: dateModel.value.some((d) => isSameMonth(d, dateEffect)),\n        isDisabled: disabledDate?.value?.(new Date(dateEffect)),\n        isRange: dateRange?.value.length\n          ? dateHasInRange(dateRange!.value, dateEffect, 'range')\n          : false,\n        isRangeStart: dateRange?.value.length\n          ? dateHasInRange(dateRange!.value, dateEffect, 'start')\n          : false,\n        isRangeEnd: dateRange?.value.length\n          ? dateHasInRange(dateRange!.value, dateEffect, 'end')\n          : false\n      })\n      cells.push(cell)\n    }\n\n    return genMatrix(cells, ROW)\n  })\n\n  return {\n    rows\n  }\n}\n"],"names":[],"mappings":";;;;AAMA,MAAM,MAAS,GAAA;AAAA,EACb,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,oBAAA;AAAA,EACA,oBAAA;AACF,CAAA,CAAA;AAEO,MAAM,eAAe,CAAC;AAAA,EAC3B,IAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AACF,CAKM,KAAA;AACJ,EAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAhC9B,IAAA,IAAA,EAAA,CAAA;AAiCI,IAAA,MAAM,QAAoB,EAAC,CAAA;AAC3B,IAAA,MAAM,GAAM,GAAA,CAAA,CAAA;AACZ,IAAA,MAAM,CAAC,CAAC,CAAI,GAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAC7B,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,EAAA,EAAI,CAAK,EAAA,EAAA;AAC3B,MAAA,MAAM,UAAa,GAAA,IAAI,IAAK,CAAA,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AACnC,MAAA,MAAM,OAAO,OAAQ,CAAA;AAAA,QACnB,KAAO,EAAA,CAAA;AAAA,QACP,KAAA,EAAO,OAAO,CAAC,CAAA;AAAA,QACf,IAAM,EAAA,UAAA;AAAA,QACN,KAAO,EAAA,IAAA;AAAA,QACP,KAAO,EAAA,WAAA,iBAAgB,IAAA,IAAA,IAAQ,UAAU,CAAA;AAAA,QACzC,QAAA,EAAU,UAAU,KAAM,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,WAAA,CAAY,CAAG,EAAA,UAAU,CAAC,CAAA;AAAA,QAChE,aAAY,EAAc,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,KAAA,KAAd,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,YAAA,EAAA,IAAI,KAAK,UAAU,CAAA,CAAA;AAAA,QACrD,OAAA,EAAA,CAAS,uCAAW,KAAM,CAAA,MAAA,IACtB,eAAe,SAAW,CAAA,KAAA,EAAO,UAAY,EAAA,OAAO,CACpD,GAAA,KAAA;AAAA,QACJ,YAAA,EAAA,CAAc,uCAAW,KAAM,CAAA,MAAA,IAC3B,eAAe,SAAW,CAAA,KAAA,EAAO,UAAY,EAAA,OAAO,CACpD,GAAA,KAAA;AAAA,QACJ,UAAA,EAAA,CAAY,uCAAW,KAAM,CAAA,MAAA,IACzB,eAAe,SAAW,CAAA,KAAA,EAAO,UAAY,EAAA,KAAK,CAClD,GAAA,KAAA;AAAA,OACL,CAAA,CAAA;AACD,MAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,KACjB;AAEA,IAAO,OAAA,SAAA,CAAU,OAAO,GAAG,CAAA,CAAA;AAAA,GAC5B,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,GACF,CAAA;AACF;;;;"}