{"version":3,"file":"date-table2.mjs","sources":["../../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n  <table\n    :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n    cellspacing=\"0\"\n    cellpadding=\"0\"\n  >\n    <thead v-if=\"!hideHeader\">\n      <tr>\n        <th v-for=\"day in weekDays\" :key=\"day\" scope=\"col\">{{ day }}</th>\n      </tr>\n    </thead>\n\n    <tbody>\n      <tr\n        v-for=\"(row, index) in rows\"\n        :key=\"index\"\n        :class=\"{\n          [nsTable.e('row')]: true,\n          [nsTable.em('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=\"nsDay.b()\">\n            <slot name=\"date-cell\" :data=\"getSlotData(cell)\">\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 { useNamespace } from '@hd-front-end/hooks'\nimport { dateTableEmits, dateTableProps } from './date-table'\nimport { useDateTable } from './use-date-table'\n\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 nsTable = useNamespace('calendar-table')\nconst nsDay = useNamespace('calendar-day')\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(nsDay.is('selected'))\n    }\n    if (date.isSame(now, 'day')) {\n      classes.push(nsDay.is('today'))\n    }\n  }\n  return classes\n}\n\ndefineExpose({\n  /** @description toggle date panel */\n  getFormattedDate,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","hideHeader","_createElementVNode","_Fragment","_renderList","_renderSlot","_toDisplayString"],"mappings":"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"}