App Layout

Basic usage

<template> <app-layout></app-layout> </template> <script> import { AppLayout } from 'vue-luma' export default { components: { AppLayout } } </script>

Content

<app-layout> <!-- Page Content --> <template v-slot:default="{layoutProps}"> <!-- Nuxt --> <nuxt v-bind:layout-props="layoutProps" /> <!-- or Vue Router --> <router-view v-bind:layout-props="layoutProps" /> <!-- Or Inertia.js --> <slot v-bind:layout-props="layoutProps" /> </template> <!-- Other --> <template v-slot:after-layout> <!-- Additional after layout components --> <!-- For example, we're adding the app settings here --> </template> </app-layout>
<app-layout> <!-- Replace Navbar Component --> <template v-slot:navbar> Replace Navbar Component </template> <!-- Replace Navbar Content --> <template v-slot:navbar-content> Replace Navbar Content </template> </app-layout>
<template> <app-layout :sidebar-menu="sidebarMenu"> <!-- Replace Sidebar Component --> <template v-slot:sidebar> Replace Sidebar Component </template> <!-- Replace Sidebar Content --> <template v-slot:sidebar-content="{sidebar}"> <div class="sidebar-heading">Replace Sidebar Content</div> <fmv-sidebar-menu :menu="sidebar.menu" class="mb-24pt" /> <pre class="sidebar-text" v-text="sidebar.menu" /> </template> </app-layout> </template> <script> import { AppLayout } from 'vue-luma' import { FmvSidebarMenu } from 'fmv-layout' export default { components: { AppLayout, FmvSidebarMenu }, computed() { sidebarMenu() { return [{ "label": "Home", "route": { "name": "layout", "params": { "layout": "default" } }, "icon": { "type": "md-icon", "id": "home" } }] } } } </script>
<app-layout> <!-- Footer Content --> <template v-slot:footer-content="footerProps"> <p class="text-70 brand mb-24pt"> <img class="brand-icon" :src="footerProps.footerLogo" width="30" :alt="footerProps.footerBrand"> {{ footerProps.footerBrand }} </p> <p class="text-50 measure-lead-max small">A beautifully crafted user interface for modern Education Platforms, including Courses & Tutorials, Video Lessons, Student and Teacher Dashboard, Curriculum Management, Earnings and Reporting, ERP, HR, CMS, Tasks, Projects, eCommerce and more.</p> <pre v-text="footerProps" /> </template> <!-- Footer Links --> <template v-slot:footer-links> <p class="mb-8pt d-flex"> <a class="text-70 text-underline mr-8pt small">Terms</a> <a class="text-70 text-underline small">Privacy</a> </p> </template> <!-- Footer Copyright Text --> <template v-slot:footer-copyright-text> Copyright 2020 &copy; All rights reserved! </template> <!-- Footer Description Text --> <template v-slot:footer-description-text> Hello World! </template> <!-- Other --> <template v-slot:after-layout> <!-- Additional after layout components --> </template> </app-layout>

<app-layout> Reference

<app-layout> Properties

Property
Type
Default Value
body-classString
sub-layoutBoolean
sub-layout-has-scrolling-regionBooleantrue
sub-layout-drawerObject or Boolean
sub-layout-drawer-idString
sub-layout-drawer-alignStringend
sub-layout-responsive-widthString992px
sidebar-typeStringdark-pickled-bluewood
sidebar-variantString
sidebar-brandString or BooleanBrand
sidebar-searchBooleantrue
sidebar-search-form-classString or Array or Object
sidebar-brand-classString or Array or Object
sidebar-menuObject or Array
navbar-classString or Array or Object
navbar-toggle-classString or Array or Object
navbar-typeStringlight
navbar-variantStringbody border-bottom-2
navbar-container-classString or Array or Objectd-flex w-100 align-items-center
navbar-content-container-classString or Array or Objectd-flex w-100 align-items-center
navbar-brandStringBrand
navbar-brand-classString or Array or Object
navbar-full-sample-guest-modeBoolean
navbar-searchBoolean
has-footerBooleantrue
footer-classString or Array or Objectbg-white border-top-2
footer-container-classString or Array or Object
footer-brandStringBrand
footer-logoString or Boolean
footer-copyright-yearString or Number or Boolean
footer-copyright-textString or Boolean
footer-description-textString or Boolean
drawer-layout-classString or Array or Object
drawer-layout-responsive-widthString992px
drawer-layout-content-idStringdrawer-layout-content
container-classString or Array or Objectcontainer page__container
drawer-alignStringstart

<app-layout> Slots

Slot
Description
defaultThe page content.
navbarReplace Navbar Component
navbar-contentReplace Navbar Content
sidebarReplace Sidebar Component
sidebar-contentReplace Sidebar Content
footer-contentReplace Footer Content
footer-linksReplace the footer links
footer-copyright-textReplace the footer copyright text
footer-description-textReplace the footer description text
footerReplace Footer Component