import { UPDATE_MODEL_EVENT } from '../_util/constants';

/**
 * Calendar 显示模式
 *
 * month - 月历
 * date - 日历
 */

const calendarProps = {
  /** 当前高亮标记的日期 */
  modelValue: {
    type: Number,
    default: () => Date.now()
  },
  /** 显示模式 */
  mode: {
    type: String,
    default: 'date',
    validator: value => ['date', 'month'].includes(value)
  },
  /** 是否展示分割线 */
  splitLine: {
    type: Boolean,
    default: true
  },
  /** 组件高度 */
  height: {
    type: [String, Number]
  },
  /** 快捷选项 */
  shortcuts: {
    type: Object,
    default: () => []
  }
};

// 组件暴露给外部的 props 类型

// 组件内部 setup 使用的 props 类型

const CalendarEvent = {
  UPDATE_MODEL: UPDATE_MODEL_EVENT,
  UPDATE_MODE: 'update:mode',
  CELL_CLICK: 'cellClick'
};

export { CalendarEvent, calendarProps };
