"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const event = require("../../../constants/event.js");
const types = require("../../../utils/types.js");
const runtime = require("../../../utils/vue/props/runtime.js");
const typescript = require("../../../utils/typescript.js");
const shared_esmBundler = require("../../../../../@vue/shared/dist/shared.esm-bundler.js");
const emitChangeFn = (value) => types.isNumber(value) || shared_esmBundler.isString(value) || shared_esmBundler.isArray(value);
const collapseProps = runtime.buildProps({
  accordion: Boolean,
  modelValue: {
    type: runtime.definePropType([
      Array,
      String,
      Number
    ]),
    default: () => typescript.mutable([])
  },
  expandIconPosition: {
    type: runtime.definePropType([String]),
    default: "right"
  },
  beforeCollapse: { type: runtime.definePropType(Function) }
});
const collapseEmits = {
  [event.UPDATE_MODEL_EVENT]: emitChangeFn,
  [event.CHANGE_EVENT]: emitChangeFn
};
exports.collapseEmits = collapseEmits;
exports.collapseProps = collapseProps;
exports.emitChangeFn = emitChangeFn;
