[{"data":1,"prerenderedAt":2388},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"/docs/nuxt-auto/auto-admin/configuration-theming-en":444,"/docs/nuxt-auto/auto-admin/configuration-theming-surround-en":2383},[4,8,13,28,41,51,64,77,94,110,134,150,157,172],{"title":5,"path":6,"stem":7},"Overview","/docs/landing","0.docs/1.landing/001.index",{"title":9,"path":10,"stem":11,"badge":12},"Built-in Features","/docs/landing/built-in-features","0.docs/1.landing/002.built-in-features","New",{"title":14,"path":15,"stem":16,"children":17,"icon":27},"Content Foundation","/docs/landing/content","0.docs/1.landing/02.content/1.index",[18,19,23],{"title":5,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"Details","/docs/landing/content/details","0.docs/1.landing/02.content/2.details",{"title":24,"path":25,"stem":26},"Technical","/docs/landing/content/technical","0.docs/1.landing/02.content/4.technical","i-heroicons-document-text",{"title":29,"path":30,"stem":31,"children":32,"icon":40},"Regional Content","/docs/landing/regional","0.docs/1.landing/03.regional/1.index",[33,34,37],{"title":5,"path":30,"stem":31},{"title":20,"path":35,"stem":36},"/docs/landing/regional/details","0.docs/1.landing/03.regional/2.details",{"title":24,"path":38,"stem":39},"/docs/landing/regional/technical","0.docs/1.landing/03.regional/4.technical","i-heroicons-globe-alt",{"title":42,"path":43,"stem":44,"children":45,"icon":50},"Multi-language","/docs/landing/multilang","0.docs/1.landing/04.multilang/1.index",[46,47],{"title":5,"path":43,"stem":44},{"title":20,"path":48,"stem":49},"/docs/landing/multilang/details","0.docs/1.landing/04.multilang/2.details","i-heroicons-language",{"title":52,"path":53,"stem":54,"children":55,"icon":63},"Blog","/docs/landing/blog","0.docs/1.landing/05.blog/1.index",[56,57,60],{"title":5,"path":53,"stem":54},{"title":20,"path":58,"stem":59},"/docs/landing/blog/details","0.docs/1.landing/05.blog/2.details",{"title":24,"path":61,"stem":62},"/docs/landing/blog/technical","0.docs/1.landing/05.blog/4.technical","i-heroicons-pencil-square",{"title":65,"path":66,"stem":67,"children":68,"icon":76},"Documentation","/docs/landing/docs","0.docs/1.landing/06.docs/1.index",[69,70,73],{"title":5,"path":66,"stem":67},{"title":20,"path":71,"stem":72},"/docs/landing/docs/details","0.docs/1.landing/06.docs/2.details",{"title":24,"path":74,"stem":75},"/docs/landing/docs/technical","0.docs/1.landing/06.docs/4.technical","i-heroicons-book-open",{"title":78,"path":79,"stem":80,"children":81,"icon":93},"Forms","/docs/landing/forms","0.docs/1.landing/07.forms/1.index",[82,83,86,90],{"title":5,"path":79,"stem":80},{"title":20,"path":84,"stem":85},"/docs/landing/forms/details","0.docs/1.landing/07.forms/2.details",{"title":87,"path":88,"stem":89},"Admin","/docs/landing/forms/admin","0.docs/1.landing/07.forms/3.admin",{"title":24,"path":91,"stem":92},"/docs/landing/forms/technical","0.docs/1.landing/07.forms/4.technical","i-heroicons-clipboard-document-list",{"title":95,"path":96,"stem":97,"children":98,"icon":109},"Email","/docs/landing/email","0.docs/1.landing/08.email/1.index",[99,100,103,106],{"title":5,"path":96,"stem":97},{"title":20,"path":101,"stem":102},"/docs/landing/email/details","0.docs/1.landing/08.email/2.details",{"title":87,"path":104,"stem":105},"/docs/landing/email/admin","0.docs/1.landing/08.email/3.admin",{"title":24,"path":107,"stem":108},"/docs/landing/email/technical","0.docs/1.landing/08.email/4.technical","i-heroicons-envelope",{"title":111,"path":112,"stem":113,"children":114,"icon":133},"Feedback Platform","/docs/landing/feedback","0.docs/1.landing/09.feedback/1.index",[115,116,119,122,125,129],{"title":5,"path":112,"stem":113},{"title":20,"path":117,"stem":118},"/docs/landing/feedback/details","0.docs/1.landing/09.feedback/2.details",{"title":87,"path":120,"stem":121},"/docs/landing/feedback/admin","0.docs/1.landing/09.feedback/3.admin",{"title":24,"path":123,"stem":124},"/docs/landing/feedback/technical","0.docs/1.landing/09.feedback/4.technical",{"title":126,"path":127,"stem":128},"Compare vs SaaS","/docs/landing/feedback/compare","0.docs/1.landing/09.feedback/5.compare",{"title":130,"path":131,"stem":132},"FAQ","/docs/landing/feedback/faq","0.docs/1.landing/09.feedback/6.faq","i-heroicons-chat-bubble-left-right",{"title":135,"path":136,"stem":137,"children":138,"icon":149},"Storage","/docs/landing/storage","0.docs/1.landing/10.storage/1.index",[139,140,143,146],{"title":5,"path":136,"stem":137},{"title":20,"path":141,"stem":142},"/docs/landing/storage/details","0.docs/1.landing/10.storage/2.details",{"title":87,"path":144,"stem":145},"/docs/landing/storage/admin","0.docs/1.landing/10.storage/3.admin",{"title":24,"path":147,"stem":148},"/docs/landing/storage/technical","0.docs/1.landing/10.storage/4.technical","i-heroicons-circle-stack",{"title":151,"path":152,"stem":153,"children":154,"icon":156},"Offline First","/docs/landing/offline-first","0.docs/1.landing/11.offline-first/1.index",[155],{"title":151,"path":152,"stem":153},"i-heroicons-users",{"title":158,"path":159,"stem":160,"children":161,"icon":156},"Yjs Sync","/docs/landing/yjs-sync","0.docs/1.landing/12.yjs-sync/1.index",[162,163,166,169],{"title":5,"path":159,"stem":160},{"title":20,"path":164,"stem":165},"/docs/landing/yjs-sync/details","0.docs/1.landing/12.yjs-sync/2.details",{"title":87,"path":167,"stem":168},"/docs/landing/yjs-sync/admin","0.docs/1.landing/12.yjs-sync/3.admin",{"title":24,"path":170,"stem":171},"/docs/landing/yjs-sync/technical","0.docs/1.landing/12.yjs-sync/4.technical",{"title":173,"path":174,"stem":175,"children":176,"badge":178,"icon":179},"Newsletter","/docs/landing/newsletter","0.docs/1.landing/13.newsletter/index",[177],{"title":173,"path":174,"stem":175,"badge":178},"Coming Soon","i-lucide-send",[181,184,202,298],{"title":5,"path":182,"stem":183},"/docs/nuxt-auto","0.docs/3.nuxt-auto/index",{"title":185,"path":186,"stem":187,"children":188,"page":201},"Getting Started","/docs/nuxt-auto/getting-started","0.docs/3.nuxt-auto/1.getting-started",[189,193,197],{"title":190,"path":191,"stem":192},"Introduction","/docs/nuxt-auto/getting-started/introduction","0.docs/3.nuxt-auto/1.getting-started/1.introduction",{"title":194,"path":195,"stem":196},"Installation","/docs/nuxt-auto/getting-started/installation","0.docs/3.nuxt-auto/1.getting-started/2.installation",{"title":198,"path":199,"stem":200},"Quick Start","/docs/nuxt-auto/getting-started/quick-start","0.docs/3.nuxt-auto/1.getting-started/3.quick-start",false,{"title":203,"path":204,"stem":205,"children":206,"page":201},"Auto API","/docs/nuxt-auto/auto-api","0.docs/3.nuxt-auto/2.auto-api",[207,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294],{"title":185,"path":208,"stem":209},"/docs/nuxt-auto/auto-api/getting-started","0.docs/3.nuxt-auto/2.auto-api/1.getting-started",{"title":211,"path":212,"stem":213},"Aggregations","/docs/nuxt-auto/auto-api/aggregations","0.docs/3.nuxt-auto/2.auto-api/10.aggregations",{"title":215,"path":216,"stem":217},"Lifecycle Hooks","/docs/nuxt-auto/auto-api/lifecycle-hooks","0.docs/3.nuxt-auto/2.auto-api/11.lifecycle-hooks",{"title":219,"path":220,"stem":221},"Many-to-Many (M2M) Relationships","/docs/nuxt-auto/auto-api/m2m-relationships","0.docs/3.nuxt-auto/2.auto-api/12.m2m-relationships",{"title":223,"path":224,"stem":225},"Plugin System","/docs/nuxt-auto/auto-api/plugin-system","0.docs/3.nuxt-auto/2.auto-api/13.plugin-system",{"title":227,"path":228,"stem":229},"Database Adapters","/docs/nuxt-auto/auto-api/database-adapters","0.docs/3.nuxt-auto/2.auto-api/14.database-adapters",{"title":231,"path":232,"stem":233},"Custom Endpoints","/docs/nuxt-auto/auto-api/custom-endpoints","0.docs/3.nuxt-auto/2.auto-api/15.custom-endpoints",{"title":235,"path":236,"stem":237},"Multi-Tenancy","/docs/nuxt-auto/auto-api/multi-tenancy","0.docs/3.nuxt-auto/2.auto-api/16.multi-tenancy",{"title":239,"path":240,"stem":241},"Validation","/docs/nuxt-auto/auto-api/validation","0.docs/3.nuxt-auto/2.auto-api/2.validation",{"title":243,"path":244,"stem":245},"Rate Limiting","/docs/nuxt-auto/auto-api/rate-limiting","0.docs/3.nuxt-auto/2.auto-api/20.rate-limiting",{"title":247,"path":248,"stem":249},"Request Metadata Plugin","/docs/nuxt-auto/auto-api/request-metadata","0.docs/3.nuxt-auto/2.auto-api/21.request-metadata",{"title":251,"path":252,"stem":253},"Plugin Catalog","/docs/nuxt-auto/auto-api/plugin-catalog","0.docs/3.nuxt-auto/2.auto-api/22.plugin-catalog",{"title":255,"path":256,"stem":257},"Handler Overrides","/docs/nuxt-auto/auto-api/handler-overrides","0.docs/3.nuxt-auto/2.auto-api/3.handler-overrides",{"title":259,"path":260,"stem":261},"Cloudflare D1","/docs/nuxt-auto/auto-api/cloudflare-d1","0.docs/3.nuxt-auto/2.auto-api/30.cloudflare-d1",{"title":263,"path":264,"stem":265},"SQLite to D1 Migration","/docs/nuxt-auto/auto-api/migration-sqlite-d1","0.docs/3.nuxt-auto/2.auto-api/31.migration-sqlite-d1",{"title":267,"path":268,"stem":269},"Frontend Composables","/docs/nuxt-auto/auto-api/frontend-composables","0.docs/3.nuxt-auto/2.auto-api/32.frontend-composables",{"title":271,"path":272,"stem":273},"Testing","/docs/nuxt-auto/auto-api/testing","0.docs/3.nuxt-auto/2.auto-api/33.testing",{"title":275,"path":276,"stem":277},"Pagination","/docs/nuxt-auto/auto-api/pagination","0.docs/3.nuxt-auto/2.auto-api/4.pagination",{"title":279,"path":280,"stem":281},"Soft Deletes","/docs/nuxt-auto/auto-api/soft-deletes","0.docs/3.nuxt-auto/2.auto-api/5.soft-deletes",{"title":283,"path":284,"stem":285},"Authentication & Authorization","/docs/nuxt-auto/auto-api/authentication-authorization","0.docs/3.nuxt-auto/2.auto-api/6.authentication-authorization",{"title":287,"path":288,"stem":289},"Better-Auth Integration","/docs/nuxt-auto/auto-api/better-auth","0.docs/3.nuxt-auto/2.auto-api/7.better-auth",{"title":291,"path":292,"stem":293},"Nested Relations","/docs/nuxt-auto/auto-api/nested-relationships","0.docs/3.nuxt-auto/2.auto-api/8.nested-relationships",{"title":295,"path":296,"stem":297},"Bulk Operations","/docs/nuxt-auto/auto-api/bulk-operations","0.docs/3.nuxt-auto/2.auto-api/9.bulk-operations",{"title":299,"path":300,"stem":301,"children":302,"page":201},"Auto Admin","/docs/nuxt-auto/auto-admin","0.docs/3.nuxt-auto/3.auto-admin",[303,306,310,314,318,322,326,330,334],{"title":185,"path":304,"stem":305},"/docs/nuxt-auto/auto-admin/getting-started","0.docs/3.nuxt-auto/3.auto-admin/1.getting-started",{"title":307,"path":308,"stem":309},"Configuration & Theming","/docs/nuxt-auto/auto-admin/configuration-theming","0.docs/3.nuxt-auto/3.auto-admin/2.configuration-theming",{"title":311,"path":312,"stem":313},"Resource Configuration","/docs/nuxt-auto/auto-admin/resource-configuration","0.docs/3.nuxt-auto/3.auto-admin/3.resource-configuration",{"title":315,"path":316,"stem":317},"Form Fields & Widgets","/docs/nuxt-auto/auto-admin/form-fields-widgets","0.docs/3.nuxt-auto/3.auto-admin/4.form-fields-widgets",{"title":319,"path":320,"stem":321},"Permissions","/docs/nuxt-auto/auto-admin/permissions","0.docs/3.nuxt-auto/3.auto-admin/5.permissions",{"title":323,"path":324,"stem":325},"Custom Pages","/docs/nuxt-auto/auto-admin/custom-pages","0.docs/3.nuxt-auto/3.auto-admin/6.custom-pages",{"title":327,"path":328,"stem":329},"M2M Relationships","/docs/nuxt-auto/auto-admin/m2m-relationships","0.docs/3.nuxt-auto/3.auto-admin/7.m2m-relationships",{"title":331,"path":332,"stem":333},"Custom Actions","/docs/nuxt-auto/auto-admin/custom-actions","0.docs/3.nuxt-auto/3.auto-admin/8.custom-actions",{"title":335,"path":336,"stem":337},"Composables","/docs/nuxt-auto/auto-admin/composables","0.docs/3.nuxt-auto/3.auto-admin/9.composables",[339,342,355,382,400,415,425],{"title":5,"path":340,"stem":341},"/docs/nuxt-protokit","0.docs/4.nuxt-protokit/index",{"title":185,"path":343,"stem":344,"children":345,"icon":354},"/docs/nuxt-protokit/getting-started","0.docs/4.nuxt-protokit/1.getting-started/1.index",[346,347,351],{"title":190,"path":343,"stem":344},{"title":348,"path":349,"stem":350},"Core Concepts","/docs/nuxt-protokit/getting-started/concepts","0.docs/4.nuxt-protokit/1.getting-started/2.concepts",{"title":198,"path":352,"stem":353},"/docs/nuxt-protokit/getting-started/quick-start","0.docs/4.nuxt-protokit/1.getting-started/3.quick-start","i-lucide-rocket",{"title":356,"path":357,"stem":358,"children":359,"icon":381},"Schemas","/docs/nuxt-protokit/schemas","0.docs/4.nuxt-protokit/2.schemas/1.index",[360,361,365,369,373,377],{"title":5,"path":357,"stem":358},{"title":362,"path":363,"stem":364},"Field Types","/docs/nuxt-protokit/schemas/fields","0.docs/4.nuxt-protokit/2.schemas/2.fields",{"title":366,"path":367,"stem":368},"Collections","/docs/nuxt-protokit/schemas/collections","0.docs/4.nuxt-protokit/2.schemas/3.collections",{"title":370,"path":371,"stem":372},"Derived & Computed","/docs/nuxt-protokit/schemas/derived-computed","0.docs/4.nuxt-protokit/2.schemas/4.derived-computed",{"title":374,"path":375,"stem":376},"Connections","/docs/nuxt-protokit/schemas/connections","0.docs/4.nuxt-protokit/2.schemas/5.connections",{"title":378,"path":379,"stem":380},"Visualizations & Layouts","/docs/nuxt-protokit/schemas/visualizations","0.docs/4.nuxt-protokit/2.schemas/6.visualizations","i-lucide-file-code",{"title":335,"path":383,"stem":384,"children":385,"icon":399},"/docs/nuxt-protokit/composables","0.docs/4.nuxt-protokit/3.composables/1.index",[386,387,391,395],{"title":5,"path":383,"stem":384},{"title":388,"path":389,"stem":390},"usePrototype","/docs/nuxt-protokit/composables/use-prototype","0.docs/4.nuxt-protokit/3.composables/2.use-prototype",{"title":392,"path":393,"stem":394},"useProtoDoc","/docs/nuxt-protokit/composables/use-proto-doc","0.docs/4.nuxt-protokit/3.composables/3.use-proto-doc",{"title":396,"path":397,"stem":398},"useProtoCollection","/docs/nuxt-protokit/composables/use-proto-collection","0.docs/4.nuxt-protokit/3.composables/4.use-proto-collection","i-lucide-layers",{"title":401,"path":402,"stem":403,"children":404,"icon":414},"Components","/docs/nuxt-protokit/components","0.docs/4.nuxt-protokit/4.components/1.index",[405,406,410],{"title":5,"path":402,"stem":403},{"title":407,"path":408,"stem":409},"ProtoTool","/docs/nuxt-protokit/components/proto-tool","0.docs/4.nuxt-protokit/4.components/2.proto-tool",{"title":411,"path":412,"stem":413},"ProtoCrudModal","/docs/nuxt-protokit/components/proto-crud-modal","0.docs/4.nuxt-protokit/4.components/3.proto-crud-modal","i-lucide-puzzle",{"title":151,"path":416,"stem":417,"children":418,"icon":424},"/docs/nuxt-protokit/offline-first","0.docs/4.nuxt-protokit/5.offline-first/1.index",[419,420],{"title":151,"path":416,"stem":417},{"title":421,"path":422,"stem":423},"Corruption Recovery","/docs/nuxt-protokit/offline-first/corruption-recovery","0.docs/4.nuxt-protokit/5.offline-first/2.corruption-recovery","i-lucide-wifi-off",{"title":426,"icon":427,"path":428,"stem":429,"children":430},"Advanced","i-lucide-graduation-cap","/docs/nuxt-protokit/advanced","0.docs/4.nuxt-protokit/6.advanced/1.index",[431,432,436,440],{"title":5,"path":428,"stem":429},{"title":433,"path":434,"stem":435},"Multi-Tool Apps","/docs/nuxt-protokit/advanced/building-a-toolkit","0.docs/4.nuxt-protokit/6.advanced/1.building-a-toolkit",{"title":437,"path":438,"stem":439},"Schema Patterns","/docs/nuxt-protokit/advanced/custom-schema-patterns","0.docs/4.nuxt-protokit/6.advanced/2.custom-schema-patterns",{"title":441,"path":442,"stem":443},"Custom Fields & Viz","/docs/nuxt-protokit/advanced/extensibility","0.docs/4.nuxt-protokit/6.advanced/3.extensibility",{"page":445,"fallbackPage":2379},{"id":446,"title":307,"body":447,"description":457,"extension":2378,"links":2379,"meta":2380,"navigation":2379,"ogImage":2379,"path":308,"seo":2381,"stem":309,"__hash__":2382},"nuxt_auto/0.docs/3.nuxt-auto/3.auto-admin/2.configuration-theming.md",{"type":448,"value":449,"toc":2356},"minimark",[450,454,458,463,475,649,653,656,762,767,800,804,807,843,846,877,881,884,1062,1068,1072,1075,1171,1175,1183,1197,1204,1218,1222,1229,1240,1247,1261,1268,1272,1275,1351,1358,1367,1371,1374,1579,1583,1590,1594,1668,1672,1775,1779,1782,1786,1789,1845,1897,1901,2262,2331,2335,2352],[451,452,307],"h1",{"id":453},"configuration-theming",[455,456,457],"p",{},"Customize the appearance and behavior of your admin panel.",[459,460,462],"h2",{"id":461},"module-options","Module Options",[455,464,465,466,470,471,474],{},"All configuration goes in the ",[467,468,469],"code",{},"autoAdmin"," key of your ",[467,472,473],{},"nuxt.config.ts",":",[476,477,482],"pre",{"className":478,"code":479,"language":480,"meta":481,"style":481},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  autoAdmin: {\n    prefix: '/admin',\n    branding: { /* ... */ },\n    permissions: { /* ... */ },\n    features: { /* ... */ },\n    resources: { /* ... */ },\n    customPages: [ /* ... */ ],\n    dashboard: { /* ... */ },\n  },\n})\n","typescript","",[467,483,484,508,520,541,559,573,587,601,620,634,640],{"__ignoreMap":481},[485,486,489,493,496,500,504],"span",{"class":487,"line":488},"line",1,[485,490,492],{"class":491},"s7zQu","export",[485,494,495],{"class":491}," default",[485,497,499],{"class":498},"s2Zo4"," defineNuxtConfig",[485,501,503],{"class":502},"sTEyZ","(",[485,505,507],{"class":506},"sMK4o","{\n",[485,509,511,515,517],{"class":487,"line":510},2,[485,512,514],{"class":513},"swJcz","  autoAdmin",[485,516,474],{"class":506},[485,518,519],{"class":506}," {\n",[485,521,523,526,528,531,535,538],{"class":487,"line":522},3,[485,524,525],{"class":513},"    prefix",[485,527,474],{"class":506},[485,529,530],{"class":506}," '",[485,532,534],{"class":533},"sfazB","/admin",[485,536,537],{"class":506},"'",[485,539,540],{"class":506},",\n",[485,542,544,547,549,552,556],{"class":487,"line":543},4,[485,545,546],{"class":513},"    branding",[485,548,474],{"class":506},[485,550,551],{"class":506}," {",[485,553,555],{"class":554},"sHwdD"," /* ... */",[485,557,558],{"class":506}," },\n",[485,560,562,565,567,569,571],{"class":487,"line":561},5,[485,563,564],{"class":513},"    permissions",[485,566,474],{"class":506},[485,568,551],{"class":506},[485,570,555],{"class":554},[485,572,558],{"class":506},[485,574,576,579,581,583,585],{"class":487,"line":575},6,[485,577,578],{"class":513},"    features",[485,580,474],{"class":506},[485,582,551],{"class":506},[485,584,555],{"class":554},[485,586,558],{"class":506},[485,588,590,593,595,597,599],{"class":487,"line":589},7,[485,591,592],{"class":513},"    resources",[485,594,474],{"class":506},[485,596,551],{"class":506},[485,598,555],{"class":554},[485,600,558],{"class":506},[485,602,604,607,609,612,615,618],{"class":487,"line":603},8,[485,605,606],{"class":513},"    customPages",[485,608,474],{"class":506},[485,610,611],{"class":502}," [ ",[485,613,614],{"class":554},"/* ... */",[485,616,617],{"class":502}," ]",[485,619,540],{"class":506},[485,621,623,626,628,630,632],{"class":487,"line":622},9,[485,624,625],{"class":513},"    dashboard",[485,627,474],{"class":506},[485,629,551],{"class":506},[485,631,555],{"class":554},[485,633,558],{"class":506},[485,635,637],{"class":487,"line":636},10,[485,638,639],{"class":506},"  },\n",[485,641,643,646],{"class":487,"line":642},11,[485,644,645],{"class":506},"}",[485,647,648],{"class":502},")\n",[459,650,652],{"id":651},"branding","Branding",[455,654,655],{},"Customize the admin panel's visual identity:",[476,657,659],{"className":478,"code":658,"language":480,"meta":481,"style":481},"autoAdmin: {\n  branding: {\n    // Admin panel title (shown in sidebar and browser tab)\n    title: 'My Admin Panel',\n\n    // Logo URL or path (shown in sidebar)\n    logo: '/admin-logo.svg',\n\n    // Favicon (optional)\n    favicon: '/admin-favicon.ico',\n  },\n}\n",[467,660,661,670,679,684,700,706,711,727,731,736,752,756],{"__ignoreMap":481},[485,662,663,666,668],{"class":487,"line":488},[485,664,469],{"class":665},"sBMFI",[485,667,474],{"class":506},[485,669,519],{"class":506},[485,671,672,675,677],{"class":487,"line":510},[485,673,674],{"class":665},"  branding",[485,676,474],{"class":506},[485,678,519],{"class":506},[485,680,681],{"class":487,"line":522},[485,682,683],{"class":554},"    // Admin panel title (shown in sidebar and browser tab)\n",[485,685,686,689,691,693,696,698],{"class":487,"line":543},[485,687,688],{"class":665},"    title",[485,690,474],{"class":506},[485,692,530],{"class":506},[485,694,695],{"class":533},"My Admin Panel",[485,697,537],{"class":506},[485,699,540],{"class":506},[485,701,702],{"class":487,"line":561},[485,703,705],{"emptyLinePlaceholder":704},true,"\n",[485,707,708],{"class":487,"line":575},[485,709,710],{"class":554},"    // Logo URL or path (shown in sidebar)\n",[485,712,713,716,718,720,723,725],{"class":487,"line":589},[485,714,715],{"class":665},"    logo",[485,717,474],{"class":506},[485,719,530],{"class":506},[485,721,722],{"class":533},"/admin-logo.svg",[485,724,537],{"class":506},[485,726,540],{"class":506},[485,728,729],{"class":487,"line":603},[485,730,705],{"emptyLinePlaceholder":704},[485,732,733],{"class":487,"line":622},[485,734,735],{"class":554},"    // Favicon (optional)\n",[485,737,738,741,743,745,748,750],{"class":487,"line":636},[485,739,740],{"class":665},"    favicon",[485,742,474],{"class":506},[485,744,530],{"class":506},[485,746,747],{"class":533},"/admin-favicon.ico",[485,749,537],{"class":506},[485,751,540],{"class":506},[485,753,754],{"class":487,"line":642},[485,755,639],{"class":506},[485,757,759],{"class":487,"line":758},12,[485,760,761],{"class":506},"}\n",[763,764,766],"h3",{"id":765},"logo-guidelines","Logo Guidelines",[768,769,770,778,784,794],"ul",{},[771,772,773,777],"li",{},[774,775,776],"strong",{},"Size:"," Recommended 28x28px for best appearance",[771,779,780,783],{},[774,781,782],{},"Format:"," SVG, PNG, or any web-compatible image",[771,785,786,789,790,793],{},[774,787,788],{},"Path:"," Relative to ",[467,791,792],{},"public/"," directory or absolute URL",[771,795,796,799],{},[774,797,798],{},"Fallback:"," If no logo is provided, a default icon is shown",[459,801,803],{"id":802},"prefix","Prefix",[455,805,806],{},"Set the base URL for all admin routes:",[476,808,810],{"className":478,"code":809,"language":480,"meta":481,"style":481},"autoAdmin: {\n  prefix: '/admin',  // Default\n}\n",[467,811,812,820,839],{"__ignoreMap":481},[485,813,814,816,818],{"class":487,"line":488},[485,815,469],{"class":665},[485,817,474],{"class":506},[485,819,519],{"class":506},[485,821,822,825,827,829,831,833,836],{"class":487,"line":510},[485,823,824],{"class":665},"  prefix",[485,826,474],{"class":506},[485,828,530],{"class":506},[485,830,534],{"class":533},[485,832,537],{"class":506},[485,834,835],{"class":506},",",[485,837,838],{"class":554},"  // Default\n",[485,840,841],{"class":487,"line":522},[485,842,761],{"class":506},[455,844,845],{},"All admin pages will be available under this prefix:",[768,847,848,853,859,865,871],{},[771,849,850,852],{},[467,851,534],{}," - Dashboard",[771,854,855,858],{},[467,856,857],{},"/admin/users"," - Users list",[771,860,861,864],{},[467,862,863],{},"/admin/users/new"," - Create user",[771,866,867,870],{},[467,868,869],{},"/admin/users/1"," - User detail",[771,872,873,876],{},[467,874,875],{},"/admin/users/1/edit"," - Edit user",[459,878,880],{"id":879},"features","Features",[455,882,883],{},"Enable or disable specific features:",[476,885,887],{"className":478,"code":886,"language":480,"meta":481,"style":481},"autoAdmin: {\n  features: {\n    // Bulk operations (select multiple items)\n    bulkActions: true,      // Default: true\n\n    // Search functionality\n    search: true,           // Default: true\n\n    // Advanced filters\n    filters: true,          // Default: true\n\n    // Export data (CSV, JSON, etc.)\n    export: true,           // Default: true\n\n    // Import data\n    import: false,          // Default: false\n\n    // Audit log / history\n    auditLog: false,        // Default: false\n  },\n}\n",[467,888,889,897,906,911,927,931,936,950,954,959,973,977,982,999,1004,1010,1026,1031,1037,1052,1057],{"__ignoreMap":481},[485,890,891,893,895],{"class":487,"line":488},[485,892,469],{"class":665},[485,894,474],{"class":506},[485,896,519],{"class":506},[485,898,899,902,904],{"class":487,"line":510},[485,900,901],{"class":665},"  features",[485,903,474],{"class":506},[485,905,519],{"class":506},[485,907,908],{"class":487,"line":522},[485,909,910],{"class":554},"    // Bulk operations (select multiple items)\n",[485,912,913,916,918,922,924],{"class":487,"line":543},[485,914,915],{"class":665},"    bulkActions",[485,917,474],{"class":506},[485,919,921],{"class":920},"sfNiH"," true",[485,923,835],{"class":506},[485,925,926],{"class":554},"      // Default: true\n",[485,928,929],{"class":487,"line":561},[485,930,705],{"emptyLinePlaceholder":704},[485,932,933],{"class":487,"line":575},[485,934,935],{"class":554},"    // Search functionality\n",[485,937,938,941,943,945,947],{"class":487,"line":589},[485,939,940],{"class":665},"    search",[485,942,474],{"class":506},[485,944,921],{"class":920},[485,946,835],{"class":506},[485,948,949],{"class":554},"           // Default: true\n",[485,951,952],{"class":487,"line":603},[485,953,705],{"emptyLinePlaceholder":704},[485,955,956],{"class":487,"line":622},[485,957,958],{"class":554},"    // Advanced filters\n",[485,960,961,964,966,968,970],{"class":487,"line":636},[485,962,963],{"class":665},"    filters",[485,965,474],{"class":506},[485,967,921],{"class":920},[485,969,835],{"class":506},[485,971,972],{"class":554},"          // Default: true\n",[485,974,975],{"class":487,"line":642},[485,976,705],{"emptyLinePlaceholder":704},[485,978,979],{"class":487,"line":758},[485,980,981],{"class":554},"    // Export data (CSV, JSON, etc.)\n",[485,983,985,989,992,995,997],{"class":487,"line":984},13,[485,986,988],{"class":987},"spNyl","    export",[485,990,991],{"class":513},": ",[485,993,994],{"class":920},"true",[485,996,835],{"class":506},[485,998,949],{"class":554},[485,1000,1002],{"class":487,"line":1001},14,[485,1003,705],{"emptyLinePlaceholder":704},[485,1005,1007],{"class":487,"line":1006},15,[485,1008,1009],{"class":554},"    // Import data\n",[485,1011,1013,1016,1018,1021,1023],{"class":487,"line":1012},16,[485,1014,1015],{"class":665},"    import",[485,1017,474],{"class":506},[485,1019,1020],{"class":920}," false",[485,1022,835],{"class":506},[485,1024,1025],{"class":554},"          // Default: false\n",[485,1027,1029],{"class":487,"line":1028},17,[485,1030,705],{"emptyLinePlaceholder":704},[485,1032,1034],{"class":487,"line":1033},18,[485,1035,1036],{"class":554},"    // Audit log / history\n",[485,1038,1040,1043,1045,1047,1049],{"class":487,"line":1039},19,[485,1041,1042],{"class":665},"    auditLog",[485,1044,474],{"class":506},[485,1046,1020],{"class":920},[485,1048,835],{"class":506},[485,1050,1051],{"class":554},"        // Default: false\n",[485,1053,1055],{"class":487,"line":1054},20,[485,1056,639],{"class":506},[485,1058,1060],{"class":487,"line":1059},21,[485,1061,761],{"class":506},[455,1063,1064,1067],{},[774,1065,1066],{},"Note:"," Some features are not yet fully implemented and serve as placeholders for future development.",[459,1069,1071],{"id":1070},"permission-behavior","Permission Behavior",[455,1073,1074],{},"Control how the UI responds to permission restrictions:",[476,1076,1078],{"className":478,"code":1077,"language":480,"meta":481,"style":481},"autoAdmin: {\n  permissions: {\n    // How to handle buttons when user lacks permission\n    // 'disable' = show buttons but disable them (default)\n    // 'hide' = completely hide buttons\n    unauthorizedButtons: 'disable',\n\n    // How to handle sidebar items when user lacks permission\n    // 'hide' = completely hide items from sidebar (default)\n    // 'disable' = show items but in disabled state\n    unauthorizedSidebarItems: 'hide',\n  },\n}\n",[467,1079,1080,1088,1097,1102,1107,1112,1128,1132,1137,1142,1147,1163,1167],{"__ignoreMap":481},[485,1081,1082,1084,1086],{"class":487,"line":488},[485,1083,469],{"class":665},[485,1085,474],{"class":506},[485,1087,519],{"class":506},[485,1089,1090,1093,1095],{"class":487,"line":510},[485,1091,1092],{"class":665},"  permissions",[485,1094,474],{"class":506},[485,1096,519],{"class":506},[485,1098,1099],{"class":487,"line":522},[485,1100,1101],{"class":554},"    // How to handle buttons when user lacks permission\n",[485,1103,1104],{"class":487,"line":543},[485,1105,1106],{"class":554},"    // 'disable' = show buttons but disable them (default)\n",[485,1108,1109],{"class":487,"line":561},[485,1110,1111],{"class":554},"    // 'hide' = completely hide buttons\n",[485,1113,1114,1117,1119,1121,1124,1126],{"class":487,"line":575},[485,1115,1116],{"class":665},"    unauthorizedButtons",[485,1118,474],{"class":506},[485,1120,530],{"class":506},[485,1122,1123],{"class":533},"disable",[485,1125,537],{"class":506},[485,1127,540],{"class":506},[485,1129,1130],{"class":487,"line":589},[485,1131,705],{"emptyLinePlaceholder":704},[485,1133,1134],{"class":487,"line":603},[485,1135,1136],{"class":554},"    // How to handle sidebar items when user lacks permission\n",[485,1138,1139],{"class":487,"line":622},[485,1140,1141],{"class":554},"    // 'hide' = completely hide items from sidebar (default)\n",[485,1143,1144],{"class":487,"line":636},[485,1145,1146],{"class":554},"    // 'disable' = show items but in disabled state\n",[485,1148,1149,1152,1154,1156,1159,1161],{"class":487,"line":642},[485,1150,1151],{"class":665},"    unauthorizedSidebarItems",[485,1153,474],{"class":506},[485,1155,530],{"class":506},[485,1157,1158],{"class":533},"hide",[485,1160,537],{"class":506},[485,1162,540],{"class":506},[485,1164,1165],{"class":487,"line":758},[485,1166,639],{"class":506},[485,1168,1169],{"class":487,"line":984},[485,1170,761],{"class":506},[763,1172,1174],{"id":1173},"button-behavior-options","Button Behavior Options",[455,1176,1177],{},[774,1178,1179,1182],{},[467,1180,1181],{},"unauthorizedButtons: 'disable'"," (default)",[768,1184,1185,1188,1191,1194],{},[771,1186,1187],{},"Buttons are visible but disabled",[771,1189,1190],{},"Forms show with all fields disabled",[771,1192,1193],{},"User sees what they could do with proper permissions",[771,1195,1196],{},"Better for internal users who might request access",[455,1198,1199],{},[774,1200,1201],{},[467,1202,1203],{},"unauthorizedButtons: 'hide'",[768,1205,1206,1209,1212,1215],{},[771,1207,1208],{},"Buttons are completely hidden",[771,1210,1211],{},"Forms show permission denied message",[771,1213,1214],{},"Cleaner UI for external users",[771,1216,1217],{},"Stricter access control",[763,1219,1221],{"id":1220},"sidebar-behavior-options","Sidebar Behavior Options",[455,1223,1224],{},[774,1225,1226,1182],{},[467,1227,1228],{},"unauthorizedSidebarItems: 'hide'",[768,1230,1231,1234,1237],{},[771,1232,1233],{},"Resources without permissions don't appear in sidebar",[771,1235,1236],{},"Cleaner navigation",[771,1238,1239],{},"Users only see what they can access",[455,1241,1242],{},[774,1243,1244],{},[467,1245,1246],{},"unauthorizedSidebarItems: 'disable'",[768,1248,1249,1252,1255,1258],{},[771,1250,1251],{},"Resources without permissions appear grayed out",[771,1253,1254],{},"Not clickable",[771,1256,1257],{},"Shows what exists but is restricted",[771,1259,1260],{},"Better discoverability",[455,1262,1263,1264,1267],{},"See ",[1265,1266,319],"a",{"href":320}," for more details.",[459,1269,1271],{"id":1270},"access-control","Access Control",[455,1273,1274],{},"Define who can access the admin panel:",[476,1276,1278],{"className":478,"code":1277,"language":480,"meta":481,"style":481},"autoAdmin: {\n  access: async (user) => {\n    // Only allow users with 'admin' role\n    return user?.role === 'admin'\n  },\n}\n",[467,1279,1280,1288,1313,1318,1343,1347],{"__ignoreMap":481},[485,1281,1282,1284,1286],{"class":487,"line":488},[485,1283,469],{"class":665},[485,1285,474],{"class":506},[485,1287,519],{"class":506},[485,1289,1290,1293,1295,1298,1301,1305,1308,1311],{"class":487,"line":510},[485,1291,1292],{"class":665},"  access",[485,1294,474],{"class":506},[485,1296,1297],{"class":987}," async",[485,1299,1300],{"class":506}," (",[485,1302,1304],{"class":1303},"sHdIc","user",[485,1306,1307],{"class":506},")",[485,1309,1310],{"class":987}," =>",[485,1312,519],{"class":506},[485,1314,1315],{"class":487,"line":522},[485,1316,1317],{"class":554},"    // Only allow users with 'admin' role\n",[485,1319,1320,1323,1326,1329,1332,1335,1337,1340],{"class":487,"line":543},[485,1321,1322],{"class":491},"    return",[485,1324,1325],{"class":502}," user",[485,1327,1328],{"class":506},"?.",[485,1330,1331],{"class":502},"role",[485,1333,1334],{"class":506}," ===",[485,1336,530],{"class":506},[485,1338,1339],{"class":533},"admin",[485,1341,1342],{"class":506},"'\n",[485,1344,1345],{"class":487,"line":561},[485,1346,639],{"class":506},[485,1348,1349],{"class":487,"line":575},[485,1350,761],{"class":506},[455,1352,1353,1354,1357],{},"If the function returns ",[467,1355,1356],{},"false",", users are denied access to the entire admin panel.",[455,1359,1360,1362,1363,1366],{},[774,1361,1066],{}," This is separate from resource-level permissions, which are handled by ",[467,1364,1365],{},"@websideproject/nuxt-auto-api",".",[459,1368,1370],{"id":1369},"dashboard","Dashboard",[455,1372,1373],{},"Customize the admin dashboard (work in progress):",[476,1375,1377],{"className":478,"code":1376,"language":480,"meta":481,"style":481},"autoAdmin: {\n  dashboard: {\n    // Custom dashboard component\n    component: '~/components/CustomDashboard.vue',\n\n    // Dashboard widgets (future feature)\n    widgets: [\n      {\n        type: 'stat',\n        resource: 'users',\n        label: 'Total Users',\n        aggregation: 'count',\n      },\n      {\n        type: 'chart',\n        resource: 'posts',\n        groupBy: 'createdAt',\n      },\n    ],\n  },\n}\n",[467,1378,1379,1387,1396,1401,1417,1421,1426,1436,1441,1457,1473,1489,1505,1510,1514,1529,1544,1560,1564,1571,1575],{"__ignoreMap":481},[485,1380,1381,1383,1385],{"class":487,"line":488},[485,1382,469],{"class":665},[485,1384,474],{"class":506},[485,1386,519],{"class":506},[485,1388,1389,1392,1394],{"class":487,"line":510},[485,1390,1391],{"class":665},"  dashboard",[485,1393,474],{"class":506},[485,1395,519],{"class":506},[485,1397,1398],{"class":487,"line":522},[485,1399,1400],{"class":554},"    // Custom dashboard component\n",[485,1402,1403,1406,1408,1410,1413,1415],{"class":487,"line":543},[485,1404,1405],{"class":665},"    component",[485,1407,474],{"class":506},[485,1409,530],{"class":506},[485,1411,1412],{"class":533},"~/components/CustomDashboard.vue",[485,1414,537],{"class":506},[485,1416,540],{"class":506},[485,1418,1419],{"class":487,"line":561},[485,1420,705],{"emptyLinePlaceholder":704},[485,1422,1423],{"class":487,"line":575},[485,1424,1425],{"class":554},"    // Dashboard widgets (future feature)\n",[485,1427,1428,1431,1433],{"class":487,"line":589},[485,1429,1430],{"class":665},"    widgets",[485,1432,474],{"class":506},[485,1434,1435],{"class":513}," [\n",[485,1437,1438],{"class":487,"line":603},[485,1439,1440],{"class":506},"      {\n",[485,1442,1443,1446,1448,1450,1453,1455],{"class":487,"line":622},[485,1444,1445],{"class":513},"        type",[485,1447,474],{"class":506},[485,1449,530],{"class":506},[485,1451,1452],{"class":533},"stat",[485,1454,537],{"class":506},[485,1456,540],{"class":506},[485,1458,1459,1462,1464,1466,1469,1471],{"class":487,"line":636},[485,1460,1461],{"class":513},"        resource",[485,1463,474],{"class":506},[485,1465,530],{"class":506},[485,1467,1468],{"class":533},"users",[485,1470,537],{"class":506},[485,1472,540],{"class":506},[485,1474,1475,1478,1480,1482,1485,1487],{"class":487,"line":642},[485,1476,1477],{"class":513},"        label",[485,1479,474],{"class":506},[485,1481,530],{"class":506},[485,1483,1484],{"class":533},"Total Users",[485,1486,537],{"class":506},[485,1488,540],{"class":506},[485,1490,1491,1494,1496,1498,1501,1503],{"class":487,"line":758},[485,1492,1493],{"class":513},"        aggregation",[485,1495,474],{"class":506},[485,1497,530],{"class":506},[485,1499,1500],{"class":533},"count",[485,1502,537],{"class":506},[485,1504,540],{"class":506},[485,1506,1507],{"class":487,"line":984},[485,1508,1509],{"class":506},"      },\n",[485,1511,1512],{"class":487,"line":1001},[485,1513,1440],{"class":506},[485,1515,1516,1518,1520,1522,1525,1527],{"class":487,"line":1006},[485,1517,1445],{"class":513},[485,1519,474],{"class":506},[485,1521,530],{"class":506},[485,1523,1524],{"class":533},"chart",[485,1526,537],{"class":506},[485,1528,540],{"class":506},[485,1530,1531,1533,1535,1537,1540,1542],{"class":487,"line":1012},[485,1532,1461],{"class":513},[485,1534,474],{"class":506},[485,1536,530],{"class":506},[485,1538,1539],{"class":533},"posts",[485,1541,537],{"class":506},[485,1543,540],{"class":506},[485,1545,1546,1549,1551,1553,1556,1558],{"class":487,"line":1028},[485,1547,1548],{"class":513},"        groupBy",[485,1550,474],{"class":506},[485,1552,530],{"class":506},[485,1554,1555],{"class":533},"createdAt",[485,1557,537],{"class":506},[485,1559,540],{"class":506},[485,1561,1562],{"class":487,"line":1033},[485,1563,1509],{"class":506},[485,1565,1566,1569],{"class":487,"line":1039},[485,1567,1568],{"class":513},"    ]",[485,1570,540],{"class":506},[485,1572,1573],{"class":487,"line":1054},[485,1574,639],{"class":506},[485,1576,1577],{"class":487,"line":1059},[485,1578,761],{"class":506},[459,1580,1582],{"id":1581},"theming-with-nuxt-ui","Theming with Nuxt UI",[455,1584,1585,1586,1589],{},"Since @websideproject/nuxt-auto-admin uses ",[467,1587,1588],{},"@nuxt/ui",", you can customize the appearance using Nuxt UI's theming system:",[763,1591,1593],{"id":1592},"app-config","App Config",[476,1595,1597],{"className":478,"code":1596,"language":480,"meta":481,"style":481},"// app.config.ts\nexport default defineAppConfig({\n  ui: {\n    primary: 'blue',\n    gray: 'slate',\n  },\n})\n",[467,1598,1599,1604,1617,1626,1642,1658,1662],{"__ignoreMap":481},[485,1600,1601],{"class":487,"line":488},[485,1602,1603],{"class":554},"// app.config.ts\n",[485,1605,1606,1608,1610,1613,1615],{"class":487,"line":510},[485,1607,492],{"class":491},[485,1609,495],{"class":491},[485,1611,1612],{"class":498}," defineAppConfig",[485,1614,503],{"class":502},[485,1616,507],{"class":506},[485,1618,1619,1622,1624],{"class":487,"line":522},[485,1620,1621],{"class":513},"  ui",[485,1623,474],{"class":506},[485,1625,519],{"class":506},[485,1627,1628,1631,1633,1635,1638,1640],{"class":487,"line":543},[485,1629,1630],{"class":513},"    primary",[485,1632,474],{"class":506},[485,1634,530],{"class":506},[485,1636,1637],{"class":533},"blue",[485,1639,537],{"class":506},[485,1641,540],{"class":506},[485,1643,1644,1647,1649,1651,1654,1656],{"class":487,"line":561},[485,1645,1646],{"class":513},"    gray",[485,1648,474],{"class":506},[485,1650,530],{"class":506},[485,1652,1653],{"class":533},"slate",[485,1655,537],{"class":506},[485,1657,540],{"class":506},[485,1659,1660],{"class":487,"line":575},[485,1661,639],{"class":506},[485,1663,1664,1666],{"class":487,"line":589},[485,1665,645],{"class":506},[485,1667,648],{"class":502},[763,1669,1671],{"id":1670},"tailwind-configuration","Tailwind Configuration",[476,1673,1675],{"className":478,"code":1674,"language":480,"meta":481,"style":481},"// tailwind.config.ts\nimport type { Config } from 'tailwindcss'\n\nexport default {\n  theme: {\n    extend: {\n      colors: {\n        // Your custom colors\n      },\n    },\n  },\n} satisfies Config\n",[467,1676,1677,1682,1708,1712,1720,1729,1738,1747,1752,1756,1761,1765],{"__ignoreMap":481},[485,1678,1679],{"class":487,"line":488},[485,1680,1681],{"class":554},"// tailwind.config.ts\n",[485,1683,1684,1687,1690,1692,1695,1698,1701,1703,1706],{"class":487,"line":510},[485,1685,1686],{"class":491},"import",[485,1688,1689],{"class":491}," type",[485,1691,551],{"class":506},[485,1693,1694],{"class":502}," Config",[485,1696,1697],{"class":506}," }",[485,1699,1700],{"class":491}," from",[485,1702,530],{"class":506},[485,1704,1705],{"class":533},"tailwindcss",[485,1707,1342],{"class":506},[485,1709,1710],{"class":487,"line":522},[485,1711,705],{"emptyLinePlaceholder":704},[485,1713,1714,1716,1718],{"class":487,"line":543},[485,1715,492],{"class":491},[485,1717,495],{"class":491},[485,1719,519],{"class":506},[485,1721,1722,1725,1727],{"class":487,"line":561},[485,1723,1724],{"class":513},"  theme",[485,1726,474],{"class":506},[485,1728,519],{"class":506},[485,1730,1731,1734,1736],{"class":487,"line":575},[485,1732,1733],{"class":513},"    extend",[485,1735,474],{"class":506},[485,1737,519],{"class":506},[485,1739,1740,1743,1745],{"class":487,"line":589},[485,1741,1742],{"class":513},"      colors",[485,1744,474],{"class":506},[485,1746,519],{"class":506},[485,1748,1749],{"class":487,"line":603},[485,1750,1751],{"class":554},"        // Your custom colors\n",[485,1753,1754],{"class":487,"line":622},[485,1755,1509],{"class":506},[485,1757,1758],{"class":487,"line":636},[485,1759,1760],{"class":506},"    },\n",[485,1762,1763],{"class":487,"line":642},[485,1764,639],{"class":506},[485,1766,1767,1769,1772],{"class":487,"line":758},[485,1768,645],{"class":506},[485,1770,1771],{"class":491}," satisfies",[485,1773,1774],{"class":665}," Config\n",[763,1776,1778],{"id":1777},"color-mode","Color Mode",[455,1780,1781],{},"Dark mode is supported by default through Nuxt UI. Users can toggle between light and dark themes using the color mode switcher.",[459,1783,1785],{"id":1784},"custom-css","Custom CSS",[455,1787,1788],{},"Add custom styles to override or extend the default admin styles:",[476,1790,1792],{"className":478,"code":1791,"language":480,"meta":481,"style":481},"// nuxt.config.ts\nexport default defineNuxtConfig({\n  css: [\n    '~/assets/css/admin-custom.css',\n  ],\n})\n",[467,1793,1794,1799,1811,1820,1832,1839],{"__ignoreMap":481},[485,1795,1796],{"class":487,"line":488},[485,1797,1798],{"class":554},"// nuxt.config.ts\n",[485,1800,1801,1803,1805,1807,1809],{"class":487,"line":510},[485,1802,492],{"class":491},[485,1804,495],{"class":491},[485,1806,499],{"class":498},[485,1808,503],{"class":502},[485,1810,507],{"class":506},[485,1812,1813,1816,1818],{"class":487,"line":522},[485,1814,1815],{"class":513},"  css",[485,1817,474],{"class":506},[485,1819,1435],{"class":502},[485,1821,1822,1825,1828,1830],{"class":487,"line":543},[485,1823,1824],{"class":506},"    '",[485,1826,1827],{"class":533},"~/assets/css/admin-custom.css",[485,1829,537],{"class":506},[485,1831,540],{"class":506},[485,1833,1834,1837],{"class":487,"line":561},[485,1835,1836],{"class":502},"  ]",[485,1838,540],{"class":506},[485,1840,1841,1843],{"class":487,"line":575},[485,1842,645],{"class":506},[485,1844,648],{"class":502},[476,1846,1850],{"className":1847,"code":1848,"language":1849,"meta":481,"style":481},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","/* assets/css/admin-custom.css */\n.admin-sidebar {\n  /* Custom sidebar styles */\n}\n\n.admin-table {\n  /* Custom table styles */\n}\n","css",[467,1851,1852,1857,1866,1871,1875,1879,1888,1893],{"__ignoreMap":481},[485,1853,1854],{"class":487,"line":488},[485,1855,1856],{"class":554},"/* assets/css/admin-custom.css */\n",[485,1858,1859,1861,1864],{"class":487,"line":510},[485,1860,1366],{"class":506},[485,1862,1863],{"class":665},"admin-sidebar",[485,1865,519],{"class":506},[485,1867,1868],{"class":487,"line":522},[485,1869,1870],{"class":554},"  /* Custom sidebar styles */\n",[485,1872,1873],{"class":487,"line":543},[485,1874,761],{"class":506},[485,1876,1877],{"class":487,"line":561},[485,1878,705],{"emptyLinePlaceholder":704},[485,1880,1881,1883,1886],{"class":487,"line":575},[485,1882,1366],{"class":506},[485,1884,1885],{"class":665},"admin-table",[485,1887,519],{"class":506},[485,1889,1890],{"class":487,"line":589},[485,1891,1892],{"class":554},"  /* Custom table styles */\n",[485,1894,1895],{"class":487,"line":603},[485,1896,761],{"class":506},[459,1898,1900],{"id":1899},"complete-example","Complete Example",[476,1902,1904],{"className":478,"code":1903,"language":480,"meta":481,"style":481},"// nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['@nuxt/ui', '@websideproject/nuxt-auto-api', '@websideproject/nuxt-auto-admin'],\n\n  autoAdmin: {\n    prefix: '/admin',\n\n    branding: {\n      title: 'Acme Corp Admin',\n      logo: '/acme-logo.svg',\n      favicon: '/admin-favicon.ico',\n    },\n\n    permissions: {\n      unauthorizedButtons: 'disable',\n      unauthorizedSidebarItems: 'hide',\n    },\n\n    features: {\n      bulkActions: true,\n      search: true,\n      filters: true,\n      export: true,\n      import: false,\n      auditLog: false,\n    },\n\n    access: async (user) => {\n      return user?.role === 'admin' || user?.role === 'moderator'\n    },\n  },\n})\n",[467,1905,1906,1910,1922,1960,1964,1972,1986,1990,1998,2014,2030,2045,2049,2053,2061,2076,2091,2095,2099,2107,2118,2129,2141,2153,2165,2177,2182,2187,2207,2245,2250,2255],{"__ignoreMap":481},[485,1907,1908],{"class":487,"line":488},[485,1909,1798],{"class":554},[485,1911,1912,1914,1916,1918,1920],{"class":487,"line":510},[485,1913,492],{"class":491},[485,1915,495],{"class":491},[485,1917,499],{"class":498},[485,1919,503],{"class":502},[485,1921,507],{"class":506},[485,1923,1924,1927,1929,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1953,1955,1958],{"class":487,"line":522},[485,1925,1926],{"class":513},"  modules",[485,1928,474],{"class":506},[485,1930,1931],{"class":502}," [",[485,1933,537],{"class":506},[485,1935,1588],{"class":533},[485,1937,537],{"class":506},[485,1939,835],{"class":506},[485,1941,530],{"class":506},[485,1943,1365],{"class":533},[485,1945,537],{"class":506},[485,1947,835],{"class":506},[485,1949,530],{"class":506},[485,1951,1952],{"class":533},"@websideproject/nuxt-auto-admin",[485,1954,537],{"class":506},[485,1956,1957],{"class":502},"]",[485,1959,540],{"class":506},[485,1961,1962],{"class":487,"line":543},[485,1963,705],{"emptyLinePlaceholder":704},[485,1965,1966,1968,1970],{"class":487,"line":561},[485,1967,514],{"class":513},[485,1969,474],{"class":506},[485,1971,519],{"class":506},[485,1973,1974,1976,1978,1980,1982,1984],{"class":487,"line":575},[485,1975,525],{"class":513},[485,1977,474],{"class":506},[485,1979,530],{"class":506},[485,1981,534],{"class":533},[485,1983,537],{"class":506},[485,1985,540],{"class":506},[485,1987,1988],{"class":487,"line":589},[485,1989,705],{"emptyLinePlaceholder":704},[485,1991,1992,1994,1996],{"class":487,"line":603},[485,1993,546],{"class":513},[485,1995,474],{"class":506},[485,1997,519],{"class":506},[485,1999,2000,2003,2005,2007,2010,2012],{"class":487,"line":622},[485,2001,2002],{"class":513},"      title",[485,2004,474],{"class":506},[485,2006,530],{"class":506},[485,2008,2009],{"class":533},"Acme Corp Admin",[485,2011,537],{"class":506},[485,2013,540],{"class":506},[485,2015,2016,2019,2021,2023,2026,2028],{"class":487,"line":636},[485,2017,2018],{"class":513},"      logo",[485,2020,474],{"class":506},[485,2022,530],{"class":506},[485,2024,2025],{"class":533},"/acme-logo.svg",[485,2027,537],{"class":506},[485,2029,540],{"class":506},[485,2031,2032,2035,2037,2039,2041,2043],{"class":487,"line":642},[485,2033,2034],{"class":513},"      favicon",[485,2036,474],{"class":506},[485,2038,530],{"class":506},[485,2040,747],{"class":533},[485,2042,537],{"class":506},[485,2044,540],{"class":506},[485,2046,2047],{"class":487,"line":758},[485,2048,1760],{"class":506},[485,2050,2051],{"class":487,"line":984},[485,2052,705],{"emptyLinePlaceholder":704},[485,2054,2055,2057,2059],{"class":487,"line":1001},[485,2056,564],{"class":513},[485,2058,474],{"class":506},[485,2060,519],{"class":506},[485,2062,2063,2066,2068,2070,2072,2074],{"class":487,"line":1006},[485,2064,2065],{"class":513},"      unauthorizedButtons",[485,2067,474],{"class":506},[485,2069,530],{"class":506},[485,2071,1123],{"class":533},[485,2073,537],{"class":506},[485,2075,540],{"class":506},[485,2077,2078,2081,2083,2085,2087,2089],{"class":487,"line":1012},[485,2079,2080],{"class":513},"      unauthorizedSidebarItems",[485,2082,474],{"class":506},[485,2084,530],{"class":506},[485,2086,1158],{"class":533},[485,2088,537],{"class":506},[485,2090,540],{"class":506},[485,2092,2093],{"class":487,"line":1028},[485,2094,1760],{"class":506},[485,2096,2097],{"class":487,"line":1033},[485,2098,705],{"emptyLinePlaceholder":704},[485,2100,2101,2103,2105],{"class":487,"line":1039},[485,2102,578],{"class":513},[485,2104,474],{"class":506},[485,2106,519],{"class":506},[485,2108,2109,2112,2114,2116],{"class":487,"line":1054},[485,2110,2111],{"class":513},"      bulkActions",[485,2113,474],{"class":506},[485,2115,921],{"class":920},[485,2117,540],{"class":506},[485,2119,2120,2123,2125,2127],{"class":487,"line":1059},[485,2121,2122],{"class":513},"      search",[485,2124,474],{"class":506},[485,2126,921],{"class":920},[485,2128,540],{"class":506},[485,2130,2132,2135,2137,2139],{"class":487,"line":2131},22,[485,2133,2134],{"class":513},"      filters",[485,2136,474],{"class":506},[485,2138,921],{"class":920},[485,2140,540],{"class":506},[485,2142,2144,2147,2149,2151],{"class":487,"line":2143},23,[485,2145,2146],{"class":513},"      export",[485,2148,474],{"class":506},[485,2150,921],{"class":920},[485,2152,540],{"class":506},[485,2154,2156,2159,2161,2163],{"class":487,"line":2155},24,[485,2157,2158],{"class":513},"      import",[485,2160,474],{"class":506},[485,2162,1020],{"class":920},[485,2164,540],{"class":506},[485,2166,2168,2171,2173,2175],{"class":487,"line":2167},25,[485,2169,2170],{"class":513},"      auditLog",[485,2172,474],{"class":506},[485,2174,1020],{"class":920},[485,2176,540],{"class":506},[485,2178,2180],{"class":487,"line":2179},26,[485,2181,1760],{"class":506},[485,2183,2185],{"class":487,"line":2184},27,[485,2186,705],{"emptyLinePlaceholder":704},[485,2188,2190,2193,2195,2197,2199,2201,2203,2205],{"class":487,"line":2189},28,[485,2191,2192],{"class":498},"    access",[485,2194,474],{"class":506},[485,2196,1297],{"class":987},[485,2198,1300],{"class":506},[485,2200,1304],{"class":1303},[485,2202,1307],{"class":506},[485,2204,1310],{"class":987},[485,2206,519],{"class":506},[485,2208,2210,2213,2215,2217,2219,2221,2223,2225,2227,2230,2232,2234,2236,2238,2240,2243],{"class":487,"line":2209},29,[485,2211,2212],{"class":491},"      return",[485,2214,1325],{"class":502},[485,2216,1328],{"class":506},[485,2218,1331],{"class":502},[485,2220,1334],{"class":506},[485,2222,530],{"class":506},[485,2224,1339],{"class":533},[485,2226,537],{"class":506},[485,2228,2229],{"class":506}," ||",[485,2231,1325],{"class":502},[485,2233,1328],{"class":506},[485,2235,1331],{"class":502},[485,2237,1334],{"class":506},[485,2239,530],{"class":506},[485,2241,2242],{"class":533},"moderator",[485,2244,1342],{"class":506},[485,2246,2248],{"class":487,"line":2247},30,[485,2249,1760],{"class":506},[485,2251,2253],{"class":487,"line":2252},31,[485,2254,639],{"class":506},[485,2256,2258,2260],{"class":487,"line":2257},32,[485,2259,645],{"class":506},[485,2261,648],{"class":502},[476,2263,2265],{"className":478,"code":2264,"language":480,"meta":481,"style":481},"// app.config.ts\nexport default defineAppConfig({\n  ui: {\n    primary: 'indigo',\n    gray: 'neutral',\n  },\n})\n",[467,2266,2267,2271,2283,2291,2306,2321,2325],{"__ignoreMap":481},[485,2268,2269],{"class":487,"line":488},[485,2270,1603],{"class":554},[485,2272,2273,2275,2277,2279,2281],{"class":487,"line":510},[485,2274,492],{"class":491},[485,2276,495],{"class":491},[485,2278,1612],{"class":498},[485,2280,503],{"class":502},[485,2282,507],{"class":506},[485,2284,2285,2287,2289],{"class":487,"line":522},[485,2286,1621],{"class":513},[485,2288,474],{"class":506},[485,2290,519],{"class":506},[485,2292,2293,2295,2297,2299,2302,2304],{"class":487,"line":543},[485,2294,1630],{"class":513},[485,2296,474],{"class":506},[485,2298,530],{"class":506},[485,2300,2301],{"class":533},"indigo",[485,2303,537],{"class":506},[485,2305,540],{"class":506},[485,2307,2308,2310,2312,2314,2317,2319],{"class":487,"line":561},[485,2309,1646],{"class":513},[485,2311,474],{"class":506},[485,2313,530],{"class":506},[485,2315,2316],{"class":533},"neutral",[485,2318,537],{"class":506},[485,2320,540],{"class":506},[485,2322,2323],{"class":487,"line":575},[485,2324,639],{"class":506},[485,2326,2327,2329],{"class":487,"line":589},[485,2328,645],{"class":506},[485,2330,648],{"class":502},[459,2332,2334],{"id":2333},"next-steps","Next Steps",[768,2336,2337,2342,2347],{},[771,2338,2339,2341],{},[1265,2340,311],{"href":312}," - Configure individual resources",[771,2343,2344,2346],{},[1265,2345,319],{"href":320}," - Set up detailed permission handling",[771,2348,2349,2351],{},[1265,2350,323],{"href":324}," - Add custom admin pages",[2353,2354,2355],"style",{},"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":481,"searchDepth":510,"depth":510,"links":2357},[2358,2359,2362,2363,2364,2368,2369,2370,2375,2376,2377],{"id":461,"depth":510,"text":462},{"id":651,"depth":510,"text":652,"children":2360},[2361],{"id":765,"depth":522,"text":766},{"id":802,"depth":510,"text":803},{"id":879,"depth":510,"text":880},{"id":1070,"depth":510,"text":1071,"children":2365},[2366,2367],{"id":1173,"depth":522,"text":1174},{"id":1220,"depth":522,"text":1221},{"id":1270,"depth":510,"text":1271},{"id":1369,"depth":510,"text":1370},{"id":1581,"depth":510,"text":1582,"children":2371},[2372,2373,2374],{"id":1592,"depth":522,"text":1593},{"id":1670,"depth":522,"text":1671},{"id":1777,"depth":522,"text":1778},{"id":1784,"depth":510,"text":1785},{"id":1899,"depth":510,"text":1900},{"id":2333,"depth":510,"text":2334},"md",null,{},{"title":307,"description":457},"cwjdsglgnaJMNMDgMsq3m-c7O7iPPN8WBsImLEPovrk",[2384,2386],{"title":185,"path":304,"stem":305,"description":2385,"children":-1},"Nuxt Auto Admin automatically generates a beautiful, type-safe admin panel from your Auto API resources with built-in CRUD operations, permissions, and customization options.",{"title":311,"path":312,"stem":313,"description":2387,"children":-1},"Configure how each resource appears and behaves in the admin panel.",1772977478670]