[{"data":1,"prerenderedAt":1969},["ShallowReactive",2],{"docs-navigation:en":3,"content-page:docs:mipHHBuInS7i7si6imkb9fvuMwdt-m8Si7cN2OVsV6Y":576,"content-page-surround:docs:mipHHBuInS7i7si6imkb9fvuMwdt-m8Si7cN2OVsV6Y":1954,"i-logos:vue":1959,"i-logos:typescript-icon":1964,"i-lucide:clipboard":1966},[4,52,119,179,425,482,533],{"title":5,"page":6,"canonicalKey":7,"locale":8,"children":9},"Overview",false,"docs\u002F1","en",[10,17,24,31,38,45],{"title":11,"id":12,"canonicalKey":13,"locale":8,"draft":6,"navigation":14,"icon":15,"path":16},"Better Convex Nuxt","content:docs:1.overview:1.introduction.md","docs\u002F1\u002F1",{"icon":15},"i-lucide-orbit","\u002Fdocs\u002Foverview\u002Fintroduction",{"title":18,"id":19,"canonicalKey":20,"locale":8,"draft":6,"navigation":21,"icon":22,"path":23},"Why Better Convex Nuxt","content:docs:1.overview:2.why-better-convex-nuxt.md","docs\u002F1\u002F2",{"icon":22},"i-lucide-badge-check","\u002Fdocs\u002Foverview\u002Fwhy-better-convex-nuxt",{"title":25,"id":26,"canonicalKey":27,"locale":8,"draft":6,"navigation":28,"icon":29,"path":30},"Who It Is For","content:docs:1.overview:3.who-it-is-for.md","docs\u002F1\u002F3",{"icon":29},"i-lucide-users","\u002Fdocs\u002Foverview\u002Fwho-it-is-for",{"title":32,"id":33,"canonicalKey":34,"locale":8,"draft":6,"navigation":35,"icon":36,"path":37},"Use Cases","content:docs:1.overview:4.use-cases.md","docs\u002F1\u002F4",{"icon":36},"i-lucide-layout-dashboard","\u002Fdocs\u002Foverview\u002Fuse-cases",{"title":39,"id":40,"canonicalKey":41,"locale":8,"draft":6,"navigation":42,"icon":43,"path":44},"Compare Nuxt Integrations","content:docs:1.overview:5.comparison.md","docs\u002F1\u002F5",{"icon":43},"i-lucide-scale","\u002Fdocs\u002Foverview\u002Fcomparison",{"title":46,"id":47,"canonicalKey":48,"locale":8,"draft":6,"navigation":49,"icon":50,"path":51},"Limitations and Trade-offs","content:docs:1.overview:6.limitations.md","docs\u002F1\u002F6",{"icon":50},"i-lucide-triangle-alert","\u002Fdocs\u002Foverview\u002Flimitations",{"title":53,"page":6,"canonicalKey":54,"locale":8,"children":55},"Understand","docs\u002F2",[56,63,70,77,84,91,98,105,112],{"title":57,"id":58,"canonicalKey":59,"locale":8,"draft":6,"navigation":60,"icon":61,"path":62},"Mental Model","content:docs:2.understand:1.mental-model.md","docs\u002F2\u002F1",{"icon":61},"i-lucide-brain","\u002Fdocs\u002Funderstand\u002Fmental-model",{"title":64,"id":65,"canonicalKey":66,"locale":8,"draft":6,"navigation":67,"icon":68,"path":69},"Request Lifecycle","content:docs:2.understand:2.request-lifecycle.md","docs\u002F2\u002F2",{"icon":68},"i-lucide-route","\u002Fdocs\u002Funderstand\u002Frequest-lifecycle",{"title":71,"id":72,"canonicalKey":73,"locale":8,"draft":6,"navigation":74,"icon":75,"path":76},"SSR, Hydration, and Real-Time","content:docs:2.understand:3.ssr-hydration-realtime.md","docs\u002F2\u002F3",{"icon":75},"i-lucide-refresh-cw","\u002Fdocs\u002Funderstand\u002Fssr-hydration-realtime",{"title":78,"id":79,"canonicalKey":80,"locale":8,"draft":6,"navigation":81,"icon":82,"path":83},"Query Ownership and Caching","content:docs:2.understand:4.query-ownership-and-caching.md","docs\u002F2\u002F4",{"icon":82},"i-lucide-database","\u002Fdocs\u002Funderstand\u002Fquery-ownership-and-caching",{"title":85,"id":86,"canonicalKey":87,"locale":8,"draft":6,"navigation":88,"icon":89,"path":90},"Authentication and Identity","content:docs:2.understand:5.authentication-and-identity.md","docs\u002F2\u002F5",{"icon":89},"i-lucide-fingerprint","\u002Fdocs\u002Funderstand\u002Fauthentication-and-identity",{"title":92,"id":93,"canonicalKey":94,"locale":8,"draft":6,"navigation":95,"icon":96,"path":97},"Server and Client Boundaries","content:docs:2.understand:6.server-and-client-boundaries.md","docs\u002F2\u002F6",{"icon":96},"i-lucide-panels-top-left","\u002Fdocs\u002Funderstand\u002Fserver-and-client-boundaries",{"title":99,"id":100,"canonicalKey":101,"locale":8,"draft":6,"navigation":102,"icon":103,"path":104},"Errors and Failures","content:docs:2.understand:7.errors-and-failures.md","docs\u002F2\u002F7",{"icon":103},"i-lucide-circle-x","\u002Fdocs\u002Funderstand\u002Ferrors-and-failures",{"title":106,"id":107,"canonicalKey":108,"locale":8,"draft":6,"navigation":109,"icon":110,"path":111},"Design Decisions","content:docs:2.understand:8.design-decisions.md","docs\u002F2\u002F8",{"icon":110},"i-lucide-git-branch","\u002Fdocs\u002Funderstand\u002Fdesign-decisions",{"title":113,"id":114,"canonicalKey":115,"locale":8,"draft":6,"navigation":116,"icon":117,"path":118},"Glossary","content:docs:2.understand:9.glossary.md","docs\u002F2\u002F9",{"icon":117},"i-lucide-book-a","\u002Fdocs\u002Funderstand\u002Fglossary",{"title":120,"page":6,"canonicalKey":121,"locale":8,"children":122},"Get Started","docs\u002F3",[123,130,137,144,151,158,165,172],{"title":124,"id":125,"canonicalKey":126,"locale":8,"draft":6,"navigation":127,"icon":128,"path":129},"Choose Your Path","content:docs:3.get-started:1.choose-your-path.md","docs\u002F3\u002F1",{"icon":128},"i-lucide-signpost","\u002Fdocs\u002Fget-started\u002Fchoose-your-path",{"title":131,"id":132,"canonicalKey":133,"locale":8,"draft":6,"navigation":134,"icon":135,"path":136},"Installation","content:docs:3.get-started:2.installation.md","docs\u002F3\u002F2",{"icon":135},"i-lucide-download","\u002Fdocs\u002Fget-started\u002Finstallation",{"title":138,"id":139,"canonicalKey":140,"locale":8,"draft":6,"navigation":141,"icon":142,"path":143},"First Real-Time Page","content:docs:3.get-started:3.first-realtime-page.md","docs\u002F3\u002F3",{"icon":142},"i-lucide-radio","\u002Fdocs\u002Fget-started\u002Ffirst-realtime-page",{"title":145,"id":146,"canonicalKey":147,"locale":8,"draft":6,"navigation":148,"icon":149,"path":150},"Add a Mutation","content:docs:3.get-started:4.add-a-mutation.md","docs\u002F3\u002F4",{"icon":149},"i-lucide-square-pen","\u002Fdocs\u002Fget-started\u002Fadd-a-mutation",{"title":152,"id":153,"canonicalKey":154,"locale":8,"draft":6,"navigation":155,"icon":156,"path":157},"Add Authentication","content:docs:3.get-started:5.add-authentication.md","docs\u002F3\u002F5",{"icon":156},"i-lucide-log-in","\u002Fdocs\u002Fget-started\u002Fadd-authentication",{"title":159,"id":160,"canonicalKey":161,"locale":8,"draft":6,"navigation":162,"icon":163,"path":164},"Protect Data","content:docs:3.get-started:6.protect-data.md","docs\u002F3\u002F6",{"icon":163},"i-lucide-shield-check","\u002Fdocs\u002Fget-started\u002Fprotect-data",{"title":166,"id":167,"canonicalKey":168,"locale":8,"draft":6,"navigation":169,"icon":170,"path":171},"Project Structure","content:docs:3.get-started:7.project-structure.md","docs\u002F3\u002F7",{"icon":170},"i-lucide-folder-tree","\u002Fdocs\u002Fget-started\u002Fproject-structure",{"title":173,"id":174,"canonicalKey":175,"locale":8,"draft":6,"navigation":176,"icon":177,"path":178},"Next Steps","content:docs:3.get-started:8.next-steps.md","docs\u002F3\u002F8",{"icon":177},"i-lucide-arrow-right","\u002Fdocs\u002Fget-started\u002Fnext-steps",{"title":180,"page":6,"canonicalKey":181,"locale":8,"children":182},"Build","docs\u002F4",[183,227,258,322,354,386],{"title":184,"page":6,"canonicalKey":185,"locale":8,"children":186},"Queries","docs\u002F4\u002F1",[187,192,199,206,213,220],{"title":184,"id":188,"canonicalKey":189,"locale":8,"draft":6,"navigation":190,"icon":82,"path":191},"content:docs:4.build:1.queries:1.queries.md","docs\u002F4\u002F1\u002F1",{"icon":82},"\u002Fdocs\u002Fbuild\u002Fqueries\u002Fqueries",{"title":193,"id":194,"canonicalKey":195,"locale":8,"draft":6,"navigation":196,"icon":197,"path":198},"Reactive Arguments","content:docs:4.build:1.queries:2.reactive-arguments.md","docs\u002F4\u002F1\u002F2",{"icon":197},"i-lucide-sliders-horizontal","\u002Fdocs\u002Fbuild\u002Fqueries\u002Freactive-arguments",{"title":200,"id":201,"canonicalKey":202,"locale":8,"draft":6,"navigation":203,"icon":204,"path":205},"Loading and Stale Data","content:docs:4.build:1.queries:3.loading-and-stale-data.md","docs\u002F4\u002F1\u002F3",{"icon":204},"i-lucide-loader-circle","\u002Fdocs\u002Fbuild\u002Fqueries\u002Floading-and-stale-data",{"title":207,"id":208,"canonicalKey":209,"locale":8,"draft":6,"navigation":210,"icon":211,"path":212},"Query Execution Options","content:docs:4.build:1.queries:4.ssr-options.md","docs\u002F4\u002F1\u002F4",{"icon":211},"i-lucide-server-cog","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fssr-options",{"title":214,"id":215,"canonicalKey":216,"locale":8,"draft":6,"navigation":217,"icon":218,"path":219},"Share Query State","content:docs:4.build:1.queries:5.sharing-query-state.md","docs\u002F4\u002F1\u002F5",{"icon":218},"i-lucide-share-2","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fsharing-query-state",{"title":221,"id":222,"canonicalKey":223,"locale":8,"draft":6,"navigation":224,"icon":225,"path":226},"Pagination","content:docs:4.build:1.queries:6.pagination.md","docs\u002F4\u002F1\u002F6",{"icon":225},"i-lucide-list-plus","\u002Fdocs\u002Fbuild\u002Fqueries\u002Fpagination",{"title":228,"page":6,"canonicalKey":229,"locale":8,"children":230},"Write Data","docs\u002F4\u002F2",[231,237,244,251],{"title":232,"id":233,"canonicalKey":234,"locale":8,"draft":6,"navigation":235,"icon":149,"path":236},"Mutations","content:docs:4.build:2.write-data:1.mutations.md","docs\u002F4\u002F2\u002F1",{"icon":149},"\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fmutations",{"title":238,"id":239,"canonicalKey":240,"locale":8,"draft":6,"navigation":241,"icon":242,"path":243},"Actions","content:docs:4.build:2.write-data:2.actions.md","docs\u002F4\u002F2\u002F2",{"icon":242},"i-lucide-zap","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Factions",{"title":245,"id":246,"canonicalKey":247,"locale":8,"draft":6,"navigation":248,"icon":249,"path":250},"Optimistic Updates","content:docs:4.build:2.write-data:3.optimistic-updates.md","docs\u002F4\u002F2\u002F3",{"icon":249},"i-lucide-gauge","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Foptimistic-updates",{"title":252,"id":253,"canonicalKey":254,"locale":8,"draft":6,"navigation":255,"icon":256,"path":257},"Concurrent Operations","content:docs:4.build:2.write-data:4.concurrent-operations.md","docs\u002F4\u002F2\u002F4",{"icon":256},"i-lucide-git-fork","\u002Fdocs\u002Fbuild\u002Fwrite-data\u002Fconcurrent-operations",{"title":259,"page":6,"canonicalKey":260,"locale":8,"children":261},"Authentication","docs\u002F4\u002F3",[262,268,275,282,288,294,301,308,315],{"title":259,"id":263,"canonicalKey":264,"locale":8,"draft":6,"navigation":265,"icon":266,"path":267},"content:docs:4.build:3.authentication:1.overview.md","docs\u002F4\u002F3\u002F1",{"icon":266},"i-lucide-shield","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Foverview",{"title":269,"id":270,"canonicalKey":271,"locale":8,"draft":6,"navigation":272,"icon":273,"path":274},"Better Auth Setup","content:docs:4.build:3.authentication:2.better-auth-setup.md","docs\u002F4\u002F3\u002F2",{"icon":273},"i-lucide-settings-2","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-setup",{"title":276,"id":277,"canonicalKey":278,"locale":8,"draft":6,"navigation":279,"icon":280,"path":281},"Auth State and User Data","content:docs:4.build:3.authentication:3.auth-state-and-user.md","docs\u002F4\u002F3\u002F3",{"icon":280},"i-lucide-user-round","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fauth-state-and-user",{"title":283,"id":284,"canonicalKey":285,"locale":8,"draft":6,"navigation":286,"icon":156,"path":287},"Sign In and Sign Out","content:docs:4.build:3.authentication:4.sign-in-and-sign-out.md","docs\u002F4\u002F3\u002F4",{"icon":156},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fsign-in-and-sign-out",{"title":289,"id":290,"canonicalKey":291,"locale":8,"draft":6,"navigation":292,"icon":68,"path":293},"Route Protection","content:docs:4.build:3.authentication:5.route-protection.md","docs\u002F4\u002F3\u002F5",{"icon":68},"\u002Fdocs\u002Fbuild\u002Fauthentication\u002Froute-protection",{"title":295,"id":296,"canonicalKey":297,"locale":8,"draft":6,"navigation":298,"icon":299,"path":300},"Backend Authorization","content:docs:4.build:3.authentication:6.backend-authorization.md","docs\u002F4\u002F3\u002F6",{"icon":299},"i-lucide-lock-keyhole","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbackend-authorization",{"title":302,"id":303,"canonicalKey":304,"locale":8,"draft":6,"navigation":305,"icon":306,"path":307},"Better Auth Plugins","content:docs:4.build:3.authentication:7.better-auth-plugins.md","docs\u002F4\u002F3\u002F7",{"icon":306},"i-lucide-plug","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fbetter-auth-plugins",{"title":309,"id":310,"canonicalKey":311,"locale":8,"draft":6,"navigation":312,"icon":313,"path":314},"Custom User Fields","content:docs:4.build:3.authentication:8.custom-user-fields.md","docs\u002F4\u002F3\u002F8",{"icon":313},"i-lucide-user-cog","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fcustom-user-fields",{"title":316,"id":317,"canonicalKey":318,"locale":8,"draft":6,"navigation":319,"icon":320,"path":321},"User Synchronization","content:docs:4.build:3.authentication:9.user-synchronization.md","docs\u002F4\u002F3\u002F9",{"icon":320},"i-lucide-refresh-ccw","\u002Fdocs\u002Fbuild\u002Fauthentication\u002Fuser-synchronization",{"title":323,"page":6,"canonicalKey":324,"locale":8,"children":325},"Server","docs\u002F4\u002F4",[326,333,340,347],{"title":327,"id":328,"canonicalKey":329,"locale":8,"draft":6,"navigation":330,"icon":331,"path":332},"serverConvex","content:docs:4.build:4.server:1.server-convex.md","docs\u002F4\u002F4\u002F1",{"icon":331},"i-lucide-server","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-convex",{"title":334,"id":335,"canonicalKey":336,"locale":8,"draft":6,"navigation":337,"icon":338,"path":339},"Server Routes","content:docs:4.build:4.server:2.server-routes.md","docs\u002F4\u002F4\u002F2",{"icon":338},"i-lucide-waypoints","\u002Fdocs\u002Fbuild\u002Fserver\u002Fserver-routes",{"title":341,"id":342,"canonicalKey":343,"locale":8,"draft":6,"navigation":344,"icon":345,"path":346},"Webhooks and Jobs","content:docs:4.build:4.server:3.webhooks-and-jobs.md","docs\u002F4\u002F4\u002F3",{"icon":345},"i-lucide-webhook","\u002Fdocs\u002Fbuild\u002Fserver\u002Fwebhooks-and-jobs",{"title":348,"id":349,"canonicalKey":350,"locale":8,"draft":6,"navigation":351,"icon":352,"path":353},"Credentials and Server Security","content:docs:4.build:4.server:4.credentials-and-security.md","docs\u002F4\u002F4\u002F4",{"icon":352},"i-lucide-key-round","\u002Fdocs\u002Fbuild\u002Fserver\u002Fcredentials-and-security",{"title":355,"page":6,"canonicalKey":356,"locale":8,"children":357},"Files","docs\u002F4\u002F5",[358,365,372,379],{"title":359,"id":360,"canonicalKey":361,"locale":8,"draft":6,"navigation":362,"icon":363,"path":364},"Upload Files","content:docs:4.build:5.files:1.upload-files.md","docs\u002F4\u002F5\u002F1",{"icon":363},"i-lucide-upload","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-files",{"title":366,"id":367,"canonicalKey":368,"locale":8,"draft":6,"navigation":369,"icon":370,"path":371},"Upload Queues","content:docs:4.build:5.files:2.upload-queues.md","docs\u002F4\u002F5\u002F2",{"icon":370},"i-lucide-list-checks","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fupload-queues",{"title":373,"id":374,"canonicalKey":375,"locale":8,"draft":6,"navigation":376,"icon":377,"path":378},"Storage URLs","content:docs:4.build:5.files:3.storage-urls.md","docs\u002F4\u002F5\u002F3",{"icon":377},"i-lucide-link","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fstorage-urls",{"title":380,"id":381,"canonicalKey":382,"locale":8,"draft":6,"navigation":383,"icon":384,"path":385},"File Validation and Deletion","content:docs:4.build:5.files:4.validation-and-deletion.md","docs\u002F4\u002F5\u002F4",{"icon":384},"i-lucide-file-x","\u002Fdocs\u002Fbuild\u002Ffiles\u002Fvalidation-and-deletion",{"title":387,"page":6,"canonicalKey":388,"locale":8,"children":389},"Application Behavior","docs\u002F4\u002F6",[390,397,404,411,418],{"title":391,"id":392,"canonicalKey":393,"locale":8,"draft":6,"navigation":394,"icon":395,"path":396},"Connection State","content:docs:4.build:6.application-behavior:1.connection-state.md","docs\u002F4\u002F6\u002F1",{"icon":395},"i-lucide-wifi","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fconnection-state",{"title":398,"id":399,"canonicalKey":400,"locale":8,"draft":6,"navigation":401,"icon":402,"path":403},"Error Handling","content:docs:4.build:6.application-behavior:2.error-handling.md","docs\u002F4\u002F6\u002F2",{"icon":402},"i-lucide-circle-alert","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Ferror-handling",{"title":405,"id":406,"canonicalKey":407,"locale":8,"draft":6,"navigation":408,"icon":409,"path":410},"Logging","content:docs:4.build:6.application-behavior:3.logging.md","docs\u002F4\u002F6\u002F3",{"icon":409},"i-lucide-scroll-text","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Flogging",{"title":412,"id":413,"canonicalKey":414,"locale":8,"draft":6,"navigation":415,"icon":416,"path":417},"DevTools","content:docs:4.build:6.application-behavior:4.devtools.md","docs\u002F4\u002F6\u002F4",{"icon":416},"i-lucide-wrench","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fdevtools",{"title":419,"id":420,"canonicalKey":421,"locale":8,"draft":6,"navigation":422,"icon":423,"path":424},"Performance","content:docs:4.build:6.application-behavior:5.performance.md","docs\u002F4\u002F6\u002F5",{"icon":423},"i-lucide-chart-no-axes-combined","\u002Fdocs\u002Fbuild\u002Fapplication-behavior\u002Fperformance",{"title":426,"page":6,"canonicalKey":427,"locale":8,"children":428},"Recipes","docs\u002F5",[429,435,442,449,456,463,470,476],{"title":430,"id":431,"canonicalKey":432,"locale":8,"draft":6,"navigation":433,"icon":36,"path":434},"Protected Dashboard","content:docs:5.recipes:1.protected-dashboard.md","docs\u002F5\u002F1",{"icon":36},"\u002Fdocs\u002Frecipes\u002Fprotected-dashboard",{"title":436,"id":437,"canonicalKey":438,"locale":8,"draft":6,"navigation":439,"icon":440,"path":441},"Real-Time Feed","content:docs:5.recipes:2.realtime-feed.md","docs\u002F5\u002F2",{"icon":440},"i-lucide-messages-square","\u002Fdocs\u002Frecipes\u002Frealtime-feed",{"title":443,"id":444,"canonicalKey":445,"locale":8,"draft":6,"navigation":446,"icon":447,"path":448},"Optimistic Todo List","content:docs:5.recipes:3.optimistic-todo-list.md","docs\u002F5\u002F3",{"icon":447},"i-lucide-list-todo","\u002Fdocs\u002Frecipes\u002Foptimistic-todo-list",{"title":450,"id":451,"canonicalKey":452,"locale":8,"draft":6,"navigation":453,"icon":454,"path":455},"Infinite Scroll","content:docs:5.recipes:4.infinite-scroll.md","docs\u002F5\u002F4",{"icon":454},"i-lucide-mouse","\u002Fdocs\u002Frecipes\u002Finfinite-scroll",{"title":457,"id":458,"canonicalKey":459,"locale":8,"draft":6,"navigation":460,"icon":461,"path":462},"File Upload Form","content:docs:5.recipes:5.file-upload-form.md","docs\u002F5\u002F5",{"icon":461},"i-lucide-file-up","\u002Fdocs\u002Frecipes\u002Ffile-upload-form",{"title":464,"id":465,"canonicalKey":466,"locale":8,"draft":6,"navigation":467,"icon":468,"path":469},"Organization Permissions","content:docs:5.recipes:6.organization-permissions.md","docs\u002F5\u002F6",{"icon":468},"i-lucide-building-2","\u002Fdocs\u002Frecipes\u002Forganization-permissions",{"title":471,"id":472,"canonicalKey":473,"locale":8,"draft":6,"navigation":474,"icon":331,"path":475},"Authenticated Server Route","content:docs:5.recipes:7.authenticated-server-route.md","docs\u002F5\u002F7",{"icon":331},"\u002Fdocs\u002Frecipes\u002Fauthenticated-server-route",{"title":477,"id":478,"canonicalKey":479,"locale":8,"draft":6,"navigation":480,"icon":96,"path":481},"Public and Private Data","content:docs:5.recipes:8.public-and-private-data.md","docs\u002F5\u002F8",{"icon":96},"\u002Fdocs\u002Frecipes\u002Fpublic-and-private-data",{"title":483,"page":6,"canonicalKey":484,"locale":8,"children":485},"Reference","docs\u002F6",[486,493,500,506,512,519,526],{"title":487,"id":488,"canonicalKey":489,"locale":8,"draft":6,"navigation":490,"icon":491,"path":492},"Composables","content:docs:6.reference:1.composables.md","docs\u002F6\u002F1",{"icon":491},"i-lucide-braces","\u002Fdocs\u002Freference\u002Fcomposables",{"title":494,"id":495,"canonicalKey":496,"locale":8,"draft":6,"navigation":497,"icon":498,"path":499},"Auth Components","content:docs:6.reference:2.auth-components.md","docs\u002F6\u002F2",{"icon":498},"i-lucide-component","\u002Fdocs\u002Freference\u002Fauth-components",{"title":501,"id":502,"canonicalKey":503,"locale":8,"draft":6,"navigation":504,"icon":331,"path":505},"Server API","content:docs:6.reference:3.server-api.md","docs\u002F6\u002F3",{"icon":331},"\u002Fdocs\u002Freference\u002Fserver-api",{"title":507,"id":508,"canonicalKey":509,"locale":8,"draft":6,"navigation":510,"icon":103,"path":511},"Error Types","content:docs:6.reference:4.error-types.md","docs\u002F6\u002F4",{"icon":103},"\u002Fdocs\u002Freference\u002Ferror-types",{"title":513,"id":514,"canonicalKey":515,"locale":8,"draft":6,"navigation":516,"icon":517,"path":518},"Module Configuration","content:docs:6.reference:5.module-configuration.md","docs\u002F6\u002F5",{"icon":517},"i-lucide-settings","\u002Fdocs\u002Freference\u002Fmodule-configuration",{"title":520,"id":521,"canonicalKey":522,"locale":8,"draft":6,"navigation":523,"icon":524,"path":525},"Package Exports","content:docs:6.reference:6.package-exports.md","docs\u002F6\u002F6",{"icon":524},"i-lucide-package-open","\u002Fdocs\u002Freference\u002Fpackage-exports",{"title":527,"id":528,"canonicalKey":529,"locale":8,"draft":6,"navigation":530,"icon":531,"path":532},"API Surface","content:docs:6.reference:7.api-surface.md","docs\u002F6\u002F7",{"icon":531},"i-lucide-list","\u002Fdocs\u002Freference\u002Fapi-surface",{"title":534,"page":6,"canonicalKey":535,"locale":8,"children":536},"Operations","docs\u002F7",[537,544,551,557,563,570],{"title":538,"id":539,"canonicalKey":540,"locale":8,"draft":6,"navigation":541,"icon":542,"path":543},"Environment Variables","content:docs:7.operations:1.environment-variables.md","docs\u002F7\u002F1",{"icon":542},"i-lucide-variable","\u002Fdocs\u002Foperations\u002Fenvironment-variables",{"title":545,"id":546,"canonicalKey":547,"locale":8,"draft":6,"navigation":548,"icon":549,"path":550},"Deployment","content:docs:7.operations:2.deployment.md","docs\u002F7\u002F2",{"icon":549},"i-lucide-rocket","\u002Fdocs\u002Foperations\u002Fdeployment",{"title":552,"id":553,"canonicalKey":554,"locale":8,"draft":6,"navigation":555,"icon":163,"path":556},"Security Model","content:docs:7.operations:3.security-model.md","docs\u002F7\u002F3",{"icon":163},"\u002Fdocs\u002Foperations\u002Fsecurity-model",{"title":558,"id":559,"canonicalKey":560,"locale":8,"draft":6,"navigation":561,"icon":416,"path":562},"Troubleshooting","content:docs:7.operations:4.troubleshooting.md","docs\u002F7\u002F4",{"icon":416},"\u002Fdocs\u002Foperations\u002Ftroubleshooting",{"title":564,"id":565,"canonicalKey":566,"locale":8,"draft":6,"navigation":567,"icon":568,"path":569},"Migration Guide","content:docs:7.operations:5.migration-guide.md","docs\u002F7\u002F5",{"icon":568},"i-lucide-git-compare-arrows","\u002Fdocs\u002Foperations\u002Fmigration-guide",{"title":571,"id":572,"canonicalKey":573,"locale":8,"draft":6,"navigation":574,"icon":22,"path":575},"Release Compatibility","content:docs:7.operations:6.release-compatibility.md","docs\u002F7\u002F6",{"icon":22},"\u002Fdocs\u002Foperations\u002Frelease-compatibility",{"title":359,"description":577,"navigation":578,"body":579,"type":1942,"id":360,"draft":6,"partial":6,"locale":8,"canonicalKey":361,"collection":1943,"navigationFile":6,"file":1944,"route":1949,"resolution":1951},"Upload one file to Convex storage with progress, cancellation, and reactive state.",{"icon":363},{"type":580,"children":581,"toc":1932},"root",[582,590,597,912,918,1754,1760,1810,1815,1821,1838,1844,1849,1927],{"type":583,"tag":584,"props":585,"children":586},"element","p",{},[587],{"type":588,"value":589},"text","File upload has two network steps: request an upload URL through a mutation, then upload the bytes directly to Convex storage.",{"type":583,"tag":591,"props":592,"children":594},"h2",{"id":593},"backend",[595],{"type":588,"value":596},"Backend",{"type":583,"tag":598,"props":599,"children":604},"pre",{"language":600,"filename":601,"class":602,"tabindex":603},"ts","convex\u002Ffiles.ts","shiki shiki-themes light-plus dark-plus dark:dark-plus","0",[605],{"type":583,"tag":606,"props":607,"children":609},"code",{"class":608},"language-ts",[610,650,652,655,656,691,692,705,706,749,750,801,802,854,855,894,895,903,904],{"type":583,"tag":611,"props":612,"children":615},"span",{"class":613,"style":614},"line","display: inline",[616,622,628,634,639,644],{"type":583,"tag":611,"props":617,"children":619},{"style":618},"color:#AF00DB;--shiki-dark:#C586C0",[620],{"type":588,"value":621},"import",{"type":583,"tag":611,"props":623,"children":625},{"style":624},"color:#000000;--shiki-dark:#D4D4D4",[626],{"type":588,"value":627}," { ",{"type":583,"tag":611,"props":629,"children":631},{"style":630},"color:#001080;--shiki-dark:#9CDCFE",[632],{"type":588,"value":633},"mutation",{"type":583,"tag":611,"props":635,"children":636},{"style":624},[637],{"type":588,"value":638}," } ",{"type":583,"tag":611,"props":640,"children":641},{"style":618},[642],{"type":588,"value":643},"from",{"type":583,"tag":611,"props":645,"children":647},{"style":646},"color:#A31515;--shiki-dark:#CE9178",[648],{"type":588,"value":649}," '.\u002F_generated\u002Fserver'",{"type":588,"value":651},"\n",{"type":583,"tag":611,"props":653,"children":654},{"class":613,"style":614},[],{"type":588,"value":651},{"type":583,"tag":611,"props":657,"children":658},{"class":613,"style":614},[659,664,670,676,681,686],{"type":583,"tag":611,"props":660,"children":661},{"style":618},[662],{"type":588,"value":663},"export",{"type":583,"tag":611,"props":665,"children":667},{"style":666},"color:#0000FF;--shiki-dark:#569CD6",[668],{"type":588,"value":669}," const",{"type":583,"tag":611,"props":671,"children":673},{"style":672},"color:#0070C1;--shiki-dark:#4FC1FF",[674],{"type":588,"value":675}," generateUploadUrl",{"type":583,"tag":611,"props":677,"children":678},{"style":624},[679],{"type":588,"value":680}," = ",{"type":583,"tag":611,"props":682,"children":684},{"style":683},"color:#795E26;--shiki-dark:#DCDCAA",[685],{"type":588,"value":633},{"type":583,"tag":611,"props":687,"children":688},{"style":624},[689],{"type":588,"value":690},"({",{"type":588,"value":651},{"type":583,"tag":611,"props":693,"children":694},{"class":613,"style":614},[695,700],{"type":583,"tag":611,"props":696,"children":697},{"style":630},[698],{"type":588,"value":699},"  args:",{"type":583,"tag":611,"props":701,"children":702},{"style":624},[703],{"type":588,"value":704}," {},",{"type":588,"value":651},{"type":583,"tag":611,"props":707,"children":708},{"class":613,"style":614},[709,714,719,724,729,734,739,744],{"type":583,"tag":611,"props":710,"children":711},{"style":683},[712],{"type":588,"value":713},"  handler",{"type":583,"tag":611,"props":715,"children":716},{"style":630},[717],{"type":588,"value":718},":",{"type":583,"tag":611,"props":720,"children":721},{"style":666},[722],{"type":588,"value":723}," async",{"type":583,"tag":611,"props":725,"children":726},{"style":624},[727],{"type":588,"value":728}," (",{"type":583,"tag":611,"props":730,"children":731},{"style":630},[732],{"type":588,"value":733},"ctx",{"type":583,"tag":611,"props":735,"children":736},{"style":624},[737],{"type":588,"value":738},") ",{"type":583,"tag":611,"props":740,"children":741},{"style":666},[742],{"type":588,"value":743},"=>",{"type":583,"tag":611,"props":745,"children":746},{"style":624},[747],{"type":588,"value":748}," {",{"type":588,"value":651},{"type":583,"tag":611,"props":751,"children":752},{"class":613,"style":614},[753,758,763,767,772,777,782,787,791,796],{"type":583,"tag":611,"props":754,"children":755},{"style":666},[756],{"type":588,"value":757},"    const",{"type":583,"tag":611,"props":759,"children":760},{"style":672},[761],{"type":588,"value":762}," identity",{"type":583,"tag":611,"props":764,"children":765},{"style":624},[766],{"type":588,"value":680},{"type":583,"tag":611,"props":768,"children":769},{"style":618},[770],{"type":588,"value":771},"await",{"type":583,"tag":611,"props":773,"children":774},{"style":630},[775],{"type":588,"value":776}," ctx",{"type":583,"tag":611,"props":778,"children":779},{"style":624},[780],{"type":588,"value":781},".",{"type":583,"tag":611,"props":783,"children":784},{"style":630},[785],{"type":588,"value":786},"auth",{"type":583,"tag":611,"props":788,"children":789},{"style":624},[790],{"type":588,"value":781},{"type":583,"tag":611,"props":792,"children":793},{"style":683},[794],{"type":588,"value":795},"getUserIdentity",{"type":583,"tag":611,"props":797,"children":798},{"style":624},[799],{"type":588,"value":800},"()",{"type":588,"value":651},{"type":583,"tag":611,"props":803,"children":804},{"class":613,"style":614},[805,810,815,820,824,829,834,839,844,849],{"type":583,"tag":611,"props":806,"children":807},{"style":618},[808],{"type":588,"value":809},"    if",{"type":583,"tag":611,"props":811,"children":812},{"style":624},[813],{"type":588,"value":814}," (!",{"type":583,"tag":611,"props":816,"children":817},{"style":630},[818],{"type":588,"value":819},"identity",{"type":583,"tag":611,"props":821,"children":822},{"style":624},[823],{"type":588,"value":738},{"type":583,"tag":611,"props":825,"children":826},{"style":618},[827],{"type":588,"value":828},"throw",{"type":583,"tag":611,"props":830,"children":831},{"style":666},[832],{"type":588,"value":833}," new",{"type":583,"tag":611,"props":835,"children":836},{"style":683},[837],{"type":588,"value":838}," Error",{"type":583,"tag":611,"props":840,"children":841},{"style":624},[842],{"type":588,"value":843},"(",{"type":583,"tag":611,"props":845,"children":846},{"style":646},[847],{"type":588,"value":848},"'Unauthenticated'",{"type":583,"tag":611,"props":850,"children":851},{"style":624},[852],{"type":588,"value":853},")",{"type":588,"value":651},{"type":583,"tag":611,"props":856,"children":857},{"class":613,"style":614},[858,863,868,872,876,881,885,890],{"type":583,"tag":611,"props":859,"children":860},{"style":618},[861],{"type":588,"value":862},"    return",{"type":583,"tag":611,"props":864,"children":865},{"style":618},[866],{"type":588,"value":867}," await",{"type":583,"tag":611,"props":869,"children":870},{"style":630},[871],{"type":588,"value":776},{"type":583,"tag":611,"props":873,"children":874},{"style":624},[875],{"type":588,"value":781},{"type":583,"tag":611,"props":877,"children":878},{"style":630},[879],{"type":588,"value":880},"storage",{"type":583,"tag":611,"props":882,"children":883},{"style":624},[884],{"type":588,"value":781},{"type":583,"tag":611,"props":886,"children":887},{"style":683},[888],{"type":588,"value":889},"generateUploadUrl",{"type":583,"tag":611,"props":891,"children":892},{"style":624},[893],{"type":588,"value":800},{"type":588,"value":651},{"type":583,"tag":611,"props":896,"children":897},{"class":613,"style":614},[898],{"type":583,"tag":611,"props":899,"children":900},{"style":624},[901],{"type":588,"value":902},"  },",{"type":588,"value":651},{"type":583,"tag":611,"props":905,"children":906},{"class":613,"style":614},[907],{"type":583,"tag":611,"props":908,"children":909},{"style":624},[910],{"type":588,"value":911},"})",{"type":583,"tag":591,"props":913,"children":915},{"id":914},"component",[916],{"type":588,"value":917},"Component",{"type":583,"tag":598,"props":919,"children":921},{"language":920,"class":602,"tabindex":603},"vue",[922],{"type":583,"tag":606,"props":923,"children":925},{"class":924},"language-vue",[926,968,969,998,999,1002,1003,1015,1016,1029,1030,1042,1043,1055,1056,1068,1069,1081,1082,1104,1105,1117,1118,1161,1162,1198,1199,1232,1233,1240,1241,1244,1245,1287,1288,1328,1329,1372,1373,1415,1416,1424,1425,1441,1442,1445,1446,1462,1463,1522,1523,1586,1587,1646,1647,1692,1693,1738,1739],{"type":583,"tag":611,"props":927,"children":928},{"class":613,"style":614},[929,935,941,947,952,957,963],{"type":583,"tag":611,"props":930,"children":932},{"style":931},"color:#800000;--shiki-dark:#808080",[933],{"type":588,"value":934},"\u003C",{"type":583,"tag":611,"props":936,"children":938},{"style":937},"color:#800000;--shiki-dark:#569CD6",[939],{"type":588,"value":940},"script",{"type":583,"tag":611,"props":942,"children":944},{"style":943},"color:#E50000;--shiki-dark:#9CDCFE",[945],{"type":588,"value":946}," setup",{"type":583,"tag":611,"props":948,"children":949},{"style":943},[950],{"type":588,"value":951}," lang",{"type":583,"tag":611,"props":953,"children":954},{"style":624},[955],{"type":588,"value":956},"=",{"type":583,"tag":611,"props":958,"children":960},{"style":959},"color:#0000FF;--shiki-dark:#CE9178",[961],{"type":588,"value":962},"\"ts\"",{"type":583,"tag":611,"props":964,"children":965},{"style":931},[966],{"type":588,"value":967},">",{"type":588,"value":651},{"type":583,"tag":611,"props":970,"children":971},{"class":613,"style":614},[972,976,980,985,989,993],{"type":583,"tag":611,"props":973,"children":974},{"style":618},[975],{"type":588,"value":621},{"type":583,"tag":611,"props":977,"children":978},{"style":624},[979],{"type":588,"value":627},{"type":583,"tag":611,"props":981,"children":982},{"style":630},[983],{"type":588,"value":984},"api",{"type":583,"tag":611,"props":986,"children":987},{"style":624},[988],{"type":588,"value":638},{"type":583,"tag":611,"props":990,"children":991},{"style":618},[992],{"type":588,"value":643},{"type":583,"tag":611,"props":994,"children":995},{"style":646},[996],{"type":588,"value":997}," '#convex\u002Fapi'",{"type":588,"value":651},{"type":583,"tag":611,"props":1000,"children":1001},{"class":613,"style":614},[],{"type":588,"value":651},{"type":583,"tag":611,"props":1004,"children":1005},{"class":613,"style":614},[1006,1011],{"type":583,"tag":611,"props":1007,"children":1008},{"style":666},[1009],{"type":588,"value":1010},"const",{"type":583,"tag":611,"props":1012,"children":1013},{"style":624},[1014],{"type":588,"value":748},{"type":588,"value":651},{"type":583,"tag":611,"props":1017,"children":1018},{"class":613,"style":614},[1019,1024],{"type":583,"tag":611,"props":1020,"children":1021},{"style":672},[1022],{"type":588,"value":1023},"  upload",{"type":583,"tag":611,"props":1025,"children":1026},{"style":624},[1027],{"type":588,"value":1028},",",{"type":588,"value":651},{"type":583,"tag":611,"props":1031,"children":1032},{"class":613,"style":614},[1033,1038],{"type":583,"tag":611,"props":1034,"children":1035},{"style":672},[1036],{"type":588,"value":1037},"  status",{"type":583,"tag":611,"props":1039,"children":1040},{"style":624},[1041],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1044,"children":1045},{"class":613,"style":614},[1046,1051],{"type":583,"tag":611,"props":1047,"children":1048},{"style":672},[1049],{"type":588,"value":1050},"  pending",{"type":583,"tag":611,"props":1052,"children":1053},{"style":624},[1054],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1057,"children":1058},{"class":613,"style":614},[1059,1064],{"type":583,"tag":611,"props":1060,"children":1061},{"style":672},[1062],{"type":588,"value":1063},"  progress",{"type":583,"tag":611,"props":1065,"children":1066},{"style":624},[1067],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1070,"children":1071},{"class":613,"style":614},[1072,1077],{"type":583,"tag":611,"props":1073,"children":1074},{"style":672},[1075],{"type":588,"value":1076},"  error",{"type":583,"tag":611,"props":1078,"children":1079},{"style":624},[1080],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1083,"children":1084},{"class":613,"style":614},[1085,1090,1095,1100],{"type":583,"tag":611,"props":1086,"children":1087},{"style":630},[1088],{"type":588,"value":1089},"  data",{"type":583,"tag":611,"props":1091,"children":1092},{"style":624},[1093],{"type":588,"value":1094},": ",{"type":583,"tag":611,"props":1096,"children":1097},{"style":672},[1098],{"type":588,"value":1099},"storageId",{"type":583,"tag":611,"props":1101,"children":1102},{"style":624},[1103],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1106,"children":1107},{"class":613,"style":614},[1108,1113],{"type":583,"tag":611,"props":1109,"children":1110},{"style":672},[1111],{"type":588,"value":1112},"  cancel",{"type":583,"tag":611,"props":1114,"children":1115},{"style":624},[1116],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1119,"children":1120},{"class":613,"style":614},[1121,1126,1131,1135,1139,1143,1148,1152,1156],{"type":583,"tag":611,"props":1122,"children":1123},{"style":624},[1124],{"type":588,"value":1125},"} = ",{"type":583,"tag":611,"props":1127,"children":1128},{"style":683},[1129],{"type":588,"value":1130},"useConvexFileUpload",{"type":583,"tag":611,"props":1132,"children":1133},{"style":624},[1134],{"type":588,"value":843},{"type":583,"tag":611,"props":1136,"children":1137},{"style":630},[1138],{"type":588,"value":984},{"type":583,"tag":611,"props":1140,"children":1141},{"style":624},[1142],{"type":588,"value":781},{"type":583,"tag":611,"props":1144,"children":1145},{"style":630},[1146],{"type":588,"value":1147},"files",{"type":583,"tag":611,"props":1149,"children":1150},{"style":624},[1151],{"type":588,"value":781},{"type":583,"tag":611,"props":1153,"children":1154},{"style":630},[1155],{"type":588,"value":889},{"type":583,"tag":611,"props":1157,"children":1158},{"style":624},[1159],{"type":588,"value":1160},", {",{"type":588,"value":651},{"type":583,"tag":611,"props":1163,"children":1164},{"class":613,"style":614},[1165,1170,1176,1181,1186,1190,1194],{"type":583,"tag":611,"props":1166,"children":1167},{"style":630},[1168],{"type":588,"value":1169},"  maxSize:",{"type":583,"tag":611,"props":1171,"children":1173},{"style":1172},"color:#098658;--shiki-dark:#B5CEA8",[1174],{"type":588,"value":1175}," 5",{"type":583,"tag":611,"props":1177,"children":1178},{"style":624},[1179],{"type":588,"value":1180}," * ",{"type":583,"tag":611,"props":1182,"children":1183},{"style":1172},[1184],{"type":588,"value":1185},"1024",{"type":583,"tag":611,"props":1187,"children":1188},{"style":624},[1189],{"type":588,"value":1180},{"type":583,"tag":611,"props":1191,"children":1192},{"style":1172},[1193],{"type":588,"value":1185},{"type":583,"tag":611,"props":1195,"children":1196},{"style":624},[1197],{"type":588,"value":1028},{"type":588,"value":651},{"type":583,"tag":611,"props":1200,"children":1201},{"class":613,"style":614},[1202,1207,1212,1217,1222,1227],{"type":583,"tag":611,"props":1203,"children":1204},{"style":630},[1205],{"type":588,"value":1206},"  allowedTypes:",{"type":583,"tag":611,"props":1208,"children":1209},{"style":624},[1210],{"type":588,"value":1211}," [",{"type":583,"tag":611,"props":1213,"children":1214},{"style":646},[1215],{"type":588,"value":1216},"'image\u002F*'",{"type":583,"tag":611,"props":1218,"children":1219},{"style":624},[1220],{"type":588,"value":1221},", ",{"type":583,"tag":611,"props":1223,"children":1224},{"style":646},[1225],{"type":588,"value":1226},"'application\u002Fpdf'",{"type":583,"tag":611,"props":1228,"children":1229},{"style":624},[1230],{"type":588,"value":1231},"],",{"type":588,"value":651},{"type":583,"tag":611,"props":1234,"children":1235},{"class":613,"style":614},[1236],{"type":583,"tag":611,"props":1237,"children":1238},{"style":624},[1239],{"type":588,"value":911},{"type":588,"value":651},{"type":583,"tag":611,"props":1242,"children":1243},{"class":613,"style":614},[],{"type":588,"value":651},{"type":583,"tag":611,"props":1246,"children":1247},{"class":613,"style":614},[1248,1253,1258,1263,1267,1272,1276,1282],{"type":583,"tag":611,"props":1249,"children":1250},{"style":666},[1251],{"type":588,"value":1252},"async",{"type":583,"tag":611,"props":1254,"children":1255},{"style":666},[1256],{"type":588,"value":1257}," function",{"type":583,"tag":611,"props":1259,"children":1260},{"style":683},[1261],{"type":588,"value":1262}," chooseFile",{"type":583,"tag":611,"props":1264,"children":1265},{"style":624},[1266],{"type":588,"value":843},{"type":583,"tag":611,"props":1268,"children":1269},{"style":630},[1270],{"type":588,"value":1271},"event",{"type":583,"tag":611,"props":1273,"children":1274},{"style":624},[1275],{"type":588,"value":1094},{"type":583,"tag":611,"props":1277,"children":1279},{"style":1278},"color:#267F99;--shiki-dark:#4EC9B0",[1280],{"type":588,"value":1281},"Event",{"type":583,"tag":611,"props":1283,"children":1284},{"style":624},[1285],{"type":588,"value":1286},") {",{"type":588,"value":651},{"type":583,"tag":611,"props":1289,"children":1290},{"class":613,"style":614},[1291,1296,1301,1305,1309,1313,1318,1323],{"type":583,"tag":611,"props":1292,"children":1293},{"style":666},[1294],{"type":588,"value":1295},"  const",{"type":583,"tag":611,"props":1297,"children":1298},{"style":672},[1299],{"type":588,"value":1300}," input",{"type":583,"tag":611,"props":1302,"children":1303},{"style":624},[1304],{"type":588,"value":680},{"type":583,"tag":611,"props":1306,"children":1307},{"style":630},[1308],{"type":588,"value":1271},{"type":583,"tag":611,"props":1310,"children":1311},{"style":624},[1312],{"type":588,"value":781},{"type":583,"tag":611,"props":1314,"children":1315},{"style":630},[1316],{"type":588,"value":1317},"target",{"type":583,"tag":611,"props":1319,"children":1320},{"style":618},[1321],{"type":588,"value":1322}," as",{"type":583,"tag":611,"props":1324,"children":1325},{"style":1278},[1326],{"type":588,"value":1327}," HTMLInputElement",{"type":588,"value":651},{"type":583,"tag":611,"props":1330,"children":1331},{"class":613,"style":614},[1332,1336,1341,1345,1350,1354,1358,1363,1367],{"type":583,"tag":611,"props":1333,"children":1334},{"style":666},[1335],{"type":588,"value":1295},{"type":583,"tag":611,"props":1337,"children":1338},{"style":672},[1339],{"type":588,"value":1340}," file",{"type":583,"tag":611,"props":1342,"children":1343},{"style":624},[1344],{"type":588,"value":680},{"type":583,"tag":611,"props":1346,"children":1347},{"style":630},[1348],{"type":588,"value":1349},"input",{"type":583,"tag":611,"props":1351,"children":1352},{"style":624},[1353],{"type":588,"value":781},{"type":583,"tag":611,"props":1355,"children":1356},{"style":630},[1357],{"type":588,"value":1147},{"type":583,"tag":611,"props":1359,"children":1360},{"style":624},[1361],{"type":588,"value":1362},"?.[",{"type":583,"tag":611,"props":1364,"children":1365},{"style":1172},[1366],{"type":588,"value":603},{"type":583,"tag":611,"props":1368,"children":1369},{"style":624},[1370],{"type":588,"value":1371},"]",{"type":588,"value":651},{"type":583,"tag":611,"props":1374,"children":1375},{"class":613,"style":614},[1376,1381,1385,1390,1394,1398,1403,1407,1411],{"type":583,"tag":611,"props":1377,"children":1378},{"style":618},[1379],{"type":588,"value":1380},"  if",{"type":583,"tag":611,"props":1382,"children":1383},{"style":624},[1384],{"type":588,"value":728},{"type":583,"tag":611,"props":1386,"children":1387},{"style":630},[1388],{"type":588,"value":1389},"file",{"type":583,"tag":611,"props":1391,"children":1392},{"style":624},[1393],{"type":588,"value":738},{"type":583,"tag":611,"props":1395,"children":1396},{"style":618},[1397],{"type":588,"value":771},{"type":583,"tag":611,"props":1399,"children":1400},{"style":683},[1401],{"type":588,"value":1402}," upload",{"type":583,"tag":611,"props":1404,"children":1405},{"style":624},[1406],{"type":588,"value":843},{"type":583,"tag":611,"props":1408,"children":1409},{"style":630},[1410],{"type":588,"value":1389},{"type":583,"tag":611,"props":1412,"children":1413},{"style":624},[1414],{"type":588,"value":853},{"type":588,"value":651},{"type":583,"tag":611,"props":1417,"children":1418},{"class":613,"style":614},[1419],{"type":583,"tag":611,"props":1420,"children":1421},{"style":624},[1422],{"type":588,"value":1423},"}",{"type":588,"value":651},{"type":583,"tag":611,"props":1426,"children":1427},{"class":613,"style":614},[1428,1433,1437],{"type":583,"tag":611,"props":1429,"children":1430},{"style":931},[1431],{"type":588,"value":1432},"\u003C\u002F",{"type":583,"tag":611,"props":1434,"children":1435},{"style":937},[1436],{"type":588,"value":940},{"type":583,"tag":611,"props":1438,"children":1439},{"style":931},[1440],{"type":588,"value":967},{"type":588,"value":651},{"type":583,"tag":611,"props":1443,"children":1444},{"class":613,"style":614},[],{"type":588,"value":651},{"type":583,"tag":611,"props":1447,"children":1448},{"class":613,"style":614},[1449,1453,1458],{"type":583,"tag":611,"props":1450,"children":1451},{"style":931},[1452],{"type":588,"value":934},{"type":583,"tag":611,"props":1454,"children":1455},{"style":937},[1456],{"type":588,"value":1457},"template",{"type":583,"tag":611,"props":1459,"children":1460},{"style":931},[1461],{"type":588,"value":967},{"type":588,"value":651},{"type":583,"tag":611,"props":1464,"children":1465},{"class":613,"style":614},[1466,1471,1475,1480,1484,1489,1494,1498,1503,1508,1512,1517],{"type":583,"tag":611,"props":1467,"children":1468},{"style":931},[1469],{"type":588,"value":1470},"  \u003C",{"type":583,"tag":611,"props":1472,"children":1473},{"style":937},[1474],{"type":588,"value":1349},{"type":583,"tag":611,"props":1476,"children":1477},{"style":943},[1478],{"type":588,"value":1479}," type",{"type":583,"tag":611,"props":1481,"children":1482},{"style":624},[1483],{"type":588,"value":956},{"type":583,"tag":611,"props":1485,"children":1486},{"style":959},[1487],{"type":588,"value":1488},"\"file\"",{"type":583,"tag":611,"props":1490,"children":1491},{"style":943},[1492],{"type":588,"value":1493}," :disabled",{"type":583,"tag":611,"props":1495,"children":1496},{"style":624},[1497],{"type":588,"value":956},{"type":583,"tag":611,"props":1499,"children":1500},{"style":959},[1501],{"type":588,"value":1502},"\"pending\"",{"type":583,"tag":611,"props":1504,"children":1505},{"style":943},[1506],{"type":588,"value":1507}," @change",{"type":583,"tag":611,"props":1509,"children":1510},{"style":624},[1511],{"type":588,"value":956},{"type":583,"tag":611,"props":1513,"children":1514},{"style":959},[1515],{"type":588,"value":1516},"\"chooseFile\"",{"type":583,"tag":611,"props":1518,"children":1519},{"style":931},[1520],{"type":588,"value":1521}," \u002F>",{"type":588,"value":651},{"type":583,"tag":611,"props":1524,"children":1525},{"class":613,"style":614},[1526,1530,1535,1540,1544,1548,1553,1557,1562,1567,1571,1576,1582],{"type":583,"tag":611,"props":1527,"children":1528},{"style":931},[1529],{"type":588,"value":1470},{"type":583,"tag":611,"props":1531,"children":1532},{"style":937},[1533],{"type":588,"value":1534},"progress",{"type":583,"tag":611,"props":1536,"children":1537},{"style":943},[1538],{"type":588,"value":1539}," v-if",{"type":583,"tag":611,"props":1541,"children":1542},{"style":624},[1543],{"type":588,"value":956},{"type":583,"tag":611,"props":1545,"children":1546},{"style":959},[1547],{"type":588,"value":1502},{"type":583,"tag":611,"props":1549,"children":1550},{"style":943},[1551],{"type":588,"value":1552}," :value",{"type":583,"tag":611,"props":1554,"children":1555},{"style":624},[1556],{"type":588,"value":956},{"type":583,"tag":611,"props":1558,"children":1559},{"style":959},[1560],{"type":588,"value":1561},"\"progress\"",{"type":583,"tag":611,"props":1563,"children":1564},{"style":943},[1565],{"type":588,"value":1566}," max",{"type":583,"tag":611,"props":1568,"children":1569},{"style":624},[1570],{"type":588,"value":956},{"type":583,"tag":611,"props":1572,"children":1573},{"style":959},[1574],{"type":588,"value":1575},"\"100\"",{"type":583,"tag":611,"props":1577,"children":1579},{"style":1578},"color:#CD3131;--shiki-dark:#F44747",[1580],{"type":588,"value":1581}," \u002F",{"type":583,"tag":611,"props":1583,"children":1584},{"style":931},[1585],{"type":588,"value":967},{"type":588,"value":651},{"type":583,"tag":611,"props":1588,"children":1589},{"class":613,"style":614},[1590,1594,1599,1603,1607,1611,1616,1620,1625,1629,1634,1638,1642],{"type":583,"tag":611,"props":1591,"children":1592},{"style":931},[1593],{"type":588,"value":1470},{"type":583,"tag":611,"props":1595,"children":1596},{"style":937},[1597],{"type":588,"value":1598},"button",{"type":583,"tag":611,"props":1600,"children":1601},{"style":943},[1602],{"type":588,"value":1539},{"type":583,"tag":611,"props":1604,"children":1605},{"style":624},[1606],{"type":588,"value":956},{"type":583,"tag":611,"props":1608,"children":1609},{"style":959},[1610],{"type":588,"value":1502},{"type":583,"tag":611,"props":1612,"children":1613},{"style":943},[1614],{"type":588,"value":1615}," @click",{"type":583,"tag":611,"props":1617,"children":1618},{"style":624},[1619],{"type":588,"value":956},{"type":583,"tag":611,"props":1621,"children":1622},{"style":959},[1623],{"type":588,"value":1624},"\"cancel\"",{"type":583,"tag":611,"props":1626,"children":1627},{"style":931},[1628],{"type":588,"value":967},{"type":583,"tag":611,"props":1630,"children":1631},{"style":624},[1632],{"type":588,"value":1633},"Cancel",{"type":583,"tag":611,"props":1635,"children":1636},{"style":931},[1637],{"type":588,"value":1432},{"type":583,"tag":611,"props":1639,"children":1640},{"style":937},[1641],{"type":588,"value":1598},{"type":583,"tag":611,"props":1643,"children":1644},{"style":931},[1645],{"type":588,"value":967},{"type":588,"value":651},{"type":583,"tag":611,"props":1648,"children":1649},{"class":613,"style":614},[1650,1654,1658,1662,1666,1671,1675,1680,1684,1688],{"type":583,"tag":611,"props":1651,"children":1652},{"style":931},[1653],{"type":588,"value":1470},{"type":583,"tag":611,"props":1655,"children":1656},{"style":937},[1657],{"type":588,"value":584},{"type":583,"tag":611,"props":1659,"children":1660},{"style":943},[1661],{"type":588,"value":1539},{"type":583,"tag":611,"props":1663,"children":1664},{"style":624},[1665],{"type":588,"value":956},{"type":583,"tag":611,"props":1667,"children":1668},{"style":959},[1669],{"type":588,"value":1670},"\"error\"",{"type":583,"tag":611,"props":1672,"children":1673},{"style":931},[1674],{"type":588,"value":967},{"type":583,"tag":611,"props":1676,"children":1677},{"style":624},[1678],{"type":588,"value":1679},"{{ error.message }}",{"type":583,"tag":611,"props":1681,"children":1682},{"style":931},[1683],{"type":588,"value":1432},{"type":583,"tag":611,"props":1685,"children":1686},{"style":937},[1687],{"type":588,"value":584},{"type":583,"tag":611,"props":1689,"children":1690},{"style":931},[1691],{"type":588,"value":967},{"type":588,"value":651},{"type":583,"tag":611,"props":1694,"children":1695},{"class":613,"style":614},[1696,1700,1704,1708,1712,1717,1721,1726,1730,1734],{"type":583,"tag":611,"props":1697,"children":1698},{"style":931},[1699],{"type":588,"value":1470},{"type":583,"tag":611,"props":1701,"children":1702},{"style":937},[1703],{"type":588,"value":584},{"type":583,"tag":611,"props":1705,"children":1706},{"style":943},[1707],{"type":588,"value":1539},{"type":583,"tag":611,"props":1709,"children":1710},{"style":624},[1711],{"type":588,"value":956},{"type":583,"tag":611,"props":1713,"children":1714},{"style":959},[1715],{"type":588,"value":1716},"\"storageId\"",{"type":583,"tag":611,"props":1718,"children":1719},{"style":931},[1720],{"type":588,"value":967},{"type":583,"tag":611,"props":1722,"children":1723},{"style":624},[1724],{"type":588,"value":1725},"Uploaded as {{ storageId }}",{"type":583,"tag":611,"props":1727,"children":1728},{"style":931},[1729],{"type":588,"value":1432},{"type":583,"tag":611,"props":1731,"children":1732},{"style":937},[1733],{"type":588,"value":584},{"type":583,"tag":611,"props":1735,"children":1736},{"style":931},[1737],{"type":588,"value":967},{"type":588,"value":651},{"type":583,"tag":611,"props":1740,"children":1741},{"class":613,"style":614},[1742,1746,1750],{"type":583,"tag":611,"props":1743,"children":1744},{"style":931},[1745],{"type":588,"value":1432},{"type":583,"tag":611,"props":1747,"children":1748},{"style":937},[1749],{"type":588,"value":1457},{"type":583,"tag":611,"props":1751,"children":1752},{"style":931},[1753],{"type":588,"value":967},{"type":583,"tag":591,"props":1755,"children":1757},{"id":1756},"state",[1758],{"type":588,"value":1759},"State",{"type":583,"tag":584,"props":1761,"children":1762},{},[1763,1768,1770,1775,1776,1781,1782,1787,1789,1794,1796,1801,1803,1808],{"type":583,"tag":606,"props":1764,"children":1765},{},[1766],{"type":588,"value":1767},"status",{"type":588,"value":1769}," is ",{"type":583,"tag":606,"props":1771,"children":1772},{},[1773],{"type":588,"value":1774},"idle",{"type":588,"value":1221},{"type":583,"tag":606,"props":1777,"children":1778},{},[1779],{"type":588,"value":1780},"pending",{"type":588,"value":1221},{"type":583,"tag":606,"props":1783,"children":1784},{},[1785],{"type":588,"value":1786},"success",{"type":588,"value":1788},", or ",{"type":583,"tag":606,"props":1790,"children":1791},{},[1792],{"type":588,"value":1793},"error",{"type":588,"value":1795},". ",{"type":583,"tag":606,"props":1797,"children":1798},{},[1799],{"type":588,"value":1800},"data",{"type":588,"value":1802}," contains the last storage ID. ",{"type":583,"tag":606,"props":1804,"children":1805},{},[1806],{"type":588,"value":1807},"cancel()",{"type":588,"value":1809}," aborts an active XHR and resets local state.",{"type":583,"tag":584,"props":1811,"children":1812},{},[1813],{"type":588,"value":1814},"One composable instance accepts one active upload. A second call while pending rejects instead of interleaving shared progress state.",{"type":583,"tag":591,"props":1816,"children":1818},{"id":1817},"validation-boundary",[1819],{"type":588,"value":1820},"Validation boundary",{"type":583,"tag":584,"props":1822,"children":1823},{},[1824,1829,1831,1836],{"type":583,"tag":606,"props":1825,"children":1826},{},[1827],{"type":588,"value":1828},"maxSize",{"type":588,"value":1830}," and ",{"type":583,"tag":606,"props":1832,"children":1833},{},[1834],{"type":588,"value":1835},"allowedTypes",{"type":588,"value":1837}," provide immediate browser feedback. File name and MIME type are client-controlled. Validate product policy again before publishing or processing the file.",{"type":583,"tag":591,"props":1839,"children":1841},{"id":1840},"save-metadata",[1842],{"type":588,"value":1843},"Save metadata",{"type":583,"tag":584,"props":1845,"children":1846},{},[1847],{"type":588,"value":1848},"The upload only creates a storage object. Store its ID in a product document through a mutation:",{"type":583,"tag":598,"props":1850,"children":1851},{"language":600,"class":602,"tabindex":603},[1852],{"type":583,"tag":606,"props":1853,"children":1854},{"class":608},[1855,1891,1892],{"type":583,"tag":611,"props":1856,"children":1857},{"class":613,"style":614},[1858,1862,1867,1871,1875,1879,1883,1887],{"type":583,"tag":611,"props":1859,"children":1860},{"style":666},[1861],{"type":588,"value":1010},{"type":583,"tag":611,"props":1863,"children":1864},{"style":672},[1865],{"type":588,"value":1866}," storageId",{"type":583,"tag":611,"props":1868,"children":1869},{"style":624},[1870],{"type":588,"value":680},{"type":583,"tag":611,"props":1872,"children":1873},{"style":618},[1874],{"type":588,"value":771},{"type":583,"tag":611,"props":1876,"children":1877},{"style":683},[1878],{"type":588,"value":1402},{"type":583,"tag":611,"props":1880,"children":1881},{"style":624},[1882],{"type":588,"value":843},{"type":583,"tag":611,"props":1884,"children":1885},{"style":630},[1886],{"type":588,"value":1389},{"type":583,"tag":611,"props":1888,"children":1889},{"style":624},[1890],{"type":588,"value":853},{"type":588,"value":651},{"type":583,"tag":611,"props":1893,"children":1894},{"class":613,"style":614},[1895,1899,1904,1909,1914,1918,1922],{"type":583,"tag":611,"props":1896,"children":1897},{"style":618},[1898],{"type":588,"value":771},{"type":583,"tag":611,"props":1900,"children":1901},{"style":683},[1902],{"type":588,"value":1903}," createDocument",{"type":583,"tag":611,"props":1905,"children":1906},{"style":624},[1907],{"type":588,"value":1908},"({ ",{"type":583,"tag":611,"props":1910,"children":1911},{"style":630},[1912],{"type":588,"value":1913},"title",{"type":583,"tag":611,"props":1915,"children":1916},{"style":624},[1917],{"type":588,"value":1221},{"type":583,"tag":611,"props":1919,"children":1920},{"style":630},[1921],{"type":588,"value":1099},{"type":583,"tag":611,"props":1923,"children":1924},{"style":624},[1925],{"type":588,"value":1926}," })",{"type":583,"tag":584,"props":1928,"children":1929},{},[1930],{"type":588,"value":1931},"Plan cleanup if upload succeeds and metadata creation fails.",{"title":1933,"searchDepth":1934,"depth":1934,"links":1935},"",4,[1936,1938,1939,1940,1941],{"id":593,"depth":1937,"text":596},2,{"id":914,"depth":1937,"text":917},{"id":1756,"depth":1937,"text":1759},{"id":1817,"depth":1937,"text":1820},{"id":1840,"depth":1937,"text":1843},"markdown","docs",{"source":1945,"path":1946,"stem":1947,"dir":1147,"extension":1948},"content","docs\u002F4.build\u002F5.files\u002F1.upload-files.md","docs\u002F4.build\u002F5.files\u002F1.upload-files","md",{"requestedPath":364,"resolvedPath":364,"alternates":1950},[],{"requested":1952,"resolved":1953,"usedFallback":6},{"locale":8},{"locale":8},{"previous":1955,"next":1957},{"title":348,"id":349,"canonicalKey":350,"locale":8,"draft":6,"navigation":1956,"icon":352,"path":353},{"icon":352},{"title":366,"id":367,"canonicalKey":368,"locale":8,"draft":6,"navigation":1958,"icon":370,"path":371},{"icon":370},{"left":1960,"top":1960,"width":1961,"height":1962,"rotate":1960,"vFlip":6,"hFlip":6,"body":1963},0,256,221,"\u003Cpath fill=\"#41b883\" d=\"M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0z\"\u002F>\u003Cpath fill=\"#41b883\" d=\"m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0z\"\u002F>\u003Cpath fill=\"#35495e\" d=\"M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0z\"\u002F>",{"left":1960,"top":1960,"width":1961,"height":1961,"rotate":1960,"vFlip":6,"hFlip":6,"body":1965},"\u003Cpath fill=\"#3178c6\" d=\"M20 0h216c11.046 0 20 8.954 20 20v216c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20V20C0 8.954 8.954 0 20 0\"\u002F>\u003Cpath fill=\"#fff\" d=\"M150.518 200.475v27.62q6.738 3.453 15.938 5.179T185.849 235q9.934 0 18.874-1.899t15.678-6.257q6.738-4.359 10.669-11.394q3.93-7.033 3.93-17.391q0-7.51-2.246-13.163a30.8 30.8 0 0 0-6.479-10.055q-4.232-4.402-10.149-7.898t-13.347-6.602q-5.442-2.245-9.761-4.359t-7.342-4.316q-3.024-2.2-4.665-4.661t-1.641-5.567q0-2.848 1.468-5.135q1.469-2.288 4.147-3.927t6.565-2.547q3.887-.906 8.638-.906q3.456 0 7.299.518q3.844.517 7.732 1.597a54 54 0 0 1 7.558 2.719a41.7 41.7 0 0 1 6.781 3.797v-25.807q-6.306-2.417-13.778-3.582T198.633 107q-9.847 0-18.658 2.115q-8.811 2.114-15.506 6.602q-6.694 4.49-10.582 11.437Q150 134.102 150 143.769q0 12.342 7.127 21.06t21.638 14.759a292 292 0 0 1 10.625 4.575q4.924 2.244 8.509 4.66t5.658 5.265t2.073 6.474a9.9 9.9 0 0 1-1.296 4.963q-1.295 2.287-3.93 3.97t-6.565 2.632t-9.2.95q-8.983 0-17.794-3.151t-16.327-9.451m-46.036-68.733H140V109H41v22.742h35.345V233h28.137z\"\u002F>",{"left":1960,"top":1960,"width":1967,"height":1967,"rotate":1960,"vFlip":6,"hFlip":6,"body":1968},24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1784196950465]