Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/landing/content/docs/ai-assistants.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Use upup with AI assistants
description: How coding agents (Claude Code, Cursor, and others) can discover and correctly integrate upup — including machine-readable context files and a paste-ready context block.
description: How coding agents (Claude Code, Cursor, and others) discover and correctly integrate upup — machine-readable context files and a paste-ready context block.
---

Coding agents choose a library by retrieving the docs page that answers the exact
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/api-reference/error-codes.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Error Codes
description: The complete UpupErrorCode enum, the seven UpupError classes that carry them, restriction reasons, and the response parser that turns server or S3 error bodies into typed errors.
description: The complete UpupErrorCode enum, the seven UpupError classes that carry them, restriction reasons, and the parser that turns error bodies into typed errors.
---

Most failures upup raises are an `UpupError` (or one of its six subclasses)
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/api-reference/events.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Events
title: File Upload Events
description: The complete upup event catalog — all 52 typed core events with their payloads, plus the React callback props and the core event each one is driven by.
---

Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/api-reference/server-http.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Server HTTP API
description: The complete HTTP contract of @useupup/server — every route, request and response shape, status code, and operational headerfor wiring a custom client or debugging a live handler.
description: The complete HTTP contract of @useupup/server — every route, request and response shape, status code and header, for custom clients and live debugging.
---

`createUpupHandler(config)` returns one `(req: Request) => Promise<Response>`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Event Handlers
description: The UpupUploader callback props — onFilesSelected, onUploadStart, progress, per-file and batch completion, onFileRemoved, and onError — mirroring core upload state.
description: The UpupUploader callback props — onFilesSelected, onUploadStart, progress, per-file and batch completion, onFileRemoved and onError — mirroring core state.
---

React events mirror core upload state.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Optional Props
description: The complete optional-prop reference for UpupUploader — behavior, file validation, the processing pipeline, upload reliability, sources, appearance, localization, plus the headless-only engine options.
description: The complete optional-prop reference for UpupUploader — behavior, file validation, the processing pipeline, upload reliability, sources, appearance and i18n.
---

Every prop on this page is optional. The three upload-target props (`uploadEndpoint`, `serverUrl`, `resumable.endpoint`) and `provider` are covered in [Required Props](/docs/api-reference/upupuploader/required-props/); the 34 `on*` callbacks are covered in [Events & Callbacks](/docs/api-reference/events/).
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/comparisons/upup-vs-uploadthing.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: upup vs UploadThing
description: An honest, factual comparison of upup and UploadThing — a self-hosted MIT library versus a managed hosted upload service — so you can choose the right model.
title: upup vs UploadThing — Self-Hosted Alternative
description: A factual upup vs UploadThing comparison — a free, MIT-licensed uploader you self-host against your own S3 bucket versus a managed, hosted upload service.
---

UploadThing (by Ping Labs) is a hosted file-upload **service** for full-stack
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/comparisons/upup-vs-uppy.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: upup vs Uppy
description: An honest, factual comparison of upup and Uppy — two MIT-licensed file uploaders with headless cores, cloud drives, and resumable uploads — to help you choose.
title: upup vs Uppy — Which Uploader to Choose
description: A factual upup vs Uppy comparison — two free, MIT-licensed file uploaders with headless cores, cloud drives and resumable uploads, and where they differ.
---

Uppy (by Transloadit) is the most established open-source JavaScript uploader,
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/accessibility.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Accessibility
description: What upup's uploader ships by default — keyboard interaction, ARIA roles and live regions, focus management on overlays, the animations prop and prefers-reduced-motion handling — and the parts that stay your responsibility.
description: What upup ships by default — keyboard interaction, ARIA roles and live regions, focus management on overlays, and prefers-reduced-motion handling.
---

upup's accessibility semantics are not an opt-in layer. Roles, labels, live
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/auth/next-auth.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Authenticate uploads with NextAuth (Auth.js v5)
description: Scope @useupup/server uploads to the NextAuth session — the auth() helper in the App Router, getToken outside a request context, and the missing session.user.id.
description: Scope @useupup/server uploads to the NextAuth session — the auth() helper in the App Router, getToken outside a request, and the missing session.user.id.
---

In the App Router, the `auth()` helper exported from your `auth.ts` reads the
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/file-processing.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: File Processing
description: upup's client-side pipeline — image compression, HEIC to JPEG conversion, EXIF stripping, thumbnails, SHA-256 checksums and deduplication, Web Worker offload, and custom steps.
description: upup client-side pipeline — image compression, HEIC to JPEG conversion, EXIF stripping, thumbnails, SHA-256 checksums, Web Worker offload and custom steps.
---

Before a byte leaves the browser, upup can run each file through a processing
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/headless.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Headless Usage
description: Build your own uploader UI on top of upup's engine — the useUpupUpload React hook, driving UpupCore directly in any runtime, and the webWorker, HEIC, and resumable pipeline opt-ins.
description: Build your own uploader UI on the upup engine — the useUpupUpload React hook, driving UpupCore directly, and the webWorker, HEIC and resumable opt-ins.
---

