[{"data":1,"prerenderedAt":2429},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"/docs/nuxt-protokit/schemas-en":444,"/docs/nuxt-protokit/schemas-surround-en":2424},[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":2419},{"id":446,"title":447,"body":448,"description":2417,"extension":2418,"links":2419,"meta":2420,"navigation":2421,"ogImage":2419,"path":357,"seo":2422,"stem":358,"__hash__":2423},"nuxt_protokit/0.docs/4.nuxt-protokit/2.schemas/1.index.md","Schema Overview",{"type":449,"value":450,"toc":2403},"minimark",[451,455,464,469,976,980,991,1000,1160,1167,1421,1433,1438,1441,1729,1734,1916,1923,1947,2052,2058,2173,2177,2280,2290,2399],[452,453,447],"h1",{"id":454},"schema-overview",[456,457,458,459,463],"p",{},"A ",[460,461,462],"code",{},"PrototypeSchema"," is a plain TypeScript object that fully describes a tool. It is the single source of truth for rendering, computation, and persistence.",[465,466,468],"h2",{"id":467},"full-type-signature","Full type signature",[470,471,476],"pre",{"className":472,"code":473,"language":474,"meta":475,"style":475},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface PrototypeSchema {\n  // Identity\n  key:     string           // Unique across all tools — also the default Y.js doc key\n\n  // Display metadata\n  title?:       string\n  description?: string\n  icon?:        string      // Iconify icon e.g. 'i-lucide-calculator'\n\n  // Form content (use one or the other)\n  fields?:      Record\u003Cstring, FieldDef>      // flat form\n  sections?:    SectionDef[]                  // grouped/tabbed form\n\n  // CRUD lists\n  collections?: Record\u003Cstring, CollectionSchema>\n\n  // Computation\n  derived?:     Record\u003Cstring, DerivedDef>\n  connections?: ConnectionsDef[]      // legacy cross-doc watcher (prefer produces/consumes)\n\n  // Output display\n  results?: {\n    badge?: (ctx: ComputeContext) => { label: string; color: string } | null\n    stats?: (ctx: ComputeContext) => StatItem[]\n  }\n\n  // Charts and tables\n  visualizations?: VizDef[]\n\n  // Dashboard card summaries\n  cards?: CardDef[]\n\n  // Cross-tool data flow\n  produces?: Record\u003Cstring, string>   // 'outputKey': 'derived.fieldName'\n  consumes?: Record\u003Cstring, string>   // 'localAlias': 'sourceTool.sourceKey'\n\n  // Action toolbar\n  actions?: ProtoAction[]\n\n  // Custom layout (overrides default sequential rendering)\n  layout?: DashboardLayout\n}\n","typescript","",[460,477,478,495,502,518,525,531,543,554,568,573,579,608,626,631,637,660,665,671,693,710,715,721,731,787,813,819,824,830,843,848,854,867,872,878,901,924,929,935,948,953,959,970],{"__ignoreMap":475},[479,480,483,487,491],"span",{"class":481,"line":482},"line",1,[479,484,486],{"class":485},"spNyl","interface",[479,488,490],{"class":489},"sBMFI"," PrototypeSchema",[479,492,494],{"class":493},"sMK4o"," {\n",[479,496,498],{"class":481,"line":497},2,[479,499,501],{"class":500},"sHwdD","  // Identity\n",[479,503,505,509,512,515],{"class":481,"line":504},3,[479,506,508],{"class":507},"swJcz","  key",[479,510,511],{"class":493},":",[479,513,514],{"class":489},"     string",[479,516,517],{"class":500},"           // Unique across all tools — also the default Y.js doc key\n",[479,519,521],{"class":481,"line":520},4,[479,522,524],{"emptyLinePlaceholder":523},true,"\n",[479,526,528],{"class":481,"line":527},5,[479,529,530],{"class":500},"  // Display metadata\n",[479,532,534,537,540],{"class":481,"line":533},6,[479,535,536],{"class":507},"  title",[479,538,539],{"class":493},"?:",[479,541,542],{"class":489},"       string\n",[479,544,546,549,551],{"class":481,"line":545},7,[479,547,548],{"class":507},"  description",[479,550,539],{"class":493},[479,552,553],{"class":489}," string\n",[479,555,557,560,562,565],{"class":481,"line":556},8,[479,558,559],{"class":507},"  icon",[479,561,539],{"class":493},[479,563,564],{"class":489},"        string",[479,566,567],{"class":500},"      // Iconify icon e.g. 'i-lucide-calculator'\n",[479,569,571],{"class":481,"line":570},9,[479,572,524],{"emptyLinePlaceholder":523},[479,574,576],{"class":481,"line":575},10,[479,577,578],{"class":500},"  // Form content (use one or the other)\n",[479,580,582,585,587,590,593,596,599,602,605],{"class":481,"line":581},11,[479,583,584],{"class":507},"  fields",[479,586,539],{"class":493},[479,588,589],{"class":489},"      Record",[479,591,592],{"class":493},"\u003C",[479,594,595],{"class":489},"string",[479,597,598],{"class":493},",",[479,600,601],{"class":489}," FieldDef",[479,603,604],{"class":493},">",[479,606,607],{"class":500},"      // flat form\n",[479,609,611,614,616,619,623],{"class":481,"line":610},12,[479,612,613],{"class":507},"  sections",[479,615,539],{"class":493},[479,617,618],{"class":489},"    SectionDef",[479,620,622],{"class":621},"sTEyZ","[]                  ",[479,624,625],{"class":500},"// grouped/tabbed form\n",[479,627,629],{"class":481,"line":628},13,[479,630,524],{"emptyLinePlaceholder":523},[479,632,634],{"class":481,"line":633},14,[479,635,636],{"class":500},"  // CRUD lists\n",[479,638,640,643,645,648,650,652,654,657],{"class":481,"line":639},15,[479,641,642],{"class":507},"  collections",[479,644,539],{"class":493},[479,646,647],{"class":489}," Record",[479,649,592],{"class":493},[479,651,595],{"class":489},[479,653,598],{"class":493},[479,655,656],{"class":489}," CollectionSchema",[479,658,659],{"class":493},">\n",[479,661,663],{"class":481,"line":662},16,[479,664,524],{"emptyLinePlaceholder":523},[479,666,668],{"class":481,"line":667},17,[479,669,670],{"class":500},"  // Computation\n",[479,672,674,677,679,682,684,686,688,691],{"class":481,"line":673},18,[479,675,676],{"class":507},"  derived",[479,678,539],{"class":493},[479,680,681],{"class":489},"     Record",[479,683,592],{"class":493},[479,685,595],{"class":489},[479,687,598],{"class":493},[479,689,690],{"class":489}," DerivedDef",[479,692,659],{"class":493},[479,694,696,699,701,704,707],{"class":481,"line":695},19,[479,697,698],{"class":507},"  connections",[479,700,539],{"class":493},[479,702,703],{"class":489}," ConnectionsDef",[479,705,706],{"class":621},"[]      ",[479,708,709],{"class":500},"// legacy cross-doc watcher (prefer produces/consumes)\n",[479,711,713],{"class":481,"line":712},20,[479,714,524],{"emptyLinePlaceholder":523},[479,716,718],{"class":481,"line":717},21,[479,719,720],{"class":500},"  // Output display\n",[479,722,724,727,729],{"class":481,"line":723},22,[479,725,726],{"class":507},"  results",[479,728,539],{"class":493},[479,730,494],{"class":493},[479,732,734,737,739,742,746,748,751,754,757,760,763,765,768,771,774,776,778,781,784],{"class":481,"line":733},23,[479,735,736],{"class":507},"    badge",[479,738,539],{"class":493},[479,740,741],{"class":493}," (",[479,743,745],{"class":744},"sHdIc","ctx",[479,747,511],{"class":493},[479,749,750],{"class":489}," ComputeContext",[479,752,753],{"class":493},")",[479,755,756],{"class":485}," =>",[479,758,759],{"class":493}," {",[479,761,762],{"class":507}," label",[479,764,511],{"class":493},[479,766,767],{"class":489}," string",[479,769,770],{"class":493},";",[479,772,773],{"class":507}," color",[479,775,511],{"class":493},[479,777,767],{"class":489},[479,779,780],{"class":493}," }",[479,782,783],{"class":493}," |",[479,785,786],{"class":489}," null\n",[479,788,790,793,795,797,799,801,803,805,807,810],{"class":481,"line":789},24,[479,791,792],{"class":507},"    stats",[479,794,539],{"class":493},[479,796,741],{"class":493},[479,798,745],{"class":744},[479,800,511],{"class":493},[479,802,750],{"class":489},[479,804,753],{"class":493},[479,806,756],{"class":485},[479,808,809],{"class":489}," StatItem",[479,811,812],{"class":621},"[]\n",[479,814,816],{"class":481,"line":815},25,[479,817,818],{"class":493},"  }\n",[479,820,822],{"class":481,"line":821},26,[479,823,524],{"emptyLinePlaceholder":523},[479,825,827],{"class":481,"line":826},27,[479,828,829],{"class":500},"  // Charts and tables\n",[479,831,833,836,838,841],{"class":481,"line":832},28,[479,834,835],{"class":507},"  visualizations",[479,837,539],{"class":493},[479,839,840],{"class":489}," VizDef",[479,842,812],{"class":621},[479,844,846],{"class":481,"line":845},29,[479,847,524],{"emptyLinePlaceholder":523},[479,849,851],{"class":481,"line":850},30,[479,852,853],{"class":500},"  // Dashboard card summaries\n",[479,855,857,860,862,865],{"class":481,"line":856},31,[479,858,859],{"class":507},"  cards",[479,861,539],{"class":493},[479,863,864],{"class":489}," CardDef",[479,866,812],{"class":621},[479,868,870],{"class":481,"line":869},32,[479,871,524],{"emptyLinePlaceholder":523},[479,873,875],{"class":481,"line":874},33,[479,876,877],{"class":500},"  // Cross-tool data flow\n",[479,879,881,884,886,888,890,892,894,896,898],{"class":481,"line":880},34,[479,882,883],{"class":507},"  produces",[479,885,539],{"class":493},[479,887,647],{"class":489},[479,889,592],{"class":493},[479,891,595],{"class":489},[479,893,598],{"class":493},[479,895,767],{"class":489},[479,897,604],{"class":493},[479,899,900],{"class":500},"   // 'outputKey': 'derived.fieldName'\n",[479,902,904,907,909,911,913,915,917,919,921],{"class":481,"line":903},35,[479,905,906],{"class":507},"  consumes",[479,908,539],{"class":493},[479,910,647],{"class":489},[479,912,592],{"class":493},[479,914,595],{"class":489},[479,916,598],{"class":493},[479,918,767],{"class":489},[479,920,604],{"class":493},[479,922,923],{"class":500},"   // 'localAlias': 'sourceTool.sourceKey'\n",[479,925,927],{"class":481,"line":926},36,[479,928,524],{"emptyLinePlaceholder":523},[479,930,932],{"class":481,"line":931},37,[479,933,934],{"class":500},"  // Action toolbar\n",[479,936,938,941,943,946],{"class":481,"line":937},38,[479,939,940],{"class":507},"  actions",[479,942,539],{"class":493},[479,944,945],{"class":489}," ProtoAction",[479,947,812],{"class":621},[479,949,951],{"class":481,"line":950},39,[479,952,524],{"emptyLinePlaceholder":523},[479,954,956],{"class":481,"line":955},40,[479,957,958],{"class":500},"  // Custom layout (overrides default sequential rendering)\n",[479,960,962,965,967],{"class":481,"line":961},41,[479,963,964],{"class":507},"  layout",[479,966,539],{"class":493},[479,968,969],{"class":489}," DashboardLayout\n",[479,971,973],{"class":481,"line":972},42,[479,974,975],{"class":493},"}\n",[465,977,979],{"id":978},"key-groupings","Key groupings",[981,982,984,987,988],"h3",{"id":983},"fields-vs-sections",[460,985,986],{},"fields"," vs ",[460,989,990],{},"sections",[456,992,993,994,999],{},"Use ",[995,996,997],"strong",{},[460,998,986],{}," for a simple flat form:",[470,1001,1003],{"className":472,"code":1002,"language":474,"meta":475,"style":475},"fields: {\n  revenue:  { type: 'number', label: 'Monthly Revenue (€)',  default: 10000 },\n  costs:    { type: 'number', label: 'Monthly Costs (€)',     default: 6000 },\n  margin:   { type: 'number', label: 'Target Margin (%)',     default: 30 },\n}\n",[460,1004,1005,1013,1067,1112,1156],{"__ignoreMap":475},[479,1006,1007,1009,1011],{"class":481,"line":482},[479,1008,986],{"class":489},[479,1010,511],{"class":493},[479,1012,494],{"class":493},[479,1014,1015,1018,1020,1023,1026,1028,1031,1035,1038,1040,1042,1044,1046,1049,1051,1053,1057,1060,1064],{"class":481,"line":497},[479,1016,1017],{"class":489},"  revenue",[479,1019,511],{"class":493},[479,1021,1022],{"class":493},"  {",[479,1024,1025],{"class":489}," type",[479,1027,511],{"class":493},[479,1029,1030],{"class":493}," '",[479,1032,1034],{"class":1033},"sfazB","number",[479,1036,1037],{"class":493},"'",[479,1039,598],{"class":493},[479,1041,762],{"class":489},[479,1043,511],{"class":493},[479,1045,1030],{"class":493},[479,1047,1048],{"class":1033},"Monthly Revenue (€)",[479,1050,1037],{"class":493},[479,1052,598],{"class":493},[479,1054,1056],{"class":1055},"s7zQu","  default",[479,1058,1059],{"class":507},": ",[479,1061,1063],{"class":1062},"sbssI","10000",[479,1065,1066],{"class":493}," },\n",[479,1068,1069,1072,1074,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1098,1100,1102,1105,1107,1110],{"class":481,"line":504},[479,1070,1071],{"class":489},"  costs",[479,1073,511],{"class":493},[479,1075,1076],{"class":493},"    {",[479,1078,1025],{"class":489},[479,1080,511],{"class":493},[479,1082,1030],{"class":493},[479,1084,1034],{"class":1033},[479,1086,1037],{"class":493},[479,1088,598],{"class":493},[479,1090,762],{"class":489},[479,1092,511],{"class":493},[479,1094,1030],{"class":493},[479,1096,1097],{"class":1033},"Monthly Costs (€)",[479,1099,1037],{"class":493},[479,1101,598],{"class":493},[479,1103,1104],{"class":1055},"     default",[479,1106,1059],{"class":507},[479,1108,1109],{"class":1062},"6000",[479,1111,1066],{"class":493},[479,1113,1114,1117,1119,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1143,1145,1147,1149,1151,1154],{"class":481,"line":520},[479,1115,1116],{"class":489},"  margin",[479,1118,511],{"class":493},[479,1120,1121],{"class":493},"   {",[479,1123,1025],{"class":489},[479,1125,511],{"class":493},[479,1127,1030],{"class":493},[479,1129,1034],{"class":1033},[479,1131,1037],{"class":493},[479,1133,598],{"class":493},[479,1135,762],{"class":489},[479,1137,511],{"class":493},[479,1139,1030],{"class":493},[479,1141,1142],{"class":1033},"Target Margin (%)",[479,1144,1037],{"class":493},[479,1146,598],{"class":493},[479,1148,1104],{"class":1055},[479,1150,1059],{"class":507},[479,1152,1153],{"class":1062},"30",[479,1155,1066],{"class":493},[479,1157,1158],{"class":481,"line":527},[479,1159,975],{"class":493},[456,1161,993,1162,1166],{},[995,1163,1164],{},[460,1165,990],{}," to group inputs into labeled panels:",[470,1168,1170],{"className":472,"code":1169,"language":474,"meta":475,"style":475},"sections: [\n  {\n    title: 'Revenue',\n    cols: 2,\n    fields: {\n      recurring:   { type: 'number', label: 'Recurring Revenue (€)' },\n      oneTime:     { type: 'number', label: 'One-Time Revenue (€)' },\n    }\n  },\n  {\n    title: 'Costs',\n    cols: 2,\n    fields: {\n      fixed:    { type: 'number', label: 'Fixed Costs (€)' },\n      variable: { type: 'number', label: 'Variable Costs (€)' },\n    }\n  }\n]\n",[460,1171,1172,1181,1186,1203,1215,1224,1258,1293,1298,1303,1307,1322,1332,1340,1374,1408,1412,1416],{"__ignoreMap":475},[479,1173,1174,1176,1178],{"class":481,"line":482},[479,1175,990],{"class":489},[479,1177,511],{"class":493},[479,1179,1180],{"class":621}," [\n",[479,1182,1183],{"class":481,"line":497},[479,1184,1185],{"class":493},"  {\n",[479,1187,1188,1191,1193,1195,1198,1200],{"class":481,"line":504},[479,1189,1190],{"class":507},"    title",[479,1192,511],{"class":493},[479,1194,1030],{"class":493},[479,1196,1197],{"class":1033},"Revenue",[479,1199,1037],{"class":493},[479,1201,1202],{"class":493},",\n",[479,1204,1205,1208,1210,1213],{"class":481,"line":520},[479,1206,1207],{"class":507},"    cols",[479,1209,511],{"class":493},[479,1211,1212],{"class":1062}," 2",[479,1214,1202],{"class":493},[479,1216,1217,1220,1222],{"class":481,"line":527},[479,1218,1219],{"class":507},"    fields",[479,1221,511],{"class":493},[479,1223,494],{"class":493},[479,1225,1226,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1254,1256],{"class":481,"line":533},[479,1227,1228],{"class":507},"      recurring",[479,1230,511],{"class":493},[479,1232,1121],{"class":493},[479,1234,1025],{"class":507},[479,1236,511],{"class":493},[479,1238,1030],{"class":493},[479,1240,1034],{"class":1033},[479,1242,1037],{"class":493},[479,1244,598],{"class":493},[479,1246,762],{"class":507},[479,1248,511],{"class":493},[479,1250,1030],{"class":493},[479,1252,1253],{"class":1033},"Recurring Revenue (€)",[479,1255,1037],{"class":493},[479,1257,1066],{"class":493},[479,1259,1260,1263,1265,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1289,1291],{"class":481,"line":545},[479,1261,1262],{"class":507},"      oneTime",[479,1264,511],{"class":493},[479,1266,1267],{"class":493},"     {",[479,1269,1025],{"class":507},[479,1271,511],{"class":493},[479,1273,1030],{"class":493},[479,1275,1034],{"class":1033},[479,1277,1037],{"class":493},[479,1279,598],{"class":493},[479,1281,762],{"class":507},[479,1283,511],{"class":493},[479,1285,1030],{"class":493},[479,1287,1288],{"class":1033},"One-Time Revenue (€)",[479,1290,1037],{"class":493},[479,1292,1066],{"class":493},[479,1294,1295],{"class":481,"line":556},[479,1296,1297],{"class":493},"    }\n",[479,1299,1300],{"class":481,"line":570},[479,1301,1302],{"class":493},"  },\n",[479,1304,1305],{"class":481,"line":575},[479,1306,1185],{"class":493},[479,1308,1309,1311,1313,1315,1318,1320],{"class":481,"line":581},[479,1310,1190],{"class":507},[479,1312,511],{"class":493},[479,1314,1030],{"class":493},[479,1316,1317],{"class":1033},"Costs",[479,1319,1037],{"class":493},[479,1321,1202],{"class":493},[479,1323,1324,1326,1328,1330],{"class":481,"line":610},[479,1325,1207],{"class":507},[479,1327,511],{"class":493},[479,1329,1212],{"class":1062},[479,1331,1202],{"class":493},[479,1333,1334,1336,1338],{"class":481,"line":628},[479,1335,1219],{"class":507},[479,1337,511],{"class":493},[479,1339,494],{"class":493},[479,1341,1342,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1370,1372],{"class":481,"line":633},[479,1343,1344],{"class":507},"      fixed",[479,1346,511],{"class":493},[479,1348,1076],{"class":493},[479,1350,1025],{"class":507},[479,1352,511],{"class":493},[479,1354,1030],{"class":493},[479,1356,1034],{"class":1033},[479,1358,1037],{"class":493},[479,1360,598],{"class":493},[479,1362,762],{"class":507},[479,1364,511],{"class":493},[479,1366,1030],{"class":493},[479,1368,1369],{"class":1033},"Fixed Costs (€)",[479,1371,1037],{"class":493},[479,1373,1066],{"class":493},[479,1375,1376,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1404,1406],{"class":481,"line":639},[479,1377,1378],{"class":507},"      variable",[479,1380,511],{"class":493},[479,1382,759],{"class":493},[479,1384,1025],{"class":507},[479,1386,511],{"class":493},[479,1388,1030],{"class":493},[479,1390,1034],{"class":1033},[479,1392,1037],{"class":493},[479,1394,598],{"class":493},[479,1396,762],{"class":507},[479,1398,511],{"class":493},[479,1400,1030],{"class":493},[479,1402,1403],{"class":1033},"Variable Costs (€)",[479,1405,1037],{"class":493},[479,1407,1066],{"class":493},[479,1409,1410],{"class":481,"line":662},[479,1411,1297],{"class":493},[479,1413,1414],{"class":481,"line":667},[479,1415,818],{"class":493},[479,1417,1418],{"class":481,"line":673},[479,1419,1420],{"class":621},"]\n",[456,1422,1423,1424,1426,1427,1429,1430,1432],{},"If both ",[460,1425,986],{}," and ",[460,1428,990],{}," are present, ",[460,1431,990],{}," takes precedence for rendering.",[981,1434,1436],{"id":1435},"results",[460,1437,1435],{},[456,1439,1440],{},"Renders a badge and stat cards below the form:",[470,1442,1444],{"className":472,"code":1443,"language":474,"meta":475,"style":475},"results: {\n  badge: ({ derived }) =>\n    derived.margin >= 0.3\n      ? { label: 'Healthy Margin',   color: 'success' }\n      : { label: 'Low Margin',       color: 'warning' },\n\n  stats: ({ fields, derived }) => [\n    { label: 'Gross Profit',   value: derived.grossProfit,  format: 'money' },\n    { label: 'Margin',         value: derived.margin,       format: 'percent' },\n    { label: 'Annual Revenue', value: derived.annualRevenue, format: 'money' },\n  ],\n}\n",[460,1445,1446,1454,1473,1490,1525,1559,1563,1585,1630,1674,1718,1725],{"__ignoreMap":475},[479,1447,1448,1450,1452],{"class":481,"line":482},[479,1449,1435],{"class":489},[479,1451,511],{"class":493},[479,1453,494],{"class":493},[479,1455,1456,1459,1461,1464,1467,1470],{"class":481,"line":497},[479,1457,1458],{"class":489},"  badge",[479,1460,511],{"class":493},[479,1462,1463],{"class":493}," ({",[479,1465,1466],{"class":744}," derived",[479,1468,1469],{"class":493}," })",[479,1471,1472],{"class":485}," =>\n",[479,1474,1475,1478,1481,1484,1487],{"class":481,"line":504},[479,1476,1477],{"class":621},"    derived",[479,1479,1480],{"class":493},".",[479,1482,1483],{"class":621},"margin",[479,1485,1486],{"class":493}," >=",[479,1488,1489],{"class":1062}," 0.3\n",[479,1491,1492,1495,1497,1499,1501,1503,1506,1508,1510,1513,1515,1517,1520,1522],{"class":481,"line":520},[479,1493,1494],{"class":493},"      ?",[479,1496,759],{"class":493},[479,1498,762],{"class":507},[479,1500,511],{"class":493},[479,1502,1030],{"class":493},[479,1504,1505],{"class":1033},"Healthy Margin",[479,1507,1037],{"class":493},[479,1509,598],{"class":493},[479,1511,1512],{"class":507},"   color",[479,1514,511],{"class":493},[479,1516,1030],{"class":493},[479,1518,1519],{"class":1033},"success",[479,1521,1037],{"class":493},[479,1523,1524],{"class":493}," }\n",[479,1526,1527,1530,1532,1534,1536,1538,1541,1543,1545,1548,1550,1552,1555,1557],{"class":481,"line":527},[479,1528,1529],{"class":493},"      :",[479,1531,759],{"class":493},[479,1533,762],{"class":507},[479,1535,511],{"class":493},[479,1537,1030],{"class":493},[479,1539,1540],{"class":1033},"Low Margin",[479,1542,1037],{"class":493},[479,1544,598],{"class":493},[479,1546,1547],{"class":507},"       color",[479,1549,511],{"class":493},[479,1551,1030],{"class":493},[479,1553,1554],{"class":1033},"warning",[479,1556,1037],{"class":493},[479,1558,1066],{"class":493},[479,1560,1561],{"class":481,"line":533},[479,1562,524],{"emptyLinePlaceholder":523},[479,1564,1565,1568,1570,1572,1575,1577,1579,1581,1583],{"class":481,"line":545},[479,1566,1567],{"class":489},"  stats",[479,1569,511],{"class":493},[479,1571,1463],{"class":493},[479,1573,1574],{"class":744}," fields",[479,1576,598],{"class":493},[479,1578,1466],{"class":744},[479,1580,1469],{"class":493},[479,1582,756],{"class":485},[479,1584,1180],{"class":507},[479,1586,1587,1589,1591,1593,1595,1598,1600,1602,1605,1607,1609,1611,1614,1616,1619,1621,1623,1626,1628],{"class":481,"line":556},[479,1588,1076],{"class":493},[479,1590,762],{"class":507},[479,1592,511],{"class":493},[479,1594,1030],{"class":493},[479,1596,1597],{"class":1033},"Gross Profit",[479,1599,1037],{"class":493},[479,1601,598],{"class":493},[479,1603,1604],{"class":507},"   value",[479,1606,511],{"class":493},[479,1608,1466],{"class":621},[479,1610,1480],{"class":493},[479,1612,1613],{"class":621},"grossProfit",[479,1615,598],{"class":493},[479,1617,1618],{"class":507},"  format",[479,1620,511],{"class":493},[479,1622,1030],{"class":493},[479,1624,1625],{"class":1033},"money",[479,1627,1037],{"class":493},[479,1629,1066],{"class":493},[479,1631,1632,1634,1636,1638,1640,1643,1645,1647,1650,1652,1654,1656,1658,1660,1663,1665,1667,1670,1672],{"class":481,"line":570},[479,1633,1076],{"class":493},[479,1635,762],{"class":507},[479,1637,511],{"class":493},[479,1639,1030],{"class":493},[479,1641,1642],{"class":1033},"Margin",[479,1644,1037],{"class":493},[479,1646,598],{"class":493},[479,1648,1649],{"class":507},"         value",[479,1651,511],{"class":493},[479,1653,1466],{"class":621},[479,1655,1480],{"class":493},[479,1657,1483],{"class":621},[479,1659,598],{"class":493},[479,1661,1662],{"class":507},"       format",[479,1664,511],{"class":493},[479,1666,1030],{"class":493},[479,1668,1669],{"class":1033},"percent",[479,1671,1037],{"class":493},[479,1673,1066],{"class":493},[479,1675,1676,1678,1680,1682,1684,1687,1689,1691,1694,1696,1698,1700,1703,1705,1708,1710,1712,1714,1716],{"class":481,"line":575},[479,1677,1076],{"class":493},[479,1679,762],{"class":507},[479,1681,511],{"class":493},[479,1683,1030],{"class":493},[479,1685,1686],{"class":1033},"Annual Revenue",[479,1688,1037],{"class":493},[479,1690,598],{"class":493},[479,1692,1693],{"class":507}," value",[479,1695,511],{"class":493},[479,1697,1466],{"class":621},[479,1699,1480],{"class":493},[479,1701,1702],{"class":621},"annualRevenue",[479,1704,598],{"class":493},[479,1706,1707],{"class":507}," format",[479,1709,511],{"class":493},[479,1711,1030],{"class":493},[479,1713,1625],{"class":1033},[479,1715,1037],{"class":493},[479,1717,1066],{"class":493},[479,1719,1720,1723],{"class":481,"line":581},[479,1721,1722],{"class":507},"  ]",[479,1724,1202],{"class":493},[479,1726,1727],{"class":481,"line":610},[479,1728,975],{"class":493},[981,1730,1732],{"id":1731},"actions",[460,1733,1731],{},[470,1735,1737],{"className":472,"code":1736,"language":474,"meta":475,"style":475},"actions: [\n  { type: 'copy-text',       label: 'Copy Summary',    icon: 'i-lucide-clipboard', text: … },\n  { type: 'export-markdown', label: 'Export Report',   icon: 'i-lucide-download',  markdown: … },\n  { type: 'reset',           label: 'Reset',           icon: 'i-lucide-trash-2',  confirm: true },\n]\n",[460,1738,1739,1747,1803,1856,1912],{"__ignoreMap":475},[479,1740,1741,1743,1745],{"class":481,"line":482},[479,1742,1731],{"class":489},[479,1744,511],{"class":493},[479,1746,1180],{"class":621},[479,1748,1749,1751,1753,1755,1757,1760,1762,1764,1767,1769,1771,1774,1776,1778,1781,1783,1785,1788,1790,1792,1795,1797,1800],{"class":481,"line":497},[479,1750,1022],{"class":493},[479,1752,1025],{"class":507},[479,1754,511],{"class":493},[479,1756,1030],{"class":493},[479,1758,1759],{"class":1033},"copy-text",[479,1761,1037],{"class":493},[479,1763,598],{"class":493},[479,1765,1766],{"class":507},"       label",[479,1768,511],{"class":493},[479,1770,1030],{"class":493},[479,1772,1773],{"class":1033},"Copy Summary",[479,1775,1037],{"class":493},[479,1777,598],{"class":493},[479,1779,1780],{"class":507},"    icon",[479,1782,511],{"class":493},[479,1784,1030],{"class":493},[479,1786,1787],{"class":1033},"i-lucide-clipboard",[479,1789,1037],{"class":493},[479,1791,598],{"class":493},[479,1793,1794],{"class":507}," text",[479,1796,511],{"class":493},[479,1798,1799],{"class":621}," … ",[479,1801,1802],{"class":493},"},\n",[479,1804,1805,1807,1809,1811,1813,1816,1818,1820,1822,1824,1826,1829,1831,1833,1836,1838,1840,1843,1845,1847,1850,1852,1854],{"class":481,"line":504},[479,1806,1022],{"class":493},[479,1808,1025],{"class":507},[479,1810,511],{"class":493},[479,1812,1030],{"class":493},[479,1814,1815],{"class":1033},"export-markdown",[479,1817,1037],{"class":493},[479,1819,598],{"class":493},[479,1821,762],{"class":507},[479,1823,511],{"class":493},[479,1825,1030],{"class":493},[479,1827,1828],{"class":1033},"Export Report",[479,1830,1037],{"class":493},[479,1832,598],{"class":493},[479,1834,1835],{"class":507},"   icon",[479,1837,511],{"class":493},[479,1839,1030],{"class":493},[479,1841,1842],{"class":1033},"i-lucide-download",[479,1844,1037],{"class":493},[479,1846,598],{"class":493},[479,1848,1849],{"class":507},"  markdown",[479,1851,511],{"class":493},[479,1853,1799],{"class":621},[479,1855,1802],{"class":493},[479,1857,1858,1860,1862,1864,1866,1869,1871,1873,1876,1878,1880,1883,1885,1887,1890,1892,1894,1897,1899,1901,1904,1906,1910],{"class":481,"line":520},[479,1859,1022],{"class":493},[479,1861,1025],{"class":507},[479,1863,511],{"class":493},[479,1865,1030],{"class":493},[479,1867,1868],{"class":1033},"reset",[479,1870,1037],{"class":493},[479,1872,598],{"class":493},[479,1874,1875],{"class":507},"           label",[479,1877,511],{"class":493},[479,1879,1030],{"class":493},[479,1881,1882],{"class":1033},"Reset",[479,1884,1037],{"class":493},[479,1886,598],{"class":493},[479,1888,1889],{"class":507},"           icon",[479,1891,511],{"class":493},[479,1893,1030],{"class":493},[479,1895,1896],{"class":1033},"i-lucide-trash-2",[479,1898,1037],{"class":493},[479,1900,598],{"class":493},[479,1902,1903],{"class":507},"  confirm",[479,1905,511],{"class":493},[479,1907,1909],{"class":1908},"sfNiH"," true",[479,1911,1066],{"class":493},[479,1913,1914],{"class":481,"line":527},[479,1915,1420],{"class":621},[465,1917,1919,1920,1025],{"id":1918},"the-computecontext-type","The ",[460,1921,1922],{},"ComputeContext",[456,1924,1925,1926,1929,1930,1929,1933,1936,1937,1940,1941,1944,1945,511],{},"All callback functions in ",[460,1927,1928],{},"results.badge",", ",[460,1931,1932],{},"results.stats",[460,1934,1935],{},"derived[x].compute",", visualization ",[460,1938,1939],{},"items",", and layout ",[460,1942,1943],{},"badge"," receive a ",[460,1946,1922],{},[470,1948,1950],{"className":472,"code":1949,"language":474,"meta":475,"style":475},"interface ComputeContext {\n  fields:      Record\u003Cstring, any>   // current unwrapped field values\n  derived:     Record\u003Cstring, any>   // computed derived values (in definition order)\n  connections: Record\u003Cstring, any>   // values from upstream produces\n  collections: Record\u003Cstring, any[]> // CRUD collection items\n}\n",[460,1951,1952,1960,1982,2003,2024,2048],{"__ignoreMap":475},[479,1953,1954,1956,1958],{"class":481,"line":482},[479,1955,486],{"class":485},[479,1957,750],{"class":489},[479,1959,494],{"class":493},[479,1961,1962,1964,1966,1968,1970,1972,1974,1977,1979],{"class":481,"line":497},[479,1963,584],{"class":507},[479,1965,511],{"class":493},[479,1967,589],{"class":489},[479,1969,592],{"class":493},[479,1971,595],{"class":489},[479,1973,598],{"class":493},[479,1975,1976],{"class":489}," any",[479,1978,604],{"class":493},[479,1980,1981],{"class":500},"   // current unwrapped field values\n",[479,1983,1984,1986,1988,1990,1992,1994,1996,1998,2000],{"class":481,"line":504},[479,1985,676],{"class":507},[479,1987,511],{"class":493},[479,1989,681],{"class":489},[479,1991,592],{"class":493},[479,1993,595],{"class":489},[479,1995,598],{"class":493},[479,1997,1976],{"class":489},[479,1999,604],{"class":493},[479,2001,2002],{"class":500},"   // computed derived values (in definition order)\n",[479,2004,2005,2007,2009,2011,2013,2015,2017,2019,2021],{"class":481,"line":520},[479,2006,698],{"class":507},[479,2008,511],{"class":493},[479,2010,647],{"class":489},[479,2012,592],{"class":493},[479,2014,595],{"class":489},[479,2016,598],{"class":493},[479,2018,1976],{"class":489},[479,2020,604],{"class":493},[479,2022,2023],{"class":500},"   // values from upstream produces\n",[479,2025,2026,2028,2030,2032,2034,2036,2038,2040,2043,2045],{"class":481,"line":527},[479,2027,642],{"class":507},[479,2029,511],{"class":493},[479,2031,647],{"class":489},[479,2033,592],{"class":493},[479,2035,595],{"class":489},[479,2037,598],{"class":493},[479,2039,1976],{"class":489},[479,2041,2042],{"class":621},"[]",[479,2044,604],{"class":493},[479,2046,2047],{"class":500}," // CRUD collection items\n",[479,2049,2050],{"class":481,"line":533},[479,2051,975],{"class":493},[465,2053,2055,1707],{"id":2054},"statitem-format",[460,2056,2057],{},"StatItem",[470,2059,2061],{"className":472,"code":2060,"language":474,"meta":475,"style":475},"interface StatItem {\n  label:   string\n  value:   any\n  format?: 'money' | 'percent' | 'number' | 'date' | 'text'\n  prefix?: string\n  suffix?: string\n  color?:  string   // Nuxt UI color name\n}\n",[460,2062,2063,2071,2081,2091,2138,2147,2156,2169],{"__ignoreMap":475},[479,2064,2065,2067,2069],{"class":481,"line":482},[479,2066,486],{"class":485},[479,2068,809],{"class":489},[479,2070,494],{"class":493},[479,2072,2073,2076,2078],{"class":481,"line":497},[479,2074,2075],{"class":507},"  label",[479,2077,511],{"class":493},[479,2079,2080],{"class":489},"   string\n",[479,2082,2083,2086,2088],{"class":481,"line":504},[479,2084,2085],{"class":507},"  value",[479,2087,511],{"class":493},[479,2089,2090],{"class":489},"   any\n",[479,2092,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2126,2128,2130,2132,2135],{"class":481,"line":520},[479,2094,1618],{"class":507},[479,2096,539],{"class":493},[479,2098,1030],{"class":493},[479,2100,1625],{"class":1033},[479,2102,1037],{"class":493},[479,2104,783],{"class":493},[479,2106,1030],{"class":493},[479,2108,1669],{"class":1033},[479,2110,1037],{"class":493},[479,2112,783],{"class":493},[479,2114,1030],{"class":493},[479,2116,1034],{"class":1033},[479,2118,1037],{"class":493},[479,2120,783],{"class":493},[479,2122,1030],{"class":493},[479,2124,2125],{"class":1033},"date",[479,2127,1037],{"class":493},[479,2129,783],{"class":493},[479,2131,1030],{"class":493},[479,2133,2134],{"class":1033},"text",[479,2136,2137],{"class":493},"'\n",[479,2139,2140,2143,2145],{"class":481,"line":527},[479,2141,2142],{"class":507},"  prefix",[479,2144,539],{"class":493},[479,2146,553],{"class":489},[479,2148,2149,2152,2154],{"class":481,"line":533},[479,2150,2151],{"class":507},"  suffix",[479,2153,539],{"class":493},[479,2155,553],{"class":489},[479,2157,2158,2161,2163,2166],{"class":481,"line":545},[479,2159,2160],{"class":507},"  color",[479,2162,539],{"class":493},[479,2164,2165],{"class":489},"  string",[479,2167,2168],{"class":500},"   // Nuxt UI color name\n",[479,2170,2171],{"class":481,"line":556},[479,2172,975],{"class":493},[465,2174,2176],{"id":2175},"stat-format-types","Stat format types",[2178,2179,2180,2198],"table",{},[2181,2182,2183],"thead",{},[2184,2185,2186,2192,2195],"tr",{},[2187,2188,2189],"th",{},[460,2190,2191],{},"format",[2187,2193,2194],{},"Input type",[2187,2196,2197],{},"Example output",[2199,2200,2201,2218,2235,2251,2266],"tbody",{},[2184,2202,2203,2209,2213],{},[2204,2205,2206],"td",{},[460,2207,2208],{},"'money'",[2204,2210,2211],{},[460,2212,1034],{},[2204,2214,2215],{},[460,2216,2217],{},"€ 12,345",[2184,2219,2220,2225,2230],{},[2204,2221,2222],{},[460,2223,2224],{},"'percent'",[2204,2226,2227,2229],{},[460,2228,1034],{}," (0–100)",[2204,2231,2232],{},[460,2233,2234],{},"23.5 %",[2184,2236,2237,2242,2246],{},[2204,2238,2239],{},[460,2240,2241],{},"'number'",[2204,2243,2244],{},[460,2245,1034],{},[2204,2247,2248],{},[460,2249,2250],{},"1,234",[2184,2252,2253,2258,2261],{},[2204,2254,2255],{},[460,2256,2257],{},"'date'",[2204,2259,2260],{},"ISO string",[2204,2262,2263],{},[460,2264,2265],{},"Mar 2026",[2184,2267,2268,2273,2277],{},[2204,2269,2270],{},[460,2271,2272],{},"'text'",[2204,2274,2275],{},[460,2276,595],{},[2204,2278,2279],{},"as-is",[456,2281,2282,2283,2285,2286,2289],{},"Use the ",[460,2284,2191],{}," property on ",[460,2287,2288],{},"DerivedDef"," for the same formatting in derived value display:",[470,2291,2293],{"className":472,"code":2292,"language":474,"meta":475,"style":475},"{ type: 'money', currency: '€', decimals: 0 }\n{ type: 'percent', decimals: 1 }\n{ type: 'number', decimals: 0, suffix: ' months' }\n",[460,2294,2295,2336,2361],{"__ignoreMap":475},[479,2296,2297,2300,2302,2304,2306,2308,2310,2312,2315,2317,2319,2322,2324,2326,2329,2331,2334],{"class":481,"line":482},[479,2298,2299],{"class":493},"{",[479,2301,1025],{"class":489},[479,2303,511],{"class":493},[479,2305,1030],{"class":493},[479,2307,1625],{"class":1033},[479,2309,1037],{"class":493},[479,2311,598],{"class":493},[479,2313,2314],{"class":489}," currency",[479,2316,511],{"class":493},[479,2318,1030],{"class":493},[479,2320,2321],{"class":1033},"€",[479,2323,1037],{"class":493},[479,2325,598],{"class":493},[479,2327,2328],{"class":489}," decimals",[479,2330,511],{"class":493},[479,2332,2333],{"class":1062}," 0",[479,2335,1524],{"class":493},[479,2337,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2359],{"class":481,"line":497},[479,2339,2299],{"class":493},[479,2341,1025],{"class":489},[479,2343,511],{"class":493},[479,2345,1030],{"class":493},[479,2347,1669],{"class":1033},[479,2349,1037],{"class":493},[479,2351,598],{"class":493},[479,2353,2328],{"class":489},[479,2355,511],{"class":493},[479,2357,2358],{"class":1062}," 1",[479,2360,1524],{"class":493},[479,2362,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2388,2390,2392,2395,2397],{"class":481,"line":504},[479,2364,2299],{"class":493},[479,2366,1025],{"class":489},[479,2368,511],{"class":493},[479,2370,1030],{"class":493},[479,2372,1034],{"class":1033},[479,2374,1037],{"class":493},[479,2376,598],{"class":493},[479,2378,2328],{"class":489},[479,2380,511],{"class":493},[479,2382,2333],{"class":1062},[479,2384,598],{"class":493},[479,2386,2387],{"class":489}," suffix",[479,2389,511],{"class":493},[479,2391,1030],{"class":493},[479,2393,2394],{"class":1033}," months",[479,2396,1037],{"class":493},[479,2398,1524],{"class":493},[2400,2401,2402],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":475,"searchDepth":497,"depth":497,"links":2404},[2405,2406,2412,2414,2416],{"id":467,"depth":497,"text":468},{"id":978,"depth":497,"text":979,"children":2407},[2408,2410,2411],{"id":983,"depth":504,"text":2409},"fields vs sections",{"id":1435,"depth":504,"text":1435},{"id":1731,"depth":504,"text":1731},{"id":1918,"depth":497,"text":2413},"The ComputeContext type",{"id":2054,"depth":497,"text":2415},"StatItem format",{"id":2175,"depth":497,"text":2176},"The PrototypeSchema type controls every aspect of a tool — its fields, derived values, collections, results, visualizations, and layout.","md",null,{},{"title":5},{"title":447,"description":2417},"5_rQB4RuF8YKXR2IrH2CWr4-CJwD4gAIiLHs87lvktY",[2425,2427],{"title":198,"path":352,"stem":353,"description":2426,"children":-1},"Build your first tool in under 10 minutes — a resource cost estimator with form inputs, derived values, a result badge, and automatic offline persistence.",{"title":362,"path":363,"stem":364,"description":2428,"children":-1},"Complete reference for all FieldDef types — text, number, textarea, select, segmented, toggle, range, rating, color, date, tags, and linked-responses.",1772977474806]