[{"data":1,"prerenderedAt":574},["ShallowReactive",2],{"navigation":3,"index":79},[4,20,51,69],{"title":5,"path":6,"stem":7,"children":8,"icon":19},"Overview","\u002Foverview","1.overview\u002F1.index",[9,11,15],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-house",{"title":12,"path":13,"stem":14},"Product concept","\u002Foverview\u002Fconcept","1.overview\u002F2.concept",{"title":16,"path":17,"stem":18},"Architecture","\u002Foverview\u002Farchitecture","1.overview\u002F3.architecture",false,{"title":21,"icon":19,"path":22,"stem":23,"children":24,"page":19},"Getting Started","\u002Fgetting-started","2.getting-started",[25,30,34,38,42,46],{"title":26,"path":27,"stem":28,"icon":29},"Installation","\u002Fgetting-started\u002Finstallation","2.getting-started\u002F1.installation","i-lucide-rocket",{"title":31,"path":32,"stem":33},"Resources","\u002Fgetting-started\u002Fresources","2.getting-started\u002F2.resources",{"title":35,"path":36,"stem":37},"Forms","\u002Fgetting-started\u002Fforms","2.getting-started\u002F3.forms",{"title":39,"path":40,"stem":41},"Tables","\u002Fgetting-started\u002Ftables","2.getting-started\u002F4.tables",{"title":43,"path":44,"stem":45},"Workspaces","\u002Fgetting-started\u002Fworkspaces","2.getting-started\u002F5.workspaces",{"title":47,"path":48,"stem":49,"icon":50},"MCP server","\u002Fgetting-started\u002Fmcp-server","2.getting-started\u002F6.mcp-server","i-lucide-bot",{"title":52,"icon":19,"path":53,"stem":54,"children":55,"page":19},"Reference","\u002Freference","3.reference",[56,61,65],{"title":57,"path":58,"stem":59,"icon":60},"Extensions","\u002Freference\u002Fextensions","3.reference\u002F1.extensions","i-lucide-plug",{"title":62,"path":63,"stem":64},"Contracts","\u002Freference\u002Fcontracts","3.reference\u002F2.contracts",{"title":66,"path":67,"stem":68},"Upgrading","\u002Freference\u002Fupgrading","3.reference\u002F3.upgrading",{"title":70,"icon":19,"path":71,"stem":72,"children":73,"page":19},"Release","\u002Frelease","4.release",[74],{"title":75,"path":76,"stem":77,"icon":78},"Changelog","\u002Frelease\u002Fchangelog","4.release\u002F1.changelog","i-lucide-badge-check",{"id":80,"title":81,"body":82,"description":81,"extension":566,"meta":567,"navigation":194,"path":568,"seo":569,"stem":572,"__hash__":573},"landing\u002Findex.md","",{"type":83,"value":84,"toc":564},"minimark",[85,388,499,525,549,560],[86,87,94,100,152,167],"u-page-hero",{":ui":88,"className":89,"orientation":93},"{\"container\":\"min-h-[100svh] items-center py-16 sm:py-20 lg:py-24\"}",[90,91,92],"dark:bg-gradient-to-b","from-neutral-900","to-neutral-950","horizontal",[95,96,97],"template",{"v-slot:top":81},[98,99],"hero-background",{},[95,101,102],{"v-slot:header":81},[103,104,107,108,107,129],"div",{"className":105},[106],"max-w-3xl","\n  ",[109,110,121,122,128],"h1",{"className":111,"id":120},[112,113,114,115,116,117,118,119],"text-5xl","font-bold","tracking-[-0.04em]","text-highlighted","sm:text-6xl","lg:text-[5rem]","xl:text-[5.75rem]","leading-[0.88]","laravel-admin-panel-built-with-nuxt-ui","\n    Laravel admin panel\n    ",[123,124,127],"span",{"className":125},[126],"text-primary","built with Nuxt UI",".\n  ",[130,131,138,139,128],"p",{"className":132},[133,134,135,136,137],"mt-6","max-w-2xl","text-lg","text-muted","sm:text-xl\u002F8","\n    Flashboard is a Laravel 13 package for internal admin panels and operator dashboards.\n    Build a backend-driven admin runtime with typed resources, forms, tables,\n    and custom workflows on top of a\n    ",[140,141,151],"a",{"href":142,"target":143,"rel":144,"className":147},"https:\u002F\u002Fui.nuxt.com","_blank",[145,146],"noopener","noreferrer",[126,148,149,150],"font-medium","hover:text-primary\u002F80","transition-colors","Nuxt UI-powered admin shell",[95,153,154,160],{"v-slot:links":81},[155,156],"u-button",{"label":157,"size":158,"to":6,"trailing-icon":159},"Read the docs","lg","i-lucide-arrow-right",[155,161],{"label":162,"size":158,"to":163,"color":164,"variant":165,"icon":166,"target":143},"View repository","https:\u002F\u002Fgithub.com\u002Fpepperfm\u002Fflashboard","neutral","outline","i-simple-icons-github",[168,169,174],"pre",{"className":170,"code":171,"filename":172,"language":173,"meta":81,"style":81},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C?php\n\ndeclare(strict_types=1);\n\nfinal class AdminPanelProvider extends FlashboardPanelProvider\n{\n    public function register(): void\n    {\n        $this->panelConfig()\n            ->path('admin')\n            ->routeNamePrefix('admin')\n            ->webMiddleware('admin')\n            ->loginPath('admin-login')\n            ->discover();\n    }\n}\n","app\u002FProviders\u002FAdminPanelProvider.php","php",[175,176,177,189,196,219,224,244,250,269,275,287,310,328,346,365,376,382],"code",{"__ignoreMap":81},[123,178,181,185],{"class":179,"line":180},"line",1,[123,182,184],{"class":183},"sMK4o","\u003C?",[123,186,188],{"class":187},"sTEyZ","php\n",[123,190,192],{"class":179,"line":191},2,[123,193,195],{"emptyLinePlaceholder":194},true,"\n",[123,197,199,203,206,209,212,216],{"class":179,"line":198},3,[123,200,202],{"class":201},"s7zQu","declare",[123,204,205],{"class":183},"(",[123,207,208],{"class":187},"strict_types",[123,210,211],{"class":183},"=",[123,213,215],{"class":214},"sbssI","1",[123,217,218],{"class":183},");\n",[123,220,222],{"class":179,"line":221},4,[123,223,195],{"emptyLinePlaceholder":194},[123,225,227,231,234,238,241],{"class":179,"line":226},5,[123,228,230],{"class":229},"spNyl","final",[123,232,233],{"class":229}," class",[123,235,237],{"class":236},"sBMFI"," AdminPanelProvider",[123,239,240],{"class":229}," extends",[123,242,243],{"class":236}," FlashboardPanelProvider\n",[123,245,247],{"class":179,"line":246},6,[123,248,249],{"class":183},"{\n",[123,251,253,256,259,263,266],{"class":179,"line":252},7,[123,254,255],{"class":229},"    public",[123,257,258],{"class":229}," function",[123,260,262],{"class":261},"s2Zo4"," register",[123,264,265],{"class":183},"():",[123,267,268],{"class":214}," void\n",[123,270,272],{"class":179,"line":271},8,[123,273,274],{"class":183},"    {\n",[123,276,278,281,284],{"class":179,"line":277},9,[123,279,280],{"class":183},"        $this->",[123,282,283],{"class":261},"panelConfig",[123,285,286],{"class":183},"()\n",[123,288,290,293,296,298,301,305,307],{"class":179,"line":289},10,[123,291,292],{"class":183},"            ->",[123,294,295],{"class":261},"path",[123,297,205],{"class":183},[123,299,300],{"class":183},"'",[123,302,304],{"class":303},"sfazB","admin",[123,306,300],{"class":183},[123,308,309],{"class":183},")\n",[123,311,313,315,318,320,322,324,326],{"class":179,"line":312},11,[123,314,292],{"class":183},[123,316,317],{"class":261},"routeNamePrefix",[123,319,205],{"class":183},[123,321,300],{"class":183},[123,323,304],{"class":303},[123,325,300],{"class":183},[123,327,309],{"class":183},[123,329,331,333,336,338,340,342,344],{"class":179,"line":330},12,[123,332,292],{"class":183},[123,334,335],{"class":261},"webMiddleware",[123,337,205],{"class":183},[123,339,300],{"class":183},[123,341,304],{"class":303},[123,343,300],{"class":183},[123,345,309],{"class":183},[123,347,349,351,354,356,358,361,363],{"class":179,"line":348},13,[123,350,292],{"class":183},[123,352,353],{"class":261},"loginPath",[123,355,205],{"class":183},[123,357,300],{"class":183},[123,359,360],{"class":303},"admin-login",[123,362,300],{"class":183},[123,364,309],{"class":183},[123,366,368,370,373],{"class":179,"line":367},14,[123,369,292],{"class":183},[123,371,372],{"class":261},"discover",[123,374,375],{"class":183},"();\n",[123,377,379],{"class":179,"line":378},15,[123,380,381],{"class":183},"    }\n",[123,383,385],{"class":179,"line":384},16,[123,386,387],{"class":183},"}\n",[389,390,391,396,402],"u-page-section",{},[95,392,393],{"v-slot:title":81},[130,394,395],{},"What Flashboard gives you",[95,397,398],{"v-slot:links":81},[155,399],{"label":400,"size":158,"to":27,"color":164,"variant":401,"trailingIcon":159},"Start with installation","subtle",[403,404,405,419,447,460,473,486],"u-page-grid",{},[406,407,409,414],"u-page-card",{"icon":408,"variant":401},"i-lucide-layout-dashboard",[95,410,411],{"v-slot:title":81},[130,412,413],{},"Ready admin runtime",[95,415,416],{"v-slot:description":81},[130,417,418],{},"Auth shell, navigation, resource screens, actions, notifications, and a package-owned Laravel admin dashboard runtime are designed to work together.",[406,420,422,427],{"icon":421,"variant":401},"i-lucide-box",[95,423,424],{"v-slot:title":81},[130,425,426],{},"Declarative resources",[95,428,429],{"v-slot:description":81},[130,430,431,432,435,436,435,439,442,443,446],{},"Model list, form, detail, actions, and pages through dedicated surfaces like ",[175,433,434],{},"table()",", ",[175,437,438],{},"form()",[175,440,441],{},"detail()",", and ",[175,444,445],{},"pages()"," for a typed Laravel admin panel API.",[406,448,450,455],{"icon":449,"variant":401},"i-lucide-file-code",[95,451,452],{"v-slot:title":81},[130,453,454],{},"Typed DSL with compatibility bridge",[95,456,457],{"v-slot:description":81},[130,458,459],{},"Typed schema nodes are the preferred public API, while legacy array definitions remain supported during migration.",[406,461,463,468],{"icon":462,"variant":401},"i-lucide-workflow",[95,464,465],{"v-slot:title":81},[130,466,467],{},"Escape hatches for real workflows",[95,469,470],{"v-slot:description":81},[130,471,472],{},"Flashboard supports custom pages, operator workspaces, query extensions, save hooks, and renderer overrides without fighting the framework.",[406,474,476,481],{"icon":475,"variant":401},"i-lucide-shield-check",[95,477,478],{"v-slot:title":81},[130,479,480],{},"Contract-first runtime",[95,482,483],{"v-slot:description":81},[130,484,485],{},"Payloads are versioned, resource surfaces are explicit, and runtime consumers can rely on deterministic normalized output.",[406,487,489,494],{"icon":488,"variant":401},"i-lucide-wrench",[95,490,491],{"v-slot:title":81},[130,492,493],{},"Package plus host-app boundary",[95,495,496],{"v-slot:description":81},[130,497,498],{},"The package owns the admin runtime while the consuming Laravel app keeps domain queries, policies, and business rules.",[389,500,502,507],{":ui":501},"{\"features\":\"sm:grid-cols-2 lg:grid-cols-4 gap-8\"}",[95,503,504],{"v-slot:title":81},[130,505,506],{},"Documentation map",[95,508,509,515,518,522],{"v-slot:features":81},[510,511],"u-page-feature",{"description":512,"icon":513,"orientation":514,"title":5,"to":6},"Product positioning, current scope, architecture, and the package mental model.","i-lucide-compass","vertical",[510,516],{"description":517,"icon":29,"orientation":514,"title":21,"to":27},"Install the package, configure a panel provider, and author resources, forms, tables, and workspaces.",[510,519],{"description":520,"icon":521,"orientation":514,"title":52,"to":63},"Contracts, extension points, and upgrade guidance for the beta API surface.","i-lucide-book-open",[510,523],{"description":524,"icon":78,"orientation":514,"title":75,"to":76},"Version history, release timeline, and the current beta track for Flashboard.",[389,526,527,532],{},[95,528,529],{"v-slot:title":81},[130,530,531],{},"Project status",[95,533,534,539,544],{"v-slot:features":81},[510,535],{"description":536,"icon":537,"orientation":514,"title":538},"Product direction is documented, package bootstrap wiring is in place, and runtime features are being built from that foundation.","i-lucide-flask-conical","Early implementation",[510,540],{"description":541,"icon":542,"orientation":514,"title":543},"Flashboard follows a modular-monolith package structure with explicit boundaries between Contracts, Core, UI, Integration, and Support.","i-lucide-layers-3","Layered architecture",[510,545],{"description":546,"icon":547,"orientation":514,"title":548},"The admin shell renders through Inertia + Vue with Nuxt UI, making Flashboard a Laravel admin panel package built on Nuxt UI rather than a Blade-only backoffice toolkit.","i-lucide-package","Nuxt UI-based package frontend",[389,550,551],{},[552,553,557],"u-page-c-t-a",{":links":554,"description":555,"title":556},"[{\"label\":\"Open overview\",\"to\":\"\u002Foverview\",\"trailingIcon\":\"i-lucide-arrow-right\"},{\"label\":\"Install Flashboard\",\"to\":\"\u002Fgetting-started\u002Finstallation\",\"variant\":\"subtle\"},{\"label\":\"View on GitHub\",\"to\":\"https:\u002F\u002Fgithub.com\u002Fpepperfm\u002Fflashboard\",\"target\":\"_blank\",\"variant\":\"subtle\",\"icon\":\"i-simple-icons-github\"}]","Use this site as the living documentation hub for package direction, host-app integration, and the evolving contract surface.","Ready to document and ship the runtime?",[558,559],"stars-bg",{},[561,562,563],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":81,"searchDepth":180,"depth":191,"links":565},[],"md",{},"\u002F",{"title":570,"description":571},"Laravel Admin Panel Built with Nuxt UI | Flashboard Docs","Flashboard is a Laravel 13 admin panel and internal dashboard package with a Nuxt UI-powered admin shell, typed resources, forms, tables, and custom workspaces.","index","mSLVFj-tHcy_4seBXw49Gj3FBoXlZHDvet3Fg0C4QSM",1785093341347]