Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
0485aa9
feat: plugin system start
nd0ut Feb 9, 2026
726a644
refactor: remove helpers arg from custom source onSelect
nd0ut Feb 9, 2026
dc7b77b
feat: extend plugin api with activities, custom config and file actions
nd0ut Feb 13, 2026
f69ee80
test: add plugins tests
nd0ut Feb 16, 2026
99fc076
fix: custom activities types
nd0ut Feb 16, 2026
41a746c
fix: shared instances destroy bug
nd0ut Feb 16, 2026
51db215
fix: custom config bugs
nd0ut Feb 16, 2026
e4a7eef
fix(api): setCurrentActivity params types
nd0ut Feb 16, 2026
6ae72cd
fix(api): run `setCurrentActivity` and `initFlow` async to be able to…
nd0ut Feb 16, 2026
86edfa5
fix(plugin): set attribute to true by default
nd0ut Feb 16, 2026
a171ce9
fix(plugins): catch errors in plugins
nd0ut Feb 16, 2026
8d567f3
fix(types): plugin l18n types
nd0ut Feb 16, 2026
6b8502f
fix: set current activity before show modal
nd0ut Feb 16, 2026
2d8551c
test: fix types
nd0ut Feb 16, 2026
c248571
tests: fix types
nd0ut Feb 16, 2026
c03bb59
fix: set activity before modal open
nd0ut Feb 16, 2026
66fac86
fix: test types
nd0ut Feb 16, 2026
427be9c
chore: fix types
nd0ut Feb 17, 2026
3f310e4
refactor: shared instance types
nd0ut Feb 17, 2026
e54045b
refactor: set activity before modal open
nd0ut Feb 17, 2026
5f78249
feat(plugins): extract cloud image editor as a plugin
nd0ut Feb 17, 2026
630b44b
fix(computed): pass getters instead of values to the handlers
nd0ut Feb 24, 2026
cd5e746
types: fix modal types
nd0ut Feb 24, 2026
2b5e028
types: fix activity types
nd0ut Feb 24, 2026
1491cc3
feat: add unsplash plugin example
nd0ut Feb 24, 2026
b52e6f7
feat: extract image shrink as plugin
nd0ut Feb 24, 2026
8a0e914
chore: use prev index bundle to export lazy
nd0ut Feb 25, 2026
c0b7a49
chore: remove `draw` source leftbacks
nd0ut Feb 25, 2026
b1089dd
feat: extract camera, url, external source activities as a plugins
nd0ut Feb 26, 2026
2e7fed7
chore: remove version property + refactor hooks api
nd0ut Feb 26, 2026
1d3f69f
chore: reorganize demo bundles and refactor plugin imports
nd0ut Mar 5, 2026
d50018b
chore: update .gitignore to use glob patterns for dist and web
nd0ut Mar 5, 2026
80ee060
chore: disable code splitting, leave bundles as is
nd0ut Mar 6, 2026
5eb7b37
chore: apply format
nd0ut Mar 6, 2026
116bc07
refactor: plugin system
nd0ut Mar 9, 2026
7a25a6f
chore: public ui kit + some api updates
nd0ut Mar 10, 2026
41b109e
refactor: move `onaAdd` hooks logic to the plugin manager and upload …
nd0ut Mar 10, 2026
c19e7c3
refactor: tests / api changes
nd0ut Mar 10, 2026
08648ba
chore: bump deps
nd0ut Mar 10, 2026
b611f61
chore: install jiti for eslint
nd0ut Mar 10, 2026
d6ac35a
chore: fix types test
nd0ut Mar 10, 2026
af1d44a
test: update snapshots
nd0ut Mar 10, 2026
9f4705e
test: fix types test
nd0ut Mar 10, 2026
83fbec3
test: fix tests
nd0ut Mar 10, 2026
d90bb8c
feat: extract local source to the plugins
nd0ut Mar 10, 2026
a1da04f
fix: file item action label
nd0ut Mar 10, 2026
44c1940
fix: bugs found via tests
nd0ut Mar 10, 2026
aa5cf87
refactor: move editor related logic to the plugin
nd0ut Mar 11, 2026
34ed542
Potential fix for code scanning alert no. 230: Server-side request fo…
nd0ut Mar 11, 2026
00572df
Potential fix for code scanning alert no. 233: Log injection
nd0ut Mar 11, 2026
0b737af
Potential fix for code scanning alert no. 232: Server-side request fo…
nd0ut Mar 11, 2026
f43c12b
test: fix most flaky test
nd0ut Mar 11, 2026
6bb9385
test: fix e2e tests styling after vite 8 update
nd0ut Mar 11, 2026
2bd868d
chore: abort uploads after test
nd0ut Mar 11, 2026
e672a47
test: try to fix another flaky test
nd0ut Mar 11, 2026
446f726
fix: skip telemetry on upload error after unmount
nd0ut Mar 11, 2026
02f208c
chore: fix plugins demo security scan
nd0ut Mar 11, 2026
191615c
chore: fix flaky cloud imaged editor size wait
nd0ut Mar 12, 2026
21b7bf4
chore: fix tests
nd0ut Mar 12, 2026
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
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ node_modules
.DS_Store
TMP
**/*.d.ts
!tests/render-jsx-children.d.ts
!types/**
**/*.d.ts.map
!global.d.ts
web
web/**
tests/__coverage__
tsconfig.types.tsbuildinfo
dist
dist/**
11 changes: 8 additions & 3 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.3.13/schema.json",
"$schema": "https://biomejs.dev/schemas/2.4.6/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
Expand Down Expand Up @@ -32,7 +32,9 @@
"options": {
"accessibility": "explicit"
}
}
},
"useImportType": "error",
"useExportType": "error"
},
"correctness": {
"noUnusedVariables": "error",
Expand Down Expand Up @@ -67,11 +69,14 @@
}
},
{
"includes": ["**/*.test.*", "**/*.spec.*", "**/*.e2e.test.*"],
"includes": ["**/*.test.*", "**/*.spec.*", "**/*.e2e.test.*", "tests/**/*"],
"linter": {
"rules": {
"style": {
"noNonNullAssertion": "off"
},
"suspicious": {
"noExplicitAny": "off"
}
}
}
Expand Down
26 changes: 26 additions & 0 deletions demo/bundles/dist/inline.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader Inline - Dist Demo</title>
<link rel="stylesheet" href="../../../dist/index.css">
<style>
@media (prefers-color-scheme: dark) {
body {
background-color: #121213;
}
}
</style>
<script type="module">
import * as UC from '../../../dist/index.js';

