import { _ as __nuxt_component_0 } from './nuxt-link-DwrCF35s.mjs'; import { defineComponent, resolveComponent, withCtx, renderSlot, createVNode, unref, ref, h, watch, resolveDynamicComponent, mergeProps, useSSRContext } from 'vue'; import { ssrRenderComponent, ssrRenderSlot, ssrRenderStyle, ssrRenderVNode } from 'vue/server-renderer'; import _sfc_main$3 from './NavItems-BE_iATXh.mjs'; import { l as logo } from './logo-C2NYPRdy.mjs'; import { PerfectScrollbar } from 'vue3-perfect-scrollbar'; import { _ as _export_sfc, s as VIcon, a4 as useRoute$1, b as useDisplay } from './server.mjs'; import { u as useToggle, s as syncRef } from './index-BkwMfZcG.mjs'; import Footer from './Footer-BdPuYOuS.mjs'; import _sfc_main$4 from './NavbarThemeSwitcher-B8gKKvoR.mjs'; import _sfc_main$5 from './UserProfile-D3XrMU_d.mjs'; import { V as VSpacer } from './VSpacer-CWwQJ4s3.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'devalue'; import '@unhead/ssr'; import 'unhead'; import '@unhead/shared'; import 'pinia'; import 'vue-router'; import './VTooltip-D5G-PTk1.mjs'; import './avatar-1-BLwzgS8N.mjs'; import './VList-C7tHrCmP.mjs'; import './index-BNHdF426.mjs'; import './ssrBoot-BtvJZs44.mjs'; import './VDivider-C0e0b_O5.mjs'; import './VListItemAction-DeAgZ_Zv.mjs'; const _sfc_main$2 = /* @__PURE__ */ defineComponent({ __name: "VerticalNav", __ssrInlineRender: true, props: { tag: { default: "aside" }, isOverlayNavActive: { type: Boolean }, toggleIsOverlayNavActive: {} }, setup(__props) { const props = __props; const { mdAndDown } = useDisplay(); const refNav = ref(); const route = useRoute$1(); watch( () => route.path, () => { props.toggleIsOverlayNavActive(false); } ); const isVerticalNavScrolled = ref(false); const updateIsVerticalNavScrolled = (val) => isVerticalNavScrolled.value = val; const handleNavScroll = (evt) => { isVerticalNavScrolled.value = evt.target.scrollTop > 0; }; return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0; ssrRenderVNode(_push, createVNode(resolveDynamicComponent(props.tag), mergeProps({ ref_key: "refNav", ref: refNav, "data-allow-mismatch": "", class: ["layout-vertical-nav", [ { "visible": __props.isOverlayNavActive, "scrolled": unref(isVerticalNavScrolled), "overlay-nav": unref(mdAndDown) } ]] }, _attrs), { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(``); ssrRenderSlot(_ctx.$slots, "before-nav-items", {}, () => { _push2(`
`); }, _push2, _parent2, _scopeId); ssrRenderSlot(_ctx.$slots, "nav-items", { updateIsVerticalNavScrolled }, () => { _push2(ssrRenderComponent(unref(PerfectScrollbar), { tag: "ul", class: "nav-items", options: { wheelPropagation: false }, onPsScrollY: handleNavScroll }, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { ssrRenderSlot(_ctx.$slots, "default", {}, null, _push3, _parent3, _scopeId2); } else { return [ renderSlot(_ctx.$slots, "default", {}, void 0, true) ]; } }), _: 3 }, _parent2, _scopeId)); }, _push2, _parent2, _scopeId); ssrRenderSlot(_ctx.$slots, "after-nav-items", {}, null, _push2, _parent2, _scopeId); } else { return [ createVNode("div", { class: "nav-header" }, [ renderSlot(_ctx.$slots, "nav-header", {}, () => [ createVNode(_component_NuxtLink, { to: "/", class: "app-logo app-title-wrapper" }, { default: withCtx(() => [ createVNode("div", { class: "d-flex", innerHTML: unref(logo) }, null, 8, ["innerHTML"]), createVNode("h1", { class: "leading-normal" }, " sneat ") ]), _: 1 }) ], true) ]), renderSlot(_ctx.$slots, "before-nav-items", {}, () => [ createVNode("div", { class: "vertical-nav-items-shadow" }) ], true), renderSlot(_ctx.$slots, "nav-items", { updateIsVerticalNavScrolled }, () => [ createVNode(unref(PerfectScrollbar), { tag: "ul", class: "nav-items", options: { wheelPropagation: false }, onPsScrollY: handleNavScroll }, { default: withCtx(() => [ renderSlot(_ctx.$slots, "default", {}, void 0, true) ]), _: 3 }) ], true), renderSlot(_ctx.$slots, "after-nav-items", {}, void 0, true) ]; } }), _: 3 }), _parent); }; } }); const _sfc_setup$2 = _sfc_main$2.setup; _sfc_main$2.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("@layouts/components/VerticalNav.vue"); return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; }; const VerticalNav = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-80be9a01"]]); const _sfc_main$1 = defineComponent({ setup(props, { slots }) { const isOverlayNavActive = ref(false); const isLayoutOverlayVisible = ref(false); const toggleIsOverlayNavActive = useToggle(isOverlayNavActive); const route = useRoute$1(); const { mdAndDown } = useDisplay(); syncRef(isOverlayNavActive, isLayoutOverlayVisible); return () => { var _a, _b, _c; const verticalNav = h( VerticalNav, { isOverlayNavActive: isOverlayNavActive.value, toggleIsOverlayNavActive }, { "nav-header": () => { var _a2; return (_a2 = slots["vertical-nav-header"]) == null ? void 0 : _a2.call(slots, { toggleIsOverlayNavActive }); }, "before-nav-items": () => { var _a2; return (_a2 = slots["before-vertical-nav-items"]) == null ? void 0 : _a2.call(slots); }, "default": () => { var _a2; return (_a2 = slots["vertical-nav-content"]) == null ? void 0 : _a2.call(slots); }, "after-nav-items": () => { var _a2; return (_a2 = slots["after-vertical-nav-items"]) == null ? void 0 : _a2.call(slots); } } ); const navbar = h( "header", { class: ["layout-navbar navbar-blur"] }, [ h( "div", { class: "navbar-content-container" }, (_a = slots.navbar) == null ? void 0 : _a.call(slots, { toggleVerticalOverlayNavActive: toggleIsOverlayNavActive }) ) ] ); const main = h( "main", { class: "layout-page-content" }, h("div", { class: "page-content-container" }, (_b = slots.default) == null ? void 0 : _b.call(slots)) ); const footer = h( "footer", { class: "layout-footer" }, [ h( "div", { class: "footer-content-container" }, (_c = slots.footer) == null ? void 0 : _c.call(slots) ) ] ); const layoutOverlay = h( "div", { class: ["layout-overlay", { visible: isLayoutOverlayVisible.value }], onClick: () => { isLayoutOverlayVisible.value = !isLayoutOverlayVisible.value; } } ); return h( "div", { class: [ "layout-wrapper layout-nav-type-vertical layout-navbar-static layout-footer-static layout-content-width-fluid", mdAndDown.value && "layout-overlay-nav", route.meta.layoutWrapperClasses ] }, [ verticalNav, h( "div", { class: "layout-content-wrapper" }, [ navbar, main, footer ] ), layoutOverlay ] ); }; } }); const _sfc_setup$1 = _sfc_main$1.setup; _sfc_main$1.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("@layouts/components/VerticalNavLayout.vue"); return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "DefaultLayoutWithVerticalNav", __ssrInlineRender: true, setup(__props) { return (_ctx, _push, _parent, _attrs) => { const _component_IconBtn = resolveComponent("IconBtn"); const _component_NuxtLink = __nuxt_component_0; _push(ssrRenderComponent(_sfc_main$1, _attrs, { navbar: withCtx(({ toggleVerticalOverlayNavActive }, _push2, _parent2, _scopeId) => { if (_push2) { _push2(`
`); _push2(ssrRenderComponent(_component_IconBtn, { class: "ms-n3 d-lg-none", onClick: ($event) => toggleVerticalOverlayNavActive(true) }, { default: withCtx((_, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(ssrRenderComponent(VIcon, { icon: "bx-menu" }, null, _parent3, _scopeId2)); } else { return [ createVNode(VIcon, { icon: "bx-menu" }) ]; } }), _: 2 }, _parent2, _scopeId)); _push2(`
`); _push2(ssrRenderComponent(_component_IconBtn, null, { default: withCtx((_, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(ssrRenderComponent(VIcon, { icon: "bx-search" }, null, _parent3, _scopeId2)); } else { return [ createVNode(VIcon, { icon: "bx-search" }) ]; } }), _: 2 }, _parent2, _scopeId)); _push2(`Search\u2318K
`); _push2(ssrRenderComponent(VSpacer, null, null, _parent2, _scopeId)); _push2(ssrRenderComponent(_component_IconBtn, { href: "https://github.com/themeselection/sneat-vuetify-nuxtjs-admin-template-free", target: "_blank", rel: "noopener noreferrer" }, { default: withCtx((_, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(ssrRenderComponent(VIcon, { icon: "bxl-github" }, null, _parent3, _scopeId2)); } else { return [ createVNode(VIcon, { icon: "bxl-github" }) ]; } }), _: 2 }, _parent2, _scopeId)); _push2(ssrRenderComponent(_component_IconBtn, null, { default: withCtx((_, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(ssrRenderComponent(VIcon, { icon: "bx-bell" }, null, _parent3, _scopeId2)); } else { return [ createVNode(VIcon, { icon: "bx-bell" }) ]; } }), _: 2 }, _parent2, _scopeId)); _push2(ssrRenderComponent(_sfc_main$4, { class: "me-1" }, null, _parent2, _scopeId)); _push2(ssrRenderComponent(_sfc_main$5, null, null, _parent2, _scopeId)); _push2(`
`); } else { return [ createVNode("div", { class: "d-flex h-100 align-center" }, [ createVNode(_component_IconBtn, { class: "ms-n3 d-lg-none", onClick: ($event) => toggleVerticalOverlayNavActive(true) }, { default: withCtx(() => [ createVNode(VIcon, { icon: "bx-menu" }) ]), _: 1 }, 8, ["onClick"]), createVNode("div", { class: "d-flex align-center cursor-pointer ms-lg-n3", style: { "user-select": "none" } }, [ createVNode(_component_IconBtn, null, { default: withCtx(() => [ createVNode(VIcon, { icon: "bx-search" }) ]), _: 1 }), createVNode("span", { class: "d-none d-md-flex align-center text-disabled ms-2" }, [ createVNode("span", { class: "me-2" }, "Search"), createVNode("span", { class: "meta-key" }, "\u2318K") ]) ]), createVNode(VSpacer), createVNode(_component_IconBtn, { href: "https://github.com/themeselection/sneat-vuetify-nuxtjs-admin-template-free", target: "_blank", rel: "noopener noreferrer" }, { default: withCtx(() => [ createVNode(VIcon, { icon: "bxl-github" }) ]), _: 1 }), createVNode(_component_IconBtn, null, { default: withCtx(() => [ createVNode(VIcon, { icon: "bx-bell" }) ]), _: 1 }), createVNode(_sfc_main$4, { class: "me-1" }), createVNode(_sfc_main$5) ]) ]; } }), "vertical-nav-header": withCtx(({ toggleIsOverlayNavActive }, _push2, _parent2, _scopeId) => { if (_push2) { _push2(ssrRenderComponent(_component_NuxtLink, { to: "/", class: "app-logo app-title-wrapper" }, { default: withCtx((_, _push3, _parent3, _scopeId2) => { var _a; if (_push3) { _push3(`
${(_a = unref(logo)) != null ? _a : ""}

