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