UC.defineComponents(UC);
</script>
</head>
<body>
<uc-file-uploader-inline ctx-name="my-uploader"></uc-file-uploader-inline>
<uc-config ctx-name="my-uploader" pubkey="demopublickey" debug quality-insights="false" test-mode></uc-config>
<uc-upload-ctx-provider ctx-name="my-uploader"></uc-upload-ctx-provider>
</body>
</html>
33 changes: 33 additions & 0 deletions demo/bundles/dist/minimal.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader Minimal - Dist Demo</title>
<link rel="stylesheet" href="../../../dist/index.css">
<style>
@media (prefers-color-scheme: dark) {
body {
background-color: #121213;
}
}
</style>
<script type="module">
import * as UC from '../../../dist/index.js';

UC.defineComponents(UC);
</script>
</head>
<body>
<uc-file-uploader-minimal ctx-name="my-uploader"></uc-file-uploader-minimal>
<uc-config
ctx-name="my-uploader"
pubkey="demopublickey"
img-only
group-output
debug
quality-insights="false"
test-mode
></uc-config>
</body>
</html>
26 changes: 26 additions & 0 deletions demo/bundles/dist/regular.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader Regular - Dist Demo</title>
<link rel="stylesheet" href="../../../dist/index.css">
<style>
@media (prefers-color-scheme: dark) {
body {
background-color: #121213;
}
}
</style>
<script type="module">
import * as UC from '../../../dist/index.js';

