limbo-component 3.7.1 → 3.7.2
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/dist/limbo.cjs.js +1 -1
- package/dist/limbo.cjs.map +1 -1
- package/dist/limbo.css +1 -1
- package/dist/limbo.es.js +5 -5
- package/dist/limbo.es.map +1 -1
- package/dist/limbo.min.js +1 -1
- package/dist/limbo.min.js.map +1 -1
- package/dist/limbo.umd.js +1 -1
- package/dist/limbo.umd.js.map +1 -1
- package/dist/types/App.d.ts.map +1 -1
- package/dist/types/components/ImageCard.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/limbo.es.js
CHANGED
|
@@ -126,7 +126,7 @@ return c("div",{className:`limbo-folder-selector ${d}`,children:[i&&/* @__PURE__
|
|
|
126
126
|
/* @__PURE__ */s("p",{className:"lb:text-red-600 lb:text-xs",children:E}),
|
|
127
127
|
/* @__PURE__ */s("button",{type:"button",onClick:z,className:"lb:text-xs lb:text-brand-blue-1000 lb:underline lb:cursor-pointer",children:"Reintentar"})]})]})}const Oe={pdf:{symbol:"icon-doc-pdf",color:"#dc2626"},doc:{symbol:"icon-doc-word",color:"#2563eb"},docx:{symbol:"icon-doc-word",color:"#2563eb"},xls:{symbol:"icon-doc-xls",color:"#16a34a"},xlsx:{symbol:"icon-doc-xls",color:"#16a34a"},ppt:{symbol:"icon-doc-ppt",color:"#ea580c"},pptx:{symbol:"icon-doc-ppt",color:"#ea580c"},txt:{symbol:"icon-doc-text",color:"#6b7280"},csv:{symbol:"icon-doc-report",color:"#16a34a"},mp4:{symbol:"icon-video",color:"#7c3aed"},webm:{symbol:"icon-video",color:"#7c3aed"},mov:{symbol:"icon-video",color:"#7c3aed"},avi:{symbol:"icon-video",color:"#7c3aed"},mkv:{symbol:"icon-video",color:"#7c3aed"},gif:{symbol:"icon-video",color:"#7a3f2d"},mp3:{symbol:"icon-support-person",color:"#0891b2"},mpeg:{symbol:"icon-support-person",color:"#0891b2"},wav:{symbol:"icon-support-person",color:"#0891b2"},ogg:{symbol:"icon-support-person",color:"#0891b2"},aac:{symbol:"icon-support-person",color:"#0891b2"},flac:{symbol:"icon-support-person",color:"#0891b2"},default:{symbol:"icon-clip",color:"#6b7280"}},Re=/* @__PURE__ */new Set(["text/plain","text/csv","text/html","text/xml","text/css","text/javascript","text/markdown","application/json","application/xml","application/javascript"]);const je=e.memo(function({image:a,onDelete:o,onCrop:d,onSelect:b,onFolderChange:m,thumbnailSize:h=32,isDeleting:p=!1,showFolderInfo:f=!0,allowMoveFolder:g=!0,allowedFolderSlugs:v=null,excludedFolderSlugs:y=null,allowCreateFolder:w=!1,allowedActions:x={select:!0,download:!0,copy:!0,delete:!0,crop:!0,variants:!0,rename:!0},onRename:k=null}){const[C,N]=t(!1),[S,E]=t(!1),[$,_]=t(!1),[z,T]=t(a.variants_count||0),[L,A]=t(!1),[P,I]=t(!1),[D,O]=t(!1),[R,j]=t(""),[F,U]=t(null),[W,q]=t(!1),V=r(null);n(()=>{if(!L)return;const e=e=>{e.target.closest(".limbo-image-card-wrapper")||A(!1)};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[L]);const H=i(()=>(e=>{if(e.asset_type)return e.asset_type;const t=e.mime_type||e.original_mime||"";return"image/gif"===t?"video":t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":t.includes("pdf")||t.includes("document")||t.includes("spreadsheet")||t.includes("presentation")||t.includes("text/")?"document":"unknown"})(a),[a]),X="image"===H,Y=(a.mime_type||a.original_mime||"").includes("image/gif"),J=X||Y,Z=i(()=>(e=>{if(!e)return"";const t=e.split(".");return t.length>1?t.pop().toLowerCase():""})(a.filename),[a.filename]),ee=Oe[Z]||Oe.default,te=a.url||a.path,ne=J&&a.thumbnail_url?a.thumbnail_url:te,[le,re]=t(()=>G(ne)),[ae,ie]=t(()=>!Q(ne)),[oe,se]=t(!1),[ce,ue]=t(()=>Q(ne)),{isMobile:de,isTouch:be}=M(),me=window.limboCore?.accessibilityManager,he=(window.limboCore?.config?.getGlobal()||{}).interaction||{allowSelection:!1,allowCropping:!0},pe=e=>{e.stopPropagation(),me?.announce(`Eliminando imagen ${a.filename}`,"assertive"),o?.(a)},fe=async e=>{e.stopPropagation();let t=a.url||a.path;try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(t);else{const e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),document.body.removeChild(e)}N(!0),me?.announce(`URL de ${a.filename} copiada al portapapeles. Nota: La URL puede tener un tiempo de validez limitado.`),setTimeout(()=>N(!1),2e3)}catch(n){console.error("Error al copiar URL:",n),me?.announce(`Error al copiar URL de ${a.filename}. Inténtalo de nuevo.`),alert(`Error al copiar URL de ${a.filename}. Por favor, inténtalo de nuevo.`)}},we=async e=>{e.preventDefault(),e.stopPropagation();const t=a.url||a.path,n=a.filename||"limbo-file";if(!X){try{me?.announce(`Descargando ${n}`);const e=await fetch(t,{mode:"cors"});if(!e.ok)throw new Error(`HTTP error: ${e.status}`);const l=await e.blob(),r=window.URL.createObjectURL(l),a=document.createElement("a");a.href=r,a.download=n,a.style.display="none",document.body.appendChild(a),a.click(),setTimeout(()=>{window.URL.revokeObjectURL(r),document.body.removeChild(a)},100),me?.announce(`${n} descargado correctamente`)}catch(r){console.error("Error downloading file:",r),me?.announce(`Error al descargar ${n}`)}return}const{downloadImage:l}=await Promise.resolve().then(()=>el);await l(t,n,{originalFormat:a.format,accessibilityManager:me})},xe=e=>{e.stopPropagation(),me?.announce(`Editando imagen ${a.filename}`),d?.(a)},ke=l(e=>{e.stopPropagation();const t=a.filename.replace(/\.[^.]+$/,"");j(t),U(null),O(!0),setTimeout(()=>V.current?.select(),0)},[a.filename]),Ce=l(e=>{e?.stopPropagation(),O(!1),U(null)},[]),Ne=l(e=>{const t=e.target.value;j(t);const n=B(t||"_");U(n.valid?null:n.error)},[]),Ee=l(async e=>{e?.preventDefault(),e?.stopPropagation();const t=R.trim(),n=B(t);if(!n.valid)return void U(n.error);const l=t+(a.filename.includes(".")?"."+a.filename.split(".").pop():"");if(l!==a.filename){q(!0);try{await(k?.(a,l)),O(!1)}catch{U("Error al renombrar. Inténtalo de nuevo.")}finally{q(!1)}}else O(!1)},[R,a,k]),Te=X&&(a.variants&&a.variants.length>0||z>0),Le=z,Ae=e.useCallback(()=>{T(e=>Math.max(0,e-1))},[]);e.useEffect(()=>{T(a.variants_count||0)},[a.variants_count]),n(()=>{if(!J)return ie(!1),void ue(!0);if(a.thumbnail_url)return re(a.thumbnail_url),ie(!0),se(!1),void ue(!1);const e=a.url||a.path;if(Q(e))return re(G(e)),ie(!1),se(!1),void ue(!0);ie(!0),se(!1),ue(!1),K(e).then(e=>{re(e),ie(!1),ue(!0)}).catch(()=>{re(e),ie(!1),se(!0)})},[a.url,a.path,a.thumbnail_url,J]);const Pe=he.allowSelection&&x.select&&b,Ie=Y?te:null,je=X&&!Y&&he.allowCropping&&x.crop&&d,Fe=()=>{Pe?(me?.announce(`Seleccionando ${a.filename} para el portal`),b?.(a)):Te?(me?.announce(`Mostrando recortes de ${a.filename}`),E(!0)):(me?.announce(`Abriendo visor de ${a.filename}`),_(!0))};/* @__PURE__ */
|
|
128
128
|
return c(u,{children:[
|
|
129
|
-
/* @__PURE__ */c("div",{className:`limbo-image-card-wrapper lb:relative lb:cursor-pointer ${p?"lb:opacity-50":""} ${de?"limbo-image-card-wrapper--mobile":""}`,onClick:Fe,onKeyDown:e=>{switch(e.key){case"Enter":case" ":e.preventDefault(),Fe();break;case"d":case"D":x.download&&(e.preventDefault(),we(e));break;case"c":case"C":x.copy&&(e.preventDefault(),fe(e));break;case"Delete":case"Backspace":x.delete&&o&&(e.preventDefault(),pe(e));break;case"x":case"X":x.crop&&d&&(e.preventDefault(),xe(e));break;case"v":case"V":x.variants&&(e.preventDefault(),(e=>{e.stopPropagation(),me?.announce(`Mostrando recortes de ${a.filename}`),E(!0)})(e))}},onMouseEnter:Ie?()=>{Ie&&a.thumbnail_url&&re(Ie)}:void 0,onMouseLeave:Ie?()=>{Ie&&a.thumbnail_url&&re(a.thumbnail_url)}:void 0,title:Te?`Ver ${Le} recorte${1!==Le?"s":""} de ${a.filename}`:J?de?"Toque para ampliar imagen":"Click para ampliar imagen con zoom":de?"Toque para previsualizar":"Click para previsualizar",role:"button",tabIndex:0,"aria-label":J?`${Y?"GIF":"Imagen"} ${a.filename}. ${a.width}x${a.height} px`:`Archivo ${a.filename}. Tipo: ${H}`,style:{...be&&{touchAction:"manipulation",WebkitTapHighlightColor:"transparent"}},children:[P&&/* @__PURE__ */c("div",{className:"limbo-moving-overlay",children:[
|
|
129
|
+
/* @__PURE__ */c("div",{className:`limbo-image-card-wrapper lb:relative lb:cursor-pointer lb:focus:outline-0 ${p?"lb:opacity-50":""} ${de?"limbo-image-card-wrapper--mobile":""}`,onClick:Fe,onKeyDown:e=>{if("INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName)switch(e.key){case"Enter":case" ":e.preventDefault(),Fe();break;case"d":case"D":x.download&&(e.preventDefault(),we(e));break;case"c":case"C":x.copy&&(e.preventDefault(),fe(e));break;case"Delete":case"Backspace":x.delete&&o&&(e.preventDefault(),pe(e));break;case"x":case"X":x.crop&&d&&(e.preventDefault(),xe(e));break;case"v":case"V":x.variants&&(e.preventDefault(),(e=>{e.stopPropagation(),me?.announce(`Mostrando recortes de ${a.filename}`),E(!0)})(e))}},onMouseEnter:Ie?()=>{Ie&&a.thumbnail_url&&re(Ie)}:void 0,onMouseLeave:Ie?()=>{Ie&&a.thumbnail_url&&re(a.thumbnail_url)}:void 0,title:Te?`Ver ${Le} recorte${1!==Le?"s":""} de ${a.filename}`:J?de?"Toque para ampliar imagen":"Click para ampliar imagen con zoom":de?"Toque para previsualizar":"Click para previsualizar",role:"button",tabIndex:0,"aria-label":J?`${Y?"GIF":"Imagen"} ${a.filename}. ${a.width}x${a.height} px`:`Archivo ${a.filename}. Tipo: ${H}`,style:{...be&&{touchAction:"manipulation",WebkitTapHighlightColor:"transparent"}},children:[P&&/* @__PURE__ */c("div",{className:"limbo-moving-overlay",children:[
|
|
130
130
|
/* @__PURE__ */s("span",{className:"icon icon-spinner lb:animate-spin lb:w-6 lb:h-6"}),
|
|
131
131
|
/* @__PURE__ */s("span",{className:"lb:text-xs lb:text-gray-600 lb:font-medium",children:"Moviendo..."})]}),
|
|
132
132
|
/* @__PURE__ */c("div",{className:`limbo-image-actions ${L?"limbo-image-actions--expanded":""} ${de?"limbo-image-actions--mobile":""}`,children:[
|
|
@@ -142,11 +142,11 @@ return c(u,{children:[
|
|
|
142
142
|
/* @__PURE__ */s("span",{className:"icon icon-close icon--lg lb:mb-1","aria-hidden":"true"}),
|
|
143
143
|
/* @__PURE__ */s("span",{className:"lb:text-xs",children:"Error al cargar"})]}),
|
|
144
144
|
/* @__PURE__ */s("img",{src:le,loading:"lazy",decoding:"async",alt:a.filename.split(".")[0]??a.filename,className:`lb:z-1 lb:w-full lb:object-cover lb:rounded lb:aspect-square lb:transition-opacity lb:duration-300 ${Te?"lb:ring-2 lb:ring-brand-blue-400 lb:ring-offset-2":""} ${ce?"lb:opacity-100":"lb:opacity-0"}`,sizes:`height: ${6*h}px,width: ${6*h}px`,draggable:!1,onLoad:()=>{ie(!1),ue(!0)},onError:()=>{ie(!1),se(!0)},style:{...de&&{minHeight:`${Math.max(3*h,80)}px`,height:"auto",aspectRatio:"1 / 1",objectFit:"cover"}}}),Y&&/* @__PURE__ */s("span",{className:"lb:absolute lb:bottom-1.5 lb:right-1.5 lb:text-[10px] lb:uppercase lb:font-bold lb:tracking-wide lb:px-1.5 lb:py-0.5 lb:rounded lb:shadow-sm",style:{backgroundColor:ee.color,color:"white"},children:Z||H})]}),
|
|
145
|
-
/* @__PURE__ */c("div",{className:"limbo-card-info-overlay lb:z-99999999999 "+(de?"limbo-card-info-overlay--mobile":""),children:[D?/* @__PURE__ */c("form",{className:"lb:flex lb:flex-col lb:w-full lb:gap-1",onSubmit:Ee,onClick:e=>e.stopPropagation(),children:[
|
|
145
|
+
/* @__PURE__ */c("div",{className:"limbo-card-info-overlay lb:z-99999999999 "+(de?"limbo-card-info-overlay--mobile":""),style:D?{pointerEvents:"auto"}:void 0,children:[D?/* @__PURE__ */c("form",{className:"lb:flex lb:flex-col lb:w-full lb:gap-1",onSubmit:Ee,onClick:e=>e.stopPropagation(),children:[
|
|
146
146
|
/* @__PURE__ */c("div",{className:"lb:flex lb:items-center lb:gap-1 lb:w-full",children:[
|
|
147
147
|
/* @__PURE__ */s("input",{ref:V,type:"text",value:R,onChange:Ne,onKeyDown:e=>"Escape"===e.key&&Ce(e),className:`lb:flex-1 lb:min-w-0 lb:px-1 lb:py-0.5 lb:text-xs lb:rounded lb:border ${F?"lb:border-red-400":"lb:border-gray-400"} lb:bg-white lb:text-gray-900 lb:outline-none`,placeholder:"Nuevo nombre",disabled:W,autoFocus:!0}),
|
|
148
|
-
/* @__PURE__ */s("button",{type:"submit",disabled:W||!!F,className:"lb:px-1.5 lb:py-0.5 lb:text-xs lb:bg-brand-blue-400 lb:text-white lb:rounded lb:shrink-0 lb:disabled:opacity-40",title:"Guardar nombre",children:W?"…":"✓"}),
|
|
149
|
-
/* @__PURE__ */s("button",{type:"button",onClick:Ce,className:"lb:px-1.5 lb:py-0.5 lb:text-xs lb:bg-gray-500 lb:text-white lb:rounded lb:shrink-0",title:"Cancelar",children:"✕"})]}),F&&/* @__PURE__ */s("span",{className:"lb:text-xs lb:text-red-300 lb:leading-tight",children:F})]}):/* @__PURE__ */c("span",{className:"limbo-card-info-name lb:truncate lb:max-w-full",children:[a.filename.split(".")[0]??a.filename,Te&&/* @__PURE__ */s("span",{className:"limbo-variants-indicator",style:{marginLeft:"4px",padding:"1px 6px",backgroundColor:"#dc2626",color:"white",borderRadius:"10px",fontSize:"10px",fontWeight:"700",display:"inline-block"},title:`${Le} recorte${1!==Le?"s":""}`,children:Le})]}),f&&a.folder&&/* @__PURE__ */c("span",{className:"limbo-card-info-folder lb:flex lb:items-center lb:gap-1 lb:bg-brand-blue-50 lb:rounded-md lb:px-1",title:`Carpeta: ${a.folder?.name||a.folder?.slug||a.folder}`,children:[
|
|
148
|
+
/* @__PURE__ */s("button",{type:"submit",disabled:W||!!F,className:"lb:px-1.5 lb:py-0.5 lb:text-xs lb:bg-brand-blue-400 lb:text-white lb:rounded lb:shrink-0 lb:disabled:opacity-40 lb:hover:outline-brand-blue-400/50 lb:hover:outline-2",title:"Guardar nombre",children:W?"…":"✓"}),
|
|
149
|
+
/* @__PURE__ */s("button",{type:"button",onClick:Ce,className:"lb:px-1.5 lb:py-0.5 lb:text-xs lb:bg-gray-500 lb:hover:outline-gray-500/50 lb:hover:outline-2 lb:text-white lb:rounded lb:shrink-0",title:"Cancelar",children:"✕"})]}),F&&/* @__PURE__ */s("span",{className:"lb:text-xs lb:text-red-300 lb:leading-tight",children:F})]}):/* @__PURE__ */c("span",{className:"limbo-card-info-name lb:truncate lb:max-w-full",children:[a.filename.split(".")[0]??a.filename,Te&&/* @__PURE__ */s("span",{className:"limbo-variants-indicator",style:{marginLeft:"4px",padding:"1px 6px",backgroundColor:"#dc2626",color:"white",borderRadius:"10px",fontSize:"10px",fontWeight:"700",display:"inline-block"},title:`${Le} recorte${1!==Le?"s":""}`,children:Le})]}),f&&a.folder&&/* @__PURE__ */c("span",{className:"limbo-card-info-folder lb:flex lb:items-center lb:gap-1 lb:bg-brand-blue-50 lb:rounded-md lb:px-1",title:`Carpeta: ${a.folder?.name||a.folder?.slug||a.folder}`,children:[
|
|
150
150
|
/* @__PURE__ */s("span",{className:"icon icon-folder icon--sm"}),
|
|
151
151
|
/* @__PURE__ */s("span",{className:"lb:truncate lb:max-w-20",children:a.folder?.name||a.folder?.slug||("string"==typeof a.folder?a.folder:"Sin carpeta")})]})]})]})]}),
|
|
152
152
|
/* @__PURE__ */s(ze,{image:a,isOpen:S,onClose:()=>E(!1),onSelect:b,onDelete:o,onCrop:d,onVariantDeleted:Ae,allowedActions:{select:x.select,download:x.download,copy:x.copy,delete:x.delete,crop:x.crop}}),$&&(()=>{const e=a.url||a.path,t=()=>_(!1),n=a.file_size?`${Math.round(a.file_size/1024)}KB`:"",l=a.mime_type||"";return J?/* @__PURE__ */s(_e,{isOpen:!0,src:e,alt:a.filename,title:a.filename,subtitle:`${a.width||"?"}×${a.height||"?"} · ${n}`,onClose:t}):"video"===H?/* @__PURE__ */s(ge,{isOpen:!0,src:e,title:a.filename,subtitle:`${Z.toUpperCase()} · ${n}`,onClose:t}):"audio"===H?/* @__PURE__ */s(ve,{isOpen:!0,src:e,title:a.filename,subtitle:`${Z.toUpperCase()} · ${n}`,onClose:t}):l.includes("pdf")?/* @__PURE__ */s(ye,{isOpen:!0,src:e,title:a.filename,subtitle:n,onClose:t}):(e=>!(!e||!Re.has(e)&&!e.startsWith("text/")))(l)?/* @__PURE__ */s($e,{isOpen:!0,src:e,title:a.filename,subtitle:`${Z.toUpperCase()} · ${n}`,mimeType:l,fileSize:a.file_size||0,onClose:t}):/* @__PURE__ */s(Se,{isOpen:!0,src:e,title:a.filename,subtitle:`${Z.toUpperCase()} · ${n}`,mimeType:l,fileSize:a.file_size||0,onClose:t})})()]})});function Fe(){/* @__PURE__ */
|
|
@@ -680,7 +680,7 @@ return c("div",{className:"lb:flex lb:items-center lb:justify-center lb:gap-2 lb
|
|
|
680
680
|
/* @__PURE__ */s("path",{d:"M18.1601 33.1048H9.72056V36.7321H22.3045V15.2704H18.1601V33.1048Z"}),
|
|
681
681
|
/* @__PURE__ */s("path",{d:"M44.0063 51.846L3.16483 50.1834C1.35636 50.1834 0 48.5965 0 46.8584V4.99294C0 3.33041 1.65777 1.8946 3.31554 1.81903L44.157 0.1565C46.2669 0.0809304 48 1.74346 48 3.8594V47.8408C48 50.0323 46.1915 51.846 43.9309 51.7704H44.0063V51.846ZM4.89796 46.405L42.9513 47.4629C43.4788 47.4629 44.0063 47.0095 44.0063 46.4805V5.21965C44.0063 4.69066 43.6295 4.31282 43.102 4.31282L4.82261 5.67307C4.14443 5.67307 3.61695 6.27762 3.61695 6.95775V45.1203C3.61695 45.8004 4.14443 46.3294 4.82261 46.405H4.89796Z"})]}),
|
|
682
682
|
/* @__PURE__ */c("span",{className:"lb:text-xs lb:text-neutral-50",children:["Powered by ",
|
|
683
|
-
/* @__PURE__ */s("span",{className:"lb:font-semibold lb:text-white",children:"Limbo"})]})]})}function bl({apiKey:a,prod:i=!1,url:o=!0,features:d=["gallery","upload","cropper"],modeUI:b="full",ui:m={showActions:["select","download","copy","delete","crop","variants","rename"],hideActions:[],theme:"light",language:"es",compactMode:!1,showTabs:!0},callbacks:h={},instanceId:p=null,itemsPerPage:g=30,_externalImage:v=null,cropperConfig:y=null,folderConfig:w={include:[],exclude:[],includeNoFolder:!0,showFolderSelector:!0,showFolderFilter:!0,showFolderInfo:!0,allowMoveFolder:!0,allowCreateFolder:!0,defaultFolder:null},allowedCategories:x=null,accept:k=null,returnConfig:C=null}){sessionStorage.removeItem("limbo_stock_selectedService"),sessionStorage.removeItem("limbo_stock_dynamicForm"),sessionStorage.removeItem("limbo_stock_stockImages"),sessionStorage.removeItem("limbo_stock_currentPage"),sessionStorage.removeItem("limbo_stock_paginationInfo"),sessionStorage.removeItem("limbo_portals_searchName"),sessionStorage.removeItem("limbo_portals_limit"),sessionStorage.removeItem("limbo_portals_currentPage"),sessionStorage.removeItem("limbo_portals_images"),sessionStorage.removeItem("limbo_portals_portalResults"),sessionStorage.removeItem("limbo_portals_paginationInfo");const[N,S]=t({name:"",uploadedBy:"",dateFrom:"",dateTo:"",assetType:"",folder:""}),[E,$]=t(w?.defaultFolder||null),_=ul(N.name,400),z=ul(N.uploadedBy,400),T=e.useMemo(()=>f(k||(x?x.map(e=>`${e}/*`).join(","):null)),[k,x]),L=e=>!!e&&(e.startsWith("image/")&&"image/gif"!==e),A=(()=>{let e;switch(b){case"gallery-only":e=["gallery"];break;case"upload-only":e=["upload","cropper"];break;case"crop-only":e=["cropper"];break;case"ia-only":e=["ia"];break;default:e=[...d]}return T.isAllTypes||T.includesImages||(e=e.filter(e=>"cropper"!==e)),e})(),M=()=>A.includes("gallery")?"gallery":A.includes("upload")?"upload":A.includes("cropper")?"cropper":A.includes("ia")?"ia":A[0]||"gallery",[I,D]=t(M()),[O,R]=t(null),j=r(null);n(()=>{!O&&j.current&&(URL.revokeObjectURL(j.current),j.current=null)},[O]);const[F,U]=t(null);n(()=>{v&&(console.log("📸 Imagen externa detectada:",v),R(v),D("cropper"))},[v]),n(()=>{const e=()=>{console.log("[App] Modal cerrado, reseteando estado..."),R(null),D(M())};return window.limboCore?.events&&window.limboCore.events.on("modal:closed",e),()=>{window.limboCore?.events&&window.limboCore.events.off("modal:closed",e)}},[]);const[B,W]=t(1),{isTokenExpired:q,handleTokenExpiredClose:V}=function(){const[e,r]=t(!1),a=l(e=>{if(401===e?.response?.status){const t=e.response.data;if("token_expired"===t?.error||t?.message?.includes("expired")||t?.message?.includes("caducado")||t?.error?.includes("expired"))return r(!0),!0}return!1},[]),i=l(()=>{r(!1),alert("El token ha expirado. La página se recargará para obtener un nuevo token."),window.location.reload()},[]);return n(()=>{const e=e=>{e.detail&&e.detail.error&&a(e.detail.error)};return window.addEventListener("tokenExpiredError",e),()=>{window.removeEventListener("tokenExpiredError",e)}},[a]),{isTokenExpired:e,checkTokenExpiration:a,handleTokenExpiredClose:i}}(),{upload:H,loading:K,error:G,uploadedImage:Q,reset:X}=function(){const[e,n]=t(!1),[l,r]=t(null),[a,i]=t(null);return{upload:async(e,t=null,l=null)=>{if(!e)return r("No se ha proporcionado ningún archivo"),null;n(!0),r(null),i(null);try{const n="object"==typeof l?l?.slug:l,r=await be(e,t,!1,n),a=r.result||r;return i(a),a}catch(a){return r(a.message),null}finally{n(!1)}},loading:e,error:l,uploadedImage:a,reset:()=>{r(null),i(null)}}}(),{deleteImg:Y,loading:J,error:Z,reset:ee}=al(),te={limit:g,page:B,..._&&{name:_},...z&&{uploadedBy:z},...N.dateFrom&&{dateFrom:N.dateFrom},...N.dateTo&&{dateTo:N.dateTo},...N.assetType&&{asset_type:N.assetType},...!T.isAllTypes&&T.raw&&{accept:T.raw},...N.folder&&{folder:N.folder},...w.include?.length>0&&{folders_include:w.include.join(",")},...0===w.include?.length&&w.exclude?.length>0&&{folders_exclude:w.exclude.join(",")},...(w.include?.length>0||w.exclude?.length>0)&&void 0!==w.includeNoFolder&&{include_no_folder:w.includeNoFolder?"1":"0"}},ne=A.includes("gallery"),{images:le,loading:re,error:ae,pagination:ie,invalidateCache:oe,setImages:se,refetch:ce}=cl(a,i,te,ne);n(()=>{const e=()=>{ce()};return document.addEventListener("limbo:variantsCleared",e),document.addEventListener("limbo:variantDeleted",e),()=>{document.removeEventListener("limbo:variantsCleared",e),document.removeEventListener("limbo:variantDeleted",e)}},[ce]);const{refreshVariants:ue}=pe(),de=l((e,t=null)=>H(e,t,E?.slug||E),[H,E]),he=e=>!m.hideActions?.includes(e)&&(!!m.showActions?.includes(e)||!(m.showActions?.length>0)),fe=[{id:"gallery",label:"Galería",feature:"gallery"},{id:"upload",label:"Subir",feature:"upload"},{id:"cropper",label:"Recortador",hideNonActive:!0,feature:"cropper"}].filter(e=>A.includes(e.feature)),ge=async e=>{if(!(e.type?.startsWith("image/")&&"image/gif"!==e.type)){const t=E?.slug||E,n=await H(e,null,t);return void(n&&(oe(),W(1),se(e=>[n,...e]),A.includes("gallery")&&D("gallery"),h.onUpload&&h.onUpload({assetId:n.id,url:n.url,fileName:n.filename,mime:n.mime_type,width:n.width,height:n.height,instanceId:p})))}const t=URL.createObjectURL(e),n=await new Promise(e=>{const n=new Image;n.onload=()=>{e({width:n.naturalWidth,height:n.naturalHeight}),URL.revokeObjectURL(t)},n.onerror=()=>{e({width:1920,height:1080}),URL.revokeObjectURL(t)},n.src=t}),l={file:e,filename:e.name,mime_type:e.type,url:(()=>{const t=URL.createObjectURL(e);return j.current=t,t})(),width:n.width,height:n.height};if(R(l),A.includes("cropper"))D("cropper");else{const t=E?.slug||E,n=await H(e,null,t);n&&(oe(),W(1),se(e=>[n,...e]),D("gallery"),h.onUpload&&h.onUpload({assetId:n.id,url:n.url,fileName:n.filename,mime:n.mime_type,width:n.width,height:n.height,instanceId:p}))}},ve=l(e=>{const t={...e,instanceId:p};h.onSelect&&h.onSelect(t),window.limboCore?.events&&window.limboCore.events.emit("select",t);"modal"===((window.limboCore?.config?.getGlobal()||{}).mode||"embed")&&window.limboCore?.modals?.closeAllModals(),U(`Vídeo seleccionado: ${e.title||"Sin título"}`),setTimeout(()=>U(null),3e3)},[h,p]),ye=async e=>{if(!confirm("¿Estás seguro de que deseas eliminar este archivo? Esta acción también eliminará todos sus recortes."))return;await Y(e)&&(oe(),W(1),se(t=>t.filter(t=>t.id!==e)),O&&O.id===e&&(R(null),D("gallery")))},we=l(async(e,t)=>{const n=await me(e.id,{original_filename:t});return se(
|
|
683
|
+
/* @__PURE__ */s("span",{className:"lb:font-semibold lb:text-white",children:"Limbo"})]})]})}function bl({apiKey:a,prod:i=!1,url:o=!0,features:d=["gallery","upload","cropper"],modeUI:b="full",ui:m={showActions:["select","download","copy","delete","crop","variants","rename"],hideActions:[],theme:"light",language:"es",compactMode:!1,showTabs:!0},callbacks:h={},instanceId:p=null,itemsPerPage:g=30,_externalImage:v=null,cropperConfig:y=null,folderConfig:w={include:[],exclude:[],includeNoFolder:!0,showFolderSelector:!0,showFolderFilter:!0,showFolderInfo:!0,allowMoveFolder:!0,allowCreateFolder:!0,defaultFolder:null},allowedCategories:x=null,accept:k=null,returnConfig:C=null}){sessionStorage.removeItem("limbo_stock_selectedService"),sessionStorage.removeItem("limbo_stock_dynamicForm"),sessionStorage.removeItem("limbo_stock_stockImages"),sessionStorage.removeItem("limbo_stock_currentPage"),sessionStorage.removeItem("limbo_stock_paginationInfo"),sessionStorage.removeItem("limbo_portals_searchName"),sessionStorage.removeItem("limbo_portals_limit"),sessionStorage.removeItem("limbo_portals_currentPage"),sessionStorage.removeItem("limbo_portals_images"),sessionStorage.removeItem("limbo_portals_portalResults"),sessionStorage.removeItem("limbo_portals_paginationInfo");const[N,S]=t({name:"",uploadedBy:"",dateFrom:"",dateTo:"",assetType:"",folder:""}),[E,$]=t(w?.defaultFolder||null),_=ul(N.name,400),z=ul(N.uploadedBy,400),T=e.useMemo(()=>f(k||(x?x.map(e=>`${e}/*`).join(","):null)),[k,x]),L=e=>!!e&&(e.startsWith("image/")&&"image/gif"!==e),A=(()=>{let e;switch(b){case"gallery-only":e=["gallery"];break;case"upload-only":e=["upload","cropper"];break;case"crop-only":e=["cropper"];break;case"ia-only":e=["ia"];break;default:e=[...d]}return T.isAllTypes||T.includesImages||(e=e.filter(e=>"cropper"!==e)),e})(),M=()=>A.includes("gallery")?"gallery":A.includes("upload")?"upload":A.includes("cropper")?"cropper":A.includes("ia")?"ia":A[0]||"gallery",[I,D]=t(M()),[O,R]=t(null),j=r(null);n(()=>{!O&&j.current&&(URL.revokeObjectURL(j.current),j.current=null)},[O]);const[F,U]=t(null);n(()=>{v&&(console.log("📸 Imagen externa detectada:",v),R(v),D("cropper"))},[v]),n(()=>{const e=()=>{console.log("[App] Modal cerrado, reseteando estado..."),R(null),D(M())};return window.limboCore?.events&&window.limboCore.events.on("modal:closed",e),()=>{window.limboCore?.events&&window.limboCore.events.off("modal:closed",e)}},[]);const[B,W]=t(1),{isTokenExpired:q,handleTokenExpiredClose:V}=function(){const[e,r]=t(!1),a=l(e=>{if(401===e?.response?.status){const t=e.response.data;if("token_expired"===t?.error||t?.message?.includes("expired")||t?.message?.includes("caducado")||t?.error?.includes("expired"))return r(!0),!0}return!1},[]),i=l(()=>{r(!1),alert("El token ha expirado. La página se recargará para obtener un nuevo token."),window.location.reload()},[]);return n(()=>{const e=e=>{e.detail&&e.detail.error&&a(e.detail.error)};return window.addEventListener("tokenExpiredError",e),()=>{window.removeEventListener("tokenExpiredError",e)}},[a]),{isTokenExpired:e,checkTokenExpiration:a,handleTokenExpiredClose:i}}(),{upload:H,loading:K,error:G,uploadedImage:Q,reset:X}=function(){const[e,n]=t(!1),[l,r]=t(null),[a,i]=t(null);return{upload:async(e,t=null,l=null)=>{if(!e)return r("No se ha proporcionado ningún archivo"),null;n(!0),r(null),i(null);try{const n="object"==typeof l?l?.slug:l,r=await be(e,t,!1,n),a=r.result||r;return i(a),a}catch(a){return r(a.message),null}finally{n(!1)}},loading:e,error:l,uploadedImage:a,reset:()=>{r(null),i(null)}}}(),{deleteImg:Y,loading:J,error:Z,reset:ee}=al(),te={limit:g,page:B,..._&&{name:_},...z&&{uploadedBy:z},...N.dateFrom&&{dateFrom:N.dateFrom},...N.dateTo&&{dateTo:N.dateTo},...N.assetType&&{asset_type:N.assetType},...!T.isAllTypes&&T.raw&&{accept:T.raw},...N.folder&&{folder:N.folder},...w.include?.length>0&&{folders_include:w.include.join(",")},...0===w.include?.length&&w.exclude?.length>0&&{folders_exclude:w.exclude.join(",")},...(w.include?.length>0||w.exclude?.length>0)&&void 0!==w.includeNoFolder&&{include_no_folder:w.includeNoFolder?"1":"0"}},ne=A.includes("gallery"),{images:le,loading:re,error:ae,pagination:ie,invalidateCache:oe,setImages:se,refetch:ce}=cl(a,i,te,ne);n(()=>{const e=()=>{ce()};return document.addEventListener("limbo:variantsCleared",e),document.addEventListener("limbo:variantDeleted",e),()=>{document.removeEventListener("limbo:variantsCleared",e),document.removeEventListener("limbo:variantDeleted",e)}},[ce]);const{refreshVariants:ue}=pe(),de=l((e,t=null)=>H(e,t,E?.slug||E),[H,E]),he=e=>!m.hideActions?.includes(e)&&(!!m.showActions?.includes(e)||!(m.showActions?.length>0)),fe=[{id:"gallery",label:"Galería",feature:"gallery"},{id:"upload",label:"Subir",feature:"upload"},{id:"cropper",label:"Recortador",hideNonActive:!0,feature:"cropper"}].filter(e=>A.includes(e.feature)),ge=async e=>{if(!(e.type?.startsWith("image/")&&"image/gif"!==e.type)){const t=E?.slug||E,n=await H(e,null,t);return void(n&&(oe(),W(1),se(e=>[n,...e]),A.includes("gallery")&&D("gallery"),h.onUpload&&h.onUpload({assetId:n.id,url:n.url,fileName:n.filename,mime:n.mime_type,width:n.width,height:n.height,instanceId:p})))}const t=URL.createObjectURL(e),n=await new Promise(e=>{const n=new Image;n.onload=()=>{e({width:n.naturalWidth,height:n.naturalHeight}),URL.revokeObjectURL(t)},n.onerror=()=>{e({width:1920,height:1080}),URL.revokeObjectURL(t)},n.src=t}),l={file:e,filename:e.name,mime_type:e.type,url:(()=>{const t=URL.createObjectURL(e);return j.current=t,t})(),width:n.width,height:n.height};if(R(l),A.includes("cropper"))D("cropper");else{const t=E?.slug||E,n=await H(e,null,t);n&&(oe(),W(1),se(e=>[n,...e]),D("gallery"),h.onUpload&&h.onUpload({assetId:n.id,url:n.url,fileName:n.filename,mime:n.mime_type,width:n.width,height:n.height,instanceId:p}))}},ve=l(e=>{const t={...e,instanceId:p};h.onSelect&&h.onSelect(t),window.limboCore?.events&&window.limboCore.events.emit("select",t);"modal"===((window.limboCore?.config?.getGlobal()||{}).mode||"embed")&&window.limboCore?.modals?.closeAllModals(),U(`Vídeo seleccionado: ${e.title||"Sin título"}`),setTimeout(()=>U(null),3e3)},[h,p]),ye=async e=>{if(!confirm("¿Estás seguro de que deseas eliminar este archivo? Esta acción también eliminará todos sus recortes."))return;await Y(e)&&(oe(),W(1),se(t=>t.filter(t=>t.id!==e)),O&&O.id===e&&(R(null),D("gallery")))},we=l(async(e,t)=>{const n=await me(e.id,{original_filename:t}),l=n?.result||{};return oe(),se(n=>n.map(n=>n.id!==e.id?n:{...n,filename:l.filename??t,...l.url&&{url:l.url},...void 0!==l.url_webp&&{url_webp:l.url_webp}})),n},[oe]),xe=e=>{L(e.mime_type||e.original_mime)?(R(e),A.includes("cropper")&&D("cropper")):console.log("[App] ⚠️ Archivo no recortable:",e.mime_type||e.original_mime,"- saltando cropper")},ke=()=>"crop-only"===b||1===A.length&&"cropper"===A[0]?"crop-only":A.includes("gallery")?"with-gallery":A.includes("upload")&&!A.includes("gallery")?"upload-only":"with-gallery";/* @__PURE__ */
|
|
684
684
|
return c(u,{children:[m.showTabs&&"cropper"!=I&&/* @__PURE__ */s(P,{tabs:fe,active:I,onChange:e=>{D(e),"upload"!==e&&X(),"gallery"!==e&&ee()}}),ae&&/* @__PURE__ */c(Ue,{variant:"danger",children:["Error al cargar archivos: ",ae]}),Z&&/* @__PURE__ */c(Ue,{variant:"danger",children:["Error al eliminar archivo: ",Z]}),F&&/* @__PURE__ */s(Ue,{variant:"success",fixed:!0,onClose:()=>U(null),children:F}),"gallery"===I&&/* @__PURE__ */c(u,{children:[J&&/* @__PURE__ */s(ll,{text:"Eliminando archivo..."}),Q&&/* @__PURE__ */c(Ue,{variant:"success",toast:!0,onClose:X,children:[
|
|
685
685
|
/* @__PURE__ */s("span",{className:"icon icon-tick-white icon--2sm"})," Archivo subido correctamente: ",Q.filename]}),
|
|
686
686
|
/* @__PURE__ */s(We,{onSelect:e=>{const t=y?.mandatoryCrops?.length>0,n=L(e.mime_type||e.original_mime);if(t&&n&&A.includes("cropper"))return console.log("[App] 📐 MandatoryCrops detectados, navegando al cropper primero"),void xe(e);h.onSelect&&h.onSelect({assetId:e.id,url:e.url,fileName:e.filename,mime:e.mime_type,width:e.width,height:e.height,instanceId:p})},onCrop:xe,onDelete:he("delete")?ye:null,deletingId:J,images:le,loading:re,error:ae,filters:N,debouncedFilters:{name:_,uploadedBy:z,dateFrom:N.dateFrom,dateTo:N.dateTo,assetType:N.assetType,folder:N.folder},onFiltersChange:e=>{S(e),W(1)},filterConfig:m.galleryFilters||{},loadingConfig:m.galleryLoading||{},allowedActions:{select:he("select"),download:he("download"),copy:he("copy"),delete:he("delete"),crop:he("crop"),rename:he("rename")},resolvedAccept:T,allowedCategories:x,folderConfig:w,onFolderChange:async(e,t)=>{try{const n=await me(e.id,{folder:t});return oe(),se(t=>t.map(t=>t.id===e.id?{...t,folder:n.folder||null}:t)),n}catch(n){throw console.error("Error al cambiar carpeta:",n),n}},onRename:we}),ie&&!re&&/* @__PURE__ */s(nl,{currentPage:ie.page||B,totalPages:ie.pages||1,onPageChange:e=>{W(e)},disabled:re||J})]}),"upload"===I&&/* @__PURE__ */c("div",{children:[K&&/* @__PURE__ */s(ll,{text:"Subiendo archivo..."}),G&&/* @__PURE__ */c(Ue,{variant:"danger",toast:!0,onClose:X,children:["Error al subir archivo: ",G]}),Q&&/* @__PURE__ */c(Ue,{variant:"success",toast:!0,onClose:X,children:[
|