'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var vue = require('vue');
require('../../../composables/index.js');
var cesiumProps = require('../../../utils/cesium-props.js');
var util = require('../../../utils/util.js');
var index = require('../../../composables/use-primitives/index.js');

var PrimitiveParticle = vue.defineComponent({
  name: "VcPrimitiveParticle",
  props: {
    ...cesiumProps.show,
    updateCallback: Function,
    emitter: Object,
    ...cesiumProps.modelMatrix,
    emitterModelMatrix: Object,
    emissionRate: Number,
    bursts: Array,
    loop: {
      type: Boolean,
      default: true
    },
    scale: {
      type: Number,
      default: 1
    },
    startScale: Number,
    endScale: Number,
    ...cesiumProps.color,
    ...cesiumProps.startColor,
    ...cesiumProps.endColor,
    ...cesiumProps.image,
    ...cesiumProps.imageSize,
    ...cesiumProps.minimumImageSize,
    ...cesiumProps.maximumImageSize,
    ...cesiumProps.sizeInMeters,
    speed: Number,
    minimumSpeed: Number,
    maximumSpeed: Number,
    lifetime: Number,
    particleLife: {
      type: Number,
      default: 5
    },
    minimumParticleLife: Number,
    maximumParticleLife: Number,
    mass: {
      type: Number,
      default: 1
    },
    minimumMass: Number,
    maximumMass: Number,
    ...cesiumProps.enableMouseEvent
  },
  emits: ["beforeLoad", "ready", "destroyed", "readyPromise"],
  setup(props, ctx) {
    const instance = vue.getCurrentInstance();
    instance.cesiumClass = "ParticleSystem";
    instance.cesiumEvents = ["complete"];
    index["default"](props, ctx, instance);
    return () => {
      var _a;
      return vue.createCommentVNode(util.kebabCase(((_a = instance.proxy) == null ? void 0 : _a.$options.name) || ""));
    };
  }
});

exports["default"] = PrimitiveParticle;
//# sourceMappingURL=index.js.map
