<template>
  <component :is="getInputComponent()"
             v-bind="p"
             :class="cssClass"
             :style="cssStyle">
    <slot v-for="slot in slotNames"
          v-if="slot !== 'default'"
          :slot="slot"
          :name="slot"/>
    <slot/>
  </component>
</template>
<script>
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import { computed, defineComponent } from 'vue';
export default defineComponent({
  name: 'BaseComponent',
  setup: function setup(props, _ref) {
    var emit = _ref.emit,
      attrs = _ref.attrs,
      slots = _ref.slots;
    var cssClass = computed(function () {
      return {};
    });
    var cssStyle = computed(function () {
      return {};
    });
    var p = computed(function () {
      return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, getSlotProps()), attrs), props), getProps());
    });
    var slotNames = computed(function () {
      return Object.keys(slots);
    });
    var getInputComponent = function getInputComponent() {
      return {};
    };
    var getProps = function getProps() {
      return {};
    };
    var getSlotProps = function getSlotProps() {
      var props = {};
      Object.keys(slots).forEach(function (slotKey) {
        if (slotKey !== 'default') {
          props[slotKey] = slots[slotKey];
        }
      });
      return props;
    };
    return {
      cssClass: cssClass,
      cssStyle: cssStyle,
      p: p,
      slotNames: slotNames,
      getInputComponent: getInputComponent,
      getProps: getProps,
      getSlotProps: getSlotProps
    };
  }
});
</script>

