[{"data":1,"prerenderedAt":3265},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"/docs/nuxt-protokit/schemas/collections-en":444,"/docs/nuxt-protokit/schemas/collections-surround-en":3260},[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":3255},{"id":446,"title":366,"body":447,"description":3254,"extension":2967,"links":3255,"meta":3256,"navigation":3257,"ogImage":3255,"path":367,"seo":3258,"stem":368,"__hash__":3259},"nuxt_protokit/0.docs/4.nuxt-protokit/2.schemas/3.collections.md",{"type":448,"value":449,"toc":3236},"minimark",[450,454,468,473,483,1139,1143,1151,1154,1158,1168,1207,1211,1214,1526,1529,1533,1536,1623,1626,1633,1639,1988,1992,2002,2031,2499,2502,2505,2524,2741,2755,2762,2826,2829,2836,3232],[451,452,366],"h1",{"id":453},"collections",[455,456,457,458,462,463,467],"p",{},"A ",[459,460,461],"strong",{},"collection"," is a schema-driven CRUD list. Each collection maps to a ",[464,465,466],"code",{},"Y.Array"," in the Y.js document, so items persist offline and sync automatically when connectivity is restored.",[469,470,472],"h2",{"id":471},"defining-a-collection","Defining a collection",[455,474,475,476,478,479,482],{},"Collections live in the top-level ",[464,477,453],{}," key of a ",[464,480,481],{},"PrototypeSchema",":",[484,485,490],"pre",{"className":486,"code":487,"language":488,"meta":489,"style":489},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","collections: {\n  entries: {                          // collection key — also the Y.Array name\n    label: 'Entries',\n    singularLabel: 'Entry',           // used in \"Add Entry\" button text\n    icon: 'i-lucide-list',\n\n    fields: {\n      name:     { type: 'text',      label: 'Name',     required: true },\n      category: {\n        type: 'select',\n        label: 'Category',\n        options: [\n          { value: 'a', label: 'Type A' },\n          { value: 'b', label: 'Type B' },\n        ],\n        default: 'a',\n      },\n      score:    { type: 'range',     label: 'Score',   min: 1, max: 10, default: 5 },\n      notes:    { type: 'textarea',  label: 'Notes' },\n    },\n\n    editMode:  'modal',      // 'inline' (default) | 'modal'\n    modalSize: 'xl',         // 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl'\n\n    searchable:   true,\n    sortable:     true,\n    tableColumns: [\n      { key: 'name',     label: 'Name' },\n      { key: 'category', label: 'Category' },\n      { key: 'score',    label: 'Score', sortable: true },\n    ],\n\n    maxItems: 100,\n  }\n}\n","typescript","",[464,491,492,506,521,542,563,580,587,597,648,658,675,692,704,738,769,777,795,801,870,907,913,918,939,959,964,977,990,1000,1032,1062,1101,1109,1114,1127,1133],{"__ignoreMap":489},[493,494,497,500,503],"span",{"class":495,"line":496},"line",1,[493,498,453],{"class":499},"sBMFI",[493,501,482],{"class":502},"sMK4o",[493,504,505],{"class":502}," {\n",[493,507,509,512,514,517],{"class":495,"line":508},2,[493,510,511],{"class":499},"  entries",[493,513,482],{"class":502},[493,515,516],{"class":502}," {",[493,518,520],{"class":519},"sHwdD","                          // collection key — also the Y.Array name\n",[493,522,524,527,529,532,536,539],{"class":495,"line":523},3,[493,525,526],{"class":499},"    label",[493,528,482],{"class":502},[493,530,531],{"class":502}," '",[493,533,535],{"class":534},"sfazB","Entries",[493,537,538],{"class":502},"'",[493,540,541],{"class":502},",\n",[493,543,545,548,550,552,555,557,560],{"class":495,"line":544},4,[493,546,547],{"class":499},"    singularLabel",[493,549,482],{"class":502},[493,551,531],{"class":502},[493,553,554],{"class":534},"Entry",[493,556,538],{"class":502},[493,558,559],{"class":502},",",[493,561,562],{"class":519},"           // used in \"Add Entry\" button text\n",[493,564,566,569,571,573,576,578],{"class":495,"line":565},5,[493,567,568],{"class":499},"    icon",[493,570,482],{"class":502},[493,572,531],{"class":502},[493,574,575],{"class":534},"i-lucide-list",[493,577,538],{"class":502},[493,579,541],{"class":502},[493,581,583],{"class":495,"line":582},6,[493,584,586],{"emptyLinePlaceholder":585},true,"\n",[493,588,590,593,595],{"class":495,"line":589},7,[493,591,592],{"class":499},"    fields",[493,594,482],{"class":502},[493,596,505],{"class":502},[493,598,600,603,605,608,611,613,615,618,620,622,625,627,629,632,634,636,639,641,645],{"class":495,"line":599},8,[493,601,602],{"class":499},"      name",[493,604,482],{"class":502},[493,606,607],{"class":502},"     {",[493,609,610],{"class":499}," type",[493,612,482],{"class":502},[493,614,531],{"class":502},[493,616,617],{"class":534},"text",[493,619,538],{"class":502},[493,621,559],{"class":502},[493,623,624],{"class":499},"      label",[493,626,482],{"class":502},[493,628,531],{"class":502},[493,630,631],{"class":534},"Name",[493,633,538],{"class":502},[493,635,559],{"class":502},[493,637,638],{"class":499},"     required",[493,640,482],{"class":502},[493,642,644],{"class":643},"sfNiH"," true",[493,646,647],{"class":502}," },\n",[493,649,651,654,656],{"class":495,"line":650},9,[493,652,653],{"class":499},"      category",[493,655,482],{"class":502},[493,657,505],{"class":502},[493,659,661,664,666,668,671,673],{"class":495,"line":660},10,[493,662,663],{"class":499},"        type",[493,665,482],{"class":502},[493,667,531],{"class":502},[493,669,670],{"class":534},"select",[493,672,538],{"class":502},[493,674,541],{"class":502},[493,676,678,681,683,685,688,690],{"class":495,"line":677},11,[493,679,680],{"class":499},"        label",[493,682,482],{"class":502},[493,684,531],{"class":502},[493,686,687],{"class":534},"Category",[493,689,538],{"class":502},[493,691,541],{"class":502},[493,693,695,698,700],{"class":495,"line":694},12,[493,696,697],{"class":499},"        options",[493,699,482],{"class":502},[493,701,703],{"class":702},"swJcz"," [\n",[493,705,707,710,713,715,717,720,722,724,727,729,731,734,736],{"class":495,"line":706},13,[493,708,709],{"class":502},"          {",[493,711,712],{"class":702}," value",[493,714,482],{"class":502},[493,716,531],{"class":502},[493,718,719],{"class":534},"a",[493,721,538],{"class":502},[493,723,559],{"class":502},[493,725,726],{"class":702}," label",[493,728,482],{"class":502},[493,730,531],{"class":502},[493,732,733],{"class":534},"Type A",[493,735,538],{"class":502},[493,737,647],{"class":502},[493,739,741,743,745,747,749,752,754,756,758,760,762,765,767],{"class":495,"line":740},14,[493,742,709],{"class":502},[493,744,712],{"class":702},[493,746,482],{"class":502},[493,748,531],{"class":502},[493,750,751],{"class":534},"b",[493,753,538],{"class":502},[493,755,559],{"class":502},[493,757,726],{"class":702},[493,759,482],{"class":502},[493,761,531],{"class":502},[493,763,764],{"class":534},"Type B",[493,766,538],{"class":502},[493,768,647],{"class":502},[493,770,772,775],{"class":495,"line":771},15,[493,773,774],{"class":702},"        ]",[493,776,541],{"class":502},[493,778,780,784,787,789,791,793],{"class":495,"line":779},16,[493,781,783],{"class":782},"s7zQu","        default",[493,785,786],{"class":702},": ",[493,788,538],{"class":502},[493,790,719],{"class":534},[493,792,538],{"class":502},[493,794,541],{"class":502},[493,796,798],{"class":495,"line":797},17,[493,799,800],{"class":502},"      },\n",[493,802,804,807,809,812,814,816,818,821,823,825,828,830,832,835,837,839,842,844,848,850,853,855,858,860,863,865,868],{"class":495,"line":803},18,[493,805,806],{"class":499},"      score",[493,808,482],{"class":502},[493,810,811],{"class":502},"    {",[493,813,610],{"class":499},[493,815,482],{"class":502},[493,817,531],{"class":502},[493,819,820],{"class":534},"range",[493,822,538],{"class":502},[493,824,559],{"class":502},[493,826,827],{"class":499},"     label",[493,829,482],{"class":502},[493,831,531],{"class":502},[493,833,834],{"class":534},"Score",[493,836,538],{"class":502},[493,838,559],{"class":502},[493,840,841],{"class":499},"   min",[493,843,482],{"class":502},[493,845,847],{"class":846},"sbssI"," 1",[493,849,559],{"class":502},[493,851,852],{"class":499}," max",[493,854,482],{"class":502},[493,856,857],{"class":846}," 10",[493,859,559],{"class":502},[493,861,862],{"class":782}," default",[493,864,786],{"class":702},[493,866,867],{"class":846},"5",[493,869,647],{"class":502},[493,871,873,876,878,880,882,884,886,889,891,893,896,898,900,903,905],{"class":495,"line":872},19,[493,874,875],{"class":499},"      notes",[493,877,482],{"class":502},[493,879,811],{"class":502},[493,881,610],{"class":499},[493,883,482],{"class":502},[493,885,531],{"class":502},[493,887,888],{"class":534},"textarea",[493,890,538],{"class":502},[493,892,559],{"class":502},[493,894,895],{"class":499},"  label",[493,897,482],{"class":502},[493,899,531],{"class":502},[493,901,902],{"class":534},"Notes",[493,904,538],{"class":502},[493,906,647],{"class":502},[493,908,910],{"class":495,"line":909},20,[493,911,912],{"class":502},"    },\n",[493,914,916],{"class":495,"line":915},21,[493,917,586],{"emptyLinePlaceholder":585},[493,919,921,924,926,929,932,934,936],{"class":495,"line":920},22,[493,922,923],{"class":499},"    editMode",[493,925,482],{"class":502},[493,927,928],{"class":502},"  '",[493,930,931],{"class":534},"modal",[493,933,538],{"class":502},[493,935,559],{"class":502},[493,937,938],{"class":519},"      // 'inline' (default) | 'modal'\n",[493,940,942,945,947,949,952,954,956],{"class":495,"line":941},23,[493,943,944],{"class":499},"    modalSize",[493,946,482],{"class":502},[493,948,531],{"class":502},[493,950,951],{"class":534},"xl",[493,953,538],{"class":502},[493,955,559],{"class":502},[493,957,958],{"class":519},"         // 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl'\n",[493,960,962],{"class":495,"line":961},24,[493,963,586],{"emptyLinePlaceholder":585},[493,965,967,970,972,975],{"class":495,"line":966},25,[493,968,969],{"class":499},"    searchable",[493,971,482],{"class":502},[493,973,974],{"class":643},"   true",[493,976,541],{"class":502},[493,978,980,983,985,988],{"class":495,"line":979},26,[493,981,982],{"class":499},"    sortable",[493,984,482],{"class":502},[493,986,987],{"class":643},"     true",[493,989,541],{"class":502},[493,991,993,996,998],{"class":495,"line":992},27,[493,994,995],{"class":499},"    tableColumns",[493,997,482],{"class":502},[493,999,703],{"class":702},[493,1001,1003,1006,1009,1011,1013,1016,1018,1020,1022,1024,1026,1028,1030],{"class":495,"line":1002},28,[493,1004,1005],{"class":502},"      {",[493,1007,1008],{"class":702}," key",[493,1010,482],{"class":502},[493,1012,531],{"class":502},[493,1014,1015],{"class":534},"name",[493,1017,538],{"class":502},[493,1019,559],{"class":502},[493,1021,827],{"class":702},[493,1023,482],{"class":502},[493,1025,531],{"class":502},[493,1027,631],{"class":534},[493,1029,538],{"class":502},[493,1031,647],{"class":502},[493,1033,1035,1037,1039,1041,1043,1046,1048,1050,1052,1054,1056,1058,1060],{"class":495,"line":1034},29,[493,1036,1005],{"class":502},[493,1038,1008],{"class":702},[493,1040,482],{"class":502},[493,1042,531],{"class":502},[493,1044,1045],{"class":534},"category",[493,1047,538],{"class":502},[493,1049,559],{"class":502},[493,1051,726],{"class":702},[493,1053,482],{"class":502},[493,1055,531],{"class":502},[493,1057,687],{"class":534},[493,1059,538],{"class":502},[493,1061,647],{"class":502},[493,1063,1065,1067,1069,1071,1073,1076,1078,1080,1082,1084,1086,1088,1090,1092,1095,1097,1099],{"class":495,"line":1064},30,[493,1066,1005],{"class":502},[493,1068,1008],{"class":702},[493,1070,482],{"class":502},[493,1072,531],{"class":502},[493,1074,1075],{"class":534},"score",[493,1077,538],{"class":502},[493,1079,559],{"class":502},[493,1081,526],{"class":702},[493,1083,482],{"class":502},[493,1085,531],{"class":502},[493,1087,834],{"class":534},[493,1089,538],{"class":502},[493,1091,559],{"class":502},[493,1093,1094],{"class":702}," sortable",[493,1096,482],{"class":502},[493,1098,644],{"class":643},[493,1100,647],{"class":502},[493,1102,1104,1107],{"class":495,"line":1103},31,[493,1105,1106],{"class":702},"    ]",[493,1108,541],{"class":502},[493,1110,1112],{"class":495,"line":1111},32,[493,1113,586],{"emptyLinePlaceholder":585},[493,1115,1117,1120,1122,1125],{"class":495,"line":1116},33,[493,1118,1119],{"class":499},"    maxItems",[493,1121,482],{"class":502},[493,1123,1124],{"class":846}," 100",[493,1126,541],{"class":502},[493,1128,1130],{"class":495,"line":1129},34,[493,1131,1132],{"class":502},"  }\n",[493,1134,1136],{"class":495,"line":1135},35,[493,1137,1138],{"class":502},"}\n",[469,1140,1142],{"id":1141},"edit-modes","Edit modes",[1144,1145,1147,1150],"h3",{"id":1146},"inline-default",[464,1148,1149],{},"inline"," (default)",[455,1152,1153],{},"Fields render inline in the list row. Good for collections with 1–3 short fields where you want quick in-place editing.",[1144,1155,1156],{"id":931},[464,1157,931],{},[455,1159,1160,1161,1163,1164,1167],{},"Each item opens in a ",[464,1162,411],{},". Recommended for collections with many fields, long textareas, or complex nested data. The modal automatically persists drafts — if a user closes without saving, their work is preserved in ",[464,1165,1166],{},"Y.Map 'draft:{key}'"," and offered for resumption on next open.",[484,1169,1171],{"className":486,"code":1170,"language":488,"meta":489,"style":489},"editMode:  'modal',\nmodalSize: '3xl',   // wider sizes auto-enable 2-column field layout\n",[464,1172,1173,1188],{"__ignoreMap":489},[493,1174,1175,1178,1180,1182,1184,1186],{"class":495,"line":496},[493,1176,1177],{"class":499},"editMode",[493,1179,482],{"class":502},[493,1181,928],{"class":502},[493,1183,931],{"class":534},[493,1185,538],{"class":502},[493,1187,541],{"class":502},[493,1189,1190,1193,1195,1197,1200,1202,1204],{"class":495,"line":508},[493,1191,1192],{"class":499},"modalSize",[493,1194,482],{"class":502},[493,1196,531],{"class":502},[493,1198,1199],{"class":534},"3xl",[493,1201,538],{"class":502},[493,1203,559],{"class":502},[493,1205,1206],{"class":519},"   // wider sizes auto-enable 2-column field layout\n",[469,1208,1210],{"id":1209},"preset-packs","Preset packs",[455,1212,1213],{},"Preset packs let users bootstrap a collection with starter items. They appear on the empty state of the collection as clickable cards.",[484,1215,1217],{"className":486,"code":1216,"language":488,"meta":489,"style":489},"presets: [\n  {\n    id: 'starter-pack',\n    label: 'Starter Pack',\n    icon: 'i-lucide-package',\n    description: '5 commonly used entries to get you started',\n    items: [\n      { name: 'Example Alpha',   category: 'a', score: 7 },\n      { name: 'Example Beta',    category: 'b', score: 5 },\n      { name: 'Example Gamma',   category: 'a', score: 8 },\n    ],\n  },\n  {\n    id: 'detailed-pack',\n    label: 'Detailed Template',\n    icon: 'i-lucide-layout-template',\n    description: '10 entries with pre-filled notes',\n    items: [\n      // …\n    ],\n  },\n]\n",[464,1218,1219,1229,1234,1250,1265,1280,1296,1305,1346,1385,1423,1429,1434,1438,1453,1468,1483,1498,1506,1511,1517,1521],{"__ignoreMap":489},[493,1220,1221,1224,1226],{"class":495,"line":496},[493,1222,1223],{"class":499},"presets",[493,1225,482],{"class":502},[493,1227,703],{"class":1228},"sTEyZ",[493,1230,1231],{"class":495,"line":508},[493,1232,1233],{"class":502},"  {\n",[493,1235,1236,1239,1241,1243,1246,1248],{"class":495,"line":523},[493,1237,1238],{"class":702},"    id",[493,1240,482],{"class":502},[493,1242,531],{"class":502},[493,1244,1245],{"class":534},"starter-pack",[493,1247,538],{"class":502},[493,1249,541],{"class":502},[493,1251,1252,1254,1256,1258,1261,1263],{"class":495,"line":544},[493,1253,526],{"class":702},[493,1255,482],{"class":502},[493,1257,531],{"class":502},[493,1259,1260],{"class":534},"Starter Pack",[493,1262,538],{"class":502},[493,1264,541],{"class":502},[493,1266,1267,1269,1271,1273,1276,1278],{"class":495,"line":565},[493,1268,568],{"class":702},[493,1270,482],{"class":502},[493,1272,531],{"class":502},[493,1274,1275],{"class":534},"i-lucide-package",[493,1277,538],{"class":502},[493,1279,541],{"class":502},[493,1281,1282,1285,1287,1289,1292,1294],{"class":495,"line":582},[493,1283,1284],{"class":702},"    description",[493,1286,482],{"class":502},[493,1288,531],{"class":502},[493,1290,1291],{"class":534},"5 commonly used entries to get you started",[493,1293,538],{"class":502},[493,1295,541],{"class":502},[493,1297,1298,1301,1303],{"class":495,"line":589},[493,1299,1300],{"class":702},"    items",[493,1302,482],{"class":502},[493,1304,703],{"class":1228},[493,1306,1307,1309,1312,1314,1316,1319,1321,1323,1326,1328,1330,1332,1334,1336,1339,1341,1344],{"class":495,"line":599},[493,1308,1005],{"class":502},[493,1310,1311],{"class":702}," name",[493,1313,482],{"class":502},[493,1315,531],{"class":502},[493,1317,1318],{"class":534},"Example Alpha",[493,1320,538],{"class":502},[493,1322,559],{"class":502},[493,1324,1325],{"class":702},"   category",[493,1327,482],{"class":502},[493,1329,531],{"class":502},[493,1331,719],{"class":534},[493,1333,538],{"class":502},[493,1335,559],{"class":502},[493,1337,1338],{"class":702}," score",[493,1340,482],{"class":502},[493,1342,1343],{"class":846}," 7",[493,1345,647],{"class":502},[493,1347,1348,1350,1352,1354,1356,1359,1361,1363,1366,1368,1370,1372,1374,1376,1378,1380,1383],{"class":495,"line":650},[493,1349,1005],{"class":502},[493,1351,1311],{"class":702},[493,1353,482],{"class":502},[493,1355,531],{"class":502},[493,1357,1358],{"class":534},"Example Beta",[493,1360,538],{"class":502},[493,1362,559],{"class":502},[493,1364,1365],{"class":702},"    category",[493,1367,482],{"class":502},[493,1369,531],{"class":502},[493,1371,751],{"class":534},[493,1373,538],{"class":502},[493,1375,559],{"class":502},[493,1377,1338],{"class":702},[493,1379,482],{"class":502},[493,1381,1382],{"class":846}," 5",[493,1384,647],{"class":502},[493,1386,1387,1389,1391,1393,1395,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1421],{"class":495,"line":660},[493,1388,1005],{"class":502},[493,1390,1311],{"class":702},[493,1392,482],{"class":502},[493,1394,531],{"class":502},[493,1396,1397],{"class":534},"Example Gamma",[493,1399,538],{"class":502},[493,1401,559],{"class":502},[493,1403,1325],{"class":702},[493,1405,482],{"class":502},[493,1407,531],{"class":502},[493,1409,719],{"class":534},[493,1411,538],{"class":502},[493,1413,559],{"class":502},[493,1415,1338],{"class":702},[493,1417,482],{"class":502},[493,1419,1420],{"class":846}," 8",[493,1422,647],{"class":502},[493,1424,1425,1427],{"class":495,"line":677},[493,1426,1106],{"class":1228},[493,1428,541],{"class":502},[493,1430,1431],{"class":495,"line":694},[493,1432,1433],{"class":502},"  },\n",[493,1435,1436],{"class":495,"line":706},[493,1437,1233],{"class":502},[493,1439,1440,1442,1444,1446,1449,1451],{"class":495,"line":740},[493,1441,1238],{"class":702},[493,1443,482],{"class":502},[493,1445,531],{"class":502},[493,1447,1448],{"class":534},"detailed-pack",[493,1450,538],{"class":502},[493,1452,541],{"class":502},[493,1454,1455,1457,1459,1461,1464,1466],{"class":495,"line":771},[493,1456,526],{"class":702},[493,1458,482],{"class":502},[493,1460,531],{"class":502},[493,1462,1463],{"class":534},"Detailed Template",[493,1465,538],{"class":502},[493,1467,541],{"class":502},[493,1469,1470,1472,1474,1476,1479,1481],{"class":495,"line":779},[493,1471,568],{"class":702},[493,1473,482],{"class":502},[493,1475,531],{"class":502},[493,1477,1478],{"class":534},"i-lucide-layout-template",[493,1480,538],{"class":502},[493,1482,541],{"class":502},[493,1484,1485,1487,1489,1491,1494,1496],{"class":495,"line":797},[493,1486,1284],{"class":702},[493,1488,482],{"class":502},[493,1490,531],{"class":502},[493,1492,1493],{"class":534},"10 entries with pre-filled notes",[493,1495,538],{"class":502},[493,1497,541],{"class":502},[493,1499,1500,1502,1504],{"class":495,"line":803},[493,1501,1300],{"class":702},[493,1503,482],{"class":502},[493,1505,703],{"class":1228},[493,1507,1508],{"class":495,"line":872},[493,1509,1510],{"class":519},"      // …\n",[493,1512,1513,1515],{"class":495,"line":909},[493,1514,1106],{"class":1228},[493,1516,541],{"class":502},[493,1518,1519],{"class":495,"line":915},[493,1520,1433],{"class":502},[493,1522,1523],{"class":495,"line":920},[493,1524,1525],{"class":1228},"]\n",[455,1527,1528],{},"Clicking a preset card populates the collection with those items. The user can then edit, add to, or remove them.",[469,1530,1532],{"id":1531},"onboarding-presets","Onboarding presets",[455,1534,1535],{},"A variant displayed on the very first empty state — before the user has ever added an item:",[484,1537,1539],{"className":486,"code":1538,"language":488,"meta":489,"style":489},"onboardingPresets: [\n  {\n    id: 'quick-start',\n    label: 'Quick Start',\n    description: 'Get up and running in 30 seconds',\n    items: [...],\n  },\n]\n",[464,1540,1541,1550,1554,1569,1583,1598,1615,1619],{"__ignoreMap":489},[493,1542,1543,1546,1548],{"class":495,"line":496},[493,1544,1545],{"class":499},"onboardingPresets",[493,1547,482],{"class":502},[493,1549,703],{"class":1228},[493,1551,1552],{"class":495,"line":508},[493,1553,1233],{"class":502},[493,1555,1556,1558,1560,1562,1565,1567],{"class":495,"line":523},[493,1557,1238],{"class":702},[493,1559,482],{"class":502},[493,1561,531],{"class":502},[493,1563,1564],{"class":534},"quick-start",[493,1566,538],{"class":502},[493,1568,541],{"class":502},[493,1570,1571,1573,1575,1577,1579,1581],{"class":495,"line":544},[493,1572,526],{"class":702},[493,1574,482],{"class":502},[493,1576,531],{"class":502},[493,1578,198],{"class":534},[493,1580,538],{"class":502},[493,1582,541],{"class":502},[493,1584,1585,1587,1589,1591,1594,1596],{"class":495,"line":565},[493,1586,1284],{"class":702},[493,1588,482],{"class":502},[493,1590,531],{"class":502},[493,1592,1593],{"class":534},"Get up and running in 30 seconds",[493,1595,538],{"class":502},[493,1597,541],{"class":502},[493,1599,1600,1602,1604,1607,1610,1613],{"class":495,"line":582},[493,1601,1300],{"class":702},[493,1603,482],{"class":502},[493,1605,1606],{"class":1228}," [",[493,1608,1609],{"class":502},"...",[493,1611,1612],{"class":1228},"]",[493,1614,541],{"class":502},[493,1616,1617],{"class":495,"line":589},[493,1618,1433],{"class":502},[493,1620,1621],{"class":495,"line":599},[493,1622,1525],{"class":1228},[455,1624,1625],{},"Once items exist, the collection switches to the compact list view with a normal \"Add\" button.",[469,1627,1629,1630],{"id":1628},"using-collection-data-in-derived","Using collection data in ",[464,1631,1632],{},"derived",[455,1634,1635,1636,482],{},"Collection items are available in ",[464,1637,1638],{},"ComputeContext.collections",[484,1640,1642],{"className":486,"code":1641,"language":488,"meta":489,"style":489},"derived: {\n  totalItems: {\n    compute: ({ collections }) => collections.entries?.length ?? 0,\n  },\n  avgScore: {\n    compute: ({ collections }) => {\n      const items = collections.entries ?? []\n      if (!items.length) return null\n      return items.reduce((sum, i) => sum + (i.score ?? 0), 0) / items.length\n    },\n    format: { type: 'number', decimals: 1 },\n  },\n  topEntries: {\n    compute: ({ collections }) =>\n      (collections.entries ?? [])\n        .filter(i => i.score >= 8)\n        .map(i => i.name),\n  },\n}\n",[464,1643,1644,1652,1661,1704,1708,1717,1733,1755,1782,1850,1854,1885,1889,1898,1913,1929,1957,1980,1984],{"__ignoreMap":489},[493,1645,1646,1648,1650],{"class":495,"line":496},[493,1647,1632],{"class":499},[493,1649,482],{"class":502},[493,1651,505],{"class":502},[493,1653,1654,1657,1659],{"class":495,"line":508},[493,1655,1656],{"class":499},"  totalItems",[493,1658,482],{"class":502},[493,1660,505],{"class":502},[493,1662,1663,1666,1668,1671,1675,1678,1682,1684,1687,1690,1693,1696,1699,1702],{"class":495,"line":523},[493,1664,1665],{"class":499},"    compute",[493,1667,482],{"class":502},[493,1669,1670],{"class":502}," ({",[493,1672,1674],{"class":1673},"sHdIc"," collections",[493,1676,1677],{"class":502}," })",[493,1679,1681],{"class":1680},"spNyl"," =>",[493,1683,1674],{"class":1228},[493,1685,1686],{"class":502},".",[493,1688,1689],{"class":1228},"entries",[493,1691,1692],{"class":502},"?.",[493,1694,1695],{"class":1228},"length",[493,1697,1698],{"class":502}," ??",[493,1700,1701],{"class":846}," 0",[493,1703,541],{"class":502},[493,1705,1706],{"class":495,"line":544},[493,1707,1433],{"class":502},[493,1709,1710,1713,1715],{"class":495,"line":565},[493,1711,1712],{"class":499},"  avgScore",[493,1714,482],{"class":502},[493,1716,505],{"class":502},[493,1718,1719,1721,1723,1725,1727,1729,1731],{"class":495,"line":582},[493,1720,1665],{"class":499},[493,1722,482],{"class":502},[493,1724,1670],{"class":502},[493,1726,1674],{"class":1673},[493,1728,1677],{"class":502},[493,1730,1681],{"class":1680},[493,1732,505],{"class":502},[493,1734,1735,1738,1741,1744,1746,1748,1750,1752],{"class":495,"line":589},[493,1736,1737],{"class":1680},"      const",[493,1739,1740],{"class":1228}," items",[493,1742,1743],{"class":502}," =",[493,1745,1674],{"class":1228},[493,1747,1686],{"class":502},[493,1749,1689],{"class":1228},[493,1751,1698],{"class":502},[493,1753,1754],{"class":702}," []\n",[493,1756,1757,1760,1763,1766,1769,1771,1773,1776,1779],{"class":495,"line":599},[493,1758,1759],{"class":782},"      if",[493,1761,1762],{"class":702}," (",[493,1764,1765],{"class":502},"!",[493,1767,1768],{"class":1228},"items",[493,1770,1686],{"class":502},[493,1772,1695],{"class":1228},[493,1774,1775],{"class":702},") ",[493,1777,1778],{"class":782},"return",[493,1780,1781],{"class":502}," null\n",[493,1783,1784,1787,1789,1791,1795,1798,1800,1803,1805,1808,1811,1813,1816,1819,1821,1824,1826,1828,1830,1832,1834,1836,1838,1840,1843,1845,1847],{"class":495,"line":650},[493,1785,1786],{"class":782},"      return",[493,1788,1740],{"class":1228},[493,1790,1686],{"class":502},[493,1792,1794],{"class":1793},"s2Zo4","reduce",[493,1796,1797],{"class":702},"(",[493,1799,1797],{"class":502},[493,1801,1802],{"class":1673},"sum",[493,1804,559],{"class":502},[493,1806,1807],{"class":1673}," i",[493,1809,1810],{"class":502},")",[493,1812,1681],{"class":1680},[493,1814,1815],{"class":1228}," sum",[493,1817,1818],{"class":502}," +",[493,1820,1762],{"class":702},[493,1822,1823],{"class":1228},"i",[493,1825,1686],{"class":502},[493,1827,1075],{"class":1228},[493,1829,1698],{"class":502},[493,1831,1701],{"class":846},[493,1833,1810],{"class":702},[493,1835,559],{"class":502},[493,1837,1701],{"class":846},[493,1839,1775],{"class":702},[493,1841,1842],{"class":502},"/",[493,1844,1740],{"class":1228},[493,1846,1686],{"class":502},[493,1848,1849],{"class":1228},"length\n",[493,1851,1852],{"class":495,"line":660},[493,1853,912],{"class":502},[493,1855,1856,1859,1861,1863,1865,1867,1869,1872,1874,1876,1879,1881,1883],{"class":495,"line":677},[493,1857,1858],{"class":499},"    format",[493,1860,482],{"class":502},[493,1862,516],{"class":502},[493,1864,610],{"class":499},[493,1866,482],{"class":502},[493,1868,531],{"class":502},[493,1870,1871],{"class":534},"number",[493,1873,538],{"class":502},[493,1875,559],{"class":502},[493,1877,1878],{"class":499}," decimals",[493,1880,482],{"class":502},[493,1882,847],{"class":846},[493,1884,647],{"class":502},[493,1886,1887],{"class":495,"line":694},[493,1888,1433],{"class":502},[493,1890,1891,1894,1896],{"class":495,"line":706},[493,1892,1893],{"class":499},"  topEntries",[493,1895,482],{"class":502},[493,1897,505],{"class":502},[493,1899,1900,1902,1904,1906,1908,1910],{"class":495,"line":740},[493,1901,1665],{"class":499},[493,1903,482],{"class":502},[493,1905,1670],{"class":502},[493,1907,1674],{"class":1673},[493,1909,1677],{"class":502},[493,1911,1912],{"class":1680}," =>\n",[493,1914,1915,1918,1920,1922,1924,1926],{"class":495,"line":771},[493,1916,1917],{"class":702},"      (",[493,1919,453],{"class":1228},[493,1921,1686],{"class":502},[493,1923,1689],{"class":1228},[493,1925,1698],{"class":502},[493,1927,1928],{"class":702}," [])\n",[493,1930,1931,1934,1937,1939,1941,1943,1945,1947,1949,1952,1954],{"class":495,"line":779},[493,1932,1933],{"class":502},"        .",[493,1935,1936],{"class":1793},"filter",[493,1938,1797],{"class":702},[493,1940,1823],{"class":1673},[493,1942,1681],{"class":1680},[493,1944,1807],{"class":1228},[493,1946,1686],{"class":502},[493,1948,1075],{"class":1228},[493,1950,1951],{"class":502}," >=",[493,1953,1420],{"class":846},[493,1955,1956],{"class":702},")\n",[493,1958,1959,1961,1964,1966,1968,1970,1972,1974,1976,1978],{"class":495,"line":797},[493,1960,1933],{"class":502},[493,1962,1963],{"class":1793},"map",[493,1965,1797],{"class":702},[493,1967,1823],{"class":1673},[493,1969,1681],{"class":1680},[493,1971,1807],{"class":1228},[493,1973,1686],{"class":502},[493,1975,1015],{"class":1228},[493,1977,1810],{"class":702},[493,1979,541],{"class":502},[493,1981,1982],{"class":495,"line":803},[493,1983,1433],{"class":502},[493,1985,1986],{"class":495,"line":872},[493,1987,1138],{"class":502},[469,1989,1991],{"id":1990},"schema-migration","Schema migration",[455,1993,1994,1997,1998,2001],{},[459,1995,1996],{},"Adding a new field"," to a collection requires no migration — existing items are automatically merged with ",[464,1999,2000],{},"defaults"," on read, so the new field gets its default value transparently.",[455,2003,2004,2007,2008,2011,2012,2015,2016,2019,2020,2023,2024,2023,2027,2030],{},[459,2005,2006],{},"Renaming a field, changing its type, or transforming values"," requires bumping ",[464,2009,2010],{},"version"," and providing a ",[464,2013,2014],{},"migrations"," map. Each key is the ",[459,2017,2018],{},"target version"," — so if stored data is at v2 and current is v5, the runner applies ",[464,2021,2022],{},"migrations[3]",", ",[464,2025,2026],{},"migrations[4]",[464,2028,2029],{},"migrations[5]"," in order. Steps with no entry are skipped.",[484,2032,2034],{"className":486,"code":2033,"language":488,"meta":489,"style":489},"collections: {\n  tasks: {\n    version: 2,\n    migrations: {\n      // v0 → v1: renamed done:boolean to status:string (destructure out the old field)\n      1: ({ done, ...rest }) => ({\n        ...rest,\n        status: done ? 'done' : 'open',\n      }),\n      // v1 → v2: split assignee:string into assigneeId + assigneeName (remove old field)\n      2: ({ assignee, ...rest }) => ({\n        ...rest,\n        assigneeId:   assignee?.toLowerCase().replace(/\\s+/g, '-') ?? '',\n        assigneeName: assignee ?? '',\n      }),\n    },\n    fields: {\n      status:      { type: 'select', label: 'Status', default: 'open', options: ['open', 'done'] },\n      assigneeId:  { type: 'text',   label: 'Assignee ID',   default: '' },\n      assigneeName:{ type: 'text',   label: 'Assignee Name', default: '' },\n    },\n    defaults: { status: 'open', assigneeId: '', assigneeName: '' },\n  },\n}\n",[464,2035,2036,2044,2053,2065,2074,2079,2109,2118,2149,2158,2163,2189,2197,2252,2267,2275,2279,2287,2360,2406,2447,2451,2491,2495],{"__ignoreMap":489},[493,2037,2038,2040,2042],{"class":495,"line":496},[493,2039,453],{"class":499},[493,2041,482],{"class":502},[493,2043,505],{"class":502},[493,2045,2046,2049,2051],{"class":495,"line":508},[493,2047,2048],{"class":499},"  tasks",[493,2050,482],{"class":502},[493,2052,505],{"class":502},[493,2054,2055,2058,2060,2063],{"class":495,"line":523},[493,2056,2057],{"class":499},"    version",[493,2059,482],{"class":502},[493,2061,2062],{"class":846}," 2",[493,2064,541],{"class":502},[493,2066,2067,2070,2072],{"class":495,"line":544},[493,2068,2069],{"class":499},"    migrations",[493,2071,482],{"class":502},[493,2073,505],{"class":502},[493,2075,2076],{"class":495,"line":565},[493,2077,2078],{"class":519},"      // v0 → v1: renamed done:boolean to status:string (destructure out the old field)\n",[493,2080,2081,2084,2086,2089,2092,2094,2097,2100,2102,2104,2106],{"class":495,"line":582},[493,2082,2083],{"class":846},"      1",[493,2085,786],{"class":702},[493,2087,2088],{"class":502},"({",[493,2090,2091],{"class":1673}," done",[493,2093,559],{"class":502},[493,2095,2096],{"class":502}," ...",[493,2098,2099],{"class":1673},"rest",[493,2101,1677],{"class":502},[493,2103,1681],{"class":1680},[493,2105,1762],{"class":702},[493,2107,2108],{"class":502},"{\n",[493,2110,2111,2114,2116],{"class":495,"line":589},[493,2112,2113],{"class":502},"        ...",[493,2115,2099],{"class":1228},[493,2117,541],{"class":502},[493,2119,2120,2123,2125,2127,2130,2132,2135,2137,2140,2142,2145,2147],{"class":495,"line":599},[493,2121,2122],{"class":702},"        status",[493,2124,482],{"class":502},[493,2126,2091],{"class":1228},[493,2128,2129],{"class":502}," ?",[493,2131,531],{"class":502},[493,2133,2134],{"class":534},"done",[493,2136,538],{"class":502},[493,2138,2139],{"class":502}," :",[493,2141,531],{"class":502},[493,2143,2144],{"class":534},"open",[493,2146,538],{"class":502},[493,2148,541],{"class":502},[493,2150,2151,2154,2156],{"class":495,"line":650},[493,2152,2153],{"class":502},"      }",[493,2155,1810],{"class":702},[493,2157,541],{"class":502},[493,2159,2160],{"class":495,"line":660},[493,2161,2162],{"class":519},"      // v1 → v2: split assignee:string into assigneeId + assigneeName (remove old field)\n",[493,2164,2165,2168,2170,2172,2175,2177,2179,2181,2183,2185,2187],{"class":495,"line":677},[493,2166,2167],{"class":846},"      2",[493,2169,786],{"class":702},[493,2171,2088],{"class":502},[493,2173,2174],{"class":1673}," assignee",[493,2176,559],{"class":502},[493,2178,2096],{"class":502},[493,2180,2099],{"class":1673},[493,2182,1677],{"class":502},[493,2184,1681],{"class":1680},[493,2186,1762],{"class":702},[493,2188,2108],{"class":502},[493,2190,2191,2193,2195],{"class":495,"line":694},[493,2192,2113],{"class":502},[493,2194,2099],{"class":1228},[493,2196,541],{"class":502},[493,2198,2199,2202,2204,2207,2209,2212,2215,2217,2220,2222,2224,2227,2230,2233,2235,2237,2240,2242,2244,2247,2250],{"class":495,"line":706},[493,2200,2201],{"class":702},"        assigneeId",[493,2203,482],{"class":502},[493,2205,2206],{"class":1228},"   assignee",[493,2208,1692],{"class":502},[493,2210,2211],{"class":1793},"toLowerCase",[493,2213,2214],{"class":702},"()",[493,2216,1686],{"class":502},[493,2218,2219],{"class":1793},"replace",[493,2221,1797],{"class":702},[493,2223,1842],{"class":502},[493,2225,2226],{"class":534},"\\s",[493,2228,2229],{"class":502},"+/",[493,2231,2232],{"class":846},"g",[493,2234,559],{"class":502},[493,2236,531],{"class":502},[493,2238,2239],{"class":534},"-",[493,2241,538],{"class":502},[493,2243,1775],{"class":702},[493,2245,2246],{"class":502},"??",[493,2248,2249],{"class":502}," ''",[493,2251,541],{"class":502},[493,2253,2254,2257,2259,2261,2263,2265],{"class":495,"line":740},[493,2255,2256],{"class":702},"        assigneeName",[493,2258,482],{"class":502},[493,2260,2174],{"class":1228},[493,2262,1698],{"class":502},[493,2264,2249],{"class":502},[493,2266,541],{"class":502},[493,2268,2269,2271,2273],{"class":495,"line":771},[493,2270,2153],{"class":502},[493,2272,1810],{"class":702},[493,2274,541],{"class":502},[493,2276,2277],{"class":495,"line":779},[493,2278,912],{"class":502},[493,2280,2281,2283,2285],{"class":495,"line":797},[493,2282,592],{"class":499},[493,2284,482],{"class":502},[493,2286,505],{"class":502},[493,2288,2289,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2317,2319,2321,2323,2325,2327,2329,2331,2333,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2357],{"class":495,"line":803},[493,2290,2291],{"class":499},"      status",[493,2293,482],{"class":502},[493,2295,1005],{"class":502},[493,2297,610],{"class":499},[493,2299,482],{"class":502},[493,2301,531],{"class":502},[493,2303,670],{"class":534},[493,2305,538],{"class":502},[493,2307,559],{"class":502},[493,2309,726],{"class":499},[493,2311,482],{"class":502},[493,2313,531],{"class":502},[493,2315,2316],{"class":534},"Status",[493,2318,538],{"class":502},[493,2320,559],{"class":502},[493,2322,862],{"class":782},[493,2324,786],{"class":702},[493,2326,538],{"class":502},[493,2328,2144],{"class":534},[493,2330,538],{"class":502},[493,2332,559],{"class":502},[493,2334,2335],{"class":499}," options",[493,2337,482],{"class":502},[493,2339,1606],{"class":702},[493,2341,538],{"class":502},[493,2343,2144],{"class":534},[493,2345,538],{"class":502},[493,2347,559],{"class":502},[493,2349,531],{"class":502},[493,2351,2134],{"class":534},[493,2353,538],{"class":502},[493,2355,2356],{"class":702},"] ",[493,2358,2359],{"class":502},"},\n",[493,2361,2362,2365,2367,2370,2372,2374,2376,2378,2380,2382,2385,2387,2389,2392,2394,2396,2399,2401,2404],{"class":495,"line":872},[493,2363,2364],{"class":499},"      assigneeId",[493,2366,482],{"class":502},[493,2368,2369],{"class":502},"  {",[493,2371,610],{"class":499},[493,2373,482],{"class":502},[493,2375,531],{"class":502},[493,2377,617],{"class":534},[493,2379,538],{"class":502},[493,2381,559],{"class":502},[493,2383,2384],{"class":499},"   label",[493,2386,482],{"class":502},[493,2388,531],{"class":502},[493,2390,2391],{"class":534},"Assignee ID",[493,2393,538],{"class":502},[493,2395,559],{"class":502},[493,2397,2398],{"class":782},"   default",[493,2400,786],{"class":702},[493,2402,2403],{"class":502},"''",[493,2405,647],{"class":502},[493,2407,2408,2411,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2435,2437,2439,2441,2443,2445],{"class":495,"line":909},[493,2409,2410],{"class":499},"      assigneeName",[493,2412,2413],{"class":502},":{",[493,2415,610],{"class":499},[493,2417,482],{"class":502},[493,2419,531],{"class":502},[493,2421,617],{"class":534},[493,2423,538],{"class":502},[493,2425,559],{"class":502},[493,2427,2384],{"class":499},[493,2429,482],{"class":502},[493,2431,531],{"class":502},[493,2433,2434],{"class":534},"Assignee Name",[493,2436,538],{"class":502},[493,2438,559],{"class":502},[493,2440,862],{"class":782},[493,2442,786],{"class":702},[493,2444,2403],{"class":502},[493,2446,647],{"class":502},[493,2448,2449],{"class":495,"line":915},[493,2450,912],{"class":502},[493,2452,2453,2456,2458,2460,2463,2465,2467,2469,2471,2473,2476,2478,2480,2482,2485,2487,2489],{"class":495,"line":920},[493,2454,2455],{"class":499},"    defaults",[493,2457,482],{"class":502},[493,2459,516],{"class":502},[493,2461,2462],{"class":499}," status",[493,2464,482],{"class":502},[493,2466,531],{"class":502},[493,2468,2144],{"class":534},[493,2470,538],{"class":502},[493,2472,559],{"class":502},[493,2474,2475],{"class":499}," assigneeId",[493,2477,482],{"class":502},[493,2479,2249],{"class":502},[493,2481,559],{"class":502},[493,2483,2484],{"class":499}," assigneeName",[493,2486,482],{"class":502},[493,2488,2249],{"class":502},[493,2490,647],{"class":502},[493,2492,2493],{"class":495,"line":941},[493,2494,1433],{"class":502},[493,2496,2497],{"class":495,"line":961},[493,2498,1138],{"class":502},[455,2500,2501],{},"Each step function receives the raw stored item — exactly the fields that were written to Y.js at that version, with no defaults pre-applied. Destructure out the old field name and spread the rest to keep the shape clean. Migrations run once after the persistence layer has loaded stored data, rewrite all items in Y.js in a single transaction, and are skipped on every subsequent load.",[469,2503,239],{"id":2504},"validation",[455,2506,2507,2508,2511,2512,2515,2516,2519,2520,2523],{},"Add a ",[464,2509,2510],{},"validate"," function to a collection schema to block saves when an item is invalid. Return ",[464,2513,2514],{},"true"," to allow saving, a ",[464,2517,2518],{},"string"," for a top-level error message, or a ",[464,2521,2522],{},"Record\u003Cstring, string>"," to highlight specific fields red with per-field messages.",[484,2525,2527],{"className":486,"code":2526,"language":488,"meta":489,"style":489},"collections: {\n  entries: {\n    fields: { ... },\n    // Field-level errors — each key matches a field name\n    validate: (item) => {\n      const errors: Record\u003Cstring, string> = {}\n      if (!item.name?.trim()) errors.name = 'Name is required.'\n      if (item.score \u003C 1 || item.score > 10) errors.score = 'Score must be between 1 and 10.'\n      return Object.keys(errors).length ? errors : true\n    },\n  },\n}\n",[464,2528,2529,2537,2545,2557,2562,2580,2610,2649,2698,2729,2733,2737],{"__ignoreMap":489},[493,2530,2531,2533,2535],{"class":495,"line":496},[493,2532,453],{"class":499},[493,2534,482],{"class":502},[493,2536,505],{"class":502},[493,2538,2539,2541,2543],{"class":495,"line":508},[493,2540,511],{"class":499},[493,2542,482],{"class":502},[493,2544,505],{"class":502},[493,2546,2547,2549,2551,2553,2555],{"class":495,"line":523},[493,2548,592],{"class":499},[493,2550,482],{"class":502},[493,2552,516],{"class":502},[493,2554,2096],{"class":502},[493,2556,647],{"class":502},[493,2558,2559],{"class":495,"line":544},[493,2560,2561],{"class":519},"    // Field-level errors — each key matches a field name\n",[493,2563,2564,2567,2569,2571,2574,2576,2578],{"class":495,"line":565},[493,2565,2566],{"class":499},"    validate",[493,2568,482],{"class":502},[493,2570,1762],{"class":502},[493,2572,2573],{"class":1673},"item",[493,2575,1810],{"class":502},[493,2577,1681],{"class":1680},[493,2579,505],{"class":502},[493,2581,2582,2584,2587,2589,2592,2595,2597,2599,2602,2605,2607],{"class":495,"line":582},[493,2583,1737],{"class":1680},[493,2585,2586],{"class":1228}," errors",[493,2588,482],{"class":502},[493,2590,2591],{"class":499}," Record",[493,2593,2594],{"class":502},"\u003C",[493,2596,2518],{"class":499},[493,2598,559],{"class":502},[493,2600,2601],{"class":499}," string",[493,2603,2604],{"class":502},">",[493,2606,1743],{"class":502},[493,2608,2609],{"class":502}," {}\n",[493,2611,2612,2614,2616,2618,2620,2622,2624,2626,2629,2632,2635,2637,2639,2641,2643,2646],{"class":495,"line":589},[493,2613,1759],{"class":782},[493,2615,1762],{"class":702},[493,2617,1765],{"class":502},[493,2619,2573],{"class":1228},[493,2621,1686],{"class":502},[493,2623,1015],{"class":1228},[493,2625,1692],{"class":502},[493,2627,2628],{"class":1793},"trim",[493,2630,2631],{"class":702},"()) ",[493,2633,2634],{"class":1228},"errors",[493,2636,1686],{"class":502},[493,2638,1015],{"class":1228},[493,2640,1743],{"class":502},[493,2642,531],{"class":502},[493,2644,2645],{"class":534},"Name is required.",[493,2647,2648],{"class":502},"'\n",[493,2650,2651,2653,2655,2657,2659,2661,2664,2666,2669,2672,2674,2676,2679,2681,2683,2685,2687,2689,2691,2693,2696],{"class":495,"line":599},[493,2652,1759],{"class":782},[493,2654,1762],{"class":702},[493,2656,2573],{"class":1228},[493,2658,1686],{"class":502},[493,2660,1075],{"class":1228},[493,2662,2663],{"class":502}," \u003C",[493,2665,847],{"class":846},[493,2667,2668],{"class":502}," ||",[493,2670,2671],{"class":1228}," item",[493,2673,1686],{"class":502},[493,2675,1075],{"class":1228},[493,2677,2678],{"class":502}," >",[493,2680,857],{"class":846},[493,2682,1775],{"class":702},[493,2684,2634],{"class":1228},[493,2686,1686],{"class":502},[493,2688,1075],{"class":1228},[493,2690,1743],{"class":502},[493,2692,531],{"class":502},[493,2694,2695],{"class":534},"Score must be between 1 and 10.",[493,2697,2648],{"class":502},[493,2699,2700,2702,2705,2707,2710,2712,2714,2716,2718,2720,2722,2724,2726],{"class":495,"line":650},[493,2701,1786],{"class":782},[493,2703,2704],{"class":1228}," Object",[493,2706,1686],{"class":502},[493,2708,2709],{"class":1793},"keys",[493,2711,1797],{"class":702},[493,2713,2634],{"class":1228},[493,2715,1810],{"class":702},[493,2717,1686],{"class":502},[493,2719,1695],{"class":1228},[493,2721,2129],{"class":502},[493,2723,2586],{"class":1228},[493,2725,2139],{"class":502},[493,2727,2728],{"class":643}," true\n",[493,2730,2731],{"class":495,"line":660},[493,2732,912],{"class":502},[493,2734,2735],{"class":495,"line":677},[493,2736,1433],{"class":502},[493,2738,2739],{"class":495,"line":694},[493,2740,1138],{"class":502},[455,2742,2743,2744,2746,2747,2749,2750,2752,2753,1686],{},"When a ",[464,2745,2522],{}," is returned, each named field turns red with its error message displayed below it. A plain ",[464,2748,2518],{}," return shows a single banner error instead. Saving is blocked until ",[464,2751,2510],{}," returns ",[464,2754,2514],{},[469,2756,2758,2759],{"id":2757},"exposing-collection-aggregates-via-produces","Exposing collection aggregates via ",[464,2760,2761],{},"produces",[484,2763,2765],{"className":486,"code":2764,"language":488,"meta":489,"style":489},"produces: {\n  avgScore:   'derived.avgScore',\n  itemCount:  'derived.totalItems',\n  topEntries: 'derived.topEntries',\n}\n",[464,2766,2767,2775,2791,2807,2822],{"__ignoreMap":489},[493,2768,2769,2771,2773],{"class":495,"line":496},[493,2770,2761],{"class":499},[493,2772,482],{"class":502},[493,2774,505],{"class":502},[493,2776,2777,2779,2781,2784,2787,2789],{"class":495,"line":508},[493,2778,1712],{"class":499},[493,2780,482],{"class":502},[493,2782,2783],{"class":502},"   '",[493,2785,2786],{"class":534},"derived.avgScore",[493,2788,538],{"class":502},[493,2790,541],{"class":502},[493,2792,2793,2796,2798,2800,2803,2805],{"class":495,"line":523},[493,2794,2795],{"class":499},"  itemCount",[493,2797,482],{"class":502},[493,2799,928],{"class":502},[493,2801,2802],{"class":534},"derived.totalItems",[493,2804,538],{"class":502},[493,2806,541],{"class":502},[493,2808,2809,2811,2813,2815,2818,2820],{"class":495,"line":544},[493,2810,1893],{"class":499},[493,2812,482],{"class":502},[493,2814,531],{"class":502},[493,2816,2817],{"class":534},"derived.topEntries",[493,2819,538],{"class":502},[493,2821,541],{"class":502},[493,2823,2824],{"class":495,"line":565},[493,2825,1138],{"class":502},[455,2827,2828],{},"Downstream tools can then consume these values directly without access to the raw collection.",[469,2830,2832,2835],{"id":2831},"collectionschema-full-type",[464,2833,2834],{},"CollectionSchema"," full type",[484,2837,2839],{"className":486,"code":2838,"language":488,"meta":489,"style":489},"interface CollectionSchema {\n  label:              string\n  singularLabel?:     string\n  icon?:              string\n  fields:             Record\u003Cstring, FieldDef>\n  defaults?:          Record\u003Cstring, any>\n  editMode?:          'inline' | 'modal'\n  modalSize?:         'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl'\n  searchable?:        boolean\n  sortable?:          boolean\n  tableColumns?:      { key: string; label: string; sortable?: boolean }[]\n  maxItems?:          number\n  presets?:           PresetPack[]\n  onboardingPresets?: PresetPack[]\n  validate?:          (item: Record\u003Cstring, any>) => true | false | string | Record\u003Cstring, string>\n  version?:           number\n  migrations?:        Record\u003Cnumber, (item: Record\u003Cstring, any>) => Record\u003Cstring, any>>\n}\n",[464,2840,2841,2851,2860,2871,2880,2902,2923,2946,3022,3032,3042,3081,3091,3103,3115,3169,3179,3228],{"__ignoreMap":489},[493,2842,2843,2846,2849],{"class":495,"line":496},[493,2844,2845],{"class":1680},"interface",[493,2847,2848],{"class":499}," CollectionSchema",[493,2850,505],{"class":502},[493,2852,2853,2855,2857],{"class":495,"line":508},[493,2854,895],{"class":702},[493,2856,482],{"class":502},[493,2858,2859],{"class":499},"              string\n",[493,2861,2862,2865,2868],{"class":495,"line":523},[493,2863,2864],{"class":702},"  singularLabel",[493,2866,2867],{"class":502},"?:",[493,2869,2870],{"class":499},"     string\n",[493,2872,2873,2876,2878],{"class":495,"line":544},[493,2874,2875],{"class":702},"  icon",[493,2877,2867],{"class":502},[493,2879,2859],{"class":499},[493,2881,2882,2885,2887,2890,2892,2894,2896,2899],{"class":495,"line":565},[493,2883,2884],{"class":702},"  fields",[493,2886,482],{"class":502},[493,2888,2889],{"class":499},"             Record",[493,2891,2594],{"class":502},[493,2893,2518],{"class":499},[493,2895,559],{"class":502},[493,2897,2898],{"class":499}," FieldDef",[493,2900,2901],{"class":502},">\n",[493,2903,2904,2907,2909,2912,2914,2916,2918,2921],{"class":495,"line":582},[493,2905,2906],{"class":702},"  defaults",[493,2908,2867],{"class":502},[493,2910,2911],{"class":499},"          Record",[493,2913,2594],{"class":502},[493,2915,2518],{"class":499},[493,2917,559],{"class":502},[493,2919,2920],{"class":499}," any",[493,2922,2901],{"class":502},[493,2924,2925,2928,2930,2933,2935,2937,2940,2942,2944],{"class":495,"line":589},[493,2926,2927],{"class":702},"  editMode",[493,2929,2867],{"class":502},[493,2931,2932],{"class":502},"          '",[493,2934,1149],{"class":534},[493,2936,538],{"class":502},[493,2938,2939],{"class":502}," |",[493,2941,531],{"class":502},[493,2943,931],{"class":534},[493,2945,2648],{"class":502},[493,2947,2948,2951,2953,2956,2959,2961,2963,2965,2968,2970,2972,2974,2977,2979,2981,2983,2985,2987,2989,2991,2994,2996,2998,3000,3002,3004,3006,3008,3011,3013,3015,3017,3020],{"class":495,"line":599},[493,2949,2950],{"class":702},"  modalSize",[493,2952,2867],{"class":502},[493,2954,2955],{"class":502},"         '",[493,2957,2958],{"class":534},"sm",[493,2960,538],{"class":502},[493,2962,2939],{"class":502},[493,2964,531],{"class":502},[493,2966,2967],{"class":534},"md",[493,2969,538],{"class":502},[493,2971,2939],{"class":502},[493,2973,531],{"class":502},[493,2975,2976],{"class":534},"lg",[493,2978,538],{"class":502},[493,2980,2939],{"class":502},[493,2982,531],{"class":502},[493,2984,951],{"class":534},[493,2986,538],{"class":502},[493,2988,2939],{"class":502},[493,2990,531],{"class":502},[493,2992,2993],{"class":534},"2xl",[493,2995,538],{"class":502},[493,2997,2939],{"class":502},[493,2999,531],{"class":502},[493,3001,1199],{"class":534},[493,3003,538],{"class":502},[493,3005,2939],{"class":502},[493,3007,531],{"class":502},[493,3009,3010],{"class":534},"4xl",[493,3012,538],{"class":502},[493,3014,2939],{"class":502},[493,3016,531],{"class":502},[493,3018,3019],{"class":534},"5xl",[493,3021,2648],{"class":502},[493,3023,3024,3027,3029],{"class":495,"line":650},[493,3025,3026],{"class":702},"  searchable",[493,3028,2867],{"class":502},[493,3030,3031],{"class":499},"        boolean\n",[493,3033,3034,3037,3039],{"class":495,"line":660},[493,3035,3036],{"class":702},"  sortable",[493,3038,2867],{"class":502},[493,3040,3041],{"class":499},"          boolean\n",[493,3043,3044,3047,3049,3051,3053,3055,3057,3060,3062,3064,3066,3068,3070,3072,3075,3078],{"class":495,"line":677},[493,3045,3046],{"class":702},"  tableColumns",[493,3048,2867],{"class":502},[493,3050,1005],{"class":502},[493,3052,1008],{"class":702},[493,3054,482],{"class":502},[493,3056,2601],{"class":499},[493,3058,3059],{"class":502},";",[493,3061,726],{"class":702},[493,3063,482],{"class":502},[493,3065,2601],{"class":499},[493,3067,3059],{"class":502},[493,3069,1094],{"class":702},[493,3071,2867],{"class":502},[493,3073,3074],{"class":499}," boolean",[493,3076,3077],{"class":502}," }",[493,3079,3080],{"class":1228},"[]\n",[493,3082,3083,3086,3088],{"class":495,"line":694},[493,3084,3085],{"class":702},"  maxItems",[493,3087,2867],{"class":502},[493,3089,3090],{"class":499},"          number\n",[493,3092,3093,3096,3098,3101],{"class":495,"line":706},[493,3094,3095],{"class":702},"  presets",[493,3097,2867],{"class":502},[493,3099,3100],{"class":499},"           PresetPack",[493,3102,3080],{"class":1228},[493,3104,3105,3108,3110,3113],{"class":495,"line":740},[493,3106,3107],{"class":702},"  onboardingPresets",[493,3109,2867],{"class":502},[493,3111,3112],{"class":499}," PresetPack",[493,3114,3080],{"class":1228},[493,3116,3117,3120,3122,3125,3127,3129,3131,3133,3135,3137,3139,3142,3144,3146,3148,3151,3153,3155,3157,3159,3161,3163,3165,3167],{"class":495,"line":771},[493,3118,3119],{"class":702},"  validate",[493,3121,2867],{"class":502},[493,3123,3124],{"class":502},"          (",[493,3126,2573],{"class":1673},[493,3128,482],{"class":502},[493,3130,2591],{"class":499},[493,3132,2594],{"class":502},[493,3134,2518],{"class":499},[493,3136,559],{"class":502},[493,3138,2920],{"class":499},[493,3140,3141],{"class":502},">)",[493,3143,1681],{"class":1680},[493,3145,644],{"class":499},[493,3147,2939],{"class":502},[493,3149,3150],{"class":499}," false",[493,3152,2939],{"class":502},[493,3154,2601],{"class":499},[493,3156,2939],{"class":502},[493,3158,2591],{"class":499},[493,3160,2594],{"class":502},[493,3162,2518],{"class":499},[493,3164,559],{"class":502},[493,3166,2601],{"class":499},[493,3168,2901],{"class":502},[493,3170,3171,3174,3176],{"class":495,"line":779},[493,3172,3173],{"class":702},"  version",[493,3175,2867],{"class":502},[493,3177,3178],{"class":499},"           number\n",[493,3180,3181,3184,3186,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225],{"class":495,"line":797},[493,3182,3183],{"class":702},"  migrations",[493,3185,2867],{"class":502},[493,3187,3188],{"class":499},"        Record",[493,3190,2594],{"class":502},[493,3192,1871],{"class":499},[493,3194,559],{"class":502},[493,3196,1762],{"class":502},[493,3198,2573],{"class":1673},[493,3200,482],{"class":502},[493,3202,2591],{"class":499},[493,3204,2594],{"class":502},[493,3206,2518],{"class":499},[493,3208,559],{"class":502},[493,3210,2920],{"class":499},[493,3212,3141],{"class":502},[493,3214,1681],{"class":1680},[493,3216,2591],{"class":499},[493,3218,2594],{"class":502},[493,3220,2518],{"class":499},[493,3222,559],{"class":502},[493,3224,2920],{"class":499},[493,3226,3227],{"class":502},">>\n",[493,3229,3230],{"class":495,"line":803},[493,3231,1138],{"class":502},[3233,3234,3235],"style",{},"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .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 pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":489,"searchDepth":508,"depth":508,"links":3237},[3238,3239,3244,3245,3246,3248,3249,3250,3252],{"id":471,"depth":508,"text":472},{"id":1141,"depth":508,"text":1142,"children":3240},[3241,3243],{"id":1146,"depth":523,"text":3242},"inline (default)",{"id":931,"depth":523,"text":931},{"id":1209,"depth":508,"text":1210},{"id":1531,"depth":508,"text":1532},{"id":1628,"depth":508,"text":3247},"Using collection data in derived",{"id":1990,"depth":508,"text":1991},{"id":2504,"depth":508,"text":239},{"id":2757,"depth":508,"text":3251},"Exposing collection aggregates via produces",{"id":2831,"depth":508,"text":3253},"CollectionSchema full type","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.",null,{},{"title":366},{"title":366,"description":3254},"9a_ntTZQtjLzYb6PhBWA1uOfrHuqOex8wpQhTjG1VLE",[3261,3263],{"title":362,"path":363,"stem":364,"description":3262,"children":-1},"Complete reference for all FieldDef types — text, number, textarea, select, segmented, toggle, range, rating, color, date, tags, and linked-responses.",{"title":370,"path":371,"stem":372,"description":3264,"children":-1},"Derived values are pure functions computed reactively from field values, other derived values, upstream connections, and collection items.",1772977476258]