import { defineComponent, useCssVars, unref, inject, watch, onBeforeUnmount, reactive, toRefs, openBlock, createElementBlock, normalizeClass } from 'vue';
import '../../../hooks/index.mjs';
import '../../../tokens/index.mjs';
import { popperArrowProps } from './arrow.mjs';
import './arrow.vue_vue_type_style_index_0_scoped_true_lang.mjs';
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
import { POPPER_CONTENT_INJECTION_KEY } from '../../../tokens/popper.mjs';

const __default__ = defineComponent({
  name: "ElPopperArrow",
  inheritAttrs: false
});
const _sfc_main = /* @__PURE__ */ defineComponent({
  ...__default__,
  props: popperArrowProps,
  setup(__props, { expose }) {
    const props = __props;
    useCssVars((_ctx) => ({
      "7faf8140-background": unref(background),
      "7faf8140-border": unref(border)
    }));
    const ns = useNamespace("popper");
    const { arrowOffset, arrowRef } = inject(POPPER_CONTENT_INJECTION_KEY, void 0);
    watch(() => props.arrowOffset, (val) => {
      arrowOffset.value = val;
    });
    onBeforeUnmount(() => {
      arrowRef.value = void 0;
    });
    const customStyle = inject("$custom-style-filter", reactive({}));
    const { border, background } = toRefs(customStyle);
    expose({
      arrowRef
    });
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock("span", {
        ref_key: "arrowRef",
        ref: arrowRef,
        class: normalizeClass([unref(ns).e("arrow"), unref(background) && "custom-bg", unref(border) && "custom-br"]),
        "data-popper-arrow": ""
      }, null, 2);
    };
  }
});
var ElPopperArrow = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7faf8140"], ["__file", "/Users/st/Desktop/vue/nxx-ui/packages/components/popper/src/arrow.vue"]]);

export { ElPopperArrow as default };
//# sourceMappingURL=arrow2.mjs.map
