@uxland/primary-shell 7.13.2 → 7.14.0

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 CHANGED
@@ -1,4 +1,4 @@
1
- import { E as i, u as e, w as r, c as t, P as n, n as o, m as l, d as c, p, f as g, o as m, e as P, q as v, g as E, j as h, a as u, l as S, v as d } from "./index-BzY8_3e-.js";
1
+ import { E as i, u as e, w as r, c as t, P as n, n as o, m as l, d as c, p, f as g, o as m, e as P, q as v, g as E, j as h, a as u, l as S, v as d } from "./index-DdsMjYI8.js";
2
2
  export {
3
3
  i as EcapEventManager,
4
4
  e as PrimariaContentSwitcher,
@@ -306,7 +306,7 @@ Registered bindings:`,ne.forEach(function(oe){var de="Object";oe.implementationT
306
306
  </div>
307
307
  `,Ps=class Ps extends h$o{render(){return ke$1`${template$n(this)}`}};Ps.styles=i$D`
308
308
  ${r$H(styles$l)}
309
- `;let PluginBusyList=Ps;class PluginBusyManagerImpl{constructor(){this.tasks=[],customElements.get("plugin-busy-list")||t$k("plugin-busy-list")(PluginBusyList)}addTask(J){this.tasks.some(re=>re.taskId===J.taskId)||this.tasks.push(J)}removeTask(J){const X=this.tasks.findIndex(re=>re.taskId===J);X>-1&&this.tasks.splice(X,1)}isBusy(){return this.tasks.length>0}clearAll(){this.tasks=[]}getTasks(){return this.tasks}}class QuickActionBusyManagerImpl{constructor(J){this.broker=J,this.tasks=[]}addTask(J){this.tasks.findIndex(re=>re.taskId===J.taskId)>-1||(this.tasks.push(J),this.emitBusyChanged())}removeTask(J){const X=this.tasks.findIndex(re=>re.taskId===J);X>-1&&(this.tasks.splice(X,1),this.emitBusyChanged())}isBusy(){return this.tasks.length>0}clearAll(){this.tasks=[]}emitBusyChanged(){const J=this.isBusy();this.broker.publish(shellEvents.quickActionBusyChanged,{busy:J})}}const shellRegions={header:"header-region",headerRightActions:"header-actions-region",main:"main-region",navigationMenu:"menu-region",navigationLowerLeftMenu:"navigation-lower-left-menu",quickActions:"quick-actions-region",floating:"floating-region",communicationSidenav:"communication-sidenav-region",importData:"import-data-region"},clinicalMonitoringRegions={sidebar:"clinical-monitoring-widgets-sidebar-region",header:"clinical-monitoring-header-widgets-region",content:"clinical-monitoring-content-widgets-region"};class RegionManagerProxy{constructor(J,X,re){this.pluginInfo=J,this.regionManager=X,this.broker=re,this.regions={shell:shellRegions,clinicalMonitoring:clinicalMonitoringRegions}}registerView(J,X){return this.regionManager.registerViewWithRegion(J,`${this.pluginInfo.pluginId}::${X.id}`,X),Promise.resolve()}removeView(J,X){const re=this.regionManager.getRegion(J);return re&&re.removeView(`${this.pluginInfo.pluginId}::${X}`),Promise.resolve()}activateView(J,X){return this.regionManager.getRegion(J).activate(`${this.pluginInfo.pluginId}::${X}`),J===this.regions.shell.main&&this._notifyMainViewChanged(X),Promise.resolve()}deactivateView(J,X){return this.regionManager.getRegion(J).deactivate(`${this.pluginInfo.pluginId}::${X}`),Promise.resolve()}getRegion(J){return Promise.resolve(this.regionManager.getRegion(J))}containsView(J,X){const re=this.regionManager.getRegion(J);return Promise.resolve(re?.containsView(`${this.pluginInfo.pluginId}::${X}`))}isViewActive(J,X){const ne=this.regionManager.getRegion(J).currentActiveViews.some(oe=>oe.id===X);return Promise.resolve(ne)}registerQuickAction(J){return this.regionManager.registerViewWithRegion(this.regions.shell.quickActions,`${this.pluginInfo.pluginId}::${J.id}`,J),Promise.resolve()}registerNavigationMenu(J){return this.regionManager.registerViewWithRegion(this.regions.shell.navigationMenu,`${this.pluginInfo.pluginId}::${J.id}`,J),Promise.resolve()}registerMainView(J){return this.regionManager.registerViewWithRegion(this.regions.shell.main,`${this.pluginInfo.pluginId}::${J.id}`,J),Promise.resolve()}activateMainView(J){return this.regionManager.getRegion(this.regions.shell.main).activate(`${this.pluginInfo.pluginId}::${J}`),this._notifyMainViewChanged(J),Promise.resolve()}getCurrentMainViewActive(){return this.regionManager.getRegion(this.regions.shell.main).currentActiveViews[0]?.id}_notifyMainViewChanged(J){this.broker.publish(shellEvents.mainViewChanged,{viewId:J})}_destroy(){this.regionManager.destroy()}}const createRegionManagerProxy=(te,J,X)=>new RegionManagerProxy(te,J,X);let token,refreshToken,tokenInitialized=!1;class TokenManagerImpl{constructor(){this.getUrlParams=()=>new URLSearchParams(window.location.search),this.initToken=()=>{if(tokenInitialized)throw new Error("Token already initialized");tokenInitialized=!0;const J=this.getUrlParams();return token=J.get("access_token")||"",refreshToken=J.get("refresh_token")||"",token},this.setInitialTokens=(J,X)=>{if(tokenInitialized)throw new Error("Token already initialized");token=J,refreshToken=X,tokenInitialized=!0},this.getToken=()=>(tokenInitialized||this.initToken(),token),this.refreshToken=async()=>{tokenInitialized||this.initToken();const J=await axios.post("/api/token/refresh",{token:refreshToken}),{access_token:X,refresh_token:re}=J.data;if(!X)throw new Error("Invalid refresh token response");return token=X,refreshToken=re,token}}}let tokenManager$1;const createTokenManager=()=>tokenManager$1||(tokenManager$1=new TokenManagerImpl,tokenManager$1);class UserManagerImpl{constructor(J){this.tokenManager=J,this.getRole=()=>{const X=this.tokenManager.getToken();if(X)try{return jwtDecode(X).access_info?.role_type}catch(re){console.error("Error decoding JWT token:",re);return}},this.isUserRoleAdministrative=()=>this.getRole()==="ADM"}}let userManager$1;const createUserManager=te=>userManager$1||(userManager$1=new UserManagerImpl(te),userManager$1);class ImportDataManagerImpl{constructor(J){this.interactionService=J,this.selectedItems={},this.currentImporterId="",this.pluginTexts={}}async import(J){this.currentImporterId=J,this.selectedItems={},this.pluginTexts={};try{const{ImportDataManagerModal:X}=await Promise.resolve().then(()=>component),{confirmed:re}=await this.interactionService.confirm(void 0,{component:X},{fullCustomization:!0}),ne=this.getConcatenatedText(),oe={accepted:re,data:re?this.selectedItems:{},text:re?ne:{raw:"",html:""}};return this.selectedItems={},this.currentImporterId="",this.pluginTexts={},oe}catch(X){throw this.selectedItems={},this.currentImporterId="",this.pluginTexts={},X}}selectItems(J){this.selectedItems[J.pluginId]=J.data,this.pluginTexts[J.pluginId]=J.text}getCurrentImporterId(){return this.currentImporterId}getConcatenatedText(){const J=[],X=[];for(const re of Object.values(this.pluginTexts))re.raw&&J.push(re.raw),re.html&&X.push(re.html);return{raw:J.join(`
309
+ `;let PluginBusyList=Ps;class PluginBusyManagerImpl{constructor(){this.tasks=[],customElements.get("plugin-busy-list")||t$k("plugin-busy-list")(PluginBusyList)}addTask(J){this.tasks.some(re=>re.taskId===J.taskId)||this.tasks.push(J)}removeTask(J){const X=this.tasks.findIndex(re=>re.taskId===J);X>-1&&this.tasks.splice(X,1)}isBusy(){return this.tasks.length>0}clearAll(){this.tasks=[]}getTasks(){return this.tasks}}class QuickActionBusyManagerImpl{constructor(J){this.broker=J,this.tasks=[]}addTask(J){this.tasks.findIndex(re=>re.taskId===J.taskId)>-1||(this.tasks.push(J),this.emitBusyChanged())}removeTask(J){const X=this.tasks.findIndex(re=>re.taskId===J);X>-1&&(this.tasks.splice(X,1),this.emitBusyChanged())}isBusy(){return this.tasks.length>0}clearAll(){this.tasks=[]}emitBusyChanged(){const J=this.isBusy();this.broker.publish(shellEvents.quickActionBusyChanged,{busy:J})}}const shellRegions={header:"header-region",headerRightActions:"header-actions-region",main:"main-region",navigationMenu:"menu-region",navigationLowerLeftMenu:"navigation-lower-left-menu",quickActions:"quick-actions-region",floating:"floating-region",communicationSidenav:"communication-sidenav-region",importData:"import-data-region"},clinicalMonitoringRegions={sidebar:"clinical-monitoring-widgets-sidebar-region",header:"clinical-monitoring-header-widgets-region",content:"clinical-monitoring-content-widgets-region"};class RegionManagerProxy{constructor(J,X,re){this.pluginInfo=J,this.regionManager=X,this.broker=re,this.regions={shell:shellRegions,clinicalMonitoring:clinicalMonitoringRegions}}registerView(J,X){return this.regionManager.registerViewWithRegion(J,`${this.pluginInfo.pluginId}::${X.id}`,X),Promise.resolve()}removeView(J,X){const re=this.regionManager.getRegion(J);return re&&re.removeView(`${this.pluginInfo.pluginId}::${X}`),Promise.resolve()}activateView(J,X){return this.regionManager.getRegion(J).activate(`${this.pluginInfo.pluginId}::${X}`),J===this.regions.shell.main&&this._notifyMainViewChanged(X),Promise.resolve()}deactivateView(J,X){return this.regionManager.getRegion(J).deactivate(`${this.pluginInfo.pluginId}::${X}`),Promise.resolve()}getRegion(J){return Promise.resolve(this.regionManager.getRegion(J))}containsView(J,X){const re=this.regionManager.getRegion(J);return Promise.resolve(re?.containsView(`${this.pluginInfo.pluginId}::${X}`))}isViewActive(J,X){const ne=this.regionManager.getRegion(J).currentActiveViews.some(oe=>oe.id===X);return Promise.resolve(ne)}registerQuickAction(J){return this.regionManager.registerViewWithRegion(this.regions.shell.quickActions,`${this.pluginInfo.pluginId}::${J.id}`,J),Promise.resolve()}registerNavigationMenu(J){return this.regionManager.registerViewWithRegion(this.regions.shell.navigationMenu,`${this.pluginInfo.pluginId}::${J.id}`,J),Promise.resolve()}registerMainView(J){return this.regionManager.registerViewWithRegion(this.regions.shell.main,`${this.pluginInfo.pluginId}::${J.id}`,J),Promise.resolve()}activateMainView(J){return this.regionManager.getRegion(this.regions.shell.main).activate(`${this.pluginInfo.pluginId}::${J}`),this._notifyMainViewChanged(J),Promise.resolve()}getCurrentMainViewActive(){return this.regionManager.getRegion(this.regions.shell.main).currentActiveViews[0]?.id}_notifyMainViewChanged(J){this.broker.publish(shellEvents.mainViewChanged,{viewId:J})}_destroy(){this.regionManager.destroy()}}const createRegionManagerProxy=(te,J,X)=>new RegionManagerProxy(te,J,X);let token,refreshToken,tokenInitialized=!1;class TokenManagerImpl{constructor(){this.getUrlParams=()=>new URLSearchParams(window.location.search),this.initToken=()=>{if(tokenInitialized)throw new Error("Token already initialized");tokenInitialized=!0;const J=this.getUrlParams();return token=J.get("access_token")||"",refreshToken=J.get("refresh_token")||"",token},this.setInitialTokens=(J,X)=>{if(tokenInitialized)throw new Error("Token already initialized");token=J,refreshToken=X,tokenInitialized=!0},this.getToken=()=>(tokenInitialized||this.initToken(),token),this.refreshToken=async()=>{tokenInitialized||this.initToken();const J=await axios.post("/api/token/refresh",{token:refreshToken}),{access_token:X,refresh_token:re}=J.data;if(!X)throw new Error("Invalid refresh token response");return token=X,refreshToken=re,token}}}let tokenManager$1;const createTokenManager=()=>tokenManager$1||(tokenManager$1=new TokenManagerImpl,tokenManager$1);class UserManagerImpl{constructor(J){this.tokenManager=J,this.getRole=()=>{const X=this.tokenManager.getToken();if(X)try{return jwtDecode(X).access_info?.role_type}catch(re){console.error("Error decoding JWT token:",re);return}},this.isUserRoleAdministrative=()=>this.getRole()==="ADM",this.getFullName=()=>{const X=this.tokenManager.getToken();if(X)try{const re=jwtDecode(X),ne=re.access_info?.trace_user_given_name,oe=re.access_info?.trace_user_family_name;return!ne&&!oe?void 0:[oe,ne].filter(Boolean).join(" ")}catch(re){console.error("Error decoding JWT token:",re);return}}}}let userManager$1;const createUserManager=te=>userManager$1||(userManager$1=new UserManagerImpl(te),userManager$1);class ImportDataManagerImpl{constructor(J){this.interactionService=J,this.selectedItems={},this.currentImporterId="",this.pluginTexts={}}async import(J){this.currentImporterId=J,this.selectedItems={},this.pluginTexts={};try{const{ImportDataManagerModal:X}=await Promise.resolve().then(()=>component),{confirmed:re}=await this.interactionService.confirm(void 0,{component:X},{fullCustomization:!0}),ne=this.getConcatenatedText(),oe={accepted:re,data:re?this.selectedItems:{},text:re?ne:{raw:"",html:""}};return this.selectedItems={},this.currentImporterId="",this.pluginTexts={},oe}catch(X){throw this.selectedItems={},this.currentImporterId="",this.pluginTexts={},X}}selectItems(J){this.selectedItems[J.pluginId]=J.data,this.pluginTexts[J.pluginId]=J.text}getCurrentImporterId(){return this.currentImporterId}getConcatenatedText(){const J=[],X=[];for(const re of Object.values(this.pluginTexts))re.raw&&J.push(re.raw),re.html&&X.push(re.html);return{raw:J.join(`
310
310
 
311
311
  `),html:X.join("<br><br>")}}}const broker$1=createBroker(),regionManager=d$o("primaria"),PrimariaRegionHost=y$b(regionManager),tokenManager=createTokenManager(),userManager=createUserManager(tokenManager),globalStateManager=createGlobalStateManager(broker$1),pluginBusyManager=new PluginBusyManagerImpl,quickActionBusyManager=new QuickActionBusyManagerImpl(broker$1),interactionService=new ParimariaInteractionServiceImpl,notificationService=new PrimariaNotificationServiceImpl,ecapEventManager=createEcapEventManager(),pdfViewerManager=createPdfViewerManager(broker$1,notificationService),importDataManager=new ImportDataManagerImpl(interactionService),primariaApiFactory=te=>{const J=createRegionManagerProxy(te,regionManager,broker$1);return{pluginInfo:te,regionManager:J,httpClient:createHttpClient(tokenManager,broker$1),broker:broker$1,createLocaleManager:createLocaleManager(te.pluginId),globalStateManager,tokenManager,userManager,ecapEventManager,pluginBusyManager,quickActionBusyManager,interactionService,notificationService,pdfViewerManager,importDataManager}},shellApi=primariaApiFactory({pluginId:primariaShellId}),registerRequest=(te,J)=>(X,re)=>{J.bind(re).to(re).inTransientScope(),injectable()(re);const ne=te.broker.registerRequest(X,oe=>J.get(re).handle(oe));return{dispose:()=>{J.isBound(re)&&J.unbind(re),ne.dispose()}}},TYPES={primaryApi:Symbol.for("primaryApi"),store:Symbol.for("store")};function formatProdErrorMessage$1(te){return`Minified Redux error #${te}; visit https://redux.js.org/Errors?code=${te} for the full message or use the non-minified dev environment for full errors. `}var $$observable=typeof Symbol=="function"&&Symbol.observable||"@@observable",symbol_observable_default=$$observable,randomString=()=>Math.random().toString(36).substring(7).split("").join("."),ActionTypes={INIT:`@@redux/INIT${randomString()}`,REPLACE:`@@redux/REPLACE${randomString()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${randomString()}`},actionTypes_default=ActionTypes;function isPlainObject$1(te){if(typeof te!="object"||te===null)return!1;let J=te;for(;Object.getPrototypeOf(J)!==null;)J=Object.getPrototypeOf(J);return Object.getPrototypeOf(te)===J||Object.getPrototypeOf(te)===null}function createStore(te,J,X){if(typeof te!="function")throw new Error(formatProdErrorMessage$1(2));if(typeof J=="function"&&typeof X=="function"||typeof X=="function"&&typeof arguments[3]=="function")throw new Error(formatProdErrorMessage$1(0));if(typeof J=="function"&&typeof X>"u"&&(X=J,J=void 0),typeof X<"u"){if(typeof X!="function")throw new Error(formatProdErrorMessage$1(1));return X(createStore)(te,J)}let re=te,ne=J,oe=new Map,de=oe,ce=0,ue=!1;function he(){de===oe&&(de=new Map,oe.forEach((_e,ye)=>{de.set(ye,_e)}))}function pe(){if(ue)throw new Error(formatProdErrorMessage$1(3));return ne}function fe(_e){if(typeof _e!="function")throw new Error(formatProdErrorMessage$1(4));if(ue)throw new Error(formatProdErrorMessage$1(5));let ye=!0;he();const Ce=ce++;return de.set(Ce,_e),function(){if(ye){if(ue)throw new Error(formatProdErrorMessage$1(6));ye=!1,he(),de.delete(Ce),oe=null}}}function be(_e){if(!isPlainObject$1(_e))throw new Error(formatProdErrorMessage$1(7));if(typeof _e.type>"u")throw new Error(formatProdErrorMessage$1(8));if(typeof _e.type!="string")throw new Error(formatProdErrorMessage$1(17));if(ue)throw new Error(formatProdErrorMessage$1(9));try{ue=!0,ne=re(ne,_e)}finally{ue=!1}return(oe=de).forEach(Ce=>{Ce()}),_e}function ge(_e){if(typeof _e!="function")throw new Error(formatProdErrorMessage$1(10));re=_e,be({type:actionTypes_default.REPLACE})}function ve(){const _e=fe;return{subscribe(ye){if(typeof ye!="object"||ye===null)throw new Error(formatProdErrorMessage$1(11));function Ce(){const we=ye;we.next&&we.next(pe())}return Ce(),{unsubscribe:_e(Ce)}},[symbol_observable_default](){return this}}}return be({type:actionTypes_default.INIT}),{dispatch:be,subscribe:fe,getState:pe,replaceReducer:ge,[symbol_observable_default]:ve}}function assertReducerShape(te){Object.keys(te).forEach(J=>{const X=te[J];if(typeof X(void 0,{type:actionTypes_default.INIT})>"u")throw new Error(formatProdErrorMessage$1(12));if(typeof X(void 0,{type:actionTypes_default.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(formatProdErrorMessage$1(13))})}function combineReducers(te){const J=Object.keys(te),X={};for(let oe=0;oe<J.length;oe++){const de=J[oe];typeof te[de]=="function"&&(X[de]=te[de])}const re=Object.keys(X);let ne;try{assertReducerShape(X)}catch(oe){ne=oe}return function(de={},ce){if(ne)throw ne;let ue=!1;const he={};for(let pe=0;pe<re.length;pe++){const fe=re[pe],be=X[fe],ge=de[fe],ve=be(ge,ce);if(typeof ve>"u")throw ce&&ce.type,new Error(formatProdErrorMessage$1(14));he[fe]=ve,ue=ue||ve!==ge}return ue=ue||re.length!==Object.keys(de).length,ue?he:de}}function compose(...te){return te.length===0?J=>J:te.length===1?te[0]:te.reduce((J,X)=>(...re)=>J(X(...re)))}function applyMiddleware(...te){return J=>(X,re)=>{const ne=J(X,re);let oe=()=>{throw new Error(formatProdErrorMessage$1(15))};const de={getState:ne.getState,dispatch:(ue,...he)=>oe(ue,...he)},ce=te.map(ue=>ue(de));return oe=compose(...ce)(ne.dispatch),{...ne,dispatch:oe}}}function isAction(te){return isPlainObject$1(te)&&"type"in te&&typeof te.type=="string"}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(te,...J){throw new Error(`[Immer] minified error nr: ${te}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(te){return!!te&&!!te[DRAFT_STATE]}function isDraftable(te){return te?isPlainObject(te)||Array.isArray(te)||!!te[DRAFTABLE]||!!te.constructor?.[DRAFTABLE]||isMap(te)||isSet(te):!1}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(te){if(!te||typeof te!="object")return!1;const J=getPrototypeOf(te);if(J===null)return!0;const X=Object.hasOwnProperty.call(J,"constructor")&&J.constructor;return X===Object?!0:typeof X=="function"&&Function.toString.call(X)===objectCtorString}function each(te,J){getArchtype(te)===0?Reflect.ownKeys(te).forEach(X=>{J(X,te[X],te)}):te.forEach((X,re)=>J(re,X,te))}function getArchtype(te){const J=te[DRAFT_STATE];return J?J.type_:Array.isArray(te)?1:isMap(te)?2:isSet(te)?3:0}function has(te,J){return getArchtype(te)===2?te.has(J):Object.prototype.hasOwnProperty.call(te,J)}function set(te,J,X){const re=getArchtype(te);re===2?te.set(J,X):re===3?te.add(X):te[J]=X}function is(te,J){return te===J?te!==0||1/te===1/J:te!==te&&J!==J}function isMap(te){return te instanceof Map}function isSet(te){return te instanceof Set}function latest(te){return te.copy_||te.base_}function shallowCopy(te,J){if(isMap(te))return new Map(te);if(isSet(te))return new Set(te);if(Array.isArray(te))return Array.prototype.slice.call(te);const X=isPlainObject(te);if(J===!0||J==="class_only"&&!X){const re=Object.getOwnPropertyDescriptors(te);delete re[DRAFT_STATE];let ne=Reflect.ownKeys(re);for(let oe=0;oe<ne.length;oe++){const de=ne[oe],ce=re[de];ce.writable===!1&&(ce.writable=!0,ce.configurable=!0),(ce.get||ce.set)&&(re[de]={configurable:!0,writable:!0,enumerable:ce.enumerable,value:te[de]})}return Object.create(getPrototypeOf(te),re)}else{const re=getPrototypeOf(te);if(re!==null&&X)return{...te};const ne=Object.create(re);return Object.assign(ne,te)}}function freeze(te,J=!1){return isFrozen(te)||isDraft(te)||!isDraftable(te)||(getArchtype(te)>1&&(te.set=te.add=te.clear=te.delete=dontMutateFrozenCollections),Object.freeze(te),J&&Object.entries(te).forEach(([X,re])=>freeze(re,!0))),te}function dontMutateFrozenCollections(){die(2)}function isFrozen(te){return Object.isFrozen(te)}var plugins={};function getPlugin(te){const J=plugins[te];return J||die(0,te),J}var currentScope;function getCurrentScope(){return currentScope}function createScope(te,J){return{drafts_:[],parent_:te,immer_:J,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(te,J){J&&(getPlugin("Patches"),te.patches_=[],te.inversePatches_=[],te.patchListener_=J)}function revokeScope(te){leaveScope(te),te.drafts_.forEach(revokeDraft),te.drafts_=null}function leaveScope(te){te===currentScope&&(currentScope=te.parent_)}function enterScope(te){return currentScope=createScope(currentScope,te)}function revokeDraft(te){const J=te[DRAFT_STATE];J.type_===0||J.type_===1?J.revoke_():J.revoked_=!0}function processResult(te,J){J.unfinalizedDrafts_=J.drafts_.length;const X=J.drafts_[0];return te!==void 0&&te!==X?(X[DRAFT_STATE].modified_&&(revokeScope(J),die(4)),isDraftable(te)&&(te=finalize(J,te),J.parent_||maybeFreeze(J,te)),J.patches_&&getPlugin("Patches").generateReplacementPatches_(X[DRAFT_STATE].base_,te,J.patches_,J.inversePatches_)):te=finalize(J,X,[]),revokeScope(J),J.patches_&&J.patchListener_(J.patches_,J.inversePatches_),te!==NOTHING?te:void 0}function finalize(te,J,X){if(isFrozen(J))return J;const re=J[DRAFT_STATE];if(!re)return each(J,(ne,oe)=>finalizeProperty(te,re,J,ne,oe,X)),J;if(re.scope_!==te)return J;if(!re.modified_)return maybeFreeze(te,re.base_,!0),re.base_;if(!re.finalized_){re.finalized_=!0,re.scope_.unfinalizedDrafts_--;const ne=re.copy_;let oe=ne,de=!1;re.type_===3&&(oe=new Set(ne),ne.clear(),de=!0),each(oe,(ce,ue)=>finalizeProperty(te,re,ne,ce,ue,X,de)),maybeFreeze(te,ne,!1),X&&te.patches_&&getPlugin("Patches").generatePatches_(re,X,te.patches_,te.inversePatches_)}return re.copy_}function finalizeProperty(te,J,X,re,ne,oe,de){if(isDraft(ne)){const ce=oe&&J&&J.type_!==3&&!has(J.assigned_,re)?oe.concat(re):void 0,ue=finalize(te,ne,ce);if(set(X,re,ue),isDraft(ue))te.canAutoFreeze_=!1;else return}else de&&X.add(ne);if(isDraftable(ne)&&!isFrozen(ne)){if(!te.immer_.autoFreeze_&&te.unfinalizedDrafts_<1)return;finalize(te,ne),(!J||!J.scope_.parent_)&&typeof re!="symbol"&&Object.prototype.propertyIsEnumerable.call(X,re)&&maybeFreeze(te,ne)}}function maybeFreeze(te,J,X=!1){!te.parent_&&te.immer_.autoFreeze_&&te.canAutoFreeze_&&freeze(J,X)}function createProxyProxy(te,J){const X=Array.isArray(te),re={type_:X?1:0,scope_:J?J.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:J,base_:te,draft_:null,copy_:null,revoke_:null,isManual_:!1};let ne=re,oe=objectTraps;X&&(ne=[re],oe=arrayTraps);const{revoke:de,proxy:ce}=Proxy.revocable(ne,oe);return re.draft_=ce,re.revoke_=de,ce}var objectTraps={get(te,J){if(J===DRAFT_STATE)return te;const X=latest(te);if(!has(X,J))return readPropFromProto(te,X,J);const re=X[J];return te.finalized_||!isDraftable(re)?re:re===peek(te.base_,J)?(prepareCopy(te),te.copy_[J]=createProxy(re,te)):re},has(te,J){return J in latest(te)},ownKeys(te){return Reflect.ownKeys(latest(te))},set(te,J,X){const re=getDescriptorFromProto(latest(te),J);if(re?.set)return re.set.call(te.draft_,X),!0;if(!te.modified_){const ne=peek(latest(te),J),oe=ne?.[DRAFT_STATE];if(oe&&oe.base_===X)return te.copy_[J]=X,te.assigned_[J]=!1,!0;if(is(X,ne)&&(X!==void 0||has(te.base_,J)))return!0;prepareCopy(te),markChanged(te)}return te.copy_[J]===X&&(X!==void 0||J in te.copy_)||Number.isNaN(X)&&Number.isNaN(te.copy_[J])||(te.copy_[J]=X,te.assigned_[J]=!0),!0},deleteProperty(te,J){return peek(te.base_,J)!==void 0||J in te.base_?(te.assigned_[J]=!1,prepareCopy(te),markChanged(te)):delete te.assigned_[J],te.copy_&&delete te.copy_[J],!0},getOwnPropertyDescriptor(te,J){const X=latest(te),re=Reflect.getOwnPropertyDescriptor(X,J);return re&&{writable:!0,configurable:te.type_!==1||J!=="length",enumerable:re.enumerable,value:X[J]}},defineProperty(){die(11)},getPrototypeOf(te){return getPrototypeOf(te.base_)},setPrototypeOf(){die(12)}},arrayTraps={};each(objectTraps,(te,J)=>{arrayTraps[te]=function(){return arguments[0]=arguments[0][0],J.apply(this,arguments)}}),arrayTraps.deleteProperty=function(te,J){return arrayTraps.set.call(this,te,J,void 0)},arrayTraps.set=function(te,J,X){return objectTraps.set.call(this,te[0],J,X,te[0])};function peek(te,J){const X=te[DRAFT_STATE];return(X?latest(X):te)[J]}function readPropFromProto(te,J,X){const re=getDescriptorFromProto(J,X);return re?"value"in re?re.value:re.get?.call(te.draft_):void 0}function getDescriptorFromProto(te,J){if(!(J in te))return;let X=getPrototypeOf(te);for(;X;){const re=Object.getOwnPropertyDescriptor(X,J);if(re)return re;X=getPrototypeOf(X)}}function markChanged(te){te.modified_||(te.modified_=!0,te.parent_&&markChanged(te.parent_))}function prepareCopy(te){te.copy_||(te.copy_=shallowCopy(te.base_,te.scope_.immer_.useStrictShallowCopy_))}var Immer2=class{constructor(te){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(J,X,re)=>{if(typeof J=="function"&&typeof X!="function"){const oe=X;X=J;const de=this;return function(ue=oe,...he){return de.produce(ue,pe=>X.call(this,pe,...he))}}typeof X!="function"&&die(6),re!==void 0&&typeof re!="function"&&die(7);let ne;if(isDraftable(J)){const oe=enterScope(this),de=createProxy(J,void 0);let ce=!0;try{ne=X(de),ce=!1}finally{ce?revokeScope(oe):leaveScope(oe)}return usePatchesInScope(oe,re),processResult(ne,oe)}else if(!J||typeof J!="object"){if(ne=X(J),ne===void 0&&(ne=J),ne===NOTHING&&(ne=void 0),this.autoFreeze_&&freeze(ne,!0),re){const oe=[],de=[];getPlugin("Patches").generateReplacementPatches_(J,ne,oe,de),re(oe,de)}return ne}else die(1,J)},this.produceWithPatches=(J,X)=>{if(typeof J=="function")return(de,...ce)=>this.produceWithPatches(de,ue=>J(ue,...ce));let re,ne;return[this.produce(J,X,(de,ce)=>{re=de,ne=ce}),re,ne]},typeof te?.autoFreeze=="boolean"&&this.setAutoFreeze(te.autoFreeze),typeof te?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(te.useStrictShallowCopy)}createDraft(te){isDraftable(te)||die(8),isDraft(te)&&(te=current(te));const J=enterScope(this),X=createProxy(te,void 0);return X[DRAFT_STATE].isManual_=!0,leaveScope(J),X}finishDraft(te,J){const X=te&&te[DRAFT_STATE];(!X||!X.isManual_)&&die(9);const{scope_:re}=X;return usePatchesInScope(re,J),processResult(void 0,re)}setAutoFreeze(te){this.autoFreeze_=te}setUseStrictShallowCopy(te){this.useStrictShallowCopy_=te}applyPatches(te,J){let X;for(X=J.length-1;X>=0;X--){const ne=J[X];if(ne.path.length===0&&ne.op==="replace"){te=ne.value;break}}X>-1&&(J=J.slice(X+1));const re=getPlugin("Patches").applyPatches_;return isDraft(te)?re(te,J):this.produce(te,ne=>re(ne,J))}};function createProxy(te,J){const X=isMap(te)?getPlugin("MapSet").proxyMap_(te,J):isSet(te)?getPlugin("MapSet").proxySet_(te,J):createProxyProxy(te,J);return(J?J.scope_:getCurrentScope()).drafts_.push(X),X}function current(te){return isDraft(te)||die(10,te),currentImpl(te)}function currentImpl(te){if(!isDraftable(te)||isFrozen(te))return te;const J=te[DRAFT_STATE];let X;if(J){if(!J.modified_)return J.base_;J.finalized_=!0,X=shallowCopy(te,J.scope_.immer_.useStrictShallowCopy_)}else X=shallowCopy(te,!0);return each(X,(re,ne)=>{set(X,re,currentImpl(ne))}),J&&(J.finalized_=!1),X}var immer=new Immer2,produce=immer.produce;immer.produceWithPatches.bind(immer),immer.setAutoFreeze.bind(immer),immer.setUseStrictShallowCopy.bind(immer),immer.applyPatches.bind(immer),immer.createDraft.bind(immer),immer.finishDraft.bind(immer);function assertIsFunction(te,J=`expected a function, instead received ${typeof te}`){if(typeof te!="function")throw new TypeError(J)}function assertIsObject(te,J=`expected an object, instead received ${typeof te}`){if(typeof te!="object")throw new TypeError(J)}function assertIsArrayOfFunctions(te,J="expected all items to be functions, instead received the following types: "){if(!te.every(X=>typeof X=="function")){const X=te.map(re=>typeof re=="function"?`function ${re.name||"unnamed"}()`:typeof re).join(", ");throw new TypeError(`${J}[${X}]`)}}var ensureIsArray=te=>Array.isArray(te)?te:[te];function getDependencies(te){const J=Array.isArray(te[0])?te[0]:te;return assertIsArrayOfFunctions(J,"createSelector expects all input-selectors to be functions, but received the following types: "),J}function collectInputSelectorResults(te,J){const X=[],{length:re}=te;for(let ne=0;ne<re;ne++)X.push(te[ne].apply(null,J));return X}var StrongRef=class{constructor(te){this.value=te}deref(){return this.value}},Ref=typeof WeakRef<"u"?WeakRef:StrongRef,UNTERMINATED=0,TERMINATED=1;function createCacheNode(){return{s:UNTERMINATED,v:void 0,o:null,p:null}}function weakMapMemoize(te,J={}){let X=createCacheNode();const{resultEqualityCheck:re}=J;let ne,oe=0;function de(){let ce=X;const{length:ue}=arguments;for(let fe=0,be=ue;fe<be;fe++){const ge=arguments[fe];if(typeof ge=="function"||typeof ge=="object"&&ge!==null){let ve=ce.o;ve===null&&(ce.o=ve=new WeakMap);const me=ve.get(ge);me===void 0?(ce=createCacheNode(),ve.set(ge,ce)):ce=me}else{let ve=ce.p;ve===null&&(ce.p=ve=new Map);const me=ve.get(ge);me===void 0?(ce=createCacheNode(),ve.set(ge,ce)):ce=me}}const he=ce;let pe;if(ce.s===TERMINATED)pe=ce.v;else if(pe=te.apply(null,arguments),oe++,re){const fe=ne?.deref?.()??ne;fe!=null&&re(fe,pe)&&(pe=fe,oe!==0&&oe--),ne=typeof pe=="object"&&pe!==null||typeof pe=="function"?new Ref(pe):pe}return he.s=TERMINATED,he.v=pe,pe}return de.clearCache=()=>{X=createCacheNode(),de.resetResultsCount()},de.resultsCount=()=>oe,de.resetResultsCount=()=>{oe=0},de}function createSelectorCreator(te,...J){const X=typeof te=="function"?{memoize:te,memoizeOptions:J}:te,re=(...ne)=>{let oe=0,de=0,ce,ue={},he=ne.pop();typeof he=="object"&&(ue=he,he=ne.pop()),assertIsFunction(he,`createSelector expects an output function after the inputs, but received: [${typeof he}]`);const pe={...X,...ue},{memoize:fe,memoizeOptions:be=[],argsMemoize:ge=weakMapMemoize,argsMemoizeOptions:ve=[]}=pe,me=ensureIsArray(be),_e=ensureIsArray(ve),ye=getDependencies(ne),Ce=fe(function(){return oe++,he.apply(null,arguments)},...me),Se=ge(function(){de++;const Ae=collectInputSelectorResults(ye,arguments);return ce=Ce.apply(null,Ae),ce},..._e);return Object.assign(Se,{resultFunc:he,memoizedResultFunc:Ce,dependencies:ye,dependencyRecomputations:()=>de,resetDependencyRecomputations:()=>{de=0},lastResult:()=>ce,recomputations:()=>oe,resetRecomputations:()=>{oe=0},memoize:fe,argsMemoize:ge})};return Object.assign(re,{withTypes:()=>re}),re}var createSelector=createSelectorCreator(weakMapMemoize),createStructuredSelector=Object.assign((te,J=createSelector)=>{assertIsObject(te,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof te}`);const X=Object.keys(te),re=X.map(oe=>te[oe]);return J(re,(...oe)=>oe.reduce((de,ce,ue)=>(de[X[ue]]=ce,de),{}))},{withTypes:()=>createStructuredSelector});function createThunkMiddleware(te){return({dispatch:X,getState:re})=>ne=>oe=>typeof oe=="function"?oe(X,re,te):ne(oe)}var thunk=createThunkMiddleware(),withExtraArgument=createThunkMiddleware,composeWithDevTools=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?compose:compose.apply(null,arguments)};function createAction(te,J){function X(...re){if(J){let ne=J(...re);if(!ne)throw new Error(formatProdErrorMessage(0));return{type:te,payload:ne.payload,..."meta"in ne&&{meta:ne.meta},..."error"in ne&&{error:ne.error}}}return{type:te,payload:re[0]}}return X.toString=()=>`${te}`,X.type=te,X.match=re=>isAction(re)&&re.type===te,X}var Tuple=class Ts extends Array{constructor(...J){super(...J),Object.setPrototypeOf(this,Ts.prototype)}static get[Symbol.species](){return Ts}concat(...J){return super.concat.apply(this,J)}prepend(...J){return J.length===1&&Array.isArray(J[0])?new Ts(...J[0].concat(this)):new Ts(...J.concat(this))}};function freezeDraftable(te){return isDraftable(te)?produce(te,()=>{}):te}function getOrInsertComputed(te,J,X){return te.has(J)?te.get(J):te.set(J,X(J)).get(J)}function isBoolean(te){return typeof te=="boolean"}var buildGetDefaultMiddleware=()=>function(J){const{thunk:X=!0,immutableCheck:re=!0,serializableCheck:ne=!0,actionCreatorCheck:oe=!0}=J??{};let de=new Tuple;return X&&(isBoolean(X)?de.push(thunk):de.push(withExtraArgument(X.extraArgument))),de},SHOULD_AUTOBATCH="RTK_autoBatch",createQueueWithTimer=te=>J=>{setTimeout(J,te)},autoBatchEnhancer=(te={type:"raf"})=>J=>(...X)=>{const re=J(...X);let ne=!0,oe=!1,de=!1;const ce=new Set,ue=te.type==="tick"?queueMicrotask:te.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:createQueueWithTimer(10):te.type==="callback"?te.queueNotification:createQueueWithTimer(te.timeout),he=()=>{de=!1,oe&&(oe=!1,ce.forEach(pe=>pe()))};return Object.assign({},re,{subscribe(pe){const fe=()=>ne&&pe(),be=re.subscribe(fe);return ce.add(pe),()=>{be(),ce.delete(pe)}},dispatch(pe){try{return ne=!pe?.meta?.[SHOULD_AUTOBATCH],oe=!ne,oe&&(de||(de=!0,ue(he))),re.dispatch(pe)}finally{ne=!0}}})},buildGetDefaultEnhancers=te=>function(X){const{autoBatch:re=!0}=X??{};let ne=new Tuple(te);return re&&ne.push(autoBatchEnhancer(typeof re=="object"?re:void 0)),ne};function configureStore(te){const J=buildGetDefaultMiddleware(),{reducer:X=void 0,middleware:re,devTools:ne=!0,preloadedState:oe=void 0,enhancers:de=void 0}=te||{};let ce;if(typeof X=="function")ce=X;else if(isPlainObject$1(X))ce=combineReducers(X);else throw new Error(formatProdErrorMessage(1));let ue;typeof re=="function"?ue=re(J):ue=J();let he=compose;ne&&(he=composeWithDevTools({trace:!1,...typeof ne=="object"&&ne}));const pe=applyMiddleware(...ue),fe=buildGetDefaultEnhancers(pe);let be=typeof de=="function"?de(fe):fe();const ge=he(...be);return createStore(ce,oe,ge)}function executeReducerBuilderCallback(te){const J={},X=[];let re;const ne={addCase(oe,de){const ce=typeof oe=="string"?oe:oe.type;if(!ce)throw new Error(formatProdErrorMessage(28));if(ce in J)throw new Error(formatProdErrorMessage(29));return J[ce]=de,ne},addMatcher(oe,de){return X.push({matcher:oe,reducer:de}),ne},addDefaultCase(oe){return re=oe,ne}};return te(ne),[J,X,re]}function isStateFunction(te){return typeof te=="function"}function createReducer(te,J){let[X,re,ne]=executeReducerBuilderCallback(J),oe;if(isStateFunction(te))oe=()=>freezeDraftable(te());else{const ce=freezeDraftable(te);oe=()=>ce}function de(ce=oe(),ue){let he=[X[ue.type],...re.filter(({matcher:pe})=>pe(ue)).map(({reducer:pe})=>pe)];return he.filter(pe=>!!pe).length===0&&(he=[ne]),he.reduce((pe,fe)=>{if(fe)if(isDraft(pe)){const ge=fe(pe,ue);return ge===void 0?pe:ge}else{if(isDraftable(pe))return produce(pe,be=>fe(be,ue));{const be=fe(pe,ue);if(be===void 0){if(pe===null)return pe;throw Error("A case reducer on a non-draftable value must not return undefined")}return be}}return pe},ce)}return de.getInitialState=oe,de}var asyncThunkSymbol=Symbol.for("rtk-slice-createasyncthunk");function getType(te,J){return`${te}/${J}`}function buildCreateSlice({creators:te}={}){const J=te?.asyncThunk?.[asyncThunkSymbol];return function(re){const{name:ne,reducerPath:oe=ne}=re;if(!ne)throw new Error(formatProdErrorMessage(11));const de=(typeof re.reducers=="function"?re.reducers(buildReducerCreators()):re.reducers)||{},ce=Object.keys(de),ue={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},he={addCase(Ce,Se){const we=typeof Ce=="string"?Ce:Ce.type;if(!we)throw new Error(formatProdErrorMessage(12));if(we in ue.sliceCaseReducersByType)throw new Error(formatProdErrorMessage(13));return ue.sliceCaseReducersByType[we]=Se,he},addMatcher(Ce,Se){return ue.sliceMatchers.push({matcher:Ce,reducer:Se}),he},exposeAction(Ce,Se){return ue.actionCreators[Ce]=Se,he},exposeCaseReducer(Ce,Se){return ue.sliceCaseReducersByName[Ce]=Se,he}};ce.forEach(Ce=>{const Se=de[Ce],we={reducerName:Ce,type:getType(ne,Ce),createNotation:typeof re.reducers=="function"};isAsyncThunkSliceReducerDefinition(Se)?handleThunkCaseReducerDefinition(we,Se,he,J):handleNormalReducerDefinition(we,Se,he)});function pe(){const[Ce={},Se=[],we=void 0]=typeof re.extraReducers=="function"?executeReducerBuilderCallback(re.extraReducers):[re.extraReducers],Ae={...Ce,...ue.sliceCaseReducersByType};return createReducer(re.initialState,Le=>{for(let ze in Ae)Le.addCase(ze,Ae[ze]);for(let ze of ue.sliceMatchers)Le.addMatcher(ze.matcher,ze.reducer);for(let ze of Se)Le.addMatcher(ze.matcher,ze.reducer);we&&Le.addDefaultCase(we)})}const fe=Ce=>Ce,be=new Map;let ge;function ve(Ce,Se){return ge||(ge=pe()),ge(Ce,Se)}function me(){return ge||(ge=pe()),ge.getInitialState()}function _e(Ce,Se=!1){function we(Le){let ze=Le[Ce];return typeof ze>"u"&&Se&&(ze=me()),ze}function Ae(Le=fe){const ze=getOrInsertComputed(be,Se,()=>new WeakMap);return getOrInsertComputed(ze,Le,()=>{const Fe={};for(const[je,Pe]of Object.entries(re.selectors??{}))Fe[je]=wrapSelector(Pe,Le,me,Se);return Fe})}return{reducerPath:Ce,getSelectors:Ae,get selectors(){return Ae(we)},selectSlice:we}}const ye={name:ne,reducer:ve,actions:ue.actionCreators,caseReducers:ue.sliceCaseReducersByName,getInitialState:me,..._e(oe),injectInto(Ce,{reducerPath:Se,...we}={}){const Ae=Se??oe;return Ce.inject({reducerPath:Ae,reducer:ve},we),{...ye,..._e(Ae,!0)}}};return ye}}function wrapSelector(te,J,X,re){function ne(oe,...de){let ce=J(oe);return typeof ce>"u"&&re&&(ce=X()),te(ce,...de)}return ne.unwrapped=te,ne}var createSlice=buildCreateSlice();function buildReducerCreators(){function te(J,X){return{_reducerDefinitionType:"asyncThunk",payloadCreator:J,...X}}return te.withTypes=()=>te,{reducer(J){return Object.assign({[J.name](...X){return J(...X)}}[J.name],{_reducerDefinitionType:"reducer"})},preparedReducer(J,X){return{_reducerDefinitionType:"reducerWithPrepare",prepare:J,reducer:X}},asyncThunk:te}}function handleNormalReducerDefinition({type:te,reducerName:J,createNotation:X},re,ne){let oe,de;if("reducer"in re){if(X&&!isCaseReducerWithPrepareDefinition(re))throw new Error(formatProdErrorMessage(17));oe=re.reducer,de=re.prepare}else oe=re;ne.addCase(te,oe).exposeCaseReducer(J,oe).exposeAction(J,de?createAction(te,de):createAction(te))}function isAsyncThunkSliceReducerDefinition(te){return te._reducerDefinitionType==="asyncThunk"}function isCaseReducerWithPrepareDefinition(te){return te._reducerDefinitionType==="reducerWithPrepare"}function handleThunkCaseReducerDefinition({type:te,reducerName:J},X,re,ne){if(!ne)throw new Error(formatProdErrorMessage(18));const{payloadCreator:oe,fulfilled:de,pending:ce,rejected:ue,settled:he,options:pe}=X,fe=ne(te,oe,pe);re.exposeAction(J,fe),de&&re.addCase(fe.fulfilled,de),ce&&re.addCase(fe.pending,ce),ue&&re.addCase(fe.rejected,ue),he&&re.addMatcher(fe.settled,he),re.exposeCaseReducer(J,{fulfilled:de||noop,pending:ce||noop,rejected:ue||noop,settled:he||noop})}function noop(){}function formatProdErrorMessage(te){return`Minified Redux Toolkit error #${te}; visit https://redux-toolkit.js.org/Errors?code=${te} for the full message or use the non-minified dev environment for full errors. `}const addItemsToCollection=(te,J,X,re,ne,oe)=>te[J]?{...te,[J]:{...te[J],items:[...te[J]?.items||[],...X]}}:{...te,[J]:{id:J,items:X,componentFactory:re,searchPredicate:ne,asyncDataProvider:oe}},addItemToCollection=(te,J,X,re)=>addItemsToCollection(te,J,[X],re);function addActivityHistoryItemReducer(te,J){const{id:X,item:re,componentFactory:ne}=J.payload;te.collections=addItemToCollection(te.collections,X,re,ne)}function addActivityHistoryItemsReducer(te,J){const{id:X,items:re,componentFactory:ne,searchPredicate:oe,asyncDataProvider:de}=J.payload;return{...te,collections:addItemsToCollection(te.collections,X,re,ne,oe,de)}}const setItemsToCollection=(te,J,X)=>te[J]?{...te,[J]:{...te[J],items:X}}:te;function setActivityHistoryItemsReducer(te,J){const{id:X,items:re}=J.payload;return{...te,collections:setItemsToCollection(te.collections,X,re)}}const removeItemFromCollection=(te,J,X)=>{if(!te[J]?.items)return te;const re=te[J]?.items??[];return{...te,[J]:{...te[J],items:re.filter(ne=>ne.id!==X)}}};function removeActivityHistoryItemReducer(te,J){const{id:X,itemId:re}=J.payload;te.collections=removeItemFromCollection(te.collections,X,re)}const updateItemInCollection=(te,J,X)=>{if(!te[J]?.items)return te;const re=te[J]?.items??[];return{...te,[J]:{...te[J],items:re.map(ne=>ne.id===X.id?X:ne)}}};function updateActivityHistoryItemReducer(te,J){const{id:X,item:re}=J.payload;te.collections=updateItemInCollection(te.collections,X,re)}function addBusyHistoryItemReducer(te,J){te.busy.push(J.payload)}function removeBusyHistoryItemReducer(te,J){te.busy=te.busy.filter(X=>X!==J.payload)}function addErrorHistoryItemReducer(te,J){te.error.push(J.payload)}function removeErrorHistoryItemReducer(te,J){te.error=te.error.filter(X=>X.entityId!==J.payload)}const activityHistoryCollectionsSlice=createSlice({name:"activity-history-collections",initialState:{busy:[],error:[],collections:{}},reducers:{addBusyHistoryItem:addBusyHistoryItemReducer,removeBusyHistoryItem:removeBusyHistoryItemReducer,addActivityHistoryItem:addActivityHistoryItemReducer,updateActivityHistoryItem:updateActivityHistoryItemReducer,addActivityHistoryItems:addActivityHistoryItemsReducer,setActivityHistoryItems:setActivityHistoryItemsReducer,addErrorHistoryItem:addErrorHistoryItemReducer,removeErrorHistoryItem:removeErrorHistoryItemReducer,removeActivityHistoryItem:removeActivityHistoryItemReducer}});function setSearchStringReducer(te,J){te.searchString=J.payload}class Spec{and(J){return new AndSpec(this,J)}or(J){return new OrSpec(this,J)}not(){return new NotSpec(this)}}class AndSpec extends Spec{constructor(J,X){super(),this.left=J,this.right=X}isSatisfiedBy(J){return this.left.isSatisfiedBy(J)&&this.right.isSatisfiedBy(J)}}class OrSpec extends Spec{constructor(J,X){super(),this.left=J,this.right=X}isSatisfiedBy(J){return this.left.isSatisfiedBy(J)||this.right.isSatisfiedBy(J)}}class NotSpec extends Spec{constructor(J){super(),this.spec=J}isSatisfiedBy(J){return!this.spec.isSatisfiedBy(J)}}let shellApiRef=null;const setShellApiForOwnSpec=te=>{shellApiRef=te};class OwnSpec extends Spec{constructor(J){super(),this.context=J}isSatisfiedBy(J){if(!shellApiRef)return!1;try{const X=shellApiRef.globalStateManager.getData("userInfo");return J?.professional?.id===X?.userId}catch{return!1}}}class RelevantSpec extends Spec{constructor(J){super(),this.context=J}isSatisfiedBy(J){return J?.relevant??!1}}var ActivityHistoryFilterType=(te=>(te.Switch="switch",te.Checkbox="checkbox",te.Dropdown="dropdown",te))(ActivityHistoryFilterType||{});const isCommonFilterGroup=te=>te.id==="common",isDiagnosticFilter=te=>te.id===diagnosticsfilterId,isCustomFilter=te=>!isCommonFilterGroup(te)&&!isDiagnosticFilter(te)&&!isUpFilter(te),isUpFilter=te=>te.id===upFilterId,diagnosticsfilterId="history-diagnostics",relevantFilterId="history-relevant",ownFilterId="history-own",upFilterId="history-up",commonFilters=[{id:"common",title:"Comuns",filters:[{id:relevantFilterId,title:"Veure rellevants",spec:RelevantSpec,enabled:!1,type:ActivityHistoryFilterType.Switch},{id:ownFilterId,title:"Veure meus",spec:OwnSpec,enabled:!1,type:ActivityHistoryFilterType.Switch}]}];function setCommonFilterValueReducer(te,J){te.filters=te.filters.map(X=>X.id==="common"?{...X,filters:X.filters.map(re=>re.id===J.payload.id?{...re,enabled:J.payload.enabled}:re)}:X)}function addCustomFiltersReducer(te,J){te.filters.some(re=>re.id===J.payload.id)||(te.filters=[...te.filters,J.payload])}function setCustomFilterGroupValueReducer(te,J){te.filters=te.filters.map(X=>X.id===J.payload.id?{...X,enabled:J.payload.enabled}:X)}function setCustomFilterValueReducer(te,J){te.filters=te.filters.map(X=>X.id===J.payload.filterGroupId?{...X,filters:X.filters.map(re=>re.id===J.payload.filterId?re.singleOption?setSingleOptionFilterValue(re,J.payload.enabled):setMultipleOptionsFilterValue(re,J.payload):re)}:X)}const setMultipleOptionsFilterValue=(te,J)=>{const{optionId:X,enabled:re}=J;return te.enabledValues?.some(ne=>ne===X)&&re?te:X==null?{...te,enabledValues:[]}:{...te,enabledValues:re?[...te.enabledValues||[],X]:te.enabledValues.filter(ne=>ne!==X)}},setSingleOptionFilterValue=(te,J)=>({...te,enabled:J,enabledValues:J?[!0]:[]});function addDiagnosticFiltersReducer(te,J){const X=te.filters.findIndex(isDiagnosticFilter);if(X===-1)te.filters.push(J.payload);else{const re=te.filters[X],ne=[...re.values,...J.payload.values.filter(oe=>!re.values.some(de=>de.value===oe.value))];te.filters[X]={...re,values:ne}}}function setDiagnosticFilterValuesReducer(te,J){te.filters=[...te.filters].map(X=>isDiagnosticFilter(X)?{...X,enabledValues:J.payload}:X)}function addUpFiltersReducer(te,J){const X=te.filters.findIndex(isUpFilter);if(X===-1)te.filters.push(J.payload);else{const re=te.filters[X],ne=[...re.values,...J.payload.values.filter(oe=>!re.values.some(de=>de.value===oe.value))];te.filters[X]={...re,values:ne}}}function setUpFilterValuesReducer(te,J){te.filters=[...te.filters].map(X=>isUpFilter(X)?{...X,enabledValues:J.payload}:X)}function resetFiltersReducer(te,J){te.filters=te.filters.map(X=>X.id!=="common"&&X.id!=="history-diagnostics"&&X.id!=="history-up"?{...X,filters:X.filters.map(re=>re.singleOption?{...re,enabled:!1}:{...re,enabled:!0,enabledValues:[]})}:X.id==="history-diagnostics"||X.id==="history-up"?{...X,enabledValues:[]}:X.id==="common"?commonFilters[0]:X)}function setCustomFilterAllValuesReducer(te,J){te.filters=te.filters.map(X=>X.id===J.payload.filterGroupId?{...X,filters:X.filters.map(re=>re.id===J.payload.filterId?{...re,enabledValues:J.payload.values}:re)}:X)}const activityHistoryFiltersSlice=createSlice({name:"activity-history-filters",initialState:{searchString:"",filters:[...commonFilters]},reducers:{setSearchString:setSearchStringReducer,setCommonFilterValue:setCommonFilterValueReducer,addCustomFilters:addCustomFiltersReducer,setCustomFilterGroupValue:setCustomFilterGroupValueReducer,setCustomFilterValue:setCustomFilterValueReducer,setCustomFilterAllValues:setCustomFilterAllValuesReducer,addDiagnosticFilters:addDiagnosticFiltersReducer,setDiagnosticFilterValues:setDiagnosticFilterValuesReducer,addUpFilters:addUpFiltersReducer,setUpFilterValues:setUpFilterValuesReducer,resetFilters:resetFiltersReducer}}),store=configureStore({reducer:{activityHistoryCollections:activityHistoryCollectionsSlice.reducer,activityHistoryFilters:activityHistoryFiltersSlice.reducer},devTools:{name:"activity-history"},middleware:te=>te({serializableCheck:!1})});store.dispatch,store.getState;const container=new Container,{lazyInject}=getDecorators(container),bindDeps=te=>{container.bind(TYPES.primaryApi).toConstantValue(te),container.bind(TYPES.store).toConstantValue(store)},unbindDeps=()=>{container.unbind(TYPES.primaryApi),container.unbind(TYPES.store)};var __getOwnPropDesc$k=Object.getOwnPropertyDescriptor,__decorateClass$u=(te,J,X,re)=>{for(var ne=re>1?void 0:re?__getOwnPropDesc$k(J,X):J,oe=te.length-1,de;oe>=0;oe--)(de=te[oe])&&(ne=de(ne)||ne);return ne},__decorateParam$5=(te,J)=>(X,re)=>J(X,re,te);let StoreBaseHandler=class{constructor(te){this.store=te}};StoreBaseHandler=__decorateClass$u([injectable(),__decorateParam$5(0,inject(TYPES.store))],StoreBaseHandler);let ApiBaseHandler=class{constructor(te){this.api=te}};ApiBaseHandler=__decorateClass$u([injectable(),__decorateParam$5(0,inject(TYPES.primaryApi))],ApiBaseHandler);let BaseHandler=class{constructor(te,J){this.store=te,this.api=J}};BaseHandler=__decorateClass$u([injectable(),__decorateParam$5(0,inject(TYPES.store)),__decorateParam$5(1,inject(TYPES.primaryApi))],BaseHandler);class AddCustomFiltersCommand{constructor(J){this.payload=J}}const{addBusyHistoryItem,removeBusyHistoryItem}=activityHistoryCollectionsSlice.actions,{addErrorHistoryItem,removeErrorHistoryItem}=activityHistoryCollectionsSlice.actions,validateAddAsyncCommand=(te,J)=>{if(te.entityId!==te.filters.id)throw new Error("entityId and filters.id must be the same");if(!te.filters.title)throw new Error("filters.title is required");if(!te.asyncDataProvider)throw new Error("asyncDataProvider is required");if(!te.componentFactory)throw new Error("componentFactory is required");if(!te.errorMessage)throw new Error("errorMessage is required for failure asyncDataProviders");if(!J)throw new Error("items is required");if(!Array.isArray(J))throw new Error("items must be an array")};class InjectAsyncHistoryItemsHandler extends BaseHandler{async handle(J){this.store.dispatch(addBusyHistoryItem(J.entityId));try{const X=await J.asyncDataProvider();validateAddAsyncCommand(J,X),this.api.broker.send("add_history_items_request",{entityId:J.entityId,entityDescription:J.entityDescription,items:X,componentFactory:J.componentFactory,searchPredicate:J.searchPredicate,asyncDataProvider:J.asyncDataProvider}),J.filters&&this.api.broker.send(new AddCustomFiltersCommand(J.filters))}catch(X){this.store.dispatch(addErrorHistoryItem({entityId:J.entityId,message:J.errorMessage||X.message,entityDescription:J.entityDescription}))}finally{this.store.dispatch(removeBusyHistoryItem(J.entityId))}}}let request$m;const bootstrapInjectAsyncHistoryItems=te=>{request$m=te.registerRequest("inject_async_history_items_request",InjectAsyncHistoryItemsHandler)},teardownInjectAsyncHistoryItems=()=>{request$m?.dispose()},isString=te=>typeof te=="string"&&te.trim()!=="",isValidDateString=te=>{if(typeof te!="string"||te.trim()==="")return!1;const J=new Date(te);return J instanceof Date&&!Number.isNaN(J.getTime())},isValidBasicActivityHistoryItem=te=>te&&isString(te.id)&&isValidDateString(te.date),ensureAreValidBasicActivityHistoryItems=te=>{if(!te.every(isValidBasicActivityHistoryItem))throw console.error("Invalid activity history items",te),new Error("Invalid activity history items");return te},notifyInvalidItem=te=>{console.error("Invalid history item",te)},validateAndFilterBasicItems=te=>{const J=[];for(const X of te)isValidBasicActivityHistoryItem(X)?J.push(X):notifyInvalidItem(X);return J},handleAddDiagnosticsFilter=(te,J)=>{const X=te.flatMap(re=>re.diagnostics??[]).filter(re=>typeof re.codi=="string"&&re.codi.trim()!=="").filter((re,ne,oe)=>ne===oe.findIndex(de=>de.codi===re.codi));if(X.length>0){const re={id:diagnosticsfilterId,title:"Diagnòstics",values:mapArrayToLabelValue(X,"descripcio","codi"),enabledValues:[]};J.dispatch(activityHistoryFiltersSlice.actions.addDiagnosticFilters(re))}},getUpFilter=te=>{const J=te.flatMap(X=>X.up??[]).filter(X=>X?.id?.trim()).filter((X,re,ne)=>re===ne.findIndex(oe=>oe.id===X.id));if(J.length>0)return{id:upFilterId,title:"UP",values:mapArrayToLabelValue(J,"description","id"),enabledValues:[]}},handleAddUpFilter=(te,J)=>{const X=getUpFilter(te);X&&J.dispatch(activityHistoryFiltersSlice.actions.addUpFilters(X))},{addActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class AddHistoryItemHandler extends StoreBaseHandler{async handle(J){try{ensureAreValidBasicActivityHistoryItems([J.item]),handleAddDiagnosticsFilter([J.item],this.store),handleAddUpFilter([J.item],this.store),this.store.dispatch(addActivityHistoryItem({id:J.entityId,item:J.item}))}catch(X){console.log(X.message)}}}let request$l;const bootstrapAddHistoryItem=te=>{request$l=te.registerRequest("add_history_item_request",AddHistoryItemHandler)},teardownAddHistoryItem=()=>{request$l?.dispose()},{addActivityHistoryItems}=activityHistoryCollectionsSlice.actions;class AddHistoryItemsHandler extends StoreBaseHandler{async handle(J){try{const X=validateAndFilterBasicItems(J.items);handleAddDiagnosticsFilter(X,this.store),handleAddUpFilter(X,this.store),this.store.dispatch(addActivityHistoryItems({id:J.entityId,items:X,componentFactory:J.componentFactory,searchPredicate:J.searchPredicate,asyncDataProvider:J.asyncDataProvider}))}catch(X){console.log(X.message)}}}let request$k;const bootstrapAddHistoryItems=te=>{request$k=te.registerRequest("add_history_items_request",AddHistoryItemsHandler)},teardownAddHistoryItems=()=>{request$k?.dispose()},styles$k=".spinner-container{display:flex;flex-direction:row;align-items:center;gap:24px;justify-content:center;padding-top:16px}.skeleton-container{padding:20px;height:100%}";let pluginLocaleManager;const initializeLocalization=async te=>{pluginLocaleManager=await te.createLocaleManager(locales)},translate=te=>pluginLocaleManager?pluginLocaleManager.translate(te):te,locales={ca:{"activity-history":{activityHistory:"Històric d’activitat",search:"Cercar",groupedView:"Visió agrupada",maximize:"Ampliar",deleted:"Eliminat",goToDate:"Anar a data",busyEntriesLoading:"Carregant totes les entrades",noResults:"Sense resultats. Modifica la cerca",noData:{title:"Sense dades",description:"No existeix informació per a mostrar"},isGrouping:"Creant agrupacions i preparant les dades...",searchBarResults:"Resultats per",actions:{cronogram:"Cronograma",exportPdf:"Exportar PDF",moreOptions:"Més opcions",refresh:"Refrescar",entryLegend:"Llegenda entrades",maximizeButton:"Botó maximitzar",menuButton:"Botó menu"},modal:{selectExportOption:"Tria una opció d'exportació",allActivityHistory:"Tot l’històric d’activitat",onlyAppliedFilters:"Només amb filtres aplicats",selectDateRange:"En el cas que sigui necessari, selecciona un rang de dates",helpText:"Sense seleccionar data, s'aplicarà la de la primera entrada. Sense seleccionar data de fi, s'aplicarà la de l'última entrada.",startDate:"Data Inici",endDate:"Data Fi",cancel:"Cancel·lar",export:"Exportar"},filters:{filters:"Filtres",searchFilter:"Cercar filtre",ownFilters:"Els meus",rellevantFilters:"Rellevants",episode:"Episodi",dates:"Dates",diagnoses:"Diagnòstics",clinicalCourseType:"Tipus Curs Clínic",selected:"seleccionats",applyFilters:"Aplicar filtres",deleted:"Eliminats"},tooltips:{subjective:"Subjectiu",UPconfidenciality:"Confidencialitat: per a la meva UP"},grouped:{clinicalCourses:"Cursos clínics",activities:"Activitats",variablees:"Variables",prescriptions:"Prescripcions"},chipHeader:{selection:"Selecció:",without:"Sense",cleanFilters:"Netejar filtres"},error:{general:{title:"Hi ha hagut un problema durant la càrrega de contingut. Actualitza la pàgina o torna-ho a provar més tard.",refresh:"Actualitzar pàgina",noInfo:"No hi ha informació disponible."},partial:{title:"Hi ha hagut un problema i no s'ha pogut carregar les notes de tipus",refresh:"Actualitzar",limit:"Límit de clicks superat"},title:"Error en la càrrega",viewDetails:"Veure detalls",imageAlt:"Imatge d'error",errorToRefresh:"Error en l'acció d'actualitzar la pàgina"}}}},template$m=te=>te.isCollectionInitialState?ke$1`<div class="skeleton-container">${te.skeletons}</div>`:te.isSomeCollectionLoadedAndOtherLoading?ke$1`<div class="spinner-container"><dss-spinner size="sm"></dss-spinner><div class="busy-description">${translate("busyEntriesLoading")}</div></div>`:D$4;function connectedProperty(te,J={}){return createConnectedProperty(store)(te,J)}const isAnyCollectionBusySelector=te=>te.activityHistoryCollections.busy.length>0,isSomeCollectionLoadedAndOtherLoading=te=>Object.values(te.activityHistoryCollections.collections)&&isAnyCollectionBusySelector(te),isCollectionInitialState=te=>!Object.values(te.activityHistoryCollections.collections)?.length&&!isAnyCollectionBusySelector(te);var __defProp$n=Object.defineProperty,__getOwnPropDesc$j=Object.getOwnPropertyDescriptor,__decorateClass$t=(te,J,X,re)=>{for(var ne=re>1?void 0:re?__getOwnPropDesc$j(J,X):J,oe=te.length-1,de;oe>=0;oe--)(de=te[oe])&&(ne=(re?de(J,X,ne):de(ne))||ne);return re&&ne&&__defProp$n(J,X,ne),ne};let ActivityHistoryBusy=class extends h$o{render(){return ke$1`${template$m(this)}`}get skeletons(){return Array.from({length:12},()=>ke$1`<dss-skeleton width="100" height="10"></dss-skeleton>`)}};ActivityHistoryBusy.styles=i$D`
312
312
  ${r$H(styles$k)}