element-plus
Version:
A Component Library for Vue 3
1 lines • 2.82 kB
Source Map (JSON)
{"version":3,"file":"date-table.mjs","sources":["../../../../../../packages/components/calendar/src/date-table.ts"],"sourcesContent":["import { buildProps, definePropType, isObject } from '@element-plus/utils'\nimport { rangeArr } from '@element-plus/components/time-picker'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport type CalendarDateCellType = 'next' | 'prev' | 'current'\nexport type CalendarDateCell = {\n text: number\n type: CalendarDateCellType\n}\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nexport const toNestedArr = (days: CalendarDateCell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport const dateTableProps = buildProps({\n selectedDay: {\n type: definePropType<Dayjs>(Object),\n },\n range: {\n type: definePropType<[Dayjs, Dayjs]>(Array),\n },\n date: {\n type: definePropType<Dayjs>(Object),\n required: true,\n },\n hideHeader: {\n type: Boolean,\n },\n} as const)\nexport type DateTableProps = ExtractPropTypes<typeof dateTableProps>\nexport type DateTablePropsPublic = ExtractPublicPropTypes<typeof dateTableProps>\n\nexport const dateTableEmits = {\n pick: (value: Dayjs) => isObject(value),\n}\nexport type DateTableEmits = typeof dateTableEmits\n"],"names":[],"mappings":";;;;AAYa,MAAA,oBAAA,GAAuB,CAAC,IAAA,EAAa,KAAkB,KAAA;AAClE,EAAM,MAAA,OAAA,GAAU,KAAK,QAAS,CAAA,CAAA,EAAG,OAAO,CAAE,CAAA,KAAA,CAAM,OAAO,CAAA,CAAE,IAAK,EAAA,CAAA;AAC9D,EAAO,OAAA,QAAA,CAAS,KAAK,CAAA,CAAE,GAAI,CAAA,CAAC,GAAG,KAAU,KAAA,OAAA,IAAW,KAAQ,GAAA,KAAA,GAAQ,CAAE,CAAA,CAAA,CAAA;AACxE,EAAA;AAEa,MAAA,YAAA,GAAe,CAAC,IAAgB,KAAA;AAC3C,EAAM,MAAA,IAAA,GAAO,KAAK,WAAY,EAAA,CAAA;AAC9B,EAAO,OAAA,QAAA,CAAS,IAAI,CAAE,CAAA,GAAA,CAAI,CAAC,CAAG,EAAA,KAAA,KAAU,QAAQ,CAAC,CAAA,CAAA;AACnD,EAAA;AAEa,MAAA,WAAA,GAAc,CAAC,IAAA,KAC1B,QAAS,CAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAE,GAAI,CAAA,CAAC,KAAU,KAAA;AACvC,EAAA,MAAM,QAAQ,KAAQ,GAAA,CAAA,CAAA;AACtB,EAAA,OAAO,IAAK,CAAA,KAAA,CAAM,KAAO,EAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AACpC,CAAC,EAAA;AAEI,MAAM,iBAAiB,UAAW,CAAA;AAAA,EACvC,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAsB,MAAM,CAAA;AAAA,GACpC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,GAC5C;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAsB,MAAM,CAAA;AAAA,IAClC,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAU,EAAA;AAIH,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,CAAC,KAAiB,KAAA,QAAA,CAAS,KAAK,CAAA;AACxC;;;;"}