The upup UI is optional. Under it sits a framework-agnostic engine —
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/reliability.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Reliability
description: How upup survives flaky networks — the per-file retry policy and its backoff math, custom success predicates, upload concurrency, online/offline events, and the difference between crash recovery and multipart session resume.
description: How upup survives flaky networks — the per-file retry policy and its backoff math, custom success predicates, upload concurrency, and multipart resume.
---

Uploads fail for boring reasons: a tunnel, a dropped VPN, a 502 from a storage
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/server-auth.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Server Auth & Trust Model
description: How @useupup/server authenticates uploads — the mandatory HMAC upload-token secret, the secure-by-default 403 on anonymous uploads, per-user key scoping, and what forged requests get.
description: How @useupup/server authenticates uploads — the mandatory HMAC upload-token secret, the secure-by-default 403 on anonymous uploads, and per-user scoping.
---

`@useupup/server` is the trust boundary between the browser and your storage.
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/guides/server-mode-setup.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Server Mode — Setup
description: Set up mode="server" — mount createUpupHandler, configure storage, secrets, limits and hooks, then pick an adapter — Express, Fastify, Hono, or Next.js.
title: Server Mode Setup — Upload Through Your Server
description: Set up upup server mode — mount createUpupHandler, configure S3 storage, secrets, limits and hooks, then pick an Express, Fastify, Hono or Next.js adapter.
---

End-to-end setup for `mode="server"`. In server mode the browser talks only
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/sources.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Upload Sources
description: Every input the uploader ships — local files, drag-and-drop, paste, folder upload, camera, microphone, screen capture, URL import, and cloud drives — plus the sources prop that decides which chips appear.
description: Every input the uploader ships — local files, drag and drop, paste, folder upload, camera, microphone, screen capture, URL import, and cloud drives.
---

upup collects files from nine sources. One prop — `sources` — decides which of
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/storage-providers.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Storage Providers
description: Connect upup to any S3-compatible storage — AWS S3, Cloudflare R2, MinIO, Backblaze B2, DigitalOcean Spaces, Wasabi, and morewith the full provider list, the shared storage config shape, and a setup guide per provider.
description: Connect upup to any S3-compatible storage — AWS S3, Cloudflare R2, MinIO, Backblaze B2, DigitalOcean Spaces, Wasabi and more, with a guide per provider.
---

upup uploads to any **S3-compatible** object store. One uploader UI, one config
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/guides/storage/azure-blob.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Upload files to Azure Blob Storage
description: Azure Blob Storage has no S3 API, so @useupup/server rejects it. Upload to Azure from React, Vue, Svelte, or plain JS with upup via client mode and a SAS URL.
title: Upload Files to Azure Blob Storage with a SAS URL
description: Upload files to Azure Blob Storage from the browser with upup — a server-issued SAS URL, the mandatory x-ms-blob-type PUT header, no account key in the client.
---

Azure Blob Storage is the one provider in upup's list that server mode cannot
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/guides/storage/cloudflare-r2.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Upload files to Cloudflare R2
description: Upload files to Cloudflare R2 from React, Vue, Svelte, or plain JS with upup — account-scoped endpoint, region auto, API tokens, CORS, and a copy-paste config.
title: Upload Files to Cloudflare R2 from the Browser
description: Upload files to Cloudflare R2 with upup — the account-scoped endpoint, region auto, API tokens, CORS, and a copy-paste React, Vue or plain JS config.
---

Cloudflare R2 speaks the S3 API with zero egress fees, which makes it a common
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Upload files to DigitalOcean Spaces
description: Upload files to DigitalOcean Spaces from React, Vue, Svelte, or plain JS with upup — Spaces keys, the region endpoint, CORS, the CDN, and a copy-paste config.
title: Upload Files to DigitalOcean Spaces from the Browser
description: Upload files to DigitalOcean Spaces with upup — Spaces access keys, the regional S3 endpoint, CORS, the CDN, and a copy-paste React, Vue or plain JS config.
---

DigitalOcean Spaces is S3-compatible object storage where the datacenter region
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/guides/storage/minio.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Upload files to MinIO
description: Upload files to a self-hosted MinIO server from React, Vue, Svelte, or plain JS with upup — Docker setup, path-style addressing, CORS, and a copy-paste config.
title: Upload Files to MinIO from the Browser
description: Upload files to a self-hosted MinIO server with upup — Docker setup, path-style addressing, CORS, and a copy-paste React, Vue, Svelte or plain JS config.
---

MinIO is self-hosted S3-compatible storage, which makes it the fastest way to
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/guides/theming.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Theming
description: Style the upup uploader with the theme prop — light/dark/system modes, design tokens exposed as CSS variables, per-component slot class overrides, and the stable data-upup-slot DOM hooks for raw CSS.
description: Style the upup uploader with the theme prop — light, dark and system modes, design tokens as CSS variables, slot class overrides, and data-upup-slot hooks.
---

