scb-wc-test 0.1.303 → 0.1.304
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.
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{a as h,n as
|
|
1
|
+
import{a as h,n as a,r as c,i as v,x as d,t as _}from"../../vendor/vendor.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(o,s,l){try{customElements.get(o)||t(o,s,l)}catch(p){var n=String(p||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw p}}}}catch{}})();var u=Object.defineProperty,m=Object.getOwnPropertyDescriptor,i=(e,t,o,s)=>{for(var l=s>1?void 0:s?m(t,o):t,n=e.length-1,p;n>=0;n--)(p=e[n])&&(l=(s?p(t,o,l):p(l))||l);return s&&l&&u(t,o,l),l};let r=class extends v{constructor(){super(),this._internals=null,this.type="default",this.name="",this.label="",this.supportingText="",this.metaText="",this.buttonLabel="",this.replaceButtonLabel="",this.removeButtonLabel="",this.previewEyebrow="",this.emptyPreviewTitle="",this.emptyPreviewMeta="",this.accept="",this.showPreview=!0,this.disabled=!1,this.previewSrc="",this.defaultImageSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._isDragOver=!1,this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._dragDepth=0,this._previewSource="external",this._objectUrl="",this._selectedFile=null,this._form=null,this._formDataHandler=null,"attachInternals"in this&&(this._internals=this.attachInternals())}get _resolvedAccept(){return this.accept.trim()||(this.type==="image"?"image/*,.png,.jpg,.jpeg,.webp,.svg,.gif,.bmp,.avif":"")}get _hasExternalPreview(){return!!this._resolvedExternalPreviewSrc||!!this.previewTitle.trim()||!!this.previewMeta.trim()}get _resolvedExternalPreviewSrc(){return this.previewSrc.trim()||this.defaultImageSrc.trim()}get _resolvedPreviewKind(){return this._previewSource==="external"&&this._hasExternalPreview?this._resolvedExternalPreviewSrc?"image":"file":this._selectedPreviewKind}get _hasPreview(){return this._resolvedPreviewKind!=="empty"}get _resolvedLabel(){return this.label||(this.type==="image"?"Ladda upp bild":"Ladda upp fil")}get _resolvedSupportingText(){return this.supportingText||(this.type==="image"?"Dra och släpp en bild här, eller välj en bild från din dator.":"Dra och släpp en fil här, eller välj en fil från din dator.")}get _resolvedMetaText(){return this.metaText?this.metaText:this.type==="image"?"PNG, JPG, SVG, GIF, BMP, AVIF och WebP stöds.":"Alla filtyper stöds."}get _resolvedButtonLabel(){return this.buttonLabel||(this.type==="image"?"Välj bild":"Välj fil")}get _resolvedReplaceButtonLabel(){return this.replaceButtonLabel?this.replaceButtonLabel:this._resolvedPreviewKind==="image"?"Byt bild":"Byt fil"}get _resolvedRemoveButtonLabel(){return this.removeButtonLabel?this.removeButtonLabel:this._resolvedPreviewKind==="image"?"Ta bort bild":"Ta bort fil"}get _resolvedPreviewEyebrow(){return this.previewEyebrow?this.previewEyebrow:this._hasPreview?this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil":"Förhandsvisning"}get _resolvedEmptyPreviewTitle(){return this.emptyPreviewTitle?this.emptyPreviewTitle:this.type==="image"?"Ingen bild uppladdad":"Ingen fil uppladdad"}get _resolvedEmptyPreviewMeta(){return this.emptyPreviewMeta?this.emptyPreviewMeta:this.type==="image"?"Förhandsvisningen visas här när du har laddat upp en bild.":"Förhandsvisningen visas här när du har laddat upp en fil."}get _resolvedPreviewSrc(){return this._previewSource==="external"&&this._hasExternalPreview?this._resolvedExternalPreviewSrc:this._selectedPreviewSrc}get _resolvedPreviewAlt(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewAlt:this._selectedPreviewAlt}get _resolvedPreviewTitle(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewTitle||(this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil"):this._selectedPreviewTitle}get _resolvedPreviewMeta(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewMeta:this._selectedPreviewMeta}disconnectedCallback(){this._form&&this._formDataHandler&&this._form.removeEventListener("formdata",this._formDataHandler),this._formDataHandler=null,this._form=null,this._revokeObjectUrl(),super.disconnectedCallback()}updated(e){e.has("type")&&this.type==="image"&&this._selectedPreviewKind==="file"&&this._clearSelectedFileState(),(e.has("disabled")||e.has("name"))&&this._syncFormValue()}connectedCallback(){super.connectedCallback(),this._syncFormValue(),this._form=this.closest("form"),this._form&&(this._formDataHandler=e=>{const t=e.formData;t&&this._appendFileToFormData(t)},this._form.addEventListener("formdata",this._formDataHandler))}formDisabledCallback(e){this.disabled=e}formResetCallback(){this.clearPreviewState()}_syncFormValue(){if(this._internals){if(this.disabled||!this.name.trim()||!this._selectedFile){this._internals.setFormValue(null);return}this._internals.setFormValue(this._selectedFile)}}_appendFileToFormData(e){const t=this.name.trim();if(this.disabled||!t||!this._selectedFile)return;e.getAll(t).some(s=>s instanceof File)||e.append(t,this._selectedFile,this._selectedFile.name)}openPicker(){if(this.disabled)return;const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e){try{e.value=""}catch{}e.click()}}setPreviewState(e){this.previewSrc=e?.src??"",this.previewAlt=e?.alt??"",this.previewTitle=e?.title??"",this.previewMeta=e?.meta??"",this._previewSource="external"}clearPreviewState(){this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._previewSource="external",this._clearSelectedFileState(),this._clearNativeInputValue()}_dispatch(e,t={},o=!1){const s=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:o});return this.dispatchEvent(s),s}_handleFiles(e){const t=e&&e[0]?e[0]:null;!t||!this._isAcceptedFile(t)||(this._setSelectedFileState(t),this._dispatch("file-selected",{file:t}),this._dispatch("change",{file:t}))}_onZoneClick(e){this.disabled||e.composedPath().some(s=>s instanceof HTMLElement&&s.getAttribute("data-role")==="choose-button")||this.openPicker()}_onZoneKeydown(e){this.disabled||(e.key==="Enter"||e.key===" "||e.key==="Spacebar")&&(e.preventDefault(),this.openPicker())}_preventDefaultDrag(e){e.preventDefault(),e.stopPropagation()}_onDragEnter(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth+=1,this._isDragOver=!0)}_onDragOver(e){this.disabled||(this._preventDefaultDrag(e),this._isDragOver=!0)}_onDragLeave(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth=Math.max(0,this._dragDepth-1),this._dragDepth||(this._isDragOver=!1))}_onDrop(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth=0,this._isDragOver=!1,this._handleFiles(e.dataTransfer?.files??null))}_onNativeInputChange(e){const t=e.currentTarget;this._handleFiles(t?.files??null)}_onChooseButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onReplaceButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onRemoveButtonClick(e){e.preventDefault(),e.stopPropagation(),this._dispatch("clear-request",{},!0).defaultPrevented||this.clearPreviewState()}_isAcceptedFile(e){const t=this._resolvedAccept.trim();if(!t)return!0;const o=e.name.toLowerCase(),s=(e.type||"").toLowerCase(),l=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return l.length?l.some(n=>n==="*/*"?!0:n.endsWith("/*")?s.startsWith(n.slice(0,-1)):n.startsWith(".")?o.endsWith(n):s===n):!0}_setSelectedFileState(e){const t=this._getPreviewKindForFile(e),o=this._getFileTypeLabel(e),s=this._formatFileSize(e.size);this._revokeObjectUrl(),this._selectedPreviewKind=t,this._selectedPreviewTitle=e.name||(t==="image"?"Uppladdad bild":"Uppladdad fil"),this._selectedPreviewMeta=[o,s].filter(Boolean).join(" • "),this._selectedPreviewAlt=t==="image"?e.name||"Uppladdad bild":"",this._selectedPreviewSrc="",t==="image"&&(this._objectUrl=URL.createObjectURL(e),this._selectedPreviewSrc=this._objectUrl),this._selectedFile=e,this._previewSource="internal",this._syncFormValue()}_clearSelectedFileState(){this._revokeObjectUrl(),this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._selectedFile=null,this._syncFormValue()}_clearNativeInputValue(){const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e)try{e.value=""}catch{}}_revokeObjectUrl(){this._objectUrl&&(URL.revokeObjectURL(this._objectUrl),this._objectUrl="")}_getPreviewKindForFile(e){const t=(e.type||"").toLowerCase(),o=this._getFileExtension(e.name).toLowerCase();return t.startsWith("image/")||["png","jpg","jpeg","webp","svg","gif","bmp","avif"].includes(o)?"image":"file"}_getFileExtension(e){return/\.([^.]+)$/.exec(e||"")?.[1]??""}_getFileExtensionLabel(e){return(this._getFileExtension(e)||(this._resolvedPreviewKind==="image"?"IMG":"FIL")).slice(0,6).toUpperCase()}_getFileTypeLabel(e){if(e.type)return e.type;const t=this._getFileExtension(e.name);return t?t.toUpperCase():"Okänd filtyp"}_formatFileSize(e){return!Number.isFinite(e)||e<0?"":e<1024?`${e} B`:e<1024*1024?`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/1024)} kB`:`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/(1024*1024))} MB`}_renderPreviewMedia(){return this._resolvedPreviewKind==="image"&&this._resolvedPreviewSrc?d`<img class="scb-drop-zone__preview-image" src=${this._resolvedPreviewSrc} alt=${this._resolvedPreviewAlt} />`:this._hasPreview?d`
|
|
2
2
|
<div class="scb-drop-zone__preview-file-card">
|
|
3
3
|
<div class="scb-drop-zone__preview-file-card-inner">
|
|
4
4
|
<span class="scb-drop-zone__preview-file-extension">${this._getFileExtensionLabel(this._resolvedPreviewTitle)}</span>
|
|
5
5
|
<p class="scb-drop-zone__preview-file-label">Vald fil</p>
|
|
6
6
|
</div>
|
|
7
7
|
</div>
|
|
8
|
-
`:
|
|
8
|
+
`:d`
|
|
9
9
|
<div class="scb-drop-zone__preview-placeholder">
|
|
10
10
|
<div class="scb-drop-zone__preview-placeholder-inner">
|
|
11
11
|
<span class="scb-drop-zone__preview-placeholder-label">${this.type==="image"?"Bild":"Fil"}</span>
|
|
12
12
|
</div>
|
|
13
13
|
</div>
|
|
14
|
-
`}_renderPreview(){if(!this.showPreview)return null;const e=this._hasPreview?this._resolvedPreviewTitle:this._resolvedEmptyPreviewTitle,t=this._hasPreview?this._resolvedPreviewMeta:this._resolvedEmptyPreviewMeta;return
|
|
14
|
+
`}_renderPreview(){if(!this.showPreview)return null;const e=this._hasPreview?this._resolvedPreviewTitle:this._resolvedEmptyPreviewTitle,t=this._hasPreview?this._resolvedPreviewMeta:this._resolvedEmptyPreviewMeta;return d`
|
|
15
15
|
<div class="scb-drop-zone__preview">
|
|
16
16
|
<div class="scb-drop-zone__preview-media">
|
|
17
17
|
${this._renderPreviewMedia()}
|
|
@@ -22,7 +22,7 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
22
22
|
<h3 class="scb-drop-zone__preview-title">${e}</h3>
|
|
23
23
|
<p class="scb-drop-zone__preview-meta">${t}</p>
|
|
24
24
|
|
|
25
|
-
${this._hasPreview?
|
|
25
|
+
${this._hasPreview?d`
|
|
26
26
|
<div class="scb-drop-zone__preview-actions">
|
|
27
27
|
<scb-button
|
|
28
28
|
data-role="replace-button"
|
|
@@ -42,7 +42,7 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
42
42
|
`:null}
|
|
43
43
|
</div>
|
|
44
44
|
</div>
|
|
45
|
-
`}render(){const e={"scb-drop-zone__surface":!0,"is-dragover":this._isDragOver};return
|
|
45
|
+
`}render(){const e={"scb-drop-zone__surface":!0,"is-dragover":this._isDragOver};return d`
|
|
46
46
|
<div class="scb-drop-zone">
|
|
47
47
|
<div class="scb-drop-zone__layout ${this.showPreview?"scb-drop-zone__layout--with-preview":""}">
|
|
48
48
|
<div
|
|
@@ -71,7 +71,7 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
71
71
|
<div class="scb-drop-zone__inner">
|
|
72
72
|
<h2 class="scb-drop-zone__title">${this._resolvedLabel}</h2>
|
|
73
73
|
<p class="scb-drop-zone__lead">${this._resolvedSupportingText}</p>
|
|
74
|
-
${this._resolvedMetaText?
|
|
74
|
+
${this._resolvedMetaText?d`<p class="scb-drop-zone__meta">${this._resolvedMetaText}</p>`:null}
|
|
75
75
|
|
|
76
76
|
<div class="scb-drop-zone__actions">
|
|
77
77
|
<scb-button
|
|
@@ -325,4 +325,4 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
325
325
|
grid-template-columns: 1fr;
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
|
-
`;i([
|
|
328
|
+
`;i([a({type:String,reflect:!0})],r.prototype,"type",2);i([a({type:String})],r.prototype,"name",2);i([a({type:String})],r.prototype,"label",2);i([a({type:String,attribute:"supporting-text"})],r.prototype,"supportingText",2);i([a({type:String,attribute:"meta-text"})],r.prototype,"metaText",2);i([a({type:String,attribute:"button-label"})],r.prototype,"buttonLabel",2);i([a({type:String,attribute:"replace-button-label"})],r.prototype,"replaceButtonLabel",2);i([a({type:String,attribute:"remove-button-label"})],r.prototype,"removeButtonLabel",2);i([a({type:String,attribute:"preview-eyebrow"})],r.prototype,"previewEyebrow",2);i([a({type:String,attribute:"empty-preview-title"})],r.prototype,"emptyPreviewTitle",2);i([a({type:String,attribute:"empty-preview-meta"})],r.prototype,"emptyPreviewMeta",2);i([a({type:String})],r.prototype,"accept",2);i([a({type:Boolean,attribute:"show-preview",reflect:!0})],r.prototype,"showPreview",2);i([a({type:Boolean,reflect:!0})],r.prototype,"disabled",2);i([a({type:String,attribute:!1})],r.prototype,"previewSrc",2);i([a({type:String,attribute:"default-image-src"})],r.prototype,"defaultImageSrc",2);i([a({type:String,attribute:!1})],r.prototype,"previewAlt",2);i([a({type:String,attribute:!1})],r.prototype,"previewTitle",2);i([a({type:String,attribute:!1})],r.prototype,"previewMeta",2);i([c()],r.prototype,"_isDragOver",2);i([c()],r.prototype,"_selectedPreviewKind",2);i([c()],r.prototype,"_selectedPreviewSrc",2);i([c()],r.prototype,"_selectedPreviewAlt",2);i([c()],r.prototype,"_selectedPreviewTitle",2);i([c()],r.prototype,"_selectedPreviewMeta",2);r=i([_("scb-drop-zone")],r);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scb-wc-test",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.304",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.js",
|
|
@@ -386,5 +386,5 @@
|
|
|
386
386
|
},
|
|
387
387
|
"./mvc/*": "./mvc/*"
|
|
388
388
|
},
|
|
389
|
-
"buildHash": "
|
|
389
|
+
"buildHash": "6C84ECF1D73ED9EB332947E12F404C6A757F395766B380C36C97B24EB3CB990D"
|
|
390
390
|
}
|
|
@@ -51,6 +51,8 @@ export declare class ScbDropZone extends LitElement {
|
|
|
51
51
|
private _previewSource;
|
|
52
52
|
private _objectUrl;
|
|
53
53
|
private _selectedFile;
|
|
54
|
+
private _form;
|
|
55
|
+
private _formDataHandler;
|
|
54
56
|
constructor();
|
|
55
57
|
static styles: import('lit').CSSResult;
|
|
56
58
|
private get _resolvedAccept();
|
|
@@ -77,6 +79,7 @@ export declare class ScbDropZone extends LitElement {
|
|
|
77
79
|
formDisabledCallback(disabled: boolean): void;
|
|
78
80
|
formResetCallback(): void;
|
|
79
81
|
private _syncFormValue;
|
|
82
|
+
private _appendFileToFormData;
|
|
80
83
|
openPicker(): void;
|
|
81
84
|
setPreviewState(state: {
|
|
82
85
|
src?: string;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { css as h, LitElement as v, html as p } from "lit";
|
|
2
|
-
import { property as s, state as d, customElement as
|
|
3
|
-
var
|
|
4
|
-
for (var l = a > 1 ? void 0 : a ?
|
|
2
|
+
import { property as s, state as d, customElement as _ } from "lit/decorators.js";
|
|
3
|
+
var u = Object.defineProperty, m = Object.getOwnPropertyDescriptor, i = (e, t, o, a) => {
|
|
4
|
+
for (var l = a > 1 ? void 0 : a ? m(t, o) : t, n = e.length - 1, c; n >= 0; n--)
|
|
5
5
|
(c = e[n]) && (l = (a ? c(t, o, l) : c(l)) || l);
|
|
6
|
-
return a && l &&
|
|
6
|
+
return a && l && u(t, o, l), l;
|
|
7
7
|
};
|
|
8
8
|
let r = class extends v {
|
|
9
9
|
constructor() {
|
|
10
|
-
super(), this._internals = null, this.type = "default", this.name = "", this.label = "", this.supportingText = "", this.metaText = "", this.buttonLabel = "", this.replaceButtonLabel = "", this.removeButtonLabel = "", this.previewEyebrow = "", this.emptyPreviewTitle = "", this.emptyPreviewMeta = "", this.accept = "", this.showPreview = !0, this.disabled = !1, this.previewSrc = "", this.defaultImageSrc = "", this.previewAlt = "", this.previewTitle = "", this.previewMeta = "", this._isDragOver = !1, this._selectedPreviewKind = "empty", this._selectedPreviewSrc = "", this._selectedPreviewAlt = "", this._selectedPreviewTitle = "", this._selectedPreviewMeta = "", this._dragDepth = 0, this._previewSource = "external", this._objectUrl = "", this._selectedFile = null, "attachInternals" in this && (this._internals = this.attachInternals());
|
|
10
|
+
super(), this._internals = null, this.type = "default", this.name = "", this.label = "", this.supportingText = "", this.metaText = "", this.buttonLabel = "", this.replaceButtonLabel = "", this.removeButtonLabel = "", this.previewEyebrow = "", this.emptyPreviewTitle = "", this.emptyPreviewMeta = "", this.accept = "", this.showPreview = !0, this.disabled = !1, this.previewSrc = "", this.defaultImageSrc = "", this.previewAlt = "", this.previewTitle = "", this.previewMeta = "", this._isDragOver = !1, this._selectedPreviewKind = "empty", this._selectedPreviewSrc = "", this._selectedPreviewAlt = "", this._selectedPreviewTitle = "", this._selectedPreviewMeta = "", this._dragDepth = 0, this._previewSource = "external", this._objectUrl = "", this._selectedFile = null, this._form = null, this._formDataHandler = null, "attachInternals" in this && (this._internals = this.attachInternals());
|
|
11
11
|
}
|
|
12
12
|
get _resolvedAccept() {
|
|
13
13
|
return this.accept.trim() || (this.type === "image" ? "image/*,.png,.jpg,.jpeg,.webp,.svg,.gif,.bmp,.avif" : "");
|
|
@@ -64,13 +64,16 @@ let r = class extends v {
|
|
|
64
64
|
return this._previewSource === "external" && this._hasExternalPreview ? this.previewMeta : this._selectedPreviewMeta;
|
|
65
65
|
}
|
|
66
66
|
disconnectedCallback() {
|
|
67
|
-
this._revokeObjectUrl(), super.disconnectedCallback();
|
|
67
|
+
this._form && this._formDataHandler && this._form.removeEventListener("formdata", this._formDataHandler), this._formDataHandler = null, this._form = null, this._revokeObjectUrl(), super.disconnectedCallback();
|
|
68
68
|
}
|
|
69
69
|
updated(e) {
|
|
70
70
|
e.has("type") && this.type === "image" && this._selectedPreviewKind === "file" && this._clearSelectedFileState(), (e.has("disabled") || e.has("name")) && this._syncFormValue();
|
|
71
71
|
}
|
|
72
72
|
connectedCallback() {
|
|
73
|
-
super.connectedCallback(), this._syncFormValue()
|
|
73
|
+
super.connectedCallback(), this._syncFormValue(), this._form = this.closest("form"), this._form && (this._formDataHandler = (e) => {
|
|
74
|
+
const t = e.formData;
|
|
75
|
+
t && this._appendFileToFormData(t);
|
|
76
|
+
}, this._form.addEventListener("formdata", this._formDataHandler));
|
|
74
77
|
}
|
|
75
78
|
formDisabledCallback(e) {
|
|
76
79
|
this.disabled = e;
|
|
@@ -87,6 +90,12 @@ let r = class extends v {
|
|
|
87
90
|
this._internals.setFormValue(this._selectedFile);
|
|
88
91
|
}
|
|
89
92
|
}
|
|
93
|
+
_appendFileToFormData(e) {
|
|
94
|
+
const t = this.name.trim();
|
|
95
|
+
if (this.disabled || !t || !this._selectedFile)
|
|
96
|
+
return;
|
|
97
|
+
e.getAll(t).some((a) => a instanceof File) || e.append(t, this._selectedFile, this._selectedFile.name);
|
|
98
|
+
}
|
|
90
99
|
openPicker() {
|
|
91
100
|
if (this.disabled)
|
|
92
101
|
return;
|
|
@@ -617,7 +626,7 @@ i([
|
|
|
617
626
|
d()
|
|
618
627
|
], r.prototype, "_selectedPreviewMeta", 2);
|
|
619
628
|
r = i([
|
|
620
|
-
|
|
629
|
+
_("scb-drop-zone")
|
|
621
630
|
], r);
|
|
622
631
|
export {
|
|
623
632
|
r as ScbDropZone
|
package/scb-wc-test.bundle.js
CHANGED
|
@@ -6785,7 +6785,7 @@
|
|
|
6785
6785
|
overflow-y: scroll;
|
|
6786
6786
|
}
|
|
6787
6787
|
}
|
|
6788
|
-
`,ji([o({type:Boolean,reflect:!0})],P.prototype,"floating",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"left",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"right",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"open",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"overlay",2),ji([o({type:Boolean,reflect:!0,attribute:"lock-scroll"})],P.prototype,"lockScroll",2),ji([o({type:Boolean,reflect:!0,attribute:"close-on-overlay"})],P.prototype,"closeOnOverlay",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"modal",2),P=ji([_("scb-drawer")],P);var mf=Object.defineProperty,vf=Object.getOwnPropertyDescriptor,ee=(e,t,i,s)=>{for(var r=s>1?void 0:s?vf(t,i):t,a=e.length-1,n;a>=0;a--)(n=e[a])&&(r=(s?n(t,i,r):n(r))||r);return s&&r&&mf(t,i,r),r};let U=class extends w{constructor(){super(),this._internals=null,this.type="default",this.name="",this.label="",this.supportingText="",this.metaText="",this.buttonLabel="",this.replaceButtonLabel="",this.removeButtonLabel="",this.previewEyebrow="",this.emptyPreviewTitle="",this.emptyPreviewMeta="",this.accept="",this.showPreview=!0,this.disabled=!1,this.previewSrc="",this.defaultImageSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._isDragOver=!1,this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._dragDepth=0,this._previewSource="external",this._objectUrl="",this._selectedFile=null,"attachInternals"in this&&(this._internals=this.attachInternals())}get _resolvedAccept(){return this.accept.trim()||(this.type==="image"?"image/*,.png,.jpg,.jpeg,.webp,.svg,.gif,.bmp,.avif":"")}get _hasExternalPreview(){return!!this._resolvedExternalPreviewSrc||!!this.previewTitle.trim()||!!this.previewMeta.trim()}get _resolvedExternalPreviewSrc(){return this.previewSrc.trim()||this.defaultImageSrc.trim()}get _resolvedPreviewKind(){return this._previewSource==="external"&&this._hasExternalPreview?this._resolvedExternalPreviewSrc?"image":"file":this._selectedPreviewKind}get _hasPreview(){return this._resolvedPreviewKind!=="empty"}get _resolvedLabel(){return this.label||(this.type==="image"?"Ladda upp bild":"Ladda upp fil")}get _resolvedSupportingText(){return this.supportingText||(this.type==="image"?"Dra och släpp en bild här, eller välj en bild från din dator.":"Dra och släpp en fil här, eller välj en fil från din dator.")}get _resolvedMetaText(){return this.metaText?this.metaText:this.type==="image"?"PNG, JPG, SVG, GIF, BMP, AVIF och WebP stöds.":"Alla filtyper stöds."}get _resolvedButtonLabel(){return this.buttonLabel||(this.type==="image"?"Välj bild":"Välj fil")}get _resolvedReplaceButtonLabel(){return this.replaceButtonLabel?this.replaceButtonLabel:this._resolvedPreviewKind==="image"?"Byt bild":"Byt fil"}get _resolvedRemoveButtonLabel(){return this.removeButtonLabel?this.removeButtonLabel:this._resolvedPreviewKind==="image"?"Ta bort bild":"Ta bort fil"}get _resolvedPreviewEyebrow(){return this.previewEyebrow?this.previewEyebrow:this._hasPreview?this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil":"Förhandsvisning"}get _resolvedEmptyPreviewTitle(){return this.emptyPreviewTitle?this.emptyPreviewTitle:this.type==="image"?"Ingen bild uppladdad":"Ingen fil uppladdad"}get _resolvedEmptyPreviewMeta(){return this.emptyPreviewMeta?this.emptyPreviewMeta:this.type==="image"?"Förhandsvisningen visas här när du har laddat upp en bild.":"Förhandsvisningen visas här när du har laddat upp en fil."}get _resolvedPreviewSrc(){return this._previewSource==="external"&&this._hasExternalPreview?this._resolvedExternalPreviewSrc:this._selectedPreviewSrc}get _resolvedPreviewAlt(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewAlt:this._selectedPreviewAlt}get _resolvedPreviewTitle(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewTitle||(this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil"):this._selectedPreviewTitle}get _resolvedPreviewMeta(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewMeta:this._selectedPreviewMeta}disconnectedCallback(){this._revokeObjectUrl(),super.disconnectedCallback()}updated(e){e.has("type")&&this.type==="image"&&this._selectedPreviewKind==="file"&&this._clearSelectedFileState(),(e.has("disabled")||e.has("name"))&&this._syncFormValue()}connectedCallback(){super.connectedCallback(),this._syncFormValue()}formDisabledCallback(e){this.disabled=e}formResetCallback(){this.clearPreviewState()}_syncFormValue(){if(this._internals){if(this.disabled||!this.name.trim()||!this._selectedFile){this._internals.setFormValue(null);return}this._internals.setFormValue(this._selectedFile)}}openPicker(){if(this.disabled)return;const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e){try{e.value=""}catch{}e.click()}}setPreviewState(e){this.previewSrc=(e==null?void 0:e.src)??"",this.previewAlt=(e==null?void 0:e.alt)??"",this.previewTitle=(e==null?void 0:e.title)??"",this.previewMeta=(e==null?void 0:e.meta)??"",this._previewSource="external"}clearPreviewState(){this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._previewSource="external",this._clearSelectedFileState(),this._clearNativeInputValue()}_dispatch(e,t={},i=!1){const s=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:i});return this.dispatchEvent(s),s}_handleFiles(e){const t=e&&e[0]?e[0]:null;!t||!this._isAcceptedFile(t)||(this._setSelectedFileState(t),this._dispatch("file-selected",{file:t}),this._dispatch("change",{file:t}))}_onZoneClick(e){this.disabled||e.composedPath().some(s=>s instanceof HTMLElement&&s.getAttribute("data-role")==="choose-button")||this.openPicker()}_onZoneKeydown(e){this.disabled||(e.key==="Enter"||e.key===" "||e.key==="Spacebar")&&(e.preventDefault(),this.openPicker())}_preventDefaultDrag(e){e.preventDefault(),e.stopPropagation()}_onDragEnter(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth+=1,this._isDragOver=!0)}_onDragOver(e){this.disabled||(this._preventDefaultDrag(e),this._isDragOver=!0)}_onDragLeave(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth=Math.max(0,this._dragDepth-1),this._dragDepth||(this._isDragOver=!1))}_onDrop(e){var t;this.disabled||(this._preventDefaultDrag(e),this._dragDepth=0,this._isDragOver=!1,this._handleFiles(((t=e.dataTransfer)==null?void 0:t.files)??null))}_onNativeInputChange(e){const t=e.currentTarget;this._handleFiles((t==null?void 0:t.files)??null)}_onChooseButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onReplaceButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onRemoveButtonClick(e){e.preventDefault(),e.stopPropagation(),this._dispatch("clear-request",{},!0).defaultPrevented||this.clearPreviewState()}_isAcceptedFile(e){const t=this._resolvedAccept.trim();if(!t)return!0;const i=e.name.toLowerCase(),s=(e.type||"").toLowerCase(),r=t.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean);return r.length?r.some(a=>a==="*/*"?!0:a.endsWith("/*")?s.startsWith(a.slice(0,-1)):a.startsWith(".")?i.endsWith(a):s===a):!0}_setSelectedFileState(e){const t=this._getPreviewKindForFile(e),i=this._getFileTypeLabel(e),s=this._formatFileSize(e.size);this._revokeObjectUrl(),this._selectedPreviewKind=t,this._selectedPreviewTitle=e.name||(t==="image"?"Uppladdad bild":"Uppladdad fil"),this._selectedPreviewMeta=[i,s].filter(Boolean).join(" • "),this._selectedPreviewAlt=t==="image"?e.name||"Uppladdad bild":"",this._selectedPreviewSrc="",t==="image"&&(this._objectUrl=URL.createObjectURL(e),this._selectedPreviewSrc=this._objectUrl),this._selectedFile=e,this._previewSource="internal",this._syncFormValue()}_clearSelectedFileState(){this._revokeObjectUrl(),this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._selectedFile=null,this._syncFormValue()}_clearNativeInputValue(){const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e)try{e.value=""}catch{}}_revokeObjectUrl(){this._objectUrl&&(URL.revokeObjectURL(this._objectUrl),this._objectUrl="")}_getPreviewKindForFile(e){const t=(e.type||"").toLowerCase(),i=this._getFileExtension(e.name).toLowerCase();return t.startsWith("image/")||["png","jpg","jpeg","webp","svg","gif","bmp","avif"].includes(i)?"image":"file"}_getFileExtension(e){const t=/\.([^.]+)$/.exec(e||"");return(t==null?void 0:t[1])??""}_getFileExtensionLabel(e){return(this._getFileExtension(e)||(this._resolvedPreviewKind==="image"?"IMG":"FIL")).slice(0,6).toUpperCase()}_getFileTypeLabel(e){if(e.type)return e.type;const t=this._getFileExtension(e.name);return t?t.toUpperCase():"Okänd filtyp"}_formatFileSize(e){return!Number.isFinite(e)||e<0?"":e<1024?`${e} B`:e<1024*1024?`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/1024)} kB`:`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/(1024*1024))} MB`}_renderPreviewMedia(){return this._resolvedPreviewKind==="image"&&this._resolvedPreviewSrc?c`<img class="scb-drop-zone__preview-image" src=${this._resolvedPreviewSrc} alt=${this._resolvedPreviewAlt} />`:this._hasPreview?c`
|
|
6788
|
+
`,ji([o({type:Boolean,reflect:!0})],P.prototype,"floating",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"left",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"right",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"open",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"overlay",2),ji([o({type:Boolean,reflect:!0,attribute:"lock-scroll"})],P.prototype,"lockScroll",2),ji([o({type:Boolean,reflect:!0,attribute:"close-on-overlay"})],P.prototype,"closeOnOverlay",2),ji([o({type:Boolean,reflect:!0})],P.prototype,"modal",2),P=ji([_("scb-drawer")],P);var mf=Object.defineProperty,vf=Object.getOwnPropertyDescriptor,ee=(e,t,i,s)=>{for(var r=s>1?void 0:s?vf(t,i):t,a=e.length-1,n;a>=0;a--)(n=e[a])&&(r=(s?n(t,i,r):n(r))||r);return s&&r&&mf(t,i,r),r};let U=class extends w{constructor(){super(),this._internals=null,this.type="default",this.name="",this.label="",this.supportingText="",this.metaText="",this.buttonLabel="",this.replaceButtonLabel="",this.removeButtonLabel="",this.previewEyebrow="",this.emptyPreviewTitle="",this.emptyPreviewMeta="",this.accept="",this.showPreview=!0,this.disabled=!1,this.previewSrc="",this.defaultImageSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._isDragOver=!1,this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._dragDepth=0,this._previewSource="external",this._objectUrl="",this._selectedFile=null,this._form=null,this._formDataHandler=null,"attachInternals"in this&&(this._internals=this.attachInternals())}get _resolvedAccept(){return this.accept.trim()||(this.type==="image"?"image/*,.png,.jpg,.jpeg,.webp,.svg,.gif,.bmp,.avif":"")}get _hasExternalPreview(){return!!this._resolvedExternalPreviewSrc||!!this.previewTitle.trim()||!!this.previewMeta.trim()}get _resolvedExternalPreviewSrc(){return this.previewSrc.trim()||this.defaultImageSrc.trim()}get _resolvedPreviewKind(){return this._previewSource==="external"&&this._hasExternalPreview?this._resolvedExternalPreviewSrc?"image":"file":this._selectedPreviewKind}get _hasPreview(){return this._resolvedPreviewKind!=="empty"}get _resolvedLabel(){return this.label||(this.type==="image"?"Ladda upp bild":"Ladda upp fil")}get _resolvedSupportingText(){return this.supportingText||(this.type==="image"?"Dra och släpp en bild här, eller välj en bild från din dator.":"Dra och släpp en fil här, eller välj en fil från din dator.")}get _resolvedMetaText(){return this.metaText?this.metaText:this.type==="image"?"PNG, JPG, SVG, GIF, BMP, AVIF och WebP stöds.":"Alla filtyper stöds."}get _resolvedButtonLabel(){return this.buttonLabel||(this.type==="image"?"Välj bild":"Välj fil")}get _resolvedReplaceButtonLabel(){return this.replaceButtonLabel?this.replaceButtonLabel:this._resolvedPreviewKind==="image"?"Byt bild":"Byt fil"}get _resolvedRemoveButtonLabel(){return this.removeButtonLabel?this.removeButtonLabel:this._resolvedPreviewKind==="image"?"Ta bort bild":"Ta bort fil"}get _resolvedPreviewEyebrow(){return this.previewEyebrow?this.previewEyebrow:this._hasPreview?this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil":"Förhandsvisning"}get _resolvedEmptyPreviewTitle(){return this.emptyPreviewTitle?this.emptyPreviewTitle:this.type==="image"?"Ingen bild uppladdad":"Ingen fil uppladdad"}get _resolvedEmptyPreviewMeta(){return this.emptyPreviewMeta?this.emptyPreviewMeta:this.type==="image"?"Förhandsvisningen visas här när du har laddat upp en bild.":"Förhandsvisningen visas här när du har laddat upp en fil."}get _resolvedPreviewSrc(){return this._previewSource==="external"&&this._hasExternalPreview?this._resolvedExternalPreviewSrc:this._selectedPreviewSrc}get _resolvedPreviewAlt(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewAlt:this._selectedPreviewAlt}get _resolvedPreviewTitle(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewTitle||(this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil"):this._selectedPreviewTitle}get _resolvedPreviewMeta(){return this._previewSource==="external"&&this._hasExternalPreview?this.previewMeta:this._selectedPreviewMeta}disconnectedCallback(){this._form&&this._formDataHandler&&this._form.removeEventListener("formdata",this._formDataHandler),this._formDataHandler=null,this._form=null,this._revokeObjectUrl(),super.disconnectedCallback()}updated(e){e.has("type")&&this.type==="image"&&this._selectedPreviewKind==="file"&&this._clearSelectedFileState(),(e.has("disabled")||e.has("name"))&&this._syncFormValue()}connectedCallback(){super.connectedCallback(),this._syncFormValue(),this._form=this.closest("form"),this._form&&(this._formDataHandler=e=>{const t=e.formData;t&&this._appendFileToFormData(t)},this._form.addEventListener("formdata",this._formDataHandler))}formDisabledCallback(e){this.disabled=e}formResetCallback(){this.clearPreviewState()}_syncFormValue(){if(this._internals){if(this.disabled||!this.name.trim()||!this._selectedFile){this._internals.setFormValue(null);return}this._internals.setFormValue(this._selectedFile)}}_appendFileToFormData(e){const t=this.name.trim();if(this.disabled||!t||!this._selectedFile)return;e.getAll(t).some(s=>s instanceof File)||e.append(t,this._selectedFile,this._selectedFile.name)}openPicker(){if(this.disabled)return;const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e){try{e.value=""}catch{}e.click()}}setPreviewState(e){this.previewSrc=(e==null?void 0:e.src)??"",this.previewAlt=(e==null?void 0:e.alt)??"",this.previewTitle=(e==null?void 0:e.title)??"",this.previewMeta=(e==null?void 0:e.meta)??"",this._previewSource="external"}clearPreviewState(){this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._previewSource="external",this._clearSelectedFileState(),this._clearNativeInputValue()}_dispatch(e,t={},i=!1){const s=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:i});return this.dispatchEvent(s),s}_handleFiles(e){const t=e&&e[0]?e[0]:null;!t||!this._isAcceptedFile(t)||(this._setSelectedFileState(t),this._dispatch("file-selected",{file:t}),this._dispatch("change",{file:t}))}_onZoneClick(e){this.disabled||e.composedPath().some(s=>s instanceof HTMLElement&&s.getAttribute("data-role")==="choose-button")||this.openPicker()}_onZoneKeydown(e){this.disabled||(e.key==="Enter"||e.key===" "||e.key==="Spacebar")&&(e.preventDefault(),this.openPicker())}_preventDefaultDrag(e){e.preventDefault(),e.stopPropagation()}_onDragEnter(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth+=1,this._isDragOver=!0)}_onDragOver(e){this.disabled||(this._preventDefaultDrag(e),this._isDragOver=!0)}_onDragLeave(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth=Math.max(0,this._dragDepth-1),this._dragDepth||(this._isDragOver=!1))}_onDrop(e){var t;this.disabled||(this._preventDefaultDrag(e),this._dragDepth=0,this._isDragOver=!1,this._handleFiles(((t=e.dataTransfer)==null?void 0:t.files)??null))}_onNativeInputChange(e){const t=e.currentTarget;this._handleFiles((t==null?void 0:t.files)??null)}_onChooseButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onReplaceButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onRemoveButtonClick(e){e.preventDefault(),e.stopPropagation(),this._dispatch("clear-request",{},!0).defaultPrevented||this.clearPreviewState()}_isAcceptedFile(e){const t=this._resolvedAccept.trim();if(!t)return!0;const i=e.name.toLowerCase(),s=(e.type||"").toLowerCase(),r=t.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean);return r.length?r.some(a=>a==="*/*"?!0:a.endsWith("/*")?s.startsWith(a.slice(0,-1)):a.startsWith(".")?i.endsWith(a):s===a):!0}_setSelectedFileState(e){const t=this._getPreviewKindForFile(e),i=this._getFileTypeLabel(e),s=this._formatFileSize(e.size);this._revokeObjectUrl(),this._selectedPreviewKind=t,this._selectedPreviewTitle=e.name||(t==="image"?"Uppladdad bild":"Uppladdad fil"),this._selectedPreviewMeta=[i,s].filter(Boolean).join(" • "),this._selectedPreviewAlt=t==="image"?e.name||"Uppladdad bild":"",this._selectedPreviewSrc="",t==="image"&&(this._objectUrl=URL.createObjectURL(e),this._selectedPreviewSrc=this._objectUrl),this._selectedFile=e,this._previewSource="internal",this._syncFormValue()}_clearSelectedFileState(){this._revokeObjectUrl(),this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._selectedFile=null,this._syncFormValue()}_clearNativeInputValue(){const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e)try{e.value=""}catch{}}_revokeObjectUrl(){this._objectUrl&&(URL.revokeObjectURL(this._objectUrl),this._objectUrl="")}_getPreviewKindForFile(e){const t=(e.type||"").toLowerCase(),i=this._getFileExtension(e.name).toLowerCase();return t.startsWith("image/")||["png","jpg","jpeg","webp","svg","gif","bmp","avif"].includes(i)?"image":"file"}_getFileExtension(e){const t=/\.([^.]+)$/.exec(e||"");return(t==null?void 0:t[1])??""}_getFileExtensionLabel(e){return(this._getFileExtension(e)||(this._resolvedPreviewKind==="image"?"IMG":"FIL")).slice(0,6).toUpperCase()}_getFileTypeLabel(e){if(e.type)return e.type;const t=this._getFileExtension(e.name);return t?t.toUpperCase():"Okänd filtyp"}_formatFileSize(e){return!Number.isFinite(e)||e<0?"":e<1024?`${e} B`:e<1024*1024?`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/1024)} kB`:`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/(1024*1024))} MB`}_renderPreviewMedia(){return this._resolvedPreviewKind==="image"&&this._resolvedPreviewSrc?c`<img class="scb-drop-zone__preview-image" src=${this._resolvedPreviewSrc} alt=${this._resolvedPreviewAlt} />`:this._hasPreview?c`
|
|
6789
6789
|
<div class="scb-drop-zone__preview-file-card">
|
|
6790
6790
|
<div class="scb-drop-zone__preview-file-card-inner">
|
|
6791
6791
|
<span class="scb-drop-zone__preview-file-extension">${this._getFileExtensionLabel(this._resolvedPreviewTitle)}</span>
|