@scaleflex/uploader 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -1
- package/README.md +1 -1
- package/dist/auth/auth.service.d.ts +1 -1
- package/dist/auth/auth.types.d.ts +1 -9
- package/dist/auth/auth.types.d.ts.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/components/actions-bar.d.ts +4 -1
- package/dist/components/actions-bar.d.ts.map +1 -1
- package/dist/components/camera-dialog.d.ts +2 -1
- package/dist/components/camera-dialog.d.ts.map +1 -1
- package/dist/components/drop-zone.d.ts +17 -0
- package/dist/components/drop-zone.d.ts.map +1 -1
- package/dist/components/file-item.d.ts.map +1 -1
- package/dist/components/file-list.d.ts.map +1 -1
- package/dist/components/provider-browser.d.ts +1 -0
- package/dist/components/provider-browser.d.ts.map +1 -1
- package/dist/components/screen-cast-dialog.d.ts +2 -1
- package/dist/components/screen-cast-dialog.d.ts.map +1 -1
- package/dist/components/shared-styles.d.ts +5 -0
- package/dist/components/shared-styles.d.ts.map +1 -0
- package/dist/components/source-pills.d.ts.map +1 -1
- package/dist/components/success-card.d.ts +3 -1
- package/dist/components/success-card.d.ts.map +1 -1
- package/dist/components/url-dialog.d.ts +2 -2
- package/dist/components/url-dialog.d.ts.map +1 -1
- package/dist/connectors/provider-registry.d.ts.map +1 -1
- package/dist/define.cjs +1 -1
- package/dist/define.js +1 -1
- package/dist/engine/upload-engine.d.ts.map +1 -1
- package/dist/events/public-events.d.ts +1 -3
- package/dist/events/public-events.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/{provider-browser-C-S_MPrC.js → provider-browser-ixqCA0XP.js} +430 -185
- package/dist/provider-browser-yW3pZFSP.cjs +820 -0
- package/dist/{search-provider-browser-jCOer2Y9.js → search-provider-browser-B5ZWGUl8.js} +30 -30
- package/dist/{search-provider-browser-DxmLznEB.cjs → search-provider-browser-BrKVwGf_.cjs} +29 -29
- package/dist/sfx-uploader-CU9IwNC7.js +5384 -0
- package/dist/sfx-uploader-ziRTzw0k.cjs +3298 -0
- package/dist/sfx-uploader.d.ts +55 -1
- package/dist/sfx-uploader.d.ts.map +1 -1
- package/dist/store/store.types.d.ts +1 -1
- package/dist/store/store.types.d.ts.map +1 -1
- package/dist/types/source.types.d.ts +3 -0
- package/dist/types/source.types.d.ts.map +1 -1
- package/dist/utils/file-utils.d.ts +2 -0
- package/dist/utils/file-utils.d.ts.map +1 -1
- package/dist/utils/focus-trap.d.ts +7 -0
- package/dist/utils/focus-trap.d.ts.map +1 -0
- package/dist/utils/validate.d.ts +11 -0
- package/dist/utils/validate.d.ts.map +1 -1
- package/package.json +4 -2
- package/dist/events/event-bus.d.ts +0 -38
- package/dist/events/event-bus.d.ts.map +0 -1
- package/dist/provider-browser-CmCwv0ph.cjs +0 -581
- package/dist/sfx-uploader-BVDK-9xi.cjs +0 -2029
- package/dist/sfx-uploader-C2lWIRnU.js +0 -3789
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement as x, css as g, html as s, nothing as d } from "lit";
|
|
2
|
-
import { property as f, state as
|
|
3
|
-
import { m as b, s as u } from "./sfx-uploader-
|
|
4
|
-
var m = Object.defineProperty,
|
|
2
|
+
import { property as f, state as n } from "lit/decorators.js";
|
|
3
|
+
import { m as b, s as u } from "./sfx-uploader-CU9IwNC7.js";
|
|
4
|
+
var m = Object.defineProperty, a = (c, r, e, t) => {
|
|
5
5
|
for (var i = void 0, l = c.length - 1, h; l >= 0; l--)
|
|
6
6
|
(h = c[l]) && (i = h(r, e, i) || i);
|
|
7
7
|
return i && m(r, e, i), i;
|
|
@@ -227,7 +227,7 @@ p.styles = g`
|
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
.back-btn:hover {
|
|
230
|
-
background: #f1f5f9;
|
|
230
|
+
background: var(--sfx-up-border-light, #f1f5f9);
|
|
231
231
|
color: var(--sfx-up-text, #1e293b);
|
|
232
232
|
}
|
|
233
233
|
|
|
@@ -261,7 +261,7 @@ p.styles = g`
|
|
|
261
261
|
font-family: inherit;
|
|
262
262
|
font-size: 13px;
|
|
263
263
|
color: var(--sfx-up-text, #1e293b);
|
|
264
|
-
background: #fff;
|
|
264
|
+
background: var(--sfx-up-bg, #fff);
|
|
265
265
|
outline: none;
|
|
266
266
|
transition: border-color 0.15s;
|
|
267
267
|
}
|
|
@@ -280,7 +280,7 @@ p.styles = g`
|
|
|
280
280
|
border: none;
|
|
281
281
|
border-radius: 9px;
|
|
282
282
|
background: linear-gradient(135deg, var(--sfx-up-primary, #2563eb), var(--sfx-up-primary-mid, #3b82f6));
|
|
283
|
-
color: #fff;
|
|
283
|
+
color: var(--primary-foreground, #fff);
|
|
284
284
|
font-family: inherit;
|
|
285
285
|
font-size: 13px;
|
|
286
286
|
font-weight: 600;
|
|
@@ -355,7 +355,7 @@ p.styles = g`
|
|
|
355
355
|
|
|
356
356
|
.result-item.selected .check {
|
|
357
357
|
background: var(--sfx-up-primary, #2563eb);
|
|
358
|
-
color: #fff;
|
|
358
|
+
color: var(--sfx-up-bg, #fff);
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
.check svg {
|
|
@@ -405,18 +405,18 @@ p.styles = g`
|
|
|
405
405
|
border: none;
|
|
406
406
|
border-radius: 9px;
|
|
407
407
|
background: linear-gradient(135deg, var(--sfx-up-primary, #2563eb), var(--sfx-up-primary-mid, #3b82f6));
|
|
408
|
-
color: #fff;
|
|
408
|
+
color: var(--primary-foreground, #fff);
|
|
409
409
|
font-family: inherit;
|
|
410
410
|
font-size: 13px;
|
|
411
411
|
font-weight: 600;
|
|
412
412
|
cursor: pointer;
|
|
413
413
|
transition: all 0.18s;
|
|
414
|
-
box-shadow: 0 2px 10px rgba(37, 99, 235, 0.28);
|
|
414
|
+
box-shadow: 0 2px 10px var(--sfx-up-primary-glow, rgba(37, 99, 235, 0.28));
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
.add-btn:hover:not(:disabled) {
|
|
418
418
|
transform: translateY(-1px);
|
|
419
|
-
box-shadow: 0 4px 16px rgba(37, 99, 235, 0.38);
|
|
419
|
+
box-shadow: 0 4px 16px var(--sfx-up-primary-glow, rgba(37, 99, 235, 0.38));
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
.add-btn:disabled {
|
|
@@ -465,8 +465,8 @@ p.styles = g`
|
|
|
465
465
|
}
|
|
466
466
|
|
|
467
467
|
.retry-btn:hover {
|
|
468
|
-
background: #f8faff;
|
|
469
|
-
border-color: #d1dff0;
|
|
468
|
+
background: var(--sfx-up-border-light, #f8faff);
|
|
469
|
+
border-color: var(--sfx-up-border, #d1dff0);
|
|
470
470
|
}
|
|
471
471
|
|
|
472
472
|
.empty-text {
|
|
@@ -502,35 +502,35 @@ p.styles = g`
|
|
|
502
502
|
}
|
|
503
503
|
`;
|
|
504
504
|
let o = p;
|
|
505
|
-
|
|
505
|
+
a([
|
|
506
506
|
f({ type: String })
|
|
507
507
|
], o.prototype, "provider");
|
|
508
|
-
|
|
508
|
+
a([
|
|
509
509
|
f({ type: String })
|
|
510
510
|
], o.prototype, "companionUrl");
|
|
511
|
-
|
|
512
|
-
|
|
511
|
+
a([
|
|
512
|
+
n()
|
|
513
513
|
], o.prototype, "_loading");
|
|
514
|
-
|
|
515
|
-
|
|
514
|
+
a([
|
|
515
|
+
n()
|
|
516
516
|
], o.prototype, "_loadingMore");
|
|
517
|
-
|
|
518
|
-
|
|
517
|
+
a([
|
|
518
|
+
n()
|
|
519
519
|
], o.prototype, "_items");
|
|
520
|
-
|
|
521
|
-
|
|
520
|
+
a([
|
|
521
|
+
n()
|
|
522
522
|
], o.prototype, "_selectedIds");
|
|
523
|
-
|
|
524
|
-
|
|
523
|
+
a([
|
|
524
|
+
n()
|
|
525
525
|
], o.prototype, "_error");
|
|
526
|
-
|
|
527
|
-
|
|
526
|
+
a([
|
|
527
|
+
n()
|
|
528
528
|
], o.prototype, "_searchQuery");
|
|
529
|
-
|
|
530
|
-
|
|
529
|
+
a([
|
|
530
|
+
n()
|
|
531
531
|
], o.prototype, "_nextPageQuery");
|
|
532
|
-
|
|
533
|
-
|
|
532
|
+
a([
|
|
533
|
+
n()
|
|
534
534
|
], o.prototype, "_searched");
|
|
535
535
|
export {
|
|
536
536
|
o as SfxSearchProviderBrowser
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("lit"),a=require("lit/decorators.js"),l=require("./sfx-uploader-ziRTzw0k.cjs");var u=Object.defineProperty,n=(c,r,e,s)=>{for(var i=void 0,d=c.length-1,h;d>=0;d--)(h=c[d])&&(i=h(r,e,i)||i);return i&&u(r,e,i),i};const p=class p extends t.LitElement{constructor(){super(...arguments),this.provider="unsplash",this.companionUrl="",this._loading=!1,this._loadingMore=!1,this._items=[],this._selectedIds=new Set,this._error=null,this._searchQuery="",this._nextPageQuery=null,this._searched=!1,this._onResultsScroll=r=>{if(!this._nextPageQuery||this._loadingMore)return;const e=r.target;e.scrollHeight-e.scrollTop-e.clientHeight<200&&this._onLoadMore()},this._onSearchInput=r=>{this._searchQuery=r.target.value},this._onSearchKeydown=r=>{r.key==="Enter"&&this._doSearch()},this._onAddSelected=()=>{const e=this._items.filter(s=>this._selectedIds.has(s.id)).map(s=>({companionUrl:this.companionUrl,provider:this.provider,token:"",requestPath:s.requestPath,fileId:s.id,name:s.name||s.id,mimeType:s.mimeType,size:s.size,thumbnail:s.thumbnail}));this.dispatchEvent(new CustomEvent("connector-files-selected",{detail:{files:e},bubbles:!0,composed:!0}))},this._onClose=()=>{this.dispatchEvent(new CustomEvent("connector-close",{bubbles:!0,composed:!0}))}}get _providerLabel(){var e;return((e=l.getProviderSources([this.provider])[0])==null?void 0:e.label)??this.provider}async _doSearch(){const r=this._searchQuery.trim();if(r){this._loading=!0,this._error=null,this._items=[],this._selectedIds=new Set,this._nextPageQuery=null,this._searched=!0;try{const e=await l.searchProvider(this.companionUrl,this.provider,r),s=new Set;this._items=e.items.filter(i=>s.has(i.id)?!1:(s.add(i.id),!0)),this._nextPageQuery=e.nextPageQuery}catch(e){this._error=e instanceof Error?e.message:"Search failed"}finally{this._loading=!1}}}async _onLoadMore(){if(!(!this._nextPageQuery||this._loadingMore)){this._loadingMore=!0;try{const r=await l.searchProvider(this.companionUrl,this.provider,this._searchQuery.trim(),this._nextPageQuery),e=new Set(this._items.map(i=>i.id)),s=r.items.filter(i=>!e.has(i.id));this._items=[...this._items,...s],this._nextPageQuery=r.nextPageQuery}catch{}finally{this._loadingMore=!1}}}_toggleSelect(r){const e=new Set(this._selectedIds);e.has(r.id)?e.delete(r.id):e.add(r.id),this._selectedIds=e}render(){return t.html`
|
|
2
2
|
${this._renderHeader()}
|
|
3
3
|
${this._renderSearchBar()}
|
|
4
4
|
${this._loading?this._renderLoading():this._error?this._renderError():this._renderResults()}
|
|
5
|
-
`}_renderHeader(){return
|
|
5
|
+
`}_renderHeader(){return t.html`
|
|
6
6
|
<div class="browser-header">
|
|
7
7
|
<button class="back-btn" @click=${this._onClose}>
|
|
8
8
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
</button>
|
|
12
12
|
<span class="browser-title">${this._providerLabel}</span>
|
|
13
13
|
</div>
|
|
14
|
-
`}_renderSearchBar(){return
|
|
14
|
+
`}_renderSearchBar(){return t.html`
|
|
15
15
|
<div class="search-bar">
|
|
16
16
|
<input
|
|
17
17
|
class="search-input"
|
|
@@ -29,57 +29,57 @@
|
|
|
29
29
|
Search
|
|
30
30
|
</button>
|
|
31
31
|
</div>
|
|
32
|
-
`}_renderLoading(){return
|
|
32
|
+
`}_renderLoading(){return t.html`
|
|
33
33
|
<div class="loading">
|
|
34
34
|
<div class="spinner"></div>
|
|
35
35
|
</div>
|
|
36
|
-
`}_renderError(){return
|
|
36
|
+
`}_renderError(){return t.html`
|
|
37
37
|
<div class="error-view">
|
|
38
38
|
<div class="error-text">${this._error}</div>
|
|
39
39
|
<button class="retry-btn" @click=${()=>this._doSearch()}>Retry</button>
|
|
40
40
|
</div>
|
|
41
|
-
`}_renderResults(){const
|
|
41
|
+
`}_renderResults(){const r=this._selectedIds.size;return this._searched?this._items.length===0?t.html`
|
|
42
42
|
<div class="empty-state">
|
|
43
43
|
<div class="empty-text">No results found</div>
|
|
44
44
|
</div>
|
|
45
|
-
`:
|
|
45
|
+
`:t.html`
|
|
46
46
|
<div class="results" @scroll=${this._onResultsScroll}>
|
|
47
47
|
<div class="results-grid">
|
|
48
|
-
${this._items.map(e=>{var s;return
|
|
48
|
+
${this._items.map(e=>{var s;return t.html`
|
|
49
49
|
<div
|
|
50
50
|
class="result-item ${this._selectedIds.has(e.id)?"selected":""}"
|
|
51
51
|
@click=${()=>this._toggleSelect(e)}
|
|
52
52
|
>
|
|
53
|
-
${e.thumbnail?
|
|
53
|
+
${e.thumbnail?t.html`<img src=${e.thumbnail} alt=${e.name} loading="lazy" referrerpolicy="no-referrer" />`:t.nothing}
|
|
54
54
|
<div class="check">
|
|
55
|
-
${this._selectedIds.has(e.id)?
|
|
55
|
+
${this._selectedIds.has(e.id)?t.html`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"><polyline points="20 6 9 17 4 12" /></svg>`:t.nothing}
|
|
56
56
|
</div>
|
|
57
|
-
${(s=e.author)!=null&&s.name?
|
|
57
|
+
${(s=e.author)!=null&&s.name?t.html`<div class="author">${e.author.name}</div>`:t.nothing}
|
|
58
58
|
</div>
|
|
59
59
|
`})}
|
|
60
60
|
</div>
|
|
61
|
-
${this._loadingMore?
|
|
61
|
+
${this._loadingMore?t.html`<div class="loading" style="padding:16px 0"><div class="spinner"></div></div>`:t.nothing}
|
|
62
62
|
</div>
|
|
63
63
|
|
|
64
|
-
${this._items.length>0?
|
|
64
|
+
${this._items.length>0?t.html`
|
|
65
65
|
<div class="browser-footer">
|
|
66
66
|
<span class="selected-count">
|
|
67
|
-
${
|
|
67
|
+
${r>0?`${r} image${r===1?"":"s"} selected`:"Select images to add"}
|
|
68
68
|
</span>
|
|
69
69
|
<button
|
|
70
70
|
class="add-btn"
|
|
71
|
-
?disabled=${
|
|
71
|
+
?disabled=${r===0}
|
|
72
72
|
@click=${this._onAddSelected}
|
|
73
73
|
>
|
|
74
|
-
Add ${
|
|
74
|
+
Add ${r>0?r:""} image${r===1?"":"s"}
|
|
75
75
|
</button>
|
|
76
76
|
</div>
|
|
77
|
-
`:
|
|
78
|
-
`:
|
|
77
|
+
`:t.nothing}
|
|
78
|
+
`:t.html`
|
|
79
79
|
<div class="empty-state">
|
|
80
80
|
<div class="empty-text">Enter text to search for images</div>
|
|
81
81
|
</div>
|
|
82
|
-
`}};p.styles=
|
|
82
|
+
`}};p.styles=t.css`
|
|
83
83
|
:host {
|
|
84
84
|
display: flex;
|
|
85
85
|
flex-direction: column;
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
.back-btn:hover {
|
|
117
|
-
background: #f1f5f9;
|
|
117
|
+
background: var(--sfx-up-border-light, #f1f5f9);
|
|
118
118
|
color: var(--sfx-up-text, #1e293b);
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
font-family: inherit;
|
|
149
149
|
font-size: 13px;
|
|
150
150
|
color: var(--sfx-up-text, #1e293b);
|
|
151
|
-
background: #fff;
|
|
151
|
+
background: var(--sfx-up-bg, #fff);
|
|
152
152
|
outline: none;
|
|
153
153
|
transition: border-color 0.15s;
|
|
154
154
|
}
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
border: none;
|
|
168
168
|
border-radius: 9px;
|
|
169
169
|
background: linear-gradient(135deg, var(--sfx-up-primary, #2563eb), var(--sfx-up-primary-mid, #3b82f6));
|
|
170
|
-
color: #fff;
|
|
170
|
+
color: var(--primary-foreground, #fff);
|
|
171
171
|
font-family: inherit;
|
|
172
172
|
font-size: 13px;
|
|
173
173
|
font-weight: 600;
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
|
|
243
243
|
.result-item.selected .check {
|
|
244
244
|
background: var(--sfx-up-primary, #2563eb);
|
|
245
|
-
color: #fff;
|
|
245
|
+
color: var(--sfx-up-bg, #fff);
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
.check svg {
|
|
@@ -292,18 +292,18 @@
|
|
|
292
292
|
border: none;
|
|
293
293
|
border-radius: 9px;
|
|
294
294
|
background: linear-gradient(135deg, var(--sfx-up-primary, #2563eb), var(--sfx-up-primary-mid, #3b82f6));
|
|
295
|
-
color: #fff;
|
|
295
|
+
color: var(--primary-foreground, #fff);
|
|
296
296
|
font-family: inherit;
|
|
297
297
|
font-size: 13px;
|
|
298
298
|
font-weight: 600;
|
|
299
299
|
cursor: pointer;
|
|
300
300
|
transition: all 0.18s;
|
|
301
|
-
box-shadow: 0 2px 10px rgba(37, 99, 235, 0.28);
|
|
301
|
+
box-shadow: 0 2px 10px var(--sfx-up-primary-glow, rgba(37, 99, 235, 0.28));
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
.add-btn:hover:not(:disabled) {
|
|
305
305
|
transform: translateY(-1px);
|
|
306
|
-
box-shadow: 0 4px 16px rgba(37, 99, 235, 0.38);
|
|
306
|
+
box-shadow: 0 4px 16px var(--sfx-up-primary-glow, rgba(37, 99, 235, 0.38));
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
.add-btn:disabled {
|
|
@@ -352,8 +352,8 @@
|
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
.retry-btn:hover {
|
|
355
|
-
background: #f8faff;
|
|
356
|
-
border-color: #d1dff0;
|
|
355
|
+
background: var(--sfx-up-border-light, #f8faff);
|
|
356
|
+
border-color: var(--sfx-up-border, #d1dff0);
|
|
357
357
|
}
|
|
358
358
|
|
|
359
359
|
.empty-text {
|
|
@@ -387,4 +387,4 @@
|
|
|
387
387
|
@media (prefers-reduced-motion: reduce) {
|
|
388
388
|
.spinner { animation: none; }
|
|
389
389
|
}
|
|
390
|
-
`;let o=p;
|
|
390
|
+
`;let o=p;n([a.property({type:String})],o.prototype,"provider");n([a.property({type:String})],o.prototype,"companionUrl");n([a.state()],o.prototype,"_loading");n([a.state()],o.prototype,"_loadingMore");n([a.state()],o.prototype,"_items");n([a.state()],o.prototype,"_selectedIds");n([a.state()],o.prototype,"_error");n([a.state()],o.prototype,"_searchQuery");n([a.state()],o.prototype,"_nextPageQuery");n([a.state()],o.prototype,"_searched");exports.SfxSearchProviderBrowser=o;
|