UC.defineComponents(UC);
</script>
</head>
<body>
<uc-file-uploader-regular ctx-name="my-uploader"></uc-file-uploader-regular>
<uc-config ctx-name="my-uploader" pubkey="demopublickey" debug quality-insights="false" test-mode></uc-config>
<uc-upload-ctx-provider ctx-name="my-uploader"></uc-upload-ctx-provider>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Cloud Image Editor - Bundle Demo</title>
<link rel="stylesheet" href="../../web/uc-cloud-image-editor.min.css">
<link rel="stylesheet" href="../../../web/uc-cloud-image-editor.min.css">
<style>
.uc-cloud-image-editor {
width: 100vw;
Expand Down
2 changes: 1 addition & 1 deletion demo/bundles/iife.html → demo/bundles/web/iife.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader - IIFE Bundle Demo</title>
<link rel="stylesheet" href="../../web/uc-basic.min.css">
<link rel="stylesheet" href="../../../web/uc-basic.min.css">
<style>
@media (prefers-color-scheme: dark) {
body {
Expand Down
2 changes: 1 addition & 1 deletion demo/bundles/img.html → demo/bundles/web/img.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
}
</style>
<script type="module">
import '../../web/uc-img.min.js';
import '../../../web/uc-img.min.js';
</script>
</head>
<body>
Expand Down
2 changes: 1 addition & 1 deletion demo/bundles/inline.html → demo/bundles/web/inline.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader Inline - Bundle Demo</title>
<link rel="stylesheet" href="../../web/uc-file-uploader-inline.min.css">
<link rel="stylesheet" href="../../../web/uc-file-uploader-inline.min.css">
<style>
@media (prefers-color-scheme: dark) {
body {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader Minimal - Bundle Demo</title>
<link rel="stylesheet" href="../../web/uc-file-uploader-minimal.min.css">
<link rel="stylesheet" href="../../../web/uc-file-uploader-minimal.min.css">
<style>
@media (prefers-color-scheme: dark) {
body {
Expand Down
4 changes: 2 additions & 2 deletions demo/bundles/regular.html → demo/bundles/web/regular.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>File Uploader Regular - Bundle Demo</title>
<link rel="stylesheet" href="../../web/uc-file-uploader-regular.min.css">
<link rel="stylesheet" href="../../../web/uc-file-uploader-regular.min.css">
<style>
@media (prefers-color-scheme: dark) {
body {
Expand All @@ -13,7 +13,7 @@
}
</style>
<script type="module">
import * as UC from '../../web/uc-file-uploader-regular.min.js';
import * as UC from '../../../web/uc-file-uploader-regular.min.js';

UC.defineComponents(UC);
</script>
Expand Down
50 changes: 50 additions & 0 deletions demo/features/cloud-image-editor-plugin-cdn.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<!doctype html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
margin: 24px;
line-height: 1.5;
}
h1 {
font-size: 22px;
margin: 0 0 12px;
}
p {
margin: 0 0 12px;
color: #374151;
}
@media (prefers-color-scheme: dark) {
body {
background: #0f1115;
color: #f9fafb;
}
p {
color: #9ca3af;
}
}
</style>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1.27.0-alpha.1/dist/core.css">
<script type="module">
import * as UC from 'https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1.27.0-alpha.1/dist/core.js';

UC.defineComponents(UC);
</script>
</head>
<body>
<h1>Cloud Image Editor Plugin (CDN demo)</h1>
<p>Load the built-in cloud editor as a plugin and use the edit action on uploaded images.</p>

<uc-file-uploader-regular ctx-name="cloud-editor-demo"></uc-file-uploader-regular>
<uc-config
ctx-name="cloud-editor-demo"
pubkey="demopublickey"
debug
quality-insights="false"
test-mode
source-list="local, url, camera, dropbox, gdrive"
use-cloud-image-editor="false"
></uc-config>
<uc-upload-ctx-provider ctx-name="cloud-editor-demo"></uc-upload-ctx-provider>
</body>
50 changes: 50 additions & 0 deletions demo/features/cloud-image-editor-plugin.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<!doctype html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
margin: 24px;
line-height: 1.5;
}
h1 {
font-size: 22px;
margin: 0 0 12px;
}
p {
margin: 0 0 12px;
color: #374151;
}
@media (prefers-color-scheme: dark) {
body {
background: #0f1115;
color: #f9fafb;
}
p {
color: #9ca3af;
}
}
</style>
<script type="module">
import '@/solutions/file-uploader/regular/index.css';
import * as UC from '@/core';

UC.defineComponents(UC);
</script>
</head>
<body>
<h1>Cloud Image Editor Plugin</h1>
<p>Load the built-in cloud editor as a plugin and use the edit action on uploaded images.</p>

<uc-file-uploader-regular ctx-name="cloud-editor-demo"></uc-file-uploader-regular>
<uc-config
ctx-name="cloud-editor-demo"
pubkey="demopublickey"
debug
quality-insights="false"
test-mode
source-list="local, url, camera, dropbox, gdrive"
use-cloud-image-editor="true"
></uc-config>
<uc-upload-ctx-provider ctx-name="cloud-editor-demo"></uc-upload-ctx-provider>
</body>
Loading
Loading