HomePluginsToolsWorkflowAboutContact
GetSet

Premium UI/UX layout engines, customizable micro-interaction plugins, and high-performance components for modern web developers.

Plugins

  • Carousel
  • Select
  • Zoom
  • FlexoGrid
  • Sortable
  • Modal
  • Drawer
  • Tooltip
  • Popover
  • Toast
  • ContextMenu
  • Tabs
  • Accordion
  • Reveal
  • Autocomplete
  • Tags
  • Range
  • DatePicker
  • Upload
  • Cropper
  • Table
  • Tree
  • Editor

Company

  • Home
  • Plugins
  • Developer Tools
  • Showcase
  • Our Process
  • About Us
  • Contact

Policies

  • Terms and Conditions
  • Privacy Policy
  • Accessibility Policy
  • Cookie Policy

© 2026 GetSet. All rights reserved.

Crafted for frontend excellence.

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Media Plugin

GS Upload

File upload / dropzone with drag-drop, image previews, per-file progress, validation, auto/manual upload and list or grid layouts.

Latest: v1.0.2
Downloads last month: 178
Visit Demo Website

Install Package

npm i @get-set/gs-upload
or via CDN
<link rel="stylesheet" href="https://cdn.get-set.it/gs-upload/latest/gs-upload.min.css">
<script src="https://cdn.get-set.it/gs-upload/latest/gs-upload.min.js"></script>
Interactive Playground

Live Sandbox

Upload.jsx
1
2
3
4
5
6
7
8
9
import Upload from '@get-set/gs-upload';

export default function App() {
  return (
    <Upload>
      <div className="content">Your Upload content</div>
    </Upload>
  );
}
Live Preview

Options

Configuration Values

Reference?Reference option.
Accept?Accepted types — mime(s) and/or extension(s), comma-joined or array.
Max Size?Max size per file in bytes.
Max Files?Max number of files kept.
Min Files?Minimum number of files required before `upload()` succeeds.
Url?Endpoint URL for uploads.
Method?HTTP method. Default: 'POST'.
Field Name?Form field name each file is sent under.
Label?Big label shown inside the dropzone.
Hint?Secondary hint line under the label.
Button Text?Text of the browse link/button.
Layout?File list layout. Default: 'list'.
Size?Dropzone size preset.
Theme?Visual theme. `auto` follows prefers-color-scheme.
Accent Color?Accent color (CSS var --gsu-accent).
Class Name?Extra class name applied to the root.

Feature Flags

API Specifications

OptionTypeDefaultDescription
referencestringnoneReference.
multiplebooleantrueAllow selecting more than one file. Default: true.
acceptstring | string[]noneAccepted types — mime(s) and/or extension(s), comma-joined or array.
maxSizenumber | falsefalseMax size per file in bytes. `false`/0 disables. Default: false.
maxFilesnumber | falsefalseMax number of files kept. `false`/0 disables. Default: false.
minFilesnumber0Minimum number of files required before `upload()` succeeds. Default: 0.
dedupebooleantrueReject a file whose name+size already exists in the list. Default: true.
directorybooleanfalseAllow selecting whole directories (webkitdirectory). Default: false.
pastebooleantrueEnable paste-to-upload (Ctrl/Cmd+V of files/images). Default: true.
clickablebooleantrueEnable click-to-browse on the dropzone. Default: true.
dragDropbooleantrueEnable drag-and-drop onto the dropzone. Default: true.
autobooleantrueAuto-upload each file as soon as it is added (requires `url`). Default: true.
urlstringnoneEndpoint URL for uploads.
methodGSUploadMethod'POST'HTTP method. Default: 'POST'.
headersRecord<string, string>noneExtra request headers.
fieldNamestring'file'Form field name each file is sent under. Default: 'file'.
withCredentialsbooleanfalseSend cookies / auth with the request. Default: false.
dataRecord<string, string>noneExtra form fields sent alongside each file (multipart).
labelstringnoneBig label shown inside the dropzone.
hintstringnoneSecondary hint line under the label.
buttonTextstring'browse'Text of the browse link/button. Default: 'browse'.
previewbooleantrueShow image thumbnail previews for image files. Default: true.
progressBarbooleantrueShow a per-file progress bar. Default: true.
layoutGSUploadLayout'list'File list layout. Default: 'list'.
showListbooleantrueShow the file list at all. Default: true.
removablebooleantrueShow the per-file remove button. Default: true.
sizeGSUploadSize'md'Dropzone size preset. Default: 'md'.
disabledbooleanfalseDisable all interaction. Default: false.
reducedMotion'auto' | boolean'auto'Honor `prefers-reduced-motion`. 'auto' | true | false. Default: 'auto'.
themeGSUploadTheme'auto'Visual theme. `auto` follows prefers-color-scheme. Default: 'auto'.
accentColorstringnoneAccent color (CSS var --gsu-accent).
rtlbooleanfalseRight-to-left layout. Default: false.
classNamestringnoneExtra class name applied to the root.

Technical Features

Drag & Drop

Drop files anywhere on the zone.

Live Previews

Thumbnails for image uploads.

Per-File Progress

Individual upload progress bars.

Validation

Type, size and count constraints.