jb-image-input
Version:
image input web component
2 lines • 2.19 kB
JavaScript
import e,{useEffect as t,useImperativeHandle as r,useRef as i}from"react";import"jb-image-input";import{useEvent as u}from"jb-core/react";function n(n,a){var c,l;let m=i(null);r(a,()=>m?m.current:void 0,[m]);let{acceptTypes:o,bridge:d,config:s,file:p,label:b,maxFileSize:g,message:v,multiple:f,name:A,required:x,validationList:y,value:q,onChange:S,onImageSelected:I,onInit:z,onLoad:F,onMaxSizeExceed:T,uploadType:L,...h}=n;return c={acceptTypes:o,bridge:d,config:s,file:p,label:b,maxFileSize:g,message:v,multiple:f,name:A,required:x,validationList:y,value:q},t(()=>{c.config&&m.current&&(m.current.config=c.config)},[c.config]),t(()=>{c.bridge&&m.current&&(m.current.bridge=c.bridge)},[c.bridge]),t(()=>{c.validationList&&m.current&&(m.current.validation.list=c.validationList)},[c.validationList]),t(()=>{c.multiple?m.current?.setAttribute("multiple","true"):m.current?.removeAttribute("multiple")},[c.multiple]),t(()=>{void 0!==c.value&&m.current&&(m.current.value=c.value)},[c.value]),t(()=>{c.file&&m.current?.selectImageByFile(c.file)},[c.file]),t(()=>{c.acceptTypes&&m.current&&(m.current.acceptTypes=c.acceptTypes)},[c.acceptTypes]),t(()=>{void 0!==c.maxFileSize&&m.current&&(m.current.maxFileSize=c.maxFileSize)},[c.maxFileSize]),t(()=>{c.name?m?.current?.setAttribute("name",c.name||""):m?.current?.removeAttribute("name")},[c.name]),t(()=>{c.label?m?.current?.setAttribute("label",c.label||""):m?.current?.removeAttribute("label")},[c.label]),t(()=>{c.message?m?.current?.setAttribute("message",c.message||""):m?.current?.removeAttribute("message")},[c.message]),t(()=>{"string"==typeof c.required&&m?.current?.setAttribute("required",c.required),"boolean"==typeof c.required&&(c.required?m?.current?.setAttribute("required",""):m?.current?.removeAttribute("required"))},[c.required]),u(m,"load",(l={onChange:S,onImageSelected:I,onInit:z,onLoad:F,onMaxSizeExceed:T}).onLoad,!0),u(m,"init",l.onInit,!0),u(m,"change",l.onChange),u(m,"imageSelected",l.onImageSelected),u(m,"maxSizeExceed",l.onMaxSizeExceed),e.createElement("jb-image-input",{ref:m,"upload-type":L||"AUTO",...h},n.children)}n.displayName="JBImageInput";export{n as JBImageInput};
//# sourceMappingURL=JBImageInput.js.map