// @ts-nocheck

/* eslint-disable */
// Mixins
import { factory as GroupableFactory } from "../../mixins/groupable.mjs"; // Utilities

import mixins from "../../util/mixins.mjs";
import { consoleWarn } from "../../util/console.mjs"; // Types

import Vue from 'vue';

/* @vue/component */
export const BaseItem = Vue.extend({
  props: {
    activeClass: String,
    value: {
      required: false
    }
  },
  data: () => ({
    isActive: false
  }),
  methods: {
    toggle() {
      this.isActive = !this.isActive;
    }

  },

  render() {
    if (!this.$scopedSlots.default) {
      consoleWarn('v-item is missing a default scopedSlot', this);
      return null;
    }

    let element;
    /* istanbul ignore else */

    if (this.$scopedSlots.default) {
      element = this.$scopedSlots.default({
        active: this.isActive,
        toggle: this.toggle
      });
    }

    if (Array.isArray(element) && element.length === 1) {
      element = element[0];
    }

    if (!element || Array.isArray(element) || !element.tag) {
      consoleWarn('v-item should only contain a single element', this);
      return element;
    }

    element.data = this._b(element.data || {}, element.tag, {
      class: {
        [this.activeClass]: this.isActive
      }
    });
    return element;
  }

});
export default mixins(BaseItem, GroupableFactory('itemGroup', 'v-item', 'v-item-group')).extend({
  name: 'v-item'
});
//# sourceMappingURL=VItem.mjs.map