[{"data":1,"prerenderedAt":5350},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"/docs/nuxt-auto/auto-admin/composables-en":444,"/docs/nuxt-auto/auto-admin/composables-surround-en":5347},[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":5343},{"id":446,"title":335,"body":447,"description":457,"extension":5342,"links":5343,"meta":5344,"navigation":5343,"ogImage":5343,"path":336,"seo":5345,"stem":337,"__hash__":5346},"nuxt_auto/0.docs/3.nuxt-auto/3.auto-admin/9.composables.md",{"type":448,"value":449,"toc":5317},"minimark",[450,454,458,463,468,471,557,563,740,744,747,789,793,955,959,962,1050,1054,1262,1266,1269,1351,1355,1597,1601,1604,1673,1677,1767,1771,1774,1836,1840,1940,1944,1951,1955,1958,2029,2033,2261,2265,2268,2336,2340,2511,2515,2518,2587,2591,2829,2833,2836,2891,2895,3063,3067,3070,3125,3129,3284,3288,3291,3352,3356,3359,3464,3468,3472,3475,3563,3567,3570,3718,3722,5294,5298,5313],[451,452,335],"h1",{"id":453},"composables",[455,456,457],"p",{},"Auto-imported composables available in your admin components and custom pages.",[459,460,462],"h2",{"id":461},"admin-composables","Admin Composables",[464,465,467],"h3",{"id":466},"useadminregistry","useAdminRegistry",[455,469,470],{},"Access all registered resources and their schemas.",[472,473,478],"pre",{"className":474,"code":475,"language":476,"meta":477,"style":477},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const {\n  allResources,           // Ref\u003CResourceSchema[]>\n  getResourcesByGroup,    // Ref\u003CRecord\u003Cstring, ResourceSchema[]>>\n  getResource,            // (name: string) => ResourceSchema | undefined\n  isLoading,              // Ref\u003Cboolean>\n} = useAdminRegistry()\n","typescript","",[479,480,481,494,508,519,530,541],"code",{"__ignoreMap":477},[482,483,486,490],"span",{"class":484,"line":485},"line",1,[482,487,489],{"class":488},"spNyl","const",[482,491,493],{"class":492},"sMK4o"," {\n",[482,495,497,501,504],{"class":484,"line":496},2,[482,498,500],{"class":499},"sTEyZ","  allResources",[482,502,503],{"class":492},",",[482,505,507],{"class":506},"sHwdD","           // Ref\u003CResourceSchema[]>\n",[482,509,511,514,516],{"class":484,"line":510},3,[482,512,513],{"class":499},"  getResourcesByGroup",[482,515,503],{"class":492},[482,517,518],{"class":506},"    // Ref\u003CRecord\u003Cstring, ResourceSchema[]>>\n",[482,520,522,525,527],{"class":484,"line":521},4,[482,523,524],{"class":499},"  getResource",[482,526,503],{"class":492},[482,528,529],{"class":506},"            // (name: string) => ResourceSchema | undefined\n",[482,531,533,536,538],{"class":484,"line":532},5,[482,534,535],{"class":499},"  isLoading",[482,537,503],{"class":492},[482,539,540],{"class":506},"              // Ref\u003Cboolean>\n",[482,542,544,547,550,554],{"class":484,"line":543},6,[482,545,546],{"class":492},"}",[482,548,549],{"class":492}," =",[482,551,553],{"class":552},"s2Zo4"," useAdminRegistry",[482,555,556],{"class":499},"()\n",[455,558,559],{},[560,561,562],"strong",{},"Example:",[472,564,568],{"className":565,"code":566,"language":567,"meta":477,"style":477},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup>\nconst { allResources, getResourcesByGroup } = useAdminRegistry()\n\n// Get all resources\nconsole.log(allResources.value)\n\n// Get resources by group\nconst grouped = getResourcesByGroup.value\n// { 'Content': [...], 'User Management': [...] }\n\n// Get specific resource\nconst { getResource } = useAdminRegistry()\nconst usersResource = getResource('users')\n\u003C/script>\n","vue",[479,569,570,585,608,614,619,638,642,648,667,673,678,684,702,730],{"__ignoreMap":477},[482,571,572,575,579,582],{"class":484,"line":485},[482,573,574],{"class":492},"\u003C",[482,576,578],{"class":577},"swJcz","script",[482,580,581],{"class":488}," setup",[482,583,584],{"class":492},">\n",[482,586,587,589,592,595,597,600,602,604,606],{"class":484,"line":496},[482,588,489],{"class":488},[482,590,591],{"class":492}," {",[482,593,594],{"class":499}," allResources",[482,596,503],{"class":492},[482,598,599],{"class":499}," getResourcesByGroup ",[482,601,546],{"class":492},[482,603,549],{"class":492},[482,605,553],{"class":552},[482,607,556],{"class":499},[482,609,610],{"class":484,"line":510},[482,611,613],{"emptyLinePlaceholder":612},true,"\n",[482,615,616],{"class":484,"line":521},[482,617,618],{"class":506},"// Get all resources\n",[482,620,621,624,627,630,633,635],{"class":484,"line":532},[482,622,623],{"class":499},"console",[482,625,626],{"class":492},".",[482,628,629],{"class":552},"log",[482,631,632],{"class":499},"(allResources",[482,634,626],{"class":492},[482,636,637],{"class":499},"value)\n",[482,639,640],{"class":484,"line":543},[482,641,613],{"emptyLinePlaceholder":612},[482,643,645],{"class":484,"line":644},7,[482,646,647],{"class":506},"// Get resources by group\n",[482,649,651,653,656,659,662,664],{"class":484,"line":650},8,[482,652,489],{"class":488},[482,654,655],{"class":499}," grouped ",[482,657,658],{"class":492},"=",[482,660,661],{"class":499}," getResourcesByGroup",[482,663,626],{"class":492},[482,665,666],{"class":499},"value\n",[482,668,670],{"class":484,"line":669},9,[482,671,672],{"class":506},"// { 'Content': [...], 'User Management': [...] }\n",[482,674,676],{"class":484,"line":675},10,[482,677,613],{"emptyLinePlaceholder":612},[482,679,681],{"class":484,"line":680},11,[482,682,683],{"class":506},"// Get specific resource\n",[482,685,687,689,691,694,696,698,700],{"class":484,"line":686},12,[482,688,489],{"class":488},[482,690,591],{"class":492},[482,692,693],{"class":499}," getResource ",[482,695,546],{"class":492},[482,697,549],{"class":492},[482,699,553],{"class":552},[482,701,556],{"class":499},[482,703,705,707,710,712,715,718,721,725,727],{"class":484,"line":704},13,[482,706,489],{"class":488},[482,708,709],{"class":499}," usersResource ",[482,711,658],{"class":492},[482,713,714],{"class":552}," getResource",[482,716,717],{"class":499},"(",[482,719,720],{"class":492},"'",[482,722,724],{"class":723},"sfazB","users",[482,726,720],{"class":492},[482,728,729],{"class":499},")\n",[482,731,733,736,738],{"class":484,"line":732},14,[482,734,735],{"class":492},"\u003C/",[482,737,578],{"class":577},[482,739,584],{"class":492},[464,741,743],{"id":742},"useadminresource","useAdminResource",[455,745,746],{},"Get schema information for a specific resource.",[472,748,750],{"className":474,"code":749,"language":476,"meta":477,"style":477},"const {\n  resource,    // Ref\u003CResourceSchema | undefined>\n  isLoading,   // Ref\u003Cboolean>\n} = useAdminResource(resourceName)\n",[479,751,752,758,768,777],{"__ignoreMap":477},[482,753,754,756],{"class":484,"line":485},[482,755,489],{"class":488},[482,757,493],{"class":492},[482,759,760,763,765],{"class":484,"line":496},[482,761,762],{"class":499},"  resource",[482,764,503],{"class":492},[482,766,767],{"class":506},"    // Ref\u003CResourceSchema | undefined>\n",[482,769,770,772,774],{"class":484,"line":510},[482,771,535],{"class":499},[482,773,503],{"class":492},[482,775,776],{"class":506},"   // Ref\u003Cboolean>\n",[482,778,779,781,783,786],{"class":484,"line":521},[482,780,546],{"class":492},[482,782,549],{"class":492},[482,784,785],{"class":552}," useAdminResource",[482,787,788],{"class":499},"(resourceName)\n",[455,790,791],{},[560,792,562],{},[472,794,796],{"className":565,"code":795,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst resourceName = ref('users')\nconst { resource } = useAdminResource(resourceName)\n\n// Access schema\nconsole.log(resource.value?.displayName)  // 'Users'\nconsole.log(resource.value?.icon)         // 'i-heroicons-user-group'\nconsole.log(resource.value?.columns)      // Column metadata\nconsole.log(resource.value?.formFields)   // Form configuration\n\u003C/script>\n",[479,797,798,808,830,847,851,856,881,903,925,947],{"__ignoreMap":477},[482,799,800,802,804,806],{"class":484,"line":485},[482,801,574],{"class":492},[482,803,578],{"class":577},[482,805,581],{"class":488},[482,807,584],{"class":492},[482,809,810,812,815,817,820,822,824,826,828],{"class":484,"line":496},[482,811,489],{"class":488},[482,813,814],{"class":499}," resourceName ",[482,816,658],{"class":492},[482,818,819],{"class":552}," ref",[482,821,717],{"class":499},[482,823,720],{"class":492},[482,825,724],{"class":723},[482,827,720],{"class":492},[482,829,729],{"class":499},[482,831,832,834,836,839,841,843,845],{"class":484,"line":510},[482,833,489],{"class":488},[482,835,591],{"class":492},[482,837,838],{"class":499}," resource ",[482,840,546],{"class":492},[482,842,549],{"class":492},[482,844,785],{"class":552},[482,846,788],{"class":499},[482,848,849],{"class":484,"line":521},[482,850,613],{"emptyLinePlaceholder":612},[482,852,853],{"class":484,"line":532},[482,854,855],{"class":506},"// Access schema\n",[482,857,858,860,862,864,867,869,872,875,878],{"class":484,"line":543},[482,859,623],{"class":499},[482,861,626],{"class":492},[482,863,629],{"class":552},[482,865,866],{"class":499},"(resource",[482,868,626],{"class":492},[482,870,871],{"class":499},"value",[482,873,874],{"class":492},"?.",[482,876,877],{"class":499},"displayName)  ",[482,879,880],{"class":506},"// 'Users'\n",[482,882,883,885,887,889,891,893,895,897,900],{"class":484,"line":644},[482,884,623],{"class":499},[482,886,626],{"class":492},[482,888,629],{"class":552},[482,890,866],{"class":499},[482,892,626],{"class":492},[482,894,871],{"class":499},[482,896,874],{"class":492},[482,898,899],{"class":499},"icon)         ",[482,901,902],{"class":506},"// 'i-heroicons-user-group'\n",[482,904,905,907,909,911,913,915,917,919,922],{"class":484,"line":650},[482,906,623],{"class":499},[482,908,626],{"class":492},[482,910,629],{"class":552},[482,912,866],{"class":499},[482,914,626],{"class":492},[482,916,871],{"class":499},[482,918,874],{"class":492},[482,920,921],{"class":499},"columns)      ",[482,923,924],{"class":506},"// Column metadata\n",[482,926,927,929,931,933,935,937,939,941,944],{"class":484,"line":669},[482,928,623],{"class":499},[482,930,626],{"class":492},[482,932,629],{"class":552},[482,934,866],{"class":499},[482,936,626],{"class":492},[482,938,871],{"class":499},[482,940,874],{"class":492},[482,942,943],{"class":499},"formFields)   ",[482,945,946],{"class":506},"// Form configuration\n",[482,948,949,951,953],{"class":484,"line":675},[482,950,735],{"class":492},[482,952,578],{"class":577},[482,954,584],{"class":492},[464,956,958],{"id":957},"useadminpermissions","useAdminPermissions",[455,960,961],{},"Check permissions for a resource.",[472,963,965],{"className":474,"code":964,"language":476,"meta":477,"style":477},"const {\n  canCreate,                  // Ref\u003Cboolean>\n  canRead,                    // Ref\u003Cboolean>\n  canUpdate,                  // Ref\u003Cboolean>\n  canDelete,                  // Ref\u003Cboolean>\n  hasAnyPermission,           // Ref\u003Cboolean>\n  isLoading,                  // Ref\u003Cboolean>\n  getPermissionDeniedMessage, // (action: string) => string\n} = useAdminPermissions(resourceName)\n",[479,966,967,973,983,993,1002,1011,1021,1029,1039],{"__ignoreMap":477},[482,968,969,971],{"class":484,"line":485},[482,970,489],{"class":488},[482,972,493],{"class":492},[482,974,975,978,980],{"class":484,"line":496},[482,976,977],{"class":499},"  canCreate",[482,979,503],{"class":492},[482,981,982],{"class":506},"                  // Ref\u003Cboolean>\n",[482,984,985,988,990],{"class":484,"line":510},[482,986,987],{"class":499},"  canRead",[482,989,503],{"class":492},[482,991,992],{"class":506},"                    // Ref\u003Cboolean>\n",[482,994,995,998,1000],{"class":484,"line":521},[482,996,997],{"class":499},"  canUpdate",[482,999,503],{"class":492},[482,1001,982],{"class":506},[482,1003,1004,1007,1009],{"class":484,"line":532},[482,1005,1006],{"class":499},"  canDelete",[482,1008,503],{"class":492},[482,1010,982],{"class":506},[482,1012,1013,1016,1018],{"class":484,"line":543},[482,1014,1015],{"class":499},"  hasAnyPermission",[482,1017,503],{"class":492},[482,1019,1020],{"class":506},"           // Ref\u003Cboolean>\n",[482,1022,1023,1025,1027],{"class":484,"line":644},[482,1024,535],{"class":499},[482,1026,503],{"class":492},[482,1028,982],{"class":506},[482,1030,1031,1034,1036],{"class":484,"line":650},[482,1032,1033],{"class":499},"  getPermissionDeniedMessage",[482,1035,503],{"class":492},[482,1037,1038],{"class":506}," // (action: string) => string\n",[482,1040,1041,1043,1045,1048],{"class":484,"line":669},[482,1042,546],{"class":492},[482,1044,549],{"class":492},[482,1046,1047],{"class":552}," useAdminPermissions",[482,1049,788],{"class":499},[455,1051,1052],{},[560,1053,562],{},[472,1055,1057],{"className":565,"code":1056,"language":567,"meta":477,"style":477},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CUButton v-if=\"canCreate\" @click=\"createNew\">\n      Create New\n    \u003C/UButton>\n\n    \u003CUButton v-if=\"canUpdate\" :disabled=\"!canUpdate\" @click=\"edit\">\n      Edit\n    \u003C/UButton>\n  \u003C/div>\n\u003C/template>\n\n\u003Cscript setup>\nconst { canCreate, canUpdate, canDelete } = useAdminPermissions('posts')\n\u003C/script>\n",[479,1058,1059,1068,1078,1113,1118,1127,1131,1173,1178,1186,1195,1203,1207,1217,1253],{"__ignoreMap":477},[482,1060,1061,1063,1066],{"class":484,"line":485},[482,1062,574],{"class":492},[482,1064,1065],{"class":577},"template",[482,1067,584],{"class":492},[482,1069,1070,1073,1076],{"class":484,"line":496},[482,1071,1072],{"class":492},"  \u003C",[482,1074,1075],{"class":577},"div",[482,1077,584],{"class":492},[482,1079,1080,1083,1086,1089,1091,1094,1097,1099,1102,1104,1106,1109,1111],{"class":484,"line":510},[482,1081,1082],{"class":492},"    \u003C",[482,1084,1085],{"class":577},"UButton",[482,1087,1088],{"class":488}," v-if",[482,1090,658],{"class":492},[482,1092,1093],{"class":492},"\"",[482,1095,1096],{"class":723},"canCreate",[482,1098,1093],{"class":492},[482,1100,1101],{"class":488}," @click",[482,1103,658],{"class":492},[482,1105,1093],{"class":492},[482,1107,1108],{"class":723},"createNew",[482,1110,1093],{"class":492},[482,1112,584],{"class":492},[482,1114,1115],{"class":484,"line":521},[482,1116,1117],{"class":499},"      Create New\n",[482,1119,1120,1123,1125],{"class":484,"line":532},[482,1121,1122],{"class":492},"    \u003C/",[482,1124,1085],{"class":577},[482,1126,584],{"class":492},[482,1128,1129],{"class":484,"line":543},[482,1130,613],{"emptyLinePlaceholder":612},[482,1132,1133,1135,1137,1139,1141,1143,1146,1148,1151,1153,1155,1158,1160,1162,1164,1166,1169,1171],{"class":484,"line":644},[482,1134,1082],{"class":492},[482,1136,1085],{"class":577},[482,1138,1088],{"class":488},[482,1140,658],{"class":492},[482,1142,1093],{"class":492},[482,1144,1145],{"class":723},"canUpdate",[482,1147,1093],{"class":492},[482,1149,1150],{"class":488}," :disabled",[482,1152,658],{"class":492},[482,1154,1093],{"class":492},[482,1156,1157],{"class":723},"!canUpdate",[482,1159,1093],{"class":492},[482,1161,1101],{"class":488},[482,1163,658],{"class":492},[482,1165,1093],{"class":492},[482,1167,1168],{"class":723},"edit",[482,1170,1093],{"class":492},[482,1172,584],{"class":492},[482,1174,1175],{"class":484,"line":650},[482,1176,1177],{"class":499},"      Edit\n",[482,1179,1180,1182,1184],{"class":484,"line":669},[482,1181,1122],{"class":492},[482,1183,1085],{"class":577},[482,1185,584],{"class":492},[482,1187,1188,1191,1193],{"class":484,"line":675},[482,1189,1190],{"class":492},"  \u003C/",[482,1192,1075],{"class":577},[482,1194,584],{"class":492},[482,1196,1197,1199,1201],{"class":484,"line":680},[482,1198,735],{"class":492},[482,1200,1065],{"class":577},[482,1202,584],{"class":492},[482,1204,1205],{"class":484,"line":686},[482,1206,613],{"emptyLinePlaceholder":612},[482,1208,1209,1211,1213,1215],{"class":484,"line":704},[482,1210,574],{"class":492},[482,1212,578],{"class":577},[482,1214,581],{"class":488},[482,1216,584],{"class":492},[482,1218,1219,1221,1223,1226,1228,1231,1233,1236,1238,1240,1242,1244,1246,1249,1251],{"class":484,"line":732},[482,1220,489],{"class":488},[482,1222,591],{"class":492},[482,1224,1225],{"class":499}," canCreate",[482,1227,503],{"class":492},[482,1229,1230],{"class":499}," canUpdate",[482,1232,503],{"class":492},[482,1234,1235],{"class":499}," canDelete ",[482,1237,546],{"class":492},[482,1239,549],{"class":492},[482,1241,1047],{"class":552},[482,1243,717],{"class":499},[482,1245,720],{"class":492},[482,1247,1248],{"class":723},"posts",[482,1250,720],{"class":492},[482,1252,729],{"class":499},[482,1254,1256,1258,1260],{"class":484,"line":1255},15,[482,1257,735],{"class":492},[482,1259,578],{"class":577},[482,1261,584],{"class":492},[464,1263,1265],{"id":1264},"useadminactions","useAdminActions",[455,1267,1268],{},"Get common navigation and action functions for a resource.",[472,1270,1272],{"className":474,"code":1271,"language":476,"meta":477,"style":477},"const {\n  goToList,       // () => void\n  goToDetail,     // (id: string | number) => void\n  goToEdit,       // (id: string | number) => void\n  goToCreate,     // () => void\n  handleDelete,   // (id: string | number, options?: { redirect?: boolean }) => Promise\u003Cvoid>\n  isDeleting,     // Ref\u003Cboolean>\n} = useAdminActions(resourceName)\n",[479,1273,1274,1280,1290,1300,1310,1320,1330,1340],{"__ignoreMap":477},[482,1275,1276,1278],{"class":484,"line":485},[482,1277,489],{"class":488},[482,1279,493],{"class":492},[482,1281,1282,1285,1287],{"class":484,"line":496},[482,1283,1284],{"class":499},"  goToList",[482,1286,503],{"class":492},[482,1288,1289],{"class":506},"       // () => void\n",[482,1291,1292,1295,1297],{"class":484,"line":510},[482,1293,1294],{"class":499},"  goToDetail",[482,1296,503],{"class":492},[482,1298,1299],{"class":506},"     // (id: string | number) => void\n",[482,1301,1302,1305,1307],{"class":484,"line":521},[482,1303,1304],{"class":499},"  goToEdit",[482,1306,503],{"class":492},[482,1308,1309],{"class":506},"       // (id: string | number) => void\n",[482,1311,1312,1315,1317],{"class":484,"line":532},[482,1313,1314],{"class":499},"  goToCreate",[482,1316,503],{"class":492},[482,1318,1319],{"class":506},"     // () => void\n",[482,1321,1322,1325,1327],{"class":484,"line":543},[482,1323,1324],{"class":499},"  handleDelete",[482,1326,503],{"class":492},[482,1328,1329],{"class":506},"   // (id: string | number, options?: { redirect?: boolean }) => Promise\u003Cvoid>\n",[482,1331,1332,1335,1337],{"class":484,"line":644},[482,1333,1334],{"class":499},"  isDeleting",[482,1336,503],{"class":492},[482,1338,1339],{"class":506},"     // Ref\u003Cboolean>\n",[482,1341,1342,1344,1346,1349],{"class":484,"line":650},[482,1343,546],{"class":492},[482,1345,549],{"class":492},[482,1347,1348],{"class":552}," useAdminActions",[482,1350,788],{"class":499},[455,1352,1353],{},[560,1354,562],{},[472,1356,1358],{"className":565,"code":1357,"language":567,"meta":477,"style":477},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CUButton @click=\"goToList\">Back to List\u003C/UButton>\n    \u003CUButton @click=\"goToEdit(user.id)\">Edit\u003C/UButton>\n    \u003CUButton\n      :loading=\"isDeleting\"\n      @click=\"handleDelete(user.id, { redirect: true })\"\n    >\n      Delete\n    \u003C/UButton>\n  \u003C/div>\n\u003C/template>\n\n\u003Cscript setup>\nconst props = defineProps\u003C{ user: any }>()\nconst { goToList, goToEdit, handleDelete, isDeleting } = useAdminActions('users')\n\u003C/script>\n",[479,1359,1360,1368,1376,1405,1433,1440,1455,1469,1474,1479,1487,1495,1503,1507,1517,1547,1588],{"__ignoreMap":477},[482,1361,1362,1364,1366],{"class":484,"line":485},[482,1363,574],{"class":492},[482,1365,1065],{"class":577},[482,1367,584],{"class":492},[482,1369,1370,1372,1374],{"class":484,"line":496},[482,1371,1072],{"class":492},[482,1373,1075],{"class":577},[482,1375,584],{"class":492},[482,1377,1378,1380,1382,1384,1386,1388,1391,1393,1396,1399,1401,1403],{"class":484,"line":510},[482,1379,1082],{"class":492},[482,1381,1085],{"class":577},[482,1383,1101],{"class":488},[482,1385,658],{"class":492},[482,1387,1093],{"class":492},[482,1389,1390],{"class":723},"goToList",[482,1392,1093],{"class":492},[482,1394,1395],{"class":492},">",[482,1397,1398],{"class":499},"Back to List",[482,1400,735],{"class":492},[482,1402,1085],{"class":577},[482,1404,584],{"class":492},[482,1406,1407,1409,1411,1413,1415,1417,1420,1422,1424,1427,1429,1431],{"class":484,"line":521},[482,1408,1082],{"class":492},[482,1410,1085],{"class":577},[482,1412,1101],{"class":488},[482,1414,658],{"class":492},[482,1416,1093],{"class":492},[482,1418,1419],{"class":723},"goToEdit(user.id)",[482,1421,1093],{"class":492},[482,1423,1395],{"class":492},[482,1425,1426],{"class":499},"Edit",[482,1428,735],{"class":492},[482,1430,1085],{"class":577},[482,1432,584],{"class":492},[482,1434,1435,1437],{"class":484,"line":532},[482,1436,1082],{"class":492},[482,1438,1439],{"class":577},"UButton\n",[482,1441,1442,1445,1447,1449,1452],{"class":484,"line":543},[482,1443,1444],{"class":488},"      :loading",[482,1446,658],{"class":492},[482,1448,1093],{"class":492},[482,1450,1451],{"class":723},"isDeleting",[482,1453,1454],{"class":492},"\"\n",[482,1456,1457,1460,1462,1464,1467],{"class":484,"line":644},[482,1458,1459],{"class":488},"      @click",[482,1461,658],{"class":492},[482,1463,1093],{"class":492},[482,1465,1466],{"class":723},"handleDelete(user.id, { redirect: true })",[482,1468,1454],{"class":492},[482,1470,1471],{"class":484,"line":650},[482,1472,1473],{"class":492},"    >\n",[482,1475,1476],{"class":484,"line":669},[482,1477,1478],{"class":499},"      Delete\n",[482,1480,1481,1483,1485],{"class":484,"line":675},[482,1482,1122],{"class":492},[482,1484,1085],{"class":577},[482,1486,584],{"class":492},[482,1488,1489,1491,1493],{"class":484,"line":680},[482,1490,1190],{"class":492},[482,1492,1075],{"class":577},[482,1494,584],{"class":492},[482,1496,1497,1499,1501],{"class":484,"line":686},[482,1498,735],{"class":492},[482,1500,1065],{"class":577},[482,1502,584],{"class":492},[482,1504,1505],{"class":484,"line":704},[482,1506,613],{"emptyLinePlaceholder":612},[482,1508,1509,1511,1513,1515],{"class":484,"line":732},[482,1510,574],{"class":492},[482,1512,578],{"class":577},[482,1514,581],{"class":488},[482,1516,584],{"class":492},[482,1518,1519,1521,1524,1526,1529,1532,1535,1538,1542,1545],{"class":484,"line":1255},[482,1520,489],{"class":488},[482,1522,1523],{"class":499}," props ",[482,1525,658],{"class":492},[482,1527,1528],{"class":552}," defineProps",[482,1530,1531],{"class":492},"\u003C{",[482,1533,1534],{"class":577}," user",[482,1536,1537],{"class":492},":",[482,1539,1541],{"class":1540},"sBMFI"," any",[482,1543,1544],{"class":492}," }>",[482,1546,556],{"class":499},[482,1548,1550,1552,1554,1557,1559,1562,1564,1567,1569,1572,1574,1576,1578,1580,1582,1584,1586],{"class":484,"line":1549},16,[482,1551,489],{"class":488},[482,1553,591],{"class":492},[482,1555,1556],{"class":499}," goToList",[482,1558,503],{"class":492},[482,1560,1561],{"class":499}," goToEdit",[482,1563,503],{"class":492},[482,1565,1566],{"class":499}," handleDelete",[482,1568,503],{"class":492},[482,1570,1571],{"class":499}," isDeleting ",[482,1573,546],{"class":492},[482,1575,549],{"class":492},[482,1577,1348],{"class":552},[482,1579,717],{"class":499},[482,1581,720],{"class":492},[482,1583,724],{"class":723},[482,1585,720],{"class":492},[482,1587,729],{"class":499},[482,1589,1591,1593,1595],{"class":484,"line":1590},17,[482,1592,735],{"class":492},[482,1594,578],{"class":577},[482,1596,584],{"class":492},[464,1598,1600],{"id":1599},"useresourceform","useResourceForm",[455,1602,1603],{},"Generate form fields and initial data for a resource.",[472,1605,1607],{"className":474,"code":1606,"language":476,"meta":477,"style":477},"const {\n  fields,       // Ref\u003CFieldConfig[]>\n  initialData,  // Ref\u003CRecord\u003Cstring, any>>\n  isLoading,    // Ref\u003Cboolean>\n  resource,     // Ref\u003CResourceSchema | undefined>\n} = useResourceForm(resourceName, mode)  // mode: 'create' | 'edit'\n",[479,1608,1609,1615,1625,1635,1644,1653],{"__ignoreMap":477},[482,1610,1611,1613],{"class":484,"line":485},[482,1612,489],{"class":488},[482,1614,493],{"class":492},[482,1616,1617,1620,1622],{"class":484,"line":496},[482,1618,1619],{"class":499},"  fields",[482,1621,503],{"class":492},[482,1623,1624],{"class":506},"       // Ref\u003CFieldConfig[]>\n",[482,1626,1627,1630,1632],{"class":484,"line":510},[482,1628,1629],{"class":499},"  initialData",[482,1631,503],{"class":492},[482,1633,1634],{"class":506},"  // Ref\u003CRecord\u003Cstring, any>>\n",[482,1636,1637,1639,1641],{"class":484,"line":521},[482,1638,535],{"class":499},[482,1640,503],{"class":492},[482,1642,1643],{"class":506},"    // Ref\u003Cboolean>\n",[482,1645,1646,1648,1650],{"class":484,"line":532},[482,1647,762],{"class":499},[482,1649,503],{"class":492},[482,1651,1652],{"class":506},"     // Ref\u003CResourceSchema | undefined>\n",[482,1654,1655,1657,1659,1662,1665,1667,1670],{"class":484,"line":543},[482,1656,546],{"class":492},[482,1658,549],{"class":492},[482,1660,1661],{"class":552}," useResourceForm",[482,1663,1664],{"class":499},"(resourceName",[482,1666,503],{"class":492},[482,1668,1669],{"class":499}," mode)  ",[482,1671,1672],{"class":506},"// mode: 'create' | 'edit'\n",[455,1674,1675],{},[560,1676,562],{},[472,1678,1680],{"className":565,"code":1679,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst { fields, initialData } = useResourceForm('posts', 'create')\n\n// Use in custom form\nconst formData = ref(initialData.value)\n\u003C/script>\n",[479,1681,1682,1692,1732,1736,1741,1759],{"__ignoreMap":477},[482,1683,1684,1686,1688,1690],{"class":484,"line":485},[482,1685,574],{"class":492},[482,1687,578],{"class":577},[482,1689,581],{"class":488},[482,1691,584],{"class":492},[482,1693,1694,1696,1698,1701,1703,1706,1708,1710,1712,1714,1716,1718,1720,1722,1725,1728,1730],{"class":484,"line":496},[482,1695,489],{"class":488},[482,1697,591],{"class":492},[482,1699,1700],{"class":499}," fields",[482,1702,503],{"class":492},[482,1704,1705],{"class":499}," initialData ",[482,1707,546],{"class":492},[482,1709,549],{"class":492},[482,1711,1661],{"class":552},[482,1713,717],{"class":499},[482,1715,720],{"class":492},[482,1717,1248],{"class":723},[482,1719,720],{"class":492},[482,1721,503],{"class":492},[482,1723,1724],{"class":492}," '",[482,1726,1727],{"class":723},"create",[482,1729,720],{"class":492},[482,1731,729],{"class":499},[482,1733,1734],{"class":484,"line":510},[482,1735,613],{"emptyLinePlaceholder":612},[482,1737,1738],{"class":484,"line":521},[482,1739,1740],{"class":506},"// Use in custom form\n",[482,1742,1743,1745,1748,1750,1752,1755,1757],{"class":484,"line":532},[482,1744,489],{"class":488},[482,1746,1747],{"class":499}," formData ",[482,1749,658],{"class":492},[482,1751,819],{"class":552},[482,1753,1754],{"class":499},"(initialData",[482,1756,626],{"class":492},[482,1758,637],{"class":499},[482,1760,1761,1763,1765],{"class":484,"line":543},[482,1762,735],{"class":492},[482,1764,578],{"class":577},[482,1766,584],{"class":492},[464,1768,1770],{"id":1769},"useadminconfig","useAdminConfig",[455,1772,1773],{},"Access admin configuration.",[472,1775,1777],{"className":474,"code":1776,"language":476,"meta":477,"style":477},"const {\n  prefix,       // string - Admin route prefix\n  branding,     // { title, logo, favicon }\n  permissions,  // { unauthorizedButtons, unauthorizedSidebarItems }\n  features,     // { bulkActions, search, filters, ... }\n} = useAdminConfig()\n",[479,1778,1779,1785,1795,1805,1815,1825],{"__ignoreMap":477},[482,1780,1781,1783],{"class":484,"line":485},[482,1782,489],{"class":488},[482,1784,493],{"class":492},[482,1786,1787,1790,1792],{"class":484,"line":496},[482,1788,1789],{"class":499},"  prefix",[482,1791,503],{"class":492},[482,1793,1794],{"class":506},"       // string - Admin route prefix\n",[482,1796,1797,1800,1802],{"class":484,"line":510},[482,1798,1799],{"class":499},"  branding",[482,1801,503],{"class":492},[482,1803,1804],{"class":506},"     // { title, logo, favicon }\n",[482,1806,1807,1810,1812],{"class":484,"line":521},[482,1808,1809],{"class":499},"  permissions",[482,1811,503],{"class":492},[482,1813,1814],{"class":506},"  // { unauthorizedButtons, unauthorizedSidebarItems }\n",[482,1816,1817,1820,1822],{"class":484,"line":532},[482,1818,1819],{"class":499},"  features",[482,1821,503],{"class":492},[482,1823,1824],{"class":506},"     // { bulkActions, search, filters, ... }\n",[482,1826,1827,1829,1831,1834],{"class":484,"line":543},[482,1828,546],{"class":492},[482,1830,549],{"class":492},[482,1832,1833],{"class":552}," useAdminConfig",[482,1835,556],{"class":499},[455,1837,1838],{},[560,1839,562],{},[472,1841,1843],{"className":565,"code":1842,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst { branding, permissions } = useAdminConfig()\n\nconsole.log(branding.title)  // 'My Admin Panel'\n\nconst showDisabledButtons = permissions.unauthorizedButtons === 'disable'\n\u003C/script>\n",[479,1844,1845,1855,1877,1881,1900,1904,1932],{"__ignoreMap":477},[482,1846,1847,1849,1851,1853],{"class":484,"line":485},[482,1848,574],{"class":492},[482,1850,578],{"class":577},[482,1852,581],{"class":488},[482,1854,584],{"class":492},[482,1856,1857,1859,1861,1864,1866,1869,1871,1873,1875],{"class":484,"line":496},[482,1858,489],{"class":488},[482,1860,591],{"class":492},[482,1862,1863],{"class":499}," branding",[482,1865,503],{"class":492},[482,1867,1868],{"class":499}," permissions ",[482,1870,546],{"class":492},[482,1872,549],{"class":492},[482,1874,1833],{"class":552},[482,1876,556],{"class":499},[482,1878,1879],{"class":484,"line":510},[482,1880,613],{"emptyLinePlaceholder":612},[482,1882,1883,1885,1887,1889,1892,1894,1897],{"class":484,"line":521},[482,1884,623],{"class":499},[482,1886,626],{"class":492},[482,1888,629],{"class":552},[482,1890,1891],{"class":499},"(branding",[482,1893,626],{"class":492},[482,1895,1896],{"class":499},"title)  ",[482,1898,1899],{"class":506},"// 'My Admin Panel'\n",[482,1901,1902],{"class":484,"line":532},[482,1903,613],{"emptyLinePlaceholder":612},[482,1905,1906,1908,1911,1913,1916,1918,1921,1924,1926,1929],{"class":484,"line":543},[482,1907,489],{"class":488},[482,1909,1910],{"class":499}," showDisabledButtons ",[482,1912,658],{"class":492},[482,1914,1915],{"class":499}," permissions",[482,1917,626],{"class":492},[482,1919,1920],{"class":499},"unauthorizedButtons ",[482,1922,1923],{"class":492},"===",[482,1925,1724],{"class":492},[482,1927,1928],{"class":723},"disable",[482,1930,1931],{"class":492},"'\n",[482,1933,1934,1936,1938],{"class":484,"line":644},[482,1935,735],{"class":492},[482,1937,578],{"class":577},[482,1939,584],{"class":492},[459,1941,1943],{"id":1942},"auto-api-composables","Auto-API Composables",[455,1945,1946,1947,1950],{},"These composables are from ",[479,1948,1949],{},"@websideproject/nuxt-auto-api"," and work in the admin panel:",[464,1952,1954],{"id":1953},"useautoapilist","useAutoApiList",[455,1956,1957],{},"Query a list of resources.",[472,1959,1961],{"className":474,"code":1960,"language":476,"meta":477,"style":477},"const {\n  data,      // Ref\u003CListResponse\u003CT> | undefined>\n  isLoading, // Ref\u003Cboolean>\n  error,     // Ref\u003CError | null>\n  refetch,   // () => Promise\u003Cvoid>\n} = useAutoApiList(resource, params, options)\n",[479,1962,1963,1969,1979,1988,1998,2008],{"__ignoreMap":477},[482,1964,1965,1967],{"class":484,"line":485},[482,1966,489],{"class":488},[482,1968,493],{"class":492},[482,1970,1971,1974,1976],{"class":484,"line":496},[482,1972,1973],{"class":499},"  data",[482,1975,503],{"class":492},[482,1977,1978],{"class":506},"      // Ref\u003CListResponse\u003CT> | undefined>\n",[482,1980,1981,1983,1985],{"class":484,"line":510},[482,1982,535],{"class":499},[482,1984,503],{"class":492},[482,1986,1987],{"class":506}," // Ref\u003Cboolean>\n",[482,1989,1990,1993,1995],{"class":484,"line":521},[482,1991,1992],{"class":499},"  error",[482,1994,503],{"class":492},[482,1996,1997],{"class":506},"     // Ref\u003CError | null>\n",[482,1999,2000,2003,2005],{"class":484,"line":532},[482,2001,2002],{"class":499},"  refetch",[482,2004,503],{"class":492},[482,2006,2007],{"class":506},"   // () => Promise\u003Cvoid>\n",[482,2009,2010,2012,2014,2017,2019,2021,2024,2026],{"class":484,"line":543},[482,2011,546],{"class":492},[482,2013,549],{"class":492},[482,2015,2016],{"class":552}," useAutoApiList",[482,2018,866],{"class":499},[482,2020,503],{"class":492},[482,2022,2023],{"class":499}," params",[482,2025,503],{"class":492},[482,2027,2028],{"class":499}," options)\n",[455,2030,2031],{},[560,2032,562],{},[472,2034,2036],{"className":565,"code":2035,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst params = reactive({\n  filter: { status: 'published' },\n  sort: '-createdAt',\n  page: 1,\n  limit: 20,\n})\n\nconst { data, isLoading } = useAutoApiList('posts', params)\n\n// Access results\nconst posts = computed(() => data.value?.data || [])\nconst total = computed(() => data.value?.meta?.total)\n\u003C/script>\n",[479,2037,2038,2048,2065,2089,2106,2119,2131,2137,2141,2174,2178,2183,2220,2253],{"__ignoreMap":477},[482,2039,2040,2042,2044,2046],{"class":484,"line":485},[482,2041,574],{"class":492},[482,2043,578],{"class":577},[482,2045,581],{"class":488},[482,2047,584],{"class":492},[482,2049,2050,2052,2055,2057,2060,2062],{"class":484,"line":496},[482,2051,489],{"class":488},[482,2053,2054],{"class":499}," params ",[482,2056,658],{"class":492},[482,2058,2059],{"class":552}," reactive",[482,2061,717],{"class":499},[482,2063,2064],{"class":492},"{\n",[482,2066,2067,2070,2072,2074,2077,2079,2081,2084,2086],{"class":484,"line":510},[482,2068,2069],{"class":577},"  filter",[482,2071,1537],{"class":492},[482,2073,591],{"class":492},[482,2075,2076],{"class":577}," status",[482,2078,1537],{"class":492},[482,2080,1724],{"class":492},[482,2082,2083],{"class":723},"published",[482,2085,720],{"class":492},[482,2087,2088],{"class":492}," },\n",[482,2090,2091,2094,2096,2098,2101,2103],{"class":484,"line":521},[482,2092,2093],{"class":577},"  sort",[482,2095,1537],{"class":492},[482,2097,1724],{"class":492},[482,2099,2100],{"class":723},"-createdAt",[482,2102,720],{"class":492},[482,2104,2105],{"class":492},",\n",[482,2107,2108,2111,2113,2117],{"class":484,"line":532},[482,2109,2110],{"class":577},"  page",[482,2112,1537],{"class":492},[482,2114,2116],{"class":2115},"sbssI"," 1",[482,2118,2105],{"class":492},[482,2120,2121,2124,2126,2129],{"class":484,"line":543},[482,2122,2123],{"class":577},"  limit",[482,2125,1537],{"class":492},[482,2127,2128],{"class":2115}," 20",[482,2130,2105],{"class":492},[482,2132,2133,2135],{"class":484,"line":644},[482,2134,546],{"class":492},[482,2136,729],{"class":499},[482,2138,2139],{"class":484,"line":650},[482,2140,613],{"emptyLinePlaceholder":612},[482,2142,2143,2145,2147,2150,2152,2155,2157,2159,2161,2163,2165,2167,2169,2171],{"class":484,"line":669},[482,2144,489],{"class":488},[482,2146,591],{"class":492},[482,2148,2149],{"class":499}," data",[482,2151,503],{"class":492},[482,2153,2154],{"class":499}," isLoading ",[482,2156,546],{"class":492},[482,2158,549],{"class":492},[482,2160,2016],{"class":552},[482,2162,717],{"class":499},[482,2164,720],{"class":492},[482,2166,1248],{"class":723},[482,2168,720],{"class":492},[482,2170,503],{"class":492},[482,2172,2173],{"class":499}," params)\n",[482,2175,2176],{"class":484,"line":675},[482,2177,613],{"emptyLinePlaceholder":612},[482,2179,2180],{"class":484,"line":680},[482,2181,2182],{"class":506},"// Access results\n",[482,2184,2185,2187,2190,2192,2195,2197,2200,2203,2205,2207,2209,2211,2214,2217],{"class":484,"line":686},[482,2186,489],{"class":488},[482,2188,2189],{"class":499}," posts ",[482,2191,658],{"class":492},[482,2193,2194],{"class":552}," computed",[482,2196,717],{"class":499},[482,2198,2199],{"class":492},"()",[482,2201,2202],{"class":488}," =>",[482,2204,2149],{"class":499},[482,2206,626],{"class":492},[482,2208,871],{"class":499},[482,2210,874],{"class":492},[482,2212,2213],{"class":499},"data ",[482,2215,2216],{"class":492},"||",[482,2218,2219],{"class":499}," [])\n",[482,2221,2222,2224,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2248,2250],{"class":484,"line":704},[482,2223,489],{"class":488},[482,2225,2226],{"class":499}," total ",[482,2228,658],{"class":492},[482,2230,2194],{"class":552},[482,2232,717],{"class":499},[482,2234,2199],{"class":492},[482,2236,2202],{"class":488},[482,2238,2149],{"class":499},[482,2240,626],{"class":492},[482,2242,871],{"class":499},[482,2244,874],{"class":492},[482,2246,2247],{"class":499},"meta",[482,2249,874],{"class":492},[482,2251,2252],{"class":499},"total)\n",[482,2254,2255,2257,2259],{"class":484,"line":732},[482,2256,735],{"class":492},[482,2258,578],{"class":577},[482,2260,584],{"class":492},[464,2262,2264],{"id":2263},"useautoapiget","useAutoApiGet",[455,2266,2267],{},"Get a single resource by ID.",[472,2269,2271],{"className":474,"code":2270,"language":476,"meta":477,"style":477},"const {\n  data,      // Ref\u003CGetResponse\u003CT> | undefined>\n  isLoading, // Ref\u003Cboolean>\n  error,     // Ref\u003CError | null>\n  refetch,   // () => Promise\u003Cvoid>\n} = useAutoApiGet(resource, id, params, options)\n",[479,2272,2273,2279,2288,2296,2304,2312],{"__ignoreMap":477},[482,2274,2275,2277],{"class":484,"line":485},[482,2276,489],{"class":488},[482,2278,493],{"class":492},[482,2280,2281,2283,2285],{"class":484,"line":496},[482,2282,1973],{"class":499},[482,2284,503],{"class":492},[482,2286,2287],{"class":506},"      // Ref\u003CGetResponse\u003CT> | undefined>\n",[482,2289,2290,2292,2294],{"class":484,"line":510},[482,2291,535],{"class":499},[482,2293,503],{"class":492},[482,2295,1987],{"class":506},[482,2297,2298,2300,2302],{"class":484,"line":521},[482,2299,1992],{"class":499},[482,2301,503],{"class":492},[482,2303,1997],{"class":506},[482,2305,2306,2308,2310],{"class":484,"line":532},[482,2307,2002],{"class":499},[482,2309,503],{"class":492},[482,2311,2007],{"class":506},[482,2313,2314,2316,2318,2321,2323,2325,2328,2330,2332,2334],{"class":484,"line":543},[482,2315,546],{"class":492},[482,2317,549],{"class":492},[482,2319,2320],{"class":552}," useAutoApiGet",[482,2322,866],{"class":499},[482,2324,503],{"class":492},[482,2326,2327],{"class":499}," id",[482,2329,503],{"class":492},[482,2331,2023],{"class":499},[482,2333,503],{"class":492},[482,2335,2028],{"class":499},[455,2337,2338],{},[560,2339,562],{},[472,2341,2343],{"className":565,"code":2342,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst route = useRoute()\nconst id = computed(() => route.params.id as string)\n\nconst { data, isLoading } = useAutoApiGet('posts', id, {\n  include: 'author,comments'\n})\n\n// Access record\nconst post = computed(() => data.value?.data)\n\u003C/script>\n",[479,2344,2345,2355,2369,2408,2412,2446,2460,2466,2470,2475,2503],{"__ignoreMap":477},[482,2346,2347,2349,2351,2353],{"class":484,"line":485},[482,2348,574],{"class":492},[482,2350,578],{"class":577},[482,2352,581],{"class":488},[482,2354,584],{"class":492},[482,2356,2357,2359,2362,2364,2367],{"class":484,"line":496},[482,2358,489],{"class":488},[482,2360,2361],{"class":499}," route ",[482,2363,658],{"class":492},[482,2365,2366],{"class":552}," useRoute",[482,2368,556],{"class":499},[482,2370,2371,2373,2376,2378,2380,2382,2384,2386,2389,2391,2394,2396,2399,2403,2406],{"class":484,"line":510},[482,2372,489],{"class":488},[482,2374,2375],{"class":499}," id ",[482,2377,658],{"class":492},[482,2379,2194],{"class":552},[482,2381,717],{"class":499},[482,2383,2199],{"class":492},[482,2385,2202],{"class":488},[482,2387,2388],{"class":499}," route",[482,2390,626],{"class":492},[482,2392,2393],{"class":499},"params",[482,2395,626],{"class":492},[482,2397,2398],{"class":499},"id ",[482,2400,2402],{"class":2401},"s7zQu","as",[482,2404,2405],{"class":1540}," string",[482,2407,729],{"class":499},[482,2409,2410],{"class":484,"line":521},[482,2411,613],{"emptyLinePlaceholder":612},[482,2413,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444],{"class":484,"line":532},[482,2415,489],{"class":488},[482,2417,591],{"class":492},[482,2419,2149],{"class":499},[482,2421,503],{"class":492},[482,2423,2154],{"class":499},[482,2425,546],{"class":492},[482,2427,549],{"class":492},[482,2429,2320],{"class":552},[482,2431,717],{"class":499},[482,2433,720],{"class":492},[482,2435,1248],{"class":723},[482,2437,720],{"class":492},[482,2439,503],{"class":492},[482,2441,2327],{"class":499},[482,2443,503],{"class":492},[482,2445,493],{"class":492},[482,2447,2448,2451,2453,2455,2458],{"class":484,"line":543},[482,2449,2450],{"class":577},"  include",[482,2452,1537],{"class":492},[482,2454,1724],{"class":492},[482,2456,2457],{"class":723},"author,comments",[482,2459,1931],{"class":492},[482,2461,2462,2464],{"class":484,"line":644},[482,2463,546],{"class":492},[482,2465,729],{"class":499},[482,2467,2468],{"class":484,"line":650},[482,2469,613],{"emptyLinePlaceholder":612},[482,2471,2472],{"class":484,"line":669},[482,2473,2474],{"class":506},"// Access record\n",[482,2476,2477,2479,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500],{"class":484,"line":675},[482,2478,489],{"class":488},[482,2480,2481],{"class":499}," post ",[482,2483,658],{"class":492},[482,2485,2194],{"class":552},[482,2487,717],{"class":499},[482,2489,2199],{"class":492},[482,2491,2202],{"class":488},[482,2493,2149],{"class":499},[482,2495,626],{"class":492},[482,2497,871],{"class":499},[482,2499,874],{"class":492},[482,2501,2502],{"class":499},"data)\n",[482,2504,2505,2507,2509],{"class":484,"line":680},[482,2506,735],{"class":492},[482,2508,578],{"class":577},[482,2510,584],{"class":492},[464,2512,2514],{"id":2513},"useautoapicreate","useAutoApiCreate",[455,2516,2517],{},"Create a new resource.",[472,2519,2521],{"className":474,"code":2520,"language":476,"meta":477,"style":477},"const {\n  mutate,    // (data: T) => void\n  mutateAsync, // (data: T) => Promise\u003Cany>\n  isPending, // Ref\u003Cboolean>\n  isSuccess, // Ref\u003Cboolean>\n  error,     // Ref\u003CError | null>\n} = useAutoApiCreate(resource)\n",[479,2522,2523,2529,2539,2549,2558,2567,2575],{"__ignoreMap":477},[482,2524,2525,2527],{"class":484,"line":485},[482,2526,489],{"class":488},[482,2528,493],{"class":492},[482,2530,2531,2534,2536],{"class":484,"line":496},[482,2532,2533],{"class":499},"  mutate",[482,2535,503],{"class":492},[482,2537,2538],{"class":506},"    // (data: T) => void\n",[482,2540,2541,2544,2546],{"class":484,"line":510},[482,2542,2543],{"class":499},"  mutateAsync",[482,2545,503],{"class":492},[482,2547,2548],{"class":506}," // (data: T) => Promise\u003Cany>\n",[482,2550,2551,2554,2556],{"class":484,"line":521},[482,2552,2553],{"class":499},"  isPending",[482,2555,503],{"class":492},[482,2557,1987],{"class":506},[482,2559,2560,2563,2565],{"class":484,"line":532},[482,2561,2562],{"class":499},"  isSuccess",[482,2564,503],{"class":492},[482,2566,1987],{"class":506},[482,2568,2569,2571,2573],{"class":484,"line":543},[482,2570,1992],{"class":499},[482,2572,503],{"class":492},[482,2574,1997],{"class":506},[482,2576,2577,2579,2581,2584],{"class":484,"line":644},[482,2578,546],{"class":492},[482,2580,549],{"class":492},[482,2582,2583],{"class":552}," useAutoApiCreate",[482,2585,2586],{"class":499},"(resource)\n",[455,2588,2589],{},[560,2590,562],{},[472,2592,2594],{"className":565,"code":2593,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst { mutate: createPost, isPending } = useAutoApiCreate('posts')\n\nfunction handleSubmit(formData) {\n  createPost(formData, {\n    onSuccess: (response) => {\n      console.log('Created:', response.data)\n      navigateTo(`/admin/posts/${response.data.id}`)\n    },\n    onError: (error) => {\n      console.error('Failed:', error)\n    },\n  })\n}\n\u003C/script>\n",[479,2595,2596,2606,2641,2645,2664,2677,2696,2726,2758,2763,2781,2805,2809,2816,2821],{"__ignoreMap":477},[482,2597,2598,2600,2602,2604],{"class":484,"line":485},[482,2599,574],{"class":492},[482,2601,578],{"class":577},[482,2603,581],{"class":488},[482,2605,584],{"class":492},[482,2607,2608,2610,2612,2615,2617,2620,2622,2625,2627,2629,2631,2633,2635,2637,2639],{"class":484,"line":496},[482,2609,489],{"class":488},[482,2611,591],{"class":492},[482,2613,2614],{"class":577}," mutate",[482,2616,1537],{"class":492},[482,2618,2619],{"class":499}," createPost",[482,2621,503],{"class":492},[482,2623,2624],{"class":499}," isPending ",[482,2626,546],{"class":492},[482,2628,549],{"class":492},[482,2630,2583],{"class":552},[482,2632,717],{"class":499},[482,2634,720],{"class":492},[482,2636,1248],{"class":723},[482,2638,720],{"class":492},[482,2640,729],{"class":499},[482,2642,2643],{"class":484,"line":510},[482,2644,613],{"emptyLinePlaceholder":612},[482,2646,2647,2650,2653,2655,2659,2662],{"class":484,"line":521},[482,2648,2649],{"class":488},"function",[482,2651,2652],{"class":552}," handleSubmit",[482,2654,717],{"class":492},[482,2656,2658],{"class":2657},"sHdIc","formData",[482,2660,2661],{"class":492},")",[482,2663,493],{"class":492},[482,2665,2666,2669,2671,2673,2675],{"class":484,"line":532},[482,2667,2668],{"class":552},"  createPost",[482,2670,717],{"class":577},[482,2672,2658],{"class":499},[482,2674,503],{"class":492},[482,2676,493],{"class":492},[482,2678,2679,2682,2684,2687,2690,2692,2694],{"class":484,"line":543},[482,2680,2681],{"class":552},"    onSuccess",[482,2683,1537],{"class":492},[482,2685,2686],{"class":492}," (",[482,2688,2689],{"class":2657},"response",[482,2691,2661],{"class":492},[482,2693,2202],{"class":488},[482,2695,493],{"class":492},[482,2697,2698,2701,2703,2705,2707,2709,2712,2714,2716,2719,2721,2724],{"class":484,"line":644},[482,2699,2700],{"class":499},"      console",[482,2702,626],{"class":492},[482,2704,629],{"class":552},[482,2706,717],{"class":577},[482,2708,720],{"class":492},[482,2710,2711],{"class":723},"Created:",[482,2713,720],{"class":492},[482,2715,503],{"class":492},[482,2717,2718],{"class":499}," response",[482,2720,626],{"class":492},[482,2722,2723],{"class":499},"data",[482,2725,729],{"class":577},[482,2727,2728,2731,2733,2736,2739,2742,2744,2746,2748,2750,2753,2756],{"class":484,"line":650},[482,2729,2730],{"class":552},"      navigateTo",[482,2732,717],{"class":577},[482,2734,2735],{"class":492},"`",[482,2737,2738],{"class":723},"/admin/posts/",[482,2740,2741],{"class":492},"${",[482,2743,2689],{"class":499},[482,2745,626],{"class":492},[482,2747,2723],{"class":499},[482,2749,626],{"class":492},[482,2751,2752],{"class":499},"id",[482,2754,2755],{"class":492},"}`",[482,2757,729],{"class":577},[482,2759,2760],{"class":484,"line":669},[482,2761,2762],{"class":492},"    },\n",[482,2764,2765,2768,2770,2772,2775,2777,2779],{"class":484,"line":675},[482,2766,2767],{"class":552},"    onError",[482,2769,1537],{"class":492},[482,2771,2686],{"class":492},[482,2773,2774],{"class":2657},"error",[482,2776,2661],{"class":492},[482,2778,2202],{"class":488},[482,2780,493],{"class":492},[482,2782,2783,2785,2787,2789,2791,2793,2796,2798,2800,2803],{"class":484,"line":680},[482,2784,2700],{"class":499},[482,2786,626],{"class":492},[482,2788,2774],{"class":552},[482,2790,717],{"class":577},[482,2792,720],{"class":492},[482,2794,2795],{"class":723},"Failed:",[482,2797,720],{"class":492},[482,2799,503],{"class":492},[482,2801,2802],{"class":499}," error",[482,2804,729],{"class":577},[482,2806,2807],{"class":484,"line":686},[482,2808,2762],{"class":492},[482,2810,2811,2814],{"class":484,"line":704},[482,2812,2813],{"class":492},"  }",[482,2815,729],{"class":577},[482,2817,2818],{"class":484,"line":732},[482,2819,2820],{"class":492},"}\n",[482,2822,2823,2825,2827],{"class":484,"line":1255},[482,2824,735],{"class":492},[482,2826,578],{"class":577},[482,2828,584],{"class":492},[464,2830,2832],{"id":2831},"useautoapiupdate","useAutoApiUpdate",[455,2834,2835],{},"Update an existing resource.",[472,2837,2839],{"className":474,"code":2838,"language":476,"meta":477,"style":477},"const {\n  mutate,    // ({ id, data }: { id: string | number, data: T }) => void\n  mutateAsync,\n  isPending,\n  isSuccess,\n  error,\n} = useAutoApiUpdate(resource)\n",[479,2840,2841,2847,2856,2862,2868,2874,2880],{"__ignoreMap":477},[482,2842,2843,2845],{"class":484,"line":485},[482,2844,489],{"class":488},[482,2846,493],{"class":492},[482,2848,2849,2851,2853],{"class":484,"line":496},[482,2850,2533],{"class":499},[482,2852,503],{"class":492},[482,2854,2855],{"class":506},"    // ({ id, data }: { id: string | number, data: T }) => void\n",[482,2857,2858,2860],{"class":484,"line":510},[482,2859,2543],{"class":499},[482,2861,2105],{"class":492},[482,2863,2864,2866],{"class":484,"line":521},[482,2865,2553],{"class":499},[482,2867,2105],{"class":492},[482,2869,2870,2872],{"class":484,"line":532},[482,2871,2562],{"class":499},[482,2873,2105],{"class":492},[482,2875,2876,2878],{"class":484,"line":543},[482,2877,1992],{"class":499},[482,2879,2105],{"class":492},[482,2881,2882,2884,2886,2889],{"class":484,"line":644},[482,2883,546],{"class":492},[482,2885,549],{"class":492},[482,2887,2888],{"class":552}," useAutoApiUpdate",[482,2890,2586],{"class":499},[455,2892,2893],{},[560,2894,562],{},[472,2896,2898],{"className":565,"code":2897,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst { mutate: updatePost, isPending } = useAutoApiUpdate('posts')\n\nfunction handleSubmit(formData) {\n  updatePost(\n    { id: postId.value, data: formData },\n    {\n      onSuccess: () => {\n        toast.success('Post updated')\n      },\n    }\n  )\n}\n\u003C/script>\n",[479,2899,2900,2910,2943,2947,2961,2969,2996,3001,3015,3036,3041,3046,3051,3055],{"__ignoreMap":477},[482,2901,2902,2904,2906,2908],{"class":484,"line":485},[482,2903,574],{"class":492},[482,2905,578],{"class":577},[482,2907,581],{"class":488},[482,2909,584],{"class":492},[482,2911,2912,2914,2916,2918,2920,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941],{"class":484,"line":496},[482,2913,489],{"class":488},[482,2915,591],{"class":492},[482,2917,2614],{"class":577},[482,2919,1537],{"class":492},[482,2921,2922],{"class":499}," updatePost",[482,2924,503],{"class":492},[482,2926,2624],{"class":499},[482,2928,546],{"class":492},[482,2930,549],{"class":492},[482,2932,2888],{"class":552},[482,2934,717],{"class":499},[482,2936,720],{"class":492},[482,2938,1248],{"class":723},[482,2940,720],{"class":492},[482,2942,729],{"class":499},[482,2944,2945],{"class":484,"line":510},[482,2946,613],{"emptyLinePlaceholder":612},[482,2948,2949,2951,2953,2955,2957,2959],{"class":484,"line":521},[482,2950,2649],{"class":488},[482,2952,2652],{"class":552},[482,2954,717],{"class":492},[482,2956,2658],{"class":2657},[482,2958,2661],{"class":492},[482,2960,493],{"class":492},[482,2962,2963,2966],{"class":484,"line":532},[482,2964,2965],{"class":552},"  updatePost",[482,2967,2968],{"class":577},"(\n",[482,2970,2971,2974,2976,2978,2981,2983,2985,2987,2989,2991,2994],{"class":484,"line":543},[482,2972,2973],{"class":492},"    {",[482,2975,2327],{"class":577},[482,2977,1537],{"class":492},[482,2979,2980],{"class":499}," postId",[482,2982,626],{"class":492},[482,2984,871],{"class":499},[482,2986,503],{"class":492},[482,2988,2149],{"class":577},[482,2990,1537],{"class":492},[482,2992,2993],{"class":499}," formData",[482,2995,2088],{"class":492},[482,2997,2998],{"class":484,"line":644},[482,2999,3000],{"class":492},"    {\n",[482,3002,3003,3006,3008,3011,3013],{"class":484,"line":650},[482,3004,3005],{"class":552},"      onSuccess",[482,3007,1537],{"class":492},[482,3009,3010],{"class":492}," ()",[482,3012,2202],{"class":488},[482,3014,493],{"class":492},[482,3016,3017,3020,3022,3025,3027,3029,3032,3034],{"class":484,"line":669},[482,3018,3019],{"class":499},"        toast",[482,3021,626],{"class":492},[482,3023,3024],{"class":552},"success",[482,3026,717],{"class":577},[482,3028,720],{"class":492},[482,3030,3031],{"class":723},"Post updated",[482,3033,720],{"class":492},[482,3035,729],{"class":577},[482,3037,3038],{"class":484,"line":675},[482,3039,3040],{"class":492},"      },\n",[482,3042,3043],{"class":484,"line":680},[482,3044,3045],{"class":492},"    }\n",[482,3047,3048],{"class":484,"line":686},[482,3049,3050],{"class":577},"  )\n",[482,3052,3053],{"class":484,"line":704},[482,3054,2820],{"class":492},[482,3056,3057,3059,3061],{"class":484,"line":732},[482,3058,735],{"class":492},[482,3060,578],{"class":577},[482,3062,584],{"class":492},[464,3064,3066],{"id":3065},"useautoapidelete","useAutoApiDelete",[455,3068,3069],{},"Delete a resource.",[472,3071,3073],{"className":474,"code":3072,"language":476,"meta":477,"style":477},"const {\n  mutate,    // (id: string | number) => void\n  mutateAsync,\n  isPending,\n  isSuccess,\n  error,\n} = useAutoApiDelete(resource)\n",[479,3074,3075,3081,3090,3096,3102,3108,3114],{"__ignoreMap":477},[482,3076,3077,3079],{"class":484,"line":485},[482,3078,489],{"class":488},[482,3080,493],{"class":492},[482,3082,3083,3085,3087],{"class":484,"line":496},[482,3084,2533],{"class":499},[482,3086,503],{"class":492},[482,3088,3089],{"class":506},"    // (id: string | number) => void\n",[482,3091,3092,3094],{"class":484,"line":510},[482,3093,2543],{"class":499},[482,3095,2105],{"class":492},[482,3097,3098,3100],{"class":484,"line":521},[482,3099,2553],{"class":499},[482,3101,2105],{"class":492},[482,3103,3104,3106],{"class":484,"line":532},[482,3105,2562],{"class":499},[482,3107,2105],{"class":492},[482,3109,3110,3112],{"class":484,"line":543},[482,3111,1992],{"class":499},[482,3113,2105],{"class":492},[482,3115,3116,3118,3120,3123],{"class":484,"line":644},[482,3117,546],{"class":492},[482,3119,549],{"class":492},[482,3121,3122],{"class":552}," useAutoApiDelete",[482,3124,2586],{"class":499},[455,3126,3127],{},[560,3128,562],{},[472,3130,3132],{"className":565,"code":3131,"language":567,"meta":477,"style":477},"\u003Cscript setup>\nconst { mutate: deletePost, isPending: isDeleting } = useAutoApiDelete('posts')\n\nfunction confirmDelete() {\n  deletePost(postId.value, {\n    onSuccess: () => {\n      toast.success('Post deleted')\n      navigateTo('/admin/posts')\n    },\n  })\n}\n\u003C/script>\n",[479,3133,3134,3144,3182,3186,3197,3215,3227,3247,3262,3266,3272,3276],{"__ignoreMap":477},[482,3135,3136,3138,3140,3142],{"class":484,"line":485},[482,3137,574],{"class":492},[482,3139,578],{"class":577},[482,3141,581],{"class":488},[482,3143,584],{"class":492},[482,3145,3146,3148,3150,3152,3154,3157,3159,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180],{"class":484,"line":496},[482,3147,489],{"class":488},[482,3149,591],{"class":492},[482,3151,2614],{"class":577},[482,3153,1537],{"class":492},[482,3155,3156],{"class":499}," deletePost",[482,3158,503],{"class":492},[482,3160,3161],{"class":577}," isPending",[482,3163,1537],{"class":492},[482,3165,1571],{"class":499},[482,3167,546],{"class":492},[482,3169,549],{"class":492},[482,3171,3122],{"class":552},[482,3173,717],{"class":499},[482,3175,720],{"class":492},[482,3177,1248],{"class":723},[482,3179,720],{"class":492},[482,3181,729],{"class":499},[482,3183,3184],{"class":484,"line":510},[482,3185,613],{"emptyLinePlaceholder":612},[482,3187,3188,3190,3193,3195],{"class":484,"line":521},[482,3189,2649],{"class":488},[482,3191,3192],{"class":552}," confirmDelete",[482,3194,2199],{"class":492},[482,3196,493],{"class":492},[482,3198,3199,3202,3204,3207,3209,3211,3213],{"class":484,"line":532},[482,3200,3201],{"class":552},"  deletePost",[482,3203,717],{"class":577},[482,3205,3206],{"class":499},"postId",[482,3208,626],{"class":492},[482,3210,871],{"class":499},[482,3212,503],{"class":492},[482,3214,493],{"class":492},[482,3216,3217,3219,3221,3223,3225],{"class":484,"line":543},[482,3218,2681],{"class":552},[482,3220,1537],{"class":492},[482,3222,3010],{"class":492},[482,3224,2202],{"class":488},[482,3226,493],{"class":492},[482,3228,3229,3232,3234,3236,3238,3240,3243,3245],{"class":484,"line":644},[482,3230,3231],{"class":499},"      toast",[482,3233,626],{"class":492},[482,3235,3024],{"class":552},[482,3237,717],{"class":577},[482,3239,720],{"class":492},[482,3241,3242],{"class":723},"Post deleted",[482,3244,720],{"class":492},[482,3246,729],{"class":577},[482,3248,3249,3251,3253,3255,3258,3260],{"class":484,"line":650},[482,3250,2730],{"class":552},[482,3252,717],{"class":577},[482,3254,720],{"class":492},[482,3256,3257],{"class":723},"/admin/posts",[482,3259,720],{"class":492},[482,3261,729],{"class":577},[482,3263,3264],{"class":484,"line":669},[482,3265,2762],{"class":492},[482,3267,3268,3270],{"class":484,"line":675},[482,3269,2813],{"class":492},[482,3271,729],{"class":577},[482,3273,3274],{"class":484,"line":680},[482,3275,2820],{"class":492},[482,3277,3278,3280,3282],{"class":484,"line":686},[482,3279,735],{"class":492},[482,3281,578],{"class":577},[482,3283,584],{"class":492},[464,3285,3287],{"id":3286},"usepermissions","usePermissions",[455,3289,3290],{},"Get permissions from auto-api (used internally by useAdminPermissions).",[472,3292,3294],{"className":474,"code":3293,"language":476,"meta":477,"style":477},"const {\n  permissions, // Ref\u003CResourcePermissions | undefined>\n  canCreate,\n  canRead,\n  canUpdate,\n  canDelete,\n  isLoading,\n} = usePermissions(resource)\n",[479,3295,3296,3302,3311,3317,3323,3329,3335,3341],{"__ignoreMap":477},[482,3297,3298,3300],{"class":484,"line":485},[482,3299,489],{"class":488},[482,3301,493],{"class":492},[482,3303,3304,3306,3308],{"class":484,"line":496},[482,3305,1809],{"class":499},[482,3307,503],{"class":492},[482,3309,3310],{"class":506}," // Ref\u003CResourcePermissions | undefined>\n",[482,3312,3313,3315],{"class":484,"line":510},[482,3314,977],{"class":499},[482,3316,2105],{"class":492},[482,3318,3319,3321],{"class":484,"line":521},[482,3320,987],{"class":499},[482,3322,2105],{"class":492},[482,3324,3325,3327],{"class":484,"line":532},[482,3326,997],{"class":499},[482,3328,2105],{"class":492},[482,3330,3331,3333],{"class":484,"line":543},[482,3332,1006],{"class":499},[482,3334,2105],{"class":492},[482,3336,3337,3339],{"class":484,"line":644},[482,3338,535],{"class":499},[482,3340,2105],{"class":492},[482,3342,3343,3345,3347,3350],{"class":484,"line":650},[482,3344,546],{"class":492},[482,3346,549],{"class":492},[482,3348,3349],{"class":552}," usePermissions",[482,3351,2586],{"class":499},[464,3353,3355],{"id":3354},"useautoapitoast","useAutoApiToast",[455,3357,3358],{},"Get toast notification functions.",[472,3360,3362],{"className":474,"code":3361,"language":476,"meta":477,"style":477},"const toast = useAutoApiToast()\n\ntoast.success('Operation successful')\ntoast.error('Operation failed', error)\ntoast.info('Information message')\ntoast.warning('Warning message')\n",[479,3363,3364,3378,3382,3402,3424,3444],{"__ignoreMap":477},[482,3365,3366,3368,3371,3373,3376],{"class":484,"line":485},[482,3367,489],{"class":488},[482,3369,3370],{"class":499}," toast ",[482,3372,658],{"class":492},[482,3374,3375],{"class":552}," useAutoApiToast",[482,3377,556],{"class":499},[482,3379,3380],{"class":484,"line":496},[482,3381,613],{"emptyLinePlaceholder":612},[482,3383,3384,3387,3389,3391,3393,3395,3398,3400],{"class":484,"line":510},[482,3385,3386],{"class":499},"toast",[482,3388,626],{"class":492},[482,3390,3024],{"class":552},[482,3392,717],{"class":499},[482,3394,720],{"class":492},[482,3396,3397],{"class":723},"Operation successful",[482,3399,720],{"class":492},[482,3401,729],{"class":499},[482,3403,3404,3406,3408,3410,3412,3414,3417,3419,3421],{"class":484,"line":521},[482,3405,3386],{"class":499},[482,3407,626],{"class":492},[482,3409,2774],{"class":552},[482,3411,717],{"class":499},[482,3413,720],{"class":492},[482,3415,3416],{"class":723},"Operation failed",[482,3418,720],{"class":492},[482,3420,503],{"class":492},[482,3422,3423],{"class":499}," error)\n",[482,3425,3426,3428,3430,3433,3435,3437,3440,3442],{"class":484,"line":532},[482,3427,3386],{"class":499},[482,3429,626],{"class":492},[482,3431,3432],{"class":552},"info",[482,3434,717],{"class":499},[482,3436,720],{"class":492},[482,3438,3439],{"class":723},"Information message",[482,3441,720],{"class":492},[482,3443,729],{"class":499},[482,3445,3446,3448,3450,3453,3455,3457,3460,3462],{"class":484,"line":543},[482,3447,3386],{"class":499},[482,3449,626],{"class":492},[482,3451,3452],{"class":552},"warning",[482,3454,717],{"class":499},[482,3456,720],{"class":492},[482,3458,3459],{"class":723},"Warning message",[482,3461,720],{"class":492},[482,3463,729],{"class":499},[459,3465,3467],{"id":3466},"utility-functions","Utility Functions",[464,3469,3471],{"id":3470},"formatfieldlabel","formatFieldLabel",[455,3473,3474],{},"Convert field names to human-readable labels.",[472,3476,3478],{"className":474,"code":3477,"language":476,"meta":477,"style":477},"import { formatFieldLabel } from '#@websideproject/nuxt-auto-admin/utils'\n\nformatFieldLabel('firstName')  // 'First Name'\nformatFieldLabel('email')      // 'Email'\nformatFieldLabel('createdAt')  // 'Created At'\n",[479,3479,3480,3503,3507,3526,3545],{"__ignoreMap":477},[482,3481,3482,3485,3487,3490,3493,3496,3498,3501],{"class":484,"line":485},[482,3483,3484],{"class":2401},"import",[482,3486,591],{"class":492},[482,3488,3489],{"class":499}," formatFieldLabel",[482,3491,3492],{"class":492}," }",[482,3494,3495],{"class":2401}," from",[482,3497,1724],{"class":492},[482,3499,3500],{"class":723},"#@websideproject/nuxt-auto-admin/utils",[482,3502,1931],{"class":492},[482,3504,3505],{"class":484,"line":496},[482,3506,613],{"emptyLinePlaceholder":612},[482,3508,3509,3511,3513,3515,3518,3520,3523],{"class":484,"line":510},[482,3510,3471],{"class":552},[482,3512,717],{"class":499},[482,3514,720],{"class":492},[482,3516,3517],{"class":723},"firstName",[482,3519,720],{"class":492},[482,3521,3522],{"class":499},")  ",[482,3524,3525],{"class":506},"// 'First Name'\n",[482,3527,3528,3530,3532,3534,3537,3539,3542],{"class":484,"line":521},[482,3529,3471],{"class":552},[482,3531,717],{"class":499},[482,3533,720],{"class":492},[482,3535,3536],{"class":723},"email",[482,3538,720],{"class":492},[482,3540,3541],{"class":499},")      ",[482,3543,3544],{"class":506},"// 'Email'\n",[482,3546,3547,3549,3551,3553,3556,3558,3560],{"class":484,"line":532},[482,3548,3471],{"class":552},[482,3550,717],{"class":499},[482,3552,720],{"class":492},[482,3554,3555],{"class":723},"createdAt",[482,3557,720],{"class":492},[482,3559,3522],{"class":499},[482,3561,3562],{"class":506},"// 'Created At'\n",[464,3564,3566],{"id":3565},"formatdisplayvalue","formatDisplayValue",[455,3568,3569],{},"Format values for display based on column type.",[472,3571,3573],{"className":474,"code":3572,"language":476,"meta":477,"style":477},"import { formatDisplayValue } from '#@websideproject/nuxt-auto-admin/utils'\n\nconst column = { type: 'timestamp', name: 'createdAt' }\nformatDisplayValue(new Date(), column)  // '2024-01-15 14:30'\n\nconst boolColumn = { type: 'boolean', name: 'active' }\nformatDisplayValue(true, boolColumn)    // 'Yes'\n",[479,3574,3575,3594,3598,3637,3659,3663,3700],{"__ignoreMap":477},[482,3576,3577,3579,3581,3584,3586,3588,3590,3592],{"class":484,"line":485},[482,3578,3484],{"class":2401},[482,3580,591],{"class":492},[482,3582,3583],{"class":499}," formatDisplayValue",[482,3585,3492],{"class":492},[482,3587,3495],{"class":2401},[482,3589,1724],{"class":492},[482,3591,3500],{"class":723},[482,3593,1931],{"class":492},[482,3595,3596],{"class":484,"line":496},[482,3597,613],{"emptyLinePlaceholder":612},[482,3599,3600,3602,3605,3607,3609,3612,3614,3616,3619,3621,3623,3626,3628,3630,3632,3634],{"class":484,"line":510},[482,3601,489],{"class":488},[482,3603,3604],{"class":499}," column ",[482,3606,658],{"class":492},[482,3608,591],{"class":492},[482,3610,3611],{"class":577}," type",[482,3613,1537],{"class":492},[482,3615,1724],{"class":492},[482,3617,3618],{"class":723},"timestamp",[482,3620,720],{"class":492},[482,3622,503],{"class":492},[482,3624,3625],{"class":577}," name",[482,3627,1537],{"class":492},[482,3629,1724],{"class":492},[482,3631,3555],{"class":723},[482,3633,720],{"class":492},[482,3635,3636],{"class":492}," }\n",[482,3638,3639,3641,3643,3646,3649,3651,3653,3656],{"class":484,"line":521},[482,3640,3566],{"class":552},[482,3642,717],{"class":499},[482,3644,3645],{"class":492},"new",[482,3647,3648],{"class":552}," Date",[482,3650,2199],{"class":499},[482,3652,503],{"class":492},[482,3654,3655],{"class":499}," column)  ",[482,3657,3658],{"class":506},"// '2024-01-15 14:30'\n",[482,3660,3661],{"class":484,"line":532},[482,3662,613],{"emptyLinePlaceholder":612},[482,3664,3665,3667,3670,3672,3674,3676,3678,3680,3683,3685,3687,3689,3691,3693,3696,3698],{"class":484,"line":543},[482,3666,489],{"class":488},[482,3668,3669],{"class":499}," boolColumn ",[482,3671,658],{"class":492},[482,3673,591],{"class":492},[482,3675,3611],{"class":577},[482,3677,1537],{"class":492},[482,3679,1724],{"class":492},[482,3681,3682],{"class":723},"boolean",[482,3684,720],{"class":492},[482,3686,503],{"class":492},[482,3688,3625],{"class":577},[482,3690,1537],{"class":492},[482,3692,1724],{"class":492},[482,3694,3695],{"class":723},"active",[482,3697,720],{"class":492},[482,3699,3636],{"class":492},[482,3701,3702,3704,3706,3710,3712,3715],{"class":484,"line":644},[482,3703,3566],{"class":552},[482,3705,717],{"class":499},[482,3707,3709],{"class":3708},"sfNiH","true",[482,3711,503],{"class":492},[482,3713,3714],{"class":499}," boolColumn)    ",[482,3716,3717],{"class":506},"// 'Yes'\n",[459,3719,3721],{"id":3720},"complete-custom-page-example","Complete Custom Page Example",[472,3723,3725],{"className":565,"code":3724,"language":567,"meta":477,"style":477},"\u003C!-- pages/admin/analytics.vue -->\n\u003Ctemplate>\n  \u003Cdiv class=\"space-y-4\">\n    \u003Ch1 class=\"text-2xl font-semibold\">Analytics Dashboard\u003C/h1>\n\n    \u003Cdiv v-if=\"isLoadingStats\" class=\"text-center p-8\">\n      \u003CUIcon name=\"i-heroicons-arrow-path\" class=\"animate-spin h-8 w-8\" />\n    \u003C/div>\n\n    \u003Cdiv v-else class=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n      \u003CUCard>\n        \u003Cdiv class=\"text-center\">\n          \u003Cdiv class=\"text-3xl font-bold\">{{ stats.users }}\u003C/div>\n          \u003Cdiv class=\"text-sm text-gray-500\">Total Users\u003C/div>\n        \u003C/div>\n      \u003C/UCard>\n\n      \u003CUCard>\n        \u003Cdiv class=\"text-center\">\n          \u003Cdiv class=\"text-3xl font-bold\">{{ stats.posts }}\u003C/div>\n          \u003Cdiv class=\"text-sm text-gray-500\">Total Posts\u003C/div>\n        \u003C/div>\n      \u003C/UCard>\n\n      \u003CUCard>\n        \u003Cdiv class=\"text-center\">\n          \u003Cdiv class=\"text-3xl font-bold\">{{ stats.comments }}\u003C/div>\n          \u003Cdiv class=\"text-sm text-gray-500\">Total Comments\u003C/div>\n        \u003C/div>\n      \u003C/UCard>\n    \u003C/div>\n\n    \u003CUCard>\n      \u003Ch2 class=\"text-lg font-semibold mb-4\">Recent Posts\u003C/h2>\n      \u003Cdiv v-if=\"isLoadingPosts\" class=\"text-center p-4\">Loading...\u003C/div>\n      \u003Cdiv v-else>\n        \u003Cdiv\n          v-for=\"post in recentPosts\"\n          :key=\"post.id\"\n          class=\"flex items-center justify-between p-3 border-b last:border-0\"\n        >\n          \u003Cdiv>\n            \u003Cdiv class=\"font-medium\">{{ post.title }}\u003C/div>\n            \u003Cdiv class=\"text-sm text-gray-500\">\n              {{ formatDisplayValue(post.createdAt, { type: 'timestamp' }) }}\n            \u003C/div>\n          \u003C/div>\n          \u003CUButton\n            size=\"xs\"\n            variant=\"ghost\"\n            @click=\"goToPostDetail(post.id)\"\n          >\n            View\n          \u003C/UButton>\n        \u003C/div>\n      \u003C/div>\n    \u003C/UCard>\n  \u003C/div>\n\u003C/template>\n\n\u003Cscript setup lang=\"ts\">\nimport { formatDisplayValue } from '#@websideproject/nuxt-auto-admin/utils'\n\ndefinePageMeta({\n  layout: 'admin',\n})\n\n// Check permissions\nconst { hasAnyPermission } = useAdminPermissions('posts')\n\n// Get stats\nconst stats = ref({ users: 0, posts: 0, comments: 0 })\nconst isLoadingStats = ref(true)\n\nonMounted(async () => {\n  const [users, posts, comments] = await Promise.all([\n    $fetch('/api/users', { query: { aggregate: 'count' } }),\n    $fetch('/api/posts', { query: { aggregate: 'count' } }),\n    $fetch('/api/comments', { query: { aggregate: 'count' } }),\n  ])\n\n  stats.value = {\n    users: users.meta.aggregates.count,\n    posts: posts.meta.aggregates.count,\n    comments: comments.meta.aggregates.count,\n  }\n  isLoadingStats.value = false\n})\n\n// Get recent posts\nconst {\n  data: postsResponse,\n  isLoading: isLoadingPosts,\n} = useAutoApiList('posts', {\n  sort: '-createdAt',\n  limit: 5,\n})\n\nconst recentPosts = computed(() => postsResponse.value?.data || [])\n\n// Navigation\nconst { goToDetail } = useAdminActions('posts')\nconst goToPostDetail = (id: number) => goToDetail(id)\n\u003C/script>\n",[479,3726,3727,3732,3740,3760,3788,3792,3822,3855,3863,3867,3889,3898,3918,3947,3975,3984,3993,3997,4006,4025,4053,4081,4090,4099,4104,4113,4132,4160,4188,4197,4206,4215,4220,4229,4258,4298,4309,4317,4332,4347,4362,4368,4377,4407,4426,4432,4442,4452,4459,4474,4489,4504,4510,4516,4525,4534,4543,4552,4561,4570,4575,4598,4617,4622,4632,4649,4656,4661,4667,4693,4698,4704,4751,4769,4774,4791,4829,4875,4917,4959,4965,4970,4984,5009,5033,5057,5063,5078,5085,5090,5096,5103,5115,5127,5148,5163,5175,5182,5187,5219,5224,5230,5256,5285],{"__ignoreMap":477},[482,3728,3729],{"class":484,"line":485},[482,3730,3731],{"class":506},"\u003C!-- pages/admin/analytics.vue -->\n",[482,3733,3734,3736,3738],{"class":484,"line":496},[482,3735,574],{"class":492},[482,3737,1065],{"class":577},[482,3739,584],{"class":492},[482,3741,3742,3744,3746,3749,3751,3753,3756,3758],{"class":484,"line":510},[482,3743,1072],{"class":492},[482,3745,1075],{"class":577},[482,3747,3748],{"class":488}," class",[482,3750,658],{"class":492},[482,3752,1093],{"class":492},[482,3754,3755],{"class":723},"space-y-4",[482,3757,1093],{"class":492},[482,3759,584],{"class":492},[482,3761,3762,3764,3766,3768,3770,3772,3775,3777,3779,3782,3784,3786],{"class":484,"line":521},[482,3763,1082],{"class":492},[482,3765,451],{"class":577},[482,3767,3748],{"class":488},[482,3769,658],{"class":492},[482,3771,1093],{"class":492},[482,3773,3774],{"class":723},"text-2xl font-semibold",[482,3776,1093],{"class":492},[482,3778,1395],{"class":492},[482,3780,3781],{"class":499},"Analytics Dashboard",[482,3783,735],{"class":492},[482,3785,451],{"class":577},[482,3787,584],{"class":492},[482,3789,3790],{"class":484,"line":532},[482,3791,613],{"emptyLinePlaceholder":612},[482,3793,3794,3796,3798,3800,3802,3804,3807,3809,3811,3813,3815,3818,3820],{"class":484,"line":543},[482,3795,1082],{"class":492},[482,3797,1075],{"class":577},[482,3799,1088],{"class":488},[482,3801,658],{"class":492},[482,3803,1093],{"class":492},[482,3805,3806],{"class":723},"isLoadingStats",[482,3808,1093],{"class":492},[482,3810,3748],{"class":488},[482,3812,658],{"class":492},[482,3814,1093],{"class":492},[482,3816,3817],{"class":723},"text-center p-8",[482,3819,1093],{"class":492},[482,3821,584],{"class":492},[482,3823,3824,3827,3830,3832,3834,3836,3839,3841,3843,3845,3847,3850,3852],{"class":484,"line":644},[482,3825,3826],{"class":492},"      \u003C",[482,3828,3829],{"class":577},"UIcon",[482,3831,3625],{"class":488},[482,3833,658],{"class":492},[482,3835,1093],{"class":492},[482,3837,3838],{"class":723},"i-heroicons-arrow-path",[482,3840,1093],{"class":492},[482,3842,3748],{"class":488},[482,3844,658],{"class":492},[482,3846,1093],{"class":492},[482,3848,3849],{"class":723},"animate-spin h-8 w-8",[482,3851,1093],{"class":492},[482,3853,3854],{"class":492}," />\n",[482,3856,3857,3859,3861],{"class":484,"line":650},[482,3858,1122],{"class":492},[482,3860,1075],{"class":577},[482,3862,584],{"class":492},[482,3864,3865],{"class":484,"line":669},[482,3866,613],{"emptyLinePlaceholder":612},[482,3868,3869,3871,3873,3876,3878,3880,3882,3885,3887],{"class":484,"line":675},[482,3870,1082],{"class":492},[482,3872,1075],{"class":577},[482,3874,3875],{"class":488}," v-else",[482,3877,3748],{"class":488},[482,3879,658],{"class":492},[482,3881,1093],{"class":492},[482,3883,3884],{"class":723},"grid grid-cols-1 md:grid-cols-3 gap-4",[482,3886,1093],{"class":492},[482,3888,584],{"class":492},[482,3890,3891,3893,3896],{"class":484,"line":680},[482,3892,3826],{"class":492},[482,3894,3895],{"class":577},"UCard",[482,3897,584],{"class":492},[482,3899,3900,3903,3905,3907,3909,3911,3914,3916],{"class":484,"line":686},[482,3901,3902],{"class":492},"        \u003C",[482,3904,1075],{"class":577},[482,3906,3748],{"class":488},[482,3908,658],{"class":492},[482,3910,1093],{"class":492},[482,3912,3913],{"class":723},"text-center",[482,3915,1093],{"class":492},[482,3917,584],{"class":492},[482,3919,3920,3923,3925,3927,3929,3931,3934,3936,3938,3941,3943,3945],{"class":484,"line":704},[482,3921,3922],{"class":492},"          \u003C",[482,3924,1075],{"class":577},[482,3926,3748],{"class":488},[482,3928,658],{"class":492},[482,3930,1093],{"class":492},[482,3932,3933],{"class":723},"text-3xl font-bold",[482,3935,1093],{"class":492},[482,3937,1395],{"class":492},[482,3939,3940],{"class":499},"{{ stats.users }}",[482,3942,735],{"class":492},[482,3944,1075],{"class":577},[482,3946,584],{"class":492},[482,3948,3949,3951,3953,3955,3957,3959,3962,3964,3966,3969,3971,3973],{"class":484,"line":732},[482,3950,3922],{"class":492},[482,3952,1075],{"class":577},[482,3954,3748],{"class":488},[482,3956,658],{"class":492},[482,3958,1093],{"class":492},[482,3960,3961],{"class":723},"text-sm text-gray-500",[482,3963,1093],{"class":492},[482,3965,1395],{"class":492},[482,3967,3968],{"class":499},"Total Users",[482,3970,735],{"class":492},[482,3972,1075],{"class":577},[482,3974,584],{"class":492},[482,3976,3977,3980,3982],{"class":484,"line":1255},[482,3978,3979],{"class":492},"        \u003C/",[482,3981,1075],{"class":577},[482,3983,584],{"class":492},[482,3985,3986,3989,3991],{"class":484,"line":1549},[482,3987,3988],{"class":492},"      \u003C/",[482,3990,3895],{"class":577},[482,3992,584],{"class":492},[482,3994,3995],{"class":484,"line":1590},[482,3996,613],{"emptyLinePlaceholder":612},[482,3998,4000,4002,4004],{"class":484,"line":3999},18,[482,4001,3826],{"class":492},[482,4003,3895],{"class":577},[482,4005,584],{"class":492},[482,4007,4009,4011,4013,4015,4017,4019,4021,4023],{"class":484,"line":4008},19,[482,4010,3902],{"class":492},[482,4012,1075],{"class":577},[482,4014,3748],{"class":488},[482,4016,658],{"class":492},[482,4018,1093],{"class":492},[482,4020,3913],{"class":723},[482,4022,1093],{"class":492},[482,4024,584],{"class":492},[482,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4047,4049,4051],{"class":484,"line":4027},20,[482,4029,3922],{"class":492},[482,4031,1075],{"class":577},[482,4033,3748],{"class":488},[482,4035,658],{"class":492},[482,4037,1093],{"class":492},[482,4039,3933],{"class":723},[482,4041,1093],{"class":492},[482,4043,1395],{"class":492},[482,4045,4046],{"class":499},"{{ stats.posts }}",[482,4048,735],{"class":492},[482,4050,1075],{"class":577},[482,4052,584],{"class":492},[482,4054,4056,4058,4060,4062,4064,4066,4068,4070,4072,4075,4077,4079],{"class":484,"line":4055},21,[482,4057,3922],{"class":492},[482,4059,1075],{"class":577},[482,4061,3748],{"class":488},[482,4063,658],{"class":492},[482,4065,1093],{"class":492},[482,4067,3961],{"class":723},[482,4069,1093],{"class":492},[482,4071,1395],{"class":492},[482,4073,4074],{"class":499},"Total Posts",[482,4076,735],{"class":492},[482,4078,1075],{"class":577},[482,4080,584],{"class":492},[482,4082,4084,4086,4088],{"class":484,"line":4083},22,[482,4085,3979],{"class":492},[482,4087,1075],{"class":577},[482,4089,584],{"class":492},[482,4091,4093,4095,4097],{"class":484,"line":4092},23,[482,4094,3988],{"class":492},[482,4096,3895],{"class":577},[482,4098,584],{"class":492},[482,4100,4102],{"class":484,"line":4101},24,[482,4103,613],{"emptyLinePlaceholder":612},[482,4105,4107,4109,4111],{"class":484,"line":4106},25,[482,4108,3826],{"class":492},[482,4110,3895],{"class":577},[482,4112,584],{"class":492},[482,4114,4116,4118,4120,4122,4124,4126,4128,4130],{"class":484,"line":4115},26,[482,4117,3902],{"class":492},[482,4119,1075],{"class":577},[482,4121,3748],{"class":488},[482,4123,658],{"class":492},[482,4125,1093],{"class":492},[482,4127,3913],{"class":723},[482,4129,1093],{"class":492},[482,4131,584],{"class":492},[482,4133,4135,4137,4139,4141,4143,4145,4147,4149,4151,4154,4156,4158],{"class":484,"line":4134},27,[482,4136,3922],{"class":492},[482,4138,1075],{"class":577},[482,4140,3748],{"class":488},[482,4142,658],{"class":492},[482,4144,1093],{"class":492},[482,4146,3933],{"class":723},[482,4148,1093],{"class":492},[482,4150,1395],{"class":492},[482,4152,4153],{"class":499},"{{ stats.comments }}",[482,4155,735],{"class":492},[482,4157,1075],{"class":577},[482,4159,584],{"class":492},[482,4161,4163,4165,4167,4169,4171,4173,4175,4177,4179,4182,4184,4186],{"class":484,"line":4162},28,[482,4164,3922],{"class":492},[482,4166,1075],{"class":577},[482,4168,3748],{"class":488},[482,4170,658],{"class":492},[482,4172,1093],{"class":492},[482,4174,3961],{"class":723},[482,4176,1093],{"class":492},[482,4178,1395],{"class":492},[482,4180,4181],{"class":499},"Total Comments",[482,4183,735],{"class":492},[482,4185,1075],{"class":577},[482,4187,584],{"class":492},[482,4189,4191,4193,4195],{"class":484,"line":4190},29,[482,4192,3979],{"class":492},[482,4194,1075],{"class":577},[482,4196,584],{"class":492},[482,4198,4200,4202,4204],{"class":484,"line":4199},30,[482,4201,3988],{"class":492},[482,4203,3895],{"class":577},[482,4205,584],{"class":492},[482,4207,4209,4211,4213],{"class":484,"line":4208},31,[482,4210,1122],{"class":492},[482,4212,1075],{"class":577},[482,4214,584],{"class":492},[482,4216,4218],{"class":484,"line":4217},32,[482,4219,613],{"emptyLinePlaceholder":612},[482,4221,4223,4225,4227],{"class":484,"line":4222},33,[482,4224,1082],{"class":492},[482,4226,3895],{"class":577},[482,4228,584],{"class":492},[482,4230,4232,4234,4236,4238,4240,4242,4245,4247,4249,4252,4254,4256],{"class":484,"line":4231},34,[482,4233,3826],{"class":492},[482,4235,459],{"class":577},[482,4237,3748],{"class":488},[482,4239,658],{"class":492},[482,4241,1093],{"class":492},[482,4243,4244],{"class":723},"text-lg font-semibold mb-4",[482,4246,1093],{"class":492},[482,4248,1395],{"class":492},[482,4250,4251],{"class":499},"Recent Posts",[482,4253,735],{"class":492},[482,4255,459],{"class":577},[482,4257,584],{"class":492},[482,4259,4261,4263,4265,4267,4269,4271,4274,4276,4278,4280,4282,4285,4287,4289,4292,4294,4296],{"class":484,"line":4260},35,[482,4262,3826],{"class":492},[482,4264,1075],{"class":577},[482,4266,1088],{"class":488},[482,4268,658],{"class":492},[482,4270,1093],{"class":492},[482,4272,4273],{"class":723},"isLoadingPosts",[482,4275,1093],{"class":492},[482,4277,3748],{"class":488},[482,4279,658],{"class":492},[482,4281,1093],{"class":492},[482,4283,4284],{"class":723},"text-center p-4",[482,4286,1093],{"class":492},[482,4288,1395],{"class":492},[482,4290,4291],{"class":499},"Loading...",[482,4293,735],{"class":492},[482,4295,1075],{"class":577},[482,4297,584],{"class":492},[482,4299,4301,4303,4305,4307],{"class":484,"line":4300},36,[482,4302,3826],{"class":492},[482,4304,1075],{"class":577},[482,4306,3875],{"class":488},[482,4308,584],{"class":492},[482,4310,4312,4314],{"class":484,"line":4311},37,[482,4313,3902],{"class":492},[482,4315,4316],{"class":577},"div\n",[482,4318,4320,4323,4325,4327,4330],{"class":484,"line":4319},38,[482,4321,4322],{"class":488},"          v-for",[482,4324,658],{"class":492},[482,4326,1093],{"class":492},[482,4328,4329],{"class":723},"post in recentPosts",[482,4331,1454],{"class":492},[482,4333,4335,4338,4340,4342,4345],{"class":484,"line":4334},39,[482,4336,4337],{"class":488},"          :key",[482,4339,658],{"class":492},[482,4341,1093],{"class":492},[482,4343,4344],{"class":723},"post.id",[482,4346,1454],{"class":492},[482,4348,4350,4353,4355,4357,4360],{"class":484,"line":4349},40,[482,4351,4352],{"class":488},"          class",[482,4354,658],{"class":492},[482,4356,1093],{"class":492},[482,4358,4359],{"class":723},"flex items-center justify-between p-3 border-b last:border-0",[482,4361,1454],{"class":492},[482,4363,4365],{"class":484,"line":4364},41,[482,4366,4367],{"class":492},"        >\n",[482,4369,4371,4373,4375],{"class":484,"line":4370},42,[482,4372,3922],{"class":492},[482,4374,1075],{"class":577},[482,4376,584],{"class":492},[482,4378,4380,4383,4385,4387,4389,4391,4394,4396,4398,4401,4403,4405],{"class":484,"line":4379},43,[482,4381,4382],{"class":492},"            \u003C",[482,4384,1075],{"class":577},[482,4386,3748],{"class":488},[482,4388,658],{"class":492},[482,4390,1093],{"class":492},[482,4392,4393],{"class":723},"font-medium",[482,4395,1093],{"class":492},[482,4397,1395],{"class":492},[482,4399,4400],{"class":499},"{{ post.title }}",[482,4402,735],{"class":492},[482,4404,1075],{"class":577},[482,4406,584],{"class":492},[482,4408,4410,4412,4414,4416,4418,4420,4422,4424],{"class":484,"line":4409},44,[482,4411,4382],{"class":492},[482,4413,1075],{"class":577},[482,4415,3748],{"class":488},[482,4417,658],{"class":492},[482,4419,1093],{"class":492},[482,4421,3961],{"class":723},[482,4423,1093],{"class":492},[482,4425,584],{"class":492},[482,4427,4429],{"class":484,"line":4428},45,[482,4430,4431],{"class":499},"              {{ formatDisplayValue(post.createdAt, { type: 'timestamp' }) }}\n",[482,4433,4435,4438,4440],{"class":484,"line":4434},46,[482,4436,4437],{"class":492},"            \u003C/",[482,4439,1075],{"class":577},[482,4441,584],{"class":492},[482,4443,4445,4448,4450],{"class":484,"line":4444},47,[482,4446,4447],{"class":492},"          \u003C/",[482,4449,1075],{"class":577},[482,4451,584],{"class":492},[482,4453,4455,4457],{"class":484,"line":4454},48,[482,4456,3922],{"class":492},[482,4458,1439],{"class":577},[482,4460,4462,4465,4467,4469,4472],{"class":484,"line":4461},49,[482,4463,4464],{"class":488},"            size",[482,4466,658],{"class":492},[482,4468,1093],{"class":492},[482,4470,4471],{"class":723},"xs",[482,4473,1454],{"class":492},[482,4475,4477,4480,4482,4484,4487],{"class":484,"line":4476},50,[482,4478,4479],{"class":488},"            variant",[482,4481,658],{"class":492},[482,4483,1093],{"class":492},[482,4485,4486],{"class":723},"ghost",[482,4488,1454],{"class":492},[482,4490,4492,4495,4497,4499,4502],{"class":484,"line":4491},51,[482,4493,4494],{"class":488},"            @click",[482,4496,658],{"class":492},[482,4498,1093],{"class":492},[482,4500,4501],{"class":723},"goToPostDetail(post.id)",[482,4503,1454],{"class":492},[482,4505,4507],{"class":484,"line":4506},52,[482,4508,4509],{"class":492},"          >\n",[482,4511,4513],{"class":484,"line":4512},53,[482,4514,4515],{"class":499},"            View\n",[482,4517,4519,4521,4523],{"class":484,"line":4518},54,[482,4520,4447],{"class":492},[482,4522,1085],{"class":577},[482,4524,584],{"class":492},[482,4526,4528,4530,4532],{"class":484,"line":4527},55,[482,4529,3979],{"class":492},[482,4531,1075],{"class":577},[482,4533,584],{"class":492},[482,4535,4537,4539,4541],{"class":484,"line":4536},56,[482,4538,3988],{"class":492},[482,4540,1075],{"class":577},[482,4542,584],{"class":492},[482,4544,4546,4548,4550],{"class":484,"line":4545},57,[482,4547,1122],{"class":492},[482,4549,3895],{"class":577},[482,4551,584],{"class":492},[482,4553,4555,4557,4559],{"class":484,"line":4554},58,[482,4556,1190],{"class":492},[482,4558,1075],{"class":577},[482,4560,584],{"class":492},[482,4562,4564,4566,4568],{"class":484,"line":4563},59,[482,4565,735],{"class":492},[482,4567,1065],{"class":577},[482,4569,584],{"class":492},[482,4571,4573],{"class":484,"line":4572},60,[482,4574,613],{"emptyLinePlaceholder":612},[482,4576,4578,4580,4582,4584,4587,4589,4591,4594,4596],{"class":484,"line":4577},61,[482,4579,574],{"class":492},[482,4581,578],{"class":577},[482,4583,581],{"class":488},[482,4585,4586],{"class":488}," lang",[482,4588,658],{"class":492},[482,4590,1093],{"class":492},[482,4592,4593],{"class":723},"ts",[482,4595,1093],{"class":492},[482,4597,584],{"class":492},[482,4599,4601,4603,4605,4607,4609,4611,4613,4615],{"class":484,"line":4600},62,[482,4602,3484],{"class":2401},[482,4604,591],{"class":492},[482,4606,3583],{"class":499},[482,4608,3492],{"class":492},[482,4610,3495],{"class":2401},[482,4612,1724],{"class":492},[482,4614,3500],{"class":723},[482,4616,1931],{"class":492},[482,4618,4620],{"class":484,"line":4619},63,[482,4621,613],{"emptyLinePlaceholder":612},[482,4623,4625,4628,4630],{"class":484,"line":4624},64,[482,4626,4627],{"class":552},"definePageMeta",[482,4629,717],{"class":499},[482,4631,2064],{"class":492},[482,4633,4635,4638,4640,4642,4645,4647],{"class":484,"line":4634},65,[482,4636,4637],{"class":577},"  layout",[482,4639,1537],{"class":492},[482,4641,1724],{"class":492},[482,4643,4644],{"class":723},"admin",[482,4646,720],{"class":492},[482,4648,2105],{"class":492},[482,4650,4652,4654],{"class":484,"line":4651},66,[482,4653,546],{"class":492},[482,4655,729],{"class":499},[482,4657,4659],{"class":484,"line":4658},67,[482,4660,613],{"emptyLinePlaceholder":612},[482,4662,4664],{"class":484,"line":4663},68,[482,4665,4666],{"class":506},"// Check permissions\n",[482,4668,4670,4672,4674,4677,4679,4681,4683,4685,4687,4689,4691],{"class":484,"line":4669},69,[482,4671,489],{"class":488},[482,4673,591],{"class":492},[482,4675,4676],{"class":499}," hasAnyPermission ",[482,4678,546],{"class":492},[482,4680,549],{"class":492},[482,4682,1047],{"class":552},[482,4684,717],{"class":499},[482,4686,720],{"class":492},[482,4688,1248],{"class":723},[482,4690,720],{"class":492},[482,4692,729],{"class":499},[482,4694,4696],{"class":484,"line":4695},70,[482,4697,613],{"emptyLinePlaceholder":612},[482,4699,4701],{"class":484,"line":4700},71,[482,4702,4703],{"class":506},"// Get stats\n",[482,4705,4707,4709,4712,4714,4716,4718,4721,4724,4726,4729,4731,4734,4736,4738,4740,4743,4745,4747,4749],{"class":484,"line":4706},72,[482,4708,489],{"class":488},[482,4710,4711],{"class":499}," stats ",[482,4713,658],{"class":492},[482,4715,819],{"class":552},[482,4717,717],{"class":499},[482,4719,4720],{"class":492},"{",[482,4722,4723],{"class":577}," users",[482,4725,1537],{"class":492},[482,4727,4728],{"class":2115}," 0",[482,4730,503],{"class":492},[482,4732,4733],{"class":577}," posts",[482,4735,1537],{"class":492},[482,4737,4728],{"class":2115},[482,4739,503],{"class":492},[482,4741,4742],{"class":577}," comments",[482,4744,1537],{"class":492},[482,4746,4728],{"class":2115},[482,4748,3492],{"class":492},[482,4750,729],{"class":499},[482,4752,4754,4756,4759,4761,4763,4765,4767],{"class":484,"line":4753},73,[482,4755,489],{"class":488},[482,4757,4758],{"class":499}," isLoadingStats ",[482,4760,658],{"class":492},[482,4762,819],{"class":552},[482,4764,717],{"class":499},[482,4766,3709],{"class":3708},[482,4768,729],{"class":499},[482,4770,4772],{"class":484,"line":4771},74,[482,4773,613],{"emptyLinePlaceholder":612},[482,4775,4777,4780,4782,4785,4787,4789],{"class":484,"line":4776},75,[482,4778,4779],{"class":552},"onMounted",[482,4781,717],{"class":499},[482,4783,4784],{"class":488},"async",[482,4786,3010],{"class":492},[482,4788,2202],{"class":488},[482,4790,493],{"class":492},[482,4792,4794,4797,4800,4802,4804,4806,4808,4810,4813,4815,4818,4821,4823,4826],{"class":484,"line":4793},76,[482,4795,4796],{"class":488},"  const",[482,4798,4799],{"class":492}," [",[482,4801,724],{"class":499},[482,4803,503],{"class":492},[482,4805,4733],{"class":499},[482,4807,503],{"class":492},[482,4809,4742],{"class":499},[482,4811,4812],{"class":492},"]",[482,4814,549],{"class":492},[482,4816,4817],{"class":2401}," await",[482,4819,4820],{"class":1540}," Promise",[482,4822,626],{"class":492},[482,4824,4825],{"class":552},"all",[482,4827,4828],{"class":577},"([\n",[482,4830,4832,4835,4837,4839,4842,4844,4846,4848,4851,4853,4855,4858,4860,4862,4865,4867,4869,4871,4873],{"class":484,"line":4831},77,[482,4833,4834],{"class":552},"    $fetch",[482,4836,717],{"class":577},[482,4838,720],{"class":492},[482,4840,4841],{"class":723},"/api/users",[482,4843,720],{"class":492},[482,4845,503],{"class":492},[482,4847,591],{"class":492},[482,4849,4850],{"class":577}," query",[482,4852,1537],{"class":492},[482,4854,591],{"class":492},[482,4856,4857],{"class":577}," aggregate",[482,4859,1537],{"class":492},[482,4861,1724],{"class":492},[482,4863,4864],{"class":723},"count",[482,4866,720],{"class":492},[482,4868,3492],{"class":492},[482,4870,3492],{"class":492},[482,4872,2661],{"class":577},[482,4874,2105],{"class":492},[482,4876,4878,4880,4882,4884,4887,4889,4891,4893,4895,4897,4899,4901,4903,4905,4907,4909,4911,4913,4915],{"class":484,"line":4877},78,[482,4879,4834],{"class":552},[482,4881,717],{"class":577},[482,4883,720],{"class":492},[482,4885,4886],{"class":723},"/api/posts",[482,4888,720],{"class":492},[482,4890,503],{"class":492},[482,4892,591],{"class":492},[482,4894,4850],{"class":577},[482,4896,1537],{"class":492},[482,4898,591],{"class":492},[482,4900,4857],{"class":577},[482,4902,1537],{"class":492},[482,4904,1724],{"class":492},[482,4906,4864],{"class":723},[482,4908,720],{"class":492},[482,4910,3492],{"class":492},[482,4912,3492],{"class":492},[482,4914,2661],{"class":577},[482,4916,2105],{"class":492},[482,4918,4920,4922,4924,4926,4929,4931,4933,4935,4937,4939,4941,4943,4945,4947,4949,4951,4953,4955,4957],{"class":484,"line":4919},79,[482,4921,4834],{"class":552},[482,4923,717],{"class":577},[482,4925,720],{"class":492},[482,4927,4928],{"class":723},"/api/comments",[482,4930,720],{"class":492},[482,4932,503],{"class":492},[482,4934,591],{"class":492},[482,4936,4850],{"class":577},[482,4938,1537],{"class":492},[482,4940,591],{"class":492},[482,4942,4857],{"class":577},[482,4944,1537],{"class":492},[482,4946,1724],{"class":492},[482,4948,4864],{"class":723},[482,4950,720],{"class":492},[482,4952,3492],{"class":492},[482,4954,3492],{"class":492},[482,4956,2661],{"class":577},[482,4958,2105],{"class":492},[482,4960,4962],{"class":484,"line":4961},80,[482,4963,4964],{"class":577},"  ])\n",[482,4966,4968],{"class":484,"line":4967},81,[482,4969,613],{"emptyLinePlaceholder":612},[482,4971,4973,4976,4978,4980,4982],{"class":484,"line":4972},82,[482,4974,4975],{"class":499},"  stats",[482,4977,626],{"class":492},[482,4979,871],{"class":499},[482,4981,549],{"class":492},[482,4983,493],{"class":492},[482,4985,4987,4990,4992,4994,4996,4998,5000,5003,5005,5007],{"class":484,"line":4986},83,[482,4988,4989],{"class":577},"    users",[482,4991,1537],{"class":492},[482,4993,4723],{"class":499},[482,4995,626],{"class":492},[482,4997,2247],{"class":499},[482,4999,626],{"class":492},[482,5001,5002],{"class":499},"aggregates",[482,5004,626],{"class":492},[482,5006,4864],{"class":499},[482,5008,2105],{"class":492},[482,5010,5012,5015,5017,5019,5021,5023,5025,5027,5029,5031],{"class":484,"line":5011},84,[482,5013,5014],{"class":577},"    posts",[482,5016,1537],{"class":492},[482,5018,4733],{"class":499},[482,5020,626],{"class":492},[482,5022,2247],{"class":499},[482,5024,626],{"class":492},[482,5026,5002],{"class":499},[482,5028,626],{"class":492},[482,5030,4864],{"class":499},[482,5032,2105],{"class":492},[482,5034,5036,5039,5041,5043,5045,5047,5049,5051,5053,5055],{"class":484,"line":5035},85,[482,5037,5038],{"class":577},"    comments",[482,5040,1537],{"class":492},[482,5042,4742],{"class":499},[482,5044,626],{"class":492},[482,5046,2247],{"class":499},[482,5048,626],{"class":492},[482,5050,5002],{"class":499},[482,5052,626],{"class":492},[482,5054,4864],{"class":499},[482,5056,2105],{"class":492},[482,5058,5060],{"class":484,"line":5059},86,[482,5061,5062],{"class":492},"  }\n",[482,5064,5066,5069,5071,5073,5075],{"class":484,"line":5065},87,[482,5067,5068],{"class":499},"  isLoadingStats",[482,5070,626],{"class":492},[482,5072,871],{"class":499},[482,5074,549],{"class":492},[482,5076,5077],{"class":3708}," false\n",[482,5079,5081,5083],{"class":484,"line":5080},88,[482,5082,546],{"class":492},[482,5084,729],{"class":499},[482,5086,5088],{"class":484,"line":5087},89,[482,5089,613],{"emptyLinePlaceholder":612},[482,5091,5093],{"class":484,"line":5092},90,[482,5094,5095],{"class":506},"// Get recent posts\n",[482,5097,5099,5101],{"class":484,"line":5098},91,[482,5100,489],{"class":488},[482,5102,493],{"class":492},[482,5104,5106,5108,5110,5113],{"class":484,"line":5105},92,[482,5107,1973],{"class":577},[482,5109,1537],{"class":492},[482,5111,5112],{"class":499}," postsResponse",[482,5114,2105],{"class":492},[482,5116,5118,5120,5122,5125],{"class":484,"line":5117},93,[482,5119,535],{"class":577},[482,5121,1537],{"class":492},[482,5123,5124],{"class":499}," isLoadingPosts",[482,5126,2105],{"class":492},[482,5128,5130,5132,5134,5136,5138,5140,5142,5144,5146],{"class":484,"line":5129},94,[482,5131,546],{"class":492},[482,5133,549],{"class":492},[482,5135,2016],{"class":552},[482,5137,717],{"class":499},[482,5139,720],{"class":492},[482,5141,1248],{"class":723},[482,5143,720],{"class":492},[482,5145,503],{"class":492},[482,5147,493],{"class":492},[482,5149,5151,5153,5155,5157,5159,5161],{"class":484,"line":5150},95,[482,5152,2093],{"class":577},[482,5154,1537],{"class":492},[482,5156,1724],{"class":492},[482,5158,2100],{"class":723},[482,5160,720],{"class":492},[482,5162,2105],{"class":492},[482,5164,5166,5168,5170,5173],{"class":484,"line":5165},96,[482,5167,2123],{"class":577},[482,5169,1537],{"class":492},[482,5171,5172],{"class":2115}," 5",[482,5174,2105],{"class":492},[482,5176,5178,5180],{"class":484,"line":5177},97,[482,5179,546],{"class":492},[482,5181,729],{"class":499},[482,5183,5185],{"class":484,"line":5184},98,[482,5186,613],{"emptyLinePlaceholder":612},[482,5188,5190,5192,5195,5197,5199,5201,5203,5205,5207,5209,5211,5213,5215,5217],{"class":484,"line":5189},99,[482,5191,489],{"class":488},[482,5193,5194],{"class":499}," recentPosts ",[482,5196,658],{"class":492},[482,5198,2194],{"class":552},[482,5200,717],{"class":499},[482,5202,2199],{"class":492},[482,5204,2202],{"class":488},[482,5206,5112],{"class":499},[482,5208,626],{"class":492},[482,5210,871],{"class":499},[482,5212,874],{"class":492},[482,5214,2213],{"class":499},[482,5216,2216],{"class":492},[482,5218,2219],{"class":499},[482,5220,5222],{"class":484,"line":5221},100,[482,5223,613],{"emptyLinePlaceholder":612},[482,5225,5227],{"class":484,"line":5226},101,[482,5228,5229],{"class":506},"// Navigation\n",[482,5231,5233,5235,5237,5240,5242,5244,5246,5248,5250,5252,5254],{"class":484,"line":5232},102,[482,5234,489],{"class":488},[482,5236,591],{"class":492},[482,5238,5239],{"class":499}," goToDetail ",[482,5241,546],{"class":492},[482,5243,549],{"class":492},[482,5245,1348],{"class":552},[482,5247,717],{"class":499},[482,5249,720],{"class":492},[482,5251,1248],{"class":723},[482,5253,720],{"class":492},[482,5255,729],{"class":499},[482,5257,5259,5261,5264,5266,5268,5270,5272,5275,5277,5279,5282],{"class":484,"line":5258},103,[482,5260,489],{"class":488},[482,5262,5263],{"class":499}," goToPostDetail ",[482,5265,658],{"class":492},[482,5267,2686],{"class":492},[482,5269,2752],{"class":2657},[482,5271,1537],{"class":492},[482,5273,5274],{"class":1540}," number",[482,5276,2661],{"class":492},[482,5278,2202],{"class":488},[482,5280,5281],{"class":552}," goToDetail",[482,5283,5284],{"class":499},"(id)\n",[482,5286,5288,5290,5292],{"class":484,"line":5287},104,[482,5289,735],{"class":492},[482,5291,578],{"class":577},[482,5293,584],{"class":492},[459,5295,5297],{"id":5296},"next-steps","Next Steps",[5299,5300,5301,5308],"ul",{},[5302,5303,5304,5307],"li",{},[5305,5306,323],"a",{"href":324}," - Build custom admin pages",[5302,5309,5310,5312],{},[5305,5311,331],{"href":332}," - Add custom resource actions",[5314,5315,5316],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .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}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":477,"searchDepth":496,"depth":496,"links":5318},[5319,5327,5336,5340,5341],{"id":461,"depth":496,"text":462,"children":5320},[5321,5322,5323,5324,5325,5326],{"id":466,"depth":510,"text":467},{"id":742,"depth":510,"text":743},{"id":957,"depth":510,"text":958},{"id":1264,"depth":510,"text":1265},{"id":1599,"depth":510,"text":1600},{"id":1769,"depth":510,"text":1770},{"id":1942,"depth":496,"text":1943,"children":5328},[5329,5330,5331,5332,5333,5334,5335],{"id":1953,"depth":510,"text":1954},{"id":2263,"depth":510,"text":2264},{"id":2513,"depth":510,"text":2514},{"id":2831,"depth":510,"text":2832},{"id":3065,"depth":510,"text":3066},{"id":3286,"depth":510,"text":3287},{"id":3354,"depth":510,"text":3355},{"id":3466,"depth":496,"text":3467,"children":5337},[5338,5339],{"id":3470,"depth":510,"text":3471},{"id":3565,"depth":510,"text":3566},{"id":3720,"depth":496,"text":3721},{"id":5296,"depth":496,"text":5297},"md",null,{},{"title":335,"description":457},"jMpc12tyGsS1rV5R9wInScl5LGD5ZgONXLUg1DDz7pM",[5348,5343],{"title":331,"path":332,"stem":333,"description":5349,"children":-1},"Add custom actions to resources beyond standard CRUD operations.",1772977480769]