import { defineComponent as s, computed as p, createElementBlock as b, openBlock as f, Fragment as v, withDirectives as c, createVNode as t, unref as l, withCtx as r, renderSlot as V } from "vue";
import { T as B, V as y, v as w, w as g, x as h } from "./index-CVEvAPNs.js";
const k = /* @__PURE__ */ s({
  __name: "_image-formatter",
  props: {
    modelValue: {},
    icon: { type: [Object, Function] },
    disabled: { type: Boolean },
    absolute: { type: Boolean },
    round: { type: Boolean },
    float: {},
    removeable: { type: Boolean }
  },
  emits: ["update:modelValue", "remove"],
  setup(i, { emit: m }) {
    const u = i, d = m, a = p({
      get: () => u.modelValue,
      set: (e) => d("update:modelValue", e)
    });
    return (e, o) => (f(), b(v, null, [
      c(t(B, {
        thumbnail: a.value,
        "placeholder-icon": l(y),
        disabled: e.disabled,
        cursor: !e.disabled,
        absolute: e.absolute,
        round: e.round,
        float: e.float
      }, null, 8, ["thumbnail", "placeholder-icon", "disabled", "cursor", "absolute", "round", "float"]), [
        [l(w)]
      ]),
      t(l(g), { arrow: "" }, {
        default: r(() => [
          t(l(h), {
            label: "Bild formatieren",
            icon: e.icon,
            modelValue: a.value,
            "onUpdate:modelValue": o[0] || (o[0] = (n) => a.value = n),
            removeable: e.removeable,
            onRemove: o[1] || (o[1] = (n) => e.$emit("remove"))
          }, {
            default: r(() => [
              V(e.$slots, "default")
            ]),
            _: 3
          }, 8, ["icon", "modelValue", "removeable"])
        ]),
        _: 3
      })
    ], 64));
  }
});
export {
  k as _
};
