@uxland/primary-shell 7.16.0 → 7.17.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 s, v as e, x as r, c as n, d as t, P as o, o as l, n as c, e as p, q as g, g as m, p as P, f as v, u as E, j as h, l as u, a as R, m as S, w as d } from "./index-CEAb6DC3.js";
1
+ import { E as s, v as e, x as r, c as n, d as t, P as o, o as l, n as c, e as p, q as g, g as m, p as P, f as v, u as E, j as h, l as u, a as R, m as S, w as d } from "./index-hZAiHLDu.js";
2
2
  export {
3
3
  s as EcapEventManager,
4
4
  e as PrimariaContentSwitcher,
@@ -308,7 +308,7 @@ Registered bindings:`,ne.forEach(function(oe){var de="Object";oe.implementationT
308
308
  ${r$H(styles$l)}
309
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
- `),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 qe in Ae)Le.addCase(qe,Ae[qe]);for(let qe of ue.sliceMatchers)Le.addMatcher(qe.matcher,qe.reducer);for(let qe of Se)Le.addMatcher(qe.matcher,qe.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 qe=Le[Ce];return typeof qe>"u"&&Se&&(qe=me()),qe}function Ae(Le=fe){const qe=getOrInsertComputed(be,Se,()=>new WeakMap);return getOrInsertComputed(qe,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)=>te[J]?{...te,[J]:{...te[J],items:[...te[J]?.items||[],...X]}}:{...te,[J]:{id:J,items:X,componentFactory:re,searchPredicate:ne}},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}=J.payload;return{...te,collections:addItemsToCollection(te.collections,X,re,ne,oe)}}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)}function clearActivityHistoryCollectionsReducer(te){return{...te,collections:{}}}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)}const activityHistoryCollectionsSlice=createSlice({name:"activity-history-collections",initialState:{busy:[],error:[],collections:{}},reducers:{addBusyHistoryItem:addBusyHistoryItemReducer,removeBusyHistoryItem:removeBusyHistoryItemReducer,addActivityHistoryItem:addActivityHistoryItemReducer,updateActivityHistoryItem:updateActivityHistoryItemReducer,addActivityHistoryItems:addActivityHistoryItemsReducer,clearActivityHistoryCollections:clearActivityHistoryCollectionsReducer,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 clearCustomFiltersReducer(te){te.filters=te.filters.filter(J=>!isCustomFilter(J))}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,clearCustomFilters:clearCustomFiltersReducer,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$v=(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$v([injectable(),__decorateParam$5(0,inject(TYPES.store))],StoreBaseHandler);let ApiBaseHandler=class{constructor(te){this.api=te}};ApiBaseHandler=__decorateClass$v([injectable(),__decorateParam$5(0,inject(TYPES.primaryApi))],ApiBaseHandler);let BaseHandler=class{constructor(te,J){this.store=te,this.api=J}};BaseHandler=__decorateClass$v([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}),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}))}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$o=Object.defineProperty,__getOwnPropDesc$j=Object.getOwnPropertyDescriptor,__decorateClass$u=(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$o(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`
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 qe in Ae)Le.addCase(qe,Ae[qe]);for(let qe of ue.sliceMatchers)Le.addMatcher(qe.matcher,qe.reducer);for(let qe of Se)Le.addMatcher(qe.matcher,qe.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 qe=Le[Ce];return typeof qe>"u"&&Se&&(qe=me()),qe}function Ae(Le=fe){const qe=getOrInsertComputed(be,Se,()=>new WeakMap);return getOrInsertComputed(qe,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)=>te[J]?{...te,[J]:{...te[J],items:[...te[J]?.items||[],...X]}}:{...te,[J]:{id:J,items:X,componentFactory:re,searchPredicate:ne}},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}=J.payload;return{...te,collections:addItemsToCollection(te.collections,X,re,ne,oe)}}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)}function clearActivityHistoryCollectionsReducer(te){return{...te,collections:{}}}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)}const activityHistoryCollectionsSlice=createSlice({name:"activity-history-collections",initialState:{busy:[],error:[],collections:{}},reducers:{addBusyHistoryItem:addBusyHistoryItemReducer,removeBusyHistoryItem:removeBusyHistoryItemReducer,addActivityHistoryItem:addActivityHistoryItemReducer,updateActivityHistoryItem:updateActivityHistoryItemReducer,addActivityHistoryItems:addActivityHistoryItemsReducer,clearActivityHistoryCollections:clearActivityHistoryCollectionsReducer,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 clearCustomFiltersReducer(te){te.filters=te.filters.filter(J=>!isCustomFilter(J))}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,clearCustomFilters:clearCustomFiltersReducer,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$v=(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$v([injectable(),__decorateParam$5(0,inject(TYPES.store))],StoreBaseHandler);let ApiBaseHandler=class{constructor(te){this.api=te}};ApiBaseHandler=__decorateClass$v([injectable(),__decorateParam$5(0,inject(TYPES.primaryApi))],ApiBaseHandler);let BaseHandler=class{constructor(te,J){this.store=te,this.api=J}};BaseHandler=__decorateClass$v([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}),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;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",itemAlreadyExists:"Aquest element ja existeix al històric d'activitat",allItemsAlreadyExist:"Tots els elements ja existeixen al històric d'activitat",filterNotInitialized:"No s'han pogut afegir elements ja que aquesta iniciativa no ha sigut inicialitzada a l'Històric d'Activitat."},warning:{someItemsAlreadyExist:"Alguns elements ja existien al històric d'activitat i no s'han afegit"}}}},existItemInCollection=(te,J,X)=>{const re=te?.[J];return re?.items?re.items.some(ne=>ne.id===X):!1};class AddHistoryItemHandler extends BaseHandler{async handle(J){try{ensureAreValidBasicActivityHistoryItems([J.item]);const X=this.store.getState(),re=existItemInCollection(X.activityHistoryCollections?.collections,J.entityId,J.item.id),ne=X.activityHistoryFilters?.filters?.find(oe=>oe.id===J.entityId);if(re)throw new Error(translate("error.itemAlreadyExists"));if(!ne)throw new Error(translate("error.filterNotInitialized"));handleAddDiagnosticsFilter([J.item],this.store),handleAddUpFilter([J.item],this.store),this.store.dispatch(addActivityHistoryItem({id:J.entityId,item:J.item,componentFactory:J.componentFactory}))}catch(X){this.api.notificationService.error(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 BaseHandler{async handle(J){try{const X=validateAndFilterBasicItems(J.items),re=this.filterDuplicateItems(X,J.entityId);if(!this.store.getState().activityHistoryFilters?.filters?.find(de=>de.id===J.entityId)&&!J.filters)throw new Error(translate("error.filterNotInitialized"));re.length>0&&(handleAddDiagnosticsFilter(re,this.store),handleAddUpFilter(re,this.store),this.store.dispatch(addActivityHistoryItems({id:J.entityId,items:re,componentFactory:J.componentFactory,searchPredicate:J.searchPredicate})),J.filters&&this.api.broker.send(new AddCustomFiltersCommand(J.filters)))}catch(X){this.api.notificationService.error(X.message)}}filterDuplicateItems(J,X){const re=this.store.getState(),ne=J.filter(oe=>!existItemInCollection(re.activityHistoryCollections?.collections,X,oe.id));if(ne.length===0&&J.length>0)throw new Error(translate("error.allItemsAlreadyExist"));return ne.length<J.length&&this.api.notificationService.warning(translate("warning.someItemsAlreadyExist")),ne}}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%}",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$o=Object.defineProperty,__getOwnPropDesc$j=Object.getOwnPropertyDescriptor,__decorateClass$u=(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$o(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)}
313
313
  `,__decorateClass$u([connectedProperty(isCollectionInitialState)],ActivityHistoryBusy.prototype,"isCollectionInitialState",2),__decorateClass$u([connectedProperty(isSomeCollectionLoadedAndOtherLoading)],ActivityHistoryBusy.prototype,"isSomeCollectionLoadedAndOtherLoading",2),ActivityHistoryBusy=__decorateClass$u([t$k("activity-history-busy")],ActivityHistoryBusy);class HandleHistoryItemsAddError{constructor(J){this.entities=J}}class HandleHistoryItemsAddErrorHandler extends BaseHandler{async handle(J){try{const X=J.entities.map(re=>re.entityId);await this.dispatchRemoveErrorItems(X),this.api.broker.publish(this.api.broker.events.errorLoadingActivityHistoryData,X)}catch{this.api.notificationService.error(translate("error.errorToRefresh"))}}async dispatchRemoveErrorItems(J){for(const X of J)this.store.dispatch(removeErrorHistoryItem(X))}}let request$j;const bootstrapHandleHistoryItemsAddError=te=>{teardownHandleHistoryItemsAddError(),request$j=te.registerRequest(HandleHistoryItemsAddError,HandleHistoryItemsAddErrorHandler)},teardownHandleHistoryItemsAddError=()=>{request$j?.dispose()},styles$j=".wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;width:484px;height:auto}.wrapper .content-options{display:flex;flex-direction:column;align-items:center;gap:16px}.wrapper .selector-options{display:flex;flex-direction:row;gap:16px}.wrapper .content-date{display:flex;flex-direction:column;align-items:center;gap:16px;height:124px}.wrapper .datepicker-canvas{display:flex;flex-direction:row;justify-content:center;align-content:center;gap:16px}.wrapper .actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px}dss-datepicker{width:234px;height:48px;border-radius:var(--dss-radius-sm);border:var(--dss-border-width-sm);padding:var(--dss-spacing-sm);gap:var(--dss-spacing-xs);color:var(--color-neutral-100)}",template$l=te=>{const{arrayElements:J,text:X}=te;return ke$1`
314
314
  <div class="wrapper">
@@ -405,7 +405,7 @@ Registered bindings:`,ne.forEach(function(oe){var de="Object";oe.implementationT
405
405
  ${te.options.map(re=>getFilterTemplate(te,J._onChangeCustomFilterValue.bind(J),X,re))}
406
406
  </div>
407
407
  </primaria-accordion>
408
- `)};class SetCustomFilterGroup{constructor(J){this.payload=J}}class SetCommonFilter{constructor(J){this.payload=J}}const activityHistoryFiltersSelector=te=>te.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,te=>te.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,te=>te.filter(J=>J.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,te=>!!te.length);class SetCustomFilterValue{constructor(J){this.payload=J}}function getUniqueObjects(te,J,X,re){const ne=`Sense ${re.toLocaleLowerCase()}`,oe=new Map;let de=!1;for(const ue of te){const he=J.reduce((ge,ve)=>ge?.[ve],ue),pe=X.reduce((ge,ve)=>ge?.[ve],ue);typeof he=="string"&&he.trim()!==""&&typeof pe=="string"?oe.has(he)||oe.set(he,{id:he,title:pe}):de=!0}const ce=Array.from(oe.values()).sort((ue,he)=>ue.title.localeCompare(he.title,"ca",{sensitivity:"base"}));return de&&ce.push({id:"",title:ne}),ce}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(J){super(),this.commonFilters=J}isSatisfiedBy(J){return this.commonFilters.filter(ne=>ne.enabled).reduce((ne,oe)=>ne.and(new oe.spec),new TrueSpec).isSatisfiedBy(J)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(J,X){super(),this.propPath=J,this.value=X}isSatisfiedBy(J){return this.propPath.reduce((re,ne)=>re?.[ne],J)===this.value}}class CustomFilterSpec extends Spec{constructor(J){super(),this.filters=J}isSatisfiedBy(J){const X=this.filters.filter(re=>re.enabled);return X.length===0?!0:X.every(re=>{if(!this.belongsToGroup(J,re))return!0;const ne=re.filters.filter(oe=>oe.enabled||oe.singleOption);return ne.length===0?!0:ne.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(J):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((ce,ue)=>ce.or(new PropPathSpec(oe.propPathValue,ue)),new FalseSpec).isSatisfiedBy(J))})}belongsToGroup(J,X){return J.type===X.id}}const normalizeStringToNFD=te=>te==null?"":String(te).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(te,J)=>{const X=normalizeStringToNFD(te),re=normalizeStringToNFD(J);return X.toString().toLowerCase().indexOf(re)!==-1||X.toString().indexOf(re)!==-1},commonFieldsSearchPredicate=(te,J)=>{const X=te.professional?.name&&propContainsString(te.professional?.name,J),re=te.center?.description&&propContainsString(te.center.description,J),ne=te.professional?.speciality?.description&&propContainsString(te.professional?.speciality.description,J),oe=te.professional?.role?.description&&propContainsString(te.professional?.role.description,J),de=te.service?.description&&propContainsString(te.service.description,J),ce=te.diagnostics?.some(ue=>propContainsString(ue.descripcio,J));return X||re||ne||oe||de||ce};class SearchStringSpec extends Spec{constructor(J,X){super(),this.searchString=J,this.searchPredicate=X}isSatisfiedBy(J){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(J,this.searchString),re=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),J):!1;return!!(X||re)}}class TypeSpec extends Spec{constructor(J){super(),this.itemType=J}isSatisfiedBy(J){return J?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(J){super(),this.filters=J}isSatisfiedBy(J){return this.filters.filter(ne=>ne.enabled).map(ne=>ne.id).reduce((ne,oe)=>ne.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(J)}}const activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,te=>te.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(te,J)=>Number(te.sort)-Number(J.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,te=>te.some(J=>J.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,te=>te.filter(J=>J.enabled).map(({id:J,title:X,enabled:re,sort:ne,filters:oe})=>({id:J,title:X,enabled:re,sort:ne,filters:oe.filter(de=>de.enabledValues?.length)})).filter(J=>J.filters.length>0));const areSameDiagnostics=(te,J)=>{if(te.length!==J.length)return!1;const X=te.map(ne=>ne.codi).sort(),re=J.map(ne=>ne.codi).sort();return X.every((ne,oe)=>ne===re[oe])},hasValidDiagnostic=te=>te!=null&&typeof te.codi=="string"&&typeof te.cataleg=="string"&&typeof te.descripcio=="string",hasValidDiagnostics=te=>te==null?!0:Array.isArray(te)&&te.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=te=>(dateStringCache.has(te)||dateStringCache.set(te,new Date(te).toDateString()),dateStringCache.get(te)),getDateObject=te=>(dateObjectCache.has(te)||dateObjectCache.set(te,new Date(te)),dateObjectCache.get(te)),createVisitKey=te=>{const J=`${te.professional?.id||"null"}-${te.professional?.role?.id||"null"}-${te.professional?.speciality?.id||"null"}`,X=`${te.ep?.id||"null"}-${te.up?.id||"null"}-${te.center?.id||"null"}-${te.service?.id||"null"}`,re=getDateString(te.date);return`${J}|${X}|${re}`},withinEightHours=(te,J)=>{const X=getDateObject(te).getTime(),re=getDateObject(J).getTime();return Math.abs(X-re)<=480*60*1e3};function groupByValidDiagnostics(te){te.forEach(J=>{const X=[],re=[];J.items.forEach(ne=>{const oe=ne.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let ce=!1;for(const ue of X){const he=ue.items[0];if(areSameDiagnostics(he.diagnostics,oe)){ue.items.push(ne),ce=!0;break}}ce||X.push({idSubGroup:generateId(),items:[ne]})}else re.push(ne)}),J.items=re,J.subGroups=X})}const groupActivityHistoryItems=te=>{if(!te?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const J=[...te].sort((re,ne)=>getDateObject(ne.date).getTime()-getDateObject(re.date).getTime()),X=[];for(const re of J){const ne=createVisitKey(re);let oe=!1;for(const de of X){if(de.items.length===0)continue;const ce=createVisitKey(de.items[0]);if(ce===ne){const ue=de.items[0],he=de.items[de.items.length-1];if(ue&&he&&withinEightHours(ue.date,re.date)&&withinEightHours(he.date,re.date)&&!X.some(fe=>fe.items.length===0||createVisitKey(fe.items[0])===ce?!1:fe.items.some(ge=>{const ve=getDateObject(re.date).getTime(),me=getDateObject(ge.date).getTime(),_e=getDateObject(he.date).getTime(),ye=getDateObject(ue.date).getTime(),Ce=Math.min(_e,ve),Se=Math.max(ye,ve);return me>Ce&&me<Se}))){de.items.push(re),de.items.sort((fe,be)=>getDateObject(be.date).getTime()-getDateObject(fe.date).getTime()),oe=!0;break}}}oe||X.push({idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]})}return X.sort((re,ne)=>{const oe=re.items[0],de=ne.items[0];return!oe||!de?0:getDateObject(de.date).getTime()-getDateObject(oe.date).getTime()}),groupByValidDiagnostics(X),X},sortGroupsByMostRecentDate=te=>{const J=oe=>oe.reduce((de,ce)=>{const ue=new Date(ce.date);return ue>de?ue:de},new Date(0)),X=oe=>oe.sort((de,ce)=>new Date(ce.date).getTime()-new Date(de.date).getTime()),re=oe=>J(oe.items),ne=oe=>{const de=oe.items.length>0?[J(oe.items)]:[],ce=oe.subGroups.map(re),ue=[...de,...ce];return ue.length>0?new Date(Math.max(...ue.map(he=>he.getTime()))):new Date(0)};return te.forEach(oe=>{oe.items=X(oe.items),oe.subGroups.forEach(de=>{de.items=X(de.items)}),oe.subGroups.sort((de,ce)=>re(ce).getTime()-re(de).getTime())}),te.sort((oe,de)=>ne(de).getTime()-ne(oe).getTime())},activityHistorySearchStringSelector=te=>te.activityHistoryFilters.searchString,diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,te=>te.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,te=>te?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,te=>!!te.length);class DiagnosticCodeSpec extends Spec{constructor(J){super(),this.diagnosticCodes=J}isSatisfiedBy(J){return this.diagnosticCodes?.length?(J.diagnostics??[]).some(re=>this.diagnosticCodes.includes(re.codi)):!0}}const upFilterSelector=createSelector(activityHistoryFiltersSelector,te=>te.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,te=>te?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,te=>!!te.length);class UpFilterSpec extends Spec{constructor(J){super(),this.upIds=J}isSatisfiedBy(J){if(!this.upIds?.length)return!0;const X=J.up??null;return this.upIds.some(re=>X.id===re)}}const activityHistoryCollectionsSelector=te=>te.activityHistoryCollections.collections,mapItemsWithMetadata=(te,J,X,re)=>te.map(ne=>({...ne,searchPredicate:re,componentFactory:J,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,te=>Object.values(te).flatMap(J=>mapItemsWithMetadata(J.items,J.componentFactory,J.id,J.searchPredicate))),customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(te,J)=>te.map(re=>{const ne=J[re.id];return{...re,filters:re.filters.map(oe=>({...oe,options:(oe.singleOption?[]:getUniqueObjects(ne.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(te,J,X,re,ne,oe)=>{const de=te.filter(he=>new SearchStringSpec(J,he.searchPredicate).and(new CommonFilterSpec(X)).and(new ComposedTypeSpec(re)).and(new CustomFilterSpec(re)).and(new DiagnosticCodeSpec(ne)).and(new UpFilterSpec(oe)).isSatisfiedBy(he)),ce=groupActivityHistoryItems(de);return sortGroupsByMostRecentDate(ce)});class SetDiagnosticFiltersCommand{constructor(J){this.payload=J}}class SetUpFiltersCommand{constructor(J){this.payload=J}}class SetCustomFilterAllValues{constructor(J){this.payload=J}}var __defProp$m=Object.defineProperty,__getOwnPropDesc$h=Object.getOwnPropertyDescriptor,__decorateClass$s=(te,J,X,re)=>{for(var ne=re>1?void 0:re?__getOwnPropDesc$h(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$m(J,X,ne),ne};let ActivityHistoryFilters=class extends h$o{constructor(){super(...arguments),this.filtersExpanded=!1}render(){return ke$1`${template$k(this)}`}updated(te){te.has("wrapperMaximized")&&(this.filtersExpanded=this.wrapperMaximized)}_toggleFilters(){this.filtersExpanded=!this.filtersExpanded}_onChangeCommonFilterValue(te,J){this.api.broker.send(new SetCommonFilter({id:te,enabled:J}))}_onChangeCustomFilterGroupValue(te,J){this.api.broker.send(new SetCustomFilterGroup({id:te,enabled:J}))}_onChangeCustomFilterValue(te,J,X,re){this.api.broker.send(new SetCustomFilterValue({filterGroupId:te,filterId:J,optionId:X,enabled:re}))}_onChangeCustomFilterAllValues(te,J,X){this.api.broker.send(new SetCustomFilterAllValues({filterGroupId:te,filterId:J,values:X}))}_handleDiagnosticFilterChange(te){const J=te.detail.selectedValue;this.api.broker.send(new SetDiagnosticFiltersCommand(J))}_handleUpFilterChange(te){const J=te.detail.selectedValue;this.api.broker.send(new SetUpFiltersCommand(J))}};ActivityHistoryFilters.styles=i$D`
408
+ `)};class SetCustomFilterGroup{constructor(J){this.payload=J}}class SetCommonFilter{constructor(J){this.payload=J}}const activityHistoryFiltersSelector=te=>te.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,te=>te.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,te=>te.filter(J=>J.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,te=>!!te.length);class SetCustomFilterValue{constructor(J){this.payload=J}}function getUniqueObjects(te,J,X,re){const ne=`Sense ${re.toLocaleLowerCase()}`,oe=new Map;let de=!1;for(const ue of te){const he=J.reduce((ge,ve)=>ge?.[ve],ue),pe=X.reduce((ge,ve)=>ge?.[ve],ue);typeof he=="string"&&he.trim()!==""&&typeof pe=="string"?oe.has(he)||oe.set(he,{id:he,title:pe}):de=!0}const ce=Array.from(oe.values()).sort((ue,he)=>ue.title.localeCompare(he.title,"ca",{sensitivity:"base"}));return de&&ce.push({id:"",title:ne}),ce}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(J){super(),this.commonFilters=J}isSatisfiedBy(J){return this.commonFilters.filter(ne=>ne.enabled).reduce((ne,oe)=>ne.and(new oe.spec),new TrueSpec).isSatisfiedBy(J)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(J,X){super(),this.propPath=J,this.value=X}isSatisfiedBy(J){return this.propPath.reduce((re,ne)=>re?.[ne],J)===this.value}}class CustomFilterSpec extends Spec{constructor(J){super(),this.filters=J}isSatisfiedBy(J){const X=this.filters.filter(re=>re.enabled);return X.length===0?!0:X.every(re=>{if(!this.belongsToGroup(J,re))return!0;const ne=re.filters.filter(oe=>oe.enabled||oe.singleOption);return ne.length===0?!0:ne.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(J):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((ce,ue)=>ce.or(new PropPathSpec(oe.propPathValue,ue)),new FalseSpec).isSatisfiedBy(J))})}belongsToGroup(J,X){return J.type===X.id}}const normalizeStringToNFD=te=>te==null?"":String(te).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(te,J)=>{const X=normalizeStringToNFD(te),re=normalizeStringToNFD(J);return X.toString().toLowerCase().indexOf(re)!==-1||X.toString().indexOf(re)!==-1},commonFieldsSearchPredicate=(te,J)=>{const X=te.professional?.name&&propContainsString(te.professional?.name,J),re=te.center?.description&&propContainsString(te.center.description,J),ne=te.professional?.speciality?.description&&propContainsString(te.professional?.speciality.description,J),oe=te.professional?.role?.description&&propContainsString(te.professional?.role.description,J),de=te.service?.description&&propContainsString(te.service.description,J),ce=te.up?.description&&propContainsString(te.up.description,J),ue=te.diagnostics?.some(he=>propContainsString(he.descripcio,J));return X||re||ne||oe||de||ce||ue};class SearchStringSpec extends Spec{constructor(J,X){super(),this.searchString=J,this.searchPredicate=X}isSatisfiedBy(J){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(J,this.searchString),re=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),J):!1;return!!(X||re)}}class TypeSpec extends Spec{constructor(J){super(),this.itemType=J}isSatisfiedBy(J){return J?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(J){super(),this.filters=J}isSatisfiedBy(J){const X=this.filters.filter(ne=>ne.enabled).map(ne=>ne.id);return X.length===0?!0:X.reduce((ne,oe)=>ne.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(J)}}const activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,te=>te.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(te,J)=>Number(te.sort)-Number(J.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,te=>te.some(J=>J.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,te=>te.filter(J=>J.enabled).map(({id:J,title:X,enabled:re,sort:ne,filters:oe})=>({id:J,title:X,enabled:re,sort:ne,filters:oe.filter(de=>de.enabledValues?.length)})).filter(J=>J.filters.length>0));const areSameDiagnostics=(te,J)=>{if(te.length!==J.length)return!1;const X=te.map(ne=>ne.codi).sort(),re=J.map(ne=>ne.codi).sort();return X.every((ne,oe)=>ne===re[oe])},hasValidDiagnostic=te=>te!=null&&typeof te.codi=="string"&&typeof te.cataleg=="string"&&typeof te.descripcio=="string",hasValidDiagnostics=te=>te==null?!0:Array.isArray(te)&&te.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=te=>(dateStringCache.has(te)||dateStringCache.set(te,new Date(te).toDateString()),dateStringCache.get(te)),getDateObject=te=>(dateObjectCache.has(te)||dateObjectCache.set(te,new Date(te)),dateObjectCache.get(te)),createVisitKey=te=>{const J=`${te.professional?.id||"null"}-${te.professional?.role?.id||"null"}-${te.professional?.speciality?.id||"null"}`,X=`${te.ep?.id||"null"}-${te.up?.id||"null"}-${te.center?.id||"null"}-${te.service?.id||"null"}`,re=getDateString(te.date);return`${J}|${X}|${re}`},withinEightHours=(te,J)=>{const X=getDateObject(te).getTime(),re=getDateObject(J).getTime();return Math.abs(X-re)<=480*60*1e3};function groupByValidDiagnostics(te){te.forEach(J=>{const X=[],re=[];J.items.forEach(ne=>{const oe=ne.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let ce=!1;for(const ue of X){const he=ue.items[0];if(areSameDiagnostics(he.diagnostics,oe)){ue.items.push(ne),ce=!0;break}}ce||X.push({idSubGroup:generateId(),items:[ne]})}else re.push(ne)}),J.items=re,J.subGroups=X})}const groupActivityHistoryItems=te=>{if(!te?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const J=[...te].sort((re,ne)=>getDateObject(ne.date).getTime()-getDateObject(re.date).getTime()),X=[];for(const re of J){const ne=createVisitKey(re);let oe=!1;for(const de of X){if(de.items.length===0)continue;const ce=createVisitKey(de.items[0]);if(ce===ne){const ue=de.items[0],he=de.items[de.items.length-1];if(ue&&he&&withinEightHours(ue.date,re.date)&&withinEightHours(he.date,re.date)&&!X.some(fe=>fe.items.length===0||createVisitKey(fe.items[0])===ce?!1:fe.items.some(ge=>{const ve=getDateObject(re.date).getTime(),me=getDateObject(ge.date).getTime(),_e=getDateObject(he.date).getTime(),ye=getDateObject(ue.date).getTime(),Ce=Math.min(_e,ve),Se=Math.max(ye,ve);return me>Ce&&me<Se}))){de.items.push(re),de.items.sort((fe,be)=>getDateObject(be.date).getTime()-getDateObject(fe.date).getTime()),oe=!0;break}}}oe||X.push({idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]})}return X.sort((re,ne)=>{const oe=re.items[0],de=ne.items[0];return!oe||!de?0:getDateObject(de.date).getTime()-getDateObject(oe.date).getTime()}),groupByValidDiagnostics(X),X},sortGroupsByMostRecentDate=te=>{const J=oe=>oe.reduce((de,ce)=>{const ue=new Date(ce.date);return ue>de?ue:de},new Date(0)),X=oe=>oe.sort((de,ce)=>new Date(ce.date).getTime()-new Date(de.date).getTime()),re=oe=>J(oe.items),ne=oe=>{const de=oe.items.length>0?[J(oe.items)]:[],ce=oe.subGroups.map(re),ue=[...de,...ce];return ue.length>0?new Date(Math.max(...ue.map(he=>he.getTime()))):new Date(0)};return te.forEach(oe=>{oe.items=X(oe.items),oe.subGroups.forEach(de=>{de.items=X(de.items)}),oe.subGroups.sort((de,ce)=>re(ce).getTime()-re(de).getTime())}),te.sort((oe,de)=>ne(de).getTime()-ne(oe).getTime())},activityHistorySearchStringSelector=te=>te.activityHistoryFilters.searchString,diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,te=>te.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,te=>te?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,te=>!!te.length);class DiagnosticCodeSpec extends Spec{constructor(J){super(),this.diagnosticCodes=J}isSatisfiedBy(J){return this.diagnosticCodes?.length?(J.diagnostics??[]).some(re=>this.diagnosticCodes.includes(re.codi)):!0}}const upFilterSelector=createSelector(activityHistoryFiltersSelector,te=>te.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,te=>te?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,te=>!!te.length);class UpFilterSpec extends Spec{constructor(J){super(),this.upIds=J}isSatisfiedBy(J){if(!this.upIds?.length)return!0;const X=J.up??null;return this.upIds.some(re=>X.id===re)}}const activityHistoryCollectionsSelector=te=>te.activityHistoryCollections.collections,mapItemsWithMetadata=(te,J,X,re)=>te.map(ne=>({...ne,searchPredicate:re,componentFactory:J,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,te=>Object.values(te).flatMap(J=>mapItemsWithMetadata(J.items,J.componentFactory,J.id,J.searchPredicate))),customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(te,J)=>te.map(re=>{const ne=J[re.id];return{...re,filters:re.filters.map(oe=>({...oe,options:(oe.singleOption?[]:ne?.items&&getUniqueObjects(ne.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(te,J,X,re,ne,oe)=>{const de=te.filter(he=>new SearchStringSpec(J,he.searchPredicate).and(new CommonFilterSpec(X)).and(new ComposedTypeSpec(re)).and(new CustomFilterSpec(re)).and(new DiagnosticCodeSpec(ne)).and(new UpFilterSpec(oe)).isSatisfiedBy(he)),ce=groupActivityHistoryItems(de);return sortGroupsByMostRecentDate(ce)});class SetDiagnosticFiltersCommand{constructor(J){this.payload=J}}class SetUpFiltersCommand{constructor(J){this.payload=J}}class SetCustomFilterAllValues{constructor(J){this.payload=J}}var __defProp$m=Object.defineProperty,__getOwnPropDesc$h=Object.getOwnPropertyDescriptor,__decorateClass$s=(te,J,X,re)=>{for(var ne=re>1?void 0:re?__getOwnPropDesc$h(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$m(J,X,ne),ne};let ActivityHistoryFilters=class extends h$o{constructor(){super(...arguments),this.filtersExpanded=!1}render(){return ke$1`${template$k(this)}`}updated(te){te.has("wrapperMaximized")&&(this.filtersExpanded=this.wrapperMaximized)}_toggleFilters(){this.filtersExpanded=!this.filtersExpanded}_onChangeCommonFilterValue(te,J){this.api.broker.send(new SetCommonFilter({id:te,enabled:J}))}_onChangeCustomFilterGroupValue(te,J){this.api.broker.send(new SetCustomFilterGroup({id:te,enabled:J}))}_onChangeCustomFilterValue(te,J,X,re){this.api.broker.send(new SetCustomFilterValue({filterGroupId:te,filterId:J,optionId:X,enabled:re}))}_onChangeCustomFilterAllValues(te,J,X){this.api.broker.send(new SetCustomFilterAllValues({filterGroupId:te,filterId:J,values:X}))}_handleDiagnosticFilterChange(te){const J=te.detail.selectedValue;this.api.broker.send(new SetDiagnosticFiltersCommand(J))}_handleUpFilterChange(te){const J=te.detail.selectedValue;this.api.broker.send(new SetUpFiltersCommand(J))}};ActivityHistoryFilters.styles=i$D`
409
409
  ${r$H(styles$i)}
410
410
  `,__decorateClass$s([connectedProperty(activityHistoryCommonFiltersSelector)],ActivityHistoryFilters.prototype,"commonFilters",2),__decorateClass$s([connectedProperty(customFilterGroupsWithOptionsSelector)],ActivityHistoryFilters.prototype,"customFilterGroups",2),__decorateClass$s([connectedProperty(diagnosticFilterSelector)],ActivityHistoryFilters.prototype,"diagnosticFilter",2),__decorateClass$s([connectedProperty(diagnosticFilterEnabledValuesSelector)],ActivityHistoryFilters.prototype,"diagnosticFilterEnabledValues",2),__decorateClass$s([connectedProperty(upFilterSelector)],ActivityHistoryFilters.prototype,"upFilter",2),__decorateClass$s([connectedProperty(upFilterEnabledValuesSelector)],ActivityHistoryFilters.prototype,"upFilterEnabledValues",2),__decorateClass$s([lazyInject(TYPES.primaryApi)],ActivityHistoryFilters.prototype,"api",2),__decorateClass$s([r$E()],ActivityHistoryFilters.prototype,"filtersExpanded",2),__decorateClass$s([n$z({type:Boolean})],ActivityHistoryFilters.prototype,"wrapperMaximized",2),ActivityHistoryFilters=__decorateClass$s([t$k("activity-history-filters")],ActivityHistoryFilters);const{setCommonFilterValue}=activityHistoryFiltersSlice.actions;class SetCommonFilterHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(setCommonFilterValue(J.payload))}catch(X){console.log(X.message)}}}let request$h;const bootstrapSetCommonFilter=te=>{request$h=te.registerRequest(SetCommonFilter,SetCommonFilterHandler)},teardownSetCommonFilter=()=>{request$h?.dispose()},{addCustomFilters}=activityHistoryFiltersSlice.actions;class AddCustomFiltersHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(addCustomFilters(J.payload))}catch(X){console.log(X.message)}}}let request$g;const bootstrapAddCustomFilter=te=>{request$g=te.registerRequest(AddCustomFiltersCommand,AddCustomFiltersHandler)},teardownAddCustomFilter=()=>{request$g?.dispose()},{setCustomFilterGroupValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterGroupHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(setCustomFilterGroupValue(J.payload))}catch(X){console.log(X.message)}}}let request$f;const bootstrapSetCustomFilterGroup=te=>{request$f=te.registerRequest(SetCustomFilterGroup,SetCustomFilterGroupHandler)},teardownSetCustomFilterGroup=()=>{request$f?.dispose()},{setCustomFilterValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterValueHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(setCustomFilterValue(J.payload))}catch(X){console.log(X.message)}}}let request$e;const bootstrapSetCustomFilterValue=te=>{request$e=te.registerRequest(SetCustomFilterValue,SetCustomFilterValueHandler)},teardownSetCustomFilterValue=()=>{request$e?.dispose()},{addDiagnosticFilters}=activityHistoryFiltersSlice.actions;class AddDiagnosticFiltersHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(addDiagnosticFilters(J.payload))}catch(X){console.log(X.message)}}}class AddDiagnosticFiltersCommand{constructor(J){this.payload=J}}let request$d;const bootstrapAddDiagnosticFilter=te=>{request$d=te.registerRequest(AddDiagnosticFiltersCommand,AddDiagnosticFiltersHandler)},teardownAddDiagnosticFilter=()=>{request$d?.dispose()},{setDiagnosticFilterValues}=activityHistoryFiltersSlice.actions;class SetDiagnosticFiltersHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(setDiagnosticFilterValues(J.payload))}catch(X){console.log(X.message)}}}let request$c;const bootstrapSetDiagnosticFilter=te=>{request$c=te.registerRequest(SetDiagnosticFiltersCommand,SetDiagnosticFiltersHandler)},teardownSetDiagnosticFilter=()=>{request$c?.dispose()},{addUpFilters}=activityHistoryFiltersSlice.actions;class AddUpFiltersHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(addUpFilters(J.payload))}catch(X){console.log(X.message)}}}class AddUpFiltersCommand{constructor(J){this.payload=J}}let request$b;const bootstrapAddUpFilter=te=>{request$b=te.registerRequest(AddUpFiltersCommand,AddUpFiltersHandler)},teardownAddUpFilter=()=>{request$b?.dispose()},{setUpFilterValues}=activityHistoryFiltersSlice.actions;class SetUpFiltersHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(setUpFilterValues(J.payload))}catch(X){console.log(X.message)}}}let request$a;const bootstrapSetUpFilter=te=>{request$a=te.registerRequest(SetUpFiltersCommand,SetUpFiltersHandler)},teardownSetUpFilter=()=>{request$a?.dispose()};class ResetFiltersCommand{}const{resetFilters}=activityHistoryFiltersSlice.actions;class ResetFiltersHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(resetFilters())}catch(X){console.log(X.message)}}}let request$9;const bootstrapResetFilters=te=>{request$9=te.registerRequest(ResetFiltersCommand,ResetFiltersHandler)},teardownResetFilters=()=>{request$9?.dispose()},{setCustomFilterAllValues}=activityHistoryFiltersSlice.actions;class SetCustomFilterAllValuesHandler extends StoreBaseHandler{async handle(J){try{this.store.dispatch(setCustomFilterAllValues(J.payload))}catch(X){console.log(X.message)}}}let request$8;const bootstrapSetCustomFilterAllValues=te=>{request$8=te.registerRequest(SetCustomFilterAllValues,SetCustomFilterAllValuesHandler)},teardownSetCustomFilterAllValues=()=>{request$8?.dispose()},bootstrapFilters=te=>{bootstrapSetCommonFilter(te),bootstrapAddCustomFilter(te),bootstrapSetCustomFilterGroup(te),bootstrapSetCustomFilterValue(te),bootstrapSetCustomFilterAllValues(te),bootstrapAddDiagnosticFilter(te),bootstrapSetDiagnosticFilter(te),bootstrapAddUpFilter(te),bootstrapSetUpFilter(te),bootstrapResetFilters(te)},teardownFilters=()=>{teardownSetCommonFilter(),teardownAddCustomFilter(),teardownSetCustomFilterGroup(),teardownSetCustomFilterValue(),teardownSetCustomFilterAllValues(),teardownAddDiagnosticFilter(),teardownSetDiagnosticFilter(),teardownAddUpFilter(),teardownSetUpFilter(),teardownResetFilters()},styles$h=":host{min-height:1px;display:flex;flex-direction:column;flex:1 1 0%}.virtual-container{height:100%;position:relative}.virtual-viewport{height:100%;overflow:auto;padding-inline:16px}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.container{min-height:1px;height:100%}.visit:first-child{margin-top:var(--dss-spacing-md)}.visit{width:calc(100% - var(--dss-spacing-md) - var(--dss-spacing-md));display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;border-radius:var(--dss-radius-sm);padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-md)}.visit .visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit .visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit .visit__header .title-date{font-weight:700}.visit .visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit .visit__header .highlight{background-color:#ff0;font-weight:700}.visit .visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit .visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .visit__items .item[has-divider]:last-of-type{border:none}.visit .diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .diagnostics:last-of-type{border:none}.visit .diagnostics .diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.visit .diagnostics .diagnostics__items{display:flex;flex-direction:column}.visit .diagnostics .diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit .diagnostics .diagnostics__items .item[has-divider]:last-of-type{border:none}.feedback{width:100%;height:100%;display:flex;align-items:center;justify-content:center}";function toDate(te){const J=Object.prototype.toString.call(te);return te instanceof Date||typeof te=="object"&&J==="[object Date]"?new te.constructor(+te):typeof te=="number"||J==="[object Number]"||typeof te=="string"||J==="[object String]"?new Date(te):new Date(NaN)}function constructFrom(te,J){return te instanceof Date?new te.constructor(J):new Date(J)}function addDays(te,J){const X=toDate(te);return isNaN(J)?constructFrom(te,NaN):(J&&X.setDate(X.getDate()+J),X)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(te,J){const X=getDefaultOptions$1(),re=J?.weekStartsOn??J?.locale?.options?.weekStartsOn??X.weekStartsOn??X.locale?.options?.weekStartsOn??0,ne=toDate(te),oe=ne.getDay(),de=(oe<re?7:0)+oe-re;return ne.setDate(ne.getDate()-de),ne.setHours(0,0,0,0),ne}function startOfISOWeek(te){return startOfWeek(te,{weekStartsOn:1})}function getISOWeekYear(te){const J=toDate(te),X=J.getFullYear(),re=constructFrom(te,0);re.setFullYear(X+1,0,4),re.setHours(0,0,0,0);const ne=startOfISOWeek(re),oe=constructFrom(te,0);oe.setFullYear(X,0,4),oe.setHours(0,0,0,0);const de=startOfISOWeek(oe);return J.getTime()>=ne.getTime()?X+1:J.getTime()>=de.getTime()?X:X-1}function startOfDay(te){const J=toDate(te);return J.setHours(0,0,0,0),J}function getTimezoneOffsetInMilliseconds(te){const J=toDate(te),X=new Date(Date.UTC(J.getFullYear(),J.getMonth(),J.getDate(),J.getHours(),J.getMinutes(),J.getSeconds(),J.getMilliseconds()));return X.setUTCFullYear(J.getFullYear()),+te-+X}function differenceInCalendarDays(te,J){const X=startOfDay(te),re=startOfDay(J),ne=+X-getTimezoneOffsetInMilliseconds(X),oe=+re-getTimezoneOffsetInMilliseconds(re);return Math.round((ne-oe)/millisecondsInDay)}function startOfISOWeekYear(te){const J=getISOWeekYear(te),X=constructFrom(te,0);return X.setFullYear(J,0,4),X.setHours(0,0,0,0),startOfISOWeek(X)}function isDate(te){return te instanceof Date||typeof te=="object"&&Object.prototype.toString.call(te)==="[object Date]"}function isValid(te){if(!isDate(te)&&typeof te!="number")return!1;const J=toDate(te);return!isNaN(Number(J))}function endOfMonth(te){const J=toDate(te),X=J.getMonth();return J.setFullYear(J.getFullYear(),X+1,0),J.setHours(23,59,59,999),J}function eachDayOfInterval(te,J){const X=toDate(te.start),re=toDate(te.end);let ne=+X>+re;const oe=ne?+X:+re,de=ne?re:X;de.setHours(0,0,0,0);let ce=1;const ue=[];for(;+de<=oe;)ue.push(toDate(de)),de.setDate(de.getDate()+ce),de.setHours(0,0,0,0);return ne?ue.reverse():ue}function startOfMonth(te){const J=toDate(te);return J.setDate(1),J.setHours(0,0,0,0),J}function startOfYear(te){const J=toDate(te),X=constructFrom(te,0);return X.setFullYear(J.getFullYear(),0,1),X.setHours(0,0,0,0),X}const formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance=(te,J,X)=>{let re;const ne=formatDistanceLocale[te];return typeof ne=="string"?re=ne:J===1?re=ne.one:re=ne.other.replace("{{count}}",J.toString()),X?.addSuffix?X.comparison&&X.comparison>0?"in "+re:re+" ago":re};function buildFormatLongFn(te){return(J={})=>{const X=J.width?String(J.width):te.defaultWidth;return te.formats[X]||te.formats[te.defaultWidth]}}const dateFormats={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative=(te,J,X,re)=>formatRelativeLocale[te];function buildLocalizeFn(te){return(J,X)=>{const re=X?.context?String(X.context):"standalone";let ne;if(re==="formatting"&&te.formattingValues){const de=te.defaultFormattingWidth||te.defaultWidth,ce=X?.width?String(X.width):de;ne=te.formattingValues[ce]||te.formattingValues[de]}else{const de=te.defaultWidth,ce=X?.width?String(X.width):te.defaultWidth;ne=te.values[ce]||te.values[de]}const oe=te.argumentCallback?te.argumentCallback(J):J;return ne[oe]}}const eraValues={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dayValues={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},formattingDayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ordinalNumber=(te,J)=>{const X=Number(te),re=X%100;if(re>20||re<10)switch(re%10){case 1:return X+"st";case 2:return X+"nd";case 3:return X+"rd"}return X+"th"},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:te=>te-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})};function buildMatchFn(te){return(J,X={})=>{const re=X.width,ne=re&&te.matchPatterns[re]||te.matchPatterns[te.defaultMatchWidth],oe=J.match(ne);if(!oe)return null;const de=oe[0],ce=re&&te.parsePatterns[re]||te.parsePatterns[te.defaultParseWidth],ue=Array.isArray(ce)?findIndex(ce,fe=>fe.test(de)):findKey(ce,fe=>fe.test(de));let he;he=te.valueCallback?te.valueCallback(ue):ue,he=X.valueCallback?X.valueCallback(he):he;const pe=J.slice(de.length);return{value:he,rest:pe}}}function findKey(te,J){for(const X in te)if(Object.prototype.hasOwnProperty.call(te,X)&&J(te[X]))return X}function findIndex(te,J){for(let X=0;X<te.length;X++)if(J(te[X]))return X}function buildMatchPatternFn(te){return(J,X={})=>{const re=J.match(te.matchPattern);if(!re)return null;const ne=re[0],oe=J.match(te.parsePattern);if(!oe)return null;let de=te.valueCallback?te.valueCallback(oe[0]):oe[0];de=X.valueCallback?X.valueCallback(de):de;const ce=J.slice(ne.length);return{value:de,rest:ce}}}const matchOrdinalNumberPattern=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},parseEraPatterns={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},parseMonthPatterns={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},matchDayPatterns={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},parseDayPatterns={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},matchDayPeriodPatterns={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},parseDayPeriodPatterns={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:te=>parseInt(te,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:te=>te+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns,defaultParseWidth:"any"})},enUS={code:"en-US",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(te){const J=toDate(te);return differenceInCalendarDays(J,startOfYear(J))+1}function getISOWeek(te){const J=toDate(te),X=+startOfISOWeek(J)-+startOfISOWeekYear(J);return Math.round(X/millisecondsInWeek)+1}function getWeekYear(te,J){const X=toDate(te),re=X.getFullYear(),ne=getDefaultOptions$1(),oe=J?.firstWeekContainsDate??J?.locale?.options?.firstWeekContainsDate??ne.firstWeekContainsDate??ne.locale?.options?.firstWeekContainsDate??1,de=constructFrom(te,0);de.setFullYear(re+1,0,oe),de.setHours(0,0,0,0);const ce=startOfWeek(de,J),ue=constructFrom(te,0);ue.setFullYear(re,0,oe),ue.setHours(0,0,0,0);const he=startOfWeek(ue,J);return X.getTime()>=ce.getTime()?re+1:X.getTime()>=he.getTime()?re:re-1}function startOfWeekYear(te,J){const X=getDefaultOptions$1(),re=J?.firstWeekContainsDate??J?.locale?.options?.firstWeekContainsDate??X.firstWeekContainsDate??X.locale?.options?.firstWeekContainsDate??1,ne=getWeekYear(te,J),oe=constructFrom(te,0);return oe.setFullYear(ne,0,re),oe.setHours(0,0,0,0),startOfWeek(oe,J)}function getWeek(te,J){const X=toDate(te),re=+startOfWeek(X,J)-+startOfWeekYear(X,J);return Math.round(re/millisecondsInWeek)+1}function addLeadingZeros(te,J){const X=te<0?"-":"",re=Math.abs(te).toString().padStart(J,"0");return X+re}const lightFormatters={y(te,J){const X=te.getFullYear(),re=X>0?X:1-X;return addLeadingZeros(J==="yy"?re%100:re,J.length)},M(te,J){const X=te.getMonth();return J==="M"?String(X+1):addLeadingZeros(X+1,2)},d(te,J){return addLeadingZeros(te.getDate(),J.length)},a(te,J){const X=te.getHours()/12>=1?"pm":"am";switch(J){case"a":case"aa":return X.toUpperCase();case"aaa":return X;case"aaaaa":return X[0];case"aaaa":default:return X==="am"?"a.m.":"p.m."}},h(te,J){return addLeadingZeros(te.getHours()%12||12,J.length)},H(te,J){return addLeadingZeros(te.getHours(),J.length)},m(te,J){return addLeadingZeros(te.getMinutes(),J.length)},s(te,J){return addLeadingZeros(te.getSeconds(),J.length)},S(te,J){const X=J.length,re=te.getMilliseconds(),ne=Math.trunc(re*Math.pow(10,X-3));return addLeadingZeros(ne,J.length)}},dayPeriodEnum={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(te,J,X){const re=te.getFullYear()>0?1:0;switch(J){case"G":case"GG":case"GGG":return X.era(re,{width:"abbreviated"});case"GGGGG":return X.era(re,{width:"narrow"});case"GGGG":default:return X.era(re,{width:"wide"})}},y:function(te,J,X){if(J==="yo"){const re=te.getFullYear(),ne=re>0?re:1-re;return X.ordinalNumber(ne,{unit:"year"})}return lightFormatters.y(te,J)},Y:function(te,J,X,re){const ne=getWeekYear(te,re),oe=ne>0?ne:1-ne;if(J==="YY"){const de=oe%100;return addLeadingZeros(de,2)}return J==="Yo"?X.ordinalNumber(oe,{unit:"year"}):addLeadingZeros(oe,J.length)},R:function(te,J){const X=getISOWeekYear(te);return addLeadingZeros(X,J.length)},u:function(te,J){const X=te.getFullYear();return addLeadingZeros(X,J.length)},Q:function(te,J,X){const re=Math.ceil((te.getMonth()+1)/3);switch(J){case"Q":return String(re);case"QQ":return addLeadingZeros(re,2);case"Qo":return X.ordinalNumber(re,{unit:"quarter"});case"QQQ":return X.quarter(re,{width:"abbreviated",context:"formatting"});case"QQQQQ":return X.quarter(re,{width:"narrow",context:"formatting"});case"QQQQ":default:return X.quarter(re,{width:"wide",context:"formatting"})}},q:function(te,J,X){const re=Math.ceil((te.getMonth()+1)/3);switch(J){case"q":return String(re);case"qq":return addLeadingZeros(re,2);case"qo":return X.ordinalNumber(re,{unit:"quarter"});case"qqq":return X.quarter(re,{width:"abbreviated",context:"standalone"});case"qqqqq":return X.quarter(re,{width:"narrow",context:"standalone"});case"qqqq":default:return X.quarter(re,{width:"wide",context:"standalone"})}},M:function(te,J,X){const re=te.getMonth();switch(J){case"M":case"MM":return lightFormatters.M(te,J);case"Mo":return X.ordinalNumber(re+1,{unit:"month"});case"MMM":return X.month(re,{width:"abbreviated",context:"formatting"});case"MMMMM":return X.month(re,{width:"narrow",context:"formatting"});case"MMMM":default:return X.month(re,{width:"wide",context:"formatting"})}},L:function(te,J,X){const re=te.getMonth();switch(J){case"L":return String(re+1);case"LL":return addLeadingZeros(re+1,2);case"Lo":return X.ordinalNumber(re+1,{unit:"month"});case"LLL":return X.month(re,{width:"abbreviated",context:"standalone"});case"LLLLL":return X.month(re,{width:"narrow",context:"standalone"});case"LLLL":default:return X.month(re,{width:"wide",context:"standalone"})}},w:function(te,J,X,re){const ne=getWeek(te,re);return J==="wo"?X.ordinalNumber(ne,{unit:"week"}):addLeadingZeros(ne,J.length)},I:function(te,J,X){const re=getISOWeek(te);return J==="Io"?X.ordinalNumber(re,{unit:"week"}):addLeadingZeros(re,J.length)},d:function(te,J,X){return J==="do"?X.ordinalNumber(te.getDate(),{unit:"date"}):lightFormatters.d(te,J)},D:function(te,J,X){const re=getDayOfYear(te);return J==="Do"?X.ordinalNumber(re,{unit:"dayOfYear"}):addLeadingZeros(re,J.length)},E:function(te,J,X){const re=te.getDay();switch(J){case"E":case"EE":case"EEE":return X.day(re,{width:"abbreviated",context:"formatting"});case"EEEEE":return X.day(re,{width:"narrow",context:"formatting"});case"EEEEEE":return X.day(re,{width:"short",context:"formatting"});case"EEEE":default:return X.day(re,{width:"wide",context:"formatting"})}},e:function(te,J,X,re){const ne=te.getDay(),oe=(ne-re.weekStartsOn+8)%7||7;switch(J){case"e":return String(oe);case"ee":return addLeadingZeros(oe,2);case"eo":return X.ordinalNumber(oe,{unit:"day"});case"eee":return X.day(ne,{width:"abbreviated",context:"formatting"});case"eeeee":return X.day(ne,{width:"narrow",context:"formatting"});case"eeeeee":return X.day(ne,{width:"short",context:"formatting"});case"eeee":default:return X.day(ne,{width:"wide",context:"formatting"})}},c:function(te,J,X,re){const ne=te.getDay(),oe=(ne-re.weekStartsOn+8)%7||7;switch(J){case"c":return String(oe);case"cc":return addLeadingZeros(oe,J.length);case"co":return X.ordinalNumber(oe,{unit:"day"});case"ccc":return X.day(ne,{width:"abbreviated",context:"standalone"});case"ccccc":return X.day(ne,{width:"narrow",context:"standalone"});case"cccccc":return X.day(ne,{width:"short",context:"standalone"});case"cccc":default:return X.day(ne,{width:"wide",context:"standalone"})}},i:function(te,J,X){const re=te.getDay(),ne=re===0?7:re;switch(J){case"i":return String(ne);case"ii":return addLeadingZeros(ne,J.length);case"io":return X.ordinalNumber(ne,{unit:"day"});case"iii":return X.day(re,{width:"abbreviated",context:"formatting"});case"iiiii":return X.day(re,{width:"narrow",context:"formatting"});case"iiiiii":return X.day(re,{width:"short",context:"formatting"});case"iiii":default:return X.day(re,{width:"wide",context:"formatting"})}},a:function(te,J,X){const ne=te.getHours()/12>=1?"pm":"am";switch(J){case"a":case"aa":return X.dayPeriod(ne,{width:"abbreviated",context:"formatting"});case"aaa":return X.dayPeriod(ne,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return X.dayPeriod(ne,{width:"narrow",context:"formatting"});case"aaaa":default:return X.dayPeriod(ne,{width:"wide",context:"formatting"})}},b:function(te,J,X){const re=te.getHours();let ne;switch(re===12?ne=dayPeriodEnum.noon:re===0?ne=dayPeriodEnum.midnight:ne=re/12>=1?"pm":"am",J){case"b":case"bb":return X.dayPeriod(ne,{width:"abbreviated",context:"formatting"});case"bbb":return X.dayPeriod(ne,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return X.dayPeriod(ne,{width:"narrow",context:"formatting"});case"bbbb":default:return X.dayPeriod(ne,{width:"wide",context:"formatting"})}},B:function(te,J,X){const re=te.getHours();let ne;switch(re>=17?ne=dayPeriodEnum.evening:re>=12?ne=dayPeriodEnum.afternoon:re>=4?ne=dayPeriodEnum.morning:ne=dayPeriodEnum.night,J){case"B":case"BB":case"BBB":return X.dayPeriod(ne,{width:"abbreviated",context:"formatting"});case"BBBBB":return X.dayPeriod(ne,{width:"narrow",context:"formatting"});case"BBBB":default:return X.dayPeriod(ne,{width:"wide",context:"formatting"})}},h:function(te,J,X){if(J==="ho"){let re=te.getHours()%12;return re===0&&(re=12),X.ordinalNumber(re,{unit:"hour"})}return lightFormatters.h(te,J)},H:function(te,J,X){return J==="Ho"?X.ordinalNumber(te.getHours(),{unit:"hour"}):lightFormatters.H(te,J)},K:function(te,J,X){const re=te.getHours()%12;return J==="Ko"?X.ordinalNumber(re,{unit:"hour"}):addLeadingZeros(re,J.length)},k:function(te,J,X){let re=te.getHours();return re===0&&(re=24),J==="ko"?X.ordinalNumber(re,{unit:"hour"}):addLeadingZeros(re,J.length)},m:function(te,J,X){return J==="mo"?X.ordinalNumber(te.getMinutes(),{unit:"minute"}):lightFormatters.m(te,J)},s:function(te,J,X){return J==="so"?X.ordinalNumber(te.getSeconds(),{unit:"second"}):lightFormatters.s(te,J)},S:function(te,J){return lightFormatters.S(te,J)},X:function(te,J,X){const re=te.getTimezoneOffset();if(re===0)return"Z";switch(J){case"X":return formatTimezoneWithOptionalMinutes(re);case"XXXX":case"XX":return formatTimezone(re);case"XXXXX":case"XXX":default:return formatTimezone(re,":")}},x:function(te,J,X){const re=te.getTimezoneOffset();switch(J){case"x":return formatTimezoneWithOptionalMinutes(re);case"xxxx":case"xx":return formatTimezone(re);case"xxxxx":case"xxx":default:return formatTimezone(re,":")}},O:function(te,J,X){const re=te.getTimezoneOffset();switch(J){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(re,":");case"OOOO":default:return"GMT"+formatTimezone(re,":")}},z:function(te,J,X){const re=te.getTimezoneOffset();switch(J){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(re,":");case"zzzz":default:return"GMT"+formatTimezone(re,":")}},t:function(te,J,X){const re=Math.trunc(te.getTime()/1e3);return addLeadingZeros(re,J.length)},T:function(te,J,X){const re=te.getTime();return addLeadingZeros(re,J.length)}};function formatTimezoneShort(te,J=""){const X=te>0?"-":"+",re=Math.abs(te),ne=Math.trunc(re/60),oe=re%60;return oe===0?X+String(ne):X+String(ne)+J+addLeadingZeros(oe,2)}function formatTimezoneWithOptionalMinutes(te,J){return te%60===0?(te>0?"-":"+")+addLeadingZeros(Math.abs(te)/60,2):formatTimezone(te,J)}function formatTimezone(te,J=""){const X=te>0?"-":"+",re=Math.abs(te),ne=addLeadingZeros(Math.trunc(re/60),2),oe=addLeadingZeros(re%60,2);return X+ne+J+oe}const dateLongFormatter=(te,J)=>{switch(te){case"P":return J.date({width:"short"});case"PP":return J.date({width:"medium"});case"PPP":return J.date({width:"long"});case"PPPP":default:return J.date({width:"full"})}},timeLongFormatter=(te,J)=>{switch(te){case"p":return J.time({width:"short"});case"pp":return J.time({width:"medium"});case"ppp":return J.time({width:"long"});case"pppp":default:return J.time({width:"full"})}},dateTimeLongFormatter=(te,J)=>{const X=te.match(/(P+)(p+)?/)||[],re=X[1],ne=X[2];if(!ne)return dateLongFormatter(te,J);let oe;switch(re){case"P":oe=J.dateTime({width:"short"});break;case"PP":oe=J.dateTime({width:"medium"});break;case"PPP":oe=J.dateTime({width:"long"});break;case"PPPP":default:oe=J.dateTime({width:"full"});break}return oe.replace("{{date}}",dateLongFormatter(re,J)).replace("{{time}}",timeLongFormatter(ne,J))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(te){return dayOfYearTokenRE.test(te)}function isProtectedWeekYearToken(te){return weekYearTokenRE.test(te)}function warnOrThrowProtectedError(te,J,X){const re=message(te,J,X);if(console.warn(re),throwTokens.includes(te))throw new RangeError(re)}function message(te,J,X){const re=te[0]==="Y"?"years":"days of the month";return`Use \`${te.toLowerCase()}\` instead of \`${te}\` (in \`${J}\`) for formatting ${re} to the input \`${X}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const formattingTokensRegExp$1=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp$1=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp$1=/^'([^]*?)'?$/,doubleQuoteRegExp$1=/''/g,unescapedLatinCharacterRegExp$1=/[a-zA-Z]/;function format(te,J,X){const re=getDefaultOptions$1(),ne=re.locale??enUS,oe=re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,de=re.weekStartsOn??re.locale?.options?.weekStartsOn??0,ce=toDate(te);if(!isValid(ce))throw new RangeError("Invalid time value");let ue=J.match(longFormattingTokensRegExp$1).map(pe=>{const fe=pe[0];if(fe==="p"||fe==="P"){const be=longFormatters[fe];return be(pe,ne.formatLong)}return pe}).join("").match(formattingTokensRegExp$1).map(pe=>{if(pe==="''")return{isToken:!1,value:"'"};const fe=pe[0];if(fe==="'")return{isToken:!1,value:cleanEscapedString$1(pe)};if(formatters[fe])return{isToken:!0,value:pe};if(fe.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+fe+"`");return{isToken:!1,value:pe}});ne.localize.preprocessor&&(ue=ne.localize.preprocessor(ce,ue));const he={firstWeekContainsDate:oe,weekStartsOn:de,locale:ne};return ue.map(pe=>{if(!pe.isToken)return pe.value;const fe=pe.value;(isProtectedWeekYearToken(fe)||isProtectedDayOfYearToken(fe))&&warnOrThrowProtectedError(fe,J,String(te));const be=formatters[fe[0]];return be(ce,fe,ne.localize,he)}).join("")}function cleanEscapedString$1(te){const J=te.match(escapedStringRegExp$1);return J?J[1].replace(doubleQuoteRegExp$1,"'"):te}function getDay(te){return toDate(te).getDay()}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(te){let X=toDate(te).getDay();return X===0&&(X=7),X}function transpose(te,J){const X=J instanceof Date?constructFrom(J,0):new J(0);return X.setFullYear(te.getFullYear(),te.getMonth(),te.getDate()),X.setHours(te.getHours(),te.getMinutes(),te.getSeconds(),te.getMilliseconds()),X}const TIMEZONE_UNIT_PRIORITY=10;class Setter{subPriority=0;validate(J,X){return!0}}class ValueSetter extends Setter{constructor(J,X,re,ne,oe){super(),this.value=J,this.validateValue=X,this.setValue=re,this.priority=ne,oe&&(this.subPriority=oe)}validate(J,X){return this.validateValue(J,this.value,X)}set(J,X,re){return this.setValue(J,X,this.value,re)}}class DateToSystemTimezoneSetter extends Setter{priority=TIMEZONE_UNIT_PRIORITY;subPriority=-1;set(J,X){return X.timestampIsSet?J:constructFrom(J,transpose(J,Date))}}class Parser{run(J,X,re,ne){const oe=this.parse(J,X,re,ne);return oe?{setter:new ValueSetter(oe.value,this.validate,this.set,this.priority,this.subPriority),rest:oe.rest}:null}validate(J,X,re){return!0}}class EraParser extends Parser{priority=140;parse(J,X,re){switch(X){case"G":case"GG":case"GGG":return re.era(J,{width:"abbreviated"})||re.era(J,{width:"narrow"});case"GGGGG":return re.era(J,{width:"narrow"});case"GGGG":default:return re.era(J,{width:"wide"})||re.era(J,{width:"abbreviated"})||re.era(J,{width:"narrow"})}}set(J,X,re){return X.era=re,J.setFullYear(re,0,1),J.setHours(0,0,0,0),J}incompatibleTokens=["R","u","t","T"]}const numericPatterns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},timezonePatterns={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function mapValue(te,J){return te&&{value:J(te.value),rest:te.rest}}function parseNumericPattern(te,J){const X=J.match(te);return X?{value:parseInt(X[0],10),rest:J.slice(X[0].length)}:null}function parseTimezonePattern(te,J){const X=J.match(te);if(!X)return null;if(X[0]==="Z")return{value:0,rest:J.slice(1)};const re=X[1]==="+"?1:-1,ne=X[2]?parseInt(X[2],10):0,oe=X[3]?parseInt(X[3],10):0,de=X[5]?parseInt(X[5],10):0;return{value:re*(ne*millisecondsInHour+oe*millisecondsInMinute+de*millisecondsInSecond),rest:J.slice(X[0].length)}}function parseAnyDigitsSigned(te){return parseNumericPattern(numericPatterns.anyDigitsSigned,te)}function parseNDigits(te,J){switch(te){case 1:return parseNumericPattern(numericPatterns.singleDigit,J);case 2:return parseNumericPattern(numericPatterns.twoDigits,J);case 3:return parseNumericPattern(numericPatterns.threeDigits,J);case 4:return parseNumericPattern(numericPatterns.fourDigits,J);default:return parseNumericPattern(new RegExp("^\\d{1,"+te+"}"),J)}}function parseNDigitsSigned(te,J){switch(te){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,J);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,J);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,J);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,J);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+te+"}"),J)}}function dayPeriodEnumToHours(te){switch(te){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function normalizeTwoDigitYear(te,J){const X=J>0,re=X?J:1-J;let ne;if(re<=50)ne=te||100;else{const oe=re+50,de=Math.trunc(oe/100)*100,ce=te>=oe%100;ne=te+de-(ce?100:0)}return X?ne:1-ne}function isLeapYearIndex(te){return te%400===0||te%4===0&&te%100!==0}class YearParser extends Parser{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(J,X,re){const ne=oe=>({year:oe,isTwoDigitYear:X==="yy"});switch(X){case"y":return mapValue(parseNDigits(4,J),ne);case"yo":return mapValue(re.ordinalNumber(J,{unit:"year"}),ne);default:return mapValue(parseNDigits(X.length,J),ne)}}validate(J,X){return X.isTwoDigitYear||X.year>0}set(J,X,re){const ne=J.getFullYear();if(re.isTwoDigitYear){const de=normalizeTwoDigitYear(re.year,ne);return J.setFullYear(de,0,1),J.setHours(0,0,0,0),J}const oe=!("era"in X)||X.era===1?re.year:1-re.year;return J.setFullYear(oe,0,1),J.setHours(0,0,0,0),J}}class LocalWeekYearParser extends Parser{priority=130;parse(J,X,re){const ne=oe=>({year:oe,isTwoDigitYear:X==="YY"});switch(X){case"Y":return mapValue(parseNDigits(4,J),ne);case"Yo":return mapValue(re.ordinalNumber(J,{unit:"year"}),ne);default:return mapValue(parseNDigits(X.length,J),ne)}}validate(J,X){return X.isTwoDigitYear||X.year>0}set(J,X,re,ne){const oe=getWeekYear(J,ne);if(re.isTwoDigitYear){const ce=normalizeTwoDigitYear(re.year,oe);return J.setFullYear(ce,0,ne.firstWeekContainsDate),J.setHours(0,0,0,0),startOfWeek(J,ne)}const de=!("era"in X)||X.era===1?re.year:1-re.year;return J.setFullYear(de,0,ne.firstWeekContainsDate),J.setHours(0,0,0,0),startOfWeek(J,ne)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ISOWeekYearParser extends Parser{priority=130;parse(J,X){return parseNDigitsSigned(X==="R"?4:X.length,J)}set(J,X,re){const ne=constructFrom(J,0);return ne.setFullYear(re,0,4),ne.setHours(0,0,0,0),startOfISOWeek(ne)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class ExtendedYearParser extends Parser{priority=130;parse(J,X){return parseNDigitsSigned(X==="u"?4:X.length,J)}set(J,X,re){return J.setFullYear(re,0,1),J.setHours(0,0,0,0),J}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class QuarterParser extends Parser{priority=120;parse(J,X,re){switch(X){case"Q":case"QQ":return parseNDigits(X.length,J);case"Qo":return re.ordinalNumber(J,{unit:"quarter"});case"QQQ":return re.quarter(J,{width:"abbreviated",context:"formatting"})||re.quarter(J,{width:"narrow",context:"formatting"});case"QQQQQ":return re.quarter(J,{width:"narrow",context:"formatting"});case"QQQQ":default:return re.quarter(J,{width:"wide",context:"formatting"})||re.quarter(J,{width:"abbreviated",context:"formatting"})||re.quarter(J,{width:"narrow",context:"formatting"})}}validate(J,X){return X>=1&&X<=4}set(J,X,re){return J.setMonth((re-1)*3,1),J.setHours(0,0,0,0),J}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class StandAloneQuarterParser extends Parser{priority=120;parse(J,X,re){switch(X){case"q":case"qq":return parseNDigits(X.length,J);case"qo":return re.ordinalNumber(J,{unit:"quarter"});case"qqq":return re.quarter(J,{width:"abbreviated",context:"standalone"})||re.quarter(J,{width:"narrow",context:"standalone"});case"qqqqq":return re.quarter(J,{width:"narrow",context:"standalone"});case"qqqq":default:return re.quarter(J,{width:"wide",context:"standalone"})||re.quarter(J,{width:"abbreviated",context:"standalone"})||re.quarter(J,{width:"narrow",context:"standalone"})}}validate(J,X){return X>=1&&X<=4}set(J,X,re){return J.setMonth((re-1)*3,1),J.setHours(0,0,0,0),J}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class MonthParser extends Parser{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(J,X,re){const ne=oe=>oe-1;switch(X){case"M":return mapValue(parseNumericPattern(numericPatterns.month,J),ne);case"MM":return mapValue(parseNDigits(2,J),ne);case"Mo":return mapValue(re.ordinalNumber(J,{unit:"month"}),ne);case"MMM":return re.month(J,{width:"abbreviated",context:"formatting"})||re.month(J,{width:"narrow",context:"formatting"});case"MMMMM":return re.month(J,{width:"narrow",context:"formatting"});case"MMMM":default:return re.month(J,{width:"wide",context:"formatting"})||re.month(J,{width:"abbreviated",context:"formatting"})||re.month(J,{width:"narrow",context:"formatting"})}}validate(J,X){return X>=0&&X<=11}set(J,X,re){return J.setMonth(re,1),J.setHours(0,0,0,0),J}}class StandAloneMonthParser extends Parser{priority=110;parse(J,X,re){const ne=oe=>oe-1;switch(X){case"L":return mapValue(parseNumericPattern(numericPatterns.month,J),ne);case"LL":return mapValue(parseNDigits(2,J),ne);case"Lo":return mapValue(re.ordinalNumber(J,{unit:"month"}),ne);case"LLL":return re.month(J,{width:"abbreviated",context:"standalone"})||re.month(J,{width:"narrow",context:"standalone"});case"LLLLL":return re.month(J,{width:"narrow",context:"standalone"});case"LLLL":default:return re.month(J,{width:"wide",context:"standalone"})||re.month(J,{width:"abbreviated",context:"standalone"})||re.month(J,{width:"narrow",context:"standalone"})}}validate(J,X){return X>=0&&X<=11}set(J,X,re){return J.setMonth(re,1),J.setHours(0,0,0,0),J}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function setWeek(te,J,X){const re=toDate(te),ne=getWeek(re,X)-J;return re.setDate(re.getDate()-ne*7),re}class LocalWeekParser extends Parser{priority=100;parse(J,X,re){switch(X){case"w":return parseNumericPattern(numericPatterns.week,J);case"wo":return re.ordinalNumber(J,{unit:"week"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=1&&X<=53}set(J,X,re,ne){return startOfWeek(setWeek(J,re,ne),ne)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function setISOWeek(te,J){const X=toDate(te),re=getISOWeek(X)-J;return X.setDate(X.getDate()-re*7),X}class ISOWeekParser extends Parser{priority=100;parse(J,X,re){switch(X){case"I":return parseNumericPattern(numericPatterns.week,J);case"Io":return re.ordinalNumber(J,{unit:"week"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=1&&X<=53}set(J,X,re){return startOfISOWeek(setISOWeek(J,re))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31],DAYS_IN_MONTH_LEAP_YEAR=[31,29,31,30,31,30,31,31,30,31,30,31];class DateParser extends Parser{priority=90;subPriority=1;parse(J,X,re){switch(X){case"d":return parseNumericPattern(numericPatterns.date,J);case"do":return re.ordinalNumber(J,{unit:"date"});default:return parseNDigits(X.length,J)}}validate(J,X){const re=J.getFullYear(),ne=isLeapYearIndex(re),oe=J.getMonth();return ne?X>=1&&X<=DAYS_IN_MONTH_LEAP_YEAR[oe]:X>=1&&X<=DAYS_IN_MONTH[oe]}set(J,X,re){return J.setDate(re),J.setHours(0,0,0,0),J}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class DayOfYearParser extends Parser{priority=90;subpriority=1;parse(J,X,re){switch(X){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,J);case"Do":return re.ordinalNumber(J,{unit:"date"});default:return parseNDigits(X.length,J)}}validate(J,X){const re=J.getFullYear();return isLeapYearIndex(re)?X>=1&&X<=366:X>=1&&X<=365}set(J,X,re){return J.setMonth(0,re),J.setHours(0,0,0,0),J}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function setDay(te,J,X){const re=getDefaultOptions$1(),ne=X?.weekStartsOn??X?.locale?.options?.weekStartsOn??re.weekStartsOn??re.locale?.options?.weekStartsOn??0,oe=toDate(te),de=oe.getDay(),ue=(J%7+7)%7,he=7-ne,pe=J<0||J>6?J-(de+he)%7:(ue+he)%7-(de+he)%7;return addDays(oe,pe)}class DayParser extends Parser{priority=90;parse(J,X,re){switch(X){case"E":case"EE":case"EEE":return re.day(J,{width:"abbreviated",context:"formatting"})||re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"});case"EEEEE":return re.day(J,{width:"narrow",context:"formatting"});case"EEEEEE":return re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"});case"EEEE":default:return re.day(J,{width:"wide",context:"formatting"})||re.day(J,{width:"abbreviated",context:"formatting"})||re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"})}}validate(J,X){return X>=0&&X<=6}set(J,X,re,ne){return J=setDay(J,re,ne),J.setHours(0,0,0,0),J}incompatibleTokens=["D","i","e","c","t","T"]}class LocalDayParser extends Parser{priority=90;parse(J,X,re,ne){const oe=de=>{const ce=Math.floor((de-1)/7)*7;return(de+ne.weekStartsOn+6)%7+ce};switch(X){case"e":case"ee":return mapValue(parseNDigits(X.length,J),oe);case"eo":return mapValue(re.ordinalNumber(J,{unit:"day"}),oe);case"eee":return re.day(J,{width:"abbreviated",context:"formatting"})||re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"});case"eeeee":return re.day(J,{width:"narrow",context:"formatting"});case"eeeeee":return re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"});case"eeee":default:return re.day(J,{width:"wide",context:"formatting"})||re.day(J,{width:"abbreviated",context:"formatting"})||re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"})}}validate(J,X){return X>=0&&X<=6}set(J,X,re,ne){return J=setDay(J,re,ne),J.setHours(0,0,0,0),J}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class StandAloneLocalDayParser extends Parser{priority=90;parse(J,X,re,ne){const oe=de=>{const ce=Math.floor((de-1)/7)*7;return(de+ne.weekStartsOn+6)%7+ce};switch(X){case"c":case"cc":return mapValue(parseNDigits(X.length,J),oe);case"co":return mapValue(re.ordinalNumber(J,{unit:"day"}),oe);case"ccc":return re.day(J,{width:"abbreviated",context:"standalone"})||re.day(J,{width:"short",context:"standalone"})||re.day(J,{width:"narrow",context:"standalone"});case"ccccc":return re.day(J,{width:"narrow",context:"standalone"});case"cccccc":return re.day(J,{width:"short",context:"standalone"})||re.day(J,{width:"narrow",context:"standalone"});case"cccc":default:return re.day(J,{width:"wide",context:"standalone"})||re.day(J,{width:"abbreviated",context:"standalone"})||re.day(J,{width:"short",context:"standalone"})||re.day(J,{width:"narrow",context:"standalone"})}}validate(J,X){return X>=0&&X<=6}set(J,X,re,ne){return J=setDay(J,re,ne),J.setHours(0,0,0,0),J}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function setISODay(te,J){const X=toDate(te),re=getISODay(X),ne=J-re;return addDays(X,ne)}class ISODayParser extends Parser{priority=90;parse(J,X,re){const ne=oe=>oe===0?7:oe;switch(X){case"i":case"ii":return parseNDigits(X.length,J);case"io":return re.ordinalNumber(J,{unit:"day"});case"iii":return mapValue(re.day(J,{width:"abbreviated",context:"formatting"})||re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"}),ne);case"iiiii":return mapValue(re.day(J,{width:"narrow",context:"formatting"}),ne);case"iiiiii":return mapValue(re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"}),ne);case"iiii":default:return mapValue(re.day(J,{width:"wide",context:"formatting"})||re.day(J,{width:"abbreviated",context:"formatting"})||re.day(J,{width:"short",context:"formatting"})||re.day(J,{width:"narrow",context:"formatting"}),ne)}}validate(J,X){return X>=1&&X<=7}set(J,X,re){return J=setISODay(J,re),J.setHours(0,0,0,0),J}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AMPMParser extends Parser{priority=80;parse(J,X,re){switch(X){case"a":case"aa":case"aaa":return re.dayPeriod(J,{width:"abbreviated",context:"formatting"})||re.dayPeriod(J,{width:"narrow",context:"formatting"});case"aaaaa":return re.dayPeriod(J,{width:"narrow",context:"formatting"});case"aaaa":default:return re.dayPeriod(J,{width:"wide",context:"formatting"})||re.dayPeriod(J,{width:"abbreviated",context:"formatting"})||re.dayPeriod(J,{width:"narrow",context:"formatting"})}}set(J,X,re){return J.setHours(dayPeriodEnumToHours(re),0,0,0),J}incompatibleTokens=["b","B","H","k","t","T"]}class AMPMMidnightParser extends Parser{priority=80;parse(J,X,re){switch(X){case"b":case"bb":case"bbb":return re.dayPeriod(J,{width:"abbreviated",context:"formatting"})||re.dayPeriod(J,{width:"narrow",context:"formatting"});case"bbbbb":return re.dayPeriod(J,{width:"narrow",context:"formatting"});case"bbbb":default:return re.dayPeriod(J,{width:"wide",context:"formatting"})||re.dayPeriod(J,{width:"abbreviated",context:"formatting"})||re.dayPeriod(J,{width:"narrow",context:"formatting"})}}set(J,X,re){return J.setHours(dayPeriodEnumToHours(re),0,0,0),J}incompatibleTokens=["a","B","H","k","t","T"]}class DayPeriodParser extends Parser{priority=80;parse(J,X,re){switch(X){case"B":case"BB":case"BBB":return re.dayPeriod(J,{width:"abbreviated",context:"formatting"})||re.dayPeriod(J,{width:"narrow",context:"formatting"});case"BBBBB":return re.dayPeriod(J,{width:"narrow",context:"formatting"});case"BBBB":default:return re.dayPeriod(J,{width:"wide",context:"formatting"})||re.dayPeriod(J,{width:"abbreviated",context:"formatting"})||re.dayPeriod(J,{width:"narrow",context:"formatting"})}}set(J,X,re){return J.setHours(dayPeriodEnumToHours(re),0,0,0),J}incompatibleTokens=["a","b","t","T"]}class Hour1to12Parser extends Parser{priority=70;parse(J,X,re){switch(X){case"h":return parseNumericPattern(numericPatterns.hour12h,J);case"ho":return re.ordinalNumber(J,{unit:"hour"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=1&&X<=12}set(J,X,re){const ne=J.getHours()>=12;return ne&&re<12?J.setHours(re+12,0,0,0):!ne&&re===12?J.setHours(0,0,0,0):J.setHours(re,0,0,0),J}incompatibleTokens=["H","K","k","t","T"]}class Hour0to23Parser extends Parser{priority=70;parse(J,X,re){switch(X){case"H":return parseNumericPattern(numericPatterns.hour23h,J);case"Ho":return re.ordinalNumber(J,{unit:"hour"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=0&&X<=23}set(J,X,re){return J.setHours(re,0,0,0),J}incompatibleTokens=["a","b","h","K","k","t","T"]}class Hour0To11Parser extends Parser{priority=70;parse(J,X,re){switch(X){case"K":return parseNumericPattern(numericPatterns.hour11h,J);case"Ko":return re.ordinalNumber(J,{unit:"hour"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=0&&X<=11}set(J,X,re){return J.getHours()>=12&&re<12?J.setHours(re+12,0,0,0):J.setHours(re,0,0,0),J}incompatibleTokens=["h","H","k","t","T"]}class Hour1To24Parser extends Parser{priority=70;parse(J,X,re){switch(X){case"k":return parseNumericPattern(numericPatterns.hour24h,J);case"ko":return re.ordinalNumber(J,{unit:"hour"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=1&&X<=24}set(J,X,re){const ne=re<=24?re%24:re;return J.setHours(ne,0,0,0),J}incompatibleTokens=["a","b","h","H","K","t","T"]}class MinuteParser extends Parser{priority=60;parse(J,X,re){switch(X){case"m":return parseNumericPattern(numericPatterns.minute,J);case"mo":return re.ordinalNumber(J,{unit:"minute"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=0&&X<=59}set(J,X,re){return J.setMinutes(re,0,0),J}incompatibleTokens=["t","T"]}class SecondParser extends Parser{priority=50;parse(J,X,re){switch(X){case"s":return parseNumericPattern(numericPatterns.second,J);case"so":return re.ordinalNumber(J,{unit:"second"});default:return parseNDigits(X.length,J)}}validate(J,X){return X>=0&&X<=59}set(J,X,re){return J.setSeconds(re,0),J}incompatibleTokens=["t","T"]}class FractionOfSecondParser extends Parser{priority=30;parse(J,X){const re=ne=>Math.trunc(ne*Math.pow(10,-X.length+3));return mapValue(parseNDigits(X.length,J),re)}set(J,X,re){return J.setMilliseconds(re),J}incompatibleTokens=["t","T"]}class ISOTimezoneWithZParser extends Parser{priority=10;parse(J,X){switch(X){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,J);case"XX":return parseTimezonePattern(timezonePatterns.basic,J);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,J);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,J);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,J)}}set(J,X,re){return X.timestampIsSet?J:constructFrom(J,J.getTime()-getTimezoneOffsetInMilliseconds(J)-re)}incompatibleTokens=["t","T","x"]}class ISOTimezoneParser extends Parser{priority=10;parse(J,X){switch(X){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,J);case"xx":return parseTimezonePattern(timezonePatterns.basic,J);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,J);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,J);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,J)}}set(J,X,re){return X.timestampIsSet?J:constructFrom(J,J.getTime()-getTimezoneOffsetInMilliseconds(J)-re)}incompatibleTokens=["t","T","X"]}class TimestampSecondsParser extends Parser{priority=40;parse(J){return parseAnyDigitsSigned(J)}set(J,X,re){return[constructFrom(J,re*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class TimestampMillisecondsParser extends Parser{priority=20;parse(J){return parseAnyDigitsSigned(J)}set(J,X,re){return[constructFrom(J,re),{timestampIsSet:!0}]}incompatibleTokens="*"}const parsers={G:new EraParser,y:new YearParser,Y:new LocalWeekYearParser,R:new ISOWeekYearParser,u:new ExtendedYearParser,Q:new QuarterParser,q:new StandAloneQuarterParser,M:new MonthParser,L:new StandAloneMonthParser,w:new LocalWeekParser,I:new ISOWeekParser,d:new DateParser,D:new DayOfYearParser,E:new DayParser,e:new LocalDayParser,c:new StandAloneLocalDayParser,i:new ISODayParser,a:new AMPMParser,b:new AMPMMidnightParser,B:new DayPeriodParser,h:new Hour1to12Parser,H:new Hour0to23Parser,K:new Hour0To11Parser,k:new Hour1To24Parser,m:new MinuteParser,s:new SecondParser,S:new FractionOfSecondParser,X:new ISOTimezoneWithZParser,x:new ISOTimezoneParser,t:new TimestampSecondsParser,T:new TimestampMillisecondsParser},formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,notWhitespaceRegExp=/\S/,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function parse(te,J,X,re){const ne=getDefaultOptions(),oe=ne.locale??enUS,de=ne.firstWeekContainsDate??ne.locale?.options?.firstWeekContainsDate??1,ce=ne.weekStartsOn??ne.locale?.options?.weekStartsOn??0,ue={firstWeekContainsDate:de,weekStartsOn:ce,locale:oe},he=[new DateToSystemTimezoneSetter],pe=J.match(longFormattingTokensRegExp).map(me=>{const _e=me[0];if(_e in longFormatters){const ye=longFormatters[_e];return ye(me,oe.formatLong)}return me}).join("").match(formattingTokensRegExp),fe=[];for(let me of pe){isProtectedWeekYearToken(me)&&warnOrThrowProtectedError(me,J,te),isProtectedDayOfYearToken(me)&&warnOrThrowProtectedError(me,J,te);const _e=me[0],ye=parsers[_e];if(ye){const{incompatibleTokens:Ce}=ye;if(Array.isArray(Ce)){const we=fe.find(Ae=>Ce.includes(Ae.token)||Ae.token===_e);if(we)throw new RangeError(`The format string mustn't contain \`${we.fullToken}\` and \`${me}\` at the same time`)}else if(ye.incompatibleTokens==="*"&&fe.length>0)throw new RangeError(`The format string mustn't contain \`${me}\` and any other token at the same time`);fe.push({token:_e,fullToken:me});const Se=ye.run(te,me,oe.match,ue);if(!Se)return constructFrom(X,NaN);he.push(Se.setter),te=Se.rest}else{if(_e.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+_e+"`");if(me==="''"?me="'":_e==="'"&&(me=cleanEscapedString(me)),te.indexOf(me)===0)te=te.slice(me.length);else return constructFrom(X,NaN)}}if(te.length>0&&notWhitespaceRegExp.test(te))return constructFrom(X,NaN);const be=he.map(me=>me.priority).sort((me,_e)=>_e-me).filter((me,_e,ye)=>ye.indexOf(me)===_e).map(me=>he.filter(_e=>_e.priority===me).sort((_e,ye)=>ye.subPriority-_e.subPriority)).map(me=>me[0]);let ge=toDate(X);if(isNaN(ge.getTime()))return constructFrom(X,NaN);const ve={};for(const me of be){if(!me.validate(ge,ue))return constructFrom(X,NaN);const _e=me.set(ge,ve,ue);Array.isArray(_e)?(ge=_e[0],Object.assign(ve,_e[1])):ge=_e}return constructFrom(X,ge)}function cleanEscapedString(te){return te.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}/**
411
411
  * @license