import "../../../../node_modules/.pnpm/vue@3.3.4/node_modules/vue/dist/vue.runtime.esm-bundler.mjs";
import "../../../../node_modules/.pnpm/vue3-lazyload@0.2.5-beta_a6dezdz3je235ci4e3tu4rayna/node_modules/vue3-lazyload/dist/vue3-lazyload.esm.mjs";
import "../../../../node_modules/.pnpm/screenfull@6.0.2/node_modules/screenfull/index.mjs";
import "../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.mjs";
import "../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.mjs";
import "../../../../node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.mjs";
import "../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseClone.mjs";
import "../../../../node_modules/.pnpm/crypto-js@4.1.1/node_modules/crypto-js/index.mjs";
import "../../../enums/pageEnum.mjs";
import "../../../router/index.mjs";
import "../../../store/modules/designStore/designStore.mjs";
import "../../../settings/designSetting.mjs";
import "../../../components/GoLoading/index.mjs";
import "../../../components/GoSkeleton/index.vue.mjs";
import { icon } from "../../../plugins/icon.mjs";
import { defineComponent, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, createElementVNode as createBaseVNode, renderSlot, withDirectives, createCommentVNode, createBlock } from "../../../../node_modules/.pnpm/@vue_runtime-core@3.3.4/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.mjs";
import { toDisplayString, normalizeClass } from "../../../../node_modules/.pnpm/@vue_shared@3.3.4/node_modules/@vue/shared/dist/shared.esm-bundler.mjs";
import { unref } from "../../../../node_modules/.pnpm/@vue_reactivity@3.3.4/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs";
import { vShow } from "../../../../node_modules/.pnpm/@vue_runtime-dom@3.3.4/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.mjs";
const _hoisted_1 = {
  key: 0,
  class: "top go-mt-0 go-flex-no-wrap"
};
const _hoisted_2 = { class: "mt-1" };
const _hoisted_3 = {
  key: 1,
  class: "bottom go-mt-0"
};
const _hoisted_4 = { class: "aside" };
const _sfc_main = /* @__PURE__ */ defineComponent({
  __name: "index",
  props: {
    title: String,
    showTop: {
      type: Boolean,
      default: true
    },
    showBottom: {
      type: Boolean,
      default: false
    },
    flex: {
      type: Boolean,
      default: false
    },
    // back
    backIcon: {
      type: Boolean,
      default: true
    },
    // 背景深度
    depth: {
      type: Number,
      default: 1
    },
    // x 轴滚动
    xScroll: {
      type: Boolean,
      default: false
    },
    disabledScroll: {
      type: Boolean,
      default: false
    }
  },
  emits: ["back"],
  setup(__props, { emit }) {
    const { ChevronBackOutlineIcon } = icon.ionicons5;
    const backHandle = () => {
      emit("back");
    };
    return (_ctx, _cache) => {
      const _component_n_text = resolveComponent("n-text");
      const _component_n_ellipsis = resolveComponent("n-ellipsis");
      const _component_n_space = resolveComponent("n-space");
      const _component_n_icon = resolveComponent("n-icon");
      const _component_n_scrollbar = resolveComponent("n-scrollbar");
      return openBlock(), createElementBlock("div", {
        class: normalizeClass(["go-content-box", [`bg-depth${__props.depth}`, __props.flex && "flex"]])
      }, [
        __props.showTop ? (openBlock(), createElementBlock("div", _hoisted_1, [
          createVNode(_component_n_space, {
            class: "go-flex-no-wrap",
            size: 5
          }, {
            default: withCtx(() => [
              createVNode(_component_n_ellipsis, null, {
                default: withCtx(() => [
                  createVNode(_component_n_text, null, {
                    default: withCtx(() => [
                      createTextVNode(toDisplayString(__props.title), 1)
                    ]),
                    _: 1
                  })
                ]),
                _: 1
              }),
              createBaseVNode("div", _hoisted_2, [
                renderSlot(_ctx.$slots, "icon", {}, void 0, true)
              ])
            ]),
            _: 3
          }),
          createVNode(_component_n_space, {
            class: "go-flex-no-wrap",
            align: "center",
            style: { "gap": "4px" }
          }, {
            default: withCtx(() => [
              renderSlot(_ctx.$slots, "top-right", {}, void 0, true),
              withDirectives(createVNode(_component_n_icon, {
                size: "20",
                class: "go-cursor-pointer go-d-block",
                onClick: backHandle
              }, {
                default: withCtx(() => [
                  createVNode(unref(ChevronBackOutlineIcon))
                ]),
                _: 1
              }, 512), [
                [vShow, __props.backIcon]
              ])
            ]),
            _: 3
          })
        ])) : createCommentVNode("", true),
        createBaseVNode("div", {
          class: normalizeClass(["content", {
            "content-height-show-top-bottom": __props.showBottom || __props.showTop,
            "content-height-show-both": __props.showBottom && __props.showTop
          }])
        }, [
          __props.disabledScroll ? renderSlot(_ctx.$slots, "default", { key: 0 }, void 0, true) : __props.xScroll ? (openBlock(), createBlock(_component_n_scrollbar, {
            key: 1,
            "x-scrollable": ""
          }, {
            default: withCtx(() => [
              createVNode(_component_n_scrollbar, null, {
                default: withCtx(() => [
                  renderSlot(_ctx.$slots, "default", {}, void 0, true)
                ]),
                _: 3
              })
            ]),
            _: 3
          })) : (openBlock(), createBlock(_component_n_scrollbar, { key: 2 }, {
            default: withCtx(() => [
              renderSlot(_ctx.$slots, "default", {}, void 0, true)
            ]),
            _: 3
          }))
        ], 2),
        __props.showBottom ? (openBlock(), createElementBlock("div", _hoisted_3, [
          renderSlot(_ctx.$slots, "bottom", {}, void 0, true)
        ])) : createCommentVNode("", true),
        createBaseVNode("div", _hoisted_4, [
          renderSlot(_ctx.$slots, "aside", {}, void 0, true)
        ])
      ], 2);
    };
  }
});
export {
  _sfc_main as default
};