sneat

`); } else { return [ createVNode("div", { class: "d-flex", innerHTML: unref(logo) }, null, 8, ["innerHTML"]), createVNode("h1", { class: "app-logo-title" }, " sneat ") ]; } }), _: 2 }, _parent2, _scopeId)); _push2(ssrRenderComponent(_component_IconBtn, { class: "d-block d-lg-none", onClick: ($event) => toggleIsOverlayNavActive(false) }, { default: withCtx((_, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(ssrRenderComponent(VIcon, { icon: "bx-x" }, null, _parent3, _scopeId2)); } else { return [ createVNode(VIcon, { icon: "bx-x" }) ]; } }), _: 2 }, _parent2, _scopeId)); } else { return [ createVNode(_component_NuxtLink, { to: "/", class: "app-logo app-title-wrapper" }, { default: withCtx(() => [ createVNode("div", { class: "d-flex", innerHTML: unref(logo) }, null, 8, ["innerHTML"]), createVNode("h1", { class: "app-logo-title" }, " sneat ") ]), _: 1 }), createVNode(_component_IconBtn, { class: "d-block d-lg-none", onClick: ($event) => toggleIsOverlayNavActive(false) }, { default: withCtx(() => [ createVNode(VIcon, { icon: "bx-x" }) ]), _: 1 }, 8, ["onClick"]) ]; } }), "vertical-nav-content": withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(ssrRenderComponent(_sfc_main$3, null, null, _parent2, _scopeId)); } else { return [ createVNode(_sfc_main$3) ]; } }), footer: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(ssrRenderComponent(Footer, null, null, _parent2, _scopeId)); } else { return [ createVNode(Footer) ]; } }), default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { ssrRenderSlot(_ctx.$slots, "default", {}, null, _push2, _parent2, _scopeId); } else { return [ renderSlot(_ctx.$slots, "default", {}, void 0, true) ]; } }), _: 3 }, _parent)); }; } }); const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("layouts/components/DefaultLayoutWithVerticalNav.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; const DefaultLayoutWithVerticalNav = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4a4e6556"]]); export { DefaultLayoutWithVerticalNav as default };