ode-explorer 2.4.4-develop-pedago.202512081655 → 2.4.4-develop-pedago.202512181041
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/lib/index2.js +4 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1415,7 +1415,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1415
1415
|
${Object.keys(rt).map(at=>`--${tt}-${at}: ${rt[at]};`).join(`
|
|
1416
1416
|
`)}
|
|
1417
1417
|
}
|
|
1418
|
-
`.trim()}function registerTheme(tt,et){const rt=getStyle(tt,et);canUseDom()&&updateCSS(rt,`${dynamicStyleMark}-dynamic-theme`)}const DisabledContext=reactExports.createContext(!1),DisabledContextProvider=({children:tt,disabled:et})=>{const rt=reactExports.useContext(DisabledContext);return reactExports.createElement(DisabledContext.Provider,{value:et??rt},tt)},SizeContext=reactExports.createContext(void 0),SizeContextProvider=({children:tt,size:et})=>{const rt=reactExports.useContext(SizeContext);return reactExports.createElement(SizeContext.Provider,{value:et||rt},tt)};function useConfig(){const tt=reactExports.useContext(DisabledContext),et=reactExports.useContext(SizeContext);return{componentDisabled:tt,componentSize:et}}function useEvent(tt){var et=reactExports.useRef();et.current=tt;var rt=reactExports.useCallback(function(){for(var nt,st=arguments.length,ot=new Array(st),at=0;at<st;at++)ot[at]=arguments[at];return(nt=et.current)===null||nt===void 0?void 0:nt.call.apply(nt,[et].concat(ot))},[]);return rt}function useSafeState(tt){var et=reactExports.useRef(!1),rt=reactExports.useState(tt),nt=_slicedToArray(rt,2),st=nt[0],ot=nt[1];reactExports.useEffect(function(){return et.current=!1,function(){et.current=!0}},[]);function at(lt,ct){ct&&et.current||ot(lt)}return[st,at]}var BEAT_LIMIT=1e3*60*10,ArrayKeyMap=function(){function tt(){_classCallCheck(this,tt),_defineProperty(this,"map",new Map),_defineProperty(this,"objectIDMap",new WeakMap),_defineProperty(this,"nextID",0),_defineProperty(this,"lastAccessBeat",new Map),_defineProperty(this,"accessBeat",0)}return _createClass(tt,[{key:"set",value:function(rt,nt){this.clear();var st=this.getCompositeKey(rt);this.map.set(st,nt),this.lastAccessBeat.set(st,Date.now())}},{key:"get",value:function(rt){var nt=this.getCompositeKey(rt),st=this.map.get(nt);return this.lastAccessBeat.set(nt,Date.now()),this.accessBeat+=1,st}},{key:"getCompositeKey",value:function(rt){var nt=this,st=rt.map(function(ot){return ot&&_typeof(ot)==="object"?"obj_".concat(nt.getObjectID(ot)):"".concat(_typeof(ot),"_").concat(ot)});return st.join("|")}},{key:"getObjectID",value:function(rt){if(this.objectIDMap.has(rt))return this.objectIDMap.get(rt);var nt=this.nextID;return this.objectIDMap.set(rt,nt),this.nextID+=1,nt}},{key:"clear",value:function(){var rt=this;if(this.accessBeat>1e4){var nt=Date.now();this.lastAccessBeat.forEach(function(st,ot){nt-st>BEAT_LIMIT&&(rt.map.delete(ot),rt.lastAccessBeat.delete(ot))}),this.accessBeat=0}}}]),tt}();new ArrayKeyMap;const version="5.29.
|
|
1418
|
+
`.trim()}function registerTheme(tt,et){const rt=getStyle(tt,et);canUseDom()&&updateCSS(rt,`${dynamicStyleMark}-dynamic-theme`)}const DisabledContext=reactExports.createContext(!1),DisabledContextProvider=({children:tt,disabled:et})=>{const rt=reactExports.useContext(DisabledContext);return reactExports.createElement(DisabledContext.Provider,{value:et??rt},tt)},SizeContext=reactExports.createContext(void 0),SizeContextProvider=({children:tt,size:et})=>{const rt=reactExports.useContext(SizeContext);return reactExports.createElement(SizeContext.Provider,{value:et||rt},tt)};function useConfig(){const tt=reactExports.useContext(DisabledContext),et=reactExports.useContext(SizeContext);return{componentDisabled:tt,componentSize:et}}function useEvent(tt){var et=reactExports.useRef();et.current=tt;var rt=reactExports.useCallback(function(){for(var nt,st=arguments.length,ot=new Array(st),at=0;at<st;at++)ot[at]=arguments[at];return(nt=et.current)===null||nt===void 0?void 0:nt.call.apply(nt,[et].concat(ot))},[]);return rt}function useSafeState(tt){var et=reactExports.useRef(!1),rt=reactExports.useState(tt),nt=_slicedToArray(rt,2),st=nt[0],ot=nt[1];reactExports.useEffect(function(){return et.current=!1,function(){et.current=!0}},[]);function at(lt,ct){ct&&et.current||ot(lt)}return[st,at]}var BEAT_LIMIT=1e3*60*10,ArrayKeyMap=function(){function tt(){_classCallCheck(this,tt),_defineProperty(this,"map",new Map),_defineProperty(this,"objectIDMap",new WeakMap),_defineProperty(this,"nextID",0),_defineProperty(this,"lastAccessBeat",new Map),_defineProperty(this,"accessBeat",0)}return _createClass(tt,[{key:"set",value:function(rt,nt){this.clear();var st=this.getCompositeKey(rt);this.map.set(st,nt),this.lastAccessBeat.set(st,Date.now())}},{key:"get",value:function(rt){var nt=this.getCompositeKey(rt),st=this.map.get(nt);return this.lastAccessBeat.set(nt,Date.now()),this.accessBeat+=1,st}},{key:"getCompositeKey",value:function(rt){var nt=this,st=rt.map(function(ot){return ot&&_typeof(ot)==="object"?"obj_".concat(nt.getObjectID(ot)):"".concat(_typeof(ot),"_").concat(ot)});return st.join("|")}},{key:"getObjectID",value:function(rt){if(this.objectIDMap.has(rt))return this.objectIDMap.get(rt);var nt=this.nextID;return this.objectIDMap.set(rt,nt),this.nextID+=1,nt}},{key:"clear",value:function(){var rt=this;if(this.accessBeat>1e4){var nt=Date.now();this.lastAccessBeat.forEach(function(st,ot){nt-st>BEAT_LIMIT&&(rt.map.delete(ot),rt.lastAccessBeat.delete(ot))}),this.accessBeat=0}}}]),tt}();new ArrayKeyMap;const version="5.29.3";function isStableColor(tt){return tt>=0&&tt<=255}function getAlphaColor(tt,et){const{r:rt,g:nt,b:st,a:ot}=new FastColor(tt).toRgb();if(ot<1)return tt;const{r:at,g:lt,b:ct}=new FastColor(et).toRgb();for(let ut=.01;ut<=1;ut+=.01){const dt=Math.round((rt-at*(1-ut))/ut),ht=Math.round((nt-lt*(1-ut))/ut),ft=Math.round((st-ct*(1-ut))/ut);if(isStableColor(dt)&&isStableColor(ht)&&isStableColor(ft))return new FastColor({r:dt,g:ht,b:ft,a:Math.round(ut*100)/100}).toRgbString()}return new FastColor({r:rt,g:nt,b:st,a:1}).toRgbString()}var __rest$2=function(tt,et){var rt={};for(var nt in tt)Object.prototype.hasOwnProperty.call(tt,nt)&&et.indexOf(nt)<0&&(rt[nt]=tt[nt]);if(tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var st=0,nt=Object.getOwnPropertySymbols(tt);st<nt.length;st++)et.indexOf(nt[st])<0&&Object.prototype.propertyIsEnumerable.call(tt,nt[st])&&(rt[nt[st]]=tt[nt[st]]);return rt};function formatToken(tt){const{override:et}=tt,rt=__rest$2(tt,["override"]),nt=Object.assign({},et);Object.keys(seedToken).forEach(ft=>{delete nt[ft]});const st=Object.assign(Object.assign({},rt),nt),ot=480,at=576,lt=768,ct=992,ut=1200,dt=1600;if(st.motion===!1){const ft="0s";st.motionDurationFast=ft,st.motionDurationMid=ft,st.motionDurationSlow=ft}return Object.assign(Object.assign(Object.assign({},st),{colorFillContent:st.colorFillSecondary,colorFillContentHover:st.colorFill,colorFillAlter:st.colorFillQuaternary,colorBgContainerDisabled:st.colorFillTertiary,colorBorderBg:st.colorBgContainer,colorSplit:getAlphaColor(st.colorBorderSecondary,st.colorBgContainer),colorTextPlaceholder:st.colorTextQuaternary,colorTextDisabled:st.colorTextQuaternary,colorTextHeading:st.colorText,colorTextLabel:st.colorTextSecondary,colorTextDescription:st.colorTextTertiary,colorTextLightSolid:st.colorWhite,colorHighlight:st.colorError,colorBgTextHover:st.colorFillSecondary,colorBgTextActive:st.colorFill,colorIcon:st.colorTextTertiary,colorIconHover:st.colorText,colorErrorOutline:getAlphaColor(st.colorErrorBg,st.colorBgContainer),colorWarningOutline:getAlphaColor(st.colorWarningBg,st.colorBgContainer),fontSizeIcon:st.fontSizeSM,lineWidthFocus:st.lineWidth*3,lineWidth:st.lineWidth,controlOutlineWidth:st.lineWidth*2,controlInteractiveSize:st.controlHeight/2,controlItemBgHover:st.colorFillTertiary,controlItemBgActive:st.colorPrimaryBg,controlItemBgActiveHover:st.colorPrimaryBgHover,controlItemBgActiveDisabled:st.colorFill,controlTmpOutline:st.colorFillQuaternary,controlOutline:getAlphaColor(st.colorPrimaryBg,st.colorBgContainer),lineType:st.lineType,borderRadius:st.borderRadius,borderRadiusXS:st.borderRadiusXS,borderRadiusSM:st.borderRadiusSM,borderRadiusLG:st.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:st.sizeXXS,paddingXS:st.sizeXS,paddingSM:st.sizeSM,padding:st.size,paddingMD:st.sizeMD,paddingLG:st.sizeLG,paddingXL:st.sizeXL,paddingContentHorizontalLG:st.sizeLG,paddingContentVerticalLG:st.sizeMS,paddingContentHorizontal:st.sizeMS,paddingContentVertical:st.sizeSM,paddingContentHorizontalSM:st.size,paddingContentVerticalSM:st.sizeXS,marginXXS:st.sizeXXS,marginXS:st.sizeXS,marginSM:st.sizeSM,margin:st.size,marginMD:st.sizeMD,marginLG:st.sizeLG,marginXL:st.sizeXL,marginXXL:st.sizeXXL,boxShadow:`
|
|
1419
1419
|
0 6px 16px 0 rgba(0, 0, 0, 0.08),
|
|
1420
1420
|
0 3px 6px -4px rgba(0, 0, 0, 0.12),
|
|
1421
1421
|
0 9px 28px 8px rgba(0, 0, 0, 0.05)
|
|
@@ -1463,4 +1463,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1463
1463
|
*
|
|
1464
1464
|
* This source code is licensed under the MIT license found in the
|
|
1465
1465
|
* LICENSE file in the root directory of this source tree.
|
|
1466
|
-
*/var React=reactExports,shim=shimExports;function is(tt,et){return tt===et&&(tt!==0||1/tt===1/et)||tt!==tt&&et!==et}var objectIs=typeof Object.is=="function"?Object.is:is,useSyncExternalStore=shim.useSyncExternalStore,useRef=React.useRef,useEffect=React.useEffect,useMemo=React.useMemo,useDebugValue$1=React.useDebugValue;withSelector_production.useSyncExternalStoreWithSelector=function(tt,et,rt,nt,st){var ot=useRef(null);if(ot.current===null){var at={hasValue:!1,value:null};ot.current=at}else at=ot.current;ot=useMemo(function(){function ct(vt){if(!ut){if(ut=!0,dt=vt,vt=nt(vt),st!==void 0&&at.hasValue){var xt=at.value;if(st(xt,vt))return ht=xt}return ht=vt}if(xt=ht,objectIs(dt,vt))return xt;var yt=nt(vt);return st!==void 0&&st(xt,yt)?(dt=vt,xt):(dt=vt,ht=yt)}var ut=!1,dt,ht,ft=rt===void 0?null:rt;return[function(){return ct(et())},ft===null?void 0:function(){return ct(ft())}]},[et,rt,nt,st]);var lt=useSyncExternalStore(tt,ot[0],ot[1]);return useEffect(function(){at.hasValue=!0,at.value=lt},[lt]),useDebugValue$1(lt),lt};withSelector.exports=withSelector_production;var withSelectorExports=withSelector.exports;const useSyncExternalStoreExports=getDefaultExportFromCjs(withSelectorExports),{useDebugValue}=React$4,{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports,identity=tt=>tt;function useStore(tt,et=identity,rt){const nt=useSyncExternalStoreWithSelector(tt.subscribe,tt.getState,tt.getServerState||tt.getInitialState,et,rt);return useDebugValue(nt),nt}const searchContext=async tt=>{const et=await odeServices.resource(tt.application).searchContext(tt);return{...et,folders:et.folders.filter(rt=>!rt.trashed)}},createFolder=async({searchParams:tt,name:et,parentId:rt})=>{const nt={name:et,parentId:rt,application:tt.application,type:tt.types[0]};return await odeServices.resource(tt.application).createFolder(nt)},updateFolder=async({folderId:tt,searchParams:et,parentId:rt,name:nt})=>{const st={folderId:tt,name:nt,parentId:rt,application:et.application,type:et.types[0]};return await odeServices.resource(et.application).updateFolder(st)},trashAll=async({searchParams:tt,resourceIds:et,useAssetIds:rt,folderIds:nt})=>{const st={application:tt.application,resourceType:tt.types[0],resourceIds:et,folderIds:nt};return await odeServices.resource(tt.application).trashAll(st,rt)},deleteAll=async({searchParams:tt,resourceIds:et,useAssetIds:rt,folderIds:nt})=>{const st={application:tt.application,resourceType:tt.types[0],resourceIds:et,folderIds:nt};return await odeServices.resource(tt.application).deleteAll(st,rt)},restoreAll=async({searchParams:tt,resourceIds:et,folderIds:rt,useAssetIds:nt})=>{const st={application:tt.application,resourceType:tt.types[0],resourceIds:et,folderIds:rt};return await odeServices.resource(tt.application).restoreAll(st,nt)},copyResource=async(tt,et)=>await odeServices.resource(tt.application).copy({application:tt.application,resourceId:et}),moveToFolder=async({searchParams:tt,resourceIds:et,folderId:rt,folderIds:nt,useAssetIds:st})=>{const ot={application:tt.application,folderId:rt,resourceIds:et,folderIds:nt};return await odeServices.resource(tt.application).moveToFolder(ot,st)},sessionHasWorkflowRights=async tt=>await odeServices.rights().sessionHasWorkflowRights(tt),goToResource=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getViewUrl(et);window.open(rt,"_self")},createResource=({searchParams:tt,params:et})=>odeServices.resource(tt.application).create(et),printResource=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getPrintUrl(et);return window.open(rt,"_blank")},goToCreate=({searchParams:tt,folderId:et})=>{const rt=odeServices.resource(tt.application).getFormUrl(et);return window.open(rt,"_self")},goToEdit=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getEditUrl(et);return window.open(rt,"_self")},goToExport=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getExportUrl(et);return window.open(rt,"_self")},defaultFolder={id:FOLDER.DEFAULT,name:t$3("explorer.filters.mine"),section:!0,children:[]},initialState={config:void 0,searchConfig:{minLength:1},searchParams:{filters:{folder:FOLDER.DEFAULT,owner:void 0,shared:void 0,public:void 0},orders:{updatedAt:SORT_ORDER.DESC},application:"",types:[],pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:defaultFolder,selectedNodeId:"default",currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceOrFolderIsDraggable:{isDrag:!1,elementDrag:void 0},elementDragOver:{isOver:!1,isTreeview:!1,canMove:!0,overId:void 0},resourceActionDisable:!1,status:void 0},store=createStore()((tt,et)=>({...initialState,actions:{setConfig:rt=>tt({config:rt}),setSearchConfig:rt=>tt(nt=>({searchConfig:{...nt.searchConfig,...rt}})),setTreeData:rt=>tt(()=>({treeData:rt})),setSearchParams:rt=>{tt(nt=>{const{searchParams:st}=nt;return st.search!==rt.search?rt.search?{...nt,selectedFolders:[],selectedNodeId:void 0,selectedResources:[],currentFolder:void 0,searchParams:{...st,...rt,trashed:!1,filters:{...st.filters,folder:void 0}}}:{...nt,selectedFolders:[],selectedNodeId:"default",selectedResources:[],currentFolder:{id:"default"},searchParams:{...st,...rt,trashed:!1,filters:{...st.filters}}}:{searchParams:{...st,...rt}}})},setSelectedFolders:rt=>tt(()=>({selectedFolders:rt})),setSelectedResources:rt=>tt(()=>({selectedResources:rt})),setFolderIds:rt=>tt(()=>({folderIds:rt})),setResourceIds:rt=>tt(()=>({resourceIds:rt})),setResourceIsTrash:rt=>tt(()=>({resourceIsTrash:rt})),setResourceOrFolderIsDraggable:rt=>tt(()=>({resourceOrFolderIsDraggable:rt})),setElementDragOver:rt=>tt(()=>({elementDragOver:rt})),setResourceActionDisable:rt=>tt(()=>({resourceActionDisable:rt})),clearSelectedItems:()=>tt(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>tt(()=>({resourceIds:[],folderIds:[]})),openResource:rt=>{try{const{searchParams:nt}=et();goToResource({searchParams:nt,assetId:rt.assetId})}catch(nt){console.error("explorer open failed: ",nt)}},printSelectedResource:()=>{try{const{searchParams:rt,selectedResources:nt,resourceIds:st}=et();if(nt.length!==1)throw new Error("Cannot open more than 1 resource");const ot=nt.find(at=>at.id===st[0]);printResource({searchParams:rt,assetId:ot.assetId})}catch(rt){console.error("explorer print failed: ",rt)}},openFolder:({folderId:rt,folder:nt,queryClient:st})=>{const{searchParams:ot}=et(),at=ot.filters.folder,lt=rt;at!==rt&&(et().actions.fetchTreeData(rt,st),tt(ct=>({...ct,folderIds:[],resourceIds:[],selectedNodeId:lt,currentFolder:nt||{id:rt},searchParams:{...ot,search:void 0,filters:{...ot.filters,folder:rt},trashed:rt===FOLDER.BIN}})))},foldTreeItem:()=>tt(rt=>({...rt,status:"fold"})),fetchTreeData:async(rt,nt)=>{const st=findNodeById(et().treeData,rt),ot=st==null?void 0:st.id;if(Array.isArray(st==null?void 0:st.children)&&st.children.length)return;const at=await nt.fetchQuery({queryKey:["prefetchContext",{folderId:ot,trashed:!1}],queryFn:async()=>await searchContext({...et().searchParams,filters:{...et().searchParams.filters,folder:ot}})});et().actions.setTreeData(wrapTreeNode(et().treeData,at==null?void 0:at.folders,ot||FOLDER.DEFAULT))},selectTreeItem:(rt,nt)=>{const{treeData:st}=et(),{openFolder:ot,fetchTreeData:at}=et().actions,lt=findNodeById(st,rt);at(rt,nt),tt(ct=>({...ct,searchParams:{...ct.searchParams,search:void 0},status:"select",selectedResources:[]})),ot({folder:lt,folderId:rt})},gotoPreviousFolder:()=>{const{selectedNodeId:rt,treeData:nt,searchParams:st}=et(),{openFolder:ot}=et().actions;if(st.search&&ot({folder:defaultFolder,folderId:FOLDER.DEFAULT}),!rt)return;const at=findParentNode(nt,rt);ot({folder:at,folderId:(at==null?void 0:at.id)||FOLDER.DEFAULT})},goToTrash:()=>{tt(rt=>({...rt,selectedNodeId:void 0,selectedResources:[],resourceIds:[],folderIds:[],status:"select",searchParams:{...rt.searchParams,search:void 0,filters:{folder:FOLDER.BIN},trashed:!0},currentFolder:{id:FOLDER.BIN}}))}}}));function useStoreContext(tt){return useStore(store,tt)}const treeData=tt=>tt.treeData,actionsSelector=tt=>tt.actions,useTreeData=()=>useStoreContext(treeData),useStoreActions=()=>useStoreContext(actionsSelector),useSearchParams=()=>useStoreContext(tt=>tt.searchParams),useSelectedNodeId=()=>useStoreContext(tt=>tt.selectedNodeId),useSelectedFolders=()=>useStoreContext(tt=>tt.selectedFolders),useSelectedResources=()=>useStoreContext(tt=>tt.selectedResources),useSearchConfig=()=>useStoreContext(tt=>tt.searchConfig),useFolderIds=()=>useStoreContext(tt=>tt.folderIds),useResourceIds=()=>useStoreContext(tt=>tt.resourceIds),useResourceAssetIds=()=>useStoreContext(tt=>tt.selectedResources.map(et=>et.assetId)),useResourceWithoutIds=()=>useStoreContext(tt=>tt.selectedResources.filter(et=>et.assetId===et.id)),useCurrentFolder=()=>useStoreContext(tt=>tt.currentFolder),useIsTrash=()=>{const tt=useCurrentFolder();return(tt==null?void 0:tt.id)===FOLDER.BIN},useResourceIsTrash=()=>useStoreContext(tt=>tt.resourceIsTrash),useResourceOrFolderIsDraggable=()=>useStoreContext(tt=>tt.resourceOrFolderIsDraggable),useElementDragOver=()=>useStoreContext(tt=>tt.elementDragOver),useResourceActionDisable=()=>useStoreContext(tt=>tt.resourceActionDisable),useIsRoot=()=>{const tt=useCurrentFolder();return(tt==null?void 0:tt.id)==="default"},useTreeStatus=()=>useStoreContext(tt=>tt.status),useDisableModal=()=>{const tt=useResourceActionDisable(),{clearSelectedIds:et,setResourceActionDisable:rt,clearSelectedItems:nt}=useStoreActions();return{isActionDisableModalOpen:tt,onActionDisableCancel:()=>{et(),nt(),rt(!1)}}},useTrashModal=()=>{const tt=useResourceIsTrash(),{clearSelectedIds:et,setResourceIsTrash:rt,clearSelectedItems:nt}=useStoreActions();return{isTrashedModalOpen:tt,onTrashedCancel:()=>{et(),nt(),rt(!1)}}},DELAY=175,TOLERANCE=10,APP="blog",RESOURCE="blog";class BlogResourceService extends ResourceService{getEditUrl(){throw new Error("Method not implemented.")}async create(et){const rt=et.thumbnail?await this.getThumbnailPath(et.thumbnail):"",nt=et.public?"/blog/pub":"/blog",st=await this.http.post(nt,{title:et.name,description:et.description,visibility:et.public?"PUBLIC":"OWNER",thumbnail:rt,trashed:!1,folder:et.folder,slug:et.public?et.slug:"","publish-type":et.publishType||"RESTRAINT","comment-type":"IMMEDIATE"});return this.checkHttpResponse(st),st}async update(et){const rt=et.thumbnail?await this.getThumbnailPath(et.thumbnail):"",nt=await this.http.put(`/blog/${et.entId}`,{trashed:et.trashed,_id:et.entId,title:et.name,thumbnail:rt,description:et.description,visibility:et.public?"PUBLIC":"OWNER",slug:et.public?et.slug:"","publish-type":et["publish-type"]||"RESTRAINT","comment-type":"IMMEDIATE"});return this.checkHttpResponse(nt),{thumbnail:rt,entId:et.entId}}getResourceType(){return RESOURCE}getApplication(){return APP}getFormUrl(et){return et?`/blog?folderid=${et}#/edit/new`:"/blog#/edit/new"}getViewUrl(et){return`/blog/id/${et}`}getPrintUrl(et){return`/blog/print/${et}`}}ResourceService.register({application:APP,resourceType:RESOURCE},tt=>new BlogResourceService(tt));const rootElement=document.querySelector("[data-explorer-config]");let config;function getExplorerConfig(){var tt;if((tt=rootElement==null?void 0:rootElement.dataset)!=null&&tt.explorerConfig){const{explorerConfig:et}=rootElement.dataset;try{const rt=JSON.parse(et);config={...rt,service:BlogResourceService,enableOnboarding:rt.enableOnboarding!==void 0?rt.enableOnboarding:!0}}catch(rt){console.error("[Explorer Config] could not parse app params from root data attributes:",rootElement==null?void 0:rootElement.dataset,rt)}}return config}const actionsQueryOptions=(tt,et)=>{const rt=tt.map(st=>st.workflow),nt=new Set(rt);return{queryKey:[...nt],queryFn:()=>sessionHasWorkflowRights([...nt]),select:st=>tt.filter(ot=>st[ot.workflow]).map(ot=>({...ot,available:!0})),staleTime:1/0,enabled:!!et}},useActions=tt=>{const et=useStoreContext(rt=>rt.config);return useQuery(actionsQueryOptions(tt,et))},useSearchContext=()=>{const tt=useStoreContext(at=>at.config),et=useSearchParams(),{filters:rt,trashed:nt,search:st}=et,ot=["context",{folderId:rt.folder,filters:rt,trashed:nt,search:st}];return useInfiniteQuery({queryKey:ot,queryFn:async({pageParam:at})=>await searchContext({...et,application:tt==null?void 0:tt.app,types:tt==null?void 0:tt.types,pagination:{...et.pagination,startIdx:at}}),staleTime:5e3,initialPageParam:0,enabled:!!tt,retry:!1,getNextPageParam:at=>at.pagination.startIdx+at.pagination.pageSize})},useTrash=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),st=useFolderIds(),ot=useResourceAssetIds(),at=useResourceIds(),lt=useResourceWithoutIds().length>0,ct=lt?ot:at,{clearSelectedItems:ut,clearSelectedIds:dt,setTreeData:ht,setSearchParams:ft}=useStoreActions(),{filters:vt,trashed:xt}=rt,yt=["context",{folderId:vt.folder,filters:vt,trashed:xt}];return useMutation({mutationFn:async()=>await trashAll({searchParams:rt,folderIds:st,resourceIds:ct,useAssetIds:lt}),onError(Et){typeof Et=="string"&&tt.error(t$3(Et))},onSuccess:async Et=>{if(await et.cancelQueries({queryKey:yt}),et.getQueryData(yt))return tt.success(t$3("explorer.trash.title")),et.setQueryData(yt,wt=>{var St;if(wt){const Rt={...wt,pages:wt==null?void 0:wt.pages.map(It=>{var Pt;return{...It,folders:It.folders.filter(jt=>!st.includes(jt.id)),pagination:{...It.pagination,maxIdx:((Pt=It==null?void 0:It.pagination)==null?void 0:Pt.maxIdx)-Et.resources.length},resources:It.resources.filter(jt=>lt?!ot.includes(jt.assetId):!ct.includes(jt.id))}})},Tt=deleteNode(nt,{folders:st});return ht(Tt),ft({...rt,pagination:{...rt.pagination,maxIdx:((St=rt.pagination)==null?void 0:St.maxIdx)-Et.resources.length}}),Rt}})},onSettled:()=>{ut(),dt()}})},useRestore=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useFolderIds(),st=useResourceAssetIds(),ot=useResourceIds(),at=useResourceWithoutIds().length>0,lt=at?st:ot,{setFolderIds:ct,setResourceIds:ut,setSelectedResources:dt,setSelectedFolders:ht}=useStoreActions(),{filters:ft,trashed:vt}=rt,xt=["context",{folderId:ft.folder,filters:ft,trashed:vt}];return useMutation({mutationFn:async()=>await restoreAll({searchParams:rt,folderIds:nt,resourceIds:lt,useAssetIds:at}),onError(yt){typeof yt=="string"&&tt.error(t$3(yt))},onSuccess:async()=>{if(await et.cancelQueries({queryKey:xt}),et.getQueryData(xt))return tt.success(t$3("explorer.trash.toast")),et.setQueryData(xt,Et=>{if(Et)return{...Et,pages:Et==null?void 0:Et.pages.map(bt=>({...bt,folders:bt.folders.filter(wt=>!nt.includes(wt.id)),resources:bt.resources.filter(wt=>at?!st.includes(wt.assetId):!lt.includes(wt.id))}))}})},onSettled:()=>{ut([]),dt([]),ct([]),ht([])}})},useDelete=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useFolderIds(),st=useResourceAssetIds(),ot=useResourceIds(),at=useResourceWithoutIds().length>0,lt=at?st:ot,{clearSelectedItems:ct,clearSelectedIds:ut}=useStoreActions(),{filters:dt,trashed:ht}=rt,ft=["context",{folderId:dt.folder,filters:dt,trashed:ht}];return useMutation({mutationFn:async()=>await deleteAll({searchParams:rt,folderIds:nt,resourceIds:lt,useAssetIds:at}),onError(vt){typeof vt=="string"&&tt.error(t$3(vt))},onSuccess:async()=>{if(await et.cancelQueries({queryKey:ft}),et.getQueryData(ft))return tt.success(t$3("explorer.removed.from.trash")),et.setQueryData(ft,xt=>{if(xt)return{...xt,pages:xt==null?void 0:xt.pages.map(Et=>({...Et,folders:Et.folders.filter(bt=>!nt.includes(bt.id)),resources:Et.resources.filter(bt=>at?!st.includes(bt.assetId):!lt.includes(bt.id))}))}})},onSettled:()=>{ct(),ut()}})},useCopyResource=()=>{const tt=useToast(),et=useSearchParams(),rt=useQueryClient(),{user:nt}=useUser(),st=useCurrentFolder(),{filters:ot,trashed:at}=et,lt="duplicate_start",ct=["context",{folderId:ot.folder,filters:ot,trashed:at}];return useMutation({mutationFn:async ut=>(tt.info(t$3("duplicate.start"),{id:lt}),await copyResource(et,ut.assetId)),onSuccess:async(ut,dt)=>{tt.remove(lt),tt.success(t$3("duplicate.done")),await rt.cancelQueries({queryKey:ct});const ht=rt.getQueryData(ct),ft={...dt,name:`${dt.name}${t$3("duplicate.suffix")}`,assetId:ut.duplicateId,id:ut.duplicateId,creatorId:nt==null?void 0:nt.userId,creatorName:nt==null?void 0:nt.username,createdAt:Date.now(),slug:dt.slug||"",modifiedAt:Date.now(),modifierId:(nt==null?void 0:nt.userId)||"",modifierName:(nt==null?void 0:nt.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${nt==null?void 0:nt.userId}`]};ht&&rt.setQueryData(ct,vt=>{if(vt)return{...vt,pages:vt==null?void 0:vt.pages.map(xt=>({...xt,resources:[ft,...xt.resources]}))}}),st.id&&st.id!==FOLDER.DEFAULT&&moveToFolder({searchParams:et,resourceIds:[ut.duplicateId],folderId:st.id,folderIds:[],useAssetIds:!0})},onError:ut=>{tt.remove(lt),typeof ut=="string"&&tt.error(`${t$3("duplicate.error")}: ${ut}`)}})},useMoveItem=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),st=useFolderIds(),ot=useResourceAssetIds(),at=useResourceIds(),lt=useResourceWithoutIds().length>0,ct=lt?ot:at,{clearSelectedIds:ut,clearSelectedItems:dt,setTreeData:ht,setSearchParams:ft}=useStoreActions(),{filters:vt,trashed:xt}=rt,yt=["context",{folderId:vt.folder,filters:vt,trashed:xt}];return useMutation({mutationFn:async Et=>await moveToFolder({searchParams:rt,folderId:Et,folderIds:st,resourceIds:ct,useAssetIds:lt}),onError(Et){typeof Et=="string"&&tt.error(t$3(Et))},onSuccess:async(Et,bt)=>{if(et.getQueryData(yt))return et.setQueryData(yt,St=>{var Rt;if(St){const Tt=moveNode(nt,{destinationId:bt,folders:st}),It={...St,pages:St==null?void 0:St.pages.map(Pt=>{var jt;return{...Pt,folders:Pt.folders.filter($t=>!st.includes($t.id)),pagination:{...Pt.pagination,maxIdx:((jt=Pt.pagination)==null?void 0:jt.maxIdx)-Et.resources.length},resources:Pt.resources.filter($t=>lt?!ot.includes($t.assetId):!ct.includes($t.id))}})};return ht(Tt),ft({...rt,pagination:{...rt.pagination,maxIdx:((Rt=rt.pagination)==null?void 0:Rt.maxIdx)-Et.resources.length}}),It}});et.invalidateQueries()},onSettled:()=>{dt(),ut()}})},useCreateFolder=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),{setTreeData:st}=useStoreActions(),{filters:ot,trashed:at}=rt,lt=["context",{folderId:ot.folder,filters:ot,trashed:at}];return useMutation({mutationFn:async({name:ct,parentId:ut})=>await createFolder({searchParams:rt,name:ct,parentId:ut}),onError(ct){typeof ct=="string"&&tt.error(t$3(ct))},onSuccess:async(ct,ut)=>{await et.cancelQueries({queryKey:lt});const dt=et.getQueryData(lt),ht={...ct,parentId:ut.parentId,children:[],rights:[`creator:${ct==null?void 0:ct.creator_id}`]};if(dt)return et.setQueryData(lt,ft=>{if(ft){const vt={...ft,pages:ft==null?void 0:ft.pages.map(yt=>({...yt,folders:[...yt.folders,ht]}))},xt=addNode(nt,{parentId:ut.parentId,newFolder:ht});return st(xt),vt}})}})},useUpdatefolder=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),{setFolderIds:st,setSelectedFolders:ot,setTreeData:at}=useStoreActions(),{filters:lt,trashed:ct}=rt,ut=["context",{folderId:lt.folder,filters:lt,trashed:ct}];return useMutation({mutationFn:async({folderId:dt,name:ht,parentId:ft})=>await updateFolder({searchParams:rt,folderId:dt,parentId:ft,name:ht}),onError(dt){typeof dt=="string"&&tt.error(t$3(dt))},onSuccess:async(dt,ht)=>{if(await et.cancelQueries({queryKey:ut}),et.getQueryData(ut))return et.setQueryData(ut,vt=>{if(vt){const xt={...vt,pages:vt==null?void 0:vt.pages.map(Et=>({...Et,folders:Et.folders.map(bt=>bt.id===dt.id?{...dt,parentId:ht.parentId,rights:bt.rights}:bt)}))},yt=updateNode(nt,{folderId:ht.folderId,newFolder:dt});return at(yt),xt}})},onSettled:()=>{st([]),ot([])}})},useShareResource=tt=>{const et=useQueryClient(),rt=useSearchParams(),{setResourceIds:nt,setSelectedResources:st}=useStoreActions(),{filters:ot,trashed:at}=rt,lt=["context",{folderId:ot.folder,filters:ot,trashed:at}];return useShareMutation({application:tt,options:{onSuccess:async(ct,ut)=>{if(await et.cancelQueries({queryKey:lt}),et.getQueryData(lt))return et.setQueryData(lt,ht=>{if(ht)return{...ht,pages:ht==null?void 0:ht.pages.map(ft=>({...ft,resources:ft.resources.map(vt=>{if(vt.assetId===(ut==null?void 0:ut.resourceId)){let xt=[`creator:${vt.creatorId}`];return(ut==null?void 0:ut.rights.length)>=1&&(xt=[...xt,...ut.rights.flatMap(yt=>yt.actions.map(Et=>`${yt.type}:${yt.id}:${Et.id}`))]),{...vt,rights:xt}}else return vt})}))}})},onSettled:()=>{nt([]),st([])}}})},useUpdateResource=tt=>{const et=useQueryClient(),rt=useSearchParams(),{filters:nt,trashed:st}=rt,ot=["context",{folderId:nt.folder,filters:nt,trashed:st}];return useUpdateMutation({application:tt,options:{onSuccess:async(at,lt)=>{if(await et.cancelQueries({queryKey:ot}),et.getQueryData(ot))return et.setQueryData(ot,ut=>{if(ut)return{...ut,pages:ut==null?void 0:ut.pages.map(dt=>({...dt,resources:dt.resources.map(ht=>{if(ht.assetId===(lt==null?void 0:lt.entId)){const{name:ft,thumbnail:vt,public:xt,description:yt,slug:Et,...bt}=lt;return{...ht,...bt,name:ft,thumbnail:typeof vt=="string"?vt:URL.createObjectURL(vt),public:xt,description:yt,slug:Et}}else return ht})}))}})}}})},useCreateResource=({onResourceCreated:tt})=>{const et=useToast(),rt=useQueryClient(),nt=useSearchParams(),{user:st}=useUser(),{appCode:ot}=useEdificeClient(),at=["context",{folderId:nt.filters.folder,filters:nt.filters,trashed:nt.trashed}];return useMutation({mutationFn:async lt=>await createResource({searchParams:nt,params:lt}),onError(lt){typeof lt=="string"&&et.error(t$3(lt))},onSuccess:async(lt,ct)=>{var ht,ft,vt;await rt.cancelQueries({queryKey:at});const ut=rt.getQueryData(at),dt={...ct,thumbnail:lt.thumbnail||"",application:ot,assetId:lt._id||lt.entId||"",id:lt._id||lt.entId||"",creatorId:st==null?void 0:st.userId,creatorName:st==null?void 0:st.username,createdAt:Date.now(),slug:ct.slug||"",modifiedAt:((ht=lt.modified)==null?void 0:ht.$date)||"",modifierId:((ft=lt.author)==null?void 0:ft.userId)||"",modifierName:((vt=lt.author)==null?void 0:vt.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${st==null?void 0:st.userId}`]};if(tt==null||tt(dt),ut)return rt.setQueryData(at,xt=>{if(xt)return{...xt,pages:xt==null?void 0:xt.pages.map(yt=>({...yt,resources:[dt,...yt.resources]}))}})}})};function getChildrenIds(tt,et){var nt;const rt=findNodeById(tt,et);return(nt=rt==null?void 0:rt.folder)!=null&&nt.childrenIds?[...(rt==null?void 0:rt.folder.childrenIds)||[],et]:et===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function useDndKit(){const tt=useQueryClient(),et=useMoveItem(),rt=useToast(),{appCode:nt}=useEdificeClient(),{t:st}=useTranslation(["common",nt]),ot=st("explorer.filters.mine",{ns:nt}),{setResourceOrFolderIsDraggable:at,setElementDragOver:lt,setResourceIds:ct,setFolderIds:ut,fetchTreeData:dt}=useStoreActions(),ht=useTreeData(),vt=useSensor(PointerSensor,{activationConstraint:{delay:DELAY,tolerance:TOLERANCE}}),xt=useSensor(KeyboardSensor),yt=useSensors(vt,xt),Et=(Rt,Tt)=>{var It;((It=Rt.data.current)==null?void 0:It.type)==="resource"?rt.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[st("explorer.dragged.resource")," ",jsxRuntimeExports.jsx("strong",{children:Tt})]})):rt.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[st("explorer.dragged.folder")," ",jsxRuntimeExports.jsx("strong",{children:Tt})]}))};return{handleDragEnd:async Rt=>{const{over:Tt,active:It}=Rt,Pt=Tt==null?void 0:Tt.data.current,jt=It.data.current,$t=getAncestors(ht,Pt==null?void 0:Pt.id),Ut=getChildrenIds(ht,Pt==null?void 0:Pt.id);if((jt==null?void 0:jt.id)==(Pt==null?void 0:Pt.id)||$t.includes(jt==null?void 0:jt.id)||Ut.includes(jt==null?void 0:jt.id))ct([]),ut([]);else{const Nt=(Pt==null?void 0:Pt.name)??ot;if(Tt)try{await et.mutate(Pt==null?void 0:Pt.id),Et(It,Nt)}catch(Ht){console.error(Ht)}finally{lt({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})}}at({isDrag:!1,elementDrag:void 0})},handleDragStart:Rt=>{const{active:Tt}=Rt,It=Tt.data.current;(It==null?void 0:It.type)==="resource"?ct([It==null?void 0:It.id]):(It==null?void 0:It.type)==="folder"&&ut([It==null?void 0:It.id]),at({isDrag:!0,elementDrag:It==null?void 0:It.id})},handleDragOver:Rt=>{const{over:Tt,active:It}=Rt,Pt=Tt==null?void 0:Tt.data.current,jt=It==null?void 0:It.data.current,$t=getAncestors(ht,Pt==null?void 0:Pt.id),Ut=getChildrenIds(ht,Pt==null?void 0:Pt.id);if(Tt){const Nt={isOver:!0,canMove:!1,overId:Pt==null?void 0:Pt.id,isTreeview:Pt==null?void 0:Pt.isTreeview};(jt==null?void 0:jt.id)===(Pt==null?void 0:Pt.id)||$t.includes(jt==null?void 0:jt.id)||Ut.includes(jt==null?void 0:jt.id)?lt({...Nt,canMove:!1}):(dt(Pt==null?void 0:Pt.id,tt),lt({...Nt,canMove:!0}))}else lt({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})},sensors:yt}}const EmptyScreenApp$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenApp$1),void 0)),EmptyScreenSearch$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenSearch$1),void 0)),EmptyScreenError$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenError$1),void 0)),EmptyScreenNoContentInFolder$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenNoContentInFolder$1),void 0)),EmptyScreenTrash$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenTrash$1),void 0)),FoldersList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FoldersList$1),void 0)),ResourcesList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourcesList$1),void 0)),List=()=>{const tt=useIsRoot(),et=useIsTrash(),rt=useSelectedNodeId(),nt=useSearchParams(),st=useCurrentFolder(),ot=useToast(),at=useQueryClient(),{appCode:lt}=useEdificeClient(),{t:ct}=useTranslation([lt]),{setSearchParams:ut,setSearchConfig:dt,fetchTreeData:ht}=useStoreActions(),{data:ft,isError:vt,error:xt,isLoading:yt,isFetching:Et,fetchNextPage:bt}=useSearchContext(),wt=(ft==null?void 0:ft.pages[0].folders.length)===0,St=(ft==null?void 0:ft.pages[0].resources.length)===0,Rt=wt&&St;return reactExports.useEffect(()=>{var Tt,It;ft&&((Tt=ft==null?void 0:ft.pages[0])!=null&&Tt.searchConfig&&dt(ft.pages[0].searchConfig),!nt.search&&st.id==="default"&&ht(st.id,at),ut({...nt,pagination:(It=ft==null?void 0:ft.pages[(ft==null?void 0:ft.pages.length)-1])==null?void 0:It.pagination}))},[ft]),reactExports.useEffect(()=>{xt&&typeof xt=="string"&&ot.error(ct(xt))},[xt]),yt?jsxRuntimeExports.jsx(LoadingScreen,{}):vt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenError$2,{})}):nt.search&&Rt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenSearch$2,{})}):tt&&Rt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenApp$2,{})}):rt&&Rt&&!et?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenNoContentInFolder$2,{})}):et&&(ft==null?void 0:ft.pages[0].resources.length)===0?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenTrash$2,{})}):jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(FoldersList$2,{data:ft,isFetching:Et}),jsxRuntimeExports.jsx(ResourcesList$2,{data:ft,isFetching:Et,fetchNextPage:bt})]})},SvgIconArrowLeft=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.707 4.293a1 1 0 0 1 0 1.414L6.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0",clipRule:"evenodd"})]}),SvgIconFiles=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M20.91 9.14v1.27H8.25a4.7 4.7 0 0 0-3.86 1.98L1.5 16.53V6.4a2.3 2.3 0 0 1 .77-1.69A2.68 2.68 0 0 1 4.11 4h3.73a2.68 2.68 0 0 1 1.84.71c.25.22.45.48.58.77s.2.6.2.92v.34h7.84c.7.01 1.35.27 1.84.71.49.45.76 1.06.77 1.7ZM8.25 11.92h14.47c.63 0 1 .68.64 1.18l-3.52 5.04a3.13 3.13 0 0 1-2.57 1.32H2.79c-.62 0-.99-.68-.64-1.18l3.53-5.04a3.13 3.13 0 0 1 2.57-1.32",clipRule:"evenodd"})]}),SvgIconFilter=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1.093 2.58A1 1 0 0 1 2 2h20a1 1 0 0 1 .764 1.646L15 12.826V21a1 1 0 0 1-1.447.894l-4-2A1 1 0 0 1 9 19v-6.174l-7.764-9.18a1 1 0 0 1-.143-1.067M4.155 4l6.609 7.814a1 1 0 0 1 .236.646v5.922l2 1V12.46a1 1 0 0 1 .236-.646L19.845 4z",clipRule:"evenodd"})]}),SvgIconMove=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.707 8.293a1 1 0 0 1 0 1.414L3.414 12l2.293 2.293a1 1 0 1 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0M11.293 1.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1-1.414 1.414L12 3.414 9.707 5.707a1 1 0 0 1-1.414-1.414zM8.293 18.293a1 1 0 0 1 1.414 0L12 20.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414M18.293 8.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L20.586 12l-2.293-2.293a1 1 0 0 1 0-1.414",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 12a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1",clipRule:"evenodd"})]}),useSearchForm=()=>{const tt=useSearchParams(),[et,rt]=reactExports.useState(""),nt=useSearchConfig(),st=useTreeStatus(),ot=reactExports.useRef(null),{setSearchParams:at}=useStoreActions(),lt=dt=>{const ht=dt.target.value;rt(ht.toString())},ct=dt=>{(dt.key==="Enter"||dt.key==="Return")&&(dt.preventDefault(),at({search:et||void 0}))},ut=dt=>{dt.preventDefault(),at({search:et||void 0})};return reactExports.useEffect(()=>{const ht=et.length==0||et.length>=nt.minLength?{search:et||void 0}:{};at({...tt,...ht})},[et,nt.minLength]),reactExports.useEffect(()=>{st==="select"&&rt("")},[st]),reactExports.useEffect(()=>{rt(()=>{var dt;return((dt=tt.search)==null?void 0:dt.toString())??""})},[tt]),{formRef:ot,inputSearch:et,handleInputSearchChange:lt,handleKeyPress:ct,handleSearchSubmit:ut}},useSelectedFilters=()=>{const{appCode:tt,currentApp:et}=useEdificeClient(),{t:rt}=useTranslation(),[nt,st]=reactExports.useState(""),ot=dt=>{if(dt==="0"){st("");return}st(dt)},at=useCurrentFolder(),lt=useSearchParams(),{setSearchParams:ct}=useStoreActions();reactExports.useEffect(()=>{const dt=()=>nt.includes("1")?!0:void 0,ht=()=>nt.includes("2")?!0:void 0,ft=()=>nt.includes("7")?!0:void 0;ct({...lt,filters:{owner:dt(),public:ft(),shared:ht(),folder:at?at.id:"default"}})},[at,ct,nt]);const ut=[{label:rt("explorer.filter.all",{ns:tt}),value:"0"},{label:rt("explorer.filter.owner",{ns:tt}),value:"1"},{label:rt("explorer.filter.shared",{ns:tt}),value:"2"},...(et==null?void 0:et.displayName)=="exercizer"?[{label:"Exercices interactifs",value:"3"}]:[],...(et==null?void 0:et.displayName)=="exercizer"?[{label:"Exercices à rendre",value:"4"}]:[],...(et==null?void 0:et.displayName)=="pages"?[{label:"Projets publics",value:"5"}]:[],...(et==null?void 0:et.displayName)=="pages"?[{label:"Projets internes",value:"6"}]:[],...(et==null?void 0:et.displayName)=="blog"?[{label:rt("explorer.filter.public",{ns:tt}),value:"7"}]:[]];return{selectedFilters:nt,options:ut,handleOnSelectFilter:ot}},SearchForm=()=>{const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation(),{selectedFilters:rt,options:nt,handleOnSelectFilter:st}=useSelectedFilters(),{formRef:ot,inputSearch:at,handleInputSearchChange:lt,handleKeyPress:ct,handleSearchSubmit:ut}=useSearchForm(),dt=rt.length>0?rt.length:void 0;return jsxRuntimeExports.jsxs("form",{noValidate:!0,className:"bg-light p-16 ps-24 ms-n16 ms-lg-n24 me-n16 position-relative d-flex gap-8",ref:ot,children:[jsxRuntimeExports.jsxs(FormControl,{id:"search",className:"input-group",children:[jsxRuntimeExports.jsx(Input,{type:"search",placeholder:et("explorer.label.search",{ns:tt}),size:"lg",noValidationIcon:!0,value:at,onChange:lt,onKeyDown:ct}),jsxRuntimeExports.jsx(SearchButton,{type:"submit","aria-label":et("explorer.label.search",{ns:tt}),onClick:ut})]}),jsxRuntimeExports.jsxs(Dropdown,{placement:"bottom-end",children:[jsxRuntimeExports.jsx(Dropdown.Trigger,{label:et("explorer.filters"),icon:jsxRuntimeExports.jsx(SvgIconFilter,{width:20}),variant:"ghost",badgeContent:dt}),jsxRuntimeExports.jsx(Dropdown.Menu,{children:nt.map(ht=>ht.value==="0"?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:ht.value,model:rt,onChange:()=>st(ht.value),children:ht.label}),jsxRuntimeExports.jsx(Dropdown.Separator,{})]},"0"):jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:ht.value,model:rt,onChange:()=>st(ht.value),children:ht.label},ht.value))})]})]})},TrashButton=({id:tt,selected:et,onSelect:rt})=>{const{t:nt}=useTranslation();return jsxRuntimeExports.jsx("div",{className:"treeview",children:jsxRuntimeExports.jsx("ul",{role:"tree",className:"m-0 p-0",children:jsxRuntimeExports.jsx("li",{id:tt,role:"treeitem","aria-selected":et,children:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("div",{className:"action-container",children:jsxRuntimeExports.jsx("div",{onClick:rt,role:"button",tabIndex:0,children:jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[jsxRuntimeExports.jsx(SvgIconDelete,{width:"20",height:"20"}),jsxRuntimeExports.jsx("span",{children:nt("explorer.tree.trash")})]})})})})})})})},CreateFolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),TreeViewContainer=()=>{const[tt,et]=useToggle(),rt=useQueryClient(),nt=useTreeData(),st=useIsTrash(),ot=useSelectedNodeId(),at=useElementDragOver(),lt=useScrollToTop(),ct=st?FOLDER.BIN:ot,{appCode:ut}=useEdificeClient(),{t:dt}=useTranslation(["common",ut]),ht={...nt,name:dt("explorer.filters.mine",{ns:ut})},{goToTrash:ft,selectTreeItem:vt,clearSelectedItems:xt,clearSelectedIds:yt,fetchTreeData:Et}=useStoreActions(),bt=Rt=>{vt(Rt,rt),lt()},wt=Rt=>{var Pt,jt;const Tt=findNodeById(nt,Rt),It=(Pt=Tt==null?void 0:Tt.children)==null?void 0:Pt.some($t=>{var Ut;return Array.isArray($t==null?void 0:$t.children)&&((Ut=$t.children)==null?void 0:Ut.length)>0});(jt=Tt==null?void 0:Tt.children)==null||jt.forEach($t=>{It||Et($t.id,rt)})},St=()=>{xt(),yt(),et()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(TreeView,{data:ht,selectedNodeId:ct,draggedNode:at!=null&&at.isTreeview?at:void 0,onTreeItemClick:bt,onTreeItemUnfold:wt}),jsxRuntimeExports.jsx(TrashButton,{id:FOLDER.BIN,selected:st,onSelect:ft}),jsxRuntimeExports.jsx("div",{className:"d-grid my-16",children:jsxRuntimeExports.jsx(Button,{disabled:st,type:"button",color:"primary",variant:"outline",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),onClick:St,children:dt("explorer.folder.new")})}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:tt&&jsxRuntimeExports.jsx(CreateFolderModal,{edit:!1,isOpen:tt,onSuccess:et,onCancel:et})})]})};function ExplorerBreadcrumb(){const{appCode:tt}=useEdificeClient(),{gotoPreviousFolder:et}=useStoreActions(),{t:rt}=useTranslation(["common",tt]),{inputSearch:nt}=useSearchForm(),st=useSelectedNodeId(),ot=useIsTrash(),at=useCurrentFolder(),lt=rt("explorer.tree.trash"),ct=rt("explorer.tree.search"),ut=rt("explorer.filters.mine",{ns:tt}),dt=(at==null?void 0:at.name)||ut;return jsxRuntimeExports.jsx("div",{className:"py-16",children:st&&st!=="bin"&&st!=="default"&&!ot?jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8",children:[jsxRuntimeExports.jsx(IconButton,{icon:jsxRuntimeExports.jsx(SvgIconArrowLeft,{}),variant:"ghost",color:"tertiary","aria-label":rt("back"),className:"ms-n16",onClick:et}),jsxRuntimeExports.jsx("p",{className:"body py-8 text-truncate",children:jsxRuntimeExports.jsx("strong",{children:dt})})]}):jsxRuntimeExports.jsx("h2",{className:"body py-8 fw-bold",children:nt.length!==0?ct:ot?lt:ut})})}const illuTrashDelete="/assets/js/ode-explorer/illu-trash-delete.svg",illuTrashMenu="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='version_orange'%20data-name='version%20orange'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20353.36'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23fff;%20}%20.cls-2%20{%20fill:%20%23aadaed;%20}%20.cls-3%20{%20fill:%20%23ffefe3;%20}%20.cls-4%20{%20fill:%20none;%20stroke:%20%23aadaed;%20stroke-miterlimit:%2010;%20stroke-width:%204px;%20}%20.cls-5%20{%20fill:%20%232a9cc8;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='ciseaux'%3e%3cpath%20class='cls-3'%20d='m512.64,45.09H61.92c-11.56,0-20.93,9.37-20.93,20.93v232.01c0,11.56,9.37,20.93,20.93,20.93h450.72c11.56,0,20.93-9.37,20.93-20.93V66.02c0-11.56-9.37-20.93-20.93-20.93ZM211.25,212.37c0,7.55-6.12,13.66-13.66,13.66h-108.21c-7.55,0-13.66-6.12-13.66-13.66v-112.62c0-7.55,6.12-13.66,13.66-13.66h108.21c7.55,0,13.66,6.12,13.66,13.66v112.62Zm150.21-41.03h-94.5c-4.42,0-8-3.58-8-8s3.58-8,8-8h94.5c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm105.82,118.05H164.74c-4.42,0-8-3.58-8-8s3.58-8,8-8h302.55c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm-3.54-169.27h-196.7c-6.38,0-11.55-5.17-11.55-11.55s5.17-11.55,11.55-11.55h196.7c6.38,0,11.55,5.17,11.55,11.55s-5.17,11.55-11.55,11.55Zm-332.66,158.93c0,13.56-10.99,24.55-24.55,24.55s-24.55-10.99-24.55-24.55,10.99-24.55,24.55-24.55,24.55,10.99,24.55,24.55Z'/%3e%3c/g%3e%3crect%20class='cls-5'%20x='420.8'%20y='58.38'%20width='100.39'%20height='100.39'%20rx='20'%20ry='20'/%3e%3cg%20id='ciseaux-2'%20data-name='ciseaux'%3e%3cpath%20class='cls-4'%20d='m513.58,45.09H60.99c-11.05,0-20,8.95-20,20v233.88c0,11.05,8.95,20,20,20h452.59c11.05,0,20-8.95,20-20V65.09c0-11.05-8.95-20-20-20Z'/%3e%3c/g%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='84.02'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='109.3'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='133.13'%20r='7.02'/%3e%3cg%3e%3cpath%20class='cls-2'%20d='m449.99,215.32c-.39,0-.76-.08-1.12-.24l-9.44-4.22c-.69-.31-1.23-.9-1.48-1.62-.25-.72-.18-1.52.17-2.19l3.92-7.33-13.25-5.79c-.83-.36-1.43-1.11-1.6-2.01s.11-1.81.76-2.45l40.08-40.08c.52-.52,1.21-.81,1.94-.81,1.52,0,2.75,1.23,2.75,2.75v57.58c0,.75-.3,1.45-.83,1.97-.52.5-1.2.78-1.91.78h0c-.38,0-.75-.08-1.1-.23l-12.85-5.61-3.53,7.87c-.44.99-1.43,1.62-2.51,1.62Z'/%3e%3cpath%20class='cls-1'%20d='m469.97,150.6c.38,0,.75.3.75.75v57.58c0,.43-.35.75-.75.75-.1,0-.2-.02-.3-.06l-13.99-6.11c-.1-.04-.2-.06-.3-.06-.29,0-.56.16-.68.44l-4.03,9c-.12.28-.4.44-.68.44-.1,0-.21-.02-.3-.07l-9.44-4.22c-.4-.18-.56-.65-.35-1.04l4.56-8.53c.21-.38.04-.86-.36-1.04l-14.5-6.33c-.48-.21-.6-.84-.23-1.21l40.08-40.08c.15-.15.34-.22.52-.22m0-4c-1.26,0-2.45.49-3.35,1.39l-40.08,40.08c-1.11,1.11-1.6,2.7-1.31,4.24.29,1.54,1.33,2.84,2.77,3.47l11.27,4.92-2.9,5.42c-.62,1.16-.73,2.53-.31,3.78.42,1.24,1.36,2.26,2.55,2.8l9.44,4.22c.61.27,1.27.41,1.94.41,1.87,0,3.57-1.1,4.33-2.81l2.72-6.06,11.04,4.82c.6.26,1.24.4,1.9.4,2.62,0,4.75-2.13,4.75-4.75v-57.58c0-2.62-2.13-4.75-4.75-4.75h0Z'/%3e%3c/g%3e%3c/svg%3e",illuTrashNotif="data:image/svg+xml,%3csvg%20width='300'%20height='214'%20viewBox='0%200%20300%20214'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='300'%20height='214'%20fill='white'/%3e%3cpath%20d='M187.994%20193.875H108.563C103.268%20193.875%2098.878%20189.768%2098.5214%20184.484L90.1194%2059.0277H209.67L198.01%20184.741C197.529%20189.915%20193.19%20193.875%20187.99%20193.875H187.994Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M150.47%20150.31L164.483%20157.961C166.929%20159.296%20169.995%20158.395%20171.33%20155.95C171.999%20154.726%20172.106%20153.35%20171.742%20152.111C171.378%20150.872%20170.539%20149.773%20169.319%20149.103C167.223%20147.96%20166.638%20146.217%20166.954%20144.029C168.388%20134.186%20188.167%20115.393%20171.091%20102.13L162.134%2097.2392C141.741%2090.047%20136.626%20116.845%20129.121%20123.372C127.456%20124.824%20125.672%20125.273%20123.577%20124.126C121.131%20122.791%20118.065%20123.692%20116.73%20126.137C116.061%20127.358%20115.954%20128.736%20116.318%20129.976C116.682%20131.215%20117.521%20132.314%20118.741%20132.983L131.537%20139.97L132.751%20140.632L150.467%20150.306L150.47%20150.31Z'%20fill='%23AADAED'/%3e%3cpath%20opacity='0.2'%20d='M171.095%20102.13L171.117%20102.144L171.095%20102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M171.095%20102.13L171.117%20102.141C171.187%20102.034%20171.253%20101.924%20171.315%20101.81C172.676%2099.3167%20171.76%2096.1913%20169.267%2094.8308C166.774%2093.4703%20163.649%2094.3895%20162.288%2096.8789C162.226%2096.9929%20162.167%2097.1068%20162.115%2097.2245L162.137%2097.2355L171.095%20102.126V102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M133.67%20142.455C138.56%20145.228%20143.451%20148%20148.341%20150.773C146.422%20154.365%20142.929%20156.483%20139.421%20156.23C138.921%20156.193%20136.292%20155.954%20134.328%20153.884C131.769%20151.188%20131.438%20146.563%20133.674%20142.459L133.67%20142.455Z'%20fill='%23AADAED'/%3e%3cpath%20d='M145.56%2088.6624C145.125%2086.8475%20143.302%2085.7288%20141.488%2086.1636C139.674%2086.5984%20138.556%2088.4221%20138.991%2090.2369L156.729%20164.233C157.164%20166.048%20158.987%20167.166%20160.801%20166.732C162.615%20166.297%20163.732%20164.473%20163.297%20162.658L145.56%2088.6624Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M214.66%2037.9143H195.186L189.833%2028.707C187.068%2023.9526%20181.938%2021%20176.441%2021H125.492C120.44%2021%20115.693%2023.471%20112.796%2027.6149L105.592%2037.9143H85.1334C81.1916%2037.9143%2078%2041.1096%2078%2045.0477V46.592C78%2050.5338%2081.1953%2053.7254%2085.1334%2053.7254H214.66C218.602%2053.7254%20221.793%2050.5301%20221.793%2046.592V45.0477C221.793%2041.1059%20218.598%2037.9143%20214.66%2037.9143ZM122.437%2034.3586C123.132%2033.3621%20124.275%2032.7664%20125.489%2032.7664H176.437C177.761%2032.7664%20178.993%2033.4761%20179.658%2034.6196L181.574%2037.9143H119.947L122.433%2034.3586H122.437Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M187.064%2093.9335C187.56%2093.9777%20188.046%2093.7864%20188.542%2093.7313C189.038%2093.6761%20189.63%2093.8232%20189.822%2094.2828C190.108%2094.9778%20189.274%2095.6911%20189.369%2096.4376C189.424%2096.8604%20189.763%2097.1803%20190.079%2097.4635C190.719%2098.0334%20191.362%2098.607%20192.002%2099.177C192.164%2099.3204%20192.329%2099.4748%20192.384%2099.6807C192.454%2099.9307%20192.34%20100.192%20192.245%20100.434C191.829%20101.49%20191.789%20102.894%20192.723%20103.542C192.98%20103.722%20193.304%20103.828%20193.488%20104.086C193.693%20104.376%20193.66%20104.766%20193.605%20105.119C193.473%20105.994%20193.278%20106.858%20193.021%20107.708'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M105.681%20138.694C105.611%20140.003%20105.658%20141.562%20106.751%20142.29C106.993%20142.452%20107.276%20142.558%20107.493%20142.757C108.122%20143.331%20107.931%20144.353%20107.633%20145.151C107.335%20145.949%20106.982%20146.868%20107.409%20147.6C107.817%20148.298%20108.762%20148.493%20109.284%20149.111C109.813%20149.732%20109.828%20150.685%20110.387%20151.28C110.626%20151.534%20110.964%20151.721%20111.089%20152.049C111.189%20152.31%20111.126%20152.597%20111.126%20152.876C111.126%20153.63%20111.597%20154.321%20112.196%20154.781C112.796%20155.24%20113.516%20155.501%20114.226%20155.755'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",AppAction$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>AppAction$1),void 0)),Library$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>Library$1),void 0)),ActionBar=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ActionBarContainer$1),void 0)),DisableModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DisableModal$1),void 0)),TrashModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>TrashModal$1),void 0)),OnboardingModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>OnboardingModal),void 0)),Explorer=({config:tt})=>{const et=useSearchParams(),{setConfig:rt,setSearchParams:nt}=useStoreActions();reactExports.useEffect(()=>{rt(tt||{}),nt({...et,application:tt.app,types:tt.types})},[tt]);const{currentApp:st}=useEdificeClient(),{data:ot}=useActions(tt.actions),{isTrashedModalOpen:at,onTrashedCancel:lt}=useTrashModal(),{isActionDisableModalOpen:ct,onActionDisableCancel:ut}=useDisableModal(),{handleDragEnd:dt,handleDragOver:ht,handleDragStart:ft,sensors:vt}=useDndKit();useXitiTrackPageLoad();const xt=isActionAvailable("publish",ot),yt=isActionAvailable("create",ot);return tt&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(AppHeader,{render:()=>yt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(AppAction$2,{onResourceCreated:tt.onResourceCreated})}):null,children:jsxRuntimeExports.jsx(Breadcrumb,{app:st})}),jsxRuntimeExports.jsx(Grid,{className:"flex-grow-1",children:jsxRuntimeExports.jsxs(DndContext,{sensors:vt,modifiers:[snapCenterToCursor],onDragStart:ft,onDragEnd:dt,onDragOver:ht,children:[jsxRuntimeExports.jsx(Grid.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(TreeViewContainer,{}),xt&&jsxRuntimeExports.jsx(Library$2,{})]})}),jsxRuntimeExports.jsxs(Grid.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[jsxRuntimeExports.jsx(SearchForm,{}),jsxRuntimeExports.jsx(ExplorerBreadcrumb,{}),jsxRuntimeExports.jsx(List,{})]}),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(ActionBar,{}),tt.enableOnboarding&&jsxRuntimeExports.jsx(OnboardingModal$1,{id:"showOnboardingTrash",items:[{src:illuTrashMenu,alt:"explorer.modal.onboarding.trash.screen1.alt",text:"explorer.modal.onboarding.trash.screen1.title"},{src:illuTrashNotif,alt:"explorer.modal.onboarding.trash.screen2.alt",text:"explorer.modal.onboarding.trash.screen2.alt"},{src:illuTrashDelete,alt:"explorer.modal.onboarding.trash.screen3.alt",text:"explorer.modal.onboarding.trash.screen3.title"}],modalOptions:{title:"explorer.modal.onboarding.trash.title",prevText:"explorer.modal.onboarding.trash.prev",nextText:"explorer.modal.onboarding.trash.next",closeText:"explorer.modal.onboarding.trash.close"}}),at&&jsxRuntimeExports.jsx(TrashModal$2,{isOpen:at,onCancel:lt}),ct&&jsxRuntimeExports.jsx(DisableModal$2,{isOpen:ct,onCancel:ut})]})]})})]})};function Root(){const{init:tt}=useEdificeClient(),et=getExplorerConfig();return tt?jsxRuntimeExports.jsx(Layout,{children:jsxRuntimeExports.jsx(Explorer,{config:et})}):jsxRuntimeExports.jsx(LoadingScreen,{position:!1})}var ReactQueryDevtools2=function(){return null};const queryClient=new QueryClient({queryCache:new QueryCache({onError:tt=>{typeof tt=="string"&&tt===ERROR_CODE.NOT_LOGGED_IN&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}}),getHTMLConfig=getExplorerConfig(),Providers=({children:tt})=>jsxRuntimeExports.jsxs(QueryClientProvider,{client:queryClient,children:[jsxRuntimeExports.jsx(EdificeClientProvider,{params:{app:getHTMLConfig.app},children:jsxRuntimeExports.jsx(EdificeThemeProvider,{children:tt})}),jsxRuntimeExports.jsx(ReactQueryDevtools2,{initialIsOpen:!1})]}),root=document.getElementById("root");createRoot(root).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsx(Providers,{children:jsxRuntimeExports.jsx(Root,{})})}));const __variableDynamicImportRuntimeHelper=(tt,et,rt)=>{const nt=tt[et];return nt?typeof nt=="function"?nt():Promise.resolve(nt):new Promise((st,ot)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(ot.bind(null,new Error("Unknown variable dynamic import: "+et+(et.split("/").length!==rt?". Note that variables only represent file names one level deep.":""))))})};function EmptyScreenApp(){const{appCode:tt}=useEdificeClient(),{theme:et}=useEdificeTheme(),{t:rt}=useTranslation(),[nt,st]=reactExports.useState("");reactExports.useEffect(()=>{(async()=>{const ht=await __variableDynamicImportRuntimeHelper(Object.assign({"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-blog.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuBlog$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativeeditor.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativeeditor$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativewall.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativewall$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-error.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuError$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-exercizer.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuExercizer$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-homeworks.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuHomeworks$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-messagerie.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMessagerie$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-mindmap.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMindmap$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-no-content-in-folder.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuNoContentInFolder$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-pad.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuPad$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-scrapbook.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuScrapbook$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-search.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuSearch$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timeline.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimeline$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timelinegenerator.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimelinegenerator$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-trash.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTrash$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-wiki.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuWiki$1),void 0)}),`../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-${tt}.svg`,10);st(ht.default)})()},[tt]);const ot=useStoreContext(dt=>dt.config),{data:at}=useActions(ot==null?void 0:ot.actions),lt=at==null?void 0:at.find(dt=>dt.id==="create"),ct=()=>lt!=null&<.available&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.txt1d.create",{ns:tt}):lt!=null&<.available&&!(et!=null&&et.is1d)?rt("explorer.emptyScreen.txt2d.create",{ns:tt}):!(lt!=null&<.available)&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.txt1d.consultation",{ns:tt}):rt("explorer.emptyScreen.txt2d.consultation",{ns:tt}),ut=()=>lt!=null&<.available&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.title1d.create",{ns:tt}):lt!=null&<.available&&!(et!=null&&et.is1d)?rt("explorer.emptyScreen.title2d.create",{ns:tt}):!(lt!=null&<.available)&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.title1d.consultation",{ns:tt}):rt("explorer.emptyScreen.title2d.consultation",{ns:tt});return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:nt,imageAlt:rt("explorer.emptyScreen.app.alt",{ns:tt}),title:ut(),text:ct()})}const EmptyScreenApp$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenApp},Symbol.toStringTag,{value:"Module"})),illuSearch="/assets/js/ode-explorer/illu-search.svg",illuSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenSearch(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuSearch,imageAlt:et("explorer.emptyScreen.search.alt",{ns:tt}),text:et("explorer.emptyScreen.search.text",{ns:tt})})}const EmptyScreenSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenError(){const{t:tt}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuError,imageAlt:tt("explorer.emptyScreen.error.alt"),text:"explorer.emptyScreen.error.text"})}const EmptyScreenError$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenError},Symbol.toStringTag,{value:"Module"})),illuNoContentInFolder="/assets/js/ode-explorer/illu-no-content-in-folder.svg",illuNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenNoContentInFolder(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuNoContentInFolder,imageAlt:et("explorer.emptyScreen.folder.empty.alt",{ns:tt}),text:et("explorer.emptyScreen.label",{ns:tt})})}const EmptyScreenNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenTrash(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuTrash,imageAlt:et("explorer.emptyScreen.trash.alt"),title:et("explorer.emptyScreen.trash.title"),text:et("explorer.emptyScreen.trash.empty",{ns:tt})})}const EmptyScreenTrash$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenTrash},Symbol.toStringTag,{value:"Module"}));function CardIcon({app:tt,type:et}){return et==="folder"?jsxRuntimeExports.jsx(SvgIconFiles,{width:"24",height:"24",className:`color-app-${tt==null?void 0:tt.displayName}`}):et==="resource"?jsxRuntimeExports.jsx(AppIcon,{app:tt,iconFit:"ratio",size:"24",variant:"rounded"}):null}const DraggableCard=({app:tt,type:et,name:rt})=>{const nt={flexDirection:"row",width:"252px",height:"32px",boxShadow:"0 0.2rem 0.6em rgba(0, 0, 0, 0.15)"};return jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center card is-selected gap-8",style:nt,children:[jsxRuntimeExports.jsx("div",{className:"ms-8",children:jsxRuntimeExports.jsx(CardIcon,{app:tt,type:et})}),jsxRuntimeExports.jsx("div",{className:"text-truncate",children:rt})]})},FolderCard=({app:tt,name:et,idFolder:rt,isSelected:nt=!1,isSelectable:st=!0,onClick:ot,onSelect:at})=>{const[lt,ct]=reactExports.useState(!1),ut=reactExports.useId(),{lg:dt}=useBreakpoint(),{setNodeRef:ht}=useDroppable({id:ut,data:{id:rt,name:et,isTreeview:!1,accepts:["folder","resource"]}}),{attributes:ft,listeners:vt,setNodeRef:xt,transform:yt}=useDraggable({id:ut,data:{id:rt,type:"folder"},disabled:!dt}),Et=useResourceOrFolderIsDraggable(),bt=useElementDragOver(),wt=It=>{xt(It),ht(It)},St=bt.overId===rt,Rt=!bt.canMove&&bt.isTreeview?"no-drop":lt?"grabbing":"default",Tt={transform:`translate3d(${((yt==null?void 0:yt.x)??0)/1}px, ${((yt==null?void 0:yt.y)??0)/1}px, 0)`,cursor:Rt};return reactExports.useEffect(()=>{const It=Et.elementDrag===rt;ct(It)},[Et]),jsxRuntimeExports.jsx("div",{ref:wt,style:{...Tt},children:lt?jsxRuntimeExports.jsx(DraggableCard,{name:et,app:tt,type:"folder"}):jsxRuntimeExports.jsx(Card,{app:tt,isSelectable:!lt&&st,isSelected:!lt&&nt||St&<,isFocused:St,onClick:ot,onSelect:at,children:It=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!lt&&dt&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...vt,...ft,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx(SvgIconFiles,{width:"48",height:"48",className:`color-app-${It}`}),jsxRuntimeExports.jsx(Card.Title,{children:et})]})]})})})};FolderCard.displayName="FolderCard";const FoldersList=({data:tt})=>{var vt,xt;const et=useQueryClient(),rt=useSelectedFolders(),nt=useFolderIds(),st=useResourceOrFolderIsDraggable(),ot=useScrollToTop(),{currentApp:at}=useEdificeClient(),{setSelectedFolders:lt,setFolderIds:ct,openFolder:ut}=useStoreActions();function dt(yt){nt.includes(yt.id)?(ct(nt.filter(Et=>Et!==yt.id)),lt(rt.filter(Et=>Et.id!==yt.id))):(ct([yt.id,...nt]),lt([yt,...rt]))}function ht(yt){ot(),ut({folder:yt,folderId:yt.id,queryClient:et})}const ft=useSpring({from:{opacity:0},to:{opacity:1}});return(vt=tt==null?void 0:tt.pages[0])!=null&&vt.folders.length?jsxRuntimeExports.jsx(animated.ul,{className:"grid ps-0 list-unstyled mb-24",children:(xt=tt==null?void 0:tt.pages[0])==null?void 0:xt.folders.map(yt=>{const{id:Et,name:bt}=yt,wt=st.elementDrag===Et;return jsxRuntimeExports.jsx(animated.li,{className:`g-col-4 ${wt?"z-2000":"z-1"}`,style:{position:"relative",...ft},children:jsxRuntimeExports.jsx(FolderCard,{name:bt,idFolder:Et,app:at,isSelected:nt.includes(yt.id),onClick:St=>{St.stopPropagation(),ht(yt)},onSelect:()=>dt(yt)})},Et)})}):null},FoldersList$1=Object.freeze(Object.defineProperty({__proto__:null,default:FoldersList},Symbol.toStringTag,{value:"Module"})),ResourceCard=({app:tt,resource:et,time:rt,isSelected:nt=!1,isSelectable:st=!0,onClick:ot,onSelect:at})=>{const[lt,ct]=reactExports.useState(!1),ut=useIsTrash(),{lg:dt}=useBreakpoint(),ht=`/userbook/avatar/${et==null?void 0:et.creatorId}`;function ft(Pt){const{rights:jt,creatorId:$t}=Pt||{};return jt.filter(Nt=>!Nt.includes($t)).length>=1}const{attributes:vt,listeners:xt,setNodeRef:yt,transform:Et}=useDraggable({id:et.id,data:{id:et.id,type:"resource"},disabled:!!ut||!dt}),bt=ft(et),wt=et==null?void 0:et.public,St=useResourceOrFolderIsDraggable(),{appCode:Rt}=useEdificeClient(),{t:Tt}=useTranslation(),It={position:lt?"absolute":"relative",zIndex:lt?2e3:1,transform:`translate3d(${((Et==null?void 0:Et.x)??0)/1}px, ${((Et==null?void 0:Et.y)??0)/1}px, 0)`};return reactExports.useEffect(()=>{const Pt=St.elementDrag===et.id;ct(Pt)},[St]),jsxRuntimeExports.jsx("div",{ref:yt,style:{...It},children:lt?jsxRuntimeExports.jsx(DraggableCard,{app:tt,type:"resource",name:et==null?void 0:et.name}):jsxRuntimeExports.jsx(Card,{app:tt,isSelected:!lt&&nt,isSelectable:!lt&&st,onClick:ot,onSelect:at,children:()=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!lt&&dt&&!ut&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...xt,...vt,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx("div",{className:"card-image medium",children:et!=null&&et.thumbnail?jsxRuntimeExports.jsx(Image$1,{alt:"",src:`${et==null?void 0:et.thumbnail}?thumbnail=80x80`,objectFit:"cover",className:"h-full w-100"}):jsxRuntimeExports.jsx(AppIcon,{app:tt,iconFit:"ratio",size:"80",variant:"rounded"})}),jsxRuntimeExports.jsxs("div",{className:"text-truncate",children:[jsxRuntimeExports.jsx(Card.Title,{children:et==null?void 0:et.name}),jsxRuntimeExports.jsx(Card.Text,{children:jsxRuntimeExports.jsx("em",{children:rt})})]})]}),jsxRuntimeExports.jsxs(Card.Footer,{children:[jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8 text-truncate",children:[ht?jsxRuntimeExports.jsx(Avatar,{alt:(et==null?void 0:et.creatorName)||"",size:"xs",src:ht,variant:"circle",width:"24",height:"24"}):jsxRuntimeExports.jsx(SvgIconOneProfile,{}),jsxRuntimeExports.jsx(Card.Text,{children:et==null?void 0:et.creatorName})]}),jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8",children:[bt&&jsxRuntimeExports.jsx(Tooltip,{message:Tt("tooltip.shared",{ns:Rt}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconUsers,{width:16,height:16})}),wt&&jsxRuntimeExports.jsx(Tooltip,{message:Tt("tooltip.public",{ns:Rt}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconGlobe,{width:16,height:16})})]})]})]})})})};ResourceCard.displayName="ResourceCard";const ResourcesList=({data:tt,fetchNextPage:et})=>{const{currentApp:rt}=useEdificeClient(),{t:nt}=useTranslation(),{fromNow:st}=useDate(),ot=useSearchParams(),at=useResourceIds(),lt=useSelectedResources(),{setSelectedResources:ct,setResourceIds:ut,openResource:dt,setResourceIsTrash:ht}=useStoreActions(),ft=useIsTrash(),vt=useSpring({from:{opacity:0},to:{opacity:1}}),yt=ot.pagination.startIdx+ot.pagination.pageSize<(ot.pagination.maxIdx||0),Et=reactExports.useCallback(()=>{et()},[]),bt=Rt=>{ft?(ht(!0),ut([Rt.id]),ct([Rt])):dt(Rt)};async function wt(Rt){if(at.includes(Rt.id)){ut(at.filter(Tt=>Tt!==Rt.id)),ct(lt.filter(Tt=>Tt.id!==Rt.id));return}ut([...at,Rt.id]),ct([...lt,Rt])}const St=clsx("grid ps-0 list-unstyled");return jsxRuntimeExports.jsxs(React$4.Fragment,{children:[jsxRuntimeExports.jsx(animated.ul,{className:St,children:tt==null?void 0:tt.pages.map((Rt,Tt)=>jsxRuntimeExports.jsx(React$4.Fragment,{children:Rt.resources.map(It=>{const{id:Pt,updatedAt:jt}=It,$t=st(jt);return jsxRuntimeExports.jsx(animated.li,{className:"g-col-4",style:{position:"relative",...vt},children:jsxRuntimeExports.jsx(ResourceCard,{app:rt,resource:It,time:$t,isSelectable:!0,isSelected:at.includes(It.id),onClick:Ut=>{Ut.stopPropagation(),bt(It)},onSelect:()=>wt(It)})},Pt)})},Tt))}),yt&&jsxRuntimeExports.jsx("div",{className:"d-grid gap-2 col-4 mx-auto my-24",children:jsxRuntimeExports.jsx(Button,{type:"button",color:"secondary",variant:"filled",onClick:Et,children:nt("explorer.see.more")})})]})},ResourcesList$1=Object.freeze(Object.defineProperty({__proto__:null,default:ResourcesList},Symbol.toStringTag,{value:"Module"}));function useFolderModal({edit:tt,onSuccess:et,onClose:rt}){var Rt;const nt=useSelectedFolders(),st=useCurrentFolder(),ot=useCreateFolder(),at=useUpdatefolder(),lt=tt?(Rt=nt[0])==null?void 0:Rt.name:void 0,{reset:ct,register:ut,handleSubmit:dt,setFocus:ht,formState:{errors:ft,isSubmitting:vt,isDirty:xt,isValid:yt}}=useForm({mode:"onChange",values:{name:lt||""}}),Et=reactExports.useId(),bt=async function({name:Tt}){var It;try{if(tt){const Pt=(It=nt[0])==null?void 0:It.parentId,$t=nt[0].id;await at.mutate({folderId:$t,parentId:Pt,name:Tt}),ct(),et==null||et()}else{const Pt=(st==null?void 0:st.id)||FOLDER.DEFAULT;await ot.mutate({name:Tt,parentId:Pt}),ct(),et==null||et()}}catch(Pt){console.error(Pt)}};function wt(){ct(),rt()}return{formId:`createModal_${Et}`,errors:ft,isSubmitting:vt,isDirty:xt,isValid:yt,register:ut,setFocus:ht,handleSubmit:dt,onCancel:wt,onSubmit:bt}}function FolderModal$1({isOpen:tt,edit:et,onSuccess:rt,onCancel:nt}){const{t:st}=useTranslation(),{isDirty:ot,isValid:at,isSubmitting:lt,formId:ct,onSubmit:ut,onCancel:dt,handleSubmit:ht,register:ft,setFocus:vt}=useFolderModal({edit:et,onSuccess:rt,onClose:nt});return reactExports.useEffect(()=>{tt&&vt("name")},[tt,vt]),tt?reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:dt,id:"modal_"+ct,children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:dt,children:st(et?"explorer.rename.folder":"explorer.create.folder")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("form",{id:ct,onSubmit:ht(ut),children:jsxRuntimeExports.jsxs(FormControl,{id:"nameFolder",isRequired:!0,children:[jsxRuntimeExports.jsx(Label,{children:st("explorer.create.folder.name")}),jsxRuntimeExports.jsx(Input,{type:"text",...ft("name",{required:!0,maxLength:60,pattern:{value:/[^ ]/,message:"invalid title"}}),placeholder:st("explorer.create.folder.name"),size:"md","aria-required":!0,maxLength:60})]})})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:dt,type:"button",variant:"ghost",children:st("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{form:ct,type:"submit",color:"primary",variant:"filled",disabled:!ot||!at||lt,children:st(et?"explorer.rename":"explorer.create")})]})]}),document.getElementById("portal")):null}const FolderModal$2=Object.freeze(Object.defineProperty({__proto__:null,default:FolderModal$1},Symbol.toStringTag,{value:"Module"})),CreateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0));function AppAction({onResourceCreated:tt}){const[et,rt]=useToggle(),nt=useStoreContext(xt=>xt.config),{appCode:st}=useEdificeClient(),{t:ot}=useTranslation(st),{clearSelectedItems:at,clearSelectedIds:lt}=useStoreActions(),{data:ct}=useActions(nt==null?void 0:nt.actions),ut=ct==null?void 0:ct.find(xt=>xt.id==="create"),dt=useCurrentFolder(),ht=useCreateResource({onResourceCreated:tt}),ft=useSearchParams(),vt=()=>{if(st=="scrapbook"){goToCreate({searchParams:ft,folderId:dt.id});return}at(),lt(),rt()};return ut?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),className:"ms-auto",onClick:vt,children:ot("explorer.create.title")}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:et&&jsxRuntimeExports.jsx(CreateModal,{mode:"create",currentFolder:dt,createResource:ht,isOpen:et,onSuccess:rt,onCancel:rt,children:(xt,yt,Et,bt,wt)=>st==="blog"&&isActionAvailable("createPublic",ct)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:st,isUpdating:yt,resource:xt,watch:Et,setValue:bt,register:wt})})})]}):null}const AppAction$1=Object.freeze(Object.defineProperty({__proto__:null,default:AppAction},Symbol.toStringTag,{value:"Module"})),imageLibraryNeo="/assets/js/ode-explorer/image-library.svg",imageLibraryOne="/assets/js/ode-explorer/image-library.svg",useLibrary=()=>{const tt=useLibraryUrl(),{theme:et}=useEdificeTheme(),[rt,nt]=reactExports.useState("");return reactExports.useEffect(()=>{var lt,ct;const ot={neo:imageLibraryNeo,one:imageLibraryOne},at=((ct=(lt=et==null?void 0:et.bootstrapVersion)==null?void 0:lt.toString())==null?void 0:ct.toLowerCase())||"neo";nt(ot[at]||imageLibraryNeo)},[et]),{libraryUrl:tt,imageFullURL:rt,handleClick:()=>{tt&&(window.open(tt,"_blank"),odeServices.data().trackAccessLibraryFromExplorer())}}},Library=()=>{const{libraryUrl:tt,imageFullURL:et,handleClick:rt}=useLibrary(),{t:nt}=useTranslation();return tt&&jsxRuntimeExports.jsxs("div",{className:"p-16",children:[jsxRuntimeExports.jsx(Image$1,{width:"270",height:"140",loading:"lazy",className:"rounded",src:et,alt:nt("explorer.libray.img.alt")}),jsxRuntimeExports.jsx("p",{className:"m-8",children:nt("explorer.libray.title")}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:rt,rel:"noreferrer",className:"btn btn-ghost-primary d-inline-flex align-items-center gap-4 p-8",children:[jsxRuntimeExports.jsx("span",{children:nt("explorer.libray.btn")}),jsxRuntimeExports.jsx(SvgIconArrowRight,{})]})]})},Library$1=Object.freeze(Object.defineProperty({__proto__:null,default:Library},Symbol.toStringTag,{value:"Module"}));function useAccessControl({roles:tt,rights:et,action:rt}){const[nt,st]=reactExports.useState(!1),{user:ot}=useUser(),at=useIsTrash();reactExports.useEffect(()=>{ut()},[tt,et]);const lt=async function(dt){const ht=dt instanceof Array?dt:[dt];if(tt instanceof Array){const ft=await odeServices.rights().sessionHasAtLeastOneResourceRight(tt,ht);st(ft)}else{const ft=await odeServices.rights().sessionHasResourceRight(tt,ht);st(ft)}},ct=async function(dt){if(tt instanceof Array){const ht=await odeServices.rights().sessionHasAtLeastOneResourceRightForEachList(tt,dt);st(ht)}else{const ht=await odeServices.rights().sessionHasResourceRightForEachList(tt,dt);st(ht)}},ut=async function(){var dt,ht,ft;if(tt===void 0){st(!0);return}if(at&&((ht=(dt=et[0])==null?void 0:dt.trashedBy)!=null&&ht.includes(ot==null?void 0:ot.userId))&&rt==="restore"&&!((ft=et[0])!=null&&ft.trashed)){st(!0);return}if(et instanceof Array)if(et.length>0)if(typeof et[0]=="string")await lt(et);else{const vt=et.map(xt=>xt.rights);await ct(vt)}else st(!1);else typeof et=="string"?await lt(et):await lt(et.rights)};return{visible:nt,refreshState:ut}}function useActionBar(){const[tt,et]=reactExports.useState(!1),[rt,nt]=reactExports.useState("void"),[st,ot]=reactExports.useState(),at=useStoreContext(hr=>hr.config),lt=useCurrentFolder(),ct=useResourceIds(),ut=useSelectedResources(),dt=useSelectedFolders(),ht=useFolderIds(),ft=useIsTrash(),vt=useRestore(),xt=useResourceIsTrash(),yt=useSearchParams(),Et=useCopyResource(),bt=useResourceOrFolderIsDraggable(),{openResource:wt,printSelectedResource:St,openFolder:Rt,clearSelectedItems:Tt,clearSelectedIds:It}=useStoreActions(),{data:Pt}=useActions(at==null?void 0:at.actions);reactExports.useEffect(()=>{if(ct.length===0&&ht.length===0){et(!1);return}if(xt){et(!1);return}if(bt.isDrag){et(!1);return}et(!0)},[ct,ht]);async function jt(hr){var Sr;switch((Sr=document.getElementById("root"))==null||Sr.setAttribute("aria-hidden","true"),ot(hr),hr.id){case ACTION.OPEN:return ct.length>0?wt(ut[0]):Rt({folder:dt[0],folderId:dt[0].id});case ACTION.COPY:return Er();case ACTION.MOVE:return nt("move");case ACTION.PRINT:return St();case ACTION.DELETE:return nt("delete");case ACTION.RESTORE:return await Nt();case ACTION.PUBLISH:return nt("publish");case ACTION.UPD_PROPS:case"edit":return or();case ACTION.SHARE:return nt("share");case ACTION.EXPORT:return nt("export");default:throw Error(`Unknown action: ${hr.id}`)}}function $t(hr){const Sr=ct.length+ht.length,Cr=ct.length===1||ht.length===1,Nr=Sr===1,Fr=ht.length===0;switch(hr.id){case ACTION.OPEN:return Nr;case ACTION.MANAGE:return Cr;case ACTION.COPY:return Cr&&Fr;case ACTION.PUBLISH:return Cr&&Fr;case ACTION.UPD_PROPS:return Cr&&Fr;case ACTION.SHARE:return Fr&&Cr;case"export":return Cr&&Fr;case ACTION.PRINT:return Cr&&Fr;case"edit":return Nr;default:return!0}}const Ut=()=>!0;async function Nt(){try{if(ft)await vt.mutate();else throw new Error("Cannot restore untrashed resources");Ht()}catch(hr){console.error(hr)}}function Ht(){var hr;nt("void"),st!=null&&st.id&&((hr=document.getElementById(st==null?void 0:st.id))==null||hr.focus())}const Lt=hr=>()=>{rt===hr&&(Ht(),Tt(),It())},Dt=Lt("move"),Ot=Lt("move"),Ft=Lt("delete"),Gt=Lt("delete"),Mt=Lt("publish"),Vt=Lt("publish"),Bt=Lt("edit_folder"),qt=Lt("edit_folder"),Kt=Lt("edit_resource"),Yt=Lt("edit_resource"),tr=Lt("share"),ar=Lt("share"),lr=Lt("export"),pr=Lt("export");async function Er(){if(ut&&ut.length>0){const hr=ut[0];await Et.mutate(hr),Tt(),It()}}function or(){if(ct&&ct.length>0){const hr=ut[0].assetId;(at==null?void 0:at.app)==="scrapbook"?goToEdit({searchParams:yt,assetId:hr}):nt("edit_resource")}else nt("edit_folder")}function mr(hr){return hr.id==="edit"&&ht.length>0?"explorer.rename":`explorer.actions.${hr.id}`}return{onRestore:Nt,actions:ft?at==null?void 0:at.trashActions:Pt,selectedElement:[...ut,...dt],currentFolderId:lt==null?void 0:lt.id,overrideLabel:mr,handleClick:jt,isActivable:ft?Ut:$t,isActionBarOpen:tt,isMoveModalOpen:rt==="move",onMoveCancel:Dt,onMoveSuccess:Ot,isDeleteModalOpen:rt==="delete",onDeleteCancel:Gt,onDeleteSuccess:Ft,isPublishModalOpen:rt==="publish",onPublishCancel:Vt,onPublishSuccess:Mt,isEditFolderOpen:rt==="edit_folder",onEditFolderCancel:qt,onEditFolderSuccess:Bt,isEditResourceOpen:rt==="edit_resource",onEditResourceCancel:Yt,onEditResourceSuccess:Kt,isShareResourceOpen:rt==="share",onShareResourceCancel:ar,onShareResourceSuccess:tr,isExportModalOpen:rt==="export",onExportCancel:lr,onExportSuccess:pr,onClearActionBar:Ht}}function AccessControl({resourceRights:tt,roleExpected:et,action:rt,children:nt,renderWhenForbidden:st}){const{t:ot}=useTranslation(),{overrideLabel:at}=useActionBar(),{visible:lt}=useAccessControl({roles:et,rights:tt,action:rt==null?void 0:rt.id}),{setResourceActionDisable:ct}=useStoreActions(),ut=useIsTrash();return lt?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:nt}):st?st():ut&&!lt?jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",onClick:()=>{ct(!0)},children:ot(at(rt))}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})}const PublishModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>PublishModal),void 0)),UpdateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0)),DeleteModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DeleteModal$1),void 0)),MoveModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>MoveModal$1),void 0)),FolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),ExportModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ExportModal$1),void 0));function ActionBarContainer(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation(),{actions:rt,selectedElement:nt,isMoveModalOpen:st,isDeleteModalOpen:ot,isPublishModalOpen:at,isActionBarOpen:lt,isEditFolderOpen:ct,overrideLabel:ut,onEditFolderCancel:dt,onEditFolderSuccess:ht,isEditResourceOpen:ft,onEditResourceCancel:vt,onEditResourceSuccess:xt,isShareResourceOpen:yt,onShareResourceCancel:Et,onShareResourceSuccess:bt,isExportModalOpen:wt,onExportCancel:St,onExportSuccess:Rt,onMoveCancel:Tt,onMoveSuccess:It,onDeleteCancel:Pt,onDeleteSuccess:jt,onPublishCancel:$t,onPublishSuccess:Ut,isActivable:Nt,handleClick:Ht}=useActionBar(),Dt=useSelectedResources()[0],Ot=useShareResource(tt),Ft=useUpdateResource(tt),Gt=useTransition(lt,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Gt((Mt,Vt)=>Vt&&jsxRuntimeExports.jsx(animated.div,{className:"position-fixed bottom-0 start-0 end-0",style:{...Mt,zIndex:4},children:jsxRuntimeExports.jsx(ActionBar$1,{children:rt==null?void 0:rt.filter(Bt=>Bt.available&&Bt.target==="actionbar").map(Bt=>Nt(Bt)&&jsxRuntimeExports.jsx(AccessControl,{resourceRights:nt,roleExpected:Bt.right,action:Bt,children:jsxRuntimeExports.jsx(Button,{id:Bt.id,type:"button",color:"primary",variant:"filled",onClick:()=>{Ht(Bt)},children:et(ut(Bt))},Bt.id)},Bt.id))})})),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[st&&jsxRuntimeExports.jsx(MoveModal$2,{isOpen:st,onCancel:Tt,onSuccess:It}),ot&&jsxRuntimeExports.jsx(DeleteModal$2,{isOpen:ot,onCancel:Pt,onSuccess:jt}),at&&Dt&&jsxRuntimeExports.jsx(PublishModal$1,{isOpen:at,resourceId:Dt.assetId,onCancel:$t,onSuccess:Ut}),ct&&jsxRuntimeExports.jsx(FolderModal,{edit:!0,isOpen:ct,onCancel:dt,onSuccess:ht}),ft&&Dt&&jsxRuntimeExports.jsx(UpdateModal,{mode:"update",isOpen:ft,resourceId:Dt.assetId,updateResource:Ft,onCancel:vt,onSuccess:xt,children:(Mt,Vt,Bt,qt,Kt)=>tt==="blog"&&isActionAvailable("createPublic",rt)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:tt,isUpdating:Vt,resource:Mt,watch:Bt,setValue:qt,register:Kt})}),yt&&Dt&&jsxRuntimeExports.jsx(ShareResourceModal,{isOpen:yt,shareResource:Ot,shareOptions:{resourceCreatorId:Dt.creatorId,resourceId:Dt.assetId,resourceRights:Dt.rights},onCancel:Et,onSuccess:bt,children:tt==="blog"?jsxRuntimeExports.jsx(ShareBlog,{resourceId:Dt.assetId,updateResource:Ft}):null}),wt&&Dt&&jsxRuntimeExports.jsx(ExportModal$2,{isOpen:wt,onCancel:St,onSuccess:Rt})]})]})}const ActionBarContainer$1=Object.freeze(Object.defineProperty({__proto__:null,default:ActionBarContainer},Symbol.toStringTag,{value:"Module"}));function DisableModal({isOpen:tt,onCancel:et=()=>({})}){const{t:rt}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:et,id:"trash_action_disable_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>et(),children:rt("explorer.trash.action.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:rt("explorer.trash.action.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:et,type:"button",variant:"outline",children:rt("close")})})]}),document.getElementById("portal"))}const DisableModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DisableModal},Symbol.toStringTag,{value:"Module"}));function TrashModal({isOpen:tt,onCancel:et=()=>({})}){const{t:rt}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:et,id:"trash_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>et(),children:rt("explorer.trash.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:rt("explorer.trash.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:et,type:"button",variant:"outline",children:rt("close")})})]}),document.getElementById("portal"))}const TrashModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:TrashModal},Symbol.toStringTag,{value:"Module"})),OnboardingModal=Object.freeze(Object.defineProperty({__proto__:null,default:OnboardingModal$2},Symbol.toStringTag,{value:"Module"})),illuBlog="/assets/js/ode-explorer/illu-blog.svg",illuBlog$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuBlog},Symbol.toStringTag,{value:"Module"})),illuCollaborativeeditor="/assets/js/ode-explorer/illu-pad.svg",illuCollaborativeeditor$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativeeditor},Symbol.toStringTag,{value:"Module"})),illuCollaborativewall="/assets/js/ode-explorer/illu-collaborativewall.svg",illuCollaborativewall$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativewall},Symbol.toStringTag,{value:"Module"})),illuExercizer="/assets/js/ode-explorer/illu-exercizer.svg",illuExercizer$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuExercizer},Symbol.toStringTag,{value:"Module"})),illuHomeworks="/assets/js/ode-explorer/illu-homeworks.svg",illuHomeworks$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuHomeworks},Symbol.toStringTag,{value:"Module"})),illuMessagerie="/assets/js/ode-explorer/illu-messagerie.svg",illuMessagerie$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMessagerie},Symbol.toStringTag,{value:"Module"})),illuMindmap="/assets/js/ode-explorer/illu-mindmap.svg",illuMindmap$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMindmap},Symbol.toStringTag,{value:"Module"})),illuPad="/assets/js/ode-explorer/illu-pad.svg",illuPad$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuPad},Symbol.toStringTag,{value:"Module"})),illuScrapbook="/assets/js/ode-explorer/illu-scrapbook.svg",illuScrapbook$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuScrapbook},Symbol.toStringTag,{value:"Module"})),illuTimeline="/assets/js/ode-explorer/illu-timeline.svg",illuTimeline$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimeline},Symbol.toStringTag,{value:"Module"})),illuTimelinegenerator="/assets/js/ode-explorer/illu-timelinegenerator.svg",illuTimelinegenerator$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimelinegenerator},Symbol.toStringTag,{value:"Module"})),illuWiki="/assets/js/ode-explorer/illu-wiki.svg",illuWiki$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuWiki},Symbol.toStringTag,{value:"Module"})),ResourceModal=Object.freeze(Object.defineProperty({__proto__:null,default:ResourceModal$1},Symbol.toStringTag,{value:"Module"})),PublishModal=Object.freeze(Object.defineProperty({__proto__:null,default:PublishModal$2},Symbol.toStringTag,{value:"Module"}));function useDeleteModal({onSuccess:tt}){const et=useDelete(),rt=useTrash(),nt=useIsTrash();async function st(){try{nt?await et.mutate():await rt.mutate(),tt==null||tt()}catch(ot){console.error(ot)}}return{isTrashFolder:nt,onDelete:st}}function DeleteModal({isOpen:tt,onSuccess:et=()=>({}),onCancel:rt=()=>({})}){const{t:nt}=useTranslation(),{isTrashFolder:st,onDelete:ot}=useDeleteModal({onSuccess:et});return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:rt,id:"deleteModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:rt,children:nt(st?"explorer.delete.title":"explorer.trash.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:nt(st?"explorer.delete.subtitle":"explorer.trash.subtitle")})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:rt,type:"button",variant:"ghost",children:nt("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"danger",onClick:ot,type:"button",variant:"filled",children:nt(st?"explorer.delete":"explorer.trash")})]})]}),document.getElementById("portal"))}const DeleteModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DeleteModal},Symbol.toStringTag,{value:"Module"}));function useMoveModal({onSuccess:tt}){const[et,rt]=reactExports.useState(),nt=useQueryClient(),st=useMoveItem(),ot=useSelectedFolders(),at=useSelectedResources(),lt=useTreeData(),{fetchTreeData:ct}=useStoreActions();async function ut(){try{if(!et)throw new Error("explorer.move.selection.empty");await st.mutate(et),await(tt==null?void 0:tt())}catch(ht){console.error(ht)}}const dt=ht=>{var vt,xt;const ft=getAncestors(lt,ht);for(const yt of ot)if(ht===yt.id||ht===yt.parentId||(vt=yt.childrenIds)!=null&&vt.includes(ht)||ft.includes(yt.id))return!1;for(const yt of at)if(ht===((yt==null?void 0:yt.folderIds)&&yt.folderIds[0])||((xt=yt==null?void 0:yt.folderIds)==null?void 0:xt.length)===0&&ht==="default")return!1;return!0};return{treeData:lt,disableSubmit:!et,handleTreeItemSelect:ht=>{dt(ht)?rt(ht):rt(void 0)},handleOnTreeItemUnfold:ht=>{var xt,yt;const ft=findNodeById(lt,ht),vt=(xt=ft==null?void 0:ft.children)==null?void 0:xt.some(Et=>{var bt;return Array.isArray(Et==null?void 0:Et.children)&&((bt=Et.children)==null?void 0:bt.length)>0});(yt=ft==null?void 0:ft.children)==null||yt.forEach(Et=>{vt||ct(Et.id,nt)})},onMove:()=>ut()}}function MoveModal({isOpen:tt,onSuccess:et,onCancel:rt}){const{appCode:nt}=useEdificeClient(),{t:st}=useTranslation(),{treeData:ot,handleTreeItemSelect:at,handleOnTreeItemUnfold:lt,onMove:ct,disableSubmit:ut}=useMoveModal({onSuccess:et}),dt={...ot,name:st("explorer.filters.mine",{ns:nt})};return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:rt,id:"moveModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:rt,children:st("explorer.move.title")}),jsxRuntimeExports.jsx(Modal.Subtitle,{children:st("explorer.move.subtitle")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx(TreeView,{data:dt,onTreeItemClick:at,onTreeItemUnfold:lt})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:rt,type:"button",variant:"ghost",children:st("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:ct,type:"button",variant:"filled",disabled:ut,children:st("explorer.move")})]})]}),document.getElementById("portal"))}const MoveModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:MoveModal},Symbol.toStringTag,{value:"Module"})),useExportModal=tt=>{const et=useSelectedResources(),rt=useSearchParams(),nt=useToast(),{t:st}=useTranslation();return{handleExportClick:()=>{et.length?(goToExport({searchParams:rt,assetId:et[0].assetId}),tt()):nt.error(st("explorer.error.noResourceSelected"))}}};function ExportModal({isOpen:tt,onSuccess:et,onCancel:rt}){const{handleExportClick:nt}=useExportModal(et),{t:st}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:rt,id:"exportModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:rt,children:st("explorer.export.title")}),jsxRuntimeExports.jsxs(Modal.Body,{children:[jsxRuntimeExports.jsxs("ul",{children:[jsxRuntimeExports.jsx("li",{children:st("explorer.export.body.info.1")}),jsxRuntimeExports.jsx("li",{children:st("explorer.export.body.info.2")}),jsxRuntimeExports.jsx("li",{children:st("explorer.export.body.info.3")})]}),jsxRuntimeExports.jsx(Alert,{type:"warning",children:st("explorer.export.body.warning")})]}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:rt,type:"button",variant:"ghost",children:st("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:nt,type:"button",variant:"filled",children:st("explorer.actions.export")})]})]}),document.getElementById("portal"))}const ExportModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:ExportModal},Symbol.toStringTag,{value:"Module"}));
|
|
1466
|
+
*/var React=reactExports,shim=shimExports;function is(tt,et){return tt===et&&(tt!==0||1/tt===1/et)||tt!==tt&&et!==et}var objectIs=typeof Object.is=="function"?Object.is:is,useSyncExternalStore=shim.useSyncExternalStore,useRef=React.useRef,useEffect=React.useEffect,useMemo=React.useMemo,useDebugValue$1=React.useDebugValue;withSelector_production.useSyncExternalStoreWithSelector=function(tt,et,rt,nt,st){var ot=useRef(null);if(ot.current===null){var at={hasValue:!1,value:null};ot.current=at}else at=ot.current;ot=useMemo(function(){function ct(vt){if(!ut){if(ut=!0,dt=vt,vt=nt(vt),st!==void 0&&at.hasValue){var xt=at.value;if(st(xt,vt))return ht=xt}return ht=vt}if(xt=ht,objectIs(dt,vt))return xt;var yt=nt(vt);return st!==void 0&&st(xt,yt)?(dt=vt,xt):(dt=vt,ht=yt)}var ut=!1,dt,ht,ft=rt===void 0?null:rt;return[function(){return ct(et())},ft===null?void 0:function(){return ct(ft())}]},[et,rt,nt,st]);var lt=useSyncExternalStore(tt,ot[0],ot[1]);return useEffect(function(){at.hasValue=!0,at.value=lt},[lt]),useDebugValue$1(lt),lt};withSelector.exports=withSelector_production;var withSelectorExports=withSelector.exports;const useSyncExternalStoreExports=getDefaultExportFromCjs(withSelectorExports),{useDebugValue}=React$4,{useSyncExternalStoreWithSelector}=useSyncExternalStoreExports,identity=tt=>tt;function useStore(tt,et=identity,rt){const nt=useSyncExternalStoreWithSelector(tt.subscribe,tt.getState,tt.getServerState||tt.getInitialState,et,rt);return useDebugValue(nt),nt}const searchContext=async tt=>{const et=await odeServices.resource(tt.application).searchContext(tt);return{...et,folders:et.folders.filter(rt=>!rt.trashed)}},createFolder=async({searchParams:tt,name:et,parentId:rt})=>{const nt={name:et,parentId:rt,application:tt.application,type:tt.types[0]};return await odeServices.resource(tt.application).createFolder(nt)},updateFolder=async({folderId:tt,searchParams:et,parentId:rt,name:nt})=>{const st={folderId:tt,name:nt,parentId:rt,application:et.application,type:et.types[0]};return await odeServices.resource(et.application).updateFolder(st)},trashAll=async({searchParams:tt,resourceIds:et,useAssetIds:rt,folderIds:nt})=>{const st={application:tt.application,resourceType:tt.types[0],resourceIds:et,folderIds:nt};return await odeServices.resource(tt.application).trashAll(st,rt)},deleteAll=async({searchParams:tt,resourceIds:et,useAssetIds:rt,folderIds:nt})=>{const st={application:tt.application,resourceType:tt.types[0],resourceIds:et,folderIds:nt};return await odeServices.resource(tt.application).deleteAll(st,rt)},restoreAll=async({searchParams:tt,resourceIds:et,folderIds:rt,useAssetIds:nt})=>{const st={application:tt.application,resourceType:tt.types[0],resourceIds:et,folderIds:rt};return await odeServices.resource(tt.application).restoreAll(st,nt)},copyResource=async(tt,et)=>await odeServices.resource(tt.application).copy({application:tt.application,resourceId:et}),moveToFolder=async({searchParams:tt,resourceIds:et,folderId:rt,folderIds:nt,useAssetIds:st})=>{const ot={application:tt.application,folderId:rt,resourceIds:et,folderIds:nt};return await odeServices.resource(tt.application).moveToFolder(ot,st)},sessionHasWorkflowRights=async tt=>await odeServices.rights().sessionHasWorkflowRights(tt),goToResource=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getViewUrl(et);window.open(rt,"_self")},createResource=({searchParams:tt,params:et})=>odeServices.resource(tt.application).create(et),printResource=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getPrintUrl(et);return window.open(rt,"_blank")},goToCreate=({searchParams:tt,folderId:et})=>{const rt=odeServices.resource(tt.application).getFormUrl(et);return window.open(rt,"_self")},goToEdit=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getEditUrl(et);return window.open(rt,"_self")},goToExport=({searchParams:tt,assetId:et})=>{const rt=odeServices.resource(tt.application).getExportUrl(et);return window.open(rt,"_self")},defaultFolder={id:FOLDER.DEFAULT,name:t$3("explorer.filters.mine"),section:!0,children:[]},initialState={config:void 0,searchConfig:{minLength:1},searchParams:{filters:{folder:FOLDER.DEFAULT,owner:void 0,shared:void 0,public:void 0},orders:{updatedAt:SORT_ORDER.DESC},application:"",types:[],pagination:{startIdx:0,pageSize:48,maxIdx:0},trashed:!1},treeData:defaultFolder,selectedNodeId:"default",currentFolder:{id:"default"},selectedFolders:[],selectedResources:[],folderIds:[],resourceIds:[],resourceIsTrash:!1,resourceOrFolderIsDraggable:{isDrag:!1,elementDrag:void 0},elementDragOver:{isOver:!1,isTreeview:!1,canMove:!0,overId:void 0},resourceActionDisable:!1,status:void 0},store=createStore()((tt,et)=>({...initialState,actions:{setConfig:rt=>tt({config:rt}),setSearchConfig:rt=>tt(nt=>({searchConfig:{...nt.searchConfig,...rt}})),setTreeData:rt=>tt(()=>({treeData:rt})),setSearchParams:rt=>{tt(nt=>{const{searchParams:st}=nt;return st.search!==rt.search?rt.search?{...nt,selectedFolders:[],selectedNodeId:void 0,selectedResources:[],currentFolder:void 0,searchParams:{...st,...rt,trashed:!1,filters:{...st.filters,folder:void 0}}}:{...nt,selectedFolders:[],selectedNodeId:"default",selectedResources:[],currentFolder:{id:"default"},searchParams:{...st,...rt,trashed:!1,filters:{...st.filters}}}:{searchParams:{...st,...rt}}})},setSelectedFolders:rt=>tt(()=>({selectedFolders:rt})),setSelectedResources:rt=>tt(()=>({selectedResources:rt})),setFolderIds:rt=>tt(()=>({folderIds:rt})),setResourceIds:rt=>tt(()=>({resourceIds:rt})),setResourceIsTrash:rt=>tt(()=>({resourceIsTrash:rt})),setResourceOrFolderIsDraggable:rt=>tt(()=>({resourceOrFolderIsDraggable:rt})),setElementDragOver:rt=>tt(()=>({elementDragOver:rt})),setResourceActionDisable:rt=>tt(()=>({resourceActionDisable:rt})),clearSelectedItems:()=>tt(()=>({selectedFolders:[],selectedResources:[]})),clearSelectedIds:()=>tt(()=>({resourceIds:[],folderIds:[]})),openResource:rt=>{try{const{searchParams:nt}=et();goToResource({searchParams:nt,assetId:rt.assetId})}catch(nt){console.error("explorer open failed: ",nt)}},printSelectedResource:()=>{try{const{searchParams:rt,selectedResources:nt,resourceIds:st}=et();if(nt.length!==1)throw new Error("Cannot open more than 1 resource");const ot=nt.find(at=>at.id===st[0]);printResource({searchParams:rt,assetId:ot.assetId})}catch(rt){console.error("explorer print failed: ",rt)}},openFolder:({folderId:rt,folder:nt,queryClient:st})=>{const{searchParams:ot}=et(),at=ot.filters.folder,lt=rt;at!==rt&&(et().actions.fetchTreeData(rt,st),tt(ct=>({...ct,folderIds:[],resourceIds:[],selectedNodeId:lt,currentFolder:nt||{id:rt},searchParams:{...ot,search:void 0,filters:{...ot.filters,folder:rt},trashed:rt===FOLDER.BIN}})))},foldTreeItem:()=>tt(rt=>({...rt,status:"fold"})),fetchTreeData:async(rt,nt)=>{const st=findNodeById(et().treeData,rt),ot=st==null?void 0:st.id;if(Array.isArray(st==null?void 0:st.children)&&st.children.length)return;const at=await nt.fetchQuery({queryKey:["prefetchContext",{folderId:ot,trashed:!1}],queryFn:async()=>await searchContext({...et().searchParams,filters:{...et().searchParams.filters,folder:ot}})});et().actions.setTreeData(wrapTreeNode(et().treeData,at==null?void 0:at.folders,ot||FOLDER.DEFAULT))},selectTreeItem:(rt,nt)=>{const{treeData:st}=et(),{openFolder:ot,fetchTreeData:at}=et().actions,lt=findNodeById(st,rt);at(rt,nt),tt(ct=>({...ct,searchParams:{...ct.searchParams,search:void 0},status:"select",selectedResources:[]})),ot({folder:lt,folderId:rt})},gotoPreviousFolder:()=>{const{selectedNodeId:rt,treeData:nt,searchParams:st}=et(),{openFolder:ot}=et().actions;if(st.search&&ot({folder:defaultFolder,folderId:FOLDER.DEFAULT}),!rt)return;const at=findParentNode(nt,rt);ot({folder:at,folderId:(at==null?void 0:at.id)||FOLDER.DEFAULT})},goToTrash:()=>{tt(rt=>({...rt,selectedNodeId:void 0,selectedResources:[],resourceIds:[],folderIds:[],status:"select",searchParams:{...rt.searchParams,search:void 0,filters:{folder:FOLDER.BIN},trashed:!0},currentFolder:{id:FOLDER.BIN}}))}}}));function useStoreContext(tt){return useStore(store,tt)}const treeData=tt=>tt.treeData,actionsSelector=tt=>tt.actions,useTreeData=()=>useStoreContext(treeData),useStoreActions=()=>useStoreContext(actionsSelector),useSearchParams=()=>useStoreContext(tt=>tt.searchParams),useSelectedNodeId=()=>useStoreContext(tt=>tt.selectedNodeId),useSelectedFolders=()=>useStoreContext(tt=>tt.selectedFolders),useSelectedResources=()=>useStoreContext(tt=>tt.selectedResources),useSearchConfig=()=>useStoreContext(tt=>tt.searchConfig),useFolderIds=()=>useStoreContext(tt=>tt.folderIds),useResourceIds=()=>useStoreContext(tt=>tt.resourceIds),useResourceAssetIds=()=>useStoreContext(tt=>tt.selectedResources.map(et=>et.assetId)),useResourceWithoutIds=()=>useStoreContext(tt=>tt.selectedResources.filter(et=>et.assetId===et.id)),useCurrentFolder=()=>useStoreContext(tt=>tt.currentFolder),useIsTrash=()=>{const tt=useCurrentFolder();return(tt==null?void 0:tt.id)===FOLDER.BIN},useResourceIsTrash=()=>useStoreContext(tt=>tt.resourceIsTrash),useResourceOrFolderIsDraggable=()=>useStoreContext(tt=>tt.resourceOrFolderIsDraggable),useElementDragOver=()=>useStoreContext(tt=>tt.elementDragOver),useResourceActionDisable=()=>useStoreContext(tt=>tt.resourceActionDisable),useIsRoot=()=>{const tt=useCurrentFolder();return(tt==null?void 0:tt.id)==="default"},useTreeStatus=()=>useStoreContext(tt=>tt.status),useDisableModal=()=>{const tt=useResourceActionDisable(),{clearSelectedIds:et,setResourceActionDisable:rt,clearSelectedItems:nt}=useStoreActions();return{isActionDisableModalOpen:tt,onActionDisableCancel:()=>{et(),nt(),rt(!1)}}},useTrashModal=()=>{const tt=useResourceIsTrash(),{clearSelectedIds:et,setResourceIsTrash:rt,clearSelectedItems:nt}=useStoreActions();return{isTrashedModalOpen:tt,onTrashedCancel:()=>{et(),nt(),rt(!1)}}},DELAY=175,TOLERANCE=10,APP="blog",RESOURCE="blog";class BlogResourceService extends ResourceService{getEditUrl(){throw new Error("Method not implemented.")}async create(et){const rt=et.thumbnail?await this.getThumbnailPath(et.thumbnail):"",nt=et.public?"/blog/pub":"/blog",st=await this.http.post(nt,{title:et.name,description:et.description,visibility:et.public?"PUBLIC":"OWNER",thumbnail:rt,trashed:!1,folder:et.folder,slug:et.public?et.slug:"","publish-type":et.publishType||"RESTRAINT","comment-type":"IMMEDIATE",allowReplies:et.allowReplies});return this.checkHttpResponse(st),st}async update(et){const rt=et.thumbnail?await this.getThumbnailPath(et.thumbnail):"",nt=await this.http.put(`/blog/${et.entId}`,{trashed:et.trashed,_id:et.entId,title:et.name,thumbnail:rt,description:et.description,visibility:et.public?"PUBLIC":"OWNER",slug:et.public?et.slug:"","publish-type":et["publish-type"]||"RESTRAINT","comment-type":"IMMEDIATE",allowReplies:et.allowReplies});return this.checkHttpResponse(nt),{thumbnail:rt,entId:et.entId}}getResourceType(){return RESOURCE}getApplication(){return APP}getFormUrl(et){return et?`/blog?folderid=${et}#/edit/new`:"/blog#/edit/new"}getViewUrl(et){return`/blog/id/${et}`}getPrintUrl(et){return`/blog/print/${et}`}}ResourceService.register({application:APP,resourceType:RESOURCE},tt=>new BlogResourceService(tt));const rootElement=document.querySelector("[data-explorer-config]");let config;function getExplorerConfig(){var tt;if((tt=rootElement==null?void 0:rootElement.dataset)!=null&&tt.explorerConfig){const{explorerConfig:et}=rootElement.dataset;try{const rt=JSON.parse(et);config={...rt,service:BlogResourceService,enableOnboarding:rt.enableOnboarding!==void 0?rt.enableOnboarding:!0}}catch(rt){console.error("[Explorer Config] could not parse app params from root data attributes:",rootElement==null?void 0:rootElement.dataset,rt)}}return config}const actionsQueryOptions=(tt,et)=>{const rt=tt.map(st=>st.workflow),nt=new Set(rt);return{queryKey:[...nt],queryFn:()=>sessionHasWorkflowRights([...nt]),select:st=>tt.filter(ot=>st[ot.workflow]).map(ot=>({...ot,available:!0})),staleTime:1/0,enabled:!!et}},useActions=tt=>{const et=useStoreContext(rt=>rt.config);return useQuery(actionsQueryOptions(tt,et))},useSearchContext=()=>{const tt=useStoreContext(at=>at.config),et=useSearchParams(),{filters:rt,trashed:nt,search:st}=et,ot=["context",{folderId:rt.folder,filters:rt,trashed:nt,search:st}];return useInfiniteQuery({queryKey:ot,queryFn:async({pageParam:at})=>await searchContext({...et,application:tt==null?void 0:tt.app,types:tt==null?void 0:tt.types,pagination:{...et.pagination,startIdx:at}}),staleTime:5e3,initialPageParam:0,enabled:!!tt,retry:!1,getNextPageParam:at=>at.pagination.startIdx+at.pagination.pageSize})},useTrash=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),st=useFolderIds(),ot=useResourceAssetIds(),at=useResourceIds(),lt=useResourceWithoutIds().length>0,ct=lt?ot:at,{clearSelectedItems:ut,clearSelectedIds:dt,setTreeData:ht,setSearchParams:ft}=useStoreActions(),{filters:vt,trashed:xt}=rt,yt=["context",{folderId:vt.folder,filters:vt,trashed:xt}];return useMutation({mutationFn:async()=>await trashAll({searchParams:rt,folderIds:st,resourceIds:ct,useAssetIds:lt}),onError(Et){typeof Et=="string"&&tt.error(t$3(Et))},onSuccess:async Et=>{if(await et.cancelQueries({queryKey:yt}),et.getQueryData(yt))return tt.success(t$3("explorer.trash.title")),et.setQueryData(yt,wt=>{var St;if(wt){const Rt={...wt,pages:wt==null?void 0:wt.pages.map(It=>{var Pt;return{...It,folders:It.folders.filter(jt=>!st.includes(jt.id)),pagination:{...It.pagination,maxIdx:((Pt=It==null?void 0:It.pagination)==null?void 0:Pt.maxIdx)-Et.resources.length},resources:It.resources.filter(jt=>lt?!ot.includes(jt.assetId):!ct.includes(jt.id))}})},Tt=deleteNode(nt,{folders:st});return ht(Tt),ft({...rt,pagination:{...rt.pagination,maxIdx:((St=rt.pagination)==null?void 0:St.maxIdx)-Et.resources.length}}),Rt}})},onSettled:()=>{ut(),dt()}})},useRestore=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useFolderIds(),st=useResourceAssetIds(),ot=useResourceIds(),at=useResourceWithoutIds().length>0,lt=at?st:ot,{setFolderIds:ct,setResourceIds:ut,setSelectedResources:dt,setSelectedFolders:ht}=useStoreActions(),{filters:ft,trashed:vt}=rt,xt=["context",{folderId:ft.folder,filters:ft,trashed:vt}];return useMutation({mutationFn:async()=>await restoreAll({searchParams:rt,folderIds:nt,resourceIds:lt,useAssetIds:at}),onError(yt){typeof yt=="string"&&tt.error(t$3(yt))},onSuccess:async()=>{if(await et.cancelQueries({queryKey:xt}),et.getQueryData(xt))return tt.success(t$3("explorer.trash.toast")),et.setQueryData(xt,Et=>{if(Et)return{...Et,pages:Et==null?void 0:Et.pages.map(bt=>({...bt,folders:bt.folders.filter(wt=>!nt.includes(wt.id)),resources:bt.resources.filter(wt=>at?!st.includes(wt.assetId):!lt.includes(wt.id))}))}})},onSettled:()=>{ut([]),dt([]),ct([]),ht([])}})},useDelete=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useFolderIds(),st=useResourceAssetIds(),ot=useResourceIds(),at=useResourceWithoutIds().length>0,lt=at?st:ot,{clearSelectedItems:ct,clearSelectedIds:ut}=useStoreActions(),{filters:dt,trashed:ht}=rt,ft=["context",{folderId:dt.folder,filters:dt,trashed:ht}];return useMutation({mutationFn:async()=>await deleteAll({searchParams:rt,folderIds:nt,resourceIds:lt,useAssetIds:at}),onError(vt){typeof vt=="string"&&tt.error(t$3(vt))},onSuccess:async()=>{if(await et.cancelQueries({queryKey:ft}),et.getQueryData(ft))return tt.success(t$3("explorer.removed.from.trash")),et.setQueryData(ft,xt=>{if(xt)return{...xt,pages:xt==null?void 0:xt.pages.map(Et=>({...Et,folders:Et.folders.filter(bt=>!nt.includes(bt.id)),resources:Et.resources.filter(bt=>at?!st.includes(bt.assetId):!lt.includes(bt.id))}))}})},onSettled:()=>{ct(),ut()}})},useCopyResource=()=>{const tt=useToast(),et=useSearchParams(),rt=useQueryClient(),{user:nt}=useUser(),st=useCurrentFolder(),{filters:ot,trashed:at}=et,lt="duplicate_start",ct=["context",{folderId:ot.folder,filters:ot,trashed:at}];return useMutation({mutationFn:async ut=>(tt.info(t$3("duplicate.start"),{id:lt}),await copyResource(et,ut.assetId)),onSuccess:async(ut,dt)=>{tt.remove(lt),tt.success(t$3("duplicate.done")),await rt.cancelQueries({queryKey:ct});const ht=rt.getQueryData(ct),ft={...dt,name:`${dt.name}${t$3("duplicate.suffix")}`,assetId:ut.duplicateId,id:ut.duplicateId,creatorId:nt==null?void 0:nt.userId,creatorName:nt==null?void 0:nt.username,createdAt:Date.now(),slug:dt.slug||"",modifiedAt:Date.now(),modifierId:(nt==null?void 0:nt.userId)||"",modifierName:(nt==null?void 0:nt.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${nt==null?void 0:nt.userId}`]};ht&&rt.setQueryData(ct,vt=>{if(vt)return{...vt,pages:vt==null?void 0:vt.pages.map(xt=>({...xt,resources:[ft,...xt.resources]}))}}),st.id&&st.id!==FOLDER.DEFAULT&&moveToFolder({searchParams:et,resourceIds:[ut.duplicateId],folderId:st.id,folderIds:[],useAssetIds:!0})},onError:ut=>{tt.remove(lt),typeof ut=="string"&&tt.error(`${t$3("duplicate.error")}: ${ut}`)}})},useMoveItem=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),st=useFolderIds(),ot=useResourceAssetIds(),at=useResourceIds(),lt=useResourceWithoutIds().length>0,ct=lt?ot:at,{clearSelectedIds:ut,clearSelectedItems:dt,setTreeData:ht,setSearchParams:ft}=useStoreActions(),{filters:vt,trashed:xt}=rt,yt=["context",{folderId:vt.folder,filters:vt,trashed:xt}];return useMutation({mutationFn:async Et=>await moveToFolder({searchParams:rt,folderId:Et,folderIds:st,resourceIds:ct,useAssetIds:lt}),onError(Et){typeof Et=="string"&&tt.error(t$3(Et))},onSuccess:async(Et,bt)=>{if(et.getQueryData(yt))return et.setQueryData(yt,St=>{var Rt;if(St){const Tt=moveNode(nt,{destinationId:bt,folders:st}),It={...St,pages:St==null?void 0:St.pages.map(Pt=>{var jt;return{...Pt,folders:Pt.folders.filter($t=>!st.includes($t.id)),pagination:{...Pt.pagination,maxIdx:((jt=Pt.pagination)==null?void 0:jt.maxIdx)-Et.resources.length},resources:Pt.resources.filter($t=>lt?!ot.includes($t.assetId):!ct.includes($t.id))}})};return ht(Tt),ft({...rt,pagination:{...rt.pagination,maxIdx:((Rt=rt.pagination)==null?void 0:Rt.maxIdx)-Et.resources.length}}),It}});et.invalidateQueries()},onSettled:()=>{dt(),ut()}})},useCreateFolder=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),{setTreeData:st}=useStoreActions(),{filters:ot,trashed:at}=rt,lt=["context",{folderId:ot.folder,filters:ot,trashed:at}];return useMutation({mutationFn:async({name:ct,parentId:ut})=>await createFolder({searchParams:rt,name:ct,parentId:ut}),onError(ct){typeof ct=="string"&&tt.error(t$3(ct))},onSuccess:async(ct,ut)=>{await et.cancelQueries({queryKey:lt});const dt=et.getQueryData(lt),ht={...ct,parentId:ut.parentId,children:[],rights:[`creator:${ct==null?void 0:ct.creator_id}`]};if(dt)return et.setQueryData(lt,ft=>{if(ft){const vt={...ft,pages:ft==null?void 0:ft.pages.map(yt=>({...yt,folders:[...yt.folders,ht]}))},xt=addNode(nt,{parentId:ut.parentId,newFolder:ht});return st(xt),vt}})}})},useUpdatefolder=()=>{const tt=useToast(),et=useQueryClient(),rt=useSearchParams(),nt=useTreeData(),{setFolderIds:st,setSelectedFolders:ot,setTreeData:at}=useStoreActions(),{filters:lt,trashed:ct}=rt,ut=["context",{folderId:lt.folder,filters:lt,trashed:ct}];return useMutation({mutationFn:async({folderId:dt,name:ht,parentId:ft})=>await updateFolder({searchParams:rt,folderId:dt,parentId:ft,name:ht}),onError(dt){typeof dt=="string"&&tt.error(t$3(dt))},onSuccess:async(dt,ht)=>{if(await et.cancelQueries({queryKey:ut}),et.getQueryData(ut))return et.setQueryData(ut,vt=>{if(vt){const xt={...vt,pages:vt==null?void 0:vt.pages.map(Et=>({...Et,folders:Et.folders.map(bt=>bt.id===dt.id?{...dt,parentId:ht.parentId,rights:bt.rights}:bt)}))},yt=updateNode(nt,{folderId:ht.folderId,newFolder:dt});return at(yt),xt}})},onSettled:()=>{st([]),ot([])}})},useShareResource=tt=>{const et=useQueryClient(),rt=useSearchParams(),{setResourceIds:nt,setSelectedResources:st}=useStoreActions(),{filters:ot,trashed:at}=rt,lt=["context",{folderId:ot.folder,filters:ot,trashed:at}];return useShareMutation({application:tt,options:{onSuccess:async(ct,ut)=>{if(await et.cancelQueries({queryKey:lt}),et.getQueryData(lt))return et.setQueryData(lt,ht=>{if(ht)return{...ht,pages:ht==null?void 0:ht.pages.map(ft=>({...ft,resources:ft.resources.map(vt=>{if(vt.assetId===(ut==null?void 0:ut.resourceId)){let xt=[`creator:${vt.creatorId}`];return(ut==null?void 0:ut.rights.length)>=1&&(xt=[...xt,...ut.rights.flatMap(yt=>yt.actions.map(Et=>`${yt.type}:${yt.id}:${Et.id}`))]),{...vt,rights:xt}}else return vt})}))}})},onSettled:()=>{nt([]),st([])}}})},useUpdateResource=tt=>{const et=useQueryClient(),rt=useSearchParams(),{filters:nt,trashed:st}=rt,ot=["context",{folderId:nt.folder,filters:nt,trashed:st}];return useUpdateMutation({application:tt,options:{onSuccess:async(at,lt)=>{if(await et.cancelQueries({queryKey:ot}),et.getQueryData(ot))return et.setQueryData(ot,ut=>{if(ut)return{...ut,pages:ut==null?void 0:ut.pages.map(dt=>({...dt,resources:dt.resources.map(ht=>{if(ht.assetId===(lt==null?void 0:lt.entId)){const{name:ft,thumbnail:vt,public:xt,description:yt,slug:Et,...bt}=lt;return{...ht,...bt,name:ft,thumbnail:typeof vt=="string"?vt:URL.createObjectURL(vt),public:xt,description:yt,slug:Et}}else return ht})}))}})}}})},useCreateResource=({onResourceCreated:tt})=>{const et=useToast(),rt=useQueryClient(),nt=useSearchParams(),{user:st}=useUser(),{appCode:ot}=useEdificeClient(),at=["context",{folderId:nt.filters.folder,filters:nt.filters,trashed:nt.trashed}];return useMutation({mutationFn:async lt=>await createResource({searchParams:nt,params:lt}),onError(lt){typeof lt=="string"&&et.error(t$3(lt))},onSuccess:async(lt,ct)=>{var ht,ft,vt;await rt.cancelQueries({queryKey:at});const ut=rt.getQueryData(at),dt={...ct,thumbnail:lt.thumbnail||"",application:ot,assetId:lt._id||lt.entId||"",id:lt._id||lt.entId||"",creatorId:st==null?void 0:st.userId,creatorName:st==null?void 0:st.username,createdAt:Date.now(),slug:ct.slug||"",modifiedAt:((ht=lt.modified)==null?void 0:ht.$date)||"",modifierId:((ft=lt.author)==null?void 0:ft.userId)||"",modifierName:((vt=lt.author)==null?void 0:vt.username)||"",updatedAt:Date.now(),trashed:!1,rights:[`creator:${st==null?void 0:st.userId}`]};if(tt==null||tt(dt),ut)return rt.setQueryData(at,xt=>{if(xt)return{...xt,pages:xt==null?void 0:xt.pages.map(yt=>({...yt,resources:[dt,...yt.resources]}))}})}})};function getChildrenIds(tt,et){var nt;const rt=findNodeById(tt,et);return(nt=rt==null?void 0:rt.folder)!=null&&nt.childrenIds?[...(rt==null?void 0:rt.folder.childrenIds)||[],et]:et===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function useDndKit(){const tt=useQueryClient(),et=useMoveItem(),rt=useToast(),{appCode:nt}=useEdificeClient(),{t:st}=useTranslation(["common",nt]),ot=st("explorer.filters.mine",{ns:nt}),{setResourceOrFolderIsDraggable:at,setElementDragOver:lt,setResourceIds:ct,setFolderIds:ut,fetchTreeData:dt}=useStoreActions(),ht=useTreeData(),vt=useSensor(PointerSensor,{activationConstraint:{delay:DELAY,tolerance:TOLERANCE}}),xt=useSensor(KeyboardSensor),yt=useSensors(vt,xt),Et=(Rt,Tt)=>{var It;((It=Rt.data.current)==null?void 0:It.type)==="resource"?rt.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[st("explorer.dragged.resource")," ",jsxRuntimeExports.jsx("strong",{children:Tt})]})):rt.success(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[st("explorer.dragged.folder")," ",jsxRuntimeExports.jsx("strong",{children:Tt})]}))};return{handleDragEnd:async Rt=>{const{over:Tt,active:It}=Rt,Pt=Tt==null?void 0:Tt.data.current,jt=It.data.current,$t=getAncestors(ht,Pt==null?void 0:Pt.id),Ut=getChildrenIds(ht,Pt==null?void 0:Pt.id);if((jt==null?void 0:jt.id)==(Pt==null?void 0:Pt.id)||$t.includes(jt==null?void 0:jt.id)||Ut.includes(jt==null?void 0:jt.id))ct([]),ut([]);else{const Nt=(Pt==null?void 0:Pt.name)??ot;if(Tt)try{await et.mutate(Pt==null?void 0:Pt.id),Et(It,Nt)}catch(Ht){console.error(Ht)}finally{lt({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})}}at({isDrag:!1,elementDrag:void 0})},handleDragStart:Rt=>{const{active:Tt}=Rt,It=Tt.data.current;(It==null?void 0:It.type)==="resource"?ct([It==null?void 0:It.id]):(It==null?void 0:It.type)==="folder"&&ut([It==null?void 0:It.id]),at({isDrag:!0,elementDrag:It==null?void 0:It.id})},handleDragOver:Rt=>{const{over:Tt,active:It}=Rt,Pt=Tt==null?void 0:Tt.data.current,jt=It==null?void 0:It.data.current,$t=getAncestors(ht,Pt==null?void 0:Pt.id),Ut=getChildrenIds(ht,Pt==null?void 0:Pt.id);if(Tt){const Nt={isOver:!0,canMove:!1,overId:Pt==null?void 0:Pt.id,isTreeview:Pt==null?void 0:Pt.isTreeview};(jt==null?void 0:jt.id)===(Pt==null?void 0:Pt.id)||$t.includes(jt==null?void 0:jt.id)||Ut.includes(jt==null?void 0:jt.id)?lt({...Nt,canMove:!1}):(dt(Pt==null?void 0:Pt.id,tt),lt({...Nt,canMove:!0}))}else lt({isOver:!1,overId:void 0,canMove:!0,isTreeview:!1})},sensors:yt}}const EmptyScreenApp$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenApp$1),void 0)),EmptyScreenSearch$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenSearch$1),void 0)),EmptyScreenError$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenError$1),void 0)),EmptyScreenNoContentInFolder$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenNoContentInFolder$1),void 0)),EmptyScreenTrash$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>EmptyScreenTrash$1),void 0)),FoldersList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FoldersList$1),void 0)),ResourcesList$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourcesList$1),void 0)),List=()=>{const tt=useIsRoot(),et=useIsTrash(),rt=useSelectedNodeId(),nt=useSearchParams(),st=useCurrentFolder(),ot=useToast(),at=useQueryClient(),{appCode:lt}=useEdificeClient(),{t:ct}=useTranslation([lt]),{setSearchParams:ut,setSearchConfig:dt,fetchTreeData:ht}=useStoreActions(),{data:ft,isError:vt,error:xt,isLoading:yt,isFetching:Et,fetchNextPage:bt}=useSearchContext(),wt=(ft==null?void 0:ft.pages[0].folders.length)===0,St=(ft==null?void 0:ft.pages[0].resources.length)===0,Rt=wt&&St;return reactExports.useEffect(()=>{var Tt,It;ft&&((Tt=ft==null?void 0:ft.pages[0])!=null&&Tt.searchConfig&&dt(ft.pages[0].searchConfig),!nt.search&&st.id==="default"&&ht(st.id,at),ut({...nt,pagination:(It=ft==null?void 0:ft.pages[(ft==null?void 0:ft.pages.length)-1])==null?void 0:It.pagination}))},[ft]),reactExports.useEffect(()=>{xt&&typeof xt=="string"&&ot.error(ct(xt))},[xt]),yt?jsxRuntimeExports.jsx(LoadingScreen,{}):vt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenError$2,{})}):nt.search&&Rt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenSearch$2,{})}):tt&&Rt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenApp$2,{})}):rt&&Rt&&!et?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenNoContentInFolder$2,{})}):et&&(ft==null?void 0:ft.pages[0].resources.length)===0?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(EmptyScreenTrash$2,{})}):jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(FoldersList$2,{data:ft,isFetching:Et}),jsxRuntimeExports.jsx(ResourcesList$2,{data:ft,isFetching:Et,fetchNextPage:bt})]})},SvgIconArrowLeft=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.707 4.293a1 1 0 0 1 0 1.414L6.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0",clipRule:"evenodd"})]}),SvgIconFiles=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M20.91 9.14v1.27H8.25a4.7 4.7 0 0 0-3.86 1.98L1.5 16.53V6.4a2.3 2.3 0 0 1 .77-1.69A2.68 2.68 0 0 1 4.11 4h3.73a2.68 2.68 0 0 1 1.84.71c.25.22.45.48.58.77s.2.6.2.92v.34h7.84c.7.01 1.35.27 1.84.71.49.45.76 1.06.77 1.7ZM8.25 11.92h14.47c.63 0 1 .68.64 1.18l-3.52 5.04a3.13 3.13 0 0 1-2.57 1.32H2.79c-.62 0-.99-.68-.64-1.18l3.53-5.04a3.13 3.13 0 0 1 2.57-1.32",clipRule:"evenodd"})]}),SvgIconFilter=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1.093 2.58A1 1 0 0 1 2 2h20a1 1 0 0 1 .764 1.646L15 12.826V21a1 1 0 0 1-1.447.894l-4-2A1 1 0 0 1 9 19v-6.174l-7.764-9.18a1 1 0 0 1-.143-1.067M4.155 4l6.609 7.814a1 1 0 0 1 .236.646v5.922l2 1V12.46a1 1 0 0 1 .236-.646L19.845 4z",clipRule:"evenodd"})]}),SvgIconMove=({title:tt,titleId:et,...rt})=>jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true","aria-labelledby":et,...rt,children:[tt?jsxRuntimeExports.jsx("title",{id:et,children:tt}):null,jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.707 8.293a1 1 0 0 1 0 1.414L3.414 12l2.293 2.293a1 1 0 1 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0M11.293 1.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1-1.414 1.414L12 3.414 9.707 5.707a1 1 0 0 1-1.414-1.414zM8.293 18.293a1 1 0 0 1 1.414 0L12 20.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414M18.293 8.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L20.586 12l-2.293-2.293a1 1 0 0 1 0-1.414",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 12a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1",clipRule:"evenodd"}),jsxRuntimeExports.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1",clipRule:"evenodd"})]}),useSearchForm=()=>{const tt=useSearchParams(),[et,rt]=reactExports.useState(""),nt=useSearchConfig(),st=useTreeStatus(),ot=reactExports.useRef(null),{setSearchParams:at}=useStoreActions(),lt=dt=>{const ht=dt.target.value;rt(ht.toString())},ct=dt=>{(dt.key==="Enter"||dt.key==="Return")&&(dt.preventDefault(),at({search:et||void 0}))},ut=dt=>{dt.preventDefault(),at({search:et||void 0})};return reactExports.useEffect(()=>{const ht=et.length==0||et.length>=nt.minLength?{search:et||void 0}:{};at({...tt,...ht})},[et,nt.minLength]),reactExports.useEffect(()=>{st==="select"&&rt("")},[st]),reactExports.useEffect(()=>{rt(()=>{var dt;return((dt=tt.search)==null?void 0:dt.toString())??""})},[tt]),{formRef:ot,inputSearch:et,handleInputSearchChange:lt,handleKeyPress:ct,handleSearchSubmit:ut}},useSelectedFilters=()=>{const{appCode:tt,currentApp:et}=useEdificeClient(),{t:rt}=useTranslation(),[nt,st]=reactExports.useState(""),ot=dt=>{if(dt==="0"){st("");return}st(dt)},at=useCurrentFolder(),lt=useSearchParams(),{setSearchParams:ct}=useStoreActions();reactExports.useEffect(()=>{const dt=()=>nt.includes("1")?!0:void 0,ht=()=>nt.includes("2")?!0:void 0,ft=()=>nt.includes("7")?!0:void 0;ct({...lt,filters:{owner:dt(),public:ft(),shared:ht(),folder:at?at.id:"default"}})},[at,ct,nt]);const ut=[{label:rt("explorer.filter.all",{ns:tt}),value:"0"},{label:rt("explorer.filter.owner",{ns:tt}),value:"1"},{label:rt("explorer.filter.shared",{ns:tt}),value:"2"},...(et==null?void 0:et.displayName)=="exercizer"?[{label:"Exercices interactifs",value:"3"}]:[],...(et==null?void 0:et.displayName)=="exercizer"?[{label:"Exercices à rendre",value:"4"}]:[],...(et==null?void 0:et.displayName)=="pages"?[{label:"Projets publics",value:"5"}]:[],...(et==null?void 0:et.displayName)=="pages"?[{label:"Projets internes",value:"6"}]:[],...(et==null?void 0:et.displayName)=="blog"?[{label:rt("explorer.filter.public",{ns:tt}),value:"7"}]:[]];return{selectedFilters:nt,options:ut,handleOnSelectFilter:ot}},SearchForm=()=>{const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation(),{selectedFilters:rt,options:nt,handleOnSelectFilter:st}=useSelectedFilters(),{formRef:ot,inputSearch:at,handleInputSearchChange:lt,handleKeyPress:ct,handleSearchSubmit:ut}=useSearchForm(),dt=rt.length>0?rt.length:void 0;return jsxRuntimeExports.jsxs("form",{noValidate:!0,className:"bg-light p-16 ps-24 ms-n16 ms-lg-n24 me-n16 position-relative d-flex gap-8",ref:ot,children:[jsxRuntimeExports.jsxs(FormControl,{id:"search",className:"input-group",children:[jsxRuntimeExports.jsx(Input,{type:"search",placeholder:et("explorer.label.search",{ns:tt}),size:"lg",noValidationIcon:!0,value:at,onChange:lt,onKeyDown:ct}),jsxRuntimeExports.jsx(SearchButton,{type:"submit","aria-label":et("explorer.label.search",{ns:tt}),onClick:ut})]}),jsxRuntimeExports.jsxs(Dropdown,{placement:"bottom-end",children:[jsxRuntimeExports.jsx(Dropdown.Trigger,{label:et("explorer.filters"),icon:jsxRuntimeExports.jsx(SvgIconFilter,{width:20}),variant:"ghost",badgeContent:dt}),jsxRuntimeExports.jsx(Dropdown.Menu,{children:nt.map(ht=>ht.value==="0"?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:ht.value,model:rt,onChange:()=>st(ht.value),children:ht.label}),jsxRuntimeExports.jsx(Dropdown.Separator,{})]},"0"):jsxRuntimeExports.jsx(Dropdown.RadioItem,{value:ht.value,model:rt,onChange:()=>st(ht.value),children:ht.label},ht.value))})]})]})},TrashButton=({id:tt,selected:et,onSelect:rt})=>{const{t:nt}=useTranslation();return jsxRuntimeExports.jsx("div",{className:"treeview",children:jsxRuntimeExports.jsx("ul",{role:"tree",className:"m-0 p-0",children:jsxRuntimeExports.jsx("li",{id:tt,role:"treeitem","aria-selected":et,children:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("div",{className:"action-container",children:jsxRuntimeExports.jsx("div",{onClick:rt,role:"button",tabIndex:0,children:jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8 py-8 ps-24",children:[jsxRuntimeExports.jsx(SvgIconDelete,{width:"20",height:"20"}),jsxRuntimeExports.jsx("span",{children:nt("explorer.tree.trash")})]})})})})})})})},CreateFolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),TreeViewContainer=()=>{const[tt,et]=useToggle(),rt=useQueryClient(),nt=useTreeData(),st=useIsTrash(),ot=useSelectedNodeId(),at=useElementDragOver(),lt=useScrollToTop(),ct=st?FOLDER.BIN:ot,{appCode:ut}=useEdificeClient(),{t:dt}=useTranslation(["common",ut]),ht={...nt,name:dt("explorer.filters.mine",{ns:ut})},{goToTrash:ft,selectTreeItem:vt,clearSelectedItems:xt,clearSelectedIds:yt,fetchTreeData:Et}=useStoreActions(),bt=Rt=>{vt(Rt,rt),lt()},wt=Rt=>{var Pt,jt;const Tt=findNodeById(nt,Rt),It=(Pt=Tt==null?void 0:Tt.children)==null?void 0:Pt.some($t=>{var Ut;return Array.isArray($t==null?void 0:$t.children)&&((Ut=$t.children)==null?void 0:Ut.length)>0});(jt=Tt==null?void 0:Tt.children)==null||jt.forEach($t=>{It||Et($t.id,rt)})},St=()=>{xt(),yt(),et()};return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(TreeView,{data:ht,selectedNodeId:ct,draggedNode:at!=null&&at.isTreeview?at:void 0,onTreeItemClick:bt,onTreeItemUnfold:wt}),jsxRuntimeExports.jsx(TrashButton,{id:FOLDER.BIN,selected:st,onSelect:ft}),jsxRuntimeExports.jsx("div",{className:"d-grid my-16",children:jsxRuntimeExports.jsx(Button,{disabled:st,type:"button",color:"primary",variant:"outline",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),onClick:St,children:dt("explorer.folder.new")})}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:tt&&jsxRuntimeExports.jsx(CreateFolderModal,{edit:!1,isOpen:tt,onSuccess:et,onCancel:et})})]})};function ExplorerBreadcrumb(){const{appCode:tt}=useEdificeClient(),{gotoPreviousFolder:et}=useStoreActions(),{t:rt}=useTranslation(["common",tt]),{inputSearch:nt}=useSearchForm(),st=useSelectedNodeId(),ot=useIsTrash(),at=useCurrentFolder(),lt=rt("explorer.tree.trash"),ct=rt("explorer.tree.search"),ut=rt("explorer.filters.mine",{ns:tt}),dt=(at==null?void 0:at.name)||ut;return jsxRuntimeExports.jsx("div",{className:"py-16",children:st&&st!=="bin"&&st!=="default"&&!ot?jsxRuntimeExports.jsxs("div",{className:"d-flex align-items-center gap-8",children:[jsxRuntimeExports.jsx(IconButton,{icon:jsxRuntimeExports.jsx(SvgIconArrowLeft,{}),variant:"ghost",color:"tertiary","aria-label":rt("back"),className:"ms-n16",onClick:et}),jsxRuntimeExports.jsx("p",{className:"body py-8 text-truncate",children:jsxRuntimeExports.jsx("strong",{children:dt})})]}):jsxRuntimeExports.jsx("h2",{className:"body py-8 fw-bold",children:nt.length!==0?ct:ot?lt:ut})})}const illuTrashDelete="/assets/js/ode-explorer/illu-trash-delete.svg",illuTrashMenu="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='version_orange'%20data-name='version%20orange'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20353.36'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23fff;%20}%20.cls-2%20{%20fill:%20%23aadaed;%20}%20.cls-3%20{%20fill:%20%23ffefe3;%20}%20.cls-4%20{%20fill:%20none;%20stroke:%20%23aadaed;%20stroke-miterlimit:%2010;%20stroke-width:%204px;%20}%20.cls-5%20{%20fill:%20%232a9cc8;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='ciseaux'%3e%3cpath%20class='cls-3'%20d='m512.64,45.09H61.92c-11.56,0-20.93,9.37-20.93,20.93v232.01c0,11.56,9.37,20.93,20.93,20.93h450.72c11.56,0,20.93-9.37,20.93-20.93V66.02c0-11.56-9.37-20.93-20.93-20.93ZM211.25,212.37c0,7.55-6.12,13.66-13.66,13.66h-108.21c-7.55,0-13.66-6.12-13.66-13.66v-112.62c0-7.55,6.12-13.66,13.66-13.66h108.21c7.55,0,13.66,6.12,13.66,13.66v112.62Zm150.21-41.03h-94.5c-4.42,0-8-3.58-8-8s3.58-8,8-8h94.5c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm105.82,118.05H164.74c-4.42,0-8-3.58-8-8s3.58-8,8-8h302.55c4.42,0,8,3.58,8,8s-3.58,8-8,8Zm-3.54-169.27h-196.7c-6.38,0-11.55-5.17-11.55-11.55s5.17-11.55,11.55-11.55h196.7c6.38,0,11.55,5.17,11.55,11.55s-5.17,11.55-11.55,11.55Zm-332.66,158.93c0,13.56-10.99,24.55-24.55,24.55s-24.55-10.99-24.55-24.55,10.99-24.55,24.55-24.55,24.55,10.99,24.55,24.55Z'/%3e%3c/g%3e%3crect%20class='cls-5'%20x='420.8'%20y='58.38'%20width='100.39'%20height='100.39'%20rx='20'%20ry='20'/%3e%3cg%20id='ciseaux-2'%20data-name='ciseaux'%3e%3cpath%20class='cls-4'%20d='m513.58,45.09H60.99c-11.05,0-20,8.95-20,20v233.88c0,11.05,8.95,20,20,20h452.59c11.05,0,20-8.95,20-20V65.09c0-11.05-8.95-20-20-20Z'/%3e%3c/g%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='84.02'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='109.3'%20r='7.02'/%3e%3ccircle%20class='cls-1'%20cx='471'%20cy='133.13'%20r='7.02'/%3e%3cg%3e%3cpath%20class='cls-2'%20d='m449.99,215.32c-.39,0-.76-.08-1.12-.24l-9.44-4.22c-.69-.31-1.23-.9-1.48-1.62-.25-.72-.18-1.52.17-2.19l3.92-7.33-13.25-5.79c-.83-.36-1.43-1.11-1.6-2.01s.11-1.81.76-2.45l40.08-40.08c.52-.52,1.21-.81,1.94-.81,1.52,0,2.75,1.23,2.75,2.75v57.58c0,.75-.3,1.45-.83,1.97-.52.5-1.2.78-1.91.78h0c-.38,0-.75-.08-1.1-.23l-12.85-5.61-3.53,7.87c-.44.99-1.43,1.62-2.51,1.62Z'/%3e%3cpath%20class='cls-1'%20d='m469.97,150.6c.38,0,.75.3.75.75v57.58c0,.43-.35.75-.75.75-.1,0-.2-.02-.3-.06l-13.99-6.11c-.1-.04-.2-.06-.3-.06-.29,0-.56.16-.68.44l-4.03,9c-.12.28-.4.44-.68.44-.1,0-.21-.02-.3-.07l-9.44-4.22c-.4-.18-.56-.65-.35-1.04l4.56-8.53c.21-.38.04-.86-.36-1.04l-14.5-6.33c-.48-.21-.6-.84-.23-1.21l40.08-40.08c.15-.15.34-.22.52-.22m0-4c-1.26,0-2.45.49-3.35,1.39l-40.08,40.08c-1.11,1.11-1.6,2.7-1.31,4.24.29,1.54,1.33,2.84,2.77,3.47l11.27,4.92-2.9,5.42c-.62,1.16-.73,2.53-.31,3.78.42,1.24,1.36,2.26,2.55,2.8l9.44,4.22c.61.27,1.27.41,1.94.41,1.87,0,3.57-1.1,4.33-2.81l2.72-6.06,11.04,4.82c.6.26,1.24.4,1.9.4,2.62,0,4.75-2.13,4.75-4.75v-57.58c0-2.62-2.13-4.75-4.75-4.75h0Z'/%3e%3c/g%3e%3c/svg%3e",illuTrashNotif="data:image/svg+xml,%3csvg%20width='300'%20height='214'%20viewBox='0%200%20300%20214'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='300'%20height='214'%20fill='white'/%3e%3cpath%20d='M187.994%20193.875H108.563C103.268%20193.875%2098.878%20189.768%2098.5214%20184.484L90.1194%2059.0277H209.67L198.01%20184.741C197.529%20189.915%20193.19%20193.875%20187.99%20193.875H187.994Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M150.47%20150.31L164.483%20157.961C166.929%20159.296%20169.995%20158.395%20171.33%20155.95C171.999%20154.726%20172.106%20153.35%20171.742%20152.111C171.378%20150.872%20170.539%20149.773%20169.319%20149.103C167.223%20147.96%20166.638%20146.217%20166.954%20144.029C168.388%20134.186%20188.167%20115.393%20171.091%20102.13L162.134%2097.2392C141.741%2090.047%20136.626%20116.845%20129.121%20123.372C127.456%20124.824%20125.672%20125.273%20123.577%20124.126C121.131%20122.791%20118.065%20123.692%20116.73%20126.137C116.061%20127.358%20115.954%20128.736%20116.318%20129.976C116.682%20131.215%20117.521%20132.314%20118.741%20132.983L131.537%20139.97L132.751%20140.632L150.467%20150.306L150.47%20150.31Z'%20fill='%23AADAED'/%3e%3cpath%20opacity='0.2'%20d='M171.095%20102.13L171.117%20102.144L171.095%20102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M171.095%20102.13L171.117%20102.141C171.187%20102.034%20171.253%20101.924%20171.315%20101.81C172.676%2099.3167%20171.76%2096.1913%20169.267%2094.8308C166.774%2093.4703%20163.649%2094.3895%20162.288%2096.8789C162.226%2096.9929%20162.167%2097.1068%20162.115%2097.2245L162.137%2097.2355L171.095%20102.126V102.13Z'%20fill='%23AADAED'/%3e%3cpath%20d='M133.67%20142.455C138.56%20145.228%20143.451%20148%20148.341%20150.773C146.422%20154.365%20142.929%20156.483%20139.421%20156.23C138.921%20156.193%20136.292%20155.954%20134.328%20153.884C131.769%20151.188%20131.438%20146.563%20133.674%20142.459L133.67%20142.455Z'%20fill='%23AADAED'/%3e%3cpath%20d='M145.56%2088.6624C145.125%2086.8475%20143.302%2085.7288%20141.488%2086.1636C139.674%2086.5984%20138.556%2088.4221%20138.991%2090.2369L156.729%20164.233C157.164%20166.048%20158.987%20167.166%20160.801%20166.732C162.615%20166.297%20163.732%20164.473%20163.297%20162.658L145.56%2088.6624Z'%20fill='%232A9CC8'/%3e%3cpath%20d='M214.66%2037.9143H195.186L189.833%2028.707C187.068%2023.9526%20181.938%2021%20176.441%2021H125.492C120.44%2021%20115.693%2023.471%20112.796%2027.6149L105.592%2037.9143H85.1334C81.1916%2037.9143%2078%2041.1096%2078%2045.0477V46.592C78%2050.5338%2081.1953%2053.7254%2085.1334%2053.7254H214.66C218.602%2053.7254%20221.793%2050.5301%20221.793%2046.592V45.0477C221.793%2041.1059%20218.598%2037.9143%20214.66%2037.9143ZM122.437%2034.3586C123.132%2033.3621%20124.275%2032.7664%20125.489%2032.7664H176.437C177.761%2032.7664%20178.993%2033.4761%20179.658%2034.6196L181.574%2037.9143H119.947L122.433%2034.3586H122.437Z'%20fill='%23FFEFE3'/%3e%3cpath%20d='M187.064%2093.9335C187.56%2093.9777%20188.046%2093.7864%20188.542%2093.7313C189.038%2093.6761%20189.63%2093.8232%20189.822%2094.2828C190.108%2094.9778%20189.274%2095.6911%20189.369%2096.4376C189.424%2096.8604%20189.763%2097.1803%20190.079%2097.4635C190.719%2098.0334%20191.362%2098.607%20192.002%2099.177C192.164%2099.3204%20192.329%2099.4748%20192.384%2099.6807C192.454%2099.9307%20192.34%20100.192%20192.245%20100.434C191.829%20101.49%20191.789%20102.894%20192.723%20103.542C192.98%20103.722%20193.304%20103.828%20193.488%20104.086C193.693%20104.376%20193.66%20104.766%20193.605%20105.119C193.473%20105.994%20193.278%20106.858%20193.021%20107.708'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M105.681%20138.694C105.611%20140.003%20105.658%20141.562%20106.751%20142.29C106.993%20142.452%20107.276%20142.558%20107.493%20142.757C108.122%20143.331%20107.931%20144.353%20107.633%20145.151C107.335%20145.949%20106.982%20146.868%20107.409%20147.6C107.817%20148.298%20108.762%20148.493%20109.284%20149.111C109.813%20149.732%20109.828%20150.685%20110.387%20151.28C110.626%20151.534%20110.964%20151.721%20111.089%20152.049C111.189%20152.31%20111.126%20152.597%20111.126%20152.876C111.126%20153.63%20111.597%20154.321%20112.196%20154.781C112.796%20155.24%20113.516%20155.501%20114.226%20155.755'%20stroke='white'%20stroke-width='6.05'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",AppAction$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>AppAction$1),void 0)),Library$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>Library$1),void 0)),ActionBar=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ActionBarContainer$1),void 0)),DisableModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DisableModal$1),void 0)),TrashModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>TrashModal$1),void 0)),OnboardingModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>OnboardingModal),void 0)),Explorer=({config:tt})=>{const et=useSearchParams(),{setConfig:rt,setSearchParams:nt}=useStoreActions();reactExports.useEffect(()=>{rt(tt||{}),nt({...et,application:tt.app,types:tt.types})},[tt]);const{currentApp:st}=useEdificeClient(),{data:ot}=useActions(tt.actions),{isTrashedModalOpen:at,onTrashedCancel:lt}=useTrashModal(),{isActionDisableModalOpen:ct,onActionDisableCancel:ut}=useDisableModal(),{handleDragEnd:dt,handleDragOver:ht,handleDragStart:ft,sensors:vt}=useDndKit();useXitiTrackPageLoad();const xt=isActionAvailable("publish",ot),yt=isActionAvailable("create",ot);return tt&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(AppHeader,{render:()=>yt?jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:jsxRuntimeExports.jsx(AppAction$2,{onResourceCreated:tt.onResourceCreated})}):null,children:jsxRuntimeExports.jsx(Breadcrumb,{app:st})}),jsxRuntimeExports.jsx(Grid,{className:"flex-grow-1",children:jsxRuntimeExports.jsxs(DndContext,{sensors:vt,modifiers:[snapCenterToCursor],onDragStart:ft,onDragEnd:dt,onDragOver:ht,children:[jsxRuntimeExports.jsx(Grid.Col,{sm:"3",lg:"2",xl:"3",className:"border-end pt-16 pe-16 d-none d-lg-block",as:"aside",children:jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(TreeViewContainer,{}),xt&&jsxRuntimeExports.jsx(Library$2,{})]})}),jsxRuntimeExports.jsxs(Grid.Col,{sm:"4",md:"8",lg:"6",xl:"9",children:[jsxRuntimeExports.jsx(SearchForm,{}),jsxRuntimeExports.jsx(ExplorerBreadcrumb,{}),jsxRuntimeExports.jsx(List,{})]}),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[jsxRuntimeExports.jsx(ActionBar,{}),tt.enableOnboarding&&jsxRuntimeExports.jsx(OnboardingModal$1,{id:"showOnboardingTrash",items:[{src:illuTrashMenu,alt:"explorer.modal.onboarding.trash.screen1.alt",text:"explorer.modal.onboarding.trash.screen1.title"},{src:illuTrashNotif,alt:"explorer.modal.onboarding.trash.screen2.alt",text:"explorer.modal.onboarding.trash.screen2.alt"},{src:illuTrashDelete,alt:"explorer.modal.onboarding.trash.screen3.alt",text:"explorer.modal.onboarding.trash.screen3.title"}],modalOptions:{title:"explorer.modal.onboarding.trash.title",prevText:"explorer.modal.onboarding.trash.prev",nextText:"explorer.modal.onboarding.trash.next",closeText:"explorer.modal.onboarding.trash.close"}}),at&&jsxRuntimeExports.jsx(TrashModal$2,{isOpen:at,onCancel:lt}),ct&&jsxRuntimeExports.jsx(DisableModal$2,{isOpen:ct,onCancel:ut})]})]})})]})};function Root(){const{init:tt}=useEdificeClient(),et=getExplorerConfig();return tt?jsxRuntimeExports.jsx(Layout,{children:jsxRuntimeExports.jsx(Explorer,{config:et})}):jsxRuntimeExports.jsx(LoadingScreen,{position:!1})}var ReactQueryDevtools2=function(){return null};const queryClient=new QueryClient({queryCache:new QueryCache({onError:tt=>{typeof tt=="string"&&tt===ERROR_CODE.NOT_LOGGED_IN&&window.location.replace("/auth/login")}}),defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}}),getHTMLConfig=getExplorerConfig(),Providers=({children:tt})=>jsxRuntimeExports.jsxs(QueryClientProvider,{client:queryClient,children:[jsxRuntimeExports.jsx(EdificeClientProvider,{params:{app:getHTMLConfig.app},children:jsxRuntimeExports.jsx(EdificeThemeProvider,{children:tt})}),jsxRuntimeExports.jsx(ReactQueryDevtools2,{initialIsOpen:!1})]}),root=document.getElementById("root");createRoot(root).render(jsxRuntimeExports.jsx(reactExports.StrictMode,{children:jsxRuntimeExports.jsx(Providers,{children:jsxRuntimeExports.jsx(Root,{})})}));const __variableDynamicImportRuntimeHelper=(tt,et,rt)=>{const nt=tt[et];return nt?typeof nt=="function"?nt():Promise.resolve(nt):new Promise((st,ot)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(ot.bind(null,new Error("Unknown variable dynamic import: "+et+(et.split("/").length!==rt?". Note that variables only represent file names one level deep.":""))))})};function EmptyScreenApp(){const{appCode:tt}=useEdificeClient(),{theme:et}=useEdificeTheme(),{t:rt}=useTranslation(),[nt,st]=reactExports.useState("");reactExports.useEffect(()=>{(async()=>{const ht=await __variableDynamicImportRuntimeHelper(Object.assign({"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-blog.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuBlog$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativeeditor.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativeeditor$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-collaborativewall.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuCollaborativewall$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-error.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuError$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-exercizer.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuExercizer$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-homeworks.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuHomeworks$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-messagerie.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMessagerie$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-mindmap.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuMindmap$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-no-content-in-folder.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuNoContentInFolder$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-pad.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuPad$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-scrapbook.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuScrapbook$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-search.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuSearch$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timeline.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimeline$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-timelinegenerator.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTimelinegenerator$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-trash.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuTrash$1),void 0),"../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-wiki.svg":()=>__vitePreload(()=>Promise.resolve().then(()=>illuWiki$1),void 0)}),`../../../node_modules/@edifice.io/bootstrap/dist/images/emptyscreen/illu-${tt}.svg`,10);st(ht.default)})()},[tt]);const ot=useStoreContext(dt=>dt.config),{data:at}=useActions(ot==null?void 0:ot.actions),lt=at==null?void 0:at.find(dt=>dt.id==="create"),ct=()=>lt!=null&<.available&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.txt1d.create",{ns:tt}):lt!=null&<.available&&!(et!=null&&et.is1d)?rt("explorer.emptyScreen.txt2d.create",{ns:tt}):!(lt!=null&<.available)&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.txt1d.consultation",{ns:tt}):rt("explorer.emptyScreen.txt2d.consultation",{ns:tt}),ut=()=>lt!=null&<.available&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.title1d.create",{ns:tt}):lt!=null&<.available&&!(et!=null&&et.is1d)?rt("explorer.emptyScreen.title2d.create",{ns:tt}):!(lt!=null&<.available)&&(et!=null&&et.is1d)?rt("explorer.emptyScreen.title1d.consultation",{ns:tt}):rt("explorer.emptyScreen.title2d.consultation",{ns:tt});return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:nt,imageAlt:rt("explorer.emptyScreen.app.alt",{ns:tt}),title:ut(),text:ct()})}const EmptyScreenApp$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenApp},Symbol.toStringTag,{value:"Module"})),illuSearch="/assets/js/ode-explorer/illu-search.svg",illuSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenSearch(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuSearch,imageAlt:et("explorer.emptyScreen.search.alt",{ns:tt}),text:et("explorer.emptyScreen.search.text",{ns:tt})})}const EmptyScreenSearch$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenSearch},Symbol.toStringTag,{value:"Module"}));function EmptyScreenError(){const{t:tt}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuError,imageAlt:tt("explorer.emptyScreen.error.alt"),text:"explorer.emptyScreen.error.text"})}const EmptyScreenError$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenError},Symbol.toStringTag,{value:"Module"})),illuNoContentInFolder="/assets/js/ode-explorer/illu-no-content-in-folder.svg",illuNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenNoContentInFolder(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuNoContentInFolder,imageAlt:et("explorer.emptyScreen.folder.empty.alt",{ns:tt}),text:et("explorer.emptyScreen.label",{ns:tt})})}const EmptyScreenNoContentInFolder$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenNoContentInFolder},Symbol.toStringTag,{value:"Module"}));function EmptyScreenTrash(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation();return jsxRuntimeExports.jsx(EmptyScreen,{imageSrc:illuTrash,imageAlt:et("explorer.emptyScreen.trash.alt"),title:et("explorer.emptyScreen.trash.title"),text:et("explorer.emptyScreen.trash.empty",{ns:tt})})}const EmptyScreenTrash$1=Object.freeze(Object.defineProperty({__proto__:null,default:EmptyScreenTrash},Symbol.toStringTag,{value:"Module"}));function CardIcon({app:tt,type:et}){return et==="folder"?jsxRuntimeExports.jsx(SvgIconFiles,{width:"24",height:"24",className:`color-app-${tt==null?void 0:tt.displayName}`}):et==="resource"?jsxRuntimeExports.jsx(AppIcon,{app:tt,iconFit:"ratio",size:"24",variant:"rounded"}):null}const DraggableCard=({app:tt,type:et,name:rt})=>{const nt={flexDirection:"row",width:"252px",height:"32px",boxShadow:"0 0.2rem 0.6em rgba(0, 0, 0, 0.15)"};return jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center card is-selected gap-8",style:nt,children:[jsxRuntimeExports.jsx("div",{className:"ms-8",children:jsxRuntimeExports.jsx(CardIcon,{app:tt,type:et})}),jsxRuntimeExports.jsx("div",{className:"text-truncate",children:rt})]})},FolderCard=({app:tt,name:et,idFolder:rt,isSelected:nt=!1,isSelectable:st=!0,onClick:ot,onSelect:at})=>{const[lt,ct]=reactExports.useState(!1),ut=reactExports.useId(),{lg:dt}=useBreakpoint(),{setNodeRef:ht}=useDroppable({id:ut,data:{id:rt,name:et,isTreeview:!1,accepts:["folder","resource"]}}),{attributes:ft,listeners:vt,setNodeRef:xt,transform:yt}=useDraggable({id:ut,data:{id:rt,type:"folder"},disabled:!dt}),Et=useResourceOrFolderIsDraggable(),bt=useElementDragOver(),wt=It=>{xt(It),ht(It)},St=bt.overId===rt,Rt=!bt.canMove&&bt.isTreeview?"no-drop":lt?"grabbing":"default",Tt={transform:`translate3d(${((yt==null?void 0:yt.x)??0)/1}px, ${((yt==null?void 0:yt.y)??0)/1}px, 0)`,cursor:Rt};return reactExports.useEffect(()=>{const It=Et.elementDrag===rt;ct(It)},[Et]),jsxRuntimeExports.jsx("div",{ref:wt,style:{...Tt},children:lt?jsxRuntimeExports.jsx(DraggableCard,{name:et,app:tt,type:"folder"}):jsxRuntimeExports.jsx(Card,{app:tt,isSelectable:!lt&&st,isSelected:!lt&&nt||St&<,isFocused:St,onClick:ot,onSelect:at,children:It=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!lt&&dt&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...vt,...ft,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx(SvgIconFiles,{width:"48",height:"48",className:`color-app-${It}`}),jsxRuntimeExports.jsx(Card.Title,{children:et})]})]})})})};FolderCard.displayName="FolderCard";const FoldersList=({data:tt})=>{var vt,xt;const et=useQueryClient(),rt=useSelectedFolders(),nt=useFolderIds(),st=useResourceOrFolderIsDraggable(),ot=useScrollToTop(),{currentApp:at}=useEdificeClient(),{setSelectedFolders:lt,setFolderIds:ct,openFolder:ut}=useStoreActions();function dt(yt){nt.includes(yt.id)?(ct(nt.filter(Et=>Et!==yt.id)),lt(rt.filter(Et=>Et.id!==yt.id))):(ct([yt.id,...nt]),lt([yt,...rt]))}function ht(yt){ot(),ut({folder:yt,folderId:yt.id,queryClient:et})}const ft=useSpring({from:{opacity:0},to:{opacity:1}});return(vt=tt==null?void 0:tt.pages[0])!=null&&vt.folders.length?jsxRuntimeExports.jsx(animated.ul,{className:"grid ps-0 list-unstyled mb-24",children:(xt=tt==null?void 0:tt.pages[0])==null?void 0:xt.folders.map(yt=>{const{id:Et,name:bt}=yt,wt=st.elementDrag===Et;return jsxRuntimeExports.jsx(animated.li,{className:`g-col-4 ${wt?"z-2000":"z-1"}`,style:{position:"relative",...ft},children:jsxRuntimeExports.jsx(FolderCard,{name:bt,idFolder:Et,app:at,isSelected:nt.includes(yt.id),onClick:St=>{St.stopPropagation(),ht(yt)},onSelect:()=>dt(yt)})},Et)})}):null},FoldersList$1=Object.freeze(Object.defineProperty({__proto__:null,default:FoldersList},Symbol.toStringTag,{value:"Module"})),ResourceCard=({app:tt,resource:et,time:rt,isSelected:nt=!1,isSelectable:st=!0,onClick:ot,onSelect:at})=>{const[lt,ct]=reactExports.useState(!1),ut=useIsTrash(),{lg:dt}=useBreakpoint(),ht=`/userbook/avatar/${et==null?void 0:et.creatorId}`;function ft(Pt){const{rights:jt,creatorId:$t}=Pt||{};return jt.filter(Nt=>!Nt.includes($t)).length>=1}const{attributes:vt,listeners:xt,setNodeRef:yt,transform:Et}=useDraggable({id:et.id,data:{id:et.id,type:"resource"},disabled:!!ut||!dt}),bt=ft(et),wt=et==null?void 0:et.public,St=useResourceOrFolderIsDraggable(),{appCode:Rt}=useEdificeClient(),{t:Tt}=useTranslation(),It={position:lt?"absolute":"relative",zIndex:lt?2e3:1,transform:`translate3d(${((Et==null?void 0:Et.x)??0)/1}px, ${((Et==null?void 0:Et.y)??0)/1}px, 0)`};return reactExports.useEffect(()=>{const Pt=St.elementDrag===et.id;ct(Pt)},[St]),jsxRuntimeExports.jsx("div",{ref:yt,style:{...It},children:lt?jsxRuntimeExports.jsx(DraggableCard,{app:tt,type:"resource",name:et==null?void 0:et.name}):jsxRuntimeExports.jsx(Card,{app:tt,isSelected:!lt&&nt,isSelectable:!lt&&st,onClick:ot,onSelect:at,children:()=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[!lt&&dt&&!ut&&jsxRuntimeExports.jsx("div",{className:"card-header z-3",style:{position:"fixed",left:"37px"},children:jsxRuntimeExports.jsx(IconButton,{...xt,...vt,className:"bg-white z-3",color:"secondary",icon:jsxRuntimeExports.jsx(SvgIconMove,{}),variant:"ghost"})}),jsxRuntimeExports.jsxs(Card.Body,{children:[jsxRuntimeExports.jsx("div",{className:"card-image medium",children:et!=null&&et.thumbnail?jsxRuntimeExports.jsx(Image$1,{alt:"",src:`${et==null?void 0:et.thumbnail}?thumbnail=80x80`,objectFit:"cover",className:"h-full w-100"}):jsxRuntimeExports.jsx(AppIcon,{app:tt,iconFit:"ratio",size:"80",variant:"rounded"})}),jsxRuntimeExports.jsxs("div",{className:"text-truncate",children:[jsxRuntimeExports.jsx(Card.Title,{children:et==null?void 0:et.name}),jsxRuntimeExports.jsx(Card.Text,{children:jsxRuntimeExports.jsx("em",{children:rt})})]})]}),jsxRuntimeExports.jsxs(Card.Footer,{children:[jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8 text-truncate",children:[ht?jsxRuntimeExports.jsx(Avatar,{alt:(et==null?void 0:et.creatorName)||"",size:"xs",src:ht,variant:"circle",width:"24",height:"24"}):jsxRuntimeExports.jsx(SvgIconOneProfile,{}),jsxRuntimeExports.jsx(Card.Text,{children:et==null?void 0:et.creatorName})]}),jsxRuntimeExports.jsxs("div",{className:"d-inline-flex align-items-center gap-8",children:[bt&&jsxRuntimeExports.jsx(Tooltip,{message:Tt("tooltip.shared",{ns:Rt}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconUsers,{width:16,height:16})}),wt&&jsxRuntimeExports.jsx(Tooltip,{message:Tt("tooltip.public",{ns:Rt}),placement:"top",children:jsxRuntimeExports.jsx(SvgIconGlobe,{width:16,height:16})})]})]})]})})})};ResourceCard.displayName="ResourceCard";const ResourcesList=({data:tt,fetchNextPage:et})=>{const{currentApp:rt}=useEdificeClient(),{t:nt}=useTranslation(),{fromNow:st}=useDate(),ot=useSearchParams(),at=useResourceIds(),lt=useSelectedResources(),{setSelectedResources:ct,setResourceIds:ut,openResource:dt,setResourceIsTrash:ht}=useStoreActions(),ft=useIsTrash(),vt=useSpring({from:{opacity:0},to:{opacity:1}}),yt=ot.pagination.startIdx+ot.pagination.pageSize<(ot.pagination.maxIdx||0),Et=reactExports.useCallback(()=>{et()},[]),bt=Rt=>{ft?(ht(!0),ut([Rt.id]),ct([Rt])):dt(Rt)};async function wt(Rt){if(at.includes(Rt.id)){ut(at.filter(Tt=>Tt!==Rt.id)),ct(lt.filter(Tt=>Tt.id!==Rt.id));return}ut([...at,Rt.id]),ct([...lt,Rt])}const St=clsx("grid ps-0 list-unstyled");return jsxRuntimeExports.jsxs(React$4.Fragment,{children:[jsxRuntimeExports.jsx(animated.ul,{className:St,children:tt==null?void 0:tt.pages.map((Rt,Tt)=>jsxRuntimeExports.jsx(React$4.Fragment,{children:Rt.resources.map(It=>{const{id:Pt,updatedAt:jt}=It,$t=st(jt);return jsxRuntimeExports.jsx(animated.li,{className:"g-col-4",style:{position:"relative",...vt},children:jsxRuntimeExports.jsx(ResourceCard,{app:rt,resource:It,time:$t,isSelectable:!0,isSelected:at.includes(It.id),onClick:Ut=>{Ut.stopPropagation(),bt(It)},onSelect:()=>wt(It)})},Pt)})},Tt))}),yt&&jsxRuntimeExports.jsx("div",{className:"d-grid gap-2 col-4 mx-auto my-24",children:jsxRuntimeExports.jsx(Button,{type:"button",color:"secondary",variant:"filled",onClick:Et,children:nt("explorer.see.more")})})]})},ResourcesList$1=Object.freeze(Object.defineProperty({__proto__:null,default:ResourcesList},Symbol.toStringTag,{value:"Module"}));function useFolderModal({edit:tt,onSuccess:et,onClose:rt}){var Rt;const nt=useSelectedFolders(),st=useCurrentFolder(),ot=useCreateFolder(),at=useUpdatefolder(),lt=tt?(Rt=nt[0])==null?void 0:Rt.name:void 0,{reset:ct,register:ut,handleSubmit:dt,setFocus:ht,formState:{errors:ft,isSubmitting:vt,isDirty:xt,isValid:yt}}=useForm({mode:"onChange",values:{name:lt||""}}),Et=reactExports.useId(),bt=async function({name:Tt}){var It;try{if(tt){const Pt=(It=nt[0])==null?void 0:It.parentId,$t=nt[0].id;await at.mutate({folderId:$t,parentId:Pt,name:Tt}),ct(),et==null||et()}else{const Pt=(st==null?void 0:st.id)||FOLDER.DEFAULT;await ot.mutate({name:Tt,parentId:Pt}),ct(),et==null||et()}}catch(Pt){console.error(Pt)}};function wt(){ct(),rt()}return{formId:`createModal_${Et}`,errors:ft,isSubmitting:vt,isDirty:xt,isValid:yt,register:ut,setFocus:ht,handleSubmit:dt,onCancel:wt,onSubmit:bt}}function FolderModal$1({isOpen:tt,edit:et,onSuccess:rt,onCancel:nt}){const{t:st}=useTranslation(),{isDirty:ot,isValid:at,isSubmitting:lt,formId:ct,onSubmit:ut,onCancel:dt,handleSubmit:ht,register:ft,setFocus:vt}=useFolderModal({edit:et,onSuccess:rt,onClose:nt});return reactExports.useEffect(()=>{tt&&vt("name")},[tt,vt]),tt?reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:dt,id:"modal_"+ct,children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:dt,children:st(et?"explorer.rename.folder":"explorer.create.folder")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("form",{id:ct,onSubmit:ht(ut),children:jsxRuntimeExports.jsxs(FormControl,{id:"nameFolder",isRequired:!0,children:[jsxRuntimeExports.jsx(Label,{children:st("explorer.create.folder.name")}),jsxRuntimeExports.jsx(Input,{type:"text",...ft("name",{required:!0,maxLength:60,pattern:{value:/[^ ]/,message:"invalid title"}}),placeholder:st("explorer.create.folder.name"),size:"md","aria-required":!0,maxLength:60})]})})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:dt,type:"button",variant:"ghost",children:st("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{form:ct,type:"submit",color:"primary",variant:"filled",disabled:!ot||!at||lt,children:st(et?"explorer.rename":"explorer.create")})]})]}),document.getElementById("portal")):null}const FolderModal$2=Object.freeze(Object.defineProperty({__proto__:null,default:FolderModal$1},Symbol.toStringTag,{value:"Module"})),CreateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0));function AppAction({onResourceCreated:tt}){const[et,rt]=useToggle(),nt=useStoreContext(xt=>xt.config),{appCode:st}=useEdificeClient(),{t:ot}=useTranslation(st),{clearSelectedItems:at,clearSelectedIds:lt}=useStoreActions(),{data:ct}=useActions(nt==null?void 0:nt.actions),ut=ct==null?void 0:ct.find(xt=>xt.id==="create"),dt=useCurrentFolder(),ht=useCreateResource({onResourceCreated:tt}),ft=useSearchParams(),vt=()=>{if(st=="scrapbook"){goToCreate({searchParams:ft,folderId:dt.id});return}at(),lt(),rt()};return ut?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",leftIcon:jsxRuntimeExports.jsx(SvgIconPlus,{}),className:"ms-auto",onClick:vt,children:ot("explorer.create.title")}),jsxRuntimeExports.jsx(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:et&&jsxRuntimeExports.jsx(CreateModal,{mode:"create",currentFolder:dt,createResource:ht,isOpen:et,onSuccess:rt,onCancel:rt,children:(xt,yt,Et,bt,wt)=>st==="blog"&&isActionAvailable("createPublic",ct)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:st,isUpdating:yt,resource:xt,watch:Et,setValue:bt,register:wt})})})]}):null}const AppAction$1=Object.freeze(Object.defineProperty({__proto__:null,default:AppAction},Symbol.toStringTag,{value:"Module"})),imageLibraryNeo="/assets/js/ode-explorer/image-library.svg",imageLibraryOne="/assets/js/ode-explorer/image-library.svg",useLibrary=()=>{const tt=useLibraryUrl(),{theme:et}=useEdificeTheme(),[rt,nt]=reactExports.useState("");return reactExports.useEffect(()=>{var lt,ct;const ot={neo:imageLibraryNeo,one:imageLibraryOne},at=((ct=(lt=et==null?void 0:et.bootstrapVersion)==null?void 0:lt.toString())==null?void 0:ct.toLowerCase())||"neo";nt(ot[at]||imageLibraryNeo)},[et]),{libraryUrl:tt,imageFullURL:rt,handleClick:()=>{tt&&(window.open(tt,"_blank"),odeServices.data().trackAccessLibraryFromExplorer())}}},Library=()=>{const{libraryUrl:tt,imageFullURL:et,handleClick:rt}=useLibrary(),{t:nt}=useTranslation();return tt&&jsxRuntimeExports.jsxs("div",{className:"p-16",children:[jsxRuntimeExports.jsx(Image$1,{width:"270",height:"140",loading:"lazy",className:"rounded",src:et,alt:nt("explorer.libray.img.alt")}),jsxRuntimeExports.jsx("p",{className:"m-8",children:nt("explorer.libray.title")}),jsxRuntimeExports.jsxs("button",{type:"button",onClick:rt,rel:"noreferrer",className:"btn btn-ghost-primary d-inline-flex align-items-center gap-4 p-8",children:[jsxRuntimeExports.jsx("span",{children:nt("explorer.libray.btn")}),jsxRuntimeExports.jsx(SvgIconArrowRight,{})]})]})},Library$1=Object.freeze(Object.defineProperty({__proto__:null,default:Library},Symbol.toStringTag,{value:"Module"}));function useAccessControl({roles:tt,rights:et,action:rt}){const[nt,st]=reactExports.useState(!1),{user:ot}=useUser(),at=useIsTrash();reactExports.useEffect(()=>{ut()},[tt,et]);const lt=async function(dt){const ht=dt instanceof Array?dt:[dt];if(tt instanceof Array){const ft=await odeServices.rights().sessionHasAtLeastOneResourceRight(tt,ht);st(ft)}else{const ft=await odeServices.rights().sessionHasResourceRight(tt,ht);st(ft)}},ct=async function(dt){if(tt instanceof Array){const ht=await odeServices.rights().sessionHasAtLeastOneResourceRightForEachList(tt,dt);st(ht)}else{const ht=await odeServices.rights().sessionHasResourceRightForEachList(tt,dt);st(ht)}},ut=async function(){var dt,ht,ft;if(tt===void 0){st(!0);return}if(at&&((ht=(dt=et[0])==null?void 0:dt.trashedBy)!=null&&ht.includes(ot==null?void 0:ot.userId))&&rt==="restore"&&!((ft=et[0])!=null&&ft.trashed)){st(!0);return}if(et instanceof Array)if(et.length>0)if(typeof et[0]=="string")await lt(et);else{const vt=et.map(xt=>xt.rights);await ct(vt)}else st(!1);else typeof et=="string"?await lt(et):await lt(et.rights)};return{visible:nt,refreshState:ut}}function useActionBar(){const[tt,et]=reactExports.useState(!1),[rt,nt]=reactExports.useState("void"),[st,ot]=reactExports.useState(),at=useStoreContext(hr=>hr.config),lt=useCurrentFolder(),ct=useResourceIds(),ut=useSelectedResources(),dt=useSelectedFolders(),ht=useFolderIds(),ft=useIsTrash(),vt=useRestore(),xt=useResourceIsTrash(),yt=useSearchParams(),Et=useCopyResource(),bt=useResourceOrFolderIsDraggable(),{openResource:wt,printSelectedResource:St,openFolder:Rt,clearSelectedItems:Tt,clearSelectedIds:It}=useStoreActions(),{data:Pt}=useActions(at==null?void 0:at.actions);reactExports.useEffect(()=>{if(ct.length===0&&ht.length===0){et(!1);return}if(xt){et(!1);return}if(bt.isDrag){et(!1);return}et(!0)},[ct,ht]);async function jt(hr){var Sr;switch((Sr=document.getElementById("root"))==null||Sr.setAttribute("aria-hidden","true"),ot(hr),hr.id){case ACTION.OPEN:return ct.length>0?wt(ut[0]):Rt({folder:dt[0],folderId:dt[0].id});case ACTION.COPY:return Er();case ACTION.MOVE:return nt("move");case ACTION.PRINT:return St();case ACTION.DELETE:return nt("delete");case ACTION.RESTORE:return await Nt();case ACTION.PUBLISH:return nt("publish");case ACTION.UPD_PROPS:case"edit":return or();case ACTION.SHARE:return nt("share");case ACTION.EXPORT:return nt("export");default:throw Error(`Unknown action: ${hr.id}`)}}function $t(hr){const Sr=ct.length+ht.length,Cr=ct.length===1||ht.length===1,Nr=Sr===1,Fr=ht.length===0;switch(hr.id){case ACTION.OPEN:return Nr;case ACTION.MANAGE:return Cr;case ACTION.COPY:return Cr&&Fr;case ACTION.PUBLISH:return Cr&&Fr;case ACTION.UPD_PROPS:return Cr&&Fr;case ACTION.SHARE:return Fr&&Cr;case"export":return Cr&&Fr;case ACTION.PRINT:return Cr&&Fr;case"edit":return Nr;default:return!0}}const Ut=()=>!0;async function Nt(){try{if(ft)await vt.mutate();else throw new Error("Cannot restore untrashed resources");Ht()}catch(hr){console.error(hr)}}function Ht(){var hr;nt("void"),st!=null&&st.id&&((hr=document.getElementById(st==null?void 0:st.id))==null||hr.focus())}const Lt=hr=>()=>{rt===hr&&(Ht(),Tt(),It())},Dt=Lt("move"),Ot=Lt("move"),Ft=Lt("delete"),Gt=Lt("delete"),Mt=Lt("publish"),Vt=Lt("publish"),Bt=Lt("edit_folder"),qt=Lt("edit_folder"),Kt=Lt("edit_resource"),Yt=Lt("edit_resource"),tr=Lt("share"),ar=Lt("share"),lr=Lt("export"),pr=Lt("export");async function Er(){if(ut&&ut.length>0){const hr=ut[0];await Et.mutate(hr),Tt(),It()}}function or(){if(ct&&ct.length>0){const hr=ut[0].assetId;(at==null?void 0:at.app)==="scrapbook"?goToEdit({searchParams:yt,assetId:hr}):nt("edit_resource")}else nt("edit_folder")}function mr(hr){return hr.id==="edit"&&ht.length>0?"explorer.rename":`explorer.actions.${hr.id}`}return{onRestore:Nt,actions:ft?at==null?void 0:at.trashActions:Pt,selectedElement:[...ut,...dt],currentFolderId:lt==null?void 0:lt.id,overrideLabel:mr,handleClick:jt,isActivable:ft?Ut:$t,isActionBarOpen:tt,isMoveModalOpen:rt==="move",onMoveCancel:Dt,onMoveSuccess:Ot,isDeleteModalOpen:rt==="delete",onDeleteCancel:Gt,onDeleteSuccess:Ft,isPublishModalOpen:rt==="publish",onPublishCancel:Vt,onPublishSuccess:Mt,isEditFolderOpen:rt==="edit_folder",onEditFolderCancel:qt,onEditFolderSuccess:Bt,isEditResourceOpen:rt==="edit_resource",onEditResourceCancel:Yt,onEditResourceSuccess:Kt,isShareResourceOpen:rt==="share",onShareResourceCancel:ar,onShareResourceSuccess:tr,isExportModalOpen:rt==="export",onExportCancel:lr,onExportSuccess:pr,onClearActionBar:Ht}}function AccessControl({resourceRights:tt,roleExpected:et,action:rt,children:nt,renderWhenForbidden:st}){const{t:ot}=useTranslation(),{overrideLabel:at}=useActionBar(),{visible:lt}=useAccessControl({roles:et,rights:tt,action:rt==null?void 0:rt.id}),{setResourceActionDisable:ct}=useStoreActions(),ut=useIsTrash();return lt?jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:nt}):st?st():ut&&!lt?jsxRuntimeExports.jsx(Button,{type:"button",color:"primary",variant:"filled",onClick:()=>{ct(!0)},children:ot(at(rt))}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})}const PublishModal$1=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>PublishModal),void 0)),UpdateModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ResourceModal),void 0)),DeleteModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>DeleteModal$1),void 0)),MoveModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>MoveModal$1),void 0)),FolderModal=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>FolderModal$2),void 0)),ExportModal$2=reactExports.lazy(async()=>await __vitePreload(()=>Promise.resolve().then(()=>ExportModal$1),void 0));function ActionBarContainer(){const{appCode:tt}=useEdificeClient(),{t:et}=useTranslation(),{actions:rt,selectedElement:nt,isMoveModalOpen:st,isDeleteModalOpen:ot,isPublishModalOpen:at,isActionBarOpen:lt,isEditFolderOpen:ct,overrideLabel:ut,onEditFolderCancel:dt,onEditFolderSuccess:ht,isEditResourceOpen:ft,onEditResourceCancel:vt,onEditResourceSuccess:xt,isShareResourceOpen:yt,onShareResourceCancel:Et,onShareResourceSuccess:bt,isExportModalOpen:wt,onExportCancel:St,onExportSuccess:Rt,onMoveCancel:Tt,onMoveSuccess:It,onDeleteCancel:Pt,onDeleteSuccess:jt,onPublishCancel:$t,onPublishSuccess:Ut,isActivable:Nt,handleClick:Ht}=useActionBar(),Dt=useSelectedResources()[0],Ot=useShareResource(tt),Ft=useUpdateResource(tt),Gt=useTransition(lt,{from:{opacity:0,transform:"translateY(100%)"},enter:{opacity:1,transform:"translateY(0)"},leave:{opacity:0,transform:"translateY(100%)"}});return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Gt((Mt,Vt)=>Vt&&jsxRuntimeExports.jsx(animated.div,{className:"position-fixed bottom-0 start-0 end-0",style:{...Mt,zIndex:4},children:jsxRuntimeExports.jsx(ActionBar$1,{children:rt==null?void 0:rt.filter(Bt=>Bt.available&&Bt.target==="actionbar").map(Bt=>Nt(Bt)&&jsxRuntimeExports.jsx(AccessControl,{resourceRights:nt,roleExpected:Bt.right,action:Bt,children:jsxRuntimeExports.jsx(Button,{id:Bt.id,type:"button",color:"primary",variant:"filled",onClick:()=>{Ht(Bt)},children:et(ut(Bt))},Bt.id)},Bt.id))})})),jsxRuntimeExports.jsxs(reactExports.Suspense,{fallback:jsxRuntimeExports.jsx(LoadingScreen,{}),children:[st&&jsxRuntimeExports.jsx(MoveModal$2,{isOpen:st,onCancel:Tt,onSuccess:It}),ot&&jsxRuntimeExports.jsx(DeleteModal$2,{isOpen:ot,onCancel:Pt,onSuccess:jt}),at&&Dt&&jsxRuntimeExports.jsx(PublishModal$1,{isOpen:at,resourceId:Dt.assetId,onCancel:$t,onSuccess:Ut}),ct&&jsxRuntimeExports.jsx(FolderModal,{edit:!0,isOpen:ct,onCancel:dt,onSuccess:ht}),ft&&Dt&&jsxRuntimeExports.jsx(UpdateModal,{mode:"update",isOpen:ft,resourceId:Dt.assetId,updateResource:Ft,onCancel:vt,onSuccess:xt,children:(Mt,Vt,Bt,qt,Kt)=>tt==="blog"&&isActionAvailable("createPublic",rt)&&jsxRuntimeExports.jsx(BlogPublic,{appCode:tt,isUpdating:Vt,resource:Mt,watch:Bt,setValue:qt,register:Kt})}),yt&&Dt&&jsxRuntimeExports.jsx(ShareResourceModal,{isOpen:yt,shareResource:Ot,shareOptions:{resourceCreatorId:Dt.creatorId,resourceId:Dt.assetId,resourceRights:Dt.rights},onCancel:Et,onSuccess:bt,children:tt==="blog"?jsxRuntimeExports.jsx(ShareBlog,{resourceId:Dt.assetId,updateResource:Ft}):null}),wt&&Dt&&jsxRuntimeExports.jsx(ExportModal$2,{isOpen:wt,onCancel:St,onSuccess:Rt})]})]})}const ActionBarContainer$1=Object.freeze(Object.defineProperty({__proto__:null,default:ActionBarContainer},Symbol.toStringTag,{value:"Module"}));function DisableModal({isOpen:tt,onCancel:et=()=>({})}){const{t:rt}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:et,id:"trash_action_disable_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>et(),children:rt("explorer.trash.action.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:rt("explorer.trash.action.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:et,type:"button",variant:"outline",children:rt("close")})})]}),document.getElementById("portal"))}const DisableModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DisableModal},Symbol.toStringTag,{value:"Module"}));function TrashModal({isOpen:tt,onCancel:et=()=>({})}){const{t:rt}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:et,id:"trash_resource",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:()=>et(),children:rt("explorer.trash.modal.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:rt("explorer.trash.modal.text")})}),jsxRuntimeExports.jsx(Modal.Footer,{children:jsxRuntimeExports.jsx(Button,{color:"primary",onClick:et,type:"button",variant:"outline",children:rt("close")})})]}),document.getElementById("portal"))}const TrashModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:TrashModal},Symbol.toStringTag,{value:"Module"})),OnboardingModal=Object.freeze(Object.defineProperty({__proto__:null,default:OnboardingModal$2},Symbol.toStringTag,{value:"Module"})),illuBlog="/assets/js/ode-explorer/illu-blog.svg",illuBlog$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuBlog},Symbol.toStringTag,{value:"Module"})),illuCollaborativeeditor="/assets/js/ode-explorer/illu-pad.svg",illuCollaborativeeditor$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativeeditor},Symbol.toStringTag,{value:"Module"})),illuCollaborativewall="/assets/js/ode-explorer/illu-collaborativewall.svg",illuCollaborativewall$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuCollaborativewall},Symbol.toStringTag,{value:"Module"})),illuExercizer="/assets/js/ode-explorer/illu-exercizer.svg",illuExercizer$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuExercizer},Symbol.toStringTag,{value:"Module"})),illuHomeworks="/assets/js/ode-explorer/illu-homeworks.svg",illuHomeworks$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuHomeworks},Symbol.toStringTag,{value:"Module"})),illuMessagerie="/assets/js/ode-explorer/illu-messagerie.svg",illuMessagerie$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMessagerie},Symbol.toStringTag,{value:"Module"})),illuMindmap="/assets/js/ode-explorer/illu-mindmap.svg",illuMindmap$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuMindmap},Symbol.toStringTag,{value:"Module"})),illuPad="/assets/js/ode-explorer/illu-pad.svg",illuPad$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuPad},Symbol.toStringTag,{value:"Module"})),illuScrapbook="/assets/js/ode-explorer/illu-scrapbook.svg",illuScrapbook$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuScrapbook},Symbol.toStringTag,{value:"Module"})),illuTimeline="/assets/js/ode-explorer/illu-timeline.svg",illuTimeline$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimeline},Symbol.toStringTag,{value:"Module"})),illuTimelinegenerator="/assets/js/ode-explorer/illu-timelinegenerator.svg",illuTimelinegenerator$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuTimelinegenerator},Symbol.toStringTag,{value:"Module"})),illuWiki="/assets/js/ode-explorer/illu-wiki.svg",illuWiki$1=Object.freeze(Object.defineProperty({__proto__:null,default:illuWiki},Symbol.toStringTag,{value:"Module"})),ResourceModal=Object.freeze(Object.defineProperty({__proto__:null,default:ResourceModal$1},Symbol.toStringTag,{value:"Module"})),PublishModal=Object.freeze(Object.defineProperty({__proto__:null,default:PublishModal$2},Symbol.toStringTag,{value:"Module"}));function useDeleteModal({onSuccess:tt}){const et=useDelete(),rt=useTrash(),nt=useIsTrash();async function st(){try{nt?await et.mutate():await rt.mutate(),tt==null||tt()}catch(ot){console.error(ot)}}return{isTrashFolder:nt,onDelete:st}}function DeleteModal({isOpen:tt,onSuccess:et=()=>({}),onCancel:rt=()=>({})}){const{t:nt}=useTranslation(),{isTrashFolder:st,onDelete:ot}=useDeleteModal({onSuccess:et});return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:rt,id:"deleteModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:rt,children:nt(st?"explorer.delete.title":"explorer.trash.title")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx("p",{className:"body",children:nt(st?"explorer.delete.subtitle":"explorer.trash.subtitle")})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:rt,type:"button",variant:"ghost",children:nt("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"danger",onClick:ot,type:"button",variant:"filled",children:nt(st?"explorer.delete":"explorer.trash")})]})]}),document.getElementById("portal"))}const DeleteModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:DeleteModal},Symbol.toStringTag,{value:"Module"}));function useMoveModal({onSuccess:tt}){const[et,rt]=reactExports.useState(),nt=useQueryClient(),st=useMoveItem(),ot=useSelectedFolders(),at=useSelectedResources(),lt=useTreeData(),{fetchTreeData:ct}=useStoreActions();async function ut(){try{if(!et)throw new Error("explorer.move.selection.empty");await st.mutate(et),await(tt==null?void 0:tt())}catch(ht){console.error(ht)}}const dt=ht=>{var vt,xt;const ft=getAncestors(lt,ht);for(const yt of ot)if(ht===yt.id||ht===yt.parentId||(vt=yt.childrenIds)!=null&&vt.includes(ht)||ft.includes(yt.id))return!1;for(const yt of at)if(ht===((yt==null?void 0:yt.folderIds)&&yt.folderIds[0])||((xt=yt==null?void 0:yt.folderIds)==null?void 0:xt.length)===0&&ht==="default")return!1;return!0};return{treeData:lt,disableSubmit:!et,handleTreeItemSelect:ht=>{dt(ht)?rt(ht):rt(void 0)},handleOnTreeItemUnfold:ht=>{var xt,yt;const ft=findNodeById(lt,ht),vt=(xt=ft==null?void 0:ft.children)==null?void 0:xt.some(Et=>{var bt;return Array.isArray(Et==null?void 0:Et.children)&&((bt=Et.children)==null?void 0:bt.length)>0});(yt=ft==null?void 0:ft.children)==null||yt.forEach(Et=>{vt||ct(Et.id,nt)})},onMove:()=>ut()}}function MoveModal({isOpen:tt,onSuccess:et,onCancel:rt}){const{appCode:nt}=useEdificeClient(),{t:st}=useTranslation(),{treeData:ot,handleTreeItemSelect:at,handleOnTreeItemUnfold:lt,onMove:ct,disableSubmit:ut}=useMoveModal({onSuccess:et}),dt={...ot,name:st("explorer.filters.mine",{ns:nt})};return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:rt,id:"moveModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:rt,children:st("explorer.move.title")}),jsxRuntimeExports.jsx(Modal.Subtitle,{children:st("explorer.move.subtitle")}),jsxRuntimeExports.jsx(Modal.Body,{children:jsxRuntimeExports.jsx(TreeView,{data:dt,onTreeItemClick:at,onTreeItemUnfold:lt})}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:rt,type:"button",variant:"ghost",children:st("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:ct,type:"button",variant:"filled",disabled:ut,children:st("explorer.move")})]})]}),document.getElementById("portal"))}const MoveModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:MoveModal},Symbol.toStringTag,{value:"Module"})),useExportModal=tt=>{const et=useSelectedResources(),rt=useSearchParams(),nt=useToast(),{t:st}=useTranslation();return{handleExportClick:()=>{et.length?(goToExport({searchParams:rt,assetId:et[0].assetId}),tt()):nt.error(st("explorer.error.noResourceSelected"))}}};function ExportModal({isOpen:tt,onSuccess:et,onCancel:rt}){const{handleExportClick:nt}=useExportModal(et),{t:st}=useTranslation();return reactDomExports.createPortal(jsxRuntimeExports.jsxs(Modal,{isOpen:tt,onModalClose:rt,id:"exportModal",children:[jsxRuntimeExports.jsx(Modal.Header,{onModalClose:rt,children:st("explorer.export.title")}),jsxRuntimeExports.jsxs(Modal.Body,{children:[jsxRuntimeExports.jsxs("ul",{children:[jsxRuntimeExports.jsx("li",{children:st("explorer.export.body.info.1")}),jsxRuntimeExports.jsx("li",{children:st("explorer.export.body.info.2")}),jsxRuntimeExports.jsx("li",{children:st("explorer.export.body.info.3")})]}),jsxRuntimeExports.jsx(Alert,{type:"warning",children:st("explorer.export.body.warning")})]}),jsxRuntimeExports.jsxs(Modal.Footer,{children:[jsxRuntimeExports.jsx(Button,{color:"tertiary",onClick:rt,type:"button",variant:"ghost",children:st("explorer.cancel")}),jsxRuntimeExports.jsx(Button,{color:"primary",onClick:nt,type:"button",variant:"filled",children:st("explorer.actions.export")})]})]}),document.getElementById("portal"))}const ExportModal$1=Object.freeze(Object.defineProperty({__proto__:null,default:ExportModal},Symbol.toStringTag,{value:"Module"}));
|
package/lib/index2.js
CHANGED
|
@@ -461,7 +461,8 @@ class ye extends de {
|
|
|
461
461
|
folder: t.folder,
|
|
462
462
|
slug: t.public ? t.slug : "",
|
|
463
463
|
"publish-type": t.publishType || "RESTRAINT",
|
|
464
|
-
"comment-type": "IMMEDIATE"
|
|
464
|
+
"comment-type": "IMMEDIATE",
|
|
465
|
+
allowReplies: t.allowReplies
|
|
465
466
|
});
|
|
466
467
|
return this.checkHttpResponse(o), o;
|
|
467
468
|
}
|
|
@@ -475,7 +476,8 @@ class ye extends de {
|
|
|
475
476
|
visibility: t.public ? "PUBLIC" : "OWNER",
|
|
476
477
|
slug: t.public ? t.slug : "",
|
|
477
478
|
"publish-type": t["publish-type"] || "RESTRAINT",
|
|
478
|
-
"comment-type": "IMMEDIATE"
|
|
479
|
+
"comment-type": "IMMEDIATE",
|
|
480
|
+
allowReplies: t.allowReplies
|
|
479
481
|
});
|
|
480
482
|
return this.checkHttpResponse(r), {
|
|
481
483
|
thumbnail: s,
|