hongluan-ui
Version:
Hongluan Component Library for Vue 3
1 lines • 2.57 kB
Source Map (JSON)
{"version":3,"file":"date-table.mjs","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"{\n 'calendar-table': true,\n 'is-range': isInRange\n }\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n 'calendar-table-row': true,\n 'calendar-table-row-hide-border': index === 0 && hideHeader\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div class=\"calendar-day\">\n <slot\n name=\"date-cell\"\n :data=\"getSlotData(cell)\"\n >\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { dateTableEmits, dateTableProps } from './date-table'\nimport { useDateTable } from './use-date-table'\nimport type { CalendarDateCell } from './date-table'\n\ndefineOptions({\n name: 'DateTable',\n})\n\nconst props = defineProps(dateTableProps)\nconst emit = defineEmits(dateTableEmits)\n\nconst {\n isInRange,\n now,\n rows,\n weekDays,\n getFormattedDate,\n handlePickDay,\n getSlotData,\n} = useDateTable(props, emit)\n\nconst getCellClass = ({ text, type }: CalendarDateCell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n}\n\ndefineExpose({\n /** @description toggle date panel */\n getFormattedDate,\n})\n</script>\n"],"names":[],"mappings":";;;;oCA8Cc;AAAA,EACZ,MAAM;AACR;;;;;;;AAKA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,aAAa,OAAO,IAAI;AAE5B,UAAM,eAAe,CAAC,EAAE,MAAM,WAA6B;AACzD,YAAM,UAAoB,CAAC,IAAI;AAC/B,UAAI,SAAS,WAAW;AACtB,cAAM,OAAO,iBAAiB,MAAM,IAAI;AACxC,YAAI,KAAK,OAAO,MAAM,aAAa,KAAK,GAAG;AACzC,kBAAQ,KAAK,aAAa;AAAA;AAE5B,YAAI,KAAK,OAAO,KAAK,KAAK,GAAG;AAC3B,kBAAQ,KAAK,UAAU;AAAA;AACzB;AAEF,aAAO;AAAA;AAGT,WAAa;AAAA,MAEX;AAAA,KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}