ode-explorer 1.0.2 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -247,4 +247,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
247
247
  *
248
248
  * This source code is licensed under the MIT license found in the
249
249
  * LICENSE file in the root directory of this source tree.
250
- */var h=reactExports,n=shimExports;function p(dt,lt){return dt===lt&&(dt!==0||1/dt===1/lt)||dt!==dt&&lt!==lt}var q=typeof Object.is=="function"?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;withSelector_production_min.useSyncExternalStoreWithSelector=function(dt,lt,ft,vt,Et){var St=t(null);if(St.current===null){var Rt={hasValue:!1,value:null};St.current=Rt}else Rt=St.current;St=v(function(){function At(Dt){if(!kt){if(kt=!0,Nt=Dt,Dt=vt(Dt),Et!==void 0&&Rt.hasValue){var Bt=Rt.value;if(Et(Bt,Dt))return Tt=Bt}return Tt=Dt}if(Bt=Tt,q(Nt,Dt))return Bt;var zt=vt(Dt);return Et!==void 0&&Et(Bt,zt)?Bt:(Nt=Dt,Tt=zt)}var kt=!1,Nt,Tt,Ft=ft===void 0?null:ft;return[function(){return At(lt())},Ft===null?void 0:function(){return At(Ft())}]},[lt,ft,vt,Et]);var Ct=r(dt,St[0],St[1]);return u(function(){Rt.hasValue=!0,Rt.value=Ct},[Ct]),w(Ct),Ct};withSelector.exports=withSelector_production_min;var withSelectorExports=withSelector.exports;const useSyncExternalStoreExports=getDefaultExportFromCjs$1(withSelectorExports),{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports;function useStore(dt,lt=dt.getState,ft){const vt=useSyncExternalStoreWithSelector(dt.subscribe,dt.getState,dt.getServerState||dt.getState,lt,ft);return reactExports.useDebugValue(vt),vt}const createImpl=dt=>{({VITE_XSRF_TOKEN:"a49c250f-aa6f-4050-b272-6d7d382b7782",VITE_ONE_SESSION_ID:"d32676b2-be77-4c99-80c0-aa5d4adeccdf:Kz6N/LdCd0lOWwMJ6I1FUPq26yI=",VITE_LOCALHOST:"http://localhost:8090",VITE_RECETTE:"https://recette-ha.opendigitaleducation.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}&&"production")!=="production"&&typeof dt!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const lt=typeof dt=="function"?createStore(dt):dt,ft=(vt,Et)=>useStore(lt,vt,Et);return Object.assign(ft,lt),ft},create=dt=>dt?createImpl(dt):createImpl;function getAncestors(dt,lt){var vt;const ft=findNodeById(dt,lt);return(vt=ft==null?void 0:ft.folder)!=null&&vt.ancestors?[...(ft==null?void 0:ft.folder.ancestors)||[],dt]:dt===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function hasChildren(dt,lt){return lt.id===dt&&lt.children?lt.children.length>0:lt.children?lt.children.some(ft=>hasChildren(lt.id,ft)):!1}const{app,types,filters,orders}=getAppParams(),useStoreContext=create()((dt,lt)=>({filters,orders,searchParams:{app,types,filters:{folder:"default"},orders:{updatedAt:"desc"},pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:{id:FOLDER.DEFAULT,name:"Mes blogs",section:!0,children:[]},selectedNodesIds:["default"],currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceActionDisable:!1,updaters:{setTreeData:ft=>dt(()=>({treeData:ft})),setSearchParams:ft=>dt(()=>({searchParams:ft})),setSelectedFolders:ft=>dt(()=>({selectedFolders:ft})),setSelectedResources:ft=>dt(()=>({selectedResources:ft})),setFolderIds:ft=>dt(()=>({folderIds:ft})),setResourceIds:ft=>dt(()=>({resourceIds:ft})),setResourceIsTrash:ft=>dt(()=>({resourceIsTrash:ft})),setResourceActionDisable:ft=>dt(()=>({resourceActionDisable:ft})),setCurrentFolder:ft=>dt(()=>({currentFolder:ft})),clearSelectedItems:()=>dt(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>dt(()=>({resourceIds:[],folderIds:[]})),openResource:ft=>{try{const{searchParams:vt}=lt();goToResource({searchParams:vt,assetId:ft.assetId})}catch(vt){console.error("explorer open failed: ",vt)}},createResource:()=>{try{const{searchParams:ft,currentFolder:vt}=lt(),Et=parseInt((vt==null?void 0:vt.id)||"default"),St=isNaN(Et)?void 0:Et;createResource({searchParams:ft,safeFolderId:St})}catch(ft){console.error("explorer create failed: ",ft)}},printSelectedResource:()=>{try{const{searchParams:ft,selectedResources:vt,resourceIds:Et}=lt();if(vt.length!==1)throw new Error("Cannot open more than 1 resource");const St=vt.find(Rt=>Rt.id===Et[0]);printResource({searchParams:ft,assetId:St.assetId})}catch(ft){console.error("explorer print failed: ",ft)}},publishApi:async(ft,vt)=>{const{searchParams:Et}=lt();return await publishResource({searchParams:Et,params:vt})},openFolder:({folderId:ft,folder:vt})=>{const{searchParams:Et,treeData:St}=lt(),Rt=Et.filters.folder,Ct=getAncestors(ft,St),At=arrayUnique([...Ct,ft]);Rt!==ft&&dt(kt=>({...kt,folderIds:[],resourceIds:[],selectedNodesIds:At,currentFolder:vt||{id:ft},searchParams:{...Et,filters:{...Et.filters,folder:ft},trashed:ft===FOLDER.BIN}}))},foldTreeItem:()=>dt(ft=>({...ft,status:"fold"})),unfoldTreeItem:async(ft,vt)=>{const{treeData:Et,searchParams:St}=lt();if(dt(Rt=>({...Rt,status:"unfold"})),!hasChildren(ft,Et)){await vt.prefetchInfiniteQuery({queryKey:["prefetchContext",{folderId:ft,trashed:!1}],queryFn:async()=>await searchContext({...St,filters:{...St.filters,folder:ft}})});const Rt=vt.getQueryData(["prefetchContext",{folderId:ft,trashed:!1}]);dt(Ct=>{var At;return{...Ct,treeData:wrapTreeNode(Et,(At=Rt==null?void 0:Rt.pages[0])==null?void 0:At.folders,ft||FOLDER.DEFAULT)}})}},selectTreeItem:ft=>{const{treeData:vt}=lt(),{openFolder:Et}=lt().updaters,St=findNodeById(ft,vt);useScrollToTop()(),dt(Ct=>({...Ct,selectedResources:[]})),Et({folder:St,folderId:ft})},gotoPreviousFolder:()=>{const{selectedNodesIds:ft,treeData:vt}=lt(),{openFolder:Et}=lt().updaters,St=ft.length;if(St<2)return;const Rt=findNodeById(ft[St-2],vt);Et({folder:Rt,folderId:(Rt==null?void 0:Rt.id)||FOLDER.DEFAULT})},goToTrash:()=>dt(ft=>({...ft,selectedNodesIds:[],selectedResources:[],resourceIds:[],folderIds:[],searchParams:{...ft.searchParams,filters:{folder:FOLDER.BIN},trashed:!0},currentFolder:{id:FOLDER.BIN}}))}})),useSearchParams=()=>useStoreContext(dt=>dt.searchParams),useSelectedNodesIds=()=>useStoreContext(dt=>dt.selectedNodesIds),useTreeData=()=>useStoreContext(dt=>dt.treeData),useSelectedFolders=()=>useStoreContext(dt=>dt.selectedFolders),useSelectedResources=()=>useStoreContext(dt=>dt.selectedResources),useFolderIds=()=>useStoreContext(dt=>dt.folderIds),useResourceIds=()=>useStoreContext(dt=>dt.resourceIds),useCurrentFolder=()=>useStoreContext(dt=>dt.currentFolder),useStoreActions=()=>useStoreContext(dt=>dt.updaters),useIsTrash=()=>{const dt=useCurrentFolder();return(dt==null?void 0:dt.id)===FOLDER.BIN},useResourceIsTrash=()=>useStoreContext(dt=>dt.resourceIsTrash),useResourceActionDisable=()=>useStoreContext(dt=>dt.resourceActionDisable),useIsRoot=()=>{const dt=useCurrentFolder();return(dt==null?void 0:dt.id)==="default"},useHasSelectedNodes=()=>useSelectedNodesIds().length>1,{actions}=getAppParams(),useActions=()=>useQuery({queryKey:["actions"],queryFn:async()=>{const dt=actions.map(ft=>ft.workflow);return await sessionHasWorkflowRights(dt)},select:dt=>actions.map(lt=>({...lt,available:dt[lt.workflow]}))}),useSearchContext=()=>{const{appCode:dt}=useOdeClient(),{t:lt}=useTranslation(),ft=useQueryClient(),vt=useSearchParams(),Et=useCurrentFolder(),St=useTreeData(),{setTreeData:Rt,setSearchParams:Ct}=useStoreActions(),At=["context",{folderId:vt.filters.folder,trashed:vt.trashed}];return useInfiniteQuery({queryKey:At,queryFn:async({pageParam:kt=0})=>await searchContext({...vt,pagination:{...vt.pagination,startIdx:kt}}),onSuccess:async kt=>{var Tt,Ft;await ft.cancelQueries({queryKey:At});const Nt=(Tt=kt==null?void 0:kt.pages[0])==null?void 0:Tt.folders;(Et==null?void 0:Et.id)==="default"?Rt({id:FOLDER.DEFAULT,section:!0,children:Nt.map(Dt=>new TreeNodeFolderWrapper(Dt)),name:lt("explorer.filters.mine",{ns:dt})}):Rt(wrapTreeNode(St,Nt,vt.filters.folder||FOLDER.DEFAULT)),Ct({...vt,pagination:(Ft=kt==null?void 0:kt.pages[(kt==null?void 0:kt.pages.length)-1])==null?void 0:Ft.pagination})},getNextPageParam:kt=>kt.pagination.startIdx+kt.pagination.pageSize})},useTrash=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),vt=useFolderIds(),Et=useResourceIds(),{clearSelectedItems:St,clearSelectedIds:Rt,setTreeData:Ct,setSearchParams:At}=useStoreActions(),kt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async()=>await trashAll({searchParams:lt,folderIds:vt,resourceIds:Et}),onSuccess:async Nt=>{if(await dt.cancelQueries({queryKey:kt}),dt.getQueryData(kt))return dt.setQueryData(kt,Ft=>{var Dt;if(Ft){const Bt={...Ft,pages:Ft==null?void 0:Ft.pages.map(rr=>{var Ht;return{...rr,folders:rr.folders.filter(Ut=>!vt.includes(Ut.id)),pagination:{...rr.pagination,maxIdx:((Ht=rr==null?void 0:rr.pagination)==null?void 0:Ht.maxIdx)-Nt.resources.length},resources:rr.resources.filter(Ut=>!Et.includes(Ut.id))}})},zt=deleteNode(ft,{folders:vt});return Ct(zt),At({...lt,pagination:{...lt.pagination,maxIdx:((Dt=lt.pagination)==null?void 0:Dt.maxIdx)-Nt.resources.length}}),Bt}})},onSettled:()=>{St(),Rt()}})},useRestore=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useFolderIds(),vt=useResourceIds(),{setFolderIds:Et,setResourceIds:St,setSelectedResources:Rt,setSelectedFolders:Ct}=useStoreActions(),At=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async()=>await restoreAll({searchParams:lt,folderIds:ft,resourceIds:vt}),onSuccess:async()=>{if(await dt.cancelQueries({queryKey:At}),dt.getQueryData(At))return dt.setQueryData(At,Nt=>{if(Nt)return{...Nt,pages:Nt==null?void 0:Nt.pages.map(Tt=>({...Tt,folders:Tt.folders.filter(Ft=>!ft.includes(Ft.id)),resources:Tt.resources.filter(Ft=>!vt.includes(Ft.id))}))}})},onSettled:()=>{St([]),Rt([]),Et([]),Ct([])}})},useDelete=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useFolderIds(),vt=useResourceIds(),{clearSelectedItems:Et,clearSelectedIds:St}=useStoreActions(),Rt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async()=>await deleteAll({searchParams:lt,folderIds:ft,resourceIds:vt}),onSuccess:async()=>{if(await dt.cancelQueries({queryKey:Rt}),dt.getQueryData(Rt))return dt.setQueryData(Rt,At=>{if(At)return{...At,pages:At==null?void 0:At.pages.map(Nt=>({...Nt,folders:Nt.folders.filter(Tt=>!ft.includes(Tt.id)),resources:Nt.resources.filter(Tt=>!vt.includes(Tt.id))}))}})},onSettled:()=>{Et(),St()}})},useMoveItem=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),vt=useFolderIds(),Et=useResourceIds(),{clearSelectedIds:St,clearSelectedItems:Rt,setTreeData:Ct,setSearchParams:At}=useStoreActions(),kt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async Nt=>await moveToFolder({searchParams:lt,folderId:Nt,folderIds:vt,resourceIds:Et}),onSuccess:async(Nt,Tt)=>{if(dt.getQueryData(kt))return dt.setQueryData(kt,Dt=>{var Bt;if(Dt){const zt=moveNode(ft,{destinationId:Tt,folders:vt}),rr={...Dt,pages:Dt==null?void 0:Dt.pages.map(Ht=>{var Ut;return{...Ht,folders:Ht.folders.filter(Wt=>!vt.includes(Wt.id)),pagination:{...Ht.pagination,maxIdx:((Ut=Ht.pagination)==null?void 0:Ut.maxIdx)-Nt.resources.length},resources:Ht.resources.filter(Wt=>!Et.includes(Wt.id))}})};return Ct(zt),At({...lt,pagination:{...lt.pagination,maxIdx:((Bt=lt.pagination)==null?void 0:Bt.maxIdx)-Nt.resources.length}}),rr}})},onSettled:()=>{Rt(),St()}})},useCreateFolder=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),{setTreeData:vt}=useStoreActions(),Et=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async({name:St,parentId:Rt})=>await createFolder({searchParams:lt,name:St,parentId:Rt}),onSuccess:async(St,Rt)=>{await dt.cancelQueries({queryKey:Et});const Ct=dt.getQueryData(Et),At={...St,parentId:Rt.parentId,children:[],rights:[`creator:${St==null?void 0:St.creator_id}`]};if(Ct)return dt.setQueryData(Et,kt=>{if(kt){const Nt={...kt,pages:kt==null?void 0:kt.pages.map(Ft=>({...Ft,folders:[...Ft.folders,At]}))},Tt=addNode(ft,{parentId:Rt.parentId,newFolder:At});return vt(Tt),Nt}})},onSettled:async()=>await dt.cancelQueries({queryKey:Et})})},useUpdatefolder=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),{setFolderIds:vt,setSelectedFolders:Et,setTreeData:St}=useStoreActions(),Rt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async({folderId:Ct,name:At,parentId:kt})=>await updateFolder({searchParams:lt,folderId:Ct,parentId:kt,name:At}),onSuccess:async(Ct,At)=>{if(await dt.cancelQueries({queryKey:Rt}),dt.getQueryData(Rt))return dt.setQueryData(Rt,Nt=>{if(Nt){const Tt={...Nt,pages:Nt==null?void 0:Nt.pages.map(Dt=>({...Dt,folders:Dt.folders.map(Bt=>Bt.id===Ct.id?{...Ct,parentId:At.parentId,rights:Bt.rights}:Bt)}))},Ft=updateNode(ft,{folderId:At.folderId,newFolder:Ct});return St(Ft),Tt}})},onSettled:()=>{vt([]),Et([])}})},useShareResource=()=>{const dt=useQueryClient(),lt=useSearchParams(),{setResourceIds:ft,setSelectedResources:vt}=useStoreActions(),Et=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async({entId:St,shares:Rt})=>await shareResource({searchParams:lt,entId:St,shares:Rt}),onSuccess:async(St,Rt)=>{if(await dt.cancelQueries({queryKey:Et}),dt.getQueryData(Et))return dt.setQueryData(Et,At=>{if(At)return{...At,pages:At==null?void 0:At.pages.map(kt=>({...kt,resources:kt.resources.map(Nt=>{if(Nt.assetId===(Rt==null?void 0:Rt.entId)){let Tt=[`creator:${Nt.creatorId}`];return(Rt==null?void 0:Rt.shares.length)>=1&&(Tt=[...Tt,...Rt.shares.flatMap(Ft=>Ft.actions.map(Dt=>`${Ft.type}:${Ft.id}:${Dt.id}`))]),{...Nt,rights:Tt}}else return Nt})}))}})},onSettled:()=>{ft([]),vt([])}})},useUpdateResource=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async vt=>await updateResource({searchParams:lt,params:vt}),onSuccess:async(vt,Et)=>{if(await dt.cancelQueries({queryKey:ft}),dt.getQueryData(ft))return dt.setQueryData(ft,Rt=>{if(Rt)return{...Rt,pages:Rt==null?void 0:Rt.pages.map(Ct=>({...Ct,resources:Ct.resources.map(At=>{if(At.assetId===(Et==null?void 0:Et.entId)){const{name:kt,thumbnail:Nt,public:Tt,description:Ft,slug:Dt,...Bt}=Et;return{...At,...Bt,name:kt,thumbnail:Nt,public:Tt,description:Ft,slug:Dt}}else return At})}))}})}})},{trashActions}=getAppParams();function useActionBar(){const[dt,lt]=reactExports.useState(!1),[ft,vt]=reactExports.useState("void"),[Et,St]=reactExports.useState(),{t:Rt}=useTranslation(),{hotToast:Ct}=useHotToast(Alert$1),At=useCurrentFolder(),kt=useResourceIds(),Nt=useSelectedResources(),Tt=useSelectedFolders(),Ft=useFolderIds(),Dt=useIsTrash(),Bt=useRestore(),zt=useResourceIsTrash(),{openResource:rr,createResource:Ht,printSelectedResource:Ut,openFolder:Wt,clearSelectedItems:Zt,clearSelectedIds:ir}=useStoreActions(),{data:sr}=useActions();reactExports.useEffect(()=>{if(kt.length===0&&Ft.length===0){lt(!1);return}if(zt){lt(!1);return}lt(!0)},[kt,Ft]);async function lr(Rr){var Or;switch((Or=document.getElementById("root"))==null||Or.setAttribute("aria-hidden","true"),St(Rr),Rr.id){case ACTION.OPEN:return kt.length>0?rr(Nt[0]):Wt({folder:Tt[0],folderId:Tt[0].id});case ACTION.CREATE:return Ht();case ACTION.MOVE:return vt("move");case ACTION.PRINT:return Ut();case ACTION.DELETE:return vt("delete");case ACTION.RESTORE:return await pr();case ACTION.PUBLISH:return vt("publish");case ACTION.UPD_PROPS:case"edit":return _r();case ACTION.SHARE:return vt("share");default:throw Error(`Unknown action: ${Rr.id}`)}}function cr(Rr){const Or=kt.length+Ft.length,Cr=kt.length===1||Ft.length===1,Tr=Or===1,Pr=Ft.length===0;switch(Rr.id){case ACTION.OPEN:return Tr;case ACTION.MANAGE:return Cr;case ACTION.PUBLISH:return Cr&&Pr;case ACTION.UPD_PROPS:return Cr&&Pr;case ACTION.SHARE:return Pr&&Cr;case ACTION.PRINT:return Cr&&Pr;case"edit":return Tr;default:return!0}}function gr(){return!0}async function pr(){try{if(Dt)await Bt.mutate(),Ct.success(Rt("explorer.trash.toast"));else throw new Error("Cannot restore untrashed resources");Sr()}catch(Rr){console.error(Rr)}}function Sr(){var Rr;vt("void"),Et!=null&&Et.id&&((Rr=document.getElementById(Et==null?void 0:Et.id))==null||Rr.focus())}const Er=Rr=>()=>{ft===Rr&&(Sr(),Zt(),ir())},yr=Er("move"),Kt=Er("move"),nr=Er("delete"),hr=Er("delete"),dr=Er("publish"),ar=Er("publish"),ur=Er("edit_folder"),mr=Er("edit_folder"),br=Er("edit_resource"),wr=Er("edit_resource"),Ar=Er("share"),jr=Er("share");function _r(){kt&&kt.length>0?vt("edit_resource"):vt("edit_folder")}function kr(Rr){return Rr.id==="edit"&&Ft.length>0?"explorer.rename":`explorer.actions.${Rr.id}`}return{onRestore:pr,actions:Dt?trashActions:sr,selectedElement:[...Nt,...Tt],currentFolderId:At==null?void 0:At.id,overrideLabel:kr,handleClick:lr,isActivable:Dt?gr:cr,isActionBarOpen:dt,isMoveModalOpen:ft==="move",onMoveCancel:yr,onMoveSuccess:Kt,isDeleteModalOpen:ft==="delete",onDeleteCancel:hr,onDeleteSuccess:nr,isPublishModalOpen:ft==="publish",onPublishCancel:ar,onPublishSuccess:dr,isEditFolderOpen:ft==="edit_folder",onEditFolderCancel:mr,onEditFolderSuccess:ur,isEditResourceOpen:ft==="edit_resource",onEditResourceCancel:wr,onEditResourceSuccess:br,isShareResourceOpen:ft==="share",onShareResourceCancel:jr,onShareResourceSuccess:Ar,onClearActionBar:Sr}}function useAccessControl({roles:dt,rights:lt,action:ft}){const[vt,Et]=reactExports.useState(!1),{user:St}=useUser(),Rt=useIsTrash();reactExports.useEffect(()=>{kt()},[dt,lt]);const Ct=async function(Nt){const Tt=Nt instanceof Array?Nt:[Nt];if(dt instanceof Array){const Ft=await odeServices.rights().sessionHasAtLeastOneResourceRight(dt,Tt);Et(Ft)}else{const Ft=await odeServices.rights().sessionHasResourceRight(dt,Tt);Et(Ft)}},At=async function(Nt){if(dt instanceof Array){const Tt=await odeServices.rights().sessionHasAtLeastOneResourceRightForEachList(dt,Nt);Et(Tt)}else{const Tt=await odeServices.rights().sessionHasResourceRightForEachList(dt,Nt);Et(Tt)}},kt=async function(){var Nt,Tt,Ft;if(dt===void 0){Et(!0);return}if(Rt&&((Tt=(Nt=lt[0])==null?void 0:Nt.trashedBy)!=null&&Tt.includes(St==null?void 0:St.userId))&&ft==="restore"&&!((Ft=lt[0])!=null&&Ft.trashed)){Et(!0);return}if(lt instanceof Array)if(lt.length>0)if(typeof lt[0]=="string")await Ct(lt);else{const Dt=lt.map(Bt=>Bt.rights);await At(Dt)}else Et(!1);else typeof lt=="string"?await Ct(lt):await Ct(lt.rights)};return{visible:vt,refreshState:kt}}function AccessControl({resourceRights:dt,roleExpected:lt,action:ft,children:vt,renderWhenForbidden:Et}){const{t:St}=useTranslation(),{overrideLabel:Rt}=useActionBar(),{visible:Ct}=useAccessControl({roles:lt,rights:dt,action:ft==null?void 0:ft.id}),{setResourceActionDisable:At}=useStoreActions(),kt=useIsTrash();return Ct?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:vt}):Et?Et():kt&&!Ct?jsxRuntimeExports.jsx(Button$1,{type:"button",color:"primary",variant:"filled",onClick:()=>{At(!0)},children:St(Rt(ft))}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})}const ShareResourceModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./ShareResourceModal.js"),["ShareResourceModal.js","SelectList.js","Tooltip.js","usePopper.js"])),DeleteModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./DeleteModal.js"),[])),MoveModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./MoveModal.js"),[])),EditFolderModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),EditResourceModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./EditResourceModal.js"),["EditResourceModal.js","ImagePicker.js","index.esm.js"])),PublishModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./PublishModal.js"),["PublishModal.js","usePopper.js","SelectList.js","ImagePicker.js","index.esm.js"]));function ActionBarContainer(){const{t:dt}=useTranslation(),{actions:lt,selectedElement:ft,isMoveModalOpen:vt,isDeleteModalOpen:Et,isPublishModalOpen:St,isActionBarOpen:Rt,isEditFolderOpen:Ct,overrideLabel:At,onEditFolderCancel:kt,onEditFolderSuccess:Nt,isEditResourceOpen:Tt,onEditResourceCancel:Ft,onEditResourceSuccess:Dt,isShareResourceOpen:Bt,onShareResourceCancel:zt,onShareResourceSuccess:rr,onMoveCancel:Ht,onMoveSuccess:Ut,onDeleteCancel:Wt,onDeleteSuccess:Zt,onPublishCancel:ir,onPublishSuccess:sr,isActivable:lr,handleClick:cr}=useActionBar(),gr=Gt(Rt,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[gr((pr,Sr)=>Sr&&jsxRuntimeExports.jsx(it$1.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:pr,children:jsxRuntimeExports.jsx(ActionBar$1,{children:lt==null?void 0:lt.filter(Er=>Er.available&&Er.target==="actionbar").map(Er=>lr(Er)&&jsxRuntimeExports.jsx(AccessControl,{resourceRights:ft,roleExpected:Er.right,action:Er,children:jsxRuntimeExports.jsx(Button$1,{id:Er.id,type:"button",color:"primary",variant:"filled",onClick:()=>{cr(Er)},children:dt(At(Er))},Er.id)},Er.id))})})),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:[vt&&jsxRuntimeExports.jsx(MoveModal,{isOpen:vt,onCancel:Ht,onSuccess:Ut}),Et&&jsxRuntimeExports.jsx(DeleteModal,{isOpen:Et,onCancel:Wt,onSuccess:Zt}),St&&jsxRuntimeExports.jsx(PublishModal,{isOpen:St,onCancel:ir,onSuccess:sr}),Ct&&jsxRuntimeExports.jsx(EditFolderModal,{edit:!0,isOpen:Ct,onCancel:kt,onSuccess:Nt}),Tt&&jsxRuntimeExports.jsx(EditResourceModal,{edit:!0,isOpen:Tt,onCancel:Ft,onSuccess:Dt}),Bt&&jsxRuntimeExports.jsx(ShareResourceModal,{isOpen:Bt,onCancel:zt,onSuccess:rr})]})]})}const AppHeader=({children:dt})=>jsxRuntimeExports.jsx("div",{className:"d-flex justify-content-between p-16 mx-n16 border-bottom",children:dt}),EmptyScreenApp=reactExports.lazy(async()=>await __vitePreload(()=>import("./EmptyScreenApp.js"),["EmptyScreenApp.js","EmptyScreen.js"])),EmptyScreenNoContentInFolder=reactExports.lazy(async()=>await __vitePreload(()=>import("./EmptyScreenNoContentInFolder.js"),["EmptyScreenNoContentInFolder.js","EmptyScreen.js"])),EmptyScreenTrash=reactExports.lazy(async()=>await __vitePreload(()=>import("./EmptyScreenTrash.js"),["EmptyScreenTrash.js","EmptyScreen.js"])),FoldersList=reactExports.lazy(async()=>await __vitePreload(()=>import("./FoldersList.js"),["FoldersList.js","Card.js","Tooltip.js","usePopper.js"])),ResourcesList=reactExports.lazy(async()=>await __vitePreload(()=>import("./ResourcesList.js"),["ResourcesList.js","Card.js","Tooltip.js","usePopper.js"])),List=()=>{const dt=useIsRoot(),lt=useIsTrash(),ft=useHasSelectedNodes(),{data:vt,isLoading:Et}=useSearchContext(),St=(vt==null?void 0:vt.pages[0].folders.length)===0,Rt=(vt==null?void 0:vt.pages[0].resources.length)===0,Ct=St&&Rt;return jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:[!Ct&&!Et&&jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:[jsxRuntimeExports.jsx(FoldersList,{}),jsxRuntimeExports.jsx(ResourcesList,{})]}),dt&&Ct&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(EmptyScreenApp,{})}),ft&&Ct&&!lt&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(EmptyScreenNoContentInFolder,{})}),lt&&(vt==null?void 0:vt.pages[0].resources.length)===0&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(EmptyScreenTrash,{})})]})};var dayjs_min={exports:{}},hasRequiredDayjs_min;function requireDayjs_min(){return hasRequiredDayjs_min||(hasRequiredDayjs_min=1,function(dt,lt){(function(ft,vt){dt.exports=vt()})(commonjsGlobal,function(){var ft=1e3,vt=6e4,Et=36e5,St="millisecond",Rt="second",Ct="minute",At="hour",kt="day",Nt="week",Tt="month",Ft="quarter",Dt="year",Bt="date",zt="Invalid Date",rr=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Ht=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Ut={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(yr){var Kt=["th","st","nd","rd"],nr=yr%100;return"["+yr+(Kt[(nr-20)%10]||Kt[nr]||Kt[0])+"]"}},Wt=function(yr,Kt,nr){var hr=String(yr);return!hr||hr.length>=Kt?yr:""+Array(Kt+1-hr.length).join(nr)+yr},Zt={s:Wt,z:function(yr){var Kt=-yr.utcOffset(),nr=Math.abs(Kt),hr=Math.floor(nr/60),dr=nr%60;return(Kt<=0?"+":"-")+Wt(hr,2,"0")+":"+Wt(dr,2,"0")},m:function yr(Kt,nr){if(Kt.date()<nr.date())return-yr(nr,Kt);var hr=12*(nr.year()-Kt.year())+(nr.month()-Kt.month()),dr=Kt.clone().add(hr,Tt),ar=nr-dr<0,ur=Kt.clone().add(hr+(ar?-1:1),Tt);return+(-(hr+(nr-dr)/(ar?dr-ur:ur-dr))||0)},a:function(yr){return yr<0?Math.ceil(yr)||0:Math.floor(yr)},p:function(yr){return{M:Tt,y:Dt,w:Nt,d:kt,D:Bt,h:At,m:Ct,s:Rt,ms:St,Q:Ft}[yr]||String(yr||"").toLowerCase().replace(/s$/,"")},u:function(yr){return yr===void 0}},ir="en",sr={};sr[ir]=Ut;var lr=function(yr){return yr instanceof Sr},cr=function yr(Kt,nr,hr){var dr;if(!Kt)return ir;if(typeof Kt=="string"){var ar=Kt.toLowerCase();sr[ar]&&(dr=ar),nr&&(sr[ar]=nr,dr=ar);var ur=Kt.split("-");if(!dr&&ur.length>1)return yr(ur[0])}else{var mr=Kt.name;sr[mr]=Kt,dr=mr}return!hr&&dr&&(ir=dr),dr||!hr&&ir},gr=function(yr,Kt){if(lr(yr))return yr.clone();var nr=typeof Kt=="object"?Kt:{};return nr.date=yr,nr.args=arguments,new Sr(nr)},pr=Zt;pr.l=cr,pr.i=lr,pr.w=function(yr,Kt){return gr(yr,{locale:Kt.$L,utc:Kt.$u,x:Kt.$x,$offset:Kt.$offset})};var Sr=function(){function yr(nr){this.$L=cr(nr.locale,null,!0),this.parse(nr)}var Kt=yr.prototype;return Kt.parse=function(nr){this.$d=function(hr){var dr=hr.date,ar=hr.utc;if(dr===null)return new Date(NaN);if(pr.u(dr))return new Date;if(dr instanceof Date)return new Date(dr);if(typeof dr=="string"&&!/Z$/i.test(dr)){var ur=dr.match(rr);if(ur){var mr=ur[2]-1||0,br=(ur[7]||"0").substring(0,3);return ar?new Date(Date.UTC(ur[1],mr,ur[3]||1,ur[4]||0,ur[5]||0,ur[6]||0,br)):new Date(ur[1],mr,ur[3]||1,ur[4]||0,ur[5]||0,ur[6]||0,br)}}return new Date(dr)}(nr),this.$x=nr.x||{},this.init()},Kt.init=function(){var nr=this.$d;this.$y=nr.getFullYear(),this.$M=nr.getMonth(),this.$D=nr.getDate(),this.$W=nr.getDay(),this.$H=nr.getHours(),this.$m=nr.getMinutes(),this.$s=nr.getSeconds(),this.$ms=nr.getMilliseconds()},Kt.$utils=function(){return pr},Kt.isValid=function(){return this.$d.toString()!==zt},Kt.isSame=function(nr,hr){var dr=gr(nr);return this.startOf(hr)<=dr&&dr<=this.endOf(hr)},Kt.isAfter=function(nr,hr){return gr(nr)<this.startOf(hr)},Kt.isBefore=function(nr,hr){return this.endOf(hr)<gr(nr)},Kt.$g=function(nr,hr,dr){return pr.u(nr)?this[hr]:this.set(dr,nr)},Kt.unix=function(){return Math.floor(this.valueOf()/1e3)},Kt.valueOf=function(){return this.$d.getTime()},Kt.startOf=function(nr,hr){var dr=this,ar=!!pr.u(hr)||hr,ur=pr.p(nr),mr=function(Or,Cr){var Tr=pr.w(dr.$u?Date.UTC(dr.$y,Cr,Or):new Date(dr.$y,Cr,Or),dr);return ar?Tr:Tr.endOf(kt)},br=function(Or,Cr){return pr.w(dr.toDate()[Or].apply(dr.toDate("s"),(ar?[0,0,0,0]:[23,59,59,999]).slice(Cr)),dr)},wr=this.$W,Ar=this.$M,jr=this.$D,_r="set"+(this.$u?"UTC":"");switch(ur){case Dt:return ar?mr(1,0):mr(31,11);case Tt:return ar?mr(1,Ar):mr(0,Ar+1);case Nt:var kr=this.$locale().weekStart||0,Rr=(wr<kr?wr+7:wr)-kr;return mr(ar?jr-Rr:jr+(6-Rr),Ar);case kt:case Bt:return br(_r+"Hours",0);case At:return br(_r+"Minutes",1);case Ct:return br(_r+"Seconds",2);case Rt:return br(_r+"Milliseconds",3);default:return this.clone()}},Kt.endOf=function(nr){return this.startOf(nr,!1)},Kt.$set=function(nr,hr){var dr,ar=pr.p(nr),ur="set"+(this.$u?"UTC":""),mr=(dr={},dr[kt]=ur+"Date",dr[Bt]=ur+"Date",dr[Tt]=ur+"Month",dr[Dt]=ur+"FullYear",dr[At]=ur+"Hours",dr[Ct]=ur+"Minutes",dr[Rt]=ur+"Seconds",dr[St]=ur+"Milliseconds",dr)[ar],br=ar===kt?this.$D+(hr-this.$W):hr;if(ar===Tt||ar===Dt){var wr=this.clone().set(Bt,1);wr.$d[mr](br),wr.init(),this.$d=wr.set(Bt,Math.min(this.$D,wr.daysInMonth())).$d}else mr&&this.$d[mr](br);return this.init(),this},Kt.set=function(nr,hr){return this.clone().$set(nr,hr)},Kt.get=function(nr){return this[pr.p(nr)]()},Kt.add=function(nr,hr){var dr,ar=this;nr=Number(nr);var ur=pr.p(hr),mr=function(Ar){var jr=gr(ar);return pr.w(jr.date(jr.date()+Math.round(Ar*nr)),ar)};if(ur===Tt)return this.set(Tt,this.$M+nr);if(ur===Dt)return this.set(Dt,this.$y+nr);if(ur===kt)return mr(1);if(ur===Nt)return mr(7);var br=(dr={},dr[Ct]=vt,dr[At]=Et,dr[Rt]=ft,dr)[ur]||1,wr=this.$d.getTime()+nr*br;return pr.w(wr,this)},Kt.subtract=function(nr,hr){return this.add(-1*nr,hr)},Kt.format=function(nr){var hr=this,dr=this.$locale();if(!this.isValid())return dr.invalidDate||zt;var ar=nr||"YYYY-MM-DDTHH:mm:ssZ",ur=pr.z(this),mr=this.$H,br=this.$m,wr=this.$M,Ar=dr.weekdays,jr=dr.months,_r=function(Cr,Tr,Pr,Nr){return Cr&&(Cr[Tr]||Cr(hr,ar))||Pr[Tr].slice(0,Nr)},kr=function(Cr){return pr.s(mr%12||12,Cr,"0")},Rr=dr.meridiem||function(Cr,Tr,Pr){var Nr=Cr<12?"AM":"PM";return Pr?Nr.toLowerCase():Nr},Or={YY:String(this.$y).slice(-2),YYYY:pr.s(this.$y,4,"0"),M:wr+1,MM:pr.s(wr+1,2,"0"),MMM:_r(dr.monthsShort,wr,jr,3),MMMM:_r(jr,wr),D:this.$D,DD:pr.s(this.$D,2,"0"),d:String(this.$W),dd:_r(dr.weekdaysMin,this.$W,Ar,2),ddd:_r(dr.weekdaysShort,this.$W,Ar,3),dddd:Ar[this.$W],H:String(mr),HH:pr.s(mr,2,"0"),h:kr(1),hh:kr(2),a:Rr(mr,br,!0),A:Rr(mr,br,!1),m:String(br),mm:pr.s(br,2,"0"),s:String(this.$s),ss:pr.s(this.$s,2,"0"),SSS:pr.s(this.$ms,3,"0"),Z:ur};return ar.replace(Ht,function(Cr,Tr){return Tr||Or[Cr]||ur.replace(":","")})},Kt.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Kt.diff=function(nr,hr,dr){var ar,ur=pr.p(hr),mr=gr(nr),br=(mr.utcOffset()-this.utcOffset())*vt,wr=this-mr,Ar=pr.m(this,mr);return Ar=(ar={},ar[Dt]=Ar/12,ar[Tt]=Ar,ar[Ft]=Ar/3,ar[Nt]=(wr-br)/6048e5,ar[kt]=(wr-br)/864e5,ar[At]=wr/Et,ar[Ct]=wr/vt,ar[Rt]=wr/ft,ar)[ur]||wr,dr?Ar:pr.a(Ar)},Kt.daysInMonth=function(){return this.endOf(Tt).$D},Kt.$locale=function(){return sr[this.$L]},Kt.locale=function(nr,hr){if(!nr)return this.$L;var dr=this.clone(),ar=cr(nr,hr,!0);return ar&&(dr.$L=ar),dr},Kt.clone=function(){return pr.w(this.$d,this)},Kt.toDate=function(){return new Date(this.valueOf())},Kt.toJSON=function(){return this.isValid()?this.toISOString():null},Kt.toISOString=function(){return this.$d.toISOString()},Kt.toString=function(){return this.$d.toUTCString()},yr}(),Er=Sr.prototype;return gr.prototype=Er,[["$ms",St],["$s",Rt],["$m",Ct],["$H",At],["$W",kt],["$M",Tt],["$y",Dt],["$D",Bt]].forEach(function(yr){Er[yr[1]]=function(Kt){return this.$g(Kt,yr[0],yr[1])}}),gr.extend=function(yr,Kt){return yr.$i||(yr(Kt,Sr,gr),yr.$i=!0),gr},gr.locale=cr,gr.isDayjs=lr,gr.unix=function(yr){return gr(1e3*yr)},gr.en=sr[ir],gr.Ls=sr,gr.p={},gr})}(dayjs_min)),dayjs_min.exports}var dayjs_minExports=requireDayjs_min();const dayjs=getDefaultExportFromCjs$1(dayjs_minExports);var relativeTime$1={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt()})(commonjsGlobal,function(){return function(ft,vt,Et){ft=ft||{};var St=vt.prototype,Rt={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Ct(kt,Nt,Tt,Ft){return St.fromToBase(kt,Nt,Tt,Ft)}Et.en.relativeTime=Rt,St.fromToBase=function(kt,Nt,Tt,Ft,Dt){for(var Bt,zt,rr,Ht=Tt.$locale().relativeTime||Rt,Ut=ft.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],Wt=Ut.length,Zt=0;Zt<Wt;Zt+=1){var ir=Ut[Zt];ir.d&&(Bt=Ft?Et(kt).diff(Tt,ir.d,!0):Tt.diff(kt,ir.d,!0));var sr=(ft.rounding||Math.round)(Math.abs(Bt));if(rr=Bt>0,sr<=ir.r||!ir.r){sr<=1&&Zt>0&&(ir=Ut[Zt-1]);var lr=Ht[ir.l];Dt&&(sr=Dt(""+sr)),zt=typeof lr=="string"?lr.replace("%d",sr):lr(sr,Nt,ir.l,rr);break}}if(Nt)return zt;var cr=rr?Ht.future:Ht.past;return typeof cr=="function"?cr(zt):cr.replace("%s",zt)},St.to=function(kt,Nt){return Ct(kt,Nt,this,!0)},St.from=function(kt,Nt){return Ct(kt,Nt,this)};var At=function(kt){return kt.$u?Et.utc():Et()};St.toNow=function(kt){return this.to(At(this),kt)},St.fromNow=function(kt){return this.from(At(this),kt)}}})})(relativeTime$1);var relativeTimeExports=relativeTime$1.exports;const relativeTime=getDefaultExportFromCjs$1(relativeTimeExports);var de={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(requireDayjs_min())})(commonjsGlobal,function(ft){function vt(At){return At&&typeof At=="object"&&"default"in At?At:{default:At}}var Et=vt(ft),St={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function Rt(At,kt,Nt){var Tt=St[Nt];return Array.isArray(Tt)&&(Tt=Tt[kt?0:1]),Tt.replace("%d",At)}var Ct={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(At){return At+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:Rt,m:Rt,mm:Rt,h:Rt,hh:Rt,d:Rt,dd:Rt,M:Rt,MM:Rt,y:Rt,yy:Rt}};return Et.default.locale(Ct,null,!0),Ct})})(de);var es={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(requireDayjs_min())})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(Rt){return Rt+"º"}};return Et.default.locale(St,null,!0),St})})(es);var pt={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(requireDayjs_min())})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"pt",weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sab".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sa".split("_"),months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(Rt){return Rt+"º"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},relativeTime:{future:"em %s",past:"há %s",s:"alguns segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"}};return Et.default.locale(St,null,!0),St})})(pt);var fr={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(requireDayjs_min())})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(Rt){return""+Rt+(Rt===1?"er":"")}};return Et.default.locale(St,null,!0),St})})(fr);var it={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(requireDayjs_min())})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"it",weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un' ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(Rt){return Rt+"º"}};return Et.default.locale(St,null,!0),St})})(it);dayjs.extend(relativeTime);function capitalizeFirstLetter(dt){return dt.charAt(0).toUpperCase()+dt.slice(1)}const useLibraryUrl=()=>{var Ct;const{user:dt}=useOdeClient(),lt=capitalizeFirstLetter(getAppParams().app),ft=(Ct=dt.apps.find(At=>At.isExternal&&At.address.includes("library")&&At.name.includes("library")))==null?void 0:Ct.address.split("?");let vt=ft==null?void 0:ft[0];vt!=null&&vt.endsWith("/")||(vt=`${vt}/`);const Et=ft==null?void 0:ft[1],St=`application%5B0%5D=${lt}&page=1&sort_field=views&sort_order=desc`;return{libraryUrl:`${vt}search/?${Et}&${St}`}};function ActionResourceDisableModal({isOpen:dt,onCancel:lt=()=>({})}){const{t:ft}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal$1,{isOpen:dt,onModalClose:lt,id:"trash_action_disable_resource",children:[jsxRuntimeExports.jsx(Modal$1.Header,{onModalClose:()=>lt(),children:ft("explorer.trash.action.modal.title")}),jsxRuntimeExports.jsx(Modal$1.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:ft("explorer.trash.action.modal.text")})}),jsxRuntimeExports.jsx(Modal$1.Footer,{children:jsxRuntimeExports.jsx(Button$1,{color:"primary",onClick:lt,type:"button",variant:"outline",children:ft("close")})})]}),document.getElementById("portal"))}const TrashButton=({id:dt,selected:lt,onSelect:ft})=>{const{t:vt}=useTranslation();return jsxRuntimeExports.jsx("div",{className:"treeview",children:jsxRuntimeExports.jsx("ul",{role:"tree",className:"m-0 p-0",children:jsxRuntimeExports.jsx("li",{id:dt,role:"treeitem","aria-selected":lt,children:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("div",{className:"action-container",children:jsxRuntimeExports.jsx("div",{onClick:ft,role:"button",tabIndex:0,children:jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[jsxRuntimeExports.jsx(SvgDelete$1,{width:"20",height:"20"}),jsxRuntimeExports.jsx("span",{children:vt("explorer.tree.trash")})]})})})})})})})},CreateModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),TreeViewContainer=()=>{const dt=useQueryClient(),{t:lt}=useTranslation(),[ft,vt]=useToggle(),Et=useTreeData(),St=useIsTrash(),Rt=useSelectedNodesIds(),{goToTrash:Ct,selectTreeItem:At,unfoldTreeItem:kt,foldTreeItem:Nt}=useStoreActions(),Tt=async Ft=>{await kt(Ft,dt)};return Et?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(TreeView$1,{data:Et,selectedNodesIds:Rt,onTreeItemSelect:At,onTreeItemFold:Nt,onTreeItemUnfold:Tt}),jsxRuntimeExports.jsx(TrashButton,{id:FOLDER.BIN,selected:St,onSelect:Ct}),jsxRuntimeExports.jsx("div",{className:"d-grid my-16",children:jsxRuntimeExports.jsx(Button$1,{disabled:St,type:"button",color:"primary",variant:"outline",leftIcon:jsxRuntimeExports.jsx(SvgPlus$1,{}),onClick:vt,children:lt("explorer.folder.new")})}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:ft&&jsxRuntimeExports.jsx(CreateModal,{edit:!1,isOpen:ft,onSuccess:vt,onCancel:vt})})]}):null};function Breadcrumb(){const{appCode:dt}=useOdeClient(),{t:lt}=useTranslation(["common",dt]),ft=useSelectedNodesIds(),vt=useIsTrash(),Et=useCurrentFolder(),{gotoPreviousFolder:St}=useStoreActions(),Rt=lt("explorer.tree.trash"),Ct=lt("explorer.filters.mine",{ns:dt}),At=(Et==null?void 0:Et.name)||Ct;return jsxRuntimeExports.jsx("div",{className:"py-16",children:ft.length>1&&!vt?jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8",children:[jsxRuntimeExports.jsx(IconButton$1,{icon:jsxRuntimeExports.jsx(SvgArrowLeft$1,{}),variant:"ghost",color:"tertiary","aria-label":lt("back"),className:"ms-n16",onClick:St}),jsxRuntimeExports.jsx("p",{className:"body py-8 text-truncate",children:jsxRuntimeExports.jsx("strong",{children:At})})]}):jsxRuntimeExports.jsx("h2",{className:"body py-8 fw-bold",children:vt?Rt:Ct})})}const useActionDisableModal=()=>{const dt=useResourceActionDisable(),{clearSelectedIds:lt,setResourceActionDisable:ft,clearSelectedItems:vt}=useStoreActions();return{isActionDisableModalOpen:dt,onActionDisableCancel:()=>{lt(),vt(),ft(!1)}}},useOnboardingModal=()=>{const[dt,lt]=reactExports.useState(!1),[ft,vt]=reactExports.useState(!0);return reactExports.useEffect(()=>{(async()=>{const St=await getOnboardingTrash();if(St){lt(JSON.parse(St==null?void 0:St.showOnboardingTrash));return}lt(!0)})()},[]),{isOnboardingTrash:dt,isOpen:ft,handleSavePreference:async()=>{await saveOnboardingTrash({onSuccess:()=>vt(!1)})},setIsOpen:vt}},useTrashModal=()=>{const dt=useResourceIsTrash(),{clearSelectedIds:lt,setResourceIsTrash:ft,clearSelectedItems:vt}=useStoreActions();return{isTrashedModalOpen:dt,onTrashedCancel:()=>{lt(),vt(),ft(!1)}}},isActionAvailable=({workflow:dt,actions:lt})=>{const ft=lt==null?void 0:lt.filter(vt=>vt.id===dt&&vt.available);return ft&&ft.length>0},OnboardingTrash=reactExports.lazy(async()=>await __vitePreload(()=>import("./OnboardingTrash.js"),[])),AppAction=reactExports.lazy(async()=>await __vitePreload(()=>import("./AppAction.js"),[])),Library=reactExports.lazy(async()=>await __vitePreload(()=>import("./Library.js"),[])),TrashedResourceModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./TrashedResourceModal.js"),[]));function Explorer(){const{currentApp:dt,appCode:lt}=useOdeClient();useTranslation();const{isOnboardingTrash:ft,isOpen:vt,setIsOpen:Et,handleSavePreference:St}=useOnboardingModal(),{data:Rt}=useActions(),{isTrashedModalOpen:Ct,onTrashedCancel:At}=useTrashModal(),{isActionDisableModalOpen:kt,onActionDisableCancel:Nt}=useActionDisableModal();useXitiTrackPageLoad();const Tt=Rt==null?void 0:Rt.find(Dt=>Dt.id==="publish"),{libraryUrl:Ft}=useLibraryUrl();return console.log({appCode:lt}),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(AppHeader,{children:[jsxRuntimeExports.jsxs(AppCard$1,{app:dt,isHeading:!0,headingStyle:"h3",level:"h1",children:[jsxRuntimeExports.jsx(AppIcon$1,{app:dt,size:"40"}),jsxRuntimeExports.jsx(AppCard$1.Name,{})]}),isActionAvailable({workflow:"create",actions:Rt})&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(AppAction,{})})]}),jsxRuntimeExports.jsxs(Grid,{className:"flex-grow-1",children:[jsxRuntimeExports.jsxs(Grid.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:[jsxRuntimeExports.jsx(TreeViewContainer,{}),(Tt==null?void 0:Tt.available)&&Ft&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(Library,{url:Ft})})]}),jsxRuntimeExports.jsxs(Grid.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[jsxRuntimeExports.jsx(Breadcrumb,{}),jsxRuntimeExports.jsx(List,{})]}),jsxRuntimeExports.jsx(ActionBarContainer,{}),ft&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(OnboardingTrash,{isOpen:vt,setIsOpen:Et,handleSavePreference:St})}),Ct&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(TrashedResourceModal,{isOpen:Ct,onCancel:At})}),kt&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(ActionResourceDisableModal,{isOpen:kt,onCancel:Nt})})]})]})}function Root(){const{init:dt}=useOdeClient();return dt?dt?jsxRuntimeExports.jsx(Layout$1,{children:jsxRuntimeExports.jsx(Explorer,{})}):null:jsxRuntimeExports.jsx(LoadingScreen$1,{position:!1})}const root=document.getElementById("root"),queryClient=new QueryClient({queryCache:new QueryCache({onError:dt=>{dt==="0090"&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});createRoot(root).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsxs(QueryClientProvider,{client:queryClient,children:[jsxRuntimeExports.jsx(OdeClientProvider,{params:getAppParams(),children:jsxRuntimeExports.jsx(Root,{})}),jsxRuntimeExports.jsx(ReactQueryDevtools,{initialIsOpen:!1})]})}));export{it$1 as $,APP as A,Button$1 as B,useTrash as C,useIsTrash as D,useMoveItem as E,FormControl$1 as F,useSelectedFolders as G,Heading$1 as H,Image$1 as I,useQueryClient as J,useTreeData as K,Loading$1 as L,Modal$1 as M,useCurrentFolder as N,useCreateFolder as O,useUpdatefolder as P,FOLDER as Q,React$2 as R,SvgPlus$1 as S,TreeView$1 as T,Label$1 as U,VisuallyHidden$1 as V,FormText$1 as W,SvgCopy$1 as X,useActions as Y,isActionAvailable as Z,Gt as _,useTranslation as a,SvgRafterUp$1 as a0,useFormControl as a1,TransportFrameworkFactory as a2,useResourceIds as a3,capitalizeFirstLetter as a4,RESOURCE as a5,SvgEdit$1 as a6,SvgDelete$1 as a7,AppIcon$1 as a8,useSearchContext as a9,useFolderIds as aa,J as ab,useScrollToTop as ac,dayjs as ad,SvgOptions$1 as ae,SvgFiles$1 as af,SvgOneProfile$1 as ag,SvgGlobe$1 as ah,SvgUsers$1 as ai,useOdeIcons as aj,getDefaultExportFromCjs$1 as ak,reactDomExports as b,useStoreActions as c,SvgArrowRight$1 as d,useTheme as e,clsx as f,useSearchParams as g,useUser as h,useSelectedResources as i,jsxRuntimeExports as j,useUpdateResource as k,useShareResource as l,useHotToast as m,SvgBookmark$1 as n,odeServices as o,Alert$1 as p,Avatar$1 as q,reactExports as r,SvgRafterDown$1 as s,IconButton$1 as t,useOdeClient as u,SvgClose$1 as v,SvgSave$1 as w,SvgInfoCircle$1 as x,Input$1 as y,useDelete as z};
250
+ */var h=reactExports,n=shimExports;function p(dt,lt){return dt===lt&&(dt!==0||1/dt===1/lt)||dt!==dt&&lt!==lt}var q=typeof Object.is=="function"?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;withSelector_production_min.useSyncExternalStoreWithSelector=function(dt,lt,ft,vt,Et){var St=t(null);if(St.current===null){var Rt={hasValue:!1,value:null};St.current=Rt}else Rt=St.current;St=v(function(){function At(Dt){if(!kt){if(kt=!0,Nt=Dt,Dt=vt(Dt),Et!==void 0&&Rt.hasValue){var Bt=Rt.value;if(Et(Bt,Dt))return Tt=Bt}return Tt=Dt}if(Bt=Tt,q(Nt,Dt))return Bt;var zt=vt(Dt);return Et!==void 0&&Et(Bt,zt)?Bt:(Nt=Dt,Tt=zt)}var kt=!1,Nt,Tt,Ft=ft===void 0?null:ft;return[function(){return At(lt())},Ft===null?void 0:function(){return At(Ft())}]},[lt,ft,vt,Et]);var Ct=r(dt,St[0],St[1]);return u(function(){Rt.hasValue=!0,Rt.value=Ct},[Ct]),w(Ct),Ct};withSelector.exports=withSelector_production_min;var withSelectorExports=withSelector.exports;const useSyncExternalStoreExports=getDefaultExportFromCjs$1(withSelectorExports),{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports;function useStore(dt,lt=dt.getState,ft){const vt=useSyncExternalStoreWithSelector(dt.subscribe,dt.getState,dt.getServerState||dt.getState,lt,ft);return reactExports.useDebugValue(vt),vt}const createImpl=dt=>{({VITE_XSRF_TOKEN:"a49c250f-aa6f-4050-b272-6d7d382b7782",VITE_ONE_SESSION_ID:"d32676b2-be77-4c99-80c0-aa5d4adeccdf:Kz6N/LdCd0lOWwMJ6I1FUPq26yI=",VITE_LOCALHOST:"http://localhost:8090",VITE_RECETTE:"https://recette-ha.opendigitaleducation.com",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}&&"production")!=="production"&&typeof dt!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const lt=typeof dt=="function"?createStore(dt):dt,ft=(vt,Et)=>useStore(lt,vt,Et);return Object.assign(ft,lt),ft},create=dt=>dt?createImpl(dt):createImpl;function getAncestors(dt,lt){var vt;const ft=findNodeById(dt,lt);return(vt=ft==null?void 0:ft.folder)!=null&&vt.ancestors?[...(ft==null?void 0:ft.folder.ancestors)||[],dt]:dt===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function hasChildren(dt,lt){return lt.id===dt&&lt.children?lt.children.length>0:lt.children?lt.children.some(ft=>hasChildren(lt.id,ft)):!1}const{app,types,filters,orders}=getAppParams(),useStoreContext=create()((dt,lt)=>({filters,orders,searchParams:{app,types,filters:{folder:"default"},orders:{updatedAt:"desc"},pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:{id:FOLDER.DEFAULT,name:"Mes blogs",section:!0,children:[]},selectedNodesIds:["default"],currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceActionDisable:!1,updaters:{setTreeData:ft=>dt(()=>({treeData:ft})),setSearchParams:ft=>dt(()=>({searchParams:ft})),setSelectedFolders:ft=>dt(()=>({selectedFolders:ft})),setSelectedResources:ft=>dt(()=>({selectedResources:ft})),setFolderIds:ft=>dt(()=>({folderIds:ft})),setResourceIds:ft=>dt(()=>({resourceIds:ft})),setResourceIsTrash:ft=>dt(()=>({resourceIsTrash:ft})),setResourceActionDisable:ft=>dt(()=>({resourceActionDisable:ft})),setCurrentFolder:ft=>dt(()=>({currentFolder:ft})),clearSelectedItems:()=>dt(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>dt(()=>({resourceIds:[],folderIds:[]})),openResource:ft=>{try{const{searchParams:vt}=lt();goToResource({searchParams:vt,assetId:ft.assetId})}catch(vt){console.error("explorer open failed: ",vt)}},createResource:()=>{try{const{searchParams:ft,currentFolder:vt}=lt(),Et=parseInt((vt==null?void 0:vt.id)||"default"),St=isNaN(Et)?void 0:Et;createResource({searchParams:ft,safeFolderId:St})}catch(ft){console.error("explorer create failed: ",ft)}},printSelectedResource:()=>{try{const{searchParams:ft,selectedResources:vt,resourceIds:Et}=lt();if(vt.length!==1)throw new Error("Cannot open more than 1 resource");const St=vt.find(Rt=>Rt.id===Et[0]);printResource({searchParams:ft,assetId:St.assetId})}catch(ft){console.error("explorer print failed: ",ft)}},publishApi:async(ft,vt)=>{const{searchParams:Et}=lt();return await publishResource({searchParams:Et,params:vt})},openFolder:({folderId:ft,folder:vt})=>{const{searchParams:Et,treeData:St}=lt(),Rt=Et.filters.folder,Ct=getAncestors(ft,St),At=arrayUnique([...Ct,ft]);Rt!==ft&&dt(kt=>({...kt,folderIds:[],resourceIds:[],selectedNodesIds:At,currentFolder:vt||{id:ft},searchParams:{...Et,filters:{...Et.filters,folder:ft},trashed:ft===FOLDER.BIN}}))},foldTreeItem:()=>dt(ft=>({...ft,status:"fold"})),unfoldTreeItem:async(ft,vt)=>{const{treeData:Et,searchParams:St}=lt();if(dt(Rt=>({...Rt,status:"unfold"})),!hasChildren(ft,Et)){await vt.prefetchInfiniteQuery({queryKey:["prefetchContext",{folderId:ft,trashed:!1}],queryFn:async()=>await searchContext({...St,filters:{...St.filters,folder:ft}})});const Rt=vt.getQueryData(["prefetchContext",{folderId:ft,trashed:!1}]);dt(Ct=>{var At;return{...Ct,treeData:wrapTreeNode(Et,(At=Rt==null?void 0:Rt.pages[0])==null?void 0:At.folders,ft||FOLDER.DEFAULT)}})}},selectTreeItem:ft=>{const{treeData:vt}=lt(),{openFolder:Et}=lt().updaters,St=findNodeById(ft,vt);useScrollToTop()(),dt(Ct=>({...Ct,selectedResources:[]})),Et({folder:St,folderId:ft})},gotoPreviousFolder:()=>{const{selectedNodesIds:ft,treeData:vt}=lt(),{openFolder:Et}=lt().updaters,St=ft.length;if(St<2)return;const Rt=findNodeById(ft[St-2],vt);Et({folder:Rt,folderId:(Rt==null?void 0:Rt.id)||FOLDER.DEFAULT})},goToTrash:()=>dt(ft=>({...ft,selectedNodesIds:[],selectedResources:[],resourceIds:[],folderIds:[],searchParams:{...ft.searchParams,filters:{folder:FOLDER.BIN},trashed:!0},currentFolder:{id:FOLDER.BIN}}))}})),useSearchParams=()=>useStoreContext(dt=>dt.searchParams),useSelectedNodesIds=()=>useStoreContext(dt=>dt.selectedNodesIds),useTreeData=()=>useStoreContext(dt=>dt.treeData),useSelectedFolders=()=>useStoreContext(dt=>dt.selectedFolders),useSelectedResources=()=>useStoreContext(dt=>dt.selectedResources),useFolderIds=()=>useStoreContext(dt=>dt.folderIds),useResourceIds=()=>useStoreContext(dt=>dt.resourceIds),useCurrentFolder=()=>useStoreContext(dt=>dt.currentFolder),useStoreActions=()=>useStoreContext(dt=>dt.updaters),useIsTrash=()=>{const dt=useCurrentFolder();return(dt==null?void 0:dt.id)===FOLDER.BIN},useResourceIsTrash=()=>useStoreContext(dt=>dt.resourceIsTrash),useResourceActionDisable=()=>useStoreContext(dt=>dt.resourceActionDisable),useIsRoot=()=>{const dt=useCurrentFolder();return(dt==null?void 0:dt.id)==="default"},useHasSelectedNodes=()=>useSelectedNodesIds().length>1,{actions}=getAppParams(),useActions=()=>useQuery({queryKey:["actions"],queryFn:async()=>{const dt=actions.map(ft=>ft.workflow);return await sessionHasWorkflowRights(dt)},select:dt=>actions.map(lt=>({...lt,available:dt[lt.workflow]}))}),useSearchContext=()=>{const{appCode:dt}=useOdeClient(),{t:lt}=useTranslation(),ft=useQueryClient(),vt=useSearchParams(),Et=useCurrentFolder(),St=useTreeData(),{setTreeData:Rt,setSearchParams:Ct}=useStoreActions(),At=["context",{folderId:vt.filters.folder,trashed:vt.trashed}];return useInfiniteQuery({queryKey:At,queryFn:async({pageParam:kt=0})=>await searchContext({...vt,pagination:{...vt.pagination,startIdx:kt}}),onSuccess:async kt=>{var Tt,Ft;await ft.cancelQueries({queryKey:At});const Nt=(Tt=kt==null?void 0:kt.pages[0])==null?void 0:Tt.folders;(Et==null?void 0:Et.id)==="default"?Rt({id:FOLDER.DEFAULT,section:!0,children:Nt.map(Dt=>new TreeNodeFolderWrapper(Dt)),name:lt("explorer.filters.mine",{ns:dt})}):Rt(wrapTreeNode(St,Nt,vt.filters.folder||FOLDER.DEFAULT)),Ct({...vt,pagination:(Ft=kt==null?void 0:kt.pages[(kt==null?void 0:kt.pages.length)-1])==null?void 0:Ft.pagination})},getNextPageParam:kt=>kt.pagination.startIdx+kt.pagination.pageSize})},useTrash=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),vt=useFolderIds(),Et=useResourceIds(),{clearSelectedItems:St,clearSelectedIds:Rt,setTreeData:Ct,setSearchParams:At}=useStoreActions(),kt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async()=>await trashAll({searchParams:lt,folderIds:vt,resourceIds:Et}),onSuccess:async Nt=>{if(await dt.cancelQueries({queryKey:kt}),dt.getQueryData(kt))return dt.setQueryData(kt,Ft=>{var Dt;if(Ft){const Bt={...Ft,pages:Ft==null?void 0:Ft.pages.map(rr=>{var Ht;return{...rr,folders:rr.folders.filter(Ut=>!vt.includes(Ut.id)),pagination:{...rr.pagination,maxIdx:((Ht=rr==null?void 0:rr.pagination)==null?void 0:Ht.maxIdx)-Nt.resources.length},resources:rr.resources.filter(Ut=>!Et.includes(Ut.id))}})},zt=deleteNode(ft,{folders:vt});return Ct(zt),At({...lt,pagination:{...lt.pagination,maxIdx:((Dt=lt.pagination)==null?void 0:Dt.maxIdx)-Nt.resources.length}}),Bt}})},onSettled:()=>{St(),Rt()}})},useRestore=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useFolderIds(),vt=useResourceIds(),{setFolderIds:Et,setResourceIds:St,setSelectedResources:Rt,setSelectedFolders:Ct}=useStoreActions(),At=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async()=>await restoreAll({searchParams:lt,folderIds:ft,resourceIds:vt}),onSuccess:async()=>{if(await dt.cancelQueries({queryKey:At}),dt.getQueryData(At))return dt.setQueryData(At,Nt=>{if(Nt)return{...Nt,pages:Nt==null?void 0:Nt.pages.map(Tt=>({...Tt,folders:Tt.folders.filter(Ft=>!ft.includes(Ft.id)),resources:Tt.resources.filter(Ft=>!vt.includes(Ft.id))}))}})},onSettled:()=>{St([]),Rt([]),Et([]),Ct([])}})},useDelete=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useFolderIds(),vt=useResourceIds(),{clearSelectedItems:Et,clearSelectedIds:St}=useStoreActions(),Rt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async()=>await deleteAll({searchParams:lt,folderIds:ft,resourceIds:vt}),onSuccess:async()=>{if(await dt.cancelQueries({queryKey:Rt}),dt.getQueryData(Rt))return dt.setQueryData(Rt,At=>{if(At)return{...At,pages:At==null?void 0:At.pages.map(Nt=>({...Nt,folders:Nt.folders.filter(Tt=>!ft.includes(Tt.id)),resources:Nt.resources.filter(Tt=>!vt.includes(Tt.id))}))}})},onSettled:()=>{Et(),St()}})},useMoveItem=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),vt=useFolderIds(),Et=useResourceIds(),{clearSelectedIds:St,clearSelectedItems:Rt,setTreeData:Ct,setSearchParams:At}=useStoreActions(),kt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async Nt=>await moveToFolder({searchParams:lt,folderId:Nt,folderIds:vt,resourceIds:Et}),onSuccess:async(Nt,Tt)=>{if(dt.getQueryData(kt))return dt.setQueryData(kt,Dt=>{var Bt;if(Dt){const zt=moveNode(ft,{destinationId:Tt,folders:vt}),rr={...Dt,pages:Dt==null?void 0:Dt.pages.map(Ht=>{var Ut;return{...Ht,folders:Ht.folders.filter(Wt=>!vt.includes(Wt.id)),pagination:{...Ht.pagination,maxIdx:((Ut=Ht.pagination)==null?void 0:Ut.maxIdx)-Nt.resources.length},resources:Ht.resources.filter(Wt=>!Et.includes(Wt.id))}})};return Ct(zt),At({...lt,pagination:{...lt.pagination,maxIdx:((Bt=lt.pagination)==null?void 0:Bt.maxIdx)-Nt.resources.length}}),rr}})},onSettled:()=>{Rt(),St()}})},useCreateFolder=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),{setTreeData:vt}=useStoreActions(),Et=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async({name:St,parentId:Rt})=>await createFolder({searchParams:lt,name:St,parentId:Rt}),onSuccess:async(St,Rt)=>{await dt.cancelQueries({queryKey:Et});const Ct=dt.getQueryData(Et),At={...St,parentId:Rt.parentId,children:[],rights:[`creator:${St==null?void 0:St.creator_id}`]};if(Ct)return dt.setQueryData(Et,kt=>{if(kt){const Nt={...kt,pages:kt==null?void 0:kt.pages.map(Ft=>({...Ft,folders:[...Ft.folders,At]}))},Tt=addNode(ft,{parentId:Rt.parentId,newFolder:At});return vt(Tt),Nt}})},onSettled:async()=>await dt.cancelQueries({queryKey:Et})})},useUpdatefolder=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=useTreeData(),{setFolderIds:vt,setSelectedFolders:Et,setTreeData:St}=useStoreActions(),Rt=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async({folderId:Ct,name:At,parentId:kt})=>await updateFolder({searchParams:lt,folderId:Ct,parentId:kt,name:At}),onSuccess:async(Ct,At)=>{if(await dt.cancelQueries({queryKey:Rt}),dt.getQueryData(Rt))return dt.setQueryData(Rt,Nt=>{if(Nt){const Tt={...Nt,pages:Nt==null?void 0:Nt.pages.map(Dt=>({...Dt,folders:Dt.folders.map(Bt=>Bt.id===Ct.id?{...Ct,parentId:At.parentId,rights:Bt.rights}:Bt)}))},Ft=updateNode(ft,{folderId:At.folderId,newFolder:Ct});return St(Ft),Tt}})},onSettled:()=>{vt([]),Et([])}})},useShareResource=()=>{const dt=useQueryClient(),lt=useSearchParams(),{setResourceIds:ft,setSelectedResources:vt}=useStoreActions(),Et=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async({entId:St,shares:Rt})=>await shareResource({searchParams:lt,entId:St,shares:Rt}),onSuccess:async(St,Rt)=>{if(await dt.cancelQueries({queryKey:Et}),dt.getQueryData(Et))return dt.setQueryData(Et,At=>{if(At)return{...At,pages:At==null?void 0:At.pages.map(kt=>({...kt,resources:kt.resources.map(Nt=>{if(Nt.assetId===(Rt==null?void 0:Rt.entId)){let Tt=[`creator:${Nt.creatorId}`];return(Rt==null?void 0:Rt.shares.length)>=1&&(Tt=[...Tt,...Rt.shares.flatMap(Ft=>Ft.actions.map(Dt=>`${Ft.type}:${Ft.id}:${Dt.id}`))]),{...Nt,rights:Tt}}else return Nt})}))}})},onSettled:()=>{ft([]),vt([])}})},useUpdateResource=()=>{const dt=useQueryClient(),lt=useSearchParams(),ft=["context",{folderId:lt.filters.folder,trashed:lt.trashed}];return useMutation({mutationFn:async vt=>await updateResource({searchParams:lt,params:vt}),onSuccess:async(vt,Et)=>{if(await dt.cancelQueries({queryKey:ft}),dt.getQueryData(ft))return dt.setQueryData(ft,Rt=>{if(Rt)return{...Rt,pages:Rt==null?void 0:Rt.pages.map(Ct=>({...Ct,resources:Ct.resources.map(At=>{if(At.assetId===(Et==null?void 0:Et.entId)){const{name:kt,thumbnail:Nt,public:Tt,description:Ft,slug:Dt,...Bt}=Et;return{...At,...Bt,name:kt,thumbnail:Nt,public:Tt,description:Ft,slug:Dt}}else return At})}))}})}})},{trashActions}=getAppParams();function useActionBar(){const[dt,lt]=reactExports.useState(!1),[ft,vt]=reactExports.useState("void"),[Et,St]=reactExports.useState(),{t:Rt}=useTranslation(),{hotToast:Ct}=useHotToast(Alert$1),At=useCurrentFolder(),kt=useResourceIds(),Nt=useSelectedResources(),Tt=useSelectedFolders(),Ft=useFolderIds(),Dt=useIsTrash(),Bt=useRestore(),zt=useResourceIsTrash(),{openResource:rr,createResource:Ht,printSelectedResource:Ut,openFolder:Wt,clearSelectedItems:Zt,clearSelectedIds:ir}=useStoreActions(),{data:sr}=useActions();reactExports.useEffect(()=>{if(kt.length===0&&Ft.length===0){lt(!1);return}if(zt){lt(!1);return}lt(!0)},[kt,Ft]);async function lr(Rr){var Or;switch((Or=document.getElementById("root"))==null||Or.setAttribute("aria-hidden","true"),St(Rr),Rr.id){case ACTION.OPEN:return kt.length>0?rr(Nt[0]):Wt({folder:Tt[0],folderId:Tt[0].id});case ACTION.CREATE:return Ht();case ACTION.MOVE:return vt("move");case ACTION.PRINT:return Ut();case ACTION.DELETE:return vt("delete");case ACTION.RESTORE:return await pr();case ACTION.PUBLISH:return vt("publish");case ACTION.UPD_PROPS:case"edit":return _r();case ACTION.SHARE:return vt("share");default:throw Error(`Unknown action: ${Rr.id}`)}}function cr(Rr){const Or=kt.length+Ft.length,Cr=kt.length===1||Ft.length===1,Tr=Or===1,Pr=Ft.length===0;switch(Rr.id){case ACTION.OPEN:return Tr;case ACTION.MANAGE:return Cr;case ACTION.PUBLISH:return Cr&&Pr;case ACTION.UPD_PROPS:return Cr&&Pr;case ACTION.SHARE:return Pr&&Cr;case ACTION.PRINT:return Cr&&Pr;case"edit":return Tr;default:return!0}}function gr(){return!0}async function pr(){try{if(Dt)await Bt.mutate(),Ct.success(Rt("explorer.trash.toast"));else throw new Error("Cannot restore untrashed resources");Sr()}catch(Rr){console.error(Rr)}}function Sr(){var Rr;vt("void"),Et!=null&&Et.id&&((Rr=document.getElementById(Et==null?void 0:Et.id))==null||Rr.focus())}const Er=Rr=>()=>{ft===Rr&&(Sr(),Zt(),ir())},yr=Er("move"),Kt=Er("move"),nr=Er("delete"),hr=Er("delete"),dr=Er("publish"),ar=Er("publish"),ur=Er("edit_folder"),mr=Er("edit_folder"),br=Er("edit_resource"),wr=Er("edit_resource"),Ar=Er("share"),jr=Er("share");function _r(){kt&&kt.length>0?vt("edit_resource"):vt("edit_folder")}function kr(Rr){return Rr.id==="edit"&&Ft.length>0?"explorer.rename":`explorer.actions.${Rr.id}`}return{onRestore:pr,actions:Dt?trashActions:sr,selectedElement:[...Nt,...Tt],currentFolderId:At==null?void 0:At.id,overrideLabel:kr,handleClick:lr,isActivable:Dt?gr:cr,isActionBarOpen:dt,isMoveModalOpen:ft==="move",onMoveCancel:yr,onMoveSuccess:Kt,isDeleteModalOpen:ft==="delete",onDeleteCancel:hr,onDeleteSuccess:nr,isPublishModalOpen:ft==="publish",onPublishCancel:ar,onPublishSuccess:dr,isEditFolderOpen:ft==="edit_folder",onEditFolderCancel:mr,onEditFolderSuccess:ur,isEditResourceOpen:ft==="edit_resource",onEditResourceCancel:wr,onEditResourceSuccess:br,isShareResourceOpen:ft==="share",onShareResourceCancel:jr,onShareResourceSuccess:Ar,onClearActionBar:Sr}}function useAccessControl({roles:dt,rights:lt,action:ft}){const[vt,Et]=reactExports.useState(!1),{user:St}=useUser(),Rt=useIsTrash();reactExports.useEffect(()=>{kt()},[dt,lt]);const Ct=async function(Nt){const Tt=Nt instanceof Array?Nt:[Nt];if(dt instanceof Array){const Ft=await odeServices.rights().sessionHasAtLeastOneResourceRight(dt,Tt);Et(Ft)}else{const Ft=await odeServices.rights().sessionHasResourceRight(dt,Tt);Et(Ft)}},At=async function(Nt){if(dt instanceof Array){const Tt=await odeServices.rights().sessionHasAtLeastOneResourceRightForEachList(dt,Nt);Et(Tt)}else{const Tt=await odeServices.rights().sessionHasResourceRightForEachList(dt,Nt);Et(Tt)}},kt=async function(){var Nt,Tt,Ft;if(dt===void 0){Et(!0);return}if(Rt&&((Tt=(Nt=lt[0])==null?void 0:Nt.trashedBy)!=null&&Tt.includes(St==null?void 0:St.userId))&&ft==="restore"&&!((Ft=lt[0])!=null&&Ft.trashed)){Et(!0);return}if(lt instanceof Array)if(lt.length>0)if(typeof lt[0]=="string")await Ct(lt);else{const Dt=lt.map(Bt=>Bt.rights);await At(Dt)}else Et(!1);else typeof lt=="string"?await Ct(lt):await Ct(lt.rights)};return{visible:vt,refreshState:kt}}function AccessControl({resourceRights:dt,roleExpected:lt,action:ft,children:vt,renderWhenForbidden:Et}){const{t:St}=useTranslation(),{overrideLabel:Rt}=useActionBar(),{visible:Ct}=useAccessControl({roles:lt,rights:dt,action:ft==null?void 0:ft.id}),{setResourceActionDisable:At}=useStoreActions(),kt=useIsTrash();return Ct?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:vt}):Et?Et():kt&&!Ct?jsxRuntimeExports.jsx(Button$1,{type:"button",color:"primary",variant:"filled",onClick:()=>{At(!0)},children:St(Rt(ft))}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})}const ShareResourceModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./ShareResourceModal.js"),["ShareResourceModal.js","SelectList.js","Tooltip.js","usePopper.js"])),DeleteModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./DeleteModal.js"),[])),MoveModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./MoveModal.js"),[])),EditFolderModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),EditResourceModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./EditResourceModal.js"),["EditResourceModal.js","ImagePicker.js","index.esm.js"])),PublishModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./PublishModal.js"),["PublishModal.js","usePopper.js","SelectList.js","ImagePicker.js","index.esm.js"]));function ActionBarContainer(){const{t:dt}=useTranslation(),{actions:lt,selectedElement:ft,isMoveModalOpen:vt,isDeleteModalOpen:Et,isPublishModalOpen:St,isActionBarOpen:Rt,isEditFolderOpen:Ct,overrideLabel:At,onEditFolderCancel:kt,onEditFolderSuccess:Nt,isEditResourceOpen:Tt,onEditResourceCancel:Ft,onEditResourceSuccess:Dt,isShareResourceOpen:Bt,onShareResourceCancel:zt,onShareResourceSuccess:rr,onMoveCancel:Ht,onMoveSuccess:Ut,onDeleteCancel:Wt,onDeleteSuccess:Zt,onPublishCancel:ir,onPublishSuccess:sr,isActivable:lr,handleClick:cr}=useActionBar(),gr=Gt(Rt,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[gr((pr,Sr)=>Sr&&jsxRuntimeExports.jsx(it$1.div,{className:"position-fixed bottom-0 start-0 end-0 z-3",style:pr,children:jsxRuntimeExports.jsx(ActionBar$1,{children:lt==null?void 0:lt.filter(Er=>Er.available&&Er.target==="actionbar").map(Er=>lr(Er)&&jsxRuntimeExports.jsx(AccessControl,{resourceRights:ft,roleExpected:Er.right,action:Er,children:jsxRuntimeExports.jsx(Button$1,{id:Er.id,type:"button",color:"primary",variant:"filled",onClick:()=>{cr(Er)},children:dt(At(Er))},Er.id)},Er.id))})})),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:[vt&&jsxRuntimeExports.jsx(MoveModal,{isOpen:vt,onCancel:Ht,onSuccess:Ut}),Et&&jsxRuntimeExports.jsx(DeleteModal,{isOpen:Et,onCancel:Wt,onSuccess:Zt}),St&&jsxRuntimeExports.jsx(PublishModal,{isOpen:St,onCancel:ir,onSuccess:sr}),Ct&&jsxRuntimeExports.jsx(EditFolderModal,{edit:!0,isOpen:Ct,onCancel:kt,onSuccess:Nt}),Tt&&jsxRuntimeExports.jsx(EditResourceModal,{edit:!0,isOpen:Tt,onCancel:Ft,onSuccess:Dt}),Bt&&jsxRuntimeExports.jsx(ShareResourceModal,{isOpen:Bt,onCancel:zt,onSuccess:rr})]})]})}const AppHeader=({children:dt})=>jsxRuntimeExports.jsx("div",{className:"d-flex justify-content-between p-16 mx-n16 border-bottom",children:dt}),EmptyScreenApp=reactExports.lazy(async()=>await __vitePreload(()=>import("./EmptyScreenApp.js"),["EmptyScreenApp.js","EmptyScreen.js"])),EmptyScreenNoContentInFolder=reactExports.lazy(async()=>await __vitePreload(()=>import("./EmptyScreenNoContentInFolder.js"),["EmptyScreenNoContentInFolder.js","EmptyScreen.js"])),EmptyScreenTrash=reactExports.lazy(async()=>await __vitePreload(()=>import("./EmptyScreenTrash.js"),["EmptyScreenTrash.js","EmptyScreen.js"])),FoldersList=reactExports.lazy(async()=>await __vitePreload(()=>import("./FoldersList.js"),["FoldersList.js","Card.js","Tooltip.js","usePopper.js"])),ResourcesList=reactExports.lazy(async()=>await __vitePreload(()=>import("./ResourcesList.js"),["ResourcesList.js","Card.js","Tooltip.js","usePopper.js"])),List=()=>{const dt=useIsRoot(),lt=useIsTrash(),ft=useHasSelectedNodes(),{data:vt,isLoading:Et}=useSearchContext(),St=(vt==null?void 0:vt.pages[0].folders.length)===0,Rt=(vt==null?void 0:vt.pages[0].resources.length)===0,Ct=St&&Rt;return jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:[!Ct&&!Et&&jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:[jsxRuntimeExports.jsx(FoldersList,{}),jsxRuntimeExports.jsx(ResourcesList,{})]}),dt&&Ct&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(EmptyScreenApp,{})}),ft&&Ct&&!lt&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(EmptyScreenNoContentInFolder,{})}),lt&&(vt==null?void 0:vt.pages[0].resources.length)===0&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(EmptyScreenTrash,{})})]})};var dayjs_min={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt()})(commonjsGlobal,function(){var ft=1e3,vt=6e4,Et=36e5,St="millisecond",Rt="second",Ct="minute",At="hour",kt="day",Nt="week",Tt="month",Ft="quarter",Dt="year",Bt="date",zt="Invalid Date",rr=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Ht=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Ut={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(yr){var Kt=["th","st","nd","rd"],nr=yr%100;return"["+yr+(Kt[(nr-20)%10]||Kt[nr]||Kt[0])+"]"}},Wt=function(yr,Kt,nr){var hr=String(yr);return!hr||hr.length>=Kt?yr:""+Array(Kt+1-hr.length).join(nr)+yr},Zt={s:Wt,z:function(yr){var Kt=-yr.utcOffset(),nr=Math.abs(Kt),hr=Math.floor(nr/60),dr=nr%60;return(Kt<=0?"+":"-")+Wt(hr,2,"0")+":"+Wt(dr,2,"0")},m:function yr(Kt,nr){if(Kt.date()<nr.date())return-yr(nr,Kt);var hr=12*(nr.year()-Kt.year())+(nr.month()-Kt.month()),dr=Kt.clone().add(hr,Tt),ar=nr-dr<0,ur=Kt.clone().add(hr+(ar?-1:1),Tt);return+(-(hr+(nr-dr)/(ar?dr-ur:ur-dr))||0)},a:function(yr){return yr<0?Math.ceil(yr)||0:Math.floor(yr)},p:function(yr){return{M:Tt,y:Dt,w:Nt,d:kt,D:Bt,h:At,m:Ct,s:Rt,ms:St,Q:Ft}[yr]||String(yr||"").toLowerCase().replace(/s$/,"")},u:function(yr){return yr===void 0}},ir="en",sr={};sr[ir]=Ut;var lr=function(yr){return yr instanceof Sr},cr=function yr(Kt,nr,hr){var dr;if(!Kt)return ir;if(typeof Kt=="string"){var ar=Kt.toLowerCase();sr[ar]&&(dr=ar),nr&&(sr[ar]=nr,dr=ar);var ur=Kt.split("-");if(!dr&&ur.length>1)return yr(ur[0])}else{var mr=Kt.name;sr[mr]=Kt,dr=mr}return!hr&&dr&&(ir=dr),dr||!hr&&ir},gr=function(yr,Kt){if(lr(yr))return yr.clone();var nr=typeof Kt=="object"?Kt:{};return nr.date=yr,nr.args=arguments,new Sr(nr)},pr=Zt;pr.l=cr,pr.i=lr,pr.w=function(yr,Kt){return gr(yr,{locale:Kt.$L,utc:Kt.$u,x:Kt.$x,$offset:Kt.$offset})};var Sr=function(){function yr(nr){this.$L=cr(nr.locale,null,!0),this.parse(nr)}var Kt=yr.prototype;return Kt.parse=function(nr){this.$d=function(hr){var dr=hr.date,ar=hr.utc;if(dr===null)return new Date(NaN);if(pr.u(dr))return new Date;if(dr instanceof Date)return new Date(dr);if(typeof dr=="string"&&!/Z$/i.test(dr)){var ur=dr.match(rr);if(ur){var mr=ur[2]-1||0,br=(ur[7]||"0").substring(0,3);return ar?new Date(Date.UTC(ur[1],mr,ur[3]||1,ur[4]||0,ur[5]||0,ur[6]||0,br)):new Date(ur[1],mr,ur[3]||1,ur[4]||0,ur[5]||0,ur[6]||0,br)}}return new Date(dr)}(nr),this.$x=nr.x||{},this.init()},Kt.init=function(){var nr=this.$d;this.$y=nr.getFullYear(),this.$M=nr.getMonth(),this.$D=nr.getDate(),this.$W=nr.getDay(),this.$H=nr.getHours(),this.$m=nr.getMinutes(),this.$s=nr.getSeconds(),this.$ms=nr.getMilliseconds()},Kt.$utils=function(){return pr},Kt.isValid=function(){return this.$d.toString()!==zt},Kt.isSame=function(nr,hr){var dr=gr(nr);return this.startOf(hr)<=dr&&dr<=this.endOf(hr)},Kt.isAfter=function(nr,hr){return gr(nr)<this.startOf(hr)},Kt.isBefore=function(nr,hr){return this.endOf(hr)<gr(nr)},Kt.$g=function(nr,hr,dr){return pr.u(nr)?this[hr]:this.set(dr,nr)},Kt.unix=function(){return Math.floor(this.valueOf()/1e3)},Kt.valueOf=function(){return this.$d.getTime()},Kt.startOf=function(nr,hr){var dr=this,ar=!!pr.u(hr)||hr,ur=pr.p(nr),mr=function(Or,Cr){var Tr=pr.w(dr.$u?Date.UTC(dr.$y,Cr,Or):new Date(dr.$y,Cr,Or),dr);return ar?Tr:Tr.endOf(kt)},br=function(Or,Cr){return pr.w(dr.toDate()[Or].apply(dr.toDate("s"),(ar?[0,0,0,0]:[23,59,59,999]).slice(Cr)),dr)},wr=this.$W,Ar=this.$M,jr=this.$D,_r="set"+(this.$u?"UTC":"");switch(ur){case Dt:return ar?mr(1,0):mr(31,11);case Tt:return ar?mr(1,Ar):mr(0,Ar+1);case Nt:var kr=this.$locale().weekStart||0,Rr=(wr<kr?wr+7:wr)-kr;return mr(ar?jr-Rr:jr+(6-Rr),Ar);case kt:case Bt:return br(_r+"Hours",0);case At:return br(_r+"Minutes",1);case Ct:return br(_r+"Seconds",2);case Rt:return br(_r+"Milliseconds",3);default:return this.clone()}},Kt.endOf=function(nr){return this.startOf(nr,!1)},Kt.$set=function(nr,hr){var dr,ar=pr.p(nr),ur="set"+(this.$u?"UTC":""),mr=(dr={},dr[kt]=ur+"Date",dr[Bt]=ur+"Date",dr[Tt]=ur+"Month",dr[Dt]=ur+"FullYear",dr[At]=ur+"Hours",dr[Ct]=ur+"Minutes",dr[Rt]=ur+"Seconds",dr[St]=ur+"Milliseconds",dr)[ar],br=ar===kt?this.$D+(hr-this.$W):hr;if(ar===Tt||ar===Dt){var wr=this.clone().set(Bt,1);wr.$d[mr](br),wr.init(),this.$d=wr.set(Bt,Math.min(this.$D,wr.daysInMonth())).$d}else mr&&this.$d[mr](br);return this.init(),this},Kt.set=function(nr,hr){return this.clone().$set(nr,hr)},Kt.get=function(nr){return this[pr.p(nr)]()},Kt.add=function(nr,hr){var dr,ar=this;nr=Number(nr);var ur=pr.p(hr),mr=function(Ar){var jr=gr(ar);return pr.w(jr.date(jr.date()+Math.round(Ar*nr)),ar)};if(ur===Tt)return this.set(Tt,this.$M+nr);if(ur===Dt)return this.set(Dt,this.$y+nr);if(ur===kt)return mr(1);if(ur===Nt)return mr(7);var br=(dr={},dr[Ct]=vt,dr[At]=Et,dr[Rt]=ft,dr)[ur]||1,wr=this.$d.getTime()+nr*br;return pr.w(wr,this)},Kt.subtract=function(nr,hr){return this.add(-1*nr,hr)},Kt.format=function(nr){var hr=this,dr=this.$locale();if(!this.isValid())return dr.invalidDate||zt;var ar=nr||"YYYY-MM-DDTHH:mm:ssZ",ur=pr.z(this),mr=this.$H,br=this.$m,wr=this.$M,Ar=dr.weekdays,jr=dr.months,_r=function(Cr,Tr,Pr,Nr){return Cr&&(Cr[Tr]||Cr(hr,ar))||Pr[Tr].slice(0,Nr)},kr=function(Cr){return pr.s(mr%12||12,Cr,"0")},Rr=dr.meridiem||function(Cr,Tr,Pr){var Nr=Cr<12?"AM":"PM";return Pr?Nr.toLowerCase():Nr},Or={YY:String(this.$y).slice(-2),YYYY:pr.s(this.$y,4,"0"),M:wr+1,MM:pr.s(wr+1,2,"0"),MMM:_r(dr.monthsShort,wr,jr,3),MMMM:_r(jr,wr),D:this.$D,DD:pr.s(this.$D,2,"0"),d:String(this.$W),dd:_r(dr.weekdaysMin,this.$W,Ar,2),ddd:_r(dr.weekdaysShort,this.$W,Ar,3),dddd:Ar[this.$W],H:String(mr),HH:pr.s(mr,2,"0"),h:kr(1),hh:kr(2),a:Rr(mr,br,!0),A:Rr(mr,br,!1),m:String(br),mm:pr.s(br,2,"0"),s:String(this.$s),ss:pr.s(this.$s,2,"0"),SSS:pr.s(this.$ms,3,"0"),Z:ur};return ar.replace(Ht,function(Cr,Tr){return Tr||Or[Cr]||ur.replace(":","")})},Kt.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Kt.diff=function(nr,hr,dr){var ar,ur=pr.p(hr),mr=gr(nr),br=(mr.utcOffset()-this.utcOffset())*vt,wr=this-mr,Ar=pr.m(this,mr);return Ar=(ar={},ar[Dt]=Ar/12,ar[Tt]=Ar,ar[Ft]=Ar/3,ar[Nt]=(wr-br)/6048e5,ar[kt]=(wr-br)/864e5,ar[At]=wr/Et,ar[Ct]=wr/vt,ar[Rt]=wr/ft,ar)[ur]||wr,dr?Ar:pr.a(Ar)},Kt.daysInMonth=function(){return this.endOf(Tt).$D},Kt.$locale=function(){return sr[this.$L]},Kt.locale=function(nr,hr){if(!nr)return this.$L;var dr=this.clone(),ar=cr(nr,hr,!0);return ar&&(dr.$L=ar),dr},Kt.clone=function(){return pr.w(this.$d,this)},Kt.toDate=function(){return new Date(this.valueOf())},Kt.toJSON=function(){return this.isValid()?this.toISOString():null},Kt.toISOString=function(){return this.$d.toISOString()},Kt.toString=function(){return this.$d.toUTCString()},yr}(),Er=Sr.prototype;return gr.prototype=Er,[["$ms",St],["$s",Rt],["$m",Ct],["$H",At],["$W",kt],["$M",Tt],["$y",Dt],["$D",Bt]].forEach(function(yr){Er[yr[1]]=function(Kt){return this.$g(Kt,yr[0],yr[1])}}),gr.extend=function(yr,Kt){return yr.$i||(yr(Kt,Sr,gr),yr.$i=!0),gr},gr.locale=cr,gr.isDayjs=lr,gr.unix=function(yr){return gr(1e3*yr)},gr.en=sr[ir],gr.Ls=sr,gr.p={},gr})})(dayjs_min);var dayjs_minExports=dayjs_min.exports;const dayjs=getDefaultExportFromCjs$1(dayjs_minExports);var relativeTime$1={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt()})(commonjsGlobal,function(){return function(ft,vt,Et){ft=ft||{};var St=vt.prototype,Rt={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Ct(kt,Nt,Tt,Ft){return St.fromToBase(kt,Nt,Tt,Ft)}Et.en.relativeTime=Rt,St.fromToBase=function(kt,Nt,Tt,Ft,Dt){for(var Bt,zt,rr,Ht=Tt.$locale().relativeTime||Rt,Ut=ft.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],Wt=Ut.length,Zt=0;Zt<Wt;Zt+=1){var ir=Ut[Zt];ir.d&&(Bt=Ft?Et(kt).diff(Tt,ir.d,!0):Tt.diff(kt,ir.d,!0));var sr=(ft.rounding||Math.round)(Math.abs(Bt));if(rr=Bt>0,sr<=ir.r||!ir.r){sr<=1&&Zt>0&&(ir=Ut[Zt-1]);var lr=Ht[ir.l];Dt&&(sr=Dt(""+sr)),zt=typeof lr=="string"?lr.replace("%d",sr):lr(sr,Nt,ir.l,rr);break}}if(Nt)return zt;var cr=rr?Ht.future:Ht.past;return typeof cr=="function"?cr(zt):cr.replace("%s",zt)},St.to=function(kt,Nt){return Ct(kt,Nt,this,!0)},St.from=function(kt,Nt){return Ct(kt,Nt,this)};var At=function(kt){return kt.$u?Et.utc():Et()};St.toNow=function(kt){return this.to(At(this),kt)},St.fromNow=function(kt){return this.from(At(this),kt)}}})})(relativeTime$1);var relativeTimeExports=relativeTime$1.exports;const relativeTime=getDefaultExportFromCjs$1(relativeTimeExports);var de={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(dayjs_minExports)})(commonjsGlobal,function(ft){function vt(At){return At&&typeof At=="object"&&"default"in At?At:{default:At}}var Et=vt(ft),St={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function Rt(At,kt,Nt){var Tt=St[Nt];return Array.isArray(Tt)&&(Tt=Tt[kt?0:1]),Tt.replace("%d",At)}var Ct={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(At){return At+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:Rt,m:Rt,mm:Rt,h:Rt,hh:Rt,d:Rt,dd:Rt,M:Rt,MM:Rt,y:Rt,yy:Rt}};return Et.default.locale(Ct,null,!0),Ct})})(de);var es={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(dayjs_minExports)})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(Rt){return Rt+"º"}};return Et.default.locale(St,null,!0),St})})(es);var pt={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(dayjs_minExports)})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"pt",weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sab".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sa".split("_"),months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(Rt){return Rt+"º"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},relativeTime:{future:"em %s",past:"há %s",s:"alguns segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"}};return Et.default.locale(St,null,!0),St})})(pt);var fr={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(dayjs_minExports)})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(Rt){return""+Rt+(Rt===1?"er":"")}};return Et.default.locale(St,null,!0),St})})(fr);var it={exports:{}};(function(dt,lt){(function(ft,vt){dt.exports=vt(dayjs_minExports)})(commonjsGlobal,function(ft){function vt(Rt){return Rt&&typeof Rt=="object"&&"default"in Rt?Rt:{default:Rt}}var Et=vt(ft),St={name:"it",weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un' ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(Rt){return Rt+"º"}};return Et.default.locale(St,null,!0),St})})(it);dayjs.extend(relativeTime);function capitalizeFirstLetter(dt){return dt.charAt(0).toUpperCase()+dt.slice(1)}const useLibraryUrl=()=>{var Ct;const{user:dt}=useOdeClient(),lt=capitalizeFirstLetter(getAppParams().app),ft=(Ct=dt.apps.find(At=>At.isExternal&&At.address.includes("library")&&At.name.includes("library")))==null?void 0:Ct.address.split("?");let vt=ft==null?void 0:ft[0];vt!=null&&vt.endsWith("/")||(vt=`${vt}/`);const Et=ft==null?void 0:ft[1],St=`application%5B0%5D=${lt}&page=1&sort_field=views&sort_order=desc`;return{libraryUrl:`${vt}search/?${Et}&${St}`}};function ActionResourceDisableModal({isOpen:dt,onCancel:lt=()=>({})}){const{t:ft}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal$1,{isOpen:dt,onModalClose:lt,id:"trash_action_disable_resource",children:[jsxRuntimeExports.jsx(Modal$1.Header,{onModalClose:()=>lt(),children:ft("explorer.trash.action.modal.title")}),jsxRuntimeExports.jsx(Modal$1.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:ft("explorer.trash.action.modal.text")})}),jsxRuntimeExports.jsx(Modal$1.Footer,{children:jsxRuntimeExports.jsx(Button$1,{color:"primary",onClick:lt,type:"button",variant:"outline",children:ft("close")})})]}),document.getElementById("portal"))}const TrashButton=({id:dt,selected:lt,onSelect:ft})=>{const{t:vt}=useTranslation();return jsxRuntimeExports.jsx("div",{className:"treeview",children:jsxRuntimeExports.jsx("ul",{role:"tree",className:"m-0 p-0",children:jsxRuntimeExports.jsx("li",{id:dt,role:"treeitem","aria-selected":lt,children:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("div",{className:"action-container",children:jsxRuntimeExports.jsx("div",{onClick:ft,role:"button",tabIndex:0,children:jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[jsxRuntimeExports.jsx(SvgDelete$1,{width:"20",height:"20"}),jsxRuntimeExports.jsx("span",{children:vt("explorer.tree.trash")})]})})})})})})})},CreateModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./EditFolderModal.js"),["EditFolderModal.js","index.esm.js"])),TreeViewContainer=()=>{const dt=useQueryClient(),{t:lt}=useTranslation(),[ft,vt]=useToggle(),Et=useTreeData(),St=useIsTrash(),Rt=useSelectedNodesIds(),{goToTrash:Ct,selectTreeItem:At,unfoldTreeItem:kt,foldTreeItem:Nt}=useStoreActions(),Tt=async Ft=>{await kt(Ft,dt)};return Et?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(TreeView$1,{data:Et,selectedNodesIds:Rt,onTreeItemSelect:At,onTreeItemFold:Nt,onTreeItemUnfold:Tt}),jsxRuntimeExports.jsx(TrashButton,{id:FOLDER.BIN,selected:St,onSelect:Ct}),jsxRuntimeExports.jsx("div",{className:"d-grid my-16",children:jsxRuntimeExports.jsx(Button$1,{disabled:St,type:"button",color:"primary",variant:"outline",leftIcon:jsxRuntimeExports.jsx(SvgPlus$1,{}),onClick:vt,children:lt("explorer.folder.new")})}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:ft&&jsxRuntimeExports.jsx(CreateModal,{edit:!1,isOpen:ft,onSuccess:vt,onCancel:vt})})]}):null};function Breadcrumb(){const{appCode:dt}=useOdeClient(),{t:lt}=useTranslation(["common",dt]),ft=useSelectedNodesIds(),vt=useIsTrash(),Et=useCurrentFolder(),{gotoPreviousFolder:St}=useStoreActions(),Rt=lt("explorer.tree.trash"),Ct=lt("explorer.filters.mine",{ns:dt}),At=(Et==null?void 0:Et.name)||Ct;return jsxRuntimeExports.jsx("div",{className:"py-16",children:ft.length>1&&!vt?jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8",children:[jsxRuntimeExports.jsx(IconButton$1,{icon:jsxRuntimeExports.jsx(SvgArrowLeft$1,{}),variant:"ghost",color:"tertiary","aria-label":lt("back"),className:"ms-n16",onClick:St}),jsxRuntimeExports.jsx("p",{className:"body py-8 text-truncate",children:jsxRuntimeExports.jsx("strong",{children:At})})]}):jsxRuntimeExports.jsx("h2",{className:"body py-8 fw-bold",children:vt?Rt:Ct})})}const useActionDisableModal=()=>{const dt=useResourceActionDisable(),{clearSelectedIds:lt,setResourceActionDisable:ft,clearSelectedItems:vt}=useStoreActions();return{isActionDisableModalOpen:dt,onActionDisableCancel:()=>{lt(),vt(),ft(!1)}}},useOnboardingModal=()=>{const[dt,lt]=reactExports.useState(!1),[ft,vt]=reactExports.useState(!0);return reactExports.useEffect(()=>{(async()=>{const St=await getOnboardingTrash();if(St){lt(JSON.parse(St==null?void 0:St.showOnboardingTrash));return}lt(!0)})()},[]),{isOnboardingTrash:dt,isOpen:ft,handleSavePreference:async()=>{await saveOnboardingTrash({onSuccess:()=>vt(!1)})},setIsOpen:vt}},useTrashModal=()=>{const dt=useResourceIsTrash(),{clearSelectedIds:lt,setResourceIsTrash:ft,clearSelectedItems:vt}=useStoreActions();return{isTrashedModalOpen:dt,onTrashedCancel:()=>{lt(),vt(),ft(!1)}}},isActionAvailable=({workflow:dt,actions:lt})=>{const ft=lt==null?void 0:lt.filter(vt=>vt.id===dt&&vt.available);return ft&&ft.length>0},OnboardingTrash=reactExports.lazy(async()=>await __vitePreload(()=>import("./OnboardingTrash.js"),[])),AppAction=reactExports.lazy(async()=>await __vitePreload(()=>import("./AppAction.js"),[])),Library=reactExports.lazy(async()=>await __vitePreload(()=>import("./Library.js"),[])),TrashedResourceModal=reactExports.lazy(async()=>await __vitePreload(()=>import("./TrashedResourceModal.js"),[]));function Explorer(){const{currentApp:dt,appCode:lt}=useOdeClient();useTranslation();const{isOnboardingTrash:ft,isOpen:vt,setIsOpen:Et,handleSavePreference:St}=useOnboardingModal(),{data:Rt}=useActions(),{isTrashedModalOpen:Ct,onTrashedCancel:At}=useTrashModal(),{isActionDisableModalOpen:kt,onActionDisableCancel:Nt}=useActionDisableModal();useXitiTrackPageLoad();const Tt=Rt==null?void 0:Rt.find(Dt=>Dt.id==="publish"),{libraryUrl:Ft}=useLibraryUrl();return console.log({appCode:lt}),jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs(AppHeader,{children:[jsxRuntimeExports.jsxs(AppCard$1,{app:dt,isHeading:!0,headingStyle:"h3",level:"h1",children:[jsxRuntimeExports.jsx(AppIcon$1,{app:dt,size:"40"}),jsxRuntimeExports.jsx(AppCard$1.Name,{})]}),isActionAvailable({workflow:"create",actions:Rt})&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(AppAction,{})})]}),jsxRuntimeExports.jsxs(Grid,{className:"flex-grow-1",children:[jsxRuntimeExports.jsxs(Grid.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:[jsxRuntimeExports.jsx(TreeViewContainer,{}),(Tt==null?void 0:Tt.available)&&Ft&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(Library,{url:Ft})})]}),jsxRuntimeExports.jsxs(Grid.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[jsxRuntimeExports.jsx(Breadcrumb,{}),jsxRuntimeExports.jsx(List,{})]}),jsxRuntimeExports.jsx(ActionBarContainer,{}),ft&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(OnboardingTrash,{isOpen:vt,setIsOpen:Et,handleSavePreference:St})}),Ct&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(TrashedResourceModal,{isOpen:Ct,onCancel:At})}),kt&&jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen$1,{}),children:jsxRuntimeExports.jsx(ActionResourceDisableModal,{isOpen:kt,onCancel:Nt})})]})]})}function Root(){const{init:dt}=useOdeClient();return dt?dt?jsxRuntimeExports.jsx(Layout$1,{children:jsxRuntimeExports.jsx(Explorer,{})}):null:jsxRuntimeExports.jsx(LoadingScreen$1,{position:!1})}const root=document.getElementById("root"),queryClient=new QueryClient({queryCache:new QueryCache({onError:dt=>{dt==="0090"&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});createRoot(root).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsxs(QueryClientProvider,{client:queryClient,children:[jsxRuntimeExports.jsx(OdeClientProvider,{params:getAppParams(),children:jsxRuntimeExports.jsx(Root,{})}),jsxRuntimeExports.jsx(ReactQueryDevtools,{initialIsOpen:!1})]})}));export{it$1 as $,APP as A,Button$1 as B,useTrash as C,useIsTrash as D,useMoveItem as E,FormControl$1 as F,useSelectedFolders as G,Heading$1 as H,Image$1 as I,useQueryClient as J,useTreeData as K,Loading$1 as L,Modal$1 as M,useCurrentFolder as N,useCreateFolder as O,useUpdatefolder as P,FOLDER as Q,React$2 as R,SvgPlus$1 as S,TreeView$1 as T,Label$1 as U,VisuallyHidden$1 as V,FormText$1 as W,SvgCopy$1 as X,useActions as Y,isActionAvailable as Z,Gt as _,useTranslation as a,SvgRafterUp$1 as a0,useFormControl as a1,TransportFrameworkFactory as a2,useResourceIds as a3,capitalizeFirstLetter as a4,RESOURCE as a5,SvgEdit$1 as a6,SvgDelete$1 as a7,AppIcon$1 as a8,useSearchContext as a9,useFolderIds as aa,J as ab,useScrollToTop as ac,dayjs as ad,SvgOptions$1 as ae,SvgFiles$1 as af,SvgOneProfile$1 as ag,SvgGlobe$1 as ah,SvgUsers$1 as ai,useOdeIcons as aj,getDefaultExportFromCjs$1 as ak,reactDomExports as b,useStoreActions as c,SvgArrowRight$1 as d,useTheme as e,clsx as f,useSearchParams as g,useUser as h,useSelectedResources as i,jsxRuntimeExports as j,useUpdateResource as k,useShareResource as l,useHotToast as m,SvgBookmark$1 as n,odeServices as o,Alert$1 as p,Avatar$1 as q,reactExports as r,SvgRafterDown$1 as s,IconButton$1 as t,useOdeClient as u,SvgClose$1 as v,SvgSave$1 as w,SvgInfoCircle$1 as x,Input$1 as y,useDelete as z};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ode-explorer",
3
- "version": "1.0.2",
3
+ "version": "1.2.2",
4
4
  "description": "Open Digital Education Explorer",
5
5
  "homepage": "https://github.com/opendigitaleducation/explorer#readme",
6
6
  "bugs": {