'use strict';

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

var vue = require('vue');
var classNames = require('../_util/classNames.js');
var index = require('../_util/vue-types/index.js');
var context = require('./context.js');
var Item = require('./Item.js');

var RawItem = /* @__PURE__ */ vue.defineComponent({
  compatConfig: {
    MODE: 3
  },
  name: "RawItem",
  inheritAttrs: false,
  props: {
    component: index.default.any,
    title: index.default.any,
    id: String,
    onMouseenter: {
      type: Function
    },
    onMouseleave: {
      type: Function
    },
    onClick: {
      type: Function
    },
    onKeydown: {
      type: Function
    },
    onFocus: {
      type: Function
    },
    role: String,
    tabindex: Number
  },
  setup(props, {
    slots,
    attrs
  }) {
    const context$1 = context.useInjectOverflowContext();
    return () => {
      if (!context$1.value) {
        const {
          component: Component = "div",
          ...restProps2
        } = props;
        return vue.createVNode(Component, vue.mergeProps(restProps2, attrs), {
          default: () => {
            var _a;
            return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
          }
        });
      }
      const {
        className: contextClassName,
        ...restContext
      } = context$1.value;
      const {
        class: className,
        ...restProps
      } = attrs;
      return vue.createVNode(context.OverflowContextProvider, {
        "value": null
      }, {
        default: () => [vue.createVNode(Item.default, vue.mergeProps({
          "class": classNames.default(contextClassName, className)
        }, restContext, restProps, props), slots)]
      });
    };
  }
});

exports.default = RawItem;
//# sourceMappingURL=RawItem.js.map