upup gives you three layers of control, from coarse to surgical:
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: upup Documentation
description: A file uploader with a native UI for React, Vue, Svelte, Angular, Vanilla JS, and Preact, built on a shared headless core with an optional server mode.
title: File Uploader Documentation
description: Docs for upup, the free and open-source file uploader with native UI for React, Vue, Svelte, Angular, Vanilla JS and Preact, plus an optional server mode.
---

upup is a file uploader with a native UI for **React, Vue, Svelte, Angular,
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/localization.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Localization (i18n)
description: upup ships nine ICU locale bundles from @useupup/core/i18n — set the locale on any framework's uploader, override individual namespaced message keys, and get automatic RTL and pluralization.
description: upup ships nine ICU locale bundles from @useupup/core/i18n — set the locale on any framework uploader, override message keys, and get RTL and plurals.
---

upup uses ICU locale bundles from `@useupup/core/i18n`. Messages are grouped
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/migration/v1-to-v3.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Migrating from v1 to v3
description: Upgrade from upup v1 (upup-react-file-uploader) to v3 — the package rename to @useupup/react, the full v1→v3 prop map, the UpupError/UpupErrorCode taxonomy, and client- vs server-mode uploads.
description: Upgrade from upup v1 (upup-react-file-uploader) to v3 — the rename to @useupup/react, the v1 to v3 prop map, the error taxonomy, and client vs server mode.
---

v1 shipped as a single React package, `upup-react-file-uploader`. v3 is a
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/angular.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Angular Quickstart
description: Add a full-featured file uploader to an Angular 19+ app with @useupup/angular — a standalone component port of the canonical React UI, with cloud drives, camera, and resumable uploads.
description: Add a file uploader to an Angular 19+ app with @useupup/angular — a standalone component, drag and drop, cloud drives, camera, and resumable uploads.
---

`@useupup/angular` is a native Angular 19+ port of the canonical upup React UI —
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/next.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Next.js Quickstart
description: Add a full-featured file uploader to a Next.js app with @useupup/next — the client UI and the server handlers in one install, split so the AWS SDK never reaches your client bundle.
description: Add a file uploader to a Next.js app with @useupup/next — client UI and server handlers in one install, split so the AWS SDK never reaches your bundle.
---

`@useupup/next` is the Next.js integration for upup: one install gives you the client
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/preact.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Preact Quickstart
description: Add a full-featured file uploader to a Preact app with @useupup/preact — a preact/compat re-export of @useupup/react, same UI and API, with cloud drives, camera, and resumable uploads.
description: Add a file uploader to a Preact app with @useupup/preact — a preact/compat re-export of @useupup/react, drag and drop, cloud drives, and resumable uploads.
---

`@useupup/preact` is a **`preact/compat` re-export of
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/react.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: React Quickstart
description: Add a full-featured file uploader to a React 19 app with @useupup/react — drag-and-drop, cloud drives, camera, and resumable uploads, with no upload server to run.
description: Add a file uploader to a React 19 app with @useupup/react — one npm install, drag and drop, cloud drives, camera, and resumable uploads, no server to run.
---

`@useupup/react` is the canonical upup UI: a drag-and-drop uploader with file
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/svelte.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Svelte Quickstart
description: Add a full-featured file uploader to a Svelte 5 app with @useupup/svelte — a native port of the canonical React UI, DOM-identical, with cloud drives, camera, and resumable uploads.
description: Add a file uploader to a Svelte 5 app with @useupup/svelte — one npm install, drag and drop, cloud drives, camera, and resumable uploads to any S3 storage.
---

`@useupup/svelte` is a native Svelte 5 port of the canonical upup React UI —
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/vanilla.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Vanilla JS Quickstart
description: Add a full-featured file uploader to any page with @useupup/vanilla — framework-free, DOM-identical to the canonical React UI, with cloud drives, camera, and resumable uploads.
description: Add a file uploader to any page with @useupup/vanilla — framework-free, drag and drop, cloud drives, camera, and resumable uploads to any S3 storage.
---

`@useupup/vanilla` is the framework-free upup uploader (built on lit-html) —
Expand Down
2 changes: 1 addition & 1 deletion apps/landing/content/docs/quickstarts/vue.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Vue Quickstart
description: Add a full-featured file uploader to a Vue 3 app with @useupup/vue — a native port of the canonical React UI, DOM-identical, with cloud drives, camera, and resumable uploads.
description: Add a file uploader to a Vue 3 app with @useupup/vue — one npm install, drag and drop, cloud drives, camera, and resumable uploads to any S3 storage.
---

`@useupup/vue` is a native Vue 3 port of the canonical upup React UI — DOM-identical
Expand Down
4 changes: 2 additions & 2 deletions apps/landing/content/docs/resumable-uploads.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Resumable Uploads
description: Two resumable protocols — S3 multipart through @useupup/server, or tus against an external tus-compatible service. Full option reference, part-size rules, and what each protocol actually resumes.
title: Resumable Uploads — S3 Multipart & tus
description: Resumable file uploads in upup — S3 multipart through @useupup/server or the tus protocol, with part-size rules and what each protocol actually resumes.
---

upup supports two resumable protocols. Both are opt-in through the single
Expand Down
Loading
Loading