"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const event = require("../../../constants/event.js");
const shared_esmBundler = require("../../../../../@vue/shared/dist/shared.esm-bundler.js");
const runtime = require("../../../utils/vue/props/runtime.js");
const isValidRange = (range) => shared_esmBundler.isArray(range) && range.length === 2 && range.every((item) => shared_esmBundler.isDate(item));
const calendarProps = runtime.buildProps({
  modelValue: { type: Date },
  range: {
    type: runtime.definePropType(Array),
    validator: isValidRange
  },
  controllerType: {
    type: String,
    values: ["button", "select"],
    default: "button"
  },
  formatter: { type: runtime.definePropType(Function) }
});
const calendarEmits = {
  [event.UPDATE_MODEL_EVENT]: (value) => shared_esmBundler.isDate(value),
  [event.INPUT_EVENT]: (value) => shared_esmBundler.isDate(value)
};
exports.calendarEmits = calendarEmits;
exports.calendarProps = calendarProps;
