import { createBlock as u, openBlock as l, Transition as d, withCtx as i, withDirectives as f, createElementVNode as r, createVNode as c, TransitionGroup as m, createElementBlock as n, createCommentVNode as a, normalizeStyle as p, renderSlot as k, vShow as b } from "vue";
import { _export_sfc as y } from "./_plugin-vue_export-helper-DueaC3du.js";
const v = { class: "fixed w-full h-full top-0 left-0 z-500 flex flex-col items-end" }, B = {
  __name: "UiPanel",
  props: {
    open: { type: Boolean, default: !1 },
    offset: { type: String, default: "" },
    closeButton: { type: Boolean, default: !0 },
    back: { type: Boolean, default: !0 }
  },
  emits: ["close"],
  setup(e, { emit: g }) {
    return (o, t) => (l(), u(d, { name: "fade" }, {
      default: i(() => [
        f(r("div", v, [
          c(m, { name: "slide" }, {
            default: i(() => [
              e.open && e.back ? (l(), n("div", {
                class: "bg-dark-200 bg-opacity-30 w-full h-full absolute z-2 cursor-pointer backdrop-filter backdrop-blur-sm",
                key: "bg",
                onClick: t[0] || (t[0] = (s) => o.$emit("close"))
              })) : a("", !0),
              e.open ? (l(), n("div", {
                class: "layer mr-2",
                key: "layer",
                style: p({ top: e.offset || "8vh" })
              }, [
                e.closeButton ? (l(), n("button", {
                  key: 0,
                  class: "button fixed right-4 top-4",
                  onClick: t[1] || (t[1] = (s) => o.$emit("close"))
                }, t[2] || (t[2] = [
                  r("div", { class: "i-la-times" }, null, -1)
                ]))) : a("", !0),
                k(o.$slots, "default", {}, void 0, !0)
              ], 4)) : a("", !0)
            ]),
            _: 3
          })
        ], 512), [
          [b, e.open]
        ])
      ]),
      _: 3
    }));
  }
}, $ = /* @__PURE__ */ y(B, [["__scopeId", "data-v-84b63989"]]);
export {
  $ as default
};
//# sourceMappingURL=UiPanel-BJ3fgKkk.js.map
