ode-explorer 2.4.4-develop-pedago.202601081106 → 2.4.4-develop-pedago.202601081316
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/index.js +1 -1
- package/lib/Library.js +42 -42
- package/package.json +1 -1
- package/dist/image-library.svg +0 -35
package/dist/index.js
CHANGED
|
@@ -1528,4 +1528,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1528
1528
|
*
|
|
1529
1529
|
* This source code is licensed under the MIT license found in the
|
|
1530
1530
|
* LICENSE file in the root directory of this source tree.
|
|
1531
|
-
*/var React=reactExports,shim=shimExports;function is(rr,er){return rr===er&&(rr!==0||1/rr===1/er)||rr!==rr&&er!==er}var objectIs=typeof Object.is=="function"?Object.is:is,useSyncExternalStore=shim.useSyncExternalStore,useRef=React.useRef,useEffect=React.useEffect,useMemo=React.useMemo,useDebugValue$1=React.useDebugValue;withSelector_production.useSyncExternalStoreWithSelector=function(rr,er,tr,ar,ir){var nr=useRef(null);if(nr.current===null){var or={hasValue:!1,value:null};nr.current=or}else or=nr.current;nr=useMemo(function(){function lr(pr){if(!ur){if(ur=!0,cr=pr,pr=ar(pr),ir!==void 0&&or.hasValue){var gr=or.value;if(ir(gr,pr))return Ar=gr}return Ar=pr}if(gr=Ar,objectIs(cr,pr))return gr;var br=ar(pr);return ir!==void 0&&ir(gr,br)?(cr=pr,gr):(cr=pr,Ar=br)}var ur=!1,cr,Ar,dr=tr===void 0?null:tr;return[function(){return lr(er())},dr===null?void 0:function(){return lr(dr())}]},[er,tr,ar,ir]);var sr=useSyncExternalStore(rr,nr[0],nr[1]);return useEffect(function(){or.hasValue=!0,or.value=sr},[sr]),useDebugValue$1(sr),sr};withSelector.exports=withSelector_production;var withSelectorExports=withSelector.exports;const useSyncExternalStoreExports=getDefaultExportFromCjs(withSelectorExports),{useDebugValue}=React$4,{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports,identity=rr=>rr;function useStore(rr,er=identity,tr){const ar=useSyncExternalStoreWithSelector(rr.subscribe,rr.getState,rr.getServerState||rr.getInitialState,er,tr);return useDebugValue(ar),ar}const searchContext=async rr=>{const er=await odeServices.resource(rr.application).searchContext(rr);return{...er,folders:er.folders.filter(tr=>!tr.trashed)}},createFolder=async({searchParams:rr,name:er,parentId:tr})=>{const ar={name:er,parentId:tr,application:rr.application,type:rr.types[0]};return await odeServices.resource(rr.application).createFolder(ar)},updateFolder=async({folderId:rr,searchParams:er,parentId:tr,name:ar})=>{const ir={folderId:rr,name:ar,parentId:tr,application:er.application,type:er.types[0]};return await odeServices.resource(er.application).updateFolder(ir)},trashAll=async({searchParams:rr,resourceIds:er,useAssetIds:tr,folderIds:ar})=>{const ir={application:rr.application,resourceType:rr.types[0],resourceIds:er,folderIds:ar};return await odeServices.resource(rr.application).trashAll(ir,tr)},deleteAll=async({searchParams:rr,resourceIds:er,useAssetIds:tr,folderIds:ar})=>{const ir={application:rr.application,resourceType:rr.types[0],resourceIds:er,folderIds:ar};return await odeServices.resource(rr.application).deleteAll(ir,tr)},restoreAll=async({searchParams:rr,resourceIds:er,folderIds:tr,useAssetIds:ar})=>{const ir={application:rr.application,resourceType:rr.types[0],resourceIds:er,folderIds:tr};return await odeServices.resource(rr.application).restoreAll(ir,ar)},copyResource=async(rr,er)=>await odeServices.resource(rr.application).copy({application:rr.application,resourceId:er}),moveToFolder=async({searchParams:rr,resourceIds:er,folderId:tr,folderIds:ar,useAssetIds:ir})=>{const nr={application:rr.application,folderId:tr,resourceIds:er,folderIds:ar};return await odeServices.resource(rr.application).moveToFolder(nr,ir)},sessionHasWorkflowRights=async rr=>await odeServices.rights().sessionHasWorkflowRights(rr),goToResource=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getViewUrl(er);window.open(tr,"_self")},createResource=({searchParams:rr,params:er})=>odeServices.resource(rr.application).create(er),printResource=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getPrintUrl(er);return window.open(tr,"_blank")},goToCreate=({searchParams:rr,folderId:er})=>{const tr=odeServices.resource(rr.application).getFormUrl(er);return window.open(tr,"_self")},goToEdit=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getEditUrl(er);return window.open(tr,"_self")},goToExport=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getExportUrl(er);return window.open(tr,"_self")},defaultFolder={id:FOLDER.DEFAULT,name:t$3("explorer.filters.mine"),section:!0,children:[]},initialState={config:void 0,searchConfig:{minLength:1},searchParams:{filters:{folder:FOLDER.DEFAULT,owner:void 0,shared:void 0,public:void 0},orders:{updatedAt:SORT_ORDER.DESC},application:"",types:[],pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:defaultFolder,selectedNodeId:"default",currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceOrFolderIsDraggable:{isDrag:!1,elementDrag:void 0},elementDragOver:{isOver:!1,isTreeview:!1,canMove:!0,overId:void 0},resourceActionDisable:!1,status:void 0},store=createStore()((rr,er)=>({...initialState,actions:{setConfig:tr=>rr({config:tr}),setSearchConfig:tr=>rr(ar=>({searchConfig:{...ar.searchConfig,...tr}})),setTreeData:tr=>rr(()=>({treeData:tr})),setSearchParams:tr=>{rr(ar=>{const{searchParams:ir}=ar;return ir.search!==tr.search?tr.search?{...ar,selectedFolders:[],selectedNodeId:void 0,selectedResources:[],currentFolder:void 0,searchParams:{...ir,...tr,trashed:!1,filters:{...ir.filters,folder:void 0}}}:{...ar,selectedFolders:[],selectedNodeId:"default",selectedResources:[],currentFolder:{id:"default"},searchParams:{...ir,...tr,trashed:!1,filters:{...ir.filters}}}:{searchParams:{...ir,...tr}}})},setSelectedFolders:tr=>rr(()=>({selectedFolders:tr})),setSelectedResources:tr=>rr(()=>({selectedResources:tr})),setFolderIds:tr=>rr(()=>({folderIds:tr})),setResourceIds:tr=>rr(()=>({resourceIds:tr})),setResourceIsTrash:tr=>rr(()=>({resourceIsTrash:tr})),setResourceOrFolderIsDraggable:tr=>rr(()=>({resourceOrFolderIsDraggable:tr})),setElementDragOver:tr=>rr(()=>({elementDragOver:tr})),setResourceActionDisable:tr=>rr(()=>({resourceActionDisable:tr})),clearSelectedItems:()=>rr(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>rr(()=>({resourceIds:[],folderIds:[]})),openResource:tr=>{try{const{searchParams:ar}=er();goToResource({searchParams:ar,assetId:tr.assetId})}catch(ar){console.error("explorer open failed: ",ar)}},printSelectedResource:()=>{try{const{searchParams:tr,selectedResources:ar,resourceIds:ir}=er();if(ar.length!==1)throw new Error("Cannot open more than 1 resource");const nr=ar.find(or=>or.id===ir[0]);printResource({searchParams:tr,assetId:nr.assetId})}catch(tr){console.error("explorer print failed: ",tr)}},openFolder:({folderId:tr,folder:ar,queryClient:ir})=>{const{searchParams:nr}=er(),or=nr.filters.folder,sr=tr;or!==tr&&(er().actions.fetchTreeData(tr,ir),rr(lr=>({...lr,folderIds:[],resourceIds:[],selectedNodeId:sr,currentFolder:ar||{id:tr},searchParams:{...nr,search:void 0,filters:{...nr.filters,folder:tr},trashed:tr===FOLDER.BIN}})))},foldTreeItem:()=>rr(tr=>({...tr,status:"fold"})),fetchTreeData:async(tr,ar)=>{const ir=findNodeById(er().treeData,tr),nr=ir==null?void 0:ir.id;if(Array.isArray(ir==null?void 0:ir.children)&&ir.children.length)return;const or=await ar.fetchQuery({queryKey:["prefetchContext",{folderId:nr,trashed:!1}],queryFn:async()=>await searchContext({...er().searchParams,filters:{...er().searchParams.filters,folder:nr}})});er().actions.setTreeData(wrapTreeNode(er().treeData,or==null?void 0:or.folders,nr||FOLDER.DEFAULT))},selectTreeItem:(tr,ar)=>{const{treeData:ir}=er(),{openFolder:nr,fetchTreeData:or}=er().actions,sr=findNodeById(ir,tr);or(tr,ar),rr(lr=>({...lr,searchParams:{...lr.searchParams,search:void 0},status:"select",selectedResources:[]})),nr({folder:sr,folderId:tr})},gotoPreviousFolder:()=>{const{selectedNodeId:tr,treeData:ar,searchParams:ir}=er(),{openFolder:nr}=er().actions;if(ir.search&&nr({folder:defaultFolder,folderId:FOLDER.DEFAULT}),!tr)return;const or=findParentNode(ar,tr);nr({folder:or,folderId:(or==null?void 0:or.id)||FOLDER.DEFAULT})},goToTrash:()=>{rr(tr=>({...tr,selectedNodeId:void 0,selectedResources:[],resourceIds:[],folderIds:[],status:"select",searchParams:{...tr.searchParams,search:void 0,filters:{folder:FOLDER.BIN},trashed:!0},currentFolder:{id:FOLDER.BIN}}))}}}));function useStoreContext(rr){return useStore(store,rr)}const treeData=rr=>rr.treeData,actionsSelector=rr=>rr.actions,useTreeData=()=>useStoreContext(treeData),useStoreActions=()=>useStoreContext(actionsSelector),useSearchParams=()=>useStoreContext(rr=>rr.searchParams),useSelectedNodeId=()=>useStoreContext(rr=>rr.selectedNodeId),useSelectedFolders=()=>useStoreContext(rr=>rr.selectedFolders),useSelectedResources=()=>useStoreContext(rr=>rr.selectedResources),useSearchConfig=()=>useStoreContext(rr=>rr.searchConfig),useFolderIds=()=>useStoreContext(rr=>rr.folderIds),useResourceIds=()=>useStoreContext(rr=>rr.resourceIds),useResourceAssetIds=()=>useStoreContext(rr=>rr.selectedResources.map(er=>er.assetId)),useResourceWithoutIds=()=>useStoreContext(rr=>rr.selectedResources.filter(er=>er.assetId===er.id)),useCurrentFolder=()=>useStoreContext(rr=>rr.currentFolder),useIsTrash=()=>{const rr=useCurrentFolder();return(rr==null?void 0:rr.id)===FOLDER.BIN},useResourceIsTrash=()=>useStoreContext(rr=>rr.resourceIsTrash),useResourceOrFolderIsDraggable=()=>useStoreContext(rr=>rr.resourceOrFolderIsDraggable),useElementDragOver=()=>useStoreContext(rr=>rr.elementDragOver),useResourceActionDisable=()=>useStoreContext(rr=>rr.resourceActionDisable),useIsRoot=()=>{const rr=useCurrentFolder();return(rr==null?void 0:rr.id)==="default"},useTreeStatus=()=>useStoreContext(rr=>rr.status),useDisableModal=()=>{const rr=useResourceActionDisable(),{clearSelectedIds:er,setResourceActionDisable:tr,clearSelectedItems:ar}=useStoreActions();return{isActionDisableModalOpen:rr,onActionDisableCancel:()=>{er(),ar(),tr(!1)}}},useTrashModal=()=>{const rr=useResourceIsTrash(),{clearSelectedIds:er,setResourceIsTrash:tr,clearSelectedItems:ar}=useStoreActions();return{isTrashedModalOpen:rr,onTrashedCancel:()=>{er(),ar(),tr(!1)}}},DELAY=175,TOLERANCE=10,APP="blog",RESOURCE="blog";class BlogResourceService extends ResourceService{getEditUrl(){throw new Error("Method not implemented.")}async create(er){const tr=er.thumbnail?await this.getThumbnailPath(er.thumbnail):"",ar=er.public?"/blog/pub":"/blog",ir=await this.http.post(ar,{title:er.name,description:er.description,visibility:er.public?"PUBLIC":"OWNER",thumbnail:tr,trashed:!1,folder:er.folder,slug:er.public?er.slug:"","publish-type":er.publishType||"RESTRAINT","comment-type":"IMMEDIATE",allowReplies:er.allowReplies});return this.checkHttpResponse(ir),ir}async update(er){const tr=er.thumbnail?await this.getThumbnailPath(er.thumbnail):"",ar=await this.http.put(`/blog/${er.entId}`,{trashed:er.trashed,_id:er.entId,title:er.name,thumbnail:tr,description:er.description,visibility:er.public?"PUBLIC":"OWNER",slug:er.public?er.slug:"","publish-type":er["publish-type"]||"RESTRAINT","comment-type":"IMMEDIATE",allowReplies:er.allowReplies});return this.checkHttpResponse(ar),{thumbnail:tr,entId:er.entId}}getResourceType(){return RESOURCE}getApplication(){return APP}getFormUrl(er){return er?`/blog?folderid=${er}#/edit/new`:"/blog#/edit/new"}getViewUrl(er){return`/blog/id/${er}`}getPrintUrl(er){return`/blog/print/${er}`}}ResourceService.register({application:APP,resourceType:RESOURCE},rr=>new BlogResourceService(rr));const rootElement=document.querySelector("[data-explorer-config]");let config;function getExplorerConfig(){var rr;if((rr=rootElement==null?void 0:rootElement.dataset)!=null&&rr.explorerConfig){const{explorerConfig:er}=rootElement.dataset;try{const tr=JSON.parse(er);config={...tr,service:BlogResourceService,enableOnboarding:tr.enableOnboarding!==void 0?tr.enableOnboarding:!0}}catch(tr){console.error("[Explorer Config] could not parse app params from root data attributes:",rootElement==null?void 0:rootElement.dataset,tr)}}return config}const actionsQueryOptions=(rr,er)=>{const tr=rr.map(ir=>ir.workflow),ar=new Set(tr);return{queryKey:[...ar],queryFn:()=>sessionHasWorkflowRights([...ar]),select:ir=>rr.filter(nr=>ir[nr.workflow]).map(nr=>({...nr,available:!0})),staleTime:1/0,enabled:!!er}},useActions=rr=>{const er=useStoreContext(tr=>tr.config);return useQuery(actionsQueryOptions(rr,er))},useSearchContext=()=>{const rr=useStoreContext(or=>or.config),er=useSearchParams(),{filters:tr,trashed:ar,search:ir}=er,nr=["context",{folderId:tr.folder,filters:tr,trashed:ar,search:ir}];return useInfiniteQuery({queryKey:nr,queryFn:async({pageParam:or})=>await searchContext({...er,application:rr==null?void 0:rr.app,types:rr==null?void 0:rr.types,pagination:{...er.pagination,startIdx:or}}),staleTime:5e3,initialPageParam:0,enabled:!!rr,retry:!1,getNextPageParam:or=>or.pagination.startIdx+or.pagination.pageSize})},useTrash=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),ir=useFolderIds(),nr=useResourceAssetIds(),or=useResourceIds(),sr=useResourceWithoutIds().length>0,lr=sr?nr:or,{clearSelectedItems:ur,clearSelectedIds:cr,setTreeData:Ar,setSearchParams:dr}=useStoreActions(),{filters:pr,trashed:gr}=tr,br=["context",{folderId:pr.folder,filters:pr,trashed:gr}];return useMutation({mutationFn:async()=>await trashAll({searchParams:tr,folderIds:ir,resourceIds:lr,useAssetIds:sr}),onError(vr){typeof vr=="string"&&rr.error(t$3(vr))},onSuccess:async vr=>{if(await er.cancelQueries({queryKey:br}),er.getQueryData(br))return rr.success(t$3("explorer.trash.title")),er.setQueryData(br,xr=>{var Er;if(xr){const kr={...xr,pages:xr==null?void 0:xr.pages.map(Ir=>{var Cr;return{...Ir,folders:Ir.folders.filter(Pr=>!ir.includes(Pr.id)),pagination:{...Ir.pagination,maxIdx:((Cr=Ir==null?void 0:Ir.pagination)==null?void 0:Cr.maxIdx)-vr.resources.length},resources:Ir.resources.filter(Pr=>sr?!nr.includes(Pr.assetId):!lr.includes(Pr.id))}})},Sr=deleteNode(ar,{folders:ir});return Ar(Sr),dr({...tr,pagination:{...tr.pagination,maxIdx:((Er=tr.pagination)==null?void 0:Er.maxIdx)-vr.resources.length}}),kr}})},onSettled:()=>{ur(),cr()}})},useRestore=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useFolderIds(),ir=useResourceAssetIds(),nr=useResourceIds(),or=useResourceWithoutIds().length>0,sr=or?ir:nr,{setFolderIds:lr,setResourceIds:ur,setSelectedResources:cr,setSelectedFolders:Ar}=useStoreActions(),{filters:dr,trashed:pr}=tr,gr=["context",{folderId:dr.folder,filters:dr,trashed:pr}];return useMutation({mutationFn:async()=>await restoreAll({searchParams:tr,folderIds:ar,resourceIds:sr,useAssetIds:or}),onError(br){typeof br=="string"&&rr.error(t$3(br))},onSuccess:async()=>{if(await er.cancelQueries({queryKey:gr}),er.getQueryData(gr))return rr.success(t$3("explorer.trash.toast")),er.setQueryData(gr,vr=>{if(vr)return{...vr,pages:vr==null?void 0:vr.pages.map(yr=>({...yr,folders:yr.folders.filter(xr=>!ar.includes(xr.id)),resources:yr.resources.filter(xr=>or?!ir.includes(xr.assetId):!sr.includes(xr.id))}))}})},onSettled:()=>{ur([]),cr([]),lr([]),Ar([])}})},useDelete=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useFolderIds(),ir=useResourceAssetIds(),nr=useResourceIds(),or=useResourceWithoutIds().length>0,sr=or?ir:nr,{clearSelectedItems:lr,clearSelectedIds:ur}=useStoreActions(),{filters:cr,trashed:Ar}=tr,dr=["context",{folderId:cr.folder,filters:cr,trashed:Ar}];return useMutation({mutationFn:async()=>await deleteAll({searchParams:tr,folderIds:ar,resourceIds:sr,useAssetIds:or}),onError(pr){typeof pr=="string"&&rr.error(t$3(pr))},onSuccess:async()=>{if(await er.cancelQueries({queryKey:dr}),er.getQueryData(dr))return rr.success(t$3("explorer.removed.from.trash")),er.setQueryData(dr,gr=>{if(gr)return{...gr,pages:gr==null?void 0:gr.pages.map(vr=>({...vr,folders:vr.folders.filter(yr=>!ar.includes(yr.id)),resources:vr.resources.filter(yr=>or?!ir.includes(yr.assetId):!sr.includes(yr.id))}))}})},onSettled:()=>{lr(),ur()}})},useCopyResource=()=>{const rr=useToast(),er=useSearchParams(),tr=useQueryClient(),{user:ar}=useUser(),ir=useCurrentFolder(),{filters:nr,trashed:or}=er,sr="duplicate_start",lr=["context",{folderId:nr.folder,filters:nr,trashed:or}];return useMutation({mutationFn:async ur=>(rr.info(t$3("duplicate.start"),{id:sr}),await copyResource(er,ur.assetId)),onSuccess:async(ur,cr)=>{rr.remove(sr),rr.success(t$3("duplicate.done")),await tr.cancelQueries({queryKey:lr});const Ar=tr.getQueryData(lr),dr={...cr,name:`${cr.name}${t$3("duplicate.suffix")}`,assetId:ur.duplicateId,id:ur.duplicateId,creatorId:ar==null?void 0:ar.userId,creatorName:ar==null?void 0:ar.username,createdAt:Date.now(),slug:cr.slug||"",modifiedAt:Date.now(),modifierId:(ar==null?void 0:ar.userId)||"",modifierName:(ar==null?void 0:ar.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${ar==null?void 0:ar.userId}`]};Ar&&tr.setQueryData(lr,pr=>{if(pr)return{...pr,pages:pr==null?void 0:pr.pages.map(gr=>({...gr,resources:[dr,...gr.resources]}))}}),ir.id&&ir.id!==FOLDER.DEFAULT&&moveToFolder({searchParams:er,resourceIds:[ur.duplicateId],folderId:ir.id,folderIds:[],useAssetIds:!0})},onError:ur=>{rr.remove(sr),typeof ur=="string"&&rr.error(`${t$3("duplicate.error")}: ${ur}`)}})},useMoveItem=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),ir=useFolderIds(),nr=useResourceAssetIds(),or=useResourceIds(),sr=useResourceWithoutIds().length>0,lr=sr?nr:or,{clearSelectedIds:ur,clearSelectedItems:cr,setTreeData:Ar,setSearchParams:dr}=useStoreActions(),{filters:pr,trashed:gr}=tr,br=["context",{folderId:pr.folder,filters:pr,trashed:gr}];return useMutation({mutationFn:async vr=>await moveToFolder({searchParams:tr,folderId:vr,folderIds:ir,resourceIds:lr,useAssetIds:sr}),onError(vr){typeof vr=="string"&&rr.error(t$3(vr))},onSuccess:async(vr,yr)=>{if(er.getQueryData(br))return er.setQueryData(br,Er=>{var kr;if(Er){const Sr=moveNode(ar,{destinationId:yr,folders:ir}),Ir={...Er,pages:Er==null?void 0:Er.pages.map(Cr=>{var Pr;return{...Cr,folders:Cr.folders.filter(Fr=>!ir.includes(Fr.id)),pagination:{...Cr.pagination,maxIdx:((Pr=Cr.pagination)==null?void 0:Pr.maxIdx)-vr.resources.length},resources:Cr.resources.filter(Fr=>sr?!nr.includes(Fr.assetId):!lr.includes(Fr.id))}})};return Ar(Sr),dr({...tr,pagination:{...tr.pagination,maxIdx:((kr=tr.pagination)==null?void 0:kr.maxIdx)-vr.resources.length}}),Ir}});er.invalidateQueries()},onSettled:()=>{cr(),ur()}})},useCreateFolder=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),{setTreeData:ir}=useStoreActions(),{filters:nr,trashed:or}=tr,sr=["context",{folderId:nr.folder,filters:nr,trashed:or}];return useMutation({mutationFn:async({name:lr,parentId:ur})=>await createFolder({searchParams:tr,name:lr,parentId:ur}),onError(lr){typeof lr=="string"&&rr.error(t$3(lr))},onSuccess:async(lr,ur)=>{await er.cancelQueries({queryKey:sr});const cr=er.getQueryData(sr),Ar={...lr,parentId:ur.parentId,children:[],rights:[`creator:${lr==null?void 0:lr.creator_id}`]};if(cr)return er.setQueryData(sr,dr=>{if(dr){const pr={...dr,pages:dr==null?void 0:dr.pages.map(br=>({...br,folders:[...br.folders,Ar]}))},gr=addNode(ar,{parentId:ur.parentId,newFolder:Ar});return ir(gr),pr}})}})},useUpdatefolder=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),{setFolderIds:ir,setSelectedFolders:nr,setTreeData:or}=useStoreActions(),{filters:sr,trashed:lr}=tr,ur=["context",{folderId:sr.folder,filters:sr,trashed:lr}];return useMutation({mutationFn:async({folderId:cr,name:Ar,parentId:dr})=>await updateFolder({searchParams:tr,folderId:cr,parentId:dr,name:Ar}),onError(cr){typeof cr=="string"&&rr.error(t$3(cr))},onSuccess:async(cr,Ar)=>{if(await er.cancelQueries({queryKey:ur}),er.getQueryData(ur))return er.setQueryData(ur,pr=>{if(pr){const gr={...pr,pages:pr==null?void 0:pr.pages.map(vr=>({...vr,folders:vr.folders.map(yr=>yr.id===cr.id?{...cr,parentId:Ar.parentId,rights:yr.rights}:yr)}))},br=updateNode(ar,{folderId:Ar.folderId,newFolder:cr});return or(br),gr}})},onSettled:()=>{ir([]),nr([])}})},useShareResource=rr=>{const er=useQueryClient(),tr=useSearchParams(),{setResourceIds:ar,setSelectedResources:ir}=useStoreActions(),{filters:nr,trashed:or}=tr,sr=["context",{folderId:nr.folder,filters:nr,trashed:or}];return useShareMutation({application:rr,options:{onSuccess:async(lr,ur)=>{if(await er.cancelQueries({queryKey:sr}),er.getQueryData(sr))return er.setQueryData(sr,Ar=>{if(Ar)return{...Ar,pages:Ar==null?void 0:Ar.pages.map(dr=>({...dr,resources:dr.resources.map(pr=>{if(pr.assetId===(ur==null?void 0:ur.resourceId)){let gr=[`creator:${pr.creatorId}`];return(ur==null?void 0:ur.rights.length)>=1&&(gr=[...gr,...ur.rights.flatMap(br=>br.actions.map(vr=>`${br.type}:${br.id}:${vr.id}`))]),{...pr,rights:gr}}else return pr})}))}})},onSettled:()=>{ar([]),ir([])}}})},useUpdateResource=rr=>{const er=useQueryClient(),tr=useSearchParams(),{filters:ar,trashed:ir}=tr,nr=["context",{folderId:ar.folder,filters:ar,trashed:ir}];return useUpdateMutation({application:rr,options:{onSuccess:async(or,sr)=>{if(await er.cancelQueries({queryKey:nr}),er.getQueryData(nr))return er.setQueryData(nr,ur=>{if(ur)return{...ur,pages:ur==null?void 0:ur.pages.map(cr=>({...cr,resources:cr.resources.map(Ar=>{if(Ar.assetId===(sr==null?void 0:sr.entId)){const{name:dr,thumbnail:pr,public:gr,description:br,slug:vr,...yr}=sr;return{...Ar,...yr,name:dr,thumbnail:typeof pr=="string"?pr:URL.createObjectURL(pr),public:gr,description:br,slug:vr}}else return Ar})}))}})}}})},useCreateResource=({onResourceCreated:rr})=>{const er=useToast(),tr=useQueryClient(),ar=useSearchParams(),{user:ir}=useUser(),{appCode:nr}=useEdificeClient(),or=["context",{folderId:ar.filters.folder,filters:ar.filters,trashed:ar.trashed}];return useMutation({mutationFn:async sr=>await createResource({searchParams:ar,params:sr}),onError(sr){typeof sr=="string"&&er.error(t$3(sr))},onSuccess:async(sr,lr)=>{var Ar,dr,pr;await tr.cancelQueries({queryKey:or});const ur=tr.getQueryData(or),cr={...lr,thumbnail:sr.thumbnail||"",application:nr,assetId:sr._id||sr.entId||"",id:sr._id||sr.entId||"",creatorId:ir==null?void 0:ir.userId,creatorName:ir==null?void 0:ir.username,createdAt:Date.now(),slug:lr.slug||"",modifiedAt:((Ar=sr.modified)==null?void 0:Ar.$date)||"",modifierId:((dr=sr.author)==null?void 0:dr.userId)||"",modifierName:((pr=sr.author)==null?void 0:pr.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${ir==null?void 0:ir.userId}`]};if(rr==null||rr(cr),ur)return tr.setQueryData(or,gr=>{if(gr)return{...gr,pages:gr==null?void 0:gr.pages.map(br=>({...br,resources:[cr,...br.resources]}))}})}})};function getChildrenIds(rr,er){var ar;const tr=findNodeById(rr,er);return(ar=tr==null?void 0:tr.folder)!=null&&ar.childrenIds?[...(tr==null?void 0:tr.folder.childrenIds)||[],er]:er===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function useDndKit(){const rr=useQueryClient(),er=useMoveItem(),tr=useToast(),{appCode:ar}=useEdificeClient(),{t:ir}=useTranslation(["common",ar]),nr=ir("explorer.filters.mine",{ns:ar}),{setResourceOrFolderIsDraggable:or,setElementDragOver:sr,setResourceIds:lr,setFolderIds:ur,fetchTreeData:cr}=useStoreActions(),Ar=useTreeData(),pr=useSensor(PointerSensor,{activationConstraint:{delay:DELAY,tolerance:TOLERANCE}}),gr=useSensor(KeyboardSensor),br=useSensors(pr,gr),vr=(kr,Sr)=>{var Ir;((Ir=kr.data.current)==null?void 0:Ir.type)==="resource"?tr.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ir("explorer.dragged.resource")," ",jsxRuntimeExports.jsx("strong",{children:Sr})]})):tr.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ir("explorer.dragged.folder")," ",jsxRuntimeExports.jsx("strong",{children:Sr})]}))};return{handleDragEnd:async kr=>{const{over:Sr,active:Ir}=kr,Cr=Sr==null?void 0:Sr.data.current,Pr=Ir.data.current,Fr=getAncestors(Ar,Cr==null?void 0:Cr.id),Gr=getChildrenIds(Ar,Cr==null?void 0:Cr.id);if((Pr==null?void 0:Pr.id)==(Cr==null?void 0:Cr.id)||Fr.includes(Pr==null?void 0:Pr.id)||Gr.includes(Pr==null?void 0:Pr.id))lr([]),ur([]);else{const Lr=(Cr==null?void 0:Cr.name)??nr;if(Sr)try{await er.mutate(Cr==null?void 0:Cr.id),vr(Ir,Lr)}catch(Wr){console.error(Wr)}finally{sr({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})}}or({isDrag:!1,elementDrag:void 0})},handleDragStart:kr=>{const{active:Sr}=kr,Ir=Sr.data.current;(Ir==null?void 0:Ir.type)==="resource"?lr([Ir==null?void 0:Ir.id]):(Ir==null?void 0:Ir.type)==="folder"&&ur([Ir==null?void 0:Ir.id]),or({isDrag:!0,elementDrag:Ir==null?void 0:Ir.id})},handleDragOver:kr=>{const{over:Sr,active:Ir}=kr,Cr=Sr==null?void 0:Sr.data.current,Pr=Ir==null?void 0:Ir.data.current,Fr=getAncestors(Ar,Cr==null?void 0:Cr.id),Gr=getChildrenIds(Ar,Cr==null?void 0:Cr.id);if(Sr){const Lr={isOver:!0,canMove:!1,overId:Cr==null?void 0:Cr.id,isTreeview:Cr==null?void 0:Cr.isTreeview};(Pr==null?void 0:Pr.id)===(Cr==null?void 0:Cr.id)||Fr.includes(Pr==null?void 0:Pr.id)||Gr.includes(Pr==null?void 0:Pr.id)?sr({...Lr,canMove:!1}):(cr(Cr==null?void 0:Cr.id,rr),sr({...Lr,canMove:!0}))}else sr({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})},sensors:br}}const EmptyScreenApp$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenApp$1),void 0)),EmptyScreenSearch$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenSearch$1),void 0)),EmptyScreenError$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenError$1),void 0)),EmptyScreenNoContentInFolder$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenNoContentInFolder$1),void 0)),EmptyScreenTrash$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenTrash$1),void 0)),FoldersList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FoldersList$1),void 0)),ResourcesList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourcesList$1),void 0)),List=()=>{const rr=useIsRoot(),er=useIsTrash(),tr=useSelectedNodeId(),ar=useSearchParams(),ir=useCurrentFolder(),nr=useToast(),or=useQueryClient(),{appCode:sr}=useEdificeClient(),{t:lr}=useTranslation([sr]),{setSearchParams:ur,setSearchConfig:cr,fetchTreeData:Ar}=useStoreActions(),{data:dr,isError:pr,error:gr,isLoading:br,isFetching:vr,fetchNextPage:yr}=useSearchContext(),xr=(dr==null?void 0:dr.pages[0].folders.length)===0,Er=(dr==null?void 0:dr.pages[0].resources.length)===0,kr=xr&&Er;return reactExports.useEffect(()=>{var Sr,Ir;dr&&((Sr=dr==null?void 0:dr.pages[0])!=null&&Sr.searchConfig&&cr(dr.pages[0].searchConfig),!ar.search&&ir.id==="default"&&Ar(ir.id,or),ur({...ar,pagination:(Ir=dr==null?void 0:dr.pages[(dr==null?void 0:dr.pages.length)-1])==null?void 0:Ir.pagination}))},[dr]),reactExports.useEffect(()=>{gr&&typeof gr=="string"&&nr.error(lr(gr))},[gr]),br?jsxRuntimeExports.jsx(LoadingScreen,{}):pr?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenError$2,{})}):ar.search&&kr?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenSearch$2,{})}):rr&&kr?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenApp$2,{})}):tr&&kr&&!er?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenNoContentInFolder$2,{})}):er&&(dr==null?void 0:dr.pages[0].resources.length)===0?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenTrash$2,{})}):jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(FoldersList$2,{data:dr,isFetching:vr}),jsxRuntimeExports.jsx(ResourcesList$2,{data:dr,isFetching:vr,fetchNextPage:yr})]})},SvgIconArrowLeft=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.707 4.293a1 1 0 0 1 0 1.414L6.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0",clipRule:"evenodd"})]}),SvgIconFiles=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M20.91 9.14v1.27H8.25a4.7 4.7 0 0 0-3.86 1.98L1.5 16.53V6.4a2.3 2.3 0 0 1 .77-1.69A2.68 2.68 0 0 1 4.11 4h3.73a2.68 2.68 0 0 1 1.84.71c.25.22.45.48.58.77s.2.6.2.92v.34h7.84c.7.01 1.35.27 1.84.71.49.45.76 1.06.77 1.7ZM8.25 11.92h14.47c.63 0 1 .68.64 1.18l-3.52 5.04a3.13 3.13 0 0 1-2.57 1.32H2.79c-.62 0-.99-.68-.64-1.18l3.53-5.04a3.13 3.13 0 0 1 2.57-1.32",clipRule:"evenodd"})]}),SvgIconFilter=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1.093 2.58A1 1 0 0 1 2 2h20a1 1 0 0 1 .764 1.646L15 12.826V21a1 1 0 0 1-1.447.894l-4-2A1 1 0 0 1 9 19v-6.174l-7.764-9.18a1 1 0 0 1-.143-1.067M4.155 4l6.609 7.814a1 1 0 0 1 .236.646v5.922l2 1V12.46a1 1 0 0 1 .236-.646L19.845 4z",clipRule:"evenodd"})]}),SvgIconMove=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.707 8.293a1 1 0 0 1 0 1.414L3.414 12l2.293 2.293a1 1 0 1 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0M11.293 1.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1-1.414 1.414L12 3.414 9.707 5.707a1 1 0 0 1-1.414-1.414zM8.293 18.293a1 1 0 0 1 1.414 0L12 20.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414M18.293 8.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L20.586 12l-2.293-2.293a1 1 0 0 1 0-1.414",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 12a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1",clipRule:"evenodd"})]}),useSearchForm=()=>{const rr=useSearchParams(),[er,tr]=reactExports.useState(""),ar=useSearchConfig(),ir=useTreeStatus(),nr=reactExports.useRef(null),{setSearchParams:or}=useStoreActions(),sr=cr=>{const Ar=cr.target.value;tr(Ar.toString())},lr=cr=>{(cr.key==="Enter"||cr.key==="Return")&&(cr.preventDefault(),or({search:er||void 0}))},ur=cr=>{cr.preventDefault(),or({search:er||void 0})};return reactExports.useEffect(()=>{const Ar=er.length==0||er.length>=ar.minLength?{search:er||void 0}:{};or({...rr,...Ar})},[er,ar.minLength]),reactExports.useEffect(()=>{ir==="select"&&tr("")},[ir]),reactExports.useEffect(()=>{tr(()=>{var cr;return((cr=rr.search)==null?void 0:cr.toString())??""})},[rr]),{formRef:nr,inputSearch:er,handleInputSearchChange:sr,handleKeyPress:lr,handleSearchSubmit:ur}},useSelectedFilters=()=>{const{appCode:rr,currentApp:er}=useEdificeClient(),{t:tr}=useTranslation(),[ar,ir]=reactExports.useState(""),nr=cr=>{if(cr==="0"){ir("");return}ir(cr)},or=useCurrentFolder(),sr=useSearchParams(),{setSearchParams:lr}=useStoreActions();reactExports.useEffect(()=>{const cr=()=>ar.includes("1")?!0:void 0,Ar=()=>ar.includes("2")?!0:void 0,dr=()=>ar.includes("7")?!0:void 0;lr({...sr,filters:{owner:cr(),public:dr(),shared:Ar(),folder:or?or.id:"default"}})},[or,lr,ar]);const ur=[{label:tr("explorer.filter.all",{ns:rr}),value:"0"},{label:tr("explorer.filter.owner",{ns:rr}),value:"1"},{label:tr("explorer.filter.shared",{ns:rr}),value:"2"},...(er==null?void 0:er.displayName)=="exercizer"?[{label:"Exercices interactifs",value:"3"}]:[],...(er==null?void 0:er.displayName)=="exercizer"?[{label:"Exercices à rendre",value:"4"}]:[],...(er==null?void 0:er.displayName)=="pages"?[{label:"Projets publics",value:"5"}]:[],...(er==null?void 0:er.displayName)=="pages"?[{label:"Projets internes",value:"6"}]:[],...(er==null?void 0:er.displayName)=="blog"?[{label:tr("explorer.filter.public",{ns:rr}),value:"7"}]:[]];return{selectedFilters:ar,options:ur,handleOnSelectFilter:nr}},SearchForm=()=>{const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation(),{selectedFilters:tr,options:ar,handleOnSelectFilter:ir}=useSelectedFilters(),{formRef:nr,inputSearch:or,handleInputSearchChange:sr,handleKeyPress:lr,handleSearchSubmit:ur}=useSearchForm(),cr=tr.length>0?tr.length:void 0;return jsxRuntimeExports.jsxs("form",{noValidate:!0,className:"bg-light p-16 ps-24 ms-n16 ms-lg-n24 me-n16 position-relative d-flex gap-8",ref:nr,children:[jsxRuntimeExports.jsxs(FormControl,{id:"search",className:"input-group",children:[jsxRuntimeExports.jsx(Input,{type:"search",placeholder:er("explorer.label.search",{ns:rr}),size:"lg",noValidationIcon:!0,value:or,onChange:sr,onKeyDown:lr}),jsxRuntimeExports.jsx(SearchButton,{type:"submit","aria-label":er("explorer.label.search",{ns:rr}),onClick:ur})]}),jsxRuntimeExports.jsxs(Dropdown,{placement:"bottom-end",children:[jsxRuntimeExports.jsx(Dropdown.Trigger,{label:er("explorer.filters"),icon:jsxRuntimeExports.jsx(SvgIconFilter,{width:20}),variant:"ghost",badgeContent:cr}),jsxRuntimeExports.jsx(Dropdown.Menu,{children:ar.map(Ar=>Ar.value==="0"?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:Ar.value,model:tr,onChange:()=>ir(Ar.value),children:Ar.label}),jsxRuntimeExports.jsx(Dropdown.Separator,{})]},"0"):jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:Ar.value,model:tr,onChange:()=>ir(Ar.value),children:Ar.label},Ar.value))})]})]})},TrashButton=({id:rr,selected:er,onSelect:tr})=>{const{t:ar}=useTranslation();return jsxRuntimeExports.jsx("div",{className:"treeview",children:jsxRuntimeExports.jsx("ul",{role:"tree",className:"m-0 p-0",children:jsxRuntimeExports.jsx("li",{id:rr,role:"treeitem","aria-selected":er,children:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("div",{className:"action-container",children:jsxRuntimeExports.jsx("div",{onClick:tr,role:"button",tabIndex:0,children:jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[jsxRuntimeExports.jsx(SvgIconDelete,{width:"20",height:"20"}),jsxRuntimeExports.jsx("span",{children:ar("explorer.tree.trash")})]})})})})})})})},CreateFolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),TreeViewContainer=()=>{const[rr,er]=useToggle(),tr=useQueryClient(),ar=useTreeData(),ir=useIsTrash(),nr=useSelectedNodeId(),or=useElementDragOver(),sr=useScrollToTop(),lr=ir?FOLDER.BIN:nr,{appCode:ur}=useEdificeClient(),{t:cr}=useTranslation(["common",ur]),Ar={...ar,name:cr("explorer.filters.mine",{ns:ur})},{goToTrash:dr,selectTreeItem:pr,clearSelectedItems:gr,clearSelectedIds:br,fetchTreeData:vr}=useStoreActions(),yr=kr=>{pr(kr,tr),sr()},xr=kr=>{var Cr,Pr;const Sr=findNodeById(ar,kr),Ir=(Cr=Sr==null?void 0:Sr.children)==null?void 0:Cr.some(Fr=>{var Gr;return Array.isArray(Fr==null?void 0:Fr.children)&&((Gr=Fr.children)==null?void 0:Gr.length)>0});(Pr=Sr==null?void 0:Sr.children)==null||Pr.forEach(Fr=>{Ir||vr(Fr.id,tr)})},Er=()=>{gr(),br(),er()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(TreeView,{data:Ar,selectedNodeId:lr,draggedNode:or!=null&&or.isTreeview?or:void 0,onTreeItemClick:yr,onTreeItemUnfold:xr}),jsxRuntimeExports.jsx(TrashButton,{id:FOLDER.BIN,selected:ir,onSelect:dr}),jsxRuntimeExports.jsx("div",{className:"d-grid my-16",children:jsxRuntimeExports.jsx(Button,{disabled:ir,type:"button",color:"primary",variant:"outline",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),onClick:Er,children:cr("explorer.folder.new")})}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:rr&&jsxRuntimeExports.jsx(CreateFolderModal,{edit:!1,isOpen:rr,onSuccess:er,onCancel:er})})]})};function ExplorerBreadcrumb(){const{appCode:rr}=useEdificeClient(),{gotoPreviousFolder:er}=useStoreActions(),{t:tr}=useTranslation(["common",rr]),{inputSearch:ar}=useSearchForm(),ir=useSelectedNodeId(),nr=useIsTrash(),or=useCurrentFolder(),sr=tr("explorer.tree.trash"),lr=tr("explorer.tree.search"),ur=tr("explorer.filters.mine",{ns:rr}),cr=(or==null?void 0:or.name)||ur;return jsxRuntimeExports.jsx("div",{className:"py-16",children:ir&&ir!=="bin"&&ir!=="default"&&!nr?jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8",children:[jsxRuntimeExports.jsx(IconButton,{icon:jsxRuntimeExports.jsx(SvgIconArrowLeft,{}),variant:"ghost",color:"tertiary","aria-label":tr("back"),className:"ms-n16",onClick:er}),jsxRuntimeExports.jsx("p",{className:"body py-8 text-truncate",children:jsxRuntimeExports.jsx("strong",{children:cr})})]}):jsxRuntimeExports.jsx("h2",{className:"body py-8 fw-bold",children:ar.length!==0?lr:nr?sr:ur})})}const illuTrashDelete="/assets/js/ode-explorer/illu-trash-delete.svg",illuTrashMenu="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='version_orange'%20data-name='version%20orange'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20353.36'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23fff;%20}%20.cls-2%20{%20fill:%20%23aadaed;%20}%20.cls-3%20{%20fill:%20%23ffefe3;%20}%20.cls-4%20{%20fill:%20none;%20stroke:%20%23aadaed;%20stroke-miterlimit:%2010;%20stroke-width:%204px;%20}%20.cls-5%20{%20fill:%20%232a9cc8;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='ciseaux'%3e%3cpath%20class='cls-3'%20d='m512.64,45.09H61.92c-11.56,0-20.93,9.37-20.93,20.93v232.01c0,11.56,9.37,20.93,20.93,20.93h450.72c11.56,0,20.93-9.37,20.93-20.93V66.02c0-11.56-9.37-20.93-20.93-20.93ZM211.25,212.37c0,7.55-6.12,13.66-13.66,13.66h-108.21c-7.55,0-13.66-6.12-13.66-13.66v-112.62c0-7.55,6.12-13.66,13.66-13.66h108.21c7.55,0,13.66,6.12,13.66,13.66v112.62Zm150.21-41.03h-94.5c-4.42,0-8-3.58-8-8s3.58-8,8-8h94.5c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm105.82,118.05H164.74c-4.42,0-8-3.58-8-8s3.58-8,8-8h302.55c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm-3.54-169.27h-196.7c-6.38,0-11.55-5.17-11.55-11.55s5.17-11.55,11.55-11.55h196.7c6.38,0,11.55,5.17,11.55,11.55s-5.17,11.55-11.55,11.55Zm-332.66,158.93c0,13.56-10.99,24.55-24.55,24.55s-24.55-10.99-24.55-24.55,10.99-24.55,24.55-24.55,24.55,10.99,24.55,24.55Z'/%3e%3c/g%3e%3crect%20class='cls-5'%20x='420.8'%20y='58.38'%20width='100.39'%20height='100.39'%20rx='20'%20ry='20'/%3e%3cg%20id='ciseaux-2'%20data-name='ciseaux'%3e%3cpath%20class='cls-4'%20d='m513.58,45.09H60.99c-11.05,0-20,8.95-20,20v233.88c0,11.05,8.95,20,20,20h452.59c11.05,0,20-8.95,20-20V65.09c0-11.05-8.95-20-20-20Z'/%3e%3c/g%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='84.02'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='109.3'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='133.13'%20r='7.02'/%3e%3cg%3e%3cpath%20class='cls-2'%20d='m449.99,215.32c-.39,0-.76-.08-1.12-.24l-9.44-4.22c-.69-.31-1.23-.9-1.48-1.62-.25-.72-.18-1.52.17-2.19l3.92-7.33-13.25-5.79c-.83-.36-1.43-1.11-1.6-2.01s.11-1.81.76-2.45l40.08-40.08c.52-.52,1.21-.81,1.94-.81,1.52,0,2.75,1.23,2.75,2.75v57.58c0,.75-.3,1.45-.83,1.97-.52.5-1.2.78-1.91.78h0c-.38,0-.75-.08-1.1-.23l-12.85-5.61-3.53,7.87c-.44.99-1.43,1.62-2.51,1.62Z'/%3e%3cpath%20class='cls-1'%20d='m469.97,150.6c.38,0,.75.3.75.75v57.58c0,.43-.35.75-.75.75-.1,0-.2-.02-.3-.06l-13.99-6.11c-.1-.04-.2-.06-.3-.06-.29,0-.56.16-.68.44l-4.03,9c-.12.28-.4.44-.68.44-.1,0-.21-.02-.3-.07l-9.44-4.22c-.4-.18-.56-.65-.35-1.04l4.56-8.53c.21-.38.04-.86-.36-1.04l-14.5-6.33c-.48-.21-.6-.84-.23-1.21l40.08-40.08c.15-.15.34-.22.52-.22m0-4c-1.26,0-2.45.49-3.35,1.39l-40.08,40.08c-1.11,1.11-1.6,2.7-1.31,4.24.29,1.54,1.33,2.84,2.77,3.47l11.27,4.92-2.9,5.42c-.62,1.16-.73,2.53-.31,3.78.42,1.24,1.36,2.26,2.55,2.8l9.44,4.22c.61.27,1.27.41,1.94.41,1.87,0,3.57-1.1,4.33-2.81l2.72-6.06,11.04,4.82c.6.26,1.24.4,1.9.4,2.62,0,4.75-2.13,4.75-4.75v-57.58c0-2.62-2.13-4.75-4.75-4.75h0Z'/%3e%3c/g%3e%3c/svg%3e",illuTrashNotif="data:image/svg+xml,%3csvg%20width='300'%20height='214'%20viewBox='0%200%20300%20214'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='300'%20height='214'%20fill='white'/%3e%3cpath%20d='M187.994%20193.875H108.563C103.268%20193.875%2098.878%20189.768%2098.5214%20184.484L90.1194%2059.0277H209.67L198.01%20184.741C197.529%20189.915%20193.19%20193.875%20187.99%20193.875H187.994Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M150.47%20150.31L164.483%20157.961C166.929%20159.296%20169.995%20158.395%20171.33%20155.95C171.999%20154.726%20172.106%20153.35%20171.742%20152.111C171.378%20150.872%20170.539%20149.773%20169.319%20149.103C167.223%20147.96%20166.638%20146.217%20166.954%20144.029C168.388%20134.186%20188.167%20115.393%20171.091%20102.13L162.134%2097.2392C141.741%2090.047%20136.626%20116.845%20129.121%20123.372C127.456%20124.824%20125.672%20125.273%20123.577%20124.126C121.131%20122.791%20118.065%20123.692%20116.73%20126.137C116.061%20127.358%20115.954%20128.736%20116.318%20129.976C116.682%20131.215%20117.521%20132.314%20118.741%20132.983L131.537%20139.97L132.751%20140.632L150.467%20150.306L150.47%20150.31Z'%20fill='%23AADAED'/%3e%3cpath%20opacity='0.2'%20d='M171.095%20102.13L171.117%20102.144L171.095%20102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M171.095%20102.13L171.117%20102.141C171.187%20102.034%20171.253%20101.924%20171.315%20101.81C172.676%2099.3167%20171.76%2096.1913%20169.267%2094.8308C166.774%2093.4703%20163.649%2094.3895%20162.288%2096.8789C162.226%2096.9929%20162.167%2097.1068%20162.115%2097.2245L162.137%2097.2355L171.095%20102.126V102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M133.67%20142.455C138.56%20145.228%20143.451%20148%20148.341%20150.773C146.422%20154.365%20142.929%20156.483%20139.421%20156.23C138.921%20156.193%20136.292%20155.954%20134.328%20153.884C131.769%20151.188%20131.438%20146.563%20133.674%20142.459L133.67%20142.455Z'%20fill='%23AADAED'/%3e%3cpath%20d='M145.56%2088.6624C145.125%2086.8475%20143.302%2085.7288%20141.488%2086.1636C139.674%2086.5984%20138.556%2088.4221%20138.991%2090.2369L156.729%20164.233C157.164%20166.048%20158.987%20167.166%20160.801%20166.732C162.615%20166.297%20163.732%20164.473%20163.297%20162.658L145.56%2088.6624Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M214.66%2037.9143H195.186L189.833%2028.707C187.068%2023.9526%20181.938%2021%20176.441%2021H125.492C120.44%2021%20115.693%2023.471%20112.796%2027.6149L105.592%2037.9143H85.1334C81.1916%2037.9143%2078%2041.1096%2078%2045.0477V46.592C78%2050.5338%2081.1953%2053.7254%2085.1334%2053.7254H214.66C218.602%2053.7254%20221.793%2050.5301%20221.793%2046.592V45.0477C221.793%2041.1059%20218.598%2037.9143%20214.66%2037.9143ZM122.437%2034.3586C123.132%2033.3621%20124.275%2032.7664%20125.489%2032.7664H176.437C177.761%2032.7664%20178.993%2033.4761%20179.658%2034.6196L181.574%2037.9143H119.947L122.433%2034.3586H122.437Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M187.064%2093.9335C187.56%2093.9777%20188.046%2093.7864%20188.542%2093.7313C189.038%2093.6761%20189.63%2093.8232%20189.822%2094.2828C190.108%2094.9778%20189.274%2095.6911%20189.369%2096.4376C189.424%2096.8604%20189.763%2097.1803%20190.079%2097.4635C190.719%2098.0334%20191.362%2098.607%20192.002%2099.177C192.164%2099.3204%20192.329%2099.4748%20192.384%2099.6807C192.454%2099.9307%20192.34%20100.192%20192.245%20100.434C191.829%20101.49%20191.789%20102.894%20192.723%20103.542C192.98%20103.722%20193.304%20103.828%20193.488%20104.086C193.693%20104.376%20193.66%20104.766%20193.605%20105.119C193.473%20105.994%20193.278%20106.858%20193.021%20107.708'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M105.681%20138.694C105.611%20140.003%20105.658%20141.562%20106.751%20142.29C106.993%20142.452%20107.276%20142.558%20107.493%20142.757C108.122%20143.331%20107.931%20144.353%20107.633%20145.151C107.335%20145.949%20106.982%20146.868%20107.409%20147.6C107.817%20148.298%20108.762%20148.493%20109.284%20149.111C109.813%20149.732%20109.828%20150.685%20110.387%20151.28C110.626%20151.534%20110.964%20151.721%20111.089%20152.049C111.189%20152.31%20111.126%20152.597%20111.126%20152.876C111.126%20153.63%20111.597%20154.321%20112.196%20154.781C112.796%20155.24%20113.516%20155.501%20114.226%20155.755'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",AppAction$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>AppAction$1),void 0)),Library$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>Library$1),void 0)),ActionBar=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ActionBarContainer$1),void 0)),DisableModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DisableModal$1),void 0)),TrashModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>TrashModal$1),void 0)),OnboardingModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>OnboardingModal),void 0)),Explorer=({config:rr})=>{const er=useSearchParams(),{setConfig:tr,setSearchParams:ar}=useStoreActions();reactExports.useEffect(()=>{tr(rr||{}),ar({...er,application:rr.app,types:rr.types})},[rr]);const{currentApp:ir}=useEdificeClient(),{data:nr}=useActions(rr.actions),{isTrashedModalOpen:or,onTrashedCancel:sr}=useTrashModal(),{isActionDisableModalOpen:lr,onActionDisableCancel:ur}=useDisableModal(),{handleDragEnd:cr,handleDragOver:Ar,handleDragStart:dr,sensors:pr}=useDndKit();useXitiTrackPageLoad();const gr=isActionAvailable("publish",nr),br=isActionAvailable("create",nr);return rr&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(AppHeader,{render:()=>br?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(AppAction$2,{onResourceCreated:rr.onResourceCreated})}):null,children:jsxRuntimeExports.jsx(Breadcrumb,{app:ir})}),jsxRuntimeExports.jsx(Grid,{className:"flex-grow-1",children:jsxRuntimeExports.jsxs(DndContext,{sensors:pr,modifiers:[snapCenterToCursor],onDragStart:dr,onDragEnd:cr,onDragOver:Ar,children:[jsxRuntimeExports.jsx(Grid.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(TreeViewContainer,{}),gr&&jsxRuntimeExports.jsx(Library$2,{})]})}),jsxRuntimeExports.jsxs(Grid.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[jsxRuntimeExports.jsx(SearchForm,{}),jsxRuntimeExports.jsx(ExplorerBreadcrumb,{}),jsxRuntimeExports.jsx(List,{})]}),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(ActionBar,{}),rr.enableOnboarding&&jsxRuntimeExports.jsx(OnboardingModal$1,{id:"showOnboardingTrash",items:[{src:illuTrashMenu,alt:"explorer.modal.onboarding.trash.screen1.alt",text:"explorer.modal.onboarding.trash.screen1.title"},{src:illuTrashNotif,alt:"explorer.modal.onboarding.trash.screen2.alt",text:"explorer.modal.onboarding.trash.screen2.alt"},{src:illuTrashDelete,alt:"explorer.modal.onboarding.trash.screen3.alt",text:"explorer.modal.onboarding.trash.screen3.title"}],modalOptions:{title:"explorer.modal.onboarding.trash.title",prevText:"explorer.modal.onboarding.trash.prev",nextText:"explorer.modal.onboarding.trash.next",closeText:"explorer.modal.onboarding.trash.close"}}),or&&jsxRuntimeExports.jsx(TrashModal$2,{isOpen:or,onCancel:sr}),lr&&jsxRuntimeExports.jsx(DisableModal$2,{isOpen:lr,onCancel:ur})]})]})})]})};function Root(){const{init:rr}=useEdificeClient(),er=getExplorerConfig();return rr?jsxRuntimeExports.jsx(Layout,{children:jsxRuntimeExports.jsx(Explorer,{config:er})}):jsxRuntimeExports.jsx(LoadingScreen,{position:!1})}var ReactQueryDevtools2=function(){return null};const queryClient=new QueryClient({queryCache:new QueryCache({onError:rr=>{typeof rr=="string"&&rr===ERROR_CODE.NOT_LOGGED_IN&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}}),getHTMLConfig=getExplorerConfig(),Providers=({children:rr})=>jsxRuntimeExports.jsxs(QueryClientProvider,{client:queryClient,children:[jsxRuntimeExports.jsx(EdificeClientProvider,{params:{app:getHTMLConfig.app},children:jsxRuntimeExports.jsx(EdificeThemeProvider,{children:rr})}),jsxRuntimeExports.jsx(ReactQueryDevtools2,{initialIsOpen:!1})]}),root=document.getElementById("root");createRoot(root).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsx(Providers,{children:jsxRuntimeExports.jsx(Root,{})})}));const __variableDynamicImportRuntimeHelper=(rr,er,tr)=>{const ar=rr[er];return ar?typeof ar=="function"?ar():Promise.resolve(ar):new Promise((ir,nr)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(nr.bind(null,new Error("Unknown variable dynamic import: "+er+(er.split("/").length!==tr?". Note that variables only represent file names one level deep.":""))))})};function EmptyScreenApp(){const{appCode:rr}=useEdificeClient(),{theme:er}=useEdificeTheme(),{t:tr}=useTranslation(),[ar,ir]=reactExports.useState("");reactExports.useEffect(()=>{(async()=>{const Ar=await __variableDynamicImportRuntimeHelper(Object.assign({"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-actualites.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuActualites$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-blog.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuBlog$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativeeditor.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativeeditor$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativewall.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativewall$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-error.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuError$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-exercizer.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuExercizer$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-homeworks.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuHomeworks$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-messagerie.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMessagerie$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-mindmap.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMindmap$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-no-content-in-folder.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuNoContentInFolder$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-pad.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuPad$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-scrapbook.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuScrapbook$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-search.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuSearch$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timeline.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimeline$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timelinegenerator.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimelinegenerator$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-trash.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTrash$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-wiki.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuWiki$1),void 0)}),`../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-${rr}.svg`,10);ir(Ar.default)})()},[rr]);const nr=useStoreContext(cr=>cr.config),{data:or}=useActions(nr==null?void 0:nr.actions),sr=or==null?void 0:or.find(cr=>cr.id==="create"),lr=()=>sr!=null&&sr.available&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.txt1d.create",{ns:rr}):sr!=null&&sr.available&&!(er!=null&&er.is1d)?tr("explorer.emptyScreen.txt2d.create",{ns:rr}):!(sr!=null&&sr.available)&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.txt1d.consultation",{ns:rr}):tr("explorer.emptyScreen.txt2d.consultation",{ns:rr}),ur=()=>sr!=null&&sr.available&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.title1d.create",{ns:rr}):sr!=null&&sr.available&&!(er!=null&&er.is1d)?tr("explorer.emptyScreen.title2d.create",{ns:rr}):!(sr!=null&&sr.available)&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.title1d.consultation",{ns:rr}):tr("explorer.emptyScreen.title2d.consultation",{ns:rr});return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:ar,imageAlt:tr("explorer.emptyScreen.app.alt",{ns:rr}),title:ur(),text:lr()})}const EmptyScreenApp$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenApp},Symbol.toStringTag,{value:"Module"})),illuSearch="/assets/js/ode-explorer/illu-search.svg",illuSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenSearch(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuSearch,imageAlt:er("explorer.emptyScreen.search.alt",{ns:rr}),text:er("explorer.emptyScreen.search.text",{ns:rr})})}const EmptyScreenSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenError(){const{t:rr}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuError,imageAlt:rr("explorer.emptyScreen.error.alt"),text:"explorer.emptyScreen.error.text"})}const EmptyScreenError$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenError},Symbol.toStringTag,{value:"Module"})),illuNoContentInFolder="/assets/js/ode-explorer/illu-no-content-in-folder.svg",illuNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenNoContentInFolder(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuNoContentInFolder,imageAlt:er("explorer.emptyScreen.folder.empty.alt",{ns:rr}),text:er("explorer.emptyScreen.label",{ns:rr})})}const EmptyScreenNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenTrash(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuTrash,imageAlt:er("explorer.emptyScreen.trash.alt"),title:er("explorer.emptyScreen.trash.title"),text:er("explorer.emptyScreen.trash.empty",{ns:rr})})}const EmptyScreenTrash$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenTrash},Symbol.toStringTag,{value:"Module"}));function CardIcon({app:rr,type:er}){return er==="folder"?jsxRuntimeExports.jsx(SvgIconFiles,{width:"24",height:"24",className:`color-app-${rr==null?void 0:rr.displayName}`}):er==="resource"?jsxRuntimeExports.jsx(AppIcon,{app:rr,iconFit:"ratio",size:"24",variant:"rounded"}):null}const DraggableCard=({app:rr,type:er,name:tr})=>{const ar={flexDirection:"row",width:"252px",height:"32px",boxShadow:"0 0.2rem 0.6em rgba(0, 0, 0, 0.15)"};return jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center card is-selected gap-8",style:ar,children:[jsxRuntimeExports.jsx("div",{className:"ms-8",children:jsxRuntimeExports.jsx(CardIcon,{app:rr,type:er})}),jsxRuntimeExports.jsx("div",{className:"text-truncate",children:tr})]})},FolderCard=({app:rr,name:er,idFolder:tr,isSelected:ar=!1,isSelectable:ir=!0,onClick:nr,onSelect:or})=>{const[sr,lr]=reactExports.useState(!1),ur=reactExports.useId(),{lg:cr}=useBreakpoint(),{setNodeRef:Ar}=useDroppable({id:ur,data:{id:tr,name:er,isTreeview:!1,accepts:["folder","resource"]}}),{attributes:dr,listeners:pr,setNodeRef:gr,transform:br}=useDraggable({id:ur,data:{id:tr,type:"folder"},disabled:!cr}),vr=useResourceOrFolderIsDraggable(),yr=useElementDragOver(),xr=Ir=>{gr(Ir),Ar(Ir)},Er=yr.overId===tr,kr=!yr.canMove&&yr.isTreeview?"no-drop":sr?"grabbing":"default",Sr={transform:`translate3d(${((br==null?void 0:br.x)??0)/1}px, ${((br==null?void 0:br.y)??0)/1}px, 0)`,cursor:kr};return reactExports.useEffect(()=>{const Ir=vr.elementDrag===tr;lr(Ir)},[vr]),jsxRuntimeExports.jsx("div",{ref:xr,style:{...Sr},children:sr?jsxRuntimeExports.jsx(DraggableCard,{name:er,app:rr,type:"folder"}):jsxRuntimeExports.jsx(Card,{app:rr,isSelectable:!sr&&ir,isSelected:!sr&&ar||Er&&sr,isFocused:Er,onClick:nr,onSelect:or,children:Ir=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!sr&&cr&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...pr,...dr,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx(SvgIconFiles,{width:"48",height:"48",className:`color-app-${Ir}`}),jsxRuntimeExports.jsx(Card.Title,{children:er})]})]})})})};FolderCard.displayName="FolderCard";const FoldersList=({data:rr})=>{var pr,gr;const er=useQueryClient(),tr=useSelectedFolders(),ar=useFolderIds(),ir=useResourceOrFolderIsDraggable(),nr=useScrollToTop(),{currentApp:or}=useEdificeClient(),{setSelectedFolders:sr,setFolderIds:lr,openFolder:ur}=useStoreActions();function cr(br){ar.includes(br.id)?(lr(ar.filter(vr=>vr!==br.id)),sr(tr.filter(vr=>vr.id!==br.id))):(lr([br.id,...ar]),sr([br,...tr]))}function Ar(br){nr(),ur({folder:br,folderId:br.id,queryClient:er})}const dr=useSpring({from:{opacity:0},to:{opacity:1}});return(pr=rr==null?void 0:rr.pages[0])!=null&&pr.folders.length?jsxRuntimeExports.jsx(animated.ul,{className:"grid ps-0 list-unstyled mb-24",children:(gr=rr==null?void 0:rr.pages[0])==null?void 0:gr.folders.map(br=>{const{id:vr,name:yr}=br,xr=ir.elementDrag===vr;return jsxRuntimeExports.jsx(animated.li,{className:`g-col-4 ${xr?"z-2000":"z-1"}`,style:{position:"relative",...dr},children:jsxRuntimeExports.jsx(FolderCard,{name:yr,idFolder:vr,app:or,isSelected:ar.includes(br.id),onClick:Er=>{Er.stopPropagation(),Ar(br)},onSelect:()=>cr(br)})},vr)})}):null},FoldersList$1=Object.freeze(Object.defineProperty({__proto__:null,default:FoldersList},Symbol.toStringTag,{value:"Module"})),ResourceCard=({app:rr,resource:er,time:tr,isSelected:ar=!1,isSelectable:ir=!0,onClick:nr,onSelect:or})=>{const[sr,lr]=reactExports.useState(!1),ur=useIsTrash(),{lg:cr}=useBreakpoint(),Ar=`/userbook/avatar/${er==null?void 0:er.creatorId}`;function dr(Cr){const{rights:Pr,creatorId:Fr}=Cr||{};return Pr.filter(Lr=>!Lr.includes(Fr)).length>=1}const{attributes:pr,listeners:gr,setNodeRef:br,transform:vr}=useDraggable({id:er.id,data:{id:er.id,type:"resource"},disabled:!!ur||!cr}),yr=dr(er),xr=er==null?void 0:er.public,Er=useResourceOrFolderIsDraggable(),{appCode:kr}=useEdificeClient(),{t:Sr}=useTranslation(),Ir={position:sr?"absolute":"relative",zIndex:sr?2e3:1,transform:`translate3d(${((vr==null?void 0:vr.x)??0)/1}px, ${((vr==null?void 0:vr.y)??0)/1}px, 0)`};return reactExports.useEffect(()=>{const Cr=Er.elementDrag===er.id;lr(Cr)},[Er]),jsxRuntimeExports.jsx("div",{ref:br,style:{...Ir},children:sr?jsxRuntimeExports.jsx(DraggableCard,{app:rr,type:"resource",name:er==null?void 0:er.name}):jsxRuntimeExports.jsx(Card,{app:rr,isSelected:!sr&&ar,isSelectable:!sr&&ir,onClick:nr,onSelect:or,children:()=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!sr&&cr&&!ur&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...gr,...pr,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx("div",{className:"card-image medium",children:er!=null&&er.thumbnail?jsxRuntimeExports.jsx(Image$1,{alt:"",src:`${er==null?void 0:er.thumbnail}?thumbnail=80x80`,objectFit:"cover",className:"h-full w-100"}):jsxRuntimeExports.jsx(AppIcon,{app:rr,iconFit:"ratio",size:"80",variant:"rounded"})}),jsxRuntimeExports.jsxs("div",{className:"text-truncate",children:[jsxRuntimeExports.jsx(Card.Title,{children:er==null?void 0:er.name}),jsxRuntimeExports.jsx(Card.Text,{children:jsxRuntimeExports.jsx("em",{children:tr})})]})]}),jsxRuntimeExports.jsxs(Card.Footer,{children:[jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8 text-truncate",children:[Ar?jsxRuntimeExports.jsx(Avatar,{alt:(er==null?void 0:er.creatorName)||"",size:"xs",src:Ar,variant:"circle",width:"24",height:"24"}):jsxRuntimeExports.jsx(SvgIconOneProfile,{}),jsxRuntimeExports.jsx(Card.Text,{children:er==null?void 0:er.creatorName})]}),jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8",children:[yr&&jsxRuntimeExports.jsx(Tooltip,{message:Sr("tooltip.shared",{ns:kr}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconUsers,{width:16,height:16})}),xr&&jsxRuntimeExports.jsx(Tooltip,{message:Sr("tooltip.public",{ns:kr}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconGlobe,{width:16,height:16})})]})]})]})})})};ResourceCard.displayName="ResourceCard";const ResourcesList=({data:rr,fetchNextPage:er})=>{const{currentApp:tr}=useEdificeClient(),{t:ar}=useTranslation(),{fromNow:ir}=useDate(),nr=useSearchParams(),or=useResourceIds(),sr=useSelectedResources(),{setSelectedResources:lr,setResourceIds:ur,openResource:cr,setResourceIsTrash:Ar}=useStoreActions(),dr=useIsTrash(),pr=useSpring({from:{opacity:0},to:{opacity:1}}),br=nr.pagination.startIdx+nr.pagination.pageSize<(nr.pagination.maxIdx||0),vr=reactExports.useCallback(()=>{er()},[]),yr=kr=>{dr?(Ar(!0),ur([kr.id]),lr([kr])):cr(kr)};async function xr(kr){if(or.includes(kr.id)){ur(or.filter(Sr=>Sr!==kr.id)),lr(sr.filter(Sr=>Sr.id!==kr.id));return}ur([...or,kr.id]),lr([...sr,kr])}const Er=clsx("grid ps-0 list-unstyled");return jsxRuntimeExports.jsxs(React$4.Fragment,{children:[jsxRuntimeExports.jsx(animated.ul,{className:Er,children:rr==null?void 0:rr.pages.map((kr,Sr)=>jsxRuntimeExports.jsx(React$4.Fragment,{children:kr.resources.map(Ir=>{const{id:Cr,updatedAt:Pr}=Ir,Fr=ir(Pr);return jsxRuntimeExports.jsx(animated.li,{className:"g-col-4",style:{position:"relative",...pr},children:jsxRuntimeExports.jsx(ResourceCard,{app:tr,resource:Ir,time:Fr,isSelectable:!0,isSelected:or.includes(Ir.id),onClick:Gr=>{Gr.stopPropagation(),yr(Ir)},onSelect:()=>xr(Ir)})},Cr)})},Sr))}),br&&jsxRuntimeExports.jsx("div",{className:"d-grid gap-2 col-4 mx-auto my-24",children:jsxRuntimeExports.jsx(Button,{type:"button",color:"secondary",variant:"filled",onClick:vr,children:ar("explorer.see.more")})})]})},ResourcesList$1=Object.freeze(Object.defineProperty({__proto__:null,default:ResourcesList},Symbol.toStringTag,{value:"Module"}));function useFolderModal({edit:rr,onSuccess:er,onClose:tr}){var kr;const ar=useSelectedFolders(),ir=useCurrentFolder(),nr=useCreateFolder(),or=useUpdatefolder(),sr=rr?(kr=ar[0])==null?void 0:kr.name:void 0,{reset:lr,register:ur,handleSubmit:cr,setFocus:Ar,formState:{errors:dr,isSubmitting:pr,isDirty:gr,isValid:br}}=useForm({mode:"onChange",values:{name:sr||""}}),vr=reactExports.useId(),yr=async function({name:Sr}){var Ir;try{if(rr){const Cr=(Ir=ar[0])==null?void 0:Ir.parentId,Fr=ar[0].id;await or.mutate({folderId:Fr,parentId:Cr,name:Sr}),lr(),er==null||er()}else{const Cr=(ir==null?void 0:ir.id)||FOLDER.DEFAULT;await nr.mutate({name:Sr,parentId:Cr}),lr(),er==null||er()}}catch(Cr){console.error(Cr)}};function xr(){lr(),tr()}return{formId:`createModal_${vr}`,errors:dr,isSubmitting:pr,isDirty:gr,isValid:br,register:ur,setFocus:Ar,handleSubmit:cr,onCancel:xr,onSubmit:yr}}function FolderModal$1({isOpen:rr,edit:er,onSuccess:tr,onCancel:ar}){const{t:ir}=useTranslation(),{isDirty:nr,isValid:or,isSubmitting:sr,formId:lr,onSubmit:ur,onCancel:cr,handleSubmit:Ar,register:dr,setFocus:pr}=useFolderModal({edit:er,onSuccess:tr,onClose:ar});return reactExports.useEffect(()=>{rr&&pr("name")},[rr,pr]),rr?reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:cr,id:"modal_"+lr,children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:cr,children:ir(er?"explorer.rename.folder":"explorer.create.folder")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("form",{id:lr,onSubmit:Ar(ur),children:jsxRuntimeExports.jsxs(FormControl,{id:"nameFolder",isRequired:!0,children:[jsxRuntimeExports.jsx(Label,{children:ir("explorer.create.folder.name")}),jsxRuntimeExports.jsx(Input,{type:"text",...dr("name",{required:!0,maxLength:60,pattern:{value:/[^ ]/,message:"invalid title"}}),placeholder:ir("explorer.create.folder.name"),size:"md","aria-required":!0,maxLength:60})]})})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:cr,type:"button",variant:"ghost",children:ir("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{form:lr,type:"submit",color:"primary",variant:"filled",disabled:!nr||!or||sr,children:ir(er?"explorer.rename":"explorer.create")})]})]}),document.getElementById("portal")):null}const FolderModal$2=Object.freeze(Object.defineProperty({__proto__:null,default:FolderModal$1},Symbol.toStringTag,{value:"Module"})),CreateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0));function AppAction({onResourceCreated:rr}){const[er,tr]=useToggle(),ar=useStoreContext(gr=>gr.config),{appCode:ir}=useEdificeClient(),{t:nr}=useTranslation(ir),{clearSelectedItems:or,clearSelectedIds:sr}=useStoreActions(),{data:lr}=useActions(ar==null?void 0:ar.actions),ur=lr==null?void 0:lr.find(gr=>gr.id==="create"),cr=useCurrentFolder(),Ar=useCreateResource({onResourceCreated:rr}),dr=useSearchParams(),pr=()=>{if(ir=="scrapbook"){goToCreate({searchParams:dr,folderId:cr.id});return}or(),sr(),tr()};return ur?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),className:"ms-auto",onClick:pr,children:nr("explorer.create.title")}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:er&&jsxRuntimeExports.jsx(CreateModal,{mode:"create",currentFolder:cr,createResource:Ar,isOpen:er,onSuccess:tr,onCancel:tr,children:(gr,br,vr,yr,xr)=>ir==="blog"&&isActionAvailable("createPublic",lr)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:ir,isUpdating:br,resource:gr,watch:vr,setValue:yr,register:xr})})})]}):null}const AppAction$1=Object.freeze(Object.defineProperty({__proto__:null,default:AppAction},Symbol.toStringTag,{value:"Module"})),imageLibraryNeo="/assets/js/ode-explorer/image-library.svg",imageLibraryOne="/assets/js/ode-explorer/image-library.svg",useLibrary=()=>{const rr=useLibraryUrl(),{theme:er}=useEdificeTheme(),[tr,ar]=reactExports.useState("");return reactExports.useEffect(()=>{var sr,lr;const nr={neo:imageLibraryNeo,one:imageLibraryOne},or=((lr=(sr=er==null?void 0:er.bootstrapVersion)==null?void 0:sr.toString())==null?void 0:lr.toLowerCase())||"neo";ar(nr[or]||imageLibraryNeo)},[er]),{libraryUrl:rr,imageFullURL:tr,handleClick:()=>{rr&&(window.open(rr,"_blank"),odeServices.data().trackAccessLibraryFromExplorer())}}},Library=()=>{const{libraryUrl:rr,imageFullURL:er,handleClick:tr}=useLibrary(),{t:ar}=useTranslation();return rr&&jsxRuntimeExports.jsxs("div",{className:"p-16",children:[jsxRuntimeExports.jsx(Image$1,{width:"270",height:"140",loading:"lazy",className:"rounded",src:er,alt:ar("explorer.libray.img.alt")}),jsxRuntimeExports.jsx("p",{className:"m-8",children:ar("explorer.libray.title")}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:tr,rel:"noreferrer",className:"btn btn-ghost-primary d-inline-flex align-items-center gap-4 p-8",children:[jsxRuntimeExports.jsx("span",{children:ar("explorer.libray.btn")}),jsxRuntimeExports.jsx(SvgIconArrowRight,{})]})]})},Library$1=Object.freeze(Object.defineProperty({__proto__:null,default:Library},Symbol.toStringTag,{value:"Module"}));function useAccessControl({roles:rr,rights:er,action:tr}){const[ar,ir]=reactExports.useState(!1),{user:nr}=useUser(),or=useIsTrash();reactExports.useEffect(()=>{ur()},[rr,er]);const sr=async function(cr){const Ar=cr instanceof Array?cr:[cr];if(rr instanceof Array){const dr=await odeServices.rights().sessionHasAtLeastOneResourceRight(rr,Ar);ir(dr)}else{const dr=await odeServices.rights().sessionHasResourceRight(rr,Ar);ir(dr)}},lr=async function(cr){if(rr instanceof Array){const Ar=await odeServices.rights().sessionHasAtLeastOneResourceRightForEachList(rr,cr);ir(Ar)}else{const Ar=await odeServices.rights().sessionHasResourceRightForEachList(rr,cr);ir(Ar)}},ur=async function(){var cr,Ar,dr;if(rr===void 0){ir(!0);return}if(or&&((Ar=(cr=er[0])==null?void 0:cr.trashedBy)!=null&&Ar.includes(nr==null?void 0:nr.userId))&&tr==="restore"&&!((dr=er[0])!=null&&dr.trashed)){ir(!0);return}if(er instanceof Array)if(er.length>0)if(typeof er[0]=="string")await sr(er);else{const pr=er.map(gr=>gr.rights);await lr(pr)}else ir(!1);else typeof er=="string"?await sr(er):await sr(er.rights)};return{visible:ar,refreshState:ur}}function useActionBar(){const[rr,er]=reactExports.useState(!1),[tr,ar]=reactExports.useState("void"),[ir,nr]=reactExports.useState(),or=useStoreContext(nt=>nt.config),sr=useCurrentFolder(),lr=useResourceIds(),ur=useSelectedResources(),cr=useSelectedFolders(),Ar=useFolderIds(),dr=useIsTrash(),pr=useRestore(),gr=useResourceIsTrash(),br=useSearchParams(),vr=useCopyResource(),yr=useResourceOrFolderIsDraggable(),{openResource:xr,printSelectedResource:Er,openFolder:kr,clearSelectedItems:Sr,clearSelectedIds:Ir}=useStoreActions(),{data:Cr}=useActions(or==null?void 0:or.actions);reactExports.useEffect(()=>{if(lr.length===0&&Ar.length===0){er(!1);return}if(gr){er(!1);return}if(yr.isDrag){er(!1);return}er(!0)},[lr,Ar]);async function Pr(nt){var At;switch((At=document.getElementById("root"))==null||At.setAttribute("aria-hidden","true"),nr(nt),nt.id){case ACTION.OPEN:return lr.length>0?xr(ur[0]):kr({folder:cr[0],folderId:cr[0].id});case ACTION.COPY:return ut();case ACTION.MOVE:return ar("move");case ACTION.PRINT:return Er();case ACTION.DELETE:return ar("delete");case ACTION.RESTORE:return await Lr();case ACTION.PUBLISH:return ar("publish");case ACTION.UPD_PROPS:case"edit":return st();case ACTION.SHARE:return ar("share");case ACTION.EXPORT:return ar("export");default:throw Error(`Unknown action: ${nt.id}`)}}function Fr(nt){const At=lr.length+Ar.length,dt=lr.length===1||Ar.length===1,Ot=At===1,Ct=Ar.length===0;switch(nt.id){case ACTION.OPEN:return Ot;case ACTION.MANAGE:return dt;case ACTION.COPY:return dt&&Ct;case ACTION.PUBLISH:return dt&&Ct;case ACTION.UPD_PROPS:return dt&&Ct;case ACTION.SHARE:return Ct&&dt;case"export":return dt&&Ct;case ACTION.PRINT:return dt&&Ct;case"edit":return Ot;default:return!0}}const Gr=()=>!0;async function Lr(){try{if(dr)await pr.mutate();else throw new Error("Cannot restore untrashed resources");Wr()}catch(nt){console.error(nt)}}function Wr(){var nt;ar("void"),ir!=null&&ir.id&&((nt=document.getElementById(ir==null?void 0:ir.id))==null||nt.focus())}const Nr=nt=>()=>{tr===nt&&(Wr(),Sr(),Ir())},Dr=Nr("move"),Mr=Nr("move"),$r=Nr("delete"),Zr=Nr("delete"),_r=Nr("publish"),jr=Nr("publish"),Br=Nr("edit_folder"),Vr=Nr("edit_folder"),Ur=Nr("edit_resource"),Xr=Nr("edit_resource"),zr=Nr("share"),Kr=Nr("share"),tt=Nr("export"),et=Nr("export");async function ut(){if(ur&&ur.length>0){const nt=ur[0];await vr.mutate(nt),Sr(),Ir()}}function st(){if(lr&&lr.length>0){const nt=ur[0].assetId;(or==null?void 0:or.app)==="scrapbook"?goToEdit({searchParams:br,assetId:nt}):ar("edit_resource")}else ar("edit_folder")}function lt(nt){return nt.id==="edit"&&Ar.length>0?"explorer.rename":`explorer.actions.${nt.id}`}return{onRestore:Lr,actions:dr?or==null?void 0:or.trashActions:Cr,selectedElement:[...ur,...cr],currentFolderId:sr==null?void 0:sr.id,overrideLabel:lt,handleClick:Pr,isActivable:dr?Gr:Fr,isActionBarOpen:rr,isMoveModalOpen:tr==="move",onMoveCancel:Dr,onMoveSuccess:Mr,isDeleteModalOpen:tr==="delete",onDeleteCancel:Zr,onDeleteSuccess:$r,isPublishModalOpen:tr==="publish",onPublishCancel:jr,onPublishSuccess:_r,isEditFolderOpen:tr==="edit_folder",onEditFolderCancel:Vr,onEditFolderSuccess:Br,isEditResourceOpen:tr==="edit_resource",onEditResourceCancel:Xr,onEditResourceSuccess:Ur,isShareResourceOpen:tr==="share",onShareResourceCancel:Kr,onShareResourceSuccess:zr,isExportModalOpen:tr==="export",onExportCancel:tt,onExportSuccess:et,onClearActionBar:Wr}}function AccessControl({resourceRights:rr,roleExpected:er,action:tr,children:ar,renderWhenForbidden:ir}){const{t:nr}=useTranslation(),{overrideLabel:or}=useActionBar(),{visible:sr}=useAccessControl({roles:er,rights:rr,action:tr==null?void 0:tr.id}),{setResourceActionDisable:lr}=useStoreActions(),ur=useIsTrash();return sr?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:ar}):ir?ir():ur&&!sr?jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",onClick:()=>{lr(!0)},children:nr(or(tr))}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})}const PublishModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>PublishModal),void 0)),UpdateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0)),DeleteModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DeleteModal$1),void 0)),MoveModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>MoveModal$1),void 0)),FolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),ExportModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ExportModal$1),void 0));function ActionBarContainer(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation(),{actions:tr,selectedElement:ar,isMoveModalOpen:ir,isDeleteModalOpen:nr,isPublishModalOpen:or,isActionBarOpen:sr,isEditFolderOpen:lr,overrideLabel:ur,onEditFolderCancel:cr,onEditFolderSuccess:Ar,isEditResourceOpen:dr,onEditResourceCancel:pr,onEditResourceSuccess:gr,isShareResourceOpen:br,onShareResourceCancel:vr,onShareResourceSuccess:yr,isExportModalOpen:xr,onExportCancel:Er,onExportSuccess:kr,onMoveCancel:Sr,onMoveSuccess:Ir,onDeleteCancel:Cr,onDeleteSuccess:Pr,onPublishCancel:Fr,onPublishSuccess:Gr,isActivable:Lr,handleClick:Wr}=useActionBar(),Dr=useSelectedResources()[0],Mr=useShareResource(rr),$r=useUpdateResource(rr),Zr=useTransition(sr,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Zr((_r,jr)=>jr&&jsxRuntimeExports.jsx(animated.div,{className:"position-fixed bottom-0 start-0 end-0",style:{..._r,zIndex:4},children:jsxRuntimeExports.jsx(ActionBar$1,{children:tr==null?void 0:tr.filter(Br=>Br.available&&Br.target==="actionbar").map(Br=>Lr(Br)&&jsxRuntimeExports.jsx(AccessControl,{resourceRights:ar,roleExpected:Br.right,action:Br,children:jsxRuntimeExports.jsx(Button,{id:Br.id,type:"button",color:"primary",variant:"filled",onClick:()=>{Wr(Br)},children:er(ur(Br))},Br.id)},Br.id))})})),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[ir&&jsxRuntimeExports.jsx(MoveModal$2,{isOpen:ir,onCancel:Sr,onSuccess:Ir}),nr&&jsxRuntimeExports.jsx(DeleteModal$2,{isOpen:nr,onCancel:Cr,onSuccess:Pr}),or&&Dr&&jsxRuntimeExports.jsx(PublishModal$1,{isOpen:or,resourceId:Dr.assetId,onCancel:Fr,onSuccess:Gr}),lr&&jsxRuntimeExports.jsx(FolderModal,{edit:!0,isOpen:lr,onCancel:cr,onSuccess:Ar}),dr&&Dr&&jsxRuntimeExports.jsx(UpdateModal,{mode:"update",isOpen:dr,resourceId:Dr.assetId,updateResource:$r,onCancel:pr,onSuccess:gr,children:(_r,jr,Br,Vr,Ur)=>rr==="blog"&&isActionAvailable("createPublic",tr)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:rr,isUpdating:jr,resource:_r,watch:Br,setValue:Vr,register:Ur})}),br&&Dr&&jsxRuntimeExports.jsx(ShareResourceModal,{isOpen:br,shareResource:Mr,shareOptions:{resourceCreatorId:Dr.creatorId,resourceId:Dr.assetId,resourceRights:Dr.rights},onCancel:vr,onSuccess:yr,children:rr==="blog"?jsxRuntimeExports.jsx(ShareBlog,{resourceId:Dr.assetId,updateResource:$r}):null}),xr&&Dr&&jsxRuntimeExports.jsx(ExportModal$2,{isOpen:xr,onCancel:Er,onSuccess:kr})]})]})}const ActionBarContainer$1=Object.freeze(Object.defineProperty({__proto__:null,default:ActionBarContainer},Symbol.toStringTag,{value:"Module"}));function DisableModal({isOpen:rr,onCancel:er=()=>({})}){const{t:tr}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:er,id:"trash_action_disable_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>er(),children:tr("explorer.trash.action.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:tr("explorer.trash.action.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:er,type:"button",variant:"outline",children:tr("close")})})]}),document.getElementById("portal"))}const DisableModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DisableModal},Symbol.toStringTag,{value:"Module"}));function TrashModal({isOpen:rr,onCancel:er=()=>({})}){const{t:tr}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:er,id:"trash_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>er(),children:tr("explorer.trash.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:tr("explorer.trash.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:er,type:"button",variant:"outline",children:tr("close")})})]}),document.getElementById("portal"))}const TrashModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:TrashModal},Symbol.toStringTag,{value:"Module"})),OnboardingModal=Object.freeze(Object.defineProperty({__proto__:null,default:OnboardingModal$2},Symbol.toStringTag,{value:"Module"})),illuActualites="/assets/js/ode-explorer/illu-actualites.svg",illuActualites$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuActualites},Symbol.toStringTag,{value:"Module"})),illuBlog="/assets/js/ode-explorer/illu-blog.svg",illuBlog$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuBlog},Symbol.toStringTag,{value:"Module"})),illuCollaborativeeditor="/assets/js/ode-explorer/illu-pad.svg",illuCollaborativeeditor$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativeeditor},Symbol.toStringTag,{value:"Module"})),illuCollaborativewall="/assets/js/ode-explorer/illu-collaborativewall.svg",illuCollaborativewall$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativewall},Symbol.toStringTag,{value:"Module"})),illuExercizer="/assets/js/ode-explorer/illu-exercizer.svg",illuExercizer$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuExercizer},Symbol.toStringTag,{value:"Module"})),illuHomeworks="/assets/js/ode-explorer/illu-homeworks.svg",illuHomeworks$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuHomeworks},Symbol.toStringTag,{value:"Module"})),illuMessagerie="/assets/js/ode-explorer/illu-messagerie.svg",illuMessagerie$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMessagerie},Symbol.toStringTag,{value:"Module"})),illuMindmap="/assets/js/ode-explorer/illu-mindmap.svg",illuMindmap$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMindmap},Symbol.toStringTag,{value:"Module"})),illuPad="/assets/js/ode-explorer/illu-pad.svg",illuPad$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuPad},Symbol.toStringTag,{value:"Module"})),illuScrapbook="/assets/js/ode-explorer/illu-scrapbook.svg",illuScrapbook$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuScrapbook},Symbol.toStringTag,{value:"Module"})),illuTimeline="/assets/js/ode-explorer/illu-timeline.svg",illuTimeline$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimeline},Symbol.toStringTag,{value:"Module"})),illuTimelinegenerator="/assets/js/ode-explorer/illu-timelinegenerator.svg",illuTimelinegenerator$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimelinegenerator},Symbol.toStringTag,{value:"Module"})),illuWiki="/assets/js/ode-explorer/illu-wiki.svg",illuWiki$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuWiki},Symbol.toStringTag,{value:"Module"})),ResourceModal=Object.freeze(Object.defineProperty({__proto__:null,default:ResourceModal$1},Symbol.toStringTag,{value:"Module"})),PublishModal=Object.freeze(Object.defineProperty({__proto__:null,default:PublishModal$2},Symbol.toStringTag,{value:"Module"}));function useDeleteModal({onSuccess:rr}){const er=useDelete(),tr=useTrash(),ar=useIsTrash();async function ir(){try{ar?await er.mutate():await tr.mutate(),rr==null||rr()}catch(nr){console.error(nr)}}return{isTrashFolder:ar,onDelete:ir}}function DeleteModal({isOpen:rr,onSuccess:er=()=>({}),onCancel:tr=()=>({})}){const{t:ar}=useTranslation(),{isTrashFolder:ir,onDelete:nr}=useDeleteModal({onSuccess:er});return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:tr,id:"deleteModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:tr,children:ar(ir?"explorer.delete.title":"explorer.trash.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:ar(ir?"explorer.delete.subtitle":"explorer.trash.subtitle")})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:tr,type:"button",variant:"ghost",children:ar("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"danger",onClick:nr,type:"button",variant:"filled",children:ar(ir?"explorer.delete":"explorer.trash")})]})]}),document.getElementById("portal"))}const DeleteModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DeleteModal},Symbol.toStringTag,{value:"Module"}));function useMoveModal({onSuccess:rr}){const[er,tr]=reactExports.useState(),ar=useQueryClient(),ir=useMoveItem(),nr=useSelectedFolders(),or=useSelectedResources(),sr=useTreeData(),{fetchTreeData:lr}=useStoreActions();async function ur(){try{if(!er)throw new Error("explorer.move.selection.empty");await ir.mutate(er),await(rr==null?void 0:rr())}catch(Ar){console.error(Ar)}}const cr=Ar=>{var pr,gr;const dr=getAncestors(sr,Ar);for(const br of nr)if(Ar===br.id||Ar===br.parentId||(pr=br.childrenIds)!=null&&pr.includes(Ar)||dr.includes(br.id))return!1;for(const br of or)if(Ar===((br==null?void 0:br.folderIds)&&br.folderIds[0])||((gr=br==null?void 0:br.folderIds)==null?void 0:gr.length)===0&&Ar==="default")return!1;return!0};return{treeData:sr,disableSubmit:!er,handleTreeItemSelect:Ar=>{cr(Ar)?tr(Ar):tr(void 0)},handleOnTreeItemUnfold:Ar=>{var gr,br;const dr=findNodeById(sr,Ar),pr=(gr=dr==null?void 0:dr.children)==null?void 0:gr.some(vr=>{var yr;return Array.isArray(vr==null?void 0:vr.children)&&((yr=vr.children)==null?void 0:yr.length)>0});(br=dr==null?void 0:dr.children)==null||br.forEach(vr=>{pr||lr(vr.id,ar)})},onMove:()=>ur()}}function MoveModal({isOpen:rr,onSuccess:er,onCancel:tr}){const{appCode:ar}=useEdificeClient(),{t:ir}=useTranslation(),{treeData:nr,handleTreeItemSelect:or,handleOnTreeItemUnfold:sr,onMove:lr,disableSubmit:ur}=useMoveModal({onSuccess:er}),cr={...nr,name:ir("explorer.filters.mine",{ns:ar})};return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:tr,id:"moveModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:tr,children:ir("explorer.move.title")}),jsxRuntimeExports.jsx(Modal.Subtitle,{children:ir("explorer.move.subtitle")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx(TreeView,{data:cr,onTreeItemClick:or,onTreeItemUnfold:sr})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:tr,type:"button",variant:"ghost",children:ir("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:lr,type:"button",variant:"filled",disabled:ur,children:ir("explorer.move")})]})]}),document.getElementById("portal"))}const MoveModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:MoveModal},Symbol.toStringTag,{value:"Module"})),useExportModal=rr=>{const er=useSelectedResources(),tr=useSearchParams(),ar=useToast(),{t:ir}=useTranslation();return{handleExportClick:()=>{er.length?(goToExport({searchParams:tr,assetId:er[0].assetId}),rr()):ar.error(ir("explorer.error.noResourceSelected"))}}};function ExportModal({isOpen:rr,onSuccess:er,onCancel:tr}){const{handleExportClick:ar}=useExportModal(er),{t:ir}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:tr,id:"exportModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:tr,children:ir("explorer.export.title")}),jsxRuntimeExports.jsxs(Modal.Body,{children:[jsxRuntimeExports.jsxs("ul",{children:[jsxRuntimeExports.jsx("li",{children:ir("explorer.export.body.info.1")}),jsxRuntimeExports.jsx("li",{children:ir("explorer.export.body.info.2")}),jsxRuntimeExports.jsx("li",{children:ir("explorer.export.body.info.3")})]}),jsxRuntimeExports.jsx(Alert,{type:"warning",children:ir("explorer.export.body.warning")})]}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:tr,type:"button",variant:"ghost",children:ir("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:ar,type:"button",variant:"filled",children:ir("explorer.actions.export")})]})]}),document.getElementById("portal"))}const ExportModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:ExportModal},Symbol.toStringTag,{value:"Module"}));
|
|
1531
|
+
*/var React=reactExports,shim=shimExports;function is(rr,er){return rr===er&&(rr!==0||1/rr===1/er)||rr!==rr&&er!==er}var objectIs=typeof Object.is=="function"?Object.is:is,useSyncExternalStore=shim.useSyncExternalStore,useRef=React.useRef,useEffect=React.useEffect,useMemo=React.useMemo,useDebugValue$1=React.useDebugValue;withSelector_production.useSyncExternalStoreWithSelector=function(rr,er,tr,ar,ir){var nr=useRef(null);if(nr.current===null){var or={hasValue:!1,value:null};nr.current=or}else or=nr.current;nr=useMemo(function(){function lr(pr){if(!ur){if(ur=!0,cr=pr,pr=ar(pr),ir!==void 0&&or.hasValue){var gr=or.value;if(ir(gr,pr))return Ar=gr}return Ar=pr}if(gr=Ar,objectIs(cr,pr))return gr;var br=ar(pr);return ir!==void 0&&ir(gr,br)?(cr=pr,gr):(cr=pr,Ar=br)}var ur=!1,cr,Ar,dr=tr===void 0?null:tr;return[function(){return lr(er())},dr===null?void 0:function(){return lr(dr())}]},[er,tr,ar,ir]);var sr=useSyncExternalStore(rr,nr[0],nr[1]);return useEffect(function(){or.hasValue=!0,or.value=sr},[sr]),useDebugValue$1(sr),sr};withSelector.exports=withSelector_production;var withSelectorExports=withSelector.exports;const useSyncExternalStoreExports=getDefaultExportFromCjs(withSelectorExports),{useDebugValue}=React$4,{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports,identity=rr=>rr;function useStore(rr,er=identity,tr){const ar=useSyncExternalStoreWithSelector(rr.subscribe,rr.getState,rr.getServerState||rr.getInitialState,er,tr);return useDebugValue(ar),ar}const searchContext=async rr=>{const er=await odeServices.resource(rr.application).searchContext(rr);return{...er,folders:er.folders.filter(tr=>!tr.trashed)}},createFolder=async({searchParams:rr,name:er,parentId:tr})=>{const ar={name:er,parentId:tr,application:rr.application,type:rr.types[0]};return await odeServices.resource(rr.application).createFolder(ar)},updateFolder=async({folderId:rr,searchParams:er,parentId:tr,name:ar})=>{const ir={folderId:rr,name:ar,parentId:tr,application:er.application,type:er.types[0]};return await odeServices.resource(er.application).updateFolder(ir)},trashAll=async({searchParams:rr,resourceIds:er,useAssetIds:tr,folderIds:ar})=>{const ir={application:rr.application,resourceType:rr.types[0],resourceIds:er,folderIds:ar};return await odeServices.resource(rr.application).trashAll(ir,tr)},deleteAll=async({searchParams:rr,resourceIds:er,useAssetIds:tr,folderIds:ar})=>{const ir={application:rr.application,resourceType:rr.types[0],resourceIds:er,folderIds:ar};return await odeServices.resource(rr.application).deleteAll(ir,tr)},restoreAll=async({searchParams:rr,resourceIds:er,folderIds:tr,useAssetIds:ar})=>{const ir={application:rr.application,resourceType:rr.types[0],resourceIds:er,folderIds:tr};return await odeServices.resource(rr.application).restoreAll(ir,ar)},copyResource=async(rr,er)=>await odeServices.resource(rr.application).copy({application:rr.application,resourceId:er}),moveToFolder=async({searchParams:rr,resourceIds:er,folderId:tr,folderIds:ar,useAssetIds:ir})=>{const nr={application:rr.application,folderId:tr,resourceIds:er,folderIds:ar};return await odeServices.resource(rr.application).moveToFolder(nr,ir)},sessionHasWorkflowRights=async rr=>await odeServices.rights().sessionHasWorkflowRights(rr),goToResource=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getViewUrl(er);window.open(tr,"_self")},createResource=({searchParams:rr,params:er})=>odeServices.resource(rr.application).create(er),printResource=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getPrintUrl(er);return window.open(tr,"_blank")},goToCreate=({searchParams:rr,folderId:er})=>{const tr=odeServices.resource(rr.application).getFormUrl(er);return window.open(tr,"_self")},goToEdit=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getEditUrl(er);return window.open(tr,"_self")},goToExport=({searchParams:rr,assetId:er})=>{const tr=odeServices.resource(rr.application).getExportUrl(er);return window.open(tr,"_self")},defaultFolder={id:FOLDER.DEFAULT,name:t$3("explorer.filters.mine"),section:!0,children:[]},initialState={config:void 0,searchConfig:{minLength:1},searchParams:{filters:{folder:FOLDER.DEFAULT,owner:void 0,shared:void 0,public:void 0},orders:{updatedAt:SORT_ORDER.DESC},application:"",types:[],pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:defaultFolder,selectedNodeId:"default",currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceOrFolderIsDraggable:{isDrag:!1,elementDrag:void 0},elementDragOver:{isOver:!1,isTreeview:!1,canMove:!0,overId:void 0},resourceActionDisable:!1,status:void 0},store=createStore()((rr,er)=>({...initialState,actions:{setConfig:tr=>rr({config:tr}),setSearchConfig:tr=>rr(ar=>({searchConfig:{...ar.searchConfig,...tr}})),setTreeData:tr=>rr(()=>({treeData:tr})),setSearchParams:tr=>{rr(ar=>{const{searchParams:ir}=ar;return ir.search!==tr.search?tr.search?{...ar,selectedFolders:[],selectedNodeId:void 0,selectedResources:[],currentFolder:void 0,searchParams:{...ir,...tr,trashed:!1,filters:{...ir.filters,folder:void 0}}}:{...ar,selectedFolders:[],selectedNodeId:"default",selectedResources:[],currentFolder:{id:"default"},searchParams:{...ir,...tr,trashed:!1,filters:{...ir.filters}}}:{searchParams:{...ir,...tr}}})},setSelectedFolders:tr=>rr(()=>({selectedFolders:tr})),setSelectedResources:tr=>rr(()=>({selectedResources:tr})),setFolderIds:tr=>rr(()=>({folderIds:tr})),setResourceIds:tr=>rr(()=>({resourceIds:tr})),setResourceIsTrash:tr=>rr(()=>({resourceIsTrash:tr})),setResourceOrFolderIsDraggable:tr=>rr(()=>({resourceOrFolderIsDraggable:tr})),setElementDragOver:tr=>rr(()=>({elementDragOver:tr})),setResourceActionDisable:tr=>rr(()=>({resourceActionDisable:tr})),clearSelectedItems:()=>rr(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>rr(()=>({resourceIds:[],folderIds:[]})),openResource:tr=>{try{const{searchParams:ar}=er();goToResource({searchParams:ar,assetId:tr.assetId})}catch(ar){console.error("explorer open failed: ",ar)}},printSelectedResource:()=>{try{const{searchParams:tr,selectedResources:ar,resourceIds:ir}=er();if(ar.length!==1)throw new Error("Cannot open more than 1 resource");const nr=ar.find(or=>or.id===ir[0]);printResource({searchParams:tr,assetId:nr.assetId})}catch(tr){console.error("explorer print failed: ",tr)}},openFolder:({folderId:tr,folder:ar,queryClient:ir})=>{const{searchParams:nr}=er(),or=nr.filters.folder,sr=tr;or!==tr&&(er().actions.fetchTreeData(tr,ir),rr(lr=>({...lr,folderIds:[],resourceIds:[],selectedNodeId:sr,currentFolder:ar||{id:tr},searchParams:{...nr,search:void 0,filters:{...nr.filters,folder:tr},trashed:tr===FOLDER.BIN}})))},foldTreeItem:()=>rr(tr=>({...tr,status:"fold"})),fetchTreeData:async(tr,ar)=>{const ir=findNodeById(er().treeData,tr),nr=ir==null?void 0:ir.id;if(Array.isArray(ir==null?void 0:ir.children)&&ir.children.length)return;const or=await ar.fetchQuery({queryKey:["prefetchContext",{folderId:nr,trashed:!1}],queryFn:async()=>await searchContext({...er().searchParams,filters:{...er().searchParams.filters,folder:nr}})});er().actions.setTreeData(wrapTreeNode(er().treeData,or==null?void 0:or.folders,nr||FOLDER.DEFAULT))},selectTreeItem:(tr,ar)=>{const{treeData:ir}=er(),{openFolder:nr,fetchTreeData:or}=er().actions,sr=findNodeById(ir,tr);or(tr,ar),rr(lr=>({...lr,searchParams:{...lr.searchParams,search:void 0},status:"select",selectedResources:[]})),nr({folder:sr,folderId:tr})},gotoPreviousFolder:()=>{const{selectedNodeId:tr,treeData:ar,searchParams:ir}=er(),{openFolder:nr}=er().actions;if(ir.search&&nr({folder:defaultFolder,folderId:FOLDER.DEFAULT}),!tr)return;const or=findParentNode(ar,tr);nr({folder:or,folderId:(or==null?void 0:or.id)||FOLDER.DEFAULT})},goToTrash:()=>{rr(tr=>({...tr,selectedNodeId:void 0,selectedResources:[],resourceIds:[],folderIds:[],status:"select",searchParams:{...tr.searchParams,search:void 0,filters:{folder:FOLDER.BIN},trashed:!0},currentFolder:{id:FOLDER.BIN}}))}}}));function useStoreContext(rr){return useStore(store,rr)}const treeData=rr=>rr.treeData,actionsSelector=rr=>rr.actions,useTreeData=()=>useStoreContext(treeData),useStoreActions=()=>useStoreContext(actionsSelector),useSearchParams=()=>useStoreContext(rr=>rr.searchParams),useSelectedNodeId=()=>useStoreContext(rr=>rr.selectedNodeId),useSelectedFolders=()=>useStoreContext(rr=>rr.selectedFolders),useSelectedResources=()=>useStoreContext(rr=>rr.selectedResources),useSearchConfig=()=>useStoreContext(rr=>rr.searchConfig),useFolderIds=()=>useStoreContext(rr=>rr.folderIds),useResourceIds=()=>useStoreContext(rr=>rr.resourceIds),useResourceAssetIds=()=>useStoreContext(rr=>rr.selectedResources.map(er=>er.assetId)),useResourceWithoutIds=()=>useStoreContext(rr=>rr.selectedResources.filter(er=>er.assetId===er.id)),useCurrentFolder=()=>useStoreContext(rr=>rr.currentFolder),useIsTrash=()=>{const rr=useCurrentFolder();return(rr==null?void 0:rr.id)===FOLDER.BIN},useResourceIsTrash=()=>useStoreContext(rr=>rr.resourceIsTrash),useResourceOrFolderIsDraggable=()=>useStoreContext(rr=>rr.resourceOrFolderIsDraggable),useElementDragOver=()=>useStoreContext(rr=>rr.elementDragOver),useResourceActionDisable=()=>useStoreContext(rr=>rr.resourceActionDisable),useIsRoot=()=>{const rr=useCurrentFolder();return(rr==null?void 0:rr.id)==="default"},useTreeStatus=()=>useStoreContext(rr=>rr.status),useDisableModal=()=>{const rr=useResourceActionDisable(),{clearSelectedIds:er,setResourceActionDisable:tr,clearSelectedItems:ar}=useStoreActions();return{isActionDisableModalOpen:rr,onActionDisableCancel:()=>{er(),ar(),tr(!1)}}},useTrashModal=()=>{const rr=useResourceIsTrash(),{clearSelectedIds:er,setResourceIsTrash:tr,clearSelectedItems:ar}=useStoreActions();return{isTrashedModalOpen:rr,onTrashedCancel:()=>{er(),ar(),tr(!1)}}},DELAY=175,TOLERANCE=10,APP="blog",RESOURCE="blog";class BlogResourceService extends ResourceService{getEditUrl(){throw new Error("Method not implemented.")}async create(er){const tr=er.thumbnail?await this.getThumbnailPath(er.thumbnail):"",ar=er.public?"/blog/pub":"/blog",ir=await this.http.post(ar,{title:er.name,description:er.description,visibility:er.public?"PUBLIC":"OWNER",thumbnail:tr,trashed:!1,folder:er.folder,slug:er.public?er.slug:"","publish-type":er.publishType||"RESTRAINT","comment-type":"IMMEDIATE",allowReplies:er.allowReplies});return this.checkHttpResponse(ir),ir}async update(er){const tr=er.thumbnail?await this.getThumbnailPath(er.thumbnail):"",ar=await this.http.put(`/blog/${er.entId}`,{trashed:er.trashed,_id:er.entId,title:er.name,thumbnail:tr,description:er.description,visibility:er.public?"PUBLIC":"OWNER",slug:er.public?er.slug:"","publish-type":er["publish-type"]||"RESTRAINT","comment-type":"IMMEDIATE",allowReplies:er.allowReplies});return this.checkHttpResponse(ar),{thumbnail:tr,entId:er.entId}}getResourceType(){return RESOURCE}getApplication(){return APP}getFormUrl(er){return er?`/blog?folderid=${er}#/edit/new`:"/blog#/edit/new"}getViewUrl(er){return`/blog/id/${er}`}getPrintUrl(er){return`/blog/print/${er}`}}ResourceService.register({application:APP,resourceType:RESOURCE},rr=>new BlogResourceService(rr));const rootElement=document.querySelector("[data-explorer-config]");let config;function getExplorerConfig(){var rr;if((rr=rootElement==null?void 0:rootElement.dataset)!=null&&rr.explorerConfig){const{explorerConfig:er}=rootElement.dataset;try{const tr=JSON.parse(er);config={...tr,service:BlogResourceService,enableOnboarding:tr.enableOnboarding!==void 0?tr.enableOnboarding:!0}}catch(tr){console.error("[Explorer Config] could not parse app params from root data attributes:",rootElement==null?void 0:rootElement.dataset,tr)}}return config}const actionsQueryOptions=(rr,er)=>{const tr=rr.map(ir=>ir.workflow),ar=new Set(tr);return{queryKey:[...ar],queryFn:()=>sessionHasWorkflowRights([...ar]),select:ir=>rr.filter(nr=>ir[nr.workflow]).map(nr=>({...nr,available:!0})),staleTime:1/0,enabled:!!er}},useActions=rr=>{const er=useStoreContext(tr=>tr.config);return useQuery(actionsQueryOptions(rr,er))},useSearchContext=()=>{const rr=useStoreContext(or=>or.config),er=useSearchParams(),{filters:tr,trashed:ar,search:ir}=er,nr=["context",{folderId:tr.folder,filters:tr,trashed:ar,search:ir}];return useInfiniteQuery({queryKey:nr,queryFn:async({pageParam:or})=>await searchContext({...er,application:rr==null?void 0:rr.app,types:rr==null?void 0:rr.types,pagination:{...er.pagination,startIdx:or}}),staleTime:5e3,initialPageParam:0,enabled:!!rr,retry:!1,getNextPageParam:or=>or.pagination.startIdx+or.pagination.pageSize})},useTrash=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),ir=useFolderIds(),nr=useResourceAssetIds(),or=useResourceIds(),sr=useResourceWithoutIds().length>0,lr=sr?nr:or,{clearSelectedItems:ur,clearSelectedIds:cr,setTreeData:Ar,setSearchParams:dr}=useStoreActions(),{filters:pr,trashed:gr}=tr,br=["context",{folderId:pr.folder,filters:pr,trashed:gr}];return useMutation({mutationFn:async()=>await trashAll({searchParams:tr,folderIds:ir,resourceIds:lr,useAssetIds:sr}),onError(vr){typeof vr=="string"&&rr.error(t$3(vr))},onSuccess:async vr=>{if(await er.cancelQueries({queryKey:br}),er.getQueryData(br))return rr.success(t$3("explorer.trash.title")),er.setQueryData(br,xr=>{var Er;if(xr){const kr={...xr,pages:xr==null?void 0:xr.pages.map(Ir=>{var Cr;return{...Ir,folders:Ir.folders.filter(Pr=>!ir.includes(Pr.id)),pagination:{...Ir.pagination,maxIdx:((Cr=Ir==null?void 0:Ir.pagination)==null?void 0:Cr.maxIdx)-vr.resources.length},resources:Ir.resources.filter(Pr=>sr?!nr.includes(Pr.assetId):!lr.includes(Pr.id))}})},Sr=deleteNode(ar,{folders:ir});return Ar(Sr),dr({...tr,pagination:{...tr.pagination,maxIdx:((Er=tr.pagination)==null?void 0:Er.maxIdx)-vr.resources.length}}),kr}})},onSettled:()=>{ur(),cr()}})},useRestore=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useFolderIds(),ir=useResourceAssetIds(),nr=useResourceIds(),or=useResourceWithoutIds().length>0,sr=or?ir:nr,{setFolderIds:lr,setResourceIds:ur,setSelectedResources:cr,setSelectedFolders:Ar}=useStoreActions(),{filters:dr,trashed:pr}=tr,gr=["context",{folderId:dr.folder,filters:dr,trashed:pr}];return useMutation({mutationFn:async()=>await restoreAll({searchParams:tr,folderIds:ar,resourceIds:sr,useAssetIds:or}),onError(br){typeof br=="string"&&rr.error(t$3(br))},onSuccess:async()=>{if(await er.cancelQueries({queryKey:gr}),er.getQueryData(gr))return rr.success(t$3("explorer.trash.toast")),er.setQueryData(gr,vr=>{if(vr)return{...vr,pages:vr==null?void 0:vr.pages.map(yr=>({...yr,folders:yr.folders.filter(xr=>!ar.includes(xr.id)),resources:yr.resources.filter(xr=>or?!ir.includes(xr.assetId):!sr.includes(xr.id))}))}})},onSettled:()=>{ur([]),cr([]),lr([]),Ar([])}})},useDelete=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useFolderIds(),ir=useResourceAssetIds(),nr=useResourceIds(),or=useResourceWithoutIds().length>0,sr=or?ir:nr,{clearSelectedItems:lr,clearSelectedIds:ur}=useStoreActions(),{filters:cr,trashed:Ar}=tr,dr=["context",{folderId:cr.folder,filters:cr,trashed:Ar}];return useMutation({mutationFn:async()=>await deleteAll({searchParams:tr,folderIds:ar,resourceIds:sr,useAssetIds:or}),onError(pr){typeof pr=="string"&&rr.error(t$3(pr))},onSuccess:async()=>{if(await er.cancelQueries({queryKey:dr}),er.getQueryData(dr))return rr.success(t$3("explorer.removed.from.trash")),er.setQueryData(dr,gr=>{if(gr)return{...gr,pages:gr==null?void 0:gr.pages.map(vr=>({...vr,folders:vr.folders.filter(yr=>!ar.includes(yr.id)),resources:vr.resources.filter(yr=>or?!ir.includes(yr.assetId):!sr.includes(yr.id))}))}})},onSettled:()=>{lr(),ur()}})},useCopyResource=()=>{const rr=useToast(),er=useSearchParams(),tr=useQueryClient(),{user:ar}=useUser(),ir=useCurrentFolder(),{filters:nr,trashed:or}=er,sr="duplicate_start",lr=["context",{folderId:nr.folder,filters:nr,trashed:or}];return useMutation({mutationFn:async ur=>(rr.info(t$3("duplicate.start"),{id:sr}),await copyResource(er,ur.assetId)),onSuccess:async(ur,cr)=>{rr.remove(sr),rr.success(t$3("duplicate.done")),await tr.cancelQueries({queryKey:lr});const Ar=tr.getQueryData(lr),dr={...cr,name:`${cr.name}${t$3("duplicate.suffix")}`,assetId:ur.duplicateId,id:ur.duplicateId,creatorId:ar==null?void 0:ar.userId,creatorName:ar==null?void 0:ar.username,createdAt:Date.now(),slug:cr.slug||"",modifiedAt:Date.now(),modifierId:(ar==null?void 0:ar.userId)||"",modifierName:(ar==null?void 0:ar.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${ar==null?void 0:ar.userId}`]};Ar&&tr.setQueryData(lr,pr=>{if(pr)return{...pr,pages:pr==null?void 0:pr.pages.map(gr=>({...gr,resources:[dr,...gr.resources]}))}}),ir.id&&ir.id!==FOLDER.DEFAULT&&moveToFolder({searchParams:er,resourceIds:[ur.duplicateId],folderId:ir.id,folderIds:[],useAssetIds:!0})},onError:ur=>{rr.remove(sr),typeof ur=="string"&&rr.error(`${t$3("duplicate.error")}: ${ur}`)}})},useMoveItem=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),ir=useFolderIds(),nr=useResourceAssetIds(),or=useResourceIds(),sr=useResourceWithoutIds().length>0,lr=sr?nr:or,{clearSelectedIds:ur,clearSelectedItems:cr,setTreeData:Ar,setSearchParams:dr}=useStoreActions(),{filters:pr,trashed:gr}=tr,br=["context",{folderId:pr.folder,filters:pr,trashed:gr}];return useMutation({mutationFn:async vr=>await moveToFolder({searchParams:tr,folderId:vr,folderIds:ir,resourceIds:lr,useAssetIds:sr}),onError(vr){typeof vr=="string"&&rr.error(t$3(vr))},onSuccess:async(vr,yr)=>{if(er.getQueryData(br))return er.setQueryData(br,Er=>{var kr;if(Er){const Sr=moveNode(ar,{destinationId:yr,folders:ir}),Ir={...Er,pages:Er==null?void 0:Er.pages.map(Cr=>{var Pr;return{...Cr,folders:Cr.folders.filter(Fr=>!ir.includes(Fr.id)),pagination:{...Cr.pagination,maxIdx:((Pr=Cr.pagination)==null?void 0:Pr.maxIdx)-vr.resources.length},resources:Cr.resources.filter(Fr=>sr?!nr.includes(Fr.assetId):!lr.includes(Fr.id))}})};return Ar(Sr),dr({...tr,pagination:{...tr.pagination,maxIdx:((kr=tr.pagination)==null?void 0:kr.maxIdx)-vr.resources.length}}),Ir}});er.invalidateQueries()},onSettled:()=>{cr(),ur()}})},useCreateFolder=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),{setTreeData:ir}=useStoreActions(),{filters:nr,trashed:or}=tr,sr=["context",{folderId:nr.folder,filters:nr,trashed:or}];return useMutation({mutationFn:async({name:lr,parentId:ur})=>await createFolder({searchParams:tr,name:lr,parentId:ur}),onError(lr){typeof lr=="string"&&rr.error(t$3(lr))},onSuccess:async(lr,ur)=>{await er.cancelQueries({queryKey:sr});const cr=er.getQueryData(sr),Ar={...lr,parentId:ur.parentId,children:[],rights:[`creator:${lr==null?void 0:lr.creator_id}`]};if(cr)return er.setQueryData(sr,dr=>{if(dr){const pr={...dr,pages:dr==null?void 0:dr.pages.map(br=>({...br,folders:[...br.folders,Ar]}))},gr=addNode(ar,{parentId:ur.parentId,newFolder:Ar});return ir(gr),pr}})}})},useUpdatefolder=()=>{const rr=useToast(),er=useQueryClient(),tr=useSearchParams(),ar=useTreeData(),{setFolderIds:ir,setSelectedFolders:nr,setTreeData:or}=useStoreActions(),{filters:sr,trashed:lr}=tr,ur=["context",{folderId:sr.folder,filters:sr,trashed:lr}];return useMutation({mutationFn:async({folderId:cr,name:Ar,parentId:dr})=>await updateFolder({searchParams:tr,folderId:cr,parentId:dr,name:Ar}),onError(cr){typeof cr=="string"&&rr.error(t$3(cr))},onSuccess:async(cr,Ar)=>{if(await er.cancelQueries({queryKey:ur}),er.getQueryData(ur))return er.setQueryData(ur,pr=>{if(pr){const gr={...pr,pages:pr==null?void 0:pr.pages.map(vr=>({...vr,folders:vr.folders.map(yr=>yr.id===cr.id?{...cr,parentId:Ar.parentId,rights:yr.rights}:yr)}))},br=updateNode(ar,{folderId:Ar.folderId,newFolder:cr});return or(br),gr}})},onSettled:()=>{ir([]),nr([])}})},useShareResource=rr=>{const er=useQueryClient(),tr=useSearchParams(),{setResourceIds:ar,setSelectedResources:ir}=useStoreActions(),{filters:nr,trashed:or}=tr,sr=["context",{folderId:nr.folder,filters:nr,trashed:or}];return useShareMutation({application:rr,options:{onSuccess:async(lr,ur)=>{if(await er.cancelQueries({queryKey:sr}),er.getQueryData(sr))return er.setQueryData(sr,Ar=>{if(Ar)return{...Ar,pages:Ar==null?void 0:Ar.pages.map(dr=>({...dr,resources:dr.resources.map(pr=>{if(pr.assetId===(ur==null?void 0:ur.resourceId)){let gr=[`creator:${pr.creatorId}`];return(ur==null?void 0:ur.rights.length)>=1&&(gr=[...gr,...ur.rights.flatMap(br=>br.actions.map(vr=>`${br.type}:${br.id}:${vr.id}`))]),{...pr,rights:gr}}else return pr})}))}})},onSettled:()=>{ar([]),ir([])}}})},useUpdateResource=rr=>{const er=useQueryClient(),tr=useSearchParams(),{filters:ar,trashed:ir}=tr,nr=["context",{folderId:ar.folder,filters:ar,trashed:ir}];return useUpdateMutation({application:rr,options:{onSuccess:async(or,sr)=>{if(await er.cancelQueries({queryKey:nr}),er.getQueryData(nr))return er.setQueryData(nr,ur=>{if(ur)return{...ur,pages:ur==null?void 0:ur.pages.map(cr=>({...cr,resources:cr.resources.map(Ar=>{if(Ar.assetId===(sr==null?void 0:sr.entId)){const{name:dr,thumbnail:pr,public:gr,description:br,slug:vr,...yr}=sr;return{...Ar,...yr,name:dr,thumbnail:typeof pr=="string"?pr:URL.createObjectURL(pr),public:gr,description:br,slug:vr}}else return Ar})}))}})}}})},useCreateResource=({onResourceCreated:rr})=>{const er=useToast(),tr=useQueryClient(),ar=useSearchParams(),{user:ir}=useUser(),{appCode:nr}=useEdificeClient(),or=["context",{folderId:ar.filters.folder,filters:ar.filters,trashed:ar.trashed}];return useMutation({mutationFn:async sr=>await createResource({searchParams:ar,params:sr}),onError(sr){typeof sr=="string"&&er.error(t$3(sr))},onSuccess:async(sr,lr)=>{var Ar,dr,pr;await tr.cancelQueries({queryKey:or});const ur=tr.getQueryData(or),cr={...lr,thumbnail:sr.thumbnail||"",application:nr,assetId:sr._id||sr.entId||"",id:sr._id||sr.entId||"",creatorId:ir==null?void 0:ir.userId,creatorName:ir==null?void 0:ir.username,createdAt:Date.now(),slug:lr.slug||"",modifiedAt:((Ar=sr.modified)==null?void 0:Ar.$date)||"",modifierId:((dr=sr.author)==null?void 0:dr.userId)||"",modifierName:((pr=sr.author)==null?void 0:pr.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${ir==null?void 0:ir.userId}`]};if(rr==null||rr(cr),ur)return tr.setQueryData(or,gr=>{if(gr)return{...gr,pages:gr==null?void 0:gr.pages.map(br=>({...br,resources:[cr,...br.resources]}))}})}})};function getChildrenIds(rr,er){var ar;const tr=findNodeById(rr,er);return(ar=tr==null?void 0:tr.folder)!=null&&ar.childrenIds?[...(tr==null?void 0:tr.folder.childrenIds)||[],er]:er===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function useDndKit(){const rr=useQueryClient(),er=useMoveItem(),tr=useToast(),{appCode:ar}=useEdificeClient(),{t:ir}=useTranslation(["common",ar]),nr=ir("explorer.filters.mine",{ns:ar}),{setResourceOrFolderIsDraggable:or,setElementDragOver:sr,setResourceIds:lr,setFolderIds:ur,fetchTreeData:cr}=useStoreActions(),Ar=useTreeData(),pr=useSensor(PointerSensor,{activationConstraint:{delay:DELAY,tolerance:TOLERANCE}}),gr=useSensor(KeyboardSensor),br=useSensors(pr,gr),vr=(kr,Sr)=>{var Ir;((Ir=kr.data.current)==null?void 0:Ir.type)==="resource"?tr.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ir("explorer.dragged.resource")," ",jsxRuntimeExports.jsx("strong",{children:Sr})]})):tr.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ir("explorer.dragged.folder")," ",jsxRuntimeExports.jsx("strong",{children:Sr})]}))};return{handleDragEnd:async kr=>{const{over:Sr,active:Ir}=kr,Cr=Sr==null?void 0:Sr.data.current,Pr=Ir.data.current,Fr=getAncestors(Ar,Cr==null?void 0:Cr.id),Gr=getChildrenIds(Ar,Cr==null?void 0:Cr.id);if((Pr==null?void 0:Pr.id)==(Cr==null?void 0:Cr.id)||Fr.includes(Pr==null?void 0:Pr.id)||Gr.includes(Pr==null?void 0:Pr.id))lr([]),ur([]);else{const Lr=(Cr==null?void 0:Cr.name)??nr;if(Sr)try{await er.mutate(Cr==null?void 0:Cr.id),vr(Ir,Lr)}catch(Wr){console.error(Wr)}finally{sr({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})}}or({isDrag:!1,elementDrag:void 0})},handleDragStart:kr=>{const{active:Sr}=kr,Ir=Sr.data.current;(Ir==null?void 0:Ir.type)==="resource"?lr([Ir==null?void 0:Ir.id]):(Ir==null?void 0:Ir.type)==="folder"&&ur([Ir==null?void 0:Ir.id]),or({isDrag:!0,elementDrag:Ir==null?void 0:Ir.id})},handleDragOver:kr=>{const{over:Sr,active:Ir}=kr,Cr=Sr==null?void 0:Sr.data.current,Pr=Ir==null?void 0:Ir.data.current,Fr=getAncestors(Ar,Cr==null?void 0:Cr.id),Gr=getChildrenIds(Ar,Cr==null?void 0:Cr.id);if(Sr){const Lr={isOver:!0,canMove:!1,overId:Cr==null?void 0:Cr.id,isTreeview:Cr==null?void 0:Cr.isTreeview};(Pr==null?void 0:Pr.id)===(Cr==null?void 0:Cr.id)||Fr.includes(Pr==null?void 0:Pr.id)||Gr.includes(Pr==null?void 0:Pr.id)?sr({...Lr,canMove:!1}):(cr(Cr==null?void 0:Cr.id,rr),sr({...Lr,canMove:!0}))}else sr({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})},sensors:br}}const EmptyScreenApp$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenApp$1),void 0)),EmptyScreenSearch$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenSearch$1),void 0)),EmptyScreenError$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenError$1),void 0)),EmptyScreenNoContentInFolder$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenNoContentInFolder$1),void 0)),EmptyScreenTrash$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenTrash$1),void 0)),FoldersList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FoldersList$1),void 0)),ResourcesList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourcesList$1),void 0)),List=()=>{const rr=useIsRoot(),er=useIsTrash(),tr=useSelectedNodeId(),ar=useSearchParams(),ir=useCurrentFolder(),nr=useToast(),or=useQueryClient(),{appCode:sr}=useEdificeClient(),{t:lr}=useTranslation([sr]),{setSearchParams:ur,setSearchConfig:cr,fetchTreeData:Ar}=useStoreActions(),{data:dr,isError:pr,error:gr,isLoading:br,isFetching:vr,fetchNextPage:yr}=useSearchContext(),xr=(dr==null?void 0:dr.pages[0].folders.length)===0,Er=(dr==null?void 0:dr.pages[0].resources.length)===0,kr=xr&&Er;return reactExports.useEffect(()=>{var Sr,Ir;dr&&((Sr=dr==null?void 0:dr.pages[0])!=null&&Sr.searchConfig&&cr(dr.pages[0].searchConfig),!ar.search&&ir.id==="default"&&Ar(ir.id,or),ur({...ar,pagination:(Ir=dr==null?void 0:dr.pages[(dr==null?void 0:dr.pages.length)-1])==null?void 0:Ir.pagination}))},[dr]),reactExports.useEffect(()=>{gr&&typeof gr=="string"&&nr.error(lr(gr))},[gr]),br?jsxRuntimeExports.jsx(LoadingScreen,{}):pr?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenError$2,{})}):ar.search&&kr?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenSearch$2,{})}):rr&&kr?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenApp$2,{})}):tr&&kr&&!er?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenNoContentInFolder$2,{})}):er&&(dr==null?void 0:dr.pages[0].resources.length)===0?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenTrash$2,{})}):jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(FoldersList$2,{data:dr,isFetching:vr}),jsxRuntimeExports.jsx(ResourcesList$2,{data:dr,isFetching:vr,fetchNextPage:yr})]})},SvgIconArrowLeft=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.707 4.293a1 1 0 0 1 0 1.414L6.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0",clipRule:"evenodd"})]}),SvgIconFiles=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M20.91 9.14v1.27H8.25a4.7 4.7 0 0 0-3.86 1.98L1.5 16.53V6.4a2.3 2.3 0 0 1 .77-1.69A2.68 2.68 0 0 1 4.11 4h3.73a2.68 2.68 0 0 1 1.84.71c.25.22.45.48.58.77s.2.6.2.92v.34h7.84c.7.01 1.35.27 1.84.71.49.45.76 1.06.77 1.7ZM8.25 11.92h14.47c.63 0 1 .68.64 1.18l-3.52 5.04a3.13 3.13 0 0 1-2.57 1.32H2.79c-.62 0-.99-.68-.64-1.18l3.53-5.04a3.13 3.13 0 0 1 2.57-1.32",clipRule:"evenodd"})]}),SvgIconFilter=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1.093 2.58A1 1 0 0 1 2 2h20a1 1 0 0 1 .764 1.646L15 12.826V21a1 1 0 0 1-1.447.894l-4-2A1 1 0 0 1 9 19v-6.174l-7.764-9.18a1 1 0 0 1-.143-1.067M4.155 4l6.609 7.814a1 1 0 0 1 .236.646v5.922l2 1V12.46a1 1 0 0 1 .236-.646L19.845 4z",clipRule:"evenodd"})]}),SvgIconMove=({title:rr,titleId:er,...tr})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":er,...tr,children:[rr?jsxRuntimeExports.jsx("title",{id:er,children:rr}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.707 8.293a1 1 0 0 1 0 1.414L3.414 12l2.293 2.293a1 1 0 1 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0M11.293 1.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1-1.414 1.414L12 3.414 9.707 5.707a1 1 0 0 1-1.414-1.414zM8.293 18.293a1 1 0 0 1 1.414 0L12 20.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414M18.293 8.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L20.586 12l-2.293-2.293a1 1 0 0 1 0-1.414",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 12a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1",clipRule:"evenodd"})]}),useSearchForm=()=>{const rr=useSearchParams(),[er,tr]=reactExports.useState(""),ar=useSearchConfig(),ir=useTreeStatus(),nr=reactExports.useRef(null),{setSearchParams:or}=useStoreActions(),sr=cr=>{const Ar=cr.target.value;tr(Ar.toString())},lr=cr=>{(cr.key==="Enter"||cr.key==="Return")&&(cr.preventDefault(),or({search:er||void 0}))},ur=cr=>{cr.preventDefault(),or({search:er||void 0})};return reactExports.useEffect(()=>{const Ar=er.length==0||er.length>=ar.minLength?{search:er||void 0}:{};or({...rr,...Ar})},[er,ar.minLength]),reactExports.useEffect(()=>{ir==="select"&&tr("")},[ir]),reactExports.useEffect(()=>{tr(()=>{var cr;return((cr=rr.search)==null?void 0:cr.toString())??""})},[rr]),{formRef:nr,inputSearch:er,handleInputSearchChange:sr,handleKeyPress:lr,handleSearchSubmit:ur}},useSelectedFilters=()=>{const{appCode:rr,currentApp:er}=useEdificeClient(),{t:tr}=useTranslation(),[ar,ir]=reactExports.useState(""),nr=cr=>{if(cr==="0"){ir("");return}ir(cr)},or=useCurrentFolder(),sr=useSearchParams(),{setSearchParams:lr}=useStoreActions();reactExports.useEffect(()=>{const cr=()=>ar.includes("1")?!0:void 0,Ar=()=>ar.includes("2")?!0:void 0,dr=()=>ar.includes("7")?!0:void 0;lr({...sr,filters:{owner:cr(),public:dr(),shared:Ar(),folder:or?or.id:"default"}})},[or,lr,ar]);const ur=[{label:tr("explorer.filter.all",{ns:rr}),value:"0"},{label:tr("explorer.filter.owner",{ns:rr}),value:"1"},{label:tr("explorer.filter.shared",{ns:rr}),value:"2"},...(er==null?void 0:er.displayName)=="exercizer"?[{label:"Exercices interactifs",value:"3"}]:[],...(er==null?void 0:er.displayName)=="exercizer"?[{label:"Exercices à rendre",value:"4"}]:[],...(er==null?void 0:er.displayName)=="pages"?[{label:"Projets publics",value:"5"}]:[],...(er==null?void 0:er.displayName)=="pages"?[{label:"Projets internes",value:"6"}]:[],...(er==null?void 0:er.displayName)=="blog"?[{label:tr("explorer.filter.public",{ns:rr}),value:"7"}]:[]];return{selectedFilters:ar,options:ur,handleOnSelectFilter:nr}},SearchForm=()=>{const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation(),{selectedFilters:tr,options:ar,handleOnSelectFilter:ir}=useSelectedFilters(),{formRef:nr,inputSearch:or,handleInputSearchChange:sr,handleKeyPress:lr,handleSearchSubmit:ur}=useSearchForm(),cr=tr.length>0?tr.length:void 0;return jsxRuntimeExports.jsxs("form",{noValidate:!0,className:"bg-light p-16 ps-24 ms-n16 ms-lg-n24 me-n16 position-relative d-flex gap-8",ref:nr,children:[jsxRuntimeExports.jsxs(FormControl,{id:"search",className:"input-group",children:[jsxRuntimeExports.jsx(Input,{type:"search",placeholder:er("explorer.label.search",{ns:rr}),size:"lg",noValidationIcon:!0,value:or,onChange:sr,onKeyDown:lr}),jsxRuntimeExports.jsx(SearchButton,{type:"submit","aria-label":er("explorer.label.search",{ns:rr}),onClick:ur})]}),jsxRuntimeExports.jsxs(Dropdown,{placement:"bottom-end",children:[jsxRuntimeExports.jsx(Dropdown.Trigger,{label:er("explorer.filters"),icon:jsxRuntimeExports.jsx(SvgIconFilter,{width:20}),variant:"ghost",badgeContent:cr}),jsxRuntimeExports.jsx(Dropdown.Menu,{children:ar.map(Ar=>Ar.value==="0"?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:Ar.value,model:tr,onChange:()=>ir(Ar.value),children:Ar.label}),jsxRuntimeExports.jsx(Dropdown.Separator,{})]},"0"):jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:Ar.value,model:tr,onChange:()=>ir(Ar.value),children:Ar.label},Ar.value))})]})]})},TrashButton=({id:rr,selected:er,onSelect:tr})=>{const{t:ar}=useTranslation();return jsxRuntimeExports.jsx("div",{className:"treeview",children:jsxRuntimeExports.jsx("ul",{role:"tree",className:"m-0 p-0",children:jsxRuntimeExports.jsx("li",{id:rr,role:"treeitem","aria-selected":er,children:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("div",{className:"action-container",children:jsxRuntimeExports.jsx("div",{onClick:tr,role:"button",tabIndex:0,children:jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[jsxRuntimeExports.jsx(SvgIconDelete,{width:"20",height:"20"}),jsxRuntimeExports.jsx("span",{children:ar("explorer.tree.trash")})]})})})})})})})},CreateFolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),TreeViewContainer=()=>{const[rr,er]=useToggle(),tr=useQueryClient(),ar=useTreeData(),ir=useIsTrash(),nr=useSelectedNodeId(),or=useElementDragOver(),sr=useScrollToTop(),lr=ir?FOLDER.BIN:nr,{appCode:ur}=useEdificeClient(),{t:cr}=useTranslation(["common",ur]),Ar={...ar,name:cr("explorer.filters.mine",{ns:ur})},{goToTrash:dr,selectTreeItem:pr,clearSelectedItems:gr,clearSelectedIds:br,fetchTreeData:vr}=useStoreActions(),yr=kr=>{pr(kr,tr),sr()},xr=kr=>{var Cr,Pr;const Sr=findNodeById(ar,kr),Ir=(Cr=Sr==null?void 0:Sr.children)==null?void 0:Cr.some(Fr=>{var Gr;return Array.isArray(Fr==null?void 0:Fr.children)&&((Gr=Fr.children)==null?void 0:Gr.length)>0});(Pr=Sr==null?void 0:Sr.children)==null||Pr.forEach(Fr=>{Ir||vr(Fr.id,tr)})},Er=()=>{gr(),br(),er()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(TreeView,{data:Ar,selectedNodeId:lr,draggedNode:or!=null&&or.isTreeview?or:void 0,onTreeItemClick:yr,onTreeItemUnfold:xr}),jsxRuntimeExports.jsx(TrashButton,{id:FOLDER.BIN,selected:ir,onSelect:dr}),jsxRuntimeExports.jsx("div",{className:"d-grid my-16",children:jsxRuntimeExports.jsx(Button,{disabled:ir,type:"button",color:"primary",variant:"outline",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),onClick:Er,children:cr("explorer.folder.new")})}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:rr&&jsxRuntimeExports.jsx(CreateFolderModal,{edit:!1,isOpen:rr,onSuccess:er,onCancel:er})})]})};function ExplorerBreadcrumb(){const{appCode:rr}=useEdificeClient(),{gotoPreviousFolder:er}=useStoreActions(),{t:tr}=useTranslation(["common",rr]),{inputSearch:ar}=useSearchForm(),ir=useSelectedNodeId(),nr=useIsTrash(),or=useCurrentFolder(),sr=tr("explorer.tree.trash"),lr=tr("explorer.tree.search"),ur=tr("explorer.filters.mine",{ns:rr}),cr=(or==null?void 0:or.name)||ur;return jsxRuntimeExports.jsx("div",{className:"py-16",children:ir&&ir!=="bin"&&ir!=="default"&&!nr?jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8",children:[jsxRuntimeExports.jsx(IconButton,{icon:jsxRuntimeExports.jsx(SvgIconArrowLeft,{}),variant:"ghost",color:"tertiary","aria-label":tr("back"),className:"ms-n16",onClick:er}),jsxRuntimeExports.jsx("p",{className:"body py-8 text-truncate",children:jsxRuntimeExports.jsx("strong",{children:cr})})]}):jsxRuntimeExports.jsx("h2",{className:"body py-8 fw-bold",children:ar.length!==0?lr:nr?sr:ur})})}const illuTrashDelete="/assets/js/ode-explorer/illu-trash-delete.svg",illuTrashMenu="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='version_orange'%20data-name='version%20orange'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20353.36'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23fff;%20}%20.cls-2%20{%20fill:%20%23aadaed;%20}%20.cls-3%20{%20fill:%20%23ffefe3;%20}%20.cls-4%20{%20fill:%20none;%20stroke:%20%23aadaed;%20stroke-miterlimit:%2010;%20stroke-width:%204px;%20}%20.cls-5%20{%20fill:%20%232a9cc8;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='ciseaux'%3e%3cpath%20class='cls-3'%20d='m512.64,45.09H61.92c-11.56,0-20.93,9.37-20.93,20.93v232.01c0,11.56,9.37,20.93,20.93,20.93h450.72c11.56,0,20.93-9.37,20.93-20.93V66.02c0-11.56-9.37-20.93-20.93-20.93ZM211.25,212.37c0,7.55-6.12,13.66-13.66,13.66h-108.21c-7.55,0-13.66-6.12-13.66-13.66v-112.62c0-7.55,6.12-13.66,13.66-13.66h108.21c7.55,0,13.66,6.12,13.66,13.66v112.62Zm150.21-41.03h-94.5c-4.42,0-8-3.58-8-8s3.58-8,8-8h94.5c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm105.82,118.05H164.74c-4.42,0-8-3.58-8-8s3.58-8,8-8h302.55c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm-3.54-169.27h-196.7c-6.38,0-11.55-5.17-11.55-11.55s5.17-11.55,11.55-11.55h196.7c6.38,0,11.55,5.17,11.55,11.55s-5.17,11.55-11.55,11.55Zm-332.66,158.93c0,13.56-10.99,24.55-24.55,24.55s-24.55-10.99-24.55-24.55,10.99-24.55,24.55-24.55,24.55,10.99,24.55,24.55Z'/%3e%3c/g%3e%3crect%20class='cls-5'%20x='420.8'%20y='58.38'%20width='100.39'%20height='100.39'%20rx='20'%20ry='20'/%3e%3cg%20id='ciseaux-2'%20data-name='ciseaux'%3e%3cpath%20class='cls-4'%20d='m513.58,45.09H60.99c-11.05,0-20,8.95-20,20v233.88c0,11.05,8.95,20,20,20h452.59c11.05,0,20-8.95,20-20V65.09c0-11.05-8.95-20-20-20Z'/%3e%3c/g%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='84.02'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='109.3'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='133.13'%20r='7.02'/%3e%3cg%3e%3cpath%20class='cls-2'%20d='m449.99,215.32c-.39,0-.76-.08-1.12-.24l-9.44-4.22c-.69-.31-1.23-.9-1.48-1.62-.25-.72-.18-1.52.17-2.19l3.92-7.33-13.25-5.79c-.83-.36-1.43-1.11-1.6-2.01s.11-1.81.76-2.45l40.08-40.08c.52-.52,1.21-.81,1.94-.81,1.52,0,2.75,1.23,2.75,2.75v57.58c0,.75-.3,1.45-.83,1.97-.52.5-1.2.78-1.91.78h0c-.38,0-.75-.08-1.1-.23l-12.85-5.61-3.53,7.87c-.44.99-1.43,1.62-2.51,1.62Z'/%3e%3cpath%20class='cls-1'%20d='m469.97,150.6c.38,0,.75.3.75.75v57.58c0,.43-.35.75-.75.75-.1,0-.2-.02-.3-.06l-13.99-6.11c-.1-.04-.2-.06-.3-.06-.29,0-.56.16-.68.44l-4.03,9c-.12.28-.4.44-.68.44-.1,0-.21-.02-.3-.07l-9.44-4.22c-.4-.18-.56-.65-.35-1.04l4.56-8.53c.21-.38.04-.86-.36-1.04l-14.5-6.33c-.48-.21-.6-.84-.23-1.21l40.08-40.08c.15-.15.34-.22.52-.22m0-4c-1.26,0-2.45.49-3.35,1.39l-40.08,40.08c-1.11,1.11-1.6,2.7-1.31,4.24.29,1.54,1.33,2.84,2.77,3.47l11.27,4.92-2.9,5.42c-.62,1.16-.73,2.53-.31,3.78.42,1.24,1.36,2.26,2.55,2.8l9.44,4.22c.61.27,1.27.41,1.94.41,1.87,0,3.57-1.1,4.33-2.81l2.72-6.06,11.04,4.82c.6.26,1.24.4,1.9.4,2.62,0,4.75-2.13,4.75-4.75v-57.58c0-2.62-2.13-4.75-4.75-4.75h0Z'/%3e%3c/g%3e%3c/svg%3e",illuTrashNotif="data:image/svg+xml,%3csvg%20width='300'%20height='214'%20viewBox='0%200%20300%20214'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='300'%20height='214'%20fill='white'/%3e%3cpath%20d='M187.994%20193.875H108.563C103.268%20193.875%2098.878%20189.768%2098.5214%20184.484L90.1194%2059.0277H209.67L198.01%20184.741C197.529%20189.915%20193.19%20193.875%20187.99%20193.875H187.994Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M150.47%20150.31L164.483%20157.961C166.929%20159.296%20169.995%20158.395%20171.33%20155.95C171.999%20154.726%20172.106%20153.35%20171.742%20152.111C171.378%20150.872%20170.539%20149.773%20169.319%20149.103C167.223%20147.96%20166.638%20146.217%20166.954%20144.029C168.388%20134.186%20188.167%20115.393%20171.091%20102.13L162.134%2097.2392C141.741%2090.047%20136.626%20116.845%20129.121%20123.372C127.456%20124.824%20125.672%20125.273%20123.577%20124.126C121.131%20122.791%20118.065%20123.692%20116.73%20126.137C116.061%20127.358%20115.954%20128.736%20116.318%20129.976C116.682%20131.215%20117.521%20132.314%20118.741%20132.983L131.537%20139.97L132.751%20140.632L150.467%20150.306L150.47%20150.31Z'%20fill='%23AADAED'/%3e%3cpath%20opacity='0.2'%20d='M171.095%20102.13L171.117%20102.144L171.095%20102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M171.095%20102.13L171.117%20102.141C171.187%20102.034%20171.253%20101.924%20171.315%20101.81C172.676%2099.3167%20171.76%2096.1913%20169.267%2094.8308C166.774%2093.4703%20163.649%2094.3895%20162.288%2096.8789C162.226%2096.9929%20162.167%2097.1068%20162.115%2097.2245L162.137%2097.2355L171.095%20102.126V102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M133.67%20142.455C138.56%20145.228%20143.451%20148%20148.341%20150.773C146.422%20154.365%20142.929%20156.483%20139.421%20156.23C138.921%20156.193%20136.292%20155.954%20134.328%20153.884C131.769%20151.188%20131.438%20146.563%20133.674%20142.459L133.67%20142.455Z'%20fill='%23AADAED'/%3e%3cpath%20d='M145.56%2088.6624C145.125%2086.8475%20143.302%2085.7288%20141.488%2086.1636C139.674%2086.5984%20138.556%2088.4221%20138.991%2090.2369L156.729%20164.233C157.164%20166.048%20158.987%20167.166%20160.801%20166.732C162.615%20166.297%20163.732%20164.473%20163.297%20162.658L145.56%2088.6624Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M214.66%2037.9143H195.186L189.833%2028.707C187.068%2023.9526%20181.938%2021%20176.441%2021H125.492C120.44%2021%20115.693%2023.471%20112.796%2027.6149L105.592%2037.9143H85.1334C81.1916%2037.9143%2078%2041.1096%2078%2045.0477V46.592C78%2050.5338%2081.1953%2053.7254%2085.1334%2053.7254H214.66C218.602%2053.7254%20221.793%2050.5301%20221.793%2046.592V45.0477C221.793%2041.1059%20218.598%2037.9143%20214.66%2037.9143ZM122.437%2034.3586C123.132%2033.3621%20124.275%2032.7664%20125.489%2032.7664H176.437C177.761%2032.7664%20178.993%2033.4761%20179.658%2034.6196L181.574%2037.9143H119.947L122.433%2034.3586H122.437Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M187.064%2093.9335C187.56%2093.9777%20188.046%2093.7864%20188.542%2093.7313C189.038%2093.6761%20189.63%2093.8232%20189.822%2094.2828C190.108%2094.9778%20189.274%2095.6911%20189.369%2096.4376C189.424%2096.8604%20189.763%2097.1803%20190.079%2097.4635C190.719%2098.0334%20191.362%2098.607%20192.002%2099.177C192.164%2099.3204%20192.329%2099.4748%20192.384%2099.6807C192.454%2099.9307%20192.34%20100.192%20192.245%20100.434C191.829%20101.49%20191.789%20102.894%20192.723%20103.542C192.98%20103.722%20193.304%20103.828%20193.488%20104.086C193.693%20104.376%20193.66%20104.766%20193.605%20105.119C193.473%20105.994%20193.278%20106.858%20193.021%20107.708'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M105.681%20138.694C105.611%20140.003%20105.658%20141.562%20106.751%20142.29C106.993%20142.452%20107.276%20142.558%20107.493%20142.757C108.122%20143.331%20107.931%20144.353%20107.633%20145.151C107.335%20145.949%20106.982%20146.868%20107.409%20147.6C107.817%20148.298%20108.762%20148.493%20109.284%20149.111C109.813%20149.732%20109.828%20150.685%20110.387%20151.28C110.626%20151.534%20110.964%20151.721%20111.089%20152.049C111.189%20152.31%20111.126%20152.597%20111.126%20152.876C111.126%20153.63%20111.597%20154.321%20112.196%20154.781C112.796%20155.24%20113.516%20155.501%20114.226%20155.755'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",AppAction$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>AppAction$1),void 0)),Library$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>Library$1),void 0)),ActionBar=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ActionBarContainer$1),void 0)),DisableModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DisableModal$1),void 0)),TrashModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>TrashModal$1),void 0)),OnboardingModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>OnboardingModal),void 0)),Explorer=({config:rr})=>{const er=useSearchParams(),{setConfig:tr,setSearchParams:ar}=useStoreActions();reactExports.useEffect(()=>{tr(rr||{}),ar({...er,application:rr.app,types:rr.types})},[rr]);const{currentApp:ir}=useEdificeClient(),{data:nr}=useActions(rr.actions),{isTrashedModalOpen:or,onTrashedCancel:sr}=useTrashModal(),{isActionDisableModalOpen:lr,onActionDisableCancel:ur}=useDisableModal(),{handleDragEnd:cr,handleDragOver:Ar,handleDragStart:dr,sensors:pr}=useDndKit();useXitiTrackPageLoad();const gr=isActionAvailable("publish",nr),br=isActionAvailable("create",nr);return rr&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(AppHeader,{render:()=>br?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(AppAction$2,{onResourceCreated:rr.onResourceCreated})}):null,children:jsxRuntimeExports.jsx(Breadcrumb,{app:ir})}),jsxRuntimeExports.jsx(Grid,{className:"flex-grow-1",children:jsxRuntimeExports.jsxs(DndContext,{sensors:pr,modifiers:[snapCenterToCursor],onDragStart:dr,onDragEnd:cr,onDragOver:Ar,children:[jsxRuntimeExports.jsx(Grid.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(TreeViewContainer,{}),gr&&jsxRuntimeExports.jsx(Library$2,{})]})}),jsxRuntimeExports.jsxs(Grid.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[jsxRuntimeExports.jsx(SearchForm,{}),jsxRuntimeExports.jsx(ExplorerBreadcrumb,{}),jsxRuntimeExports.jsx(List,{})]}),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(ActionBar,{}),rr.enableOnboarding&&jsxRuntimeExports.jsx(OnboardingModal$1,{id:"showOnboardingTrash",items:[{src:illuTrashMenu,alt:"explorer.modal.onboarding.trash.screen1.alt",text:"explorer.modal.onboarding.trash.screen1.title"},{src:illuTrashNotif,alt:"explorer.modal.onboarding.trash.screen2.alt",text:"explorer.modal.onboarding.trash.screen2.alt"},{src:illuTrashDelete,alt:"explorer.modal.onboarding.trash.screen3.alt",text:"explorer.modal.onboarding.trash.screen3.title"}],modalOptions:{title:"explorer.modal.onboarding.trash.title",prevText:"explorer.modal.onboarding.trash.prev",nextText:"explorer.modal.onboarding.trash.next",closeText:"explorer.modal.onboarding.trash.close"}}),or&&jsxRuntimeExports.jsx(TrashModal$2,{isOpen:or,onCancel:sr}),lr&&jsxRuntimeExports.jsx(DisableModal$2,{isOpen:lr,onCancel:ur})]})]})})]})};function Root(){const{init:rr}=useEdificeClient(),er=getExplorerConfig();return rr?jsxRuntimeExports.jsx(Layout,{children:jsxRuntimeExports.jsx(Explorer,{config:er})}):jsxRuntimeExports.jsx(LoadingScreen,{position:!1})}var ReactQueryDevtools2=function(){return null};const queryClient=new QueryClient({queryCache:new QueryCache({onError:rr=>{typeof rr=="string"&&rr===ERROR_CODE.NOT_LOGGED_IN&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}}),getHTMLConfig=getExplorerConfig(),Providers=({children:rr})=>jsxRuntimeExports.jsxs(QueryClientProvider,{client:queryClient,children:[jsxRuntimeExports.jsx(EdificeClientProvider,{params:{app:getHTMLConfig.app},children:jsxRuntimeExports.jsx(EdificeThemeProvider,{children:rr})}),jsxRuntimeExports.jsx(ReactQueryDevtools2,{initialIsOpen:!1})]}),root=document.getElementById("root");createRoot(root).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsx(Providers,{children:jsxRuntimeExports.jsx(Root,{})})}));const __variableDynamicImportRuntimeHelper=(rr,er,tr)=>{const ar=rr[er];return ar?typeof ar=="function"?ar():Promise.resolve(ar):new Promise((ir,nr)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(nr.bind(null,new Error("Unknown variable dynamic import: "+er+(er.split("/").length!==tr?". Note that variables only represent file names one level deep.":""))))})};function EmptyScreenApp(){const{appCode:rr}=useEdificeClient(),{theme:er}=useEdificeTheme(),{t:tr}=useTranslation(),[ar,ir]=reactExports.useState("");reactExports.useEffect(()=>{(async()=>{const Ar=await __variableDynamicImportRuntimeHelper(Object.assign({"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-actualites.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuActualites$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-blog.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuBlog$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativeeditor.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativeeditor$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativewall.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativewall$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-error.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuError$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-exercizer.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuExercizer$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-homeworks.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuHomeworks$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-messagerie.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMessagerie$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-mindmap.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMindmap$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-no-content-in-folder.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuNoContentInFolder$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-pad.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuPad$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-scrapbook.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuScrapbook$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-search.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuSearch$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timeline.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimeline$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timelinegenerator.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimelinegenerator$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-trash.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTrash$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-wiki.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuWiki$1),void 0)}),`../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-${rr}.svg`,10);ir(Ar.default)})()},[rr]);const nr=useStoreContext(cr=>cr.config),{data:or}=useActions(nr==null?void 0:nr.actions),sr=or==null?void 0:or.find(cr=>cr.id==="create"),lr=()=>sr!=null&&sr.available&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.txt1d.create",{ns:rr}):sr!=null&&sr.available&&!(er!=null&&er.is1d)?tr("explorer.emptyScreen.txt2d.create",{ns:rr}):!(sr!=null&&sr.available)&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.txt1d.consultation",{ns:rr}):tr("explorer.emptyScreen.txt2d.consultation",{ns:rr}),ur=()=>sr!=null&&sr.available&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.title1d.create",{ns:rr}):sr!=null&&sr.available&&!(er!=null&&er.is1d)?tr("explorer.emptyScreen.title2d.create",{ns:rr}):!(sr!=null&&sr.available)&&(er!=null&&er.is1d)?tr("explorer.emptyScreen.title1d.consultation",{ns:rr}):tr("explorer.emptyScreen.title2d.consultation",{ns:rr});return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:ar,imageAlt:tr("explorer.emptyScreen.app.alt",{ns:rr}),title:ur(),text:lr()})}const EmptyScreenApp$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenApp},Symbol.toStringTag,{value:"Module"})),illuSearch="/assets/js/ode-explorer/illu-search.svg",illuSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenSearch(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuSearch,imageAlt:er("explorer.emptyScreen.search.alt",{ns:rr}),text:er("explorer.emptyScreen.search.text",{ns:rr})})}const EmptyScreenSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenError(){const{t:rr}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuError,imageAlt:rr("explorer.emptyScreen.error.alt"),text:"explorer.emptyScreen.error.text"})}const EmptyScreenError$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenError},Symbol.toStringTag,{value:"Module"})),illuNoContentInFolder="/assets/js/ode-explorer/illu-no-content-in-folder.svg",illuNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenNoContentInFolder(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuNoContentInFolder,imageAlt:er("explorer.emptyScreen.folder.empty.alt",{ns:rr}),text:er("explorer.emptyScreen.label",{ns:rr})})}const EmptyScreenNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenTrash(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuTrash,imageAlt:er("explorer.emptyScreen.trash.alt"),title:er("explorer.emptyScreen.trash.title"),text:er("explorer.emptyScreen.trash.empty",{ns:rr})})}const EmptyScreenTrash$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenTrash},Symbol.toStringTag,{value:"Module"}));function CardIcon({app:rr,type:er}){return er==="folder"?jsxRuntimeExports.jsx(SvgIconFiles,{width:"24",height:"24",className:`color-app-${rr==null?void 0:rr.displayName}`}):er==="resource"?jsxRuntimeExports.jsx(AppIcon,{app:rr,iconFit:"ratio",size:"24",variant:"rounded"}):null}const DraggableCard=({app:rr,type:er,name:tr})=>{const ar={flexDirection:"row",width:"252px",height:"32px",boxShadow:"0 0.2rem 0.6em rgba(0, 0, 0, 0.15)"};return jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center card is-selected gap-8",style:ar,children:[jsxRuntimeExports.jsx("div",{className:"ms-8",children:jsxRuntimeExports.jsx(CardIcon,{app:rr,type:er})}),jsxRuntimeExports.jsx("div",{className:"text-truncate",children:tr})]})},FolderCard=({app:rr,name:er,idFolder:tr,isSelected:ar=!1,isSelectable:ir=!0,onClick:nr,onSelect:or})=>{const[sr,lr]=reactExports.useState(!1),ur=reactExports.useId(),{lg:cr}=useBreakpoint(),{setNodeRef:Ar}=useDroppable({id:ur,data:{id:tr,name:er,isTreeview:!1,accepts:["folder","resource"]}}),{attributes:dr,listeners:pr,setNodeRef:gr,transform:br}=useDraggable({id:ur,data:{id:tr,type:"folder"},disabled:!cr}),vr=useResourceOrFolderIsDraggable(),yr=useElementDragOver(),xr=Ir=>{gr(Ir),Ar(Ir)},Er=yr.overId===tr,kr=!yr.canMove&&yr.isTreeview?"no-drop":sr?"grabbing":"default",Sr={transform:`translate3d(${((br==null?void 0:br.x)??0)/1}px, ${((br==null?void 0:br.y)??0)/1}px, 0)`,cursor:kr};return reactExports.useEffect(()=>{const Ir=vr.elementDrag===tr;lr(Ir)},[vr]),jsxRuntimeExports.jsx("div",{ref:xr,style:{...Sr},children:sr?jsxRuntimeExports.jsx(DraggableCard,{name:er,app:rr,type:"folder"}):jsxRuntimeExports.jsx(Card,{app:rr,isSelectable:!sr&&ir,isSelected:!sr&&ar||Er&&sr,isFocused:Er,onClick:nr,onSelect:or,children:Ir=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!sr&&cr&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...pr,...dr,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx(SvgIconFiles,{width:"48",height:"48",className:`color-app-${Ir}`}),jsxRuntimeExports.jsx(Card.Title,{children:er})]})]})})})};FolderCard.displayName="FolderCard";const FoldersList=({data:rr})=>{var pr,gr;const er=useQueryClient(),tr=useSelectedFolders(),ar=useFolderIds(),ir=useResourceOrFolderIsDraggable(),nr=useScrollToTop(),{currentApp:or}=useEdificeClient(),{setSelectedFolders:sr,setFolderIds:lr,openFolder:ur}=useStoreActions();function cr(br){ar.includes(br.id)?(lr(ar.filter(vr=>vr!==br.id)),sr(tr.filter(vr=>vr.id!==br.id))):(lr([br.id,...ar]),sr([br,...tr]))}function Ar(br){nr(),ur({folder:br,folderId:br.id,queryClient:er})}const dr=useSpring({from:{opacity:0},to:{opacity:1}});return(pr=rr==null?void 0:rr.pages[0])!=null&&pr.folders.length?jsxRuntimeExports.jsx(animated.ul,{className:"grid ps-0 list-unstyled mb-24",children:(gr=rr==null?void 0:rr.pages[0])==null?void 0:gr.folders.map(br=>{const{id:vr,name:yr}=br,xr=ir.elementDrag===vr;return jsxRuntimeExports.jsx(animated.li,{className:`g-col-4 ${xr?"z-2000":"z-1"}`,style:{position:"relative",...dr},children:jsxRuntimeExports.jsx(FolderCard,{name:yr,idFolder:vr,app:or,isSelected:ar.includes(br.id),onClick:Er=>{Er.stopPropagation(),Ar(br)},onSelect:()=>cr(br)})},vr)})}):null},FoldersList$1=Object.freeze(Object.defineProperty({__proto__:null,default:FoldersList},Symbol.toStringTag,{value:"Module"})),ResourceCard=({app:rr,resource:er,time:tr,isSelected:ar=!1,isSelectable:ir=!0,onClick:nr,onSelect:or})=>{const[sr,lr]=reactExports.useState(!1),ur=useIsTrash(),{lg:cr}=useBreakpoint(),Ar=`/userbook/avatar/${er==null?void 0:er.creatorId}`;function dr(Cr){const{rights:Pr,creatorId:Fr}=Cr||{};return Pr.filter(Lr=>!Lr.includes(Fr)).length>=1}const{attributes:pr,listeners:gr,setNodeRef:br,transform:vr}=useDraggable({id:er.id,data:{id:er.id,type:"resource"},disabled:!!ur||!cr}),yr=dr(er),xr=er==null?void 0:er.public,Er=useResourceOrFolderIsDraggable(),{appCode:kr}=useEdificeClient(),{t:Sr}=useTranslation(),Ir={position:sr?"absolute":"relative",zIndex:sr?2e3:1,transform:`translate3d(${((vr==null?void 0:vr.x)??0)/1}px, ${((vr==null?void 0:vr.y)??0)/1}px, 0)`};return reactExports.useEffect(()=>{const Cr=Er.elementDrag===er.id;lr(Cr)},[Er]),jsxRuntimeExports.jsx("div",{ref:br,style:{...Ir},children:sr?jsxRuntimeExports.jsx(DraggableCard,{app:rr,type:"resource",name:er==null?void 0:er.name}):jsxRuntimeExports.jsx(Card,{app:rr,isSelected:!sr&&ar,isSelectable:!sr&&ir,onClick:nr,onSelect:or,children:()=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!sr&&cr&&!ur&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...gr,...pr,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx("div",{className:"card-image medium",children:er!=null&&er.thumbnail?jsxRuntimeExports.jsx(Image$1,{alt:"",src:`${er==null?void 0:er.thumbnail}?thumbnail=80x80`,objectFit:"cover",className:"h-full w-100"}):jsxRuntimeExports.jsx(AppIcon,{app:rr,iconFit:"ratio",size:"80",variant:"rounded"})}),jsxRuntimeExports.jsxs("div",{className:"text-truncate",children:[jsxRuntimeExports.jsx(Card.Title,{children:er==null?void 0:er.name}),jsxRuntimeExports.jsx(Card.Text,{children:jsxRuntimeExports.jsx("em",{children:tr})})]})]}),jsxRuntimeExports.jsxs(Card.Footer,{children:[jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8 text-truncate",children:[Ar?jsxRuntimeExports.jsx(Avatar,{alt:(er==null?void 0:er.creatorName)||"",size:"xs",src:Ar,variant:"circle",width:"24",height:"24"}):jsxRuntimeExports.jsx(SvgIconOneProfile,{}),jsxRuntimeExports.jsx(Card.Text,{children:er==null?void 0:er.creatorName})]}),jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8",children:[yr&&jsxRuntimeExports.jsx(Tooltip,{message:Sr("tooltip.shared",{ns:kr}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconUsers,{width:16,height:16})}),xr&&jsxRuntimeExports.jsx(Tooltip,{message:Sr("tooltip.public",{ns:kr}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconGlobe,{width:16,height:16})})]})]})]})})})};ResourceCard.displayName="ResourceCard";const ResourcesList=({data:rr,fetchNextPage:er})=>{const{currentApp:tr}=useEdificeClient(),{t:ar}=useTranslation(),{fromNow:ir}=useDate(),nr=useSearchParams(),or=useResourceIds(),sr=useSelectedResources(),{setSelectedResources:lr,setResourceIds:ur,openResource:cr,setResourceIsTrash:Ar}=useStoreActions(),dr=useIsTrash(),pr=useSpring({from:{opacity:0},to:{opacity:1}}),br=nr.pagination.startIdx+nr.pagination.pageSize<(nr.pagination.maxIdx||0),vr=reactExports.useCallback(()=>{er()},[]),yr=kr=>{dr?(Ar(!0),ur([kr.id]),lr([kr])):cr(kr)};async function xr(kr){if(or.includes(kr.id)){ur(or.filter(Sr=>Sr!==kr.id)),lr(sr.filter(Sr=>Sr.id!==kr.id));return}ur([...or,kr.id]),lr([...sr,kr])}const Er=clsx("grid ps-0 list-unstyled");return jsxRuntimeExports.jsxs(React$4.Fragment,{children:[jsxRuntimeExports.jsx(animated.ul,{className:Er,children:rr==null?void 0:rr.pages.map((kr,Sr)=>jsxRuntimeExports.jsx(React$4.Fragment,{children:kr.resources.map(Ir=>{const{id:Cr,updatedAt:Pr}=Ir,Fr=ir(Pr);return jsxRuntimeExports.jsx(animated.li,{className:"g-col-4",style:{position:"relative",...pr},children:jsxRuntimeExports.jsx(ResourceCard,{app:tr,resource:Ir,time:Fr,isSelectable:!0,isSelected:or.includes(Ir.id),onClick:Gr=>{Gr.stopPropagation(),yr(Ir)},onSelect:()=>xr(Ir)})},Cr)})},Sr))}),br&&jsxRuntimeExports.jsx("div",{className:"d-grid gap-2 col-4 mx-auto my-24",children:jsxRuntimeExports.jsx(Button,{type:"button",color:"secondary",variant:"filled",onClick:vr,children:ar("explorer.see.more")})})]})},ResourcesList$1=Object.freeze(Object.defineProperty({__proto__:null,default:ResourcesList},Symbol.toStringTag,{value:"Module"}));function useFolderModal({edit:rr,onSuccess:er,onClose:tr}){var kr;const ar=useSelectedFolders(),ir=useCurrentFolder(),nr=useCreateFolder(),or=useUpdatefolder(),sr=rr?(kr=ar[0])==null?void 0:kr.name:void 0,{reset:lr,register:ur,handleSubmit:cr,setFocus:Ar,formState:{errors:dr,isSubmitting:pr,isDirty:gr,isValid:br}}=useForm({mode:"onChange",values:{name:sr||""}}),vr=reactExports.useId(),yr=async function({name:Sr}){var Ir;try{if(rr){const Cr=(Ir=ar[0])==null?void 0:Ir.parentId,Fr=ar[0].id;await or.mutate({folderId:Fr,parentId:Cr,name:Sr}),lr(),er==null||er()}else{const Cr=(ir==null?void 0:ir.id)||FOLDER.DEFAULT;await nr.mutate({name:Sr,parentId:Cr}),lr(),er==null||er()}}catch(Cr){console.error(Cr)}};function xr(){lr(),tr()}return{formId:`createModal_${vr}`,errors:dr,isSubmitting:pr,isDirty:gr,isValid:br,register:ur,setFocus:Ar,handleSubmit:cr,onCancel:xr,onSubmit:yr}}function FolderModal$1({isOpen:rr,edit:er,onSuccess:tr,onCancel:ar}){const{t:ir}=useTranslation(),{isDirty:nr,isValid:or,isSubmitting:sr,formId:lr,onSubmit:ur,onCancel:cr,handleSubmit:Ar,register:dr,setFocus:pr}=useFolderModal({edit:er,onSuccess:tr,onClose:ar});return reactExports.useEffect(()=>{rr&&pr("name")},[rr,pr]),rr?reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:cr,id:"modal_"+lr,children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:cr,children:ir(er?"explorer.rename.folder":"explorer.create.folder")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("form",{id:lr,onSubmit:Ar(ur),children:jsxRuntimeExports.jsxs(FormControl,{id:"nameFolder",isRequired:!0,children:[jsxRuntimeExports.jsx(Label,{children:ir("explorer.create.folder.name")}),jsxRuntimeExports.jsx(Input,{type:"text",...dr("name",{required:!0,maxLength:60,pattern:{value:/[^ ]/,message:"invalid title"}}),placeholder:ir("explorer.create.folder.name"),size:"md","aria-required":!0,maxLength:60})]})})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:cr,type:"button",variant:"ghost",children:ir("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{form:lr,type:"submit",color:"primary",variant:"filled",disabled:!nr||!or||sr,children:ir(er?"explorer.rename":"explorer.create")})]})]}),document.getElementById("portal")):null}const FolderModal$2=Object.freeze(Object.defineProperty({__proto__:null,default:FolderModal$1},Symbol.toStringTag,{value:"Module"})),CreateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0));function AppAction({onResourceCreated:rr}){const[er,tr]=useToggle(),ar=useStoreContext(gr=>gr.config),{appCode:ir}=useEdificeClient(),{t:nr}=useTranslation(ir),{clearSelectedItems:or,clearSelectedIds:sr}=useStoreActions(),{data:lr}=useActions(ar==null?void 0:ar.actions),ur=lr==null?void 0:lr.find(gr=>gr.id==="create"),cr=useCurrentFolder(),Ar=useCreateResource({onResourceCreated:rr}),dr=useSearchParams(),pr=()=>{if(ir=="scrapbook"){goToCreate({searchParams:dr,folderId:cr.id});return}or(),sr(),tr()};return ur?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),className:"ms-auto",onClick:pr,children:nr("explorer.create.title")}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:er&&jsxRuntimeExports.jsx(CreateModal,{mode:"create",currentFolder:cr,createResource:Ar,isOpen:er,onSuccess:tr,onCancel:tr,children:(gr,br,vr,yr,xr)=>ir==="blog"&&isActionAvailable("createPublic",lr)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:ir,isUpdating:br,resource:gr,watch:vr,setValue:yr,register:xr})})})]}):null}const AppAction$1=Object.freeze(Object.defineProperty({__proto__:null,default:AppAction},Symbol.toStringTag,{value:"Module"})),useLibrary=()=>{const rr=useLibraryUrl(),{theme:er}=useEdificeTheme(),[tr,ar]=reactExports.useState("");return reactExports.useEffect(()=>{var sr,lr;const nr={neo:"/explorer/public/img/image-library-neo.svg",one:"/explorer/public/img/image-library-one.svg"},or=((lr=(sr=er==null?void 0:er.bootstrapVersion)==null?void 0:sr.toString())==null?void 0:lr.toLowerCase())||"neo";ar(nr[or]||"/explorer/public/img/image-library.svg")},[er]),{libraryUrl:rr,imageFullURL:tr,handleClick:()=>{rr&&(window.open(rr,"_blank"),odeServices.data().trackAccessLibraryFromExplorer())}}},Library=()=>{const{libraryUrl:rr,imageFullURL:er,handleClick:tr}=useLibrary(),{t:ar}=useTranslation();return rr&&jsxRuntimeExports.jsxs("div",{className:"p-16",children:[jsxRuntimeExports.jsx(Image$1,{width:"270",height:"140",loading:"lazy",className:"rounded",src:er,alt:ar("explorer.libray.img.alt")}),jsxRuntimeExports.jsx("p",{className:"m-8",children:ar("explorer.libray.title")}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:tr,rel:"noreferrer",className:"btn btn-ghost-primary d-inline-flex align-items-center gap-4 p-8",children:[jsxRuntimeExports.jsx("span",{children:ar("explorer.libray.btn")}),jsxRuntimeExports.jsx(SvgIconArrowRight,{})]})]})},Library$1=Object.freeze(Object.defineProperty({__proto__:null,default:Library},Symbol.toStringTag,{value:"Module"}));function useAccessControl({roles:rr,rights:er,action:tr}){const[ar,ir]=reactExports.useState(!1),{user:nr}=useUser(),or=useIsTrash();reactExports.useEffect(()=>{ur()},[rr,er]);const sr=async function(cr){const Ar=cr instanceof Array?cr:[cr];if(rr instanceof Array){const dr=await odeServices.rights().sessionHasAtLeastOneResourceRight(rr,Ar);ir(dr)}else{const dr=await odeServices.rights().sessionHasResourceRight(rr,Ar);ir(dr)}},lr=async function(cr){if(rr instanceof Array){const Ar=await odeServices.rights().sessionHasAtLeastOneResourceRightForEachList(rr,cr);ir(Ar)}else{const Ar=await odeServices.rights().sessionHasResourceRightForEachList(rr,cr);ir(Ar)}},ur=async function(){var cr,Ar,dr;if(rr===void 0){ir(!0);return}if(or&&((Ar=(cr=er[0])==null?void 0:cr.trashedBy)!=null&&Ar.includes(nr==null?void 0:nr.userId))&&tr==="restore"&&!((dr=er[0])!=null&&dr.trashed)){ir(!0);return}if(er instanceof Array)if(er.length>0)if(typeof er[0]=="string")await sr(er);else{const pr=er.map(gr=>gr.rights);await lr(pr)}else ir(!1);else typeof er=="string"?await sr(er):await sr(er.rights)};return{visible:ar,refreshState:ur}}function useActionBar(){const[rr,er]=reactExports.useState(!1),[tr,ar]=reactExports.useState("void"),[ir,nr]=reactExports.useState(),or=useStoreContext(nt=>nt.config),sr=useCurrentFolder(),lr=useResourceIds(),ur=useSelectedResources(),cr=useSelectedFolders(),Ar=useFolderIds(),dr=useIsTrash(),pr=useRestore(),gr=useResourceIsTrash(),br=useSearchParams(),vr=useCopyResource(),yr=useResourceOrFolderIsDraggable(),{openResource:xr,printSelectedResource:Er,openFolder:kr,clearSelectedItems:Sr,clearSelectedIds:Ir}=useStoreActions(),{data:Cr}=useActions(or==null?void 0:or.actions);reactExports.useEffect(()=>{if(lr.length===0&&Ar.length===0){er(!1);return}if(gr){er(!1);return}if(yr.isDrag){er(!1);return}er(!0)},[lr,Ar]);async function Pr(nt){var At;switch((At=document.getElementById("root"))==null||At.setAttribute("aria-hidden","true"),nr(nt),nt.id){case ACTION.OPEN:return lr.length>0?xr(ur[0]):kr({folder:cr[0],folderId:cr[0].id});case ACTION.COPY:return ut();case ACTION.MOVE:return ar("move");case ACTION.PRINT:return Er();case ACTION.DELETE:return ar("delete");case ACTION.RESTORE:return await Lr();case ACTION.PUBLISH:return ar("publish");case ACTION.UPD_PROPS:case"edit":return st();case ACTION.SHARE:return ar("share");case ACTION.EXPORT:return ar("export");default:throw Error(`Unknown action: ${nt.id}`)}}function Fr(nt){const At=lr.length+Ar.length,dt=lr.length===1||Ar.length===1,Ot=At===1,Ct=Ar.length===0;switch(nt.id){case ACTION.OPEN:return Ot;case ACTION.MANAGE:return dt;case ACTION.COPY:return dt&&Ct;case ACTION.PUBLISH:return dt&&Ct;case ACTION.UPD_PROPS:return dt&&Ct;case ACTION.SHARE:return Ct&&dt;case"export":return dt&&Ct;case ACTION.PRINT:return dt&&Ct;case"edit":return Ot;default:return!0}}const Gr=()=>!0;async function Lr(){try{if(dr)await pr.mutate();else throw new Error("Cannot restore untrashed resources");Wr()}catch(nt){console.error(nt)}}function Wr(){var nt;ar("void"),ir!=null&&ir.id&&((nt=document.getElementById(ir==null?void 0:ir.id))==null||nt.focus())}const Nr=nt=>()=>{tr===nt&&(Wr(),Sr(),Ir())},Dr=Nr("move"),Mr=Nr("move"),$r=Nr("delete"),Zr=Nr("delete"),_r=Nr("publish"),jr=Nr("publish"),Br=Nr("edit_folder"),Vr=Nr("edit_folder"),Ur=Nr("edit_resource"),Xr=Nr("edit_resource"),zr=Nr("share"),Kr=Nr("share"),tt=Nr("export"),et=Nr("export");async function ut(){if(ur&&ur.length>0){const nt=ur[0];await vr.mutate(nt),Sr(),Ir()}}function st(){if(lr&&lr.length>0){const nt=ur[0].assetId;(or==null?void 0:or.app)==="scrapbook"?goToEdit({searchParams:br,assetId:nt}):ar("edit_resource")}else ar("edit_folder")}function lt(nt){return nt.id==="edit"&&Ar.length>0?"explorer.rename":`explorer.actions.${nt.id}`}return{onRestore:Lr,actions:dr?or==null?void 0:or.trashActions:Cr,selectedElement:[...ur,...cr],currentFolderId:sr==null?void 0:sr.id,overrideLabel:lt,handleClick:Pr,isActivable:dr?Gr:Fr,isActionBarOpen:rr,isMoveModalOpen:tr==="move",onMoveCancel:Dr,onMoveSuccess:Mr,isDeleteModalOpen:tr==="delete",onDeleteCancel:Zr,onDeleteSuccess:$r,isPublishModalOpen:tr==="publish",onPublishCancel:jr,onPublishSuccess:_r,isEditFolderOpen:tr==="edit_folder",onEditFolderCancel:Vr,onEditFolderSuccess:Br,isEditResourceOpen:tr==="edit_resource",onEditResourceCancel:Xr,onEditResourceSuccess:Ur,isShareResourceOpen:tr==="share",onShareResourceCancel:Kr,onShareResourceSuccess:zr,isExportModalOpen:tr==="export",onExportCancel:tt,onExportSuccess:et,onClearActionBar:Wr}}function AccessControl({resourceRights:rr,roleExpected:er,action:tr,children:ar,renderWhenForbidden:ir}){const{t:nr}=useTranslation(),{overrideLabel:or}=useActionBar(),{visible:sr}=useAccessControl({roles:er,rights:rr,action:tr==null?void 0:tr.id}),{setResourceActionDisable:lr}=useStoreActions(),ur=useIsTrash();return sr?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:ar}):ir?ir():ur&&!sr?jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",onClick:()=>{lr(!0)},children:nr(or(tr))}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})}const PublishModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>PublishModal),void 0)),UpdateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0)),DeleteModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DeleteModal$1),void 0)),MoveModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>MoveModal$1),void 0)),FolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),ExportModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ExportModal$1),void 0));function ActionBarContainer(){const{appCode:rr}=useEdificeClient(),{t:er}=useTranslation(),{actions:tr,selectedElement:ar,isMoveModalOpen:ir,isDeleteModalOpen:nr,isPublishModalOpen:or,isActionBarOpen:sr,isEditFolderOpen:lr,overrideLabel:ur,onEditFolderCancel:cr,onEditFolderSuccess:Ar,isEditResourceOpen:dr,onEditResourceCancel:pr,onEditResourceSuccess:gr,isShareResourceOpen:br,onShareResourceCancel:vr,onShareResourceSuccess:yr,isExportModalOpen:xr,onExportCancel:Er,onExportSuccess:kr,onMoveCancel:Sr,onMoveSuccess:Ir,onDeleteCancel:Cr,onDeleteSuccess:Pr,onPublishCancel:Fr,onPublishSuccess:Gr,isActivable:Lr,handleClick:Wr}=useActionBar(),Dr=useSelectedResources()[0],Mr=useShareResource(rr),$r=useUpdateResource(rr),Zr=useTransition(sr,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Zr((_r,jr)=>jr&&jsxRuntimeExports.jsx(animated.div,{className:"position-fixed bottom-0 start-0 end-0",style:{..._r,zIndex:4},children:jsxRuntimeExports.jsx(ActionBar$1,{children:tr==null?void 0:tr.filter(Br=>Br.available&&Br.target==="actionbar").map(Br=>Lr(Br)&&jsxRuntimeExports.jsx(AccessControl,{resourceRights:ar,roleExpected:Br.right,action:Br,children:jsxRuntimeExports.jsx(Button,{id:Br.id,type:"button",color:"primary",variant:"filled",onClick:()=>{Wr(Br)},children:er(ur(Br))},Br.id)},Br.id))})})),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[ir&&jsxRuntimeExports.jsx(MoveModal$2,{isOpen:ir,onCancel:Sr,onSuccess:Ir}),nr&&jsxRuntimeExports.jsx(DeleteModal$2,{isOpen:nr,onCancel:Cr,onSuccess:Pr}),or&&Dr&&jsxRuntimeExports.jsx(PublishModal$1,{isOpen:or,resourceId:Dr.assetId,onCancel:Fr,onSuccess:Gr}),lr&&jsxRuntimeExports.jsx(FolderModal,{edit:!0,isOpen:lr,onCancel:cr,onSuccess:Ar}),dr&&Dr&&jsxRuntimeExports.jsx(UpdateModal,{mode:"update",isOpen:dr,resourceId:Dr.assetId,updateResource:$r,onCancel:pr,onSuccess:gr,children:(_r,jr,Br,Vr,Ur)=>rr==="blog"&&isActionAvailable("createPublic",tr)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:rr,isUpdating:jr,resource:_r,watch:Br,setValue:Vr,register:Ur})}),br&&Dr&&jsxRuntimeExports.jsx(ShareResourceModal,{isOpen:br,shareResource:Mr,shareOptions:{resourceCreatorId:Dr.creatorId,resourceId:Dr.assetId,resourceRights:Dr.rights},onCancel:vr,onSuccess:yr,children:rr==="blog"?jsxRuntimeExports.jsx(ShareBlog,{resourceId:Dr.assetId,updateResource:$r}):null}),xr&&Dr&&jsxRuntimeExports.jsx(ExportModal$2,{isOpen:xr,onCancel:Er,onSuccess:kr})]})]})}const ActionBarContainer$1=Object.freeze(Object.defineProperty({__proto__:null,default:ActionBarContainer},Symbol.toStringTag,{value:"Module"}));function DisableModal({isOpen:rr,onCancel:er=()=>({})}){const{t:tr}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:er,id:"trash_action_disable_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>er(),children:tr("explorer.trash.action.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:tr("explorer.trash.action.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:er,type:"button",variant:"outline",children:tr("close")})})]}),document.getElementById("portal"))}const DisableModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DisableModal},Symbol.toStringTag,{value:"Module"}));function TrashModal({isOpen:rr,onCancel:er=()=>({})}){const{t:tr}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:er,id:"trash_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>er(),children:tr("explorer.trash.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:tr("explorer.trash.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:er,type:"button",variant:"outline",children:tr("close")})})]}),document.getElementById("portal"))}const TrashModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:TrashModal},Symbol.toStringTag,{value:"Module"})),OnboardingModal=Object.freeze(Object.defineProperty({__proto__:null,default:OnboardingModal$2},Symbol.toStringTag,{value:"Module"})),illuActualites="/assets/js/ode-explorer/illu-actualites.svg",illuActualites$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuActualites},Symbol.toStringTag,{value:"Module"})),illuBlog="/assets/js/ode-explorer/illu-blog.svg",illuBlog$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuBlog},Symbol.toStringTag,{value:"Module"})),illuCollaborativeeditor="/assets/js/ode-explorer/illu-pad.svg",illuCollaborativeeditor$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativeeditor},Symbol.toStringTag,{value:"Module"})),illuCollaborativewall="/assets/js/ode-explorer/illu-collaborativewall.svg",illuCollaborativewall$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativewall},Symbol.toStringTag,{value:"Module"})),illuExercizer="/assets/js/ode-explorer/illu-exercizer.svg",illuExercizer$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuExercizer},Symbol.toStringTag,{value:"Module"})),illuHomeworks="/assets/js/ode-explorer/illu-homeworks.svg",illuHomeworks$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuHomeworks},Symbol.toStringTag,{value:"Module"})),illuMessagerie="/assets/js/ode-explorer/illu-messagerie.svg",illuMessagerie$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMessagerie},Symbol.toStringTag,{value:"Module"})),illuMindmap="/assets/js/ode-explorer/illu-mindmap.svg",illuMindmap$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMindmap},Symbol.toStringTag,{value:"Module"})),illuPad="/assets/js/ode-explorer/illu-pad.svg",illuPad$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuPad},Symbol.toStringTag,{value:"Module"})),illuScrapbook="/assets/js/ode-explorer/illu-scrapbook.svg",illuScrapbook$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuScrapbook},Symbol.toStringTag,{value:"Module"})),illuTimeline="/assets/js/ode-explorer/illu-timeline.svg",illuTimeline$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimeline},Symbol.toStringTag,{value:"Module"})),illuTimelinegenerator="/assets/js/ode-explorer/illu-timelinegenerator.svg",illuTimelinegenerator$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimelinegenerator},Symbol.toStringTag,{value:"Module"})),illuWiki="/assets/js/ode-explorer/illu-wiki.svg",illuWiki$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuWiki},Symbol.toStringTag,{value:"Module"})),ResourceModal=Object.freeze(Object.defineProperty({__proto__:null,default:ResourceModal$1},Symbol.toStringTag,{value:"Module"})),PublishModal=Object.freeze(Object.defineProperty({__proto__:null,default:PublishModal$2},Symbol.toStringTag,{value:"Module"}));function useDeleteModal({onSuccess:rr}){const er=useDelete(),tr=useTrash(),ar=useIsTrash();async function ir(){try{ar?await er.mutate():await tr.mutate(),rr==null||rr()}catch(nr){console.error(nr)}}return{isTrashFolder:ar,onDelete:ir}}function DeleteModal({isOpen:rr,onSuccess:er=()=>({}),onCancel:tr=()=>({})}){const{t:ar}=useTranslation(),{isTrashFolder:ir,onDelete:nr}=useDeleteModal({onSuccess:er});return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:tr,id:"deleteModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:tr,children:ar(ir?"explorer.delete.title":"explorer.trash.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:ar(ir?"explorer.delete.subtitle":"explorer.trash.subtitle")})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:tr,type:"button",variant:"ghost",children:ar("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"danger",onClick:nr,type:"button",variant:"filled",children:ar(ir?"explorer.delete":"explorer.trash")})]})]}),document.getElementById("portal"))}const DeleteModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DeleteModal},Symbol.toStringTag,{value:"Module"}));function useMoveModal({onSuccess:rr}){const[er,tr]=reactExports.useState(),ar=useQueryClient(),ir=useMoveItem(),nr=useSelectedFolders(),or=useSelectedResources(),sr=useTreeData(),{fetchTreeData:lr}=useStoreActions();async function ur(){try{if(!er)throw new Error("explorer.move.selection.empty");await ir.mutate(er),await(rr==null?void 0:rr())}catch(Ar){console.error(Ar)}}const cr=Ar=>{var pr,gr;const dr=getAncestors(sr,Ar);for(const br of nr)if(Ar===br.id||Ar===br.parentId||(pr=br.childrenIds)!=null&&pr.includes(Ar)||dr.includes(br.id))return!1;for(const br of or)if(Ar===((br==null?void 0:br.folderIds)&&br.folderIds[0])||((gr=br==null?void 0:br.folderIds)==null?void 0:gr.length)===0&&Ar==="default")return!1;return!0};return{treeData:sr,disableSubmit:!er,handleTreeItemSelect:Ar=>{cr(Ar)?tr(Ar):tr(void 0)},handleOnTreeItemUnfold:Ar=>{var gr,br;const dr=findNodeById(sr,Ar),pr=(gr=dr==null?void 0:dr.children)==null?void 0:gr.some(vr=>{var yr;return Array.isArray(vr==null?void 0:vr.children)&&((yr=vr.children)==null?void 0:yr.length)>0});(br=dr==null?void 0:dr.children)==null||br.forEach(vr=>{pr||lr(vr.id,ar)})},onMove:()=>ur()}}function MoveModal({isOpen:rr,onSuccess:er,onCancel:tr}){const{appCode:ar}=useEdificeClient(),{t:ir}=useTranslation(),{treeData:nr,handleTreeItemSelect:or,handleOnTreeItemUnfold:sr,onMove:lr,disableSubmit:ur}=useMoveModal({onSuccess:er}),cr={...nr,name:ir("explorer.filters.mine",{ns:ar})};return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:tr,id:"moveModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:tr,children:ir("explorer.move.title")}),jsxRuntimeExports.jsx(Modal.Subtitle,{children:ir("explorer.move.subtitle")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx(TreeView,{data:cr,onTreeItemClick:or,onTreeItemUnfold:sr})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:tr,type:"button",variant:"ghost",children:ir("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:lr,type:"button",variant:"filled",disabled:ur,children:ir("explorer.move")})]})]}),document.getElementById("portal"))}const MoveModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:MoveModal},Symbol.toStringTag,{value:"Module"})),useExportModal=rr=>{const er=useSelectedResources(),tr=useSearchParams(),ar=useToast(),{t:ir}=useTranslation();return{handleExportClick:()=>{er.length?(goToExport({searchParams:tr,assetId:er[0].assetId}),rr()):ar.error(ir("explorer.error.noResourceSelected"))}}};function ExportModal({isOpen:rr,onSuccess:er,onCancel:tr}){const{handleExportClick:ar}=useExportModal(er),{t:ir}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:rr,onModalClose:tr,id:"exportModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:tr,children:ir("explorer.export.title")}),jsxRuntimeExports.jsxs(Modal.Body,{children:[jsxRuntimeExports.jsxs("ul",{children:[jsxRuntimeExports.jsx("li",{children:ir("explorer.export.body.info.1")}),jsxRuntimeExports.jsx("li",{children:ir("explorer.export.body.info.2")}),jsxRuntimeExports.jsx("li",{children:ir("explorer.export.body.info.3")})]}),jsxRuntimeExports.jsx(Alert,{type:"warning",children:ir("explorer.export.body.warning")})]}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:tr,type:"button",variant:"ghost",children:ir("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:ar,type:"button",variant:"filled",children:ir("explorer.actions.export")})]})]}),document.getElementById("portal"))}const ExportModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:ExportModal},Symbol.toStringTag,{value:"Module"}));
|
package/lib/Library.js
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useLibraryUrl as
|
|
3
|
-
import { useTranslation as
|
|
4
|
-
import { odeServices as
|
|
5
|
-
import { useState as
|
|
6
|
-
const
|
|
7
|
-
title:
|
|
8
|
-
titleId:
|
|
9
|
-
...
|
|
10
|
-
}) => /* @__PURE__ */
|
|
11
|
-
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
] }), d = "data:image/svg+xml,%3csvg%20width='236'%20height='120'%20viewBox='0%200%20236%20120'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1127_3886)'%3e%3cpath%20d='M236.02%200.0825195H-0.0891113V119.789H236.02V0.0825195Z'%20fill='%23B9E3F8'/%3e%3cpath%20d='M236.02%200.0825195H-0.0891113V119.789H236.02V0.0825195Z'%20fill='%232A9CC8'%20fill-opacity='0.2'/%3e%3cpath%20d='M216.156%2055.0721C206.627%2054.983%20197.682%2051.2235%20190.965%2044.4901C184.248%2037.7501%20180.548%2028.8118%20180.548%2019.3223V-11.2224H149.386V19.7679H149.393C149.634%2056.2109%20179.241%2085.7191%20215.866%2086.0591V86.069C215.978%2086.069%20216.09%2086.0657%20216.202%2086.0657C216.305%2086.0657%20216.404%2086.069%20216.506%2086.069V86.0624C253.127%2085.7224%20282.738%2056.2109%20282.979%2019.7712H282.985V-11.2224H251.824V19.319C251.824%2028.8085%20248.123%2037.7468%20241.407%2044.4868C234.69%2051.2235%20225.745%2054.983%20216.216%2055.0721H216.212H216.159H216.156Z'%20fill='%2346AFE6'%20fill-opacity='0.2'/%3e%3cpath%20d='M15.8433%2045.2856C-25.9006%2045.2856%20-59.7427%2079.1244%20-59.7427%20120.872H91.4326C91.4326%2079.1277%2057.5906%2045.2856%2015.8466%2045.2856'%20fill='%2346AFE6'%20fill-opacity='0.2'/%3e%3cpath%20d='M109.897%20111.442H44.9819V119.799H109.897V111.442Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M181.855%20111.442H116.94V119.799H181.855V111.442Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M116.944%20111.442H109.824V119.799H116.944V111.442Z'%20fill='%23DA6A0B'/%3e%3cpath%20d='M131.454%2030.3103C133.464%2030.3103%20135.094%2028.6804%20135.094%2026.6697C135.094%2024.659%20133.464%2023.029%20131.454%2023.029C129.443%2023.029%20127.813%2024.659%20127.813%2026.6697C127.813%2028.6804%20129.443%2030.3103%20131.454%2030.3103Z'%20fill='white'/%3e%3cpath%20d='M142.244%2034.5286L143.32%2033.9114C144.584%2033.1885%20144.383%2031.3071%20142.993%2030.8681L137.174%2029.0197C136.203%2028.7128%20135.183%2029.3366%20135.018%2030.34L134.071%2036.0667C133.84%2037.4563%20135.329%2038.4894%20136.553%2037.7897L138.431%2036.7136C141.306%2041.3676%20142.821%2046.7049%20142.821%2052.217C142.821%2068.5093%20129.566%2081.7649%20113.273%2081.7649C96.9812%2081.7649%2083.7256%2068.5093%2083.7256%2052.217C83.7256%2035.9248%2096.9812%2022.6692%20113.273%2022.6692C116.577%2022.6692%20119.825%2023.2105%20122.918%2024.2766C124.063%2024.6727%20125.314%2024.0621%20125.71%2022.9167C126.107%2021.7714%20125.496%2020.5204%20124.351%2020.1243C120.796%2018.8965%20117.069%2018.2759%20113.273%2018.2759C94.5585%2018.2759%2079.3323%2033.5021%2079.3323%2052.217C79.3323%2070.932%2094.5585%2086.1581%20113.273%2086.1581C131.988%2086.1581%20147.215%2070.932%20147.215%2052.217C147.215%2045.9358%20145.498%2039.846%20142.244%2034.5286Z'%20fill='white'/%3e%3cpath%20d='M110.577%2075.652C110.742%2076.9954%20111.857%2078.0219%20113.168%2078.0714C114.554%2078.1243%20115.795%2077.0746%20115.97%2075.652H110.573H110.577Z'%20fill='white'/%3e%3cpath%20d='M106.342%2068.1825H119.947C119.947%2067.3672%20119.997%2066.552%20120.086%2065.7433H106.342V68.1825Z'%20fill='white'/%3e%3cpath%20d='M106.342%2071.5394C106.342%2073.3581%20107.814%2074.8302%20109.633%2074.8302H116.726C118.502%2074.8302%20119.944%2073.3878%20119.944%2071.612V70.5228H106.339V71.5394H106.342Z'%20fill='white'/%3e%3cpath%20d='M127.813%2045.3747C127.813%2037.1427%20121.04%2030.4885%20112.765%2030.6866C104.863%2030.8747%2098.4664%2037.4002%2098.4268%2045.3054C98.407%2049.1969%2099.9022%2052.7385%20102.358%2055.3758C104.431%2057.6071%20105.731%2060.4193%20106.174%2063.4064H120.462C121.159%2060.1783%20122.552%2057.1219%20124.628%2054.511C126.621%2052.0025%20127.813%2048.8305%20127.813%2045.378V45.3747ZM112.138%2036.1294C111.389%2036.2548%20107.543%2037.0536%20105.309%2040.6811C103.414%2043.754%20103.833%2046.8567%20104.104%2048.0449C104.22%2048.5598%20103.896%2049.0715%20103.384%2049.187C103.315%2049.2035%20103.243%2049.2101%20103.173%2049.2101C102.738%2049.2101%20102.341%2048.9097%20102.242%2048.4641C101.922%2047.0448%20101.421%2043.348%20103.685%2039.6777C106.286%2035.4561%20110.577%2034.4527%20111.828%2034.2447C112.349%2034.1589%20112.841%2034.5121%20112.927%2035.0303C113.013%2035.5518%20112.659%2036.0436%20112.141%2036.1294H112.138Z'%20fill='white'/%3e%3cpath%20d='M48.319%20111.442L53.1611%2096.7538L113.372%20107.316L174.775%2096.7538L179.027%20111.442H48.319Z'%20fill='white'/%3e%3cpath%20d='M188.939%2027.3397L176.634%2066.0602L167.728%2063.2315L180.033%2024.5077L188.939%2027.3397Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M221.751%2040.0243H221.853C236.264%2040.0243%20247.949%2051.7451%20247.949%2066.2054C247.949%2066.2054%20232.683%2066.2186%20221.751%2066.2219V40.0243Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M220.5%2026.257V66.2186H211.869V26.257H220.5Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M209.311%2026.0656L210.964%2065.9942L200.947%2066.4101L199.293%2026.4815L209.311%2026.0656Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M198.699%2026.257V66.2186H188.939V26.257H198.699Z'%20fill='%235AC235'/%3e%3cpath%20d='M247.945%2065.5288H167.464V72.7276H247.945V65.5288Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M37.8723%2014.5462L50.174%2053.2667L59.0826%2050.438L46.7775%2011.7142L37.8723%2014.5462Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M5.06002%2027.2307H4.9577C-9.45316%2027.2307%20-21.1376%2038.9515%20-21.1376%2053.4119C-21.1376%2053.4119%20-5.8719%2053.4251%205.06002%2053.4284V27.2307Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M6.30762%2013.4636V53.4284H14.9389V13.4636H6.30762Z'%20fill='%235AC235'/%3e%3cpath%20d='M17.497%2013.2721L15.8433%2053.204L25.8642%2053.6165L27.5179%2013.688L17.497%2013.2721Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M28.1088%2013.4636V53.4284H37.8722V13.4636H28.1088Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M-17.1075%2060.4655L63.3734%2060.4655V53.2666L-17.1075%2053.2666V60.4655Z'%20fill='%23FF8D2E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1127_3886'%3e%3crect%20width='236'%20height='119.815'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", Z = "data:image/svg+xml,%3csvg%20width='236'%20height='120'%20viewBox='0%200%20236%20120'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1127_3886)'%3e%3cpath%20d='M236.02%200.0825195H-0.0891113V119.789H236.02V0.0825195Z'%20fill='%23B9E3F8'/%3e%3cpath%20d='M236.02%200.0825195H-0.0891113V119.789H236.02V0.0825195Z'%20fill='%232A9CC8'%20fill-opacity='0.2'/%3e%3cpath%20d='M216.156%2055.0721C206.627%2054.983%20197.682%2051.2235%20190.965%2044.4901C184.248%2037.7501%20180.548%2028.8118%20180.548%2019.3223V-11.2224H149.386V19.7679H149.393C149.634%2056.2109%20179.241%2085.7191%20215.866%2086.0591V86.069C215.978%2086.069%20216.09%2086.0657%20216.202%2086.0657C216.305%2086.0657%20216.404%2086.069%20216.506%2086.069V86.0624C253.127%2085.7224%20282.738%2056.2109%20282.979%2019.7712H282.985V-11.2224H251.824V19.319C251.824%2028.8085%20248.123%2037.7468%20241.407%2044.4868C234.69%2051.2235%20225.745%2054.983%20216.216%2055.0721H216.212H216.159H216.156Z'%20fill='%2346AFE6'%20fill-opacity='0.2'/%3e%3cpath%20d='M15.8433%2045.2856C-25.9006%2045.2856%20-59.7427%2079.1244%20-59.7427%20120.872H91.4326C91.4326%2079.1277%2057.5906%2045.2856%2015.8466%2045.2856'%20fill='%2346AFE6'%20fill-opacity='0.2'/%3e%3cpath%20d='M109.897%20111.442H44.9819V119.799H109.897V111.442Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M181.855%20111.442H116.94V119.799H181.855V111.442Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M116.944%20111.442H109.824V119.799H116.944V111.442Z'%20fill='%23DA6A0B'/%3e%3cpath%20d='M131.454%2030.3103C133.464%2030.3103%20135.094%2028.6804%20135.094%2026.6697C135.094%2024.659%20133.464%2023.029%20131.454%2023.029C129.443%2023.029%20127.813%2024.659%20127.813%2026.6697C127.813%2028.6804%20129.443%2030.3103%20131.454%2030.3103Z'%20fill='white'/%3e%3cpath%20d='M142.244%2034.5286L143.32%2033.9114C144.584%2033.1885%20144.383%2031.3071%20142.993%2030.8681L137.174%2029.0197C136.203%2028.7128%20135.183%2029.3366%20135.018%2030.34L134.071%2036.0667C133.84%2037.4563%20135.329%2038.4894%20136.553%2037.7897L138.431%2036.7136C141.306%2041.3676%20142.821%2046.7049%20142.821%2052.217C142.821%2068.5093%20129.566%2081.7649%20113.273%2081.7649C96.9812%2081.7649%2083.7256%2068.5093%2083.7256%2052.217C83.7256%2035.9248%2096.9812%2022.6692%20113.273%2022.6692C116.577%2022.6692%20119.825%2023.2105%20122.918%2024.2766C124.063%2024.6727%20125.314%2024.0621%20125.71%2022.9167C126.107%2021.7714%20125.496%2020.5204%20124.351%2020.1243C120.796%2018.8965%20117.069%2018.2759%20113.273%2018.2759C94.5585%2018.2759%2079.3323%2033.5021%2079.3323%2052.217C79.3323%2070.932%2094.5585%2086.1581%20113.273%2086.1581C131.988%2086.1581%20147.215%2070.932%20147.215%2052.217C147.215%2045.9358%20145.498%2039.846%20142.244%2034.5286Z'%20fill='white'/%3e%3cpath%20d='M110.577%2075.652C110.742%2076.9954%20111.857%2078.0219%20113.168%2078.0714C114.554%2078.1243%20115.795%2077.0746%20115.97%2075.652H110.573H110.577Z'%20fill='white'/%3e%3cpath%20d='M106.342%2068.1825H119.947C119.947%2067.3672%20119.997%2066.552%20120.086%2065.7433H106.342V68.1825Z'%20fill='white'/%3e%3cpath%20d='M106.342%2071.5394C106.342%2073.3581%20107.814%2074.8302%20109.633%2074.8302H116.726C118.502%2074.8302%20119.944%2073.3878%20119.944%2071.612V70.5228H106.339V71.5394H106.342Z'%20fill='white'/%3e%3cpath%20d='M127.813%2045.3747C127.813%2037.1427%20121.04%2030.4885%20112.765%2030.6866C104.863%2030.8747%2098.4664%2037.4002%2098.4268%2045.3054C98.407%2049.1969%2099.9022%2052.7385%20102.358%2055.3758C104.431%2057.6071%20105.731%2060.4193%20106.174%2063.4064H120.462C121.159%2060.1783%20122.552%2057.1219%20124.628%2054.511C126.621%2052.0025%20127.813%2048.8305%20127.813%2045.378V45.3747ZM112.138%2036.1294C111.389%2036.2548%20107.543%2037.0536%20105.309%2040.6811C103.414%2043.754%20103.833%2046.8567%20104.104%2048.0449C104.22%2048.5598%20103.896%2049.0715%20103.384%2049.187C103.315%2049.2035%20103.243%2049.2101%20103.173%2049.2101C102.738%2049.2101%20102.341%2048.9097%20102.242%2048.4641C101.922%2047.0448%20101.421%2043.348%20103.685%2039.6777C106.286%2035.4561%20110.577%2034.4527%20111.828%2034.2447C112.349%2034.1589%20112.841%2034.5121%20112.927%2035.0303C113.013%2035.5518%20112.659%2036.0436%20112.141%2036.1294H112.138Z'%20fill='white'/%3e%3cpath%20d='M48.319%20111.442L53.1611%2096.7538L113.372%20107.316L174.775%2096.7538L179.027%20111.442H48.319Z'%20fill='white'/%3e%3cpath%20d='M188.939%2027.3397L176.634%2066.0602L167.728%2063.2315L180.033%2024.5077L188.939%2027.3397Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M221.751%2040.0243H221.853C236.264%2040.0243%20247.949%2051.7451%20247.949%2066.2054C247.949%2066.2054%20232.683%2066.2186%20221.751%2066.2219V40.0243Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M220.5%2026.257V66.2186H211.869V26.257H220.5Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M209.311%2026.0656L210.964%2065.9942L200.947%2066.4101L199.293%2026.4815L209.311%2026.0656Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M198.699%2026.257V66.2186H188.939V26.257H198.699Z'%20fill='%235AC235'/%3e%3cpath%20d='M247.945%2065.5288H167.464V72.7276H247.945V65.5288Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M37.8723%2014.5462L50.174%2053.2667L59.0826%2050.438L46.7775%2011.7142L37.8723%2014.5462Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M5.06002%2027.2307H4.9577C-9.45316%2027.2307%20-21.1376%2038.9515%20-21.1376%2053.4119C-21.1376%2053.4119%20-5.8719%2053.4251%205.06002%2053.4284V27.2307Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M6.30762%2013.4636V53.4284H14.9389V13.4636H6.30762Z'%20fill='%235AC235'/%3e%3cpath%20d='M17.497%2013.2721L15.8433%2053.204L25.8642%2053.6165L27.5179%2013.688L17.497%2013.2721Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M28.1088%2013.4636V53.4284H37.8722V13.4636H28.1088Z'%20fill='%23FF8D2E'/%3e%3cpath%20d='M-17.1075%2060.4655L63.3734%2060.4655V53.2666L-17.1075%2053.2666V60.4655Z'%20fill='%23FF8D2E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1127_3886'%3e%3crect%20width='236'%20height='119.815'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", w = () => {
|
|
15
|
-
const
|
|
16
|
-
theme:
|
|
17
|
-
} =
|
|
18
|
-
return
|
|
19
|
-
var
|
|
20
|
-
const
|
|
21
|
-
neo:
|
|
22
|
-
one:
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
}, [
|
|
26
|
-
libraryUrl:
|
|
27
|
-
imageFullURL:
|
|
1
|
+
import { jsxs as o, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { useLibraryUrl as d, useEdificeTheme as m, Image as p } from "@edifice.io/react";
|
|
3
|
+
import { useTranslation as g } from "react-i18next";
|
|
4
|
+
import { odeServices as u } from "@edifice.io/client";
|
|
5
|
+
import { useState as b, useEffect as h } from "react";
|
|
6
|
+
const f = ({
|
|
7
|
+
title: r,
|
|
8
|
+
titleId: e,
|
|
9
|
+
...i
|
|
10
|
+
}) => /* @__PURE__ */ o("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": e, ...i, children: [
|
|
11
|
+
r ? /* @__PURE__ */ l("title", { id: e, children: r }) : null,
|
|
12
|
+
/* @__PURE__ */ l("path", { fill: "currentColor", fillRule: "evenodd", d: "M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1", clipRule: "evenodd" }),
|
|
13
|
+
/* @__PURE__ */ l("path", { fill: "currentColor", fillRule: "evenodd", d: "M11.293 4.293a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1 0 1.414l-7 7a1 1 0 0 1-1.414-1.414L17.586 12l-6.293-6.293a1 1 0 0 1 0-1.414", clipRule: "evenodd" })
|
|
14
|
+
] }), y = () => {
|
|
15
|
+
const r = d(), {
|
|
16
|
+
theme: e
|
|
17
|
+
} = m(), [i, a] = b("");
|
|
18
|
+
return h(() => {
|
|
19
|
+
var n, t;
|
|
20
|
+
const s = {
|
|
21
|
+
neo: "/explorer/public/img/image-library-neo.svg",
|
|
22
|
+
one: "/explorer/public/img/image-library-one.svg"
|
|
23
|
+
}, c = ((t = (n = e == null ? void 0 : e.bootstrapVersion) == null ? void 0 : n.toString()) == null ? void 0 : t.toLowerCase()) || "neo";
|
|
24
|
+
a(s[c] || "/explorer/public/img/image-library.svg");
|
|
25
|
+
}, [e]), {
|
|
26
|
+
libraryUrl: r,
|
|
27
|
+
imageFullURL: i,
|
|
28
28
|
handleClick: () => {
|
|
29
|
-
|
|
29
|
+
r && (window.open(r, "_blank"), u.data().trackAccessLibraryFromExplorer());
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
},
|
|
32
|
+
}, k = () => {
|
|
33
33
|
const {
|
|
34
|
-
libraryUrl:
|
|
35
|
-
imageFullURL:
|
|
36
|
-
handleClick:
|
|
37
|
-
} =
|
|
38
|
-
t:
|
|
39
|
-
} =
|
|
40
|
-
return
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
34
|
+
libraryUrl: r,
|
|
35
|
+
imageFullURL: e,
|
|
36
|
+
handleClick: i
|
|
37
|
+
} = y(), {
|
|
38
|
+
t: a
|
|
39
|
+
} = g();
|
|
40
|
+
return r && /* @__PURE__ */ o("div", { className: "p-16", children: [
|
|
41
|
+
/* @__PURE__ */ l(p, { width: "270", height: "140", loading: "lazy", className: "rounded", src: e, alt: a("explorer.libray.img.alt") }),
|
|
42
|
+
/* @__PURE__ */ l("p", { className: "m-8", children: a("explorer.libray.title") }),
|
|
43
|
+
/* @__PURE__ */ o("button", { type: "button", onClick: i, rel: "noreferrer", className: "btn btn-ghost-primary d-inline-flex align-items-center gap-4 p-8", children: [
|
|
44
|
+
/* @__PURE__ */ l("span", { children: a("explorer.libray.btn") }),
|
|
45
|
+
/* @__PURE__ */ l(f, {})
|
|
46
46
|
] })
|
|
47
47
|
] });
|
|
48
48
|
};
|
|
49
49
|
export {
|
|
50
|
-
|
|
50
|
+
k as default
|
|
51
51
|
};
|
package/package.json
CHANGED
package/dist/image-library.svg
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<svg width="236" height="120" viewBox="0 0 236 120" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<g clip-path="url(#clip0_1127_3886)">
|
|
3
|
-
<path d="M236.02 0.0825195H-0.0891113V119.789H236.02V0.0825195Z" fill="#B9E3F8"/>
|
|
4
|
-
<path d="M236.02 0.0825195H-0.0891113V119.789H236.02V0.0825195Z" fill="#2A9CC8" fill-opacity="0.2"/>
|
|
5
|
-
<path d="M216.156 55.0721C206.627 54.983 197.682 51.2235 190.965 44.4901C184.248 37.7501 180.548 28.8118 180.548 19.3223V-11.2224H149.386V19.7679H149.393C149.634 56.2109 179.241 85.7191 215.866 86.0591V86.069C215.978 86.069 216.09 86.0657 216.202 86.0657C216.305 86.0657 216.404 86.069 216.506 86.069V86.0624C253.127 85.7224 282.738 56.2109 282.979 19.7712H282.985V-11.2224H251.824V19.319C251.824 28.8085 248.123 37.7468 241.407 44.4868C234.69 51.2235 225.745 54.983 216.216 55.0721H216.212H216.159H216.156Z" fill="#46AFE6" fill-opacity="0.2"/>
|
|
6
|
-
<path d="M15.8433 45.2856C-25.9006 45.2856 -59.7427 79.1244 -59.7427 120.872H91.4326C91.4326 79.1277 57.5906 45.2856 15.8466 45.2856" fill="#46AFE6" fill-opacity="0.2"/>
|
|
7
|
-
<path d="M109.897 111.442H44.9819V119.799H109.897V111.442Z" fill="#FF8D2E"/>
|
|
8
|
-
<path d="M181.855 111.442H116.94V119.799H181.855V111.442Z" fill="#FF8D2E"/>
|
|
9
|
-
<path d="M116.944 111.442H109.824V119.799H116.944V111.442Z" fill="#DA6A0B"/>
|
|
10
|
-
<path d="M131.454 30.3103C133.464 30.3103 135.094 28.6804 135.094 26.6697C135.094 24.659 133.464 23.029 131.454 23.029C129.443 23.029 127.813 24.659 127.813 26.6697C127.813 28.6804 129.443 30.3103 131.454 30.3103Z" fill="white"/>
|
|
11
|
-
<path d="M142.244 34.5286L143.32 33.9114C144.584 33.1885 144.383 31.3071 142.993 30.8681L137.174 29.0197C136.203 28.7128 135.183 29.3366 135.018 30.34L134.071 36.0667C133.84 37.4563 135.329 38.4894 136.553 37.7897L138.431 36.7136C141.306 41.3676 142.821 46.7049 142.821 52.217C142.821 68.5093 129.566 81.7649 113.273 81.7649C96.9812 81.7649 83.7256 68.5093 83.7256 52.217C83.7256 35.9248 96.9812 22.6692 113.273 22.6692C116.577 22.6692 119.825 23.2105 122.918 24.2766C124.063 24.6727 125.314 24.0621 125.71 22.9167C126.107 21.7714 125.496 20.5204 124.351 20.1243C120.796 18.8965 117.069 18.2759 113.273 18.2759C94.5585 18.2759 79.3323 33.5021 79.3323 52.217C79.3323 70.932 94.5585 86.1581 113.273 86.1581C131.988 86.1581 147.215 70.932 147.215 52.217C147.215 45.9358 145.498 39.846 142.244 34.5286Z" fill="white"/>
|
|
12
|
-
<path d="M110.577 75.652C110.742 76.9954 111.857 78.0219 113.168 78.0714C114.554 78.1243 115.795 77.0746 115.97 75.652H110.573H110.577Z" fill="white"/>
|
|
13
|
-
<path d="M106.342 68.1825H119.947C119.947 67.3672 119.997 66.552 120.086 65.7433H106.342V68.1825Z" fill="white"/>
|
|
14
|
-
<path d="M106.342 71.5394C106.342 73.3581 107.814 74.8302 109.633 74.8302H116.726C118.502 74.8302 119.944 73.3878 119.944 71.612V70.5228H106.339V71.5394H106.342Z" fill="white"/>
|
|
15
|
-
<path d="M127.813 45.3747C127.813 37.1427 121.04 30.4885 112.765 30.6866C104.863 30.8747 98.4664 37.4002 98.4268 45.3054C98.407 49.1969 99.9022 52.7385 102.358 55.3758C104.431 57.6071 105.731 60.4193 106.174 63.4064H120.462C121.159 60.1783 122.552 57.1219 124.628 54.511C126.621 52.0025 127.813 48.8305 127.813 45.378V45.3747ZM112.138 36.1294C111.389 36.2548 107.543 37.0536 105.309 40.6811C103.414 43.754 103.833 46.8567 104.104 48.0449C104.22 48.5598 103.896 49.0715 103.384 49.187C103.315 49.2035 103.243 49.2101 103.173 49.2101C102.738 49.2101 102.341 48.9097 102.242 48.4641C101.922 47.0448 101.421 43.348 103.685 39.6777C106.286 35.4561 110.577 34.4527 111.828 34.2447C112.349 34.1589 112.841 34.5121 112.927 35.0303C113.013 35.5518 112.659 36.0436 112.141 36.1294H112.138Z" fill="white"/>
|
|
16
|
-
<path d="M48.319 111.442L53.1611 96.7538L113.372 107.316L174.775 96.7538L179.027 111.442H48.319Z" fill="white"/>
|
|
17
|
-
<path d="M188.939 27.3397L176.634 66.0602L167.728 63.2315L180.033 24.5077L188.939 27.3397Z" fill="#2A9CC8"/>
|
|
18
|
-
<path d="M221.751 40.0243H221.853C236.264 40.0243 247.949 51.7451 247.949 66.2054C247.949 66.2054 232.683 66.2186 221.751 66.2219V40.0243Z" fill="#2A9CC8"/>
|
|
19
|
-
<path d="M220.5 26.257V66.2186H211.869V26.257H220.5Z" fill="#2A9CC8"/>
|
|
20
|
-
<path d="M209.311 26.0656L210.964 65.9942L200.947 66.4101L199.293 26.4815L209.311 26.0656Z" fill="#FF8D2E"/>
|
|
21
|
-
<path d="M198.699 26.257V66.2186H188.939V26.257H198.699Z" fill="#5AC235"/>
|
|
22
|
-
<path d="M247.945 65.5288H167.464V72.7276H247.945V65.5288Z" fill="#FF8D2E"/>
|
|
23
|
-
<path d="M37.8723 14.5462L50.174 53.2667L59.0826 50.438L46.7775 11.7142L37.8723 14.5462Z" fill="#2A9CC8"/>
|
|
24
|
-
<path d="M5.06002 27.2307H4.9577C-9.45316 27.2307 -21.1376 38.9515 -21.1376 53.4119C-21.1376 53.4119 -5.8719 53.4251 5.06002 53.4284V27.2307Z" fill="#2A9CC8"/>
|
|
25
|
-
<path d="M6.30762 13.4636V53.4284H14.9389V13.4636H6.30762Z" fill="#5AC235"/>
|
|
26
|
-
<path d="M17.497 13.2721L15.8433 53.204L25.8642 53.6165L27.5179 13.688L17.497 13.2721Z" fill="#2A9CC8"/>
|
|
27
|
-
<path d="M28.1088 13.4636V53.4284H37.8722V13.4636H28.1088Z" fill="#FF8D2E"/>
|
|
28
|
-
<path d="M-17.1075 60.4655L63.3734 60.4655V53.2666L-17.1075 53.2666V60.4655Z" fill="#FF8D2E"/>
|
|
29
|
-
</g>
|
|
30
|
-
<defs>
|
|
31
|
-
<clipPath id="clip0_1127_3886">
|
|
32
|
-
<rect width="236" height="119.815" fill="white"/>
|
|
33
|
-
</clipPath>
|
|
34
|
-
</defs>
|
|
35
|
-
</svg>
|