scb-wc-test 0.1.303 → 0.1.305
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/mvc/components/scb-drop-zone/scb-drop-zone.js +258 -40
- package/package.json +2 -2
- package/scb-drop-zone/scb-drop-zone.d.ts +12 -3
- package/scb-drop-zone/scb-drop-zone.js +477 -161
- package/scb-wc-test.bundle.js +341 -123
|
@@ -1,4 +1,56 @@
|
|
|
1
|
-
import{a as h,n as s,r as c,i as v,x as p,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,a,l){try{customElements.get(o)||t(o,a,l)}catch(d){var n=String(d||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var u=Object.defineProperty,b=Object.getOwnPropertyDescriptor,i=(e,t,o,a)=>{for(var l=a>1?void 0:a?b(t,o):t,n=e.length-1,d;n>=0;n--)(d=e[n])&&(l=(a?d(t,o,l):d(l))||l);return a&&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,"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?.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 a=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:o});return this.dispatchEvent(a),a}_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(a=>a instanceof HTMLElement&&a.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(),a=(e.type||"").toLowerCase(),l=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return l.length?l.some(n=>n==="*/*"?!0:n.endsWith("/*")?a.startsWith(n.slice(0,-1)):n.startsWith(".")?o.endsWith(n):a===n):!0}_setSelectedFileState(e){const t=this._getPreviewKindForFile(e),o=this._getFileTypeLabel(e),a=this._formatFileSize(e.size);this._revokeObjectUrl(),this._selectedPreviewKind=t,this._selectedPreviewTitle=e.name||(t==="image"?"Uppladdad bild":"Uppladdad fil"),this._selectedPreviewMeta=[o,a].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?p`<img class="scb-drop-zone__preview-image" src=${this._resolvedPreviewSrc} alt=${this._resolvedPreviewAlt} />`:this._hasPreview?p`
|
|
1
|
+
import{a as u,n as o,r as c,i as b,x as p,t as f}from"../../vendor/vendor.js";import"../scb-button/scb-button.js";import"../../vendor/vendor-material.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(r,i,l){try{customElements.get(r)||t(r,i,l)}catch(d){var n=String(d||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var g=Object.defineProperty,w=Object.getOwnPropertyDescriptor,a=(e,t,r,i)=>{for(var l=i>1?void 0:i?w(t,r):t,n=e.length-1,d;n>=0;n--)(d=e[n])&&(l=(i?d(t,r,l):d(l))||l);return i&&l&&g(t,r,l),l};let s=class extends b{constructor(){super(),this._internals=null,this.type="default",this.name="",this.multiple=!1,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._selectedPreviewItems=[],this._dragDepth=0,this._previewSource="external",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.multiple?this.supportingText||(this.type==="image"?"Dra och släpp en eller flera bilder här, eller välj bilder från din dator.":"Dra och släpp en eller flera filer här, eller välj filer från din dator."):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.multiple||this._resolvedPreviewKind==="multi"?"Lägg till fler filer":this._resolvedPreviewKind==="image"?"Byt bild":"Byt fil"}get _resolvedRemoveButtonLabel(){return this.removeButtonLabel?this.removeButtonLabel:this._resolvedPreviewKind==="multi"?"Ta bort filer":this._resolvedPreviewKind==="image"?"Ta bort bild":"Ta bort fil"}get _resolvedPreviewEyebrow(){return this.previewEyebrow?this.previewEyebrow:this._hasPreview?this._resolvedPreviewKind==="multi"?"Uppladdade filer":this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil":"Förhandsvisning"}get _resolvedEmptyPreviewTitle(){return this.emptyPreviewTitle?this.emptyPreviewTitle:this.multiple?this.type==="image"?"Inga bilder uppladdade":"Inga filer uppladdade":this.type==="image"?"Ingen bild uppladdad":"Ingen fil uppladdad"}get _resolvedEmptyPreviewMeta(){return this.emptyPreviewMeta?this.emptyPreviewMeta:this.multiple?this.type==="image"?"Förhandsvisningen visas här när du har laddat upp bilder.":"Förhandsvisningen visas här när du har laddat upp filer.":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")||e.has("multiple"))&&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)return;const e=this.name.trim();if(this.disabled||!e||!this._selectedPreviewItems.length){this._internals.setFormValue(null);return}if(this.multiple){const t=new FormData;this._selectedPreviewItems.forEach(r=>{t.append(e,r.file,r.file.name)}),this._internals.setFormValue(t);return}this._internals.setFormValue(this._selectedPreviewItems[0].file)}_appendFileToFormData(e){const t=this.name.trim();if(this.disabled||!t||!this._selectedPreviewItems.length)return;e.getAll(t).some(i=>i instanceof File)||this._selectedPreviewItems.forEach(i=>{e.append(t,i.file,i.file.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={},r=!1){const i=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:r});return this.dispatchEvent(i),i}_handleFiles(e){const t=Array.from(e??[]).filter(l=>this._isAcceptedFile(l));if(!t.length)return;const r=this.multiple?t:[t[0]];this._setSelectedFilesState(r,this.multiple);const i=this._selectedPreviewItems.map(l=>l.file);this._dispatch("file-selected",{file:i[0],files:i,addedFiles:r}),this._dispatch("change",{file:i[0],files:i,addedFiles:r})}_onZoneClick(e){this.disabled||e.composedPath().some(i=>i instanceof HTMLElement&&i.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()}_onRemoveSelectedItemClick(e){if(e.preventDefault(),e.stopPropagation(),this.disabled)return;const r=e.currentTarget?.getAttribute("data-index")||"",i=Number.parseInt(r,10);Number.isInteger(i)&&this._removeSelectedItemAt(i)}_isAcceptedFile(e){const t=this._resolvedAccept.trim();if(!t)return!0;const r=e.name.toLowerCase(),i=(e.type||"").toLowerCase(),l=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return l.length?l.some(n=>n==="*/*"?!0:n.endsWith("/*")?i.startsWith(n.slice(0,-1)):n.startsWith(".")?r.endsWith(n):i===n):!0}_setSelectedFilesState(e,t){const r=e.filter(Boolean);if(!r.length)return;const i=t?this._selectedPreviewItems:[],l=r.map(d=>{const h=this._getPreviewKindForFile(d),v=this._getFileTypeLabel(d),m=this._formatFileSize(d.size),_=h==="image"?URL.createObjectURL(d):"";return{file:d,kind:h,src:_,alt:h==="image"?d.name||"Uppladdad bild":"",title:d.name||(h==="image"?"Uppladdad bild":"Uppladdad fil"),meta:[v,m].filter(Boolean).join(" • ")}});t||this._revokeObjectUrl();const n=this.multiple?[...i,...l]:[l[0]];!this.multiple&&i.length&&this._revokeObjectUrlsForItems(i),this._applySelectedPreviewItems(n)}_clearSelectedFileState(){this._revokeObjectUrl(),this._applySelectedPreviewItems([])}_applySelectedPreviewItems(e){this._selectedPreviewItems=e;const t=e[0];if(!t){this._selectedPreviewKind="empty",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._selectedPreviewAlt="",this._selectedPreviewSrc="",this._previewSource="internal",this._syncFormValue();return}if(e.length>1){const r=e.reduce((i,l)=>i+(Number.isFinite(l.file.size)?l.file.size:0),0);this._selectedPreviewKind="multi",this._selectedPreviewTitle=`${e.length} filer valda`,this._selectedPreviewMeta=`Totalt ${this._formatFileSize(r)}`,this._selectedPreviewAlt="",this._selectedPreviewSrc=""}else this._selectedPreviewKind=t.kind,this._selectedPreviewTitle=t.title,this._selectedPreviewMeta=t.meta,this._selectedPreviewAlt=t.alt,this._selectedPreviewSrc=t.src;this._previewSource="internal",this._syncFormValue()}_removeSelectedItemAt(e){if(e<0||e>=this._selectedPreviewItems.length)return;const t=this._selectedPreviewItems[e];t.src&&URL.revokeObjectURL(t.src);const r=this._selectedPreviewItems.filter((i,l)=>l!==e);this._applySelectedPreviewItems(r),this._dispatch("file-removed",{file:t.file,files:r.map(i=>i.file),index:e}),this._dispatch("change",{file:r[0]?.file??null,files:r.map(i=>i.file),removedFile:t.file,removedIndex:e})}_renderSelectedImageCards(){return!this.multiple||this.type!=="image"||!this._selectedPreviewItems.some(t=>t.kind==="image"&&t.src)?null:p`
|
|
2
|
+
<div class="scb-drop-zone__selected-images" aria-label="Valda bilder">
|
|
3
|
+
${this._selectedPreviewItems.map((t,r)=>t.kind!=="image"||!t.src?null:p`
|
|
4
|
+
<article class="scb-drop-zone__selected-image-card" aria-label=${`${t.title}, ${t.meta}`}>
|
|
5
|
+
<img class="scb-drop-zone__selected-image" src=${t.src} alt=${t.alt||t.title} />
|
|
6
|
+
<span class="scb-drop-zone__selected-image-title">${t.title}</span>
|
|
7
|
+
<span class="scb-drop-zone__selected-image-meta">${t.meta}</span>
|
|
8
|
+
<scb-button
|
|
9
|
+
class="scb-drop-zone__selected-image-action"
|
|
10
|
+
data-index=${String(r)}
|
|
11
|
+
variant="text"
|
|
12
|
+
size="small"
|
|
13
|
+
label="Ta bort"
|
|
14
|
+
aria-label=${`Ta bort ${t.title}`}
|
|
15
|
+
@click=${this._onRemoveSelectedItemClick}
|
|
16
|
+
></scb-button>
|
|
17
|
+
</article>
|
|
18
|
+
`)}
|
|
19
|
+
</div>
|
|
20
|
+
`}_clearNativeInputValue(){const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e)try{e.value=""}catch{}}_revokeObjectUrl(){this._revokeObjectUrlsForItems(this._selectedPreviewItems)}_revokeObjectUrlsForItems(e){e.forEach(t=>{t.src&&URL.revokeObjectURL(t.src)})}_getPreviewKindForFile(e){const t=(e.type||"").toLowerCase(),r=this._getFileExtension(e.name).toLowerCase();return t.startsWith("image/")||["png","jpg","jpeg","webp","svg","gif","bmp","avif"].includes(r)?"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(){if(this._resolvedPreviewKind==="multi"){if(this.multiple&&this.type==="image")return p`
|
|
21
|
+
<div class="scb-drop-zone__preview-placeholder">
|
|
22
|
+
<div class="scb-drop-zone__preview-placeholder-inner">
|
|
23
|
+
<span class="scb-drop-zone__preview-placeholder-label">Bild</span>
|
|
24
|
+
<p class="scb-drop-zone__preview-file-label">Valda bilder visas under uppladdningsytan.</p>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
`;const e=this._selectedPreviewItems;return p`
|
|
28
|
+
<ul class="scb-drop-zone__preview-list" aria-label="Valda filer">
|
|
29
|
+
${e.map((t,r)=>p`
|
|
30
|
+
<li class="scb-drop-zone__preview-list-item" aria-label=${`${t.title}, ${t.meta}`}>
|
|
31
|
+
${t.kind==="image"&&t.src?p`<img class="scb-drop-zone__preview-image scb-drop-zone__preview-image--thumb" src=${t.src} alt=${t.alt||t.title} />`:p`
|
|
32
|
+
<span class="scb-drop-zone__preview-list-extension" aria-hidden="true">
|
|
33
|
+
${this._getFileExtensionLabel(t.title)}
|
|
34
|
+
</span>
|
|
35
|
+
<span class="scb-drop-zone__sr-only">Fil</span>
|
|
36
|
+
`}
|
|
37
|
+
<span class="scb-drop-zone__preview-list-content">
|
|
38
|
+
<span class="scb-drop-zone__preview-list-title">${t.title}</span>
|
|
39
|
+
<span class="scb-drop-zone__preview-list-meta">${t.meta}</span>
|
|
40
|
+
</span>
|
|
41
|
+
<scb-button
|
|
42
|
+
class="scb-drop-zone__preview-list-item-action"
|
|
43
|
+
data-index=${String(r)}
|
|
44
|
+
variant="text"
|
|
45
|
+
size="small"
|
|
46
|
+
label="Ta bort"
|
|
47
|
+
aria-label=${`Ta bort ${t.title}`}
|
|
48
|
+
@click=${this._onRemoveSelectedItemClick}
|
|
49
|
+
></scb-button>
|
|
50
|
+
</li>
|
|
51
|
+
`)}
|
|
52
|
+
</ul>
|
|
53
|
+
`}return this._resolvedPreviewKind==="image"&&this._resolvedPreviewSrc?p`<img class="scb-drop-zone__preview-image" src=${this._resolvedPreviewSrc} alt=${this._resolvedPreviewAlt} />`:this._hasPreview?p`
|
|
2
54
|
<div class="scb-drop-zone__preview-file-card">
|
|
3
55
|
<div class="scb-drop-zone__preview-file-card-inner">
|
|
4
56
|
<span class="scb-drop-zone__preview-file-extension">${this._getFileExtensionLabel(this._resolvedPreviewTitle)}</span>
|
|
@@ -20,7 +72,7 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
20
72
|
<div class="scb-drop-zone__preview-body">
|
|
21
73
|
<p class="scb-drop-zone__preview-eyebrow">${this._resolvedPreviewEyebrow}</p>
|
|
22
74
|
<h3 class="scb-drop-zone__preview-title">${e}</h3>
|
|
23
|
-
<p class="scb-drop-zone__preview-meta">${t}</p>
|
|
75
|
+
<p class="scb-drop-zone__preview-meta" aria-live="polite">${t}</p>
|
|
24
76
|
|
|
25
77
|
${this._hasPreview?p`
|
|
26
78
|
<div class="scb-drop-zone__preview-actions">
|
|
@@ -45,50 +97,55 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
45
97
|
`}render(){const e={"scb-drop-zone__surface":!0,"is-dragover":this._isDragOver};return p`
|
|
46
98
|
<div class="scb-drop-zone">
|
|
47
99
|
<div class="scb-drop-zone__layout ${this.showPreview?"scb-drop-zone__layout--with-preview":""}">
|
|
48
|
-
<div
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
<
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
100
|
+
<div class="scb-drop-zone__main">
|
|
101
|
+
<div
|
|
102
|
+
class=${Object.keys(e).filter(t=>e[t]).join(" ")}
|
|
103
|
+
data-role="zone"
|
|
104
|
+
role="button"
|
|
105
|
+
tabindex=${this.disabled?"-1":"0"}
|
|
106
|
+
aria-label=${this._resolvedLabel}
|
|
107
|
+
@click=${this._onZoneClick}
|
|
108
|
+
@keydown=${this._onZoneKeydown}
|
|
109
|
+
@dragenter=${this._onDragEnter}
|
|
110
|
+
@dragover=${this._onDragOver}
|
|
111
|
+
@dragleave=${this._onDragLeave}
|
|
112
|
+
@drop=${this._onDrop}
|
|
113
|
+
>
|
|
114
|
+
<input
|
|
115
|
+
class="scb-drop-zone__native-input"
|
|
116
|
+
data-role="native-input"
|
|
117
|
+
type="file"
|
|
118
|
+
.name=${this.name}
|
|
119
|
+
.accept=${this._resolvedAccept}
|
|
120
|
+
?multiple=${this.multiple}
|
|
121
|
+
?disabled=${this.disabled}
|
|
122
|
+
@change=${this._onNativeInputChange}
|
|
123
|
+
/>
|
|
124
|
+
|
|
125
|
+
<div class="scb-drop-zone__inner">
|
|
126
|
+
<h2 class="scb-drop-zone__title">${this._resolvedLabel}</h2>
|
|
127
|
+
<p class="scb-drop-zone__lead">${this._resolvedSupportingText}</p>
|
|
128
|
+
${this._resolvedMetaText?p`<p class="scb-drop-zone__meta">${this._resolvedMetaText}</p>`:null}
|
|
129
|
+
|
|
130
|
+
<div class="scb-drop-zone__actions">
|
|
131
|
+
<scb-button
|
|
132
|
+
data-role="choose-button"
|
|
133
|
+
variant="filled"
|
|
134
|
+
size="medium"
|
|
135
|
+
label=${this._resolvedButtonLabel}
|
|
136
|
+
@click=${this._onChooseButtonClick}
|
|
137
|
+
></scb-button>
|
|
138
|
+
</div>
|
|
84
139
|
</div>
|
|
85
140
|
</div>
|
|
86
141
|
</div>
|
|
87
142
|
|
|
88
143
|
${this._renderPreview()}
|
|
89
144
|
</div>
|
|
145
|
+
|
|
146
|
+
${this._renderSelectedImageCards()}
|
|
90
147
|
</div>
|
|
91
|
-
`}};
|
|
148
|
+
`}};s.formAssociated=!0;s.styles=u`
|
|
92
149
|
:host {
|
|
93
150
|
display: block;
|
|
94
151
|
width: 100%;
|
|
@@ -112,11 +169,21 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
112
169
|
grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
|
|
113
170
|
}
|
|
114
171
|
|
|
172
|
+
:host([multiple][type='default']) .scb-drop-zone__layout--with-preview {
|
|
173
|
+
grid-template-columns: minmax(0, 6fr) minmax(340px, 4fr);
|
|
174
|
+
}
|
|
175
|
+
|
|
115
176
|
.scb-drop-zone__surface,
|
|
116
177
|
.scb-drop-zone__preview {
|
|
117
178
|
min-width: 0;
|
|
118
179
|
}
|
|
119
180
|
|
|
181
|
+
.scb-drop-zone__main {
|
|
182
|
+
min-width: 0;
|
|
183
|
+
display: grid;
|
|
184
|
+
gap: var(--spacing-4, 12px);
|
|
185
|
+
}
|
|
186
|
+
|
|
120
187
|
.scb-drop-zone__surface {
|
|
121
188
|
box-sizing: border-box;
|
|
122
189
|
width: 100%;
|
|
@@ -134,6 +201,11 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
134
201
|
outline: none;
|
|
135
202
|
}
|
|
136
203
|
|
|
204
|
+
:host([multiple][type='default']) .scb-drop-zone__surface {
|
|
205
|
+
min-height: var(--scb-drop-zone-multi-default-min-height, min(32vh, 280px));
|
|
206
|
+
padding: var(--spacing-6, 20px);
|
|
207
|
+
}
|
|
208
|
+
|
|
137
209
|
.scb-drop-zone__surface:hover,
|
|
138
210
|
.scb-drop-zone__surface:focus-visible,
|
|
139
211
|
.scb-drop-zone__surface.is-dragover {
|
|
@@ -197,6 +269,10 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
197
269
|
align-content: stretch;
|
|
198
270
|
}
|
|
199
271
|
|
|
272
|
+
:host([multiple][type='default']) .scb-drop-zone__preview {
|
|
273
|
+
min-height: var(--scb-drop-zone-multi-default-preview-min-height, min(42vh, 420px));
|
|
274
|
+
}
|
|
275
|
+
|
|
200
276
|
.scb-drop-zone__preview-media {
|
|
201
277
|
width: 100%;
|
|
202
278
|
height: 100%;
|
|
@@ -218,6 +294,16 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
218
294
|
border-radius: var(--radius-m, 12px);
|
|
219
295
|
}
|
|
220
296
|
|
|
297
|
+
.scb-drop-zone__preview-image--thumb {
|
|
298
|
+
width: 40px;
|
|
299
|
+
height: 40px;
|
|
300
|
+
max-width: 40px;
|
|
301
|
+
max-height: 40px;
|
|
302
|
+
border-radius: var(--radius-s, 8px);
|
|
303
|
+
object-fit: cover;
|
|
304
|
+
flex: 0 0 auto;
|
|
305
|
+
}
|
|
306
|
+
|
|
221
307
|
.scb-drop-zone__preview-placeholder,
|
|
222
308
|
.scb-drop-zone__preview-file-card {
|
|
223
309
|
box-sizing: border-box;
|
|
@@ -282,6 +368,89 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
282
368
|
line-height: 1.6;
|
|
283
369
|
}
|
|
284
370
|
|
|
371
|
+
.scb-drop-zone__preview-list {
|
|
372
|
+
width: 100%;
|
|
373
|
+
max-height: 300px;
|
|
374
|
+
margin: 0;
|
|
375
|
+
padding: 0;
|
|
376
|
+
list-style: none;
|
|
377
|
+
display: grid;
|
|
378
|
+
gap: var(--spacing-2, 4px);
|
|
379
|
+
overflow: auto;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
:host([multiple][type='default']) .scb-drop-zone__preview-list {
|
|
383
|
+
max-height: 260px;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.scb-drop-zone__preview-list-item {
|
|
387
|
+
display: flex;
|
|
388
|
+
align-items: center;
|
|
389
|
+
gap: var(--spacing-3, 8px);
|
|
390
|
+
min-width: 0;
|
|
391
|
+
padding: var(--spacing-3, 8px);
|
|
392
|
+
border-radius: var(--radius-s, 8px);
|
|
393
|
+
background: var(--md-sys-color-surface-container, #f5f5f5);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
.scb-drop-zone__preview-list-extension {
|
|
397
|
+
display: inline-flex;
|
|
398
|
+
align-items: center;
|
|
399
|
+
justify-content: center;
|
|
400
|
+
flex: 0 0 auto;
|
|
401
|
+
border-radius: var(--radius-s, 8px);
|
|
402
|
+
color: var(--md-sys-color-on-primary-container, #001944);
|
|
403
|
+
font-size: var(--md-sys-typescale-label-medium-size, 12px);
|
|
404
|
+
line-height: var(--md-sys-typescale-label-medium-line-height, 16px);
|
|
405
|
+
font-weight: 700;
|
|
406
|
+
letter-spacing: 0.04em;
|
|
407
|
+
text-transform: uppercase;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.scb-drop-zone__preview-list-content {
|
|
411
|
+
display: flex;
|
|
412
|
+
flex-direction: column;
|
|
413
|
+
min-width: 0;
|
|
414
|
+
text-align: left;
|
|
415
|
+
flex: 1 1 auto;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.scb-drop-zone__preview-list-item-action {
|
|
419
|
+
flex: 0 0 auto;
|
|
420
|
+
margin-left: auto;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.scb-drop-zone__preview-list-title,
|
|
424
|
+
.scb-drop-zone__preview-list-meta {
|
|
425
|
+
white-space: nowrap;
|
|
426
|
+
overflow: hidden;
|
|
427
|
+
text-overflow: ellipsis;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
.scb-drop-zone__preview-list-title {
|
|
431
|
+
font-size: var(--md-sys-typescale-body-medium-size, 16px);
|
|
432
|
+
line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
|
|
433
|
+
color: var(--md-sys-color-on-surface, #111111);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.scb-drop-zone__preview-list-meta {
|
|
437
|
+
font-size: var(--md-sys-typescale-body-small-size, 14px);
|
|
438
|
+
line-height: var(--md-sys-typescale-body-small-line-height, 20px);
|
|
439
|
+
color: var(--md-sys-color-on-surface-variant, #444444);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.scb-drop-zone__sr-only {
|
|
443
|
+
position: absolute;
|
|
444
|
+
width: 1px;
|
|
445
|
+
height: 1px;
|
|
446
|
+
padding: 0;
|
|
447
|
+
margin: -1px;
|
|
448
|
+
overflow: hidden;
|
|
449
|
+
clip: rect(0, 0, 0, 0);
|
|
450
|
+
white-space: nowrap;
|
|
451
|
+
border: 0;
|
|
452
|
+
}
|
|
453
|
+
|
|
285
454
|
.scb-drop-zone__preview-body {
|
|
286
455
|
display: flex;
|
|
287
456
|
flex-direction: column;
|
|
@@ -320,9 +489,58 @@ import{a as h,n as s,r as c,i as v,x as p,t as _}from"../../vendor/vendor.js";(f
|
|
|
320
489
|
padding-top: var(--spacing-5, 16px);
|
|
321
490
|
}
|
|
322
491
|
|
|
492
|
+
.scb-drop-zone__selected-images {
|
|
493
|
+
display: grid;
|
|
494
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
495
|
+
gap: var(--spacing-3, 8px);
|
|
496
|
+
margin-top: var(--spacing-4, 12px);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
.scb-drop-zone__selected-image-card {
|
|
500
|
+
display: grid;
|
|
501
|
+
gap: var(--spacing-2, 4px);
|
|
502
|
+
border: 1px solid var(--md-sys-color-outline-variant, #cccccc);
|
|
503
|
+
border-radius: var(--radius-m, 12px);
|
|
504
|
+
background: var(--md-sys-color-surface-container-lowest, #ffffff);
|
|
505
|
+
padding: var(--spacing-3, 8px);
|
|
506
|
+
min-width: 0;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.scb-drop-zone__selected-image {
|
|
510
|
+
display: block;
|
|
511
|
+
width: 100%;
|
|
512
|
+
aspect-ratio: 4 / 3;
|
|
513
|
+
object-fit: cover;
|
|
514
|
+
border-radius: var(--radius-s, 8px);
|
|
515
|
+
background: var(--md-sys-color-surface-container, #f5f5f5);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.scb-drop-zone__selected-image-title,
|
|
519
|
+
.scb-drop-zone__selected-image-meta {
|
|
520
|
+
white-space: nowrap;
|
|
521
|
+
overflow: hidden;
|
|
522
|
+
text-overflow: ellipsis;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
.scb-drop-zone__selected-image-title {
|
|
526
|
+
font-size: var(--md-sys-typescale-body-medium-size, 16px);
|
|
527
|
+
line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
|
|
528
|
+
color: var(--md-sys-color-on-surface, #111111);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
.scb-drop-zone__selected-image-meta {
|
|
532
|
+
font-size: var(--md-sys-typescale-body-small-size, 14px);
|
|
533
|
+
line-height: var(--md-sys-typescale-body-small-line-height, 20px);
|
|
534
|
+
color: var(--md-sys-color-on-surface-variant, #444444);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.scb-drop-zone__selected-image-action {
|
|
538
|
+
justify-self: end;
|
|
539
|
+
}
|
|
540
|
+
|
|
323
541
|
@media (max-width: 900px) {
|
|
324
542
|
.scb-drop-zone__layout--with-preview {
|
|
325
543
|
grid-template-columns: 1fr;
|
|
326
544
|
}
|
|
327
545
|
}
|
|
328
|
-
`;
|
|
546
|
+
`;a([o({type:String,reflect:!0})],s.prototype,"type",2);a([o({type:String})],s.prototype,"name",2);a([o({type:Boolean,reflect:!0})],s.prototype,"multiple",2);a([o({type:String})],s.prototype,"label",2);a([o({type:String,attribute:"supporting-text"})],s.prototype,"supportingText",2);a([o({type:String,attribute:"meta-text"})],s.prototype,"metaText",2);a([o({type:String,attribute:"button-label"})],s.prototype,"buttonLabel",2);a([o({type:String,attribute:"replace-button-label"})],s.prototype,"replaceButtonLabel",2);a([o({type:String,attribute:"remove-button-label"})],s.prototype,"removeButtonLabel",2);a([o({type:String,attribute:"preview-eyebrow"})],s.prototype,"previewEyebrow",2);a([o({type:String,attribute:"empty-preview-title"})],s.prototype,"emptyPreviewTitle",2);a([o({type:String,attribute:"empty-preview-meta"})],s.prototype,"emptyPreviewMeta",2);a([o({type:String})],s.prototype,"accept",2);a([o({type:Boolean,attribute:"show-preview",reflect:!0})],s.prototype,"showPreview",2);a([o({type:Boolean,reflect:!0})],s.prototype,"disabled",2);a([o({type:String,attribute:!1})],s.prototype,"previewSrc",2);a([o({type:String,attribute:"default-image-src"})],s.prototype,"defaultImageSrc",2);a([o({type:String,attribute:!1})],s.prototype,"previewAlt",2);a([o({type:String,attribute:!1})],s.prototype,"previewTitle",2);a([o({type:String,attribute:!1})],s.prototype,"previewMeta",2);a([c()],s.prototype,"_isDragOver",2);a([c()],s.prototype,"_selectedPreviewKind",2);a([c()],s.prototype,"_selectedPreviewSrc",2);a([c()],s.prototype,"_selectedPreviewAlt",2);a([c()],s.prototype,"_selectedPreviewTitle",2);a([c()],s.prototype,"_selectedPreviewMeta",2);a([c()],s.prototype,"_selectedPreviewItems",2);s=a([f("scb-drop-zone")],s);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scb-wc-test",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.305",
|
|
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": "B2BD4FEBF4D08D675DCB573060FB3990016B7BABC7AB289D25B13A4762AFFE9A"
|
|
390
390
|
}
|
|
@@ -7,6 +7,8 @@ export declare class ScbDropZone extends LitElement {
|
|
|
7
7
|
type: DropZoneType;
|
|
8
8
|
/** Namn som används när komponenten skickas i formulär. */
|
|
9
9
|
name: string;
|
|
10
|
+
/** Tillåter val av flera filer. */
|
|
11
|
+
multiple: boolean;
|
|
10
12
|
/** Rubrik i drop-zonen. */
|
|
11
13
|
label: string;
|
|
12
14
|
/** Förklarande text i drop-zonen. */
|
|
@@ -47,10 +49,11 @@ export declare class ScbDropZone extends LitElement {
|
|
|
47
49
|
private _selectedPreviewAlt;
|
|
48
50
|
private _selectedPreviewTitle;
|
|
49
51
|
private _selectedPreviewMeta;
|
|
52
|
+
private _selectedPreviewItems;
|
|
50
53
|
private _dragDepth;
|
|
51
54
|
private _previewSource;
|
|
52
|
-
private
|
|
53
|
-
private
|
|
55
|
+
private _form;
|
|
56
|
+
private _formDataHandler;
|
|
54
57
|
constructor();
|
|
55
58
|
static styles: import('lit').CSSResult;
|
|
56
59
|
private get _resolvedAccept();
|
|
@@ -77,6 +80,7 @@ export declare class ScbDropZone extends LitElement {
|
|
|
77
80
|
formDisabledCallback(disabled: boolean): void;
|
|
78
81
|
formResetCallback(): void;
|
|
79
82
|
private _syncFormValue;
|
|
83
|
+
private _appendFileToFormData;
|
|
80
84
|
openPicker(): void;
|
|
81
85
|
setPreviewState(state: {
|
|
82
86
|
src?: string;
|
|
@@ -98,11 +102,16 @@ export declare class ScbDropZone extends LitElement {
|
|
|
98
102
|
private _onChooseButtonClick;
|
|
99
103
|
private _onReplaceButtonClick;
|
|
100
104
|
private _onRemoveButtonClick;
|
|
105
|
+
private _onRemoveSelectedItemClick;
|
|
101
106
|
private _isAcceptedFile;
|
|
102
|
-
private
|
|
107
|
+
private _setSelectedFilesState;
|
|
103
108
|
private _clearSelectedFileState;
|
|
109
|
+
private _applySelectedPreviewItems;
|
|
110
|
+
private _removeSelectedItemAt;
|
|
111
|
+
private _renderSelectedImageCards;
|
|
104
112
|
private _clearNativeInputValue;
|
|
105
113
|
private _revokeObjectUrl;
|
|
114
|
+
private _revokeObjectUrlsForItems;
|
|
106
115
|
private _getPreviewKindForFile;
|
|
107
116
|
private _getFileExtension;
|
|
108
117
|
private _getFileExtensionLabel;
|