@uxland/primary-shell 7.44.1 → 7.44.3
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/{component-C7UiE5Lw.js → component-VhfkTmHG.js} +2 -2
- package/dist/{component-C7UiE5Lw.js.map → component-VhfkTmHG.js.map} +1 -1
- package/dist/{index-DasFWYhc.js → index-D-GssSmM.js} +99 -82
- package/dist/index-D-GssSmM.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +15 -14
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +1 -1
- package/dist/index-DasFWYhc.js.map +0 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -316,7 +316,7 @@ Registered bindings:`,re.forEach(function(oe){var ne="Object";oe.implementationT
|
|
|
316
316
|
${r$M(styles$q)}
|
|
317
317
|
`;let PluginBusyList=Bs;class PluginBusyManagerImpl{constructor(){this.tasks=[],customElements.get("plugin-busy-list")||t$x("plugin-busy-list")(PluginBusyList)}addTask(W){this.tasks.some(te=>te.taskId===W.taskId)||this.tasks.push(W)}removeTask(W){const X=this.tasks.findIndex(te=>te.taskId===W);X>-1&&this.tasks.splice(X,1)}isBusy(){return this.tasks.length>0}clearAll(){this.tasks=[]}getTasks(){return this.tasks}}class QuickActionBusyManagerImpl{constructor(W){this.broker=W,this.tasks=[]}addTask(W){this.tasks.findIndex(te=>te.taskId===W.taskId)>-1||(this.tasks.push(W),this.emitBusyChanged())}removeTask(W){const X=this.tasks.findIndex(te=>te.taskId===W);X>-1&&(this.tasks.splice(X,1),this.emitBusyChanged())}isBusy(){return this.tasks.length>0}clearAll(){this.tasks=[]}emitBusyChanged(){const W=this.isBusy();this.broker.publish(BROKER_EVENTS.shell.quickActionBusyChanged,{busy:W})}}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",clinicalPathwaysSidenav:"clinical-pathways-sidenav-region",petitionerSidenav:"petitioner-sidenav-region",importData:"import-data-region",importDataActivityHistory:"import-data-activity-history-region"},clinicalMonitoringRegions={sidebar:"clinical-monitoring-widgets-sidebar-region",header:"clinical-monitoring-header-widgets-region",content:"clinical-monitoring-content-widgets-region"},activityHistoryRegions={customFilters:"clinical-monitoring-activity-history-filters-region"},administrativeManagementRegions={widgets:"administrative-management-widgets-region",tabs:"administrative-management-tabs-region",detail:"administrative-management-detail-region"};class RegionManagerProxy{constructor(W,X,te){this.pluginInfo=W,this.regionManager=X,this.broker=te,this.regions={shell:shellRegions,clinicalMonitoring:clinicalMonitoringRegions,activityHistory:activityHistoryRegions,administrativeManagement:administrativeManagementRegions}}async registerView(W,X){const te=`${this.pluginInfo.pluginId}::${X.id}`;await this.regionManager.registerViewWithRegion(W,te,X),this.activateIfDefault(W,te,X)}async removeView(W,X){await this.regionManager.unregisterViewFromRegion(W,`${this.pluginInfo.pluginId}::${X}`)}activateView(W,X){return this.regionManager.getRegion(W).activate(`${this.pluginInfo.pluginId}::${X}`),W===this.regions.shell.main&&this._notifyMainViewChanged(X),Promise.resolve()}deactivateView(W,X){return this.regionManager.getRegion(W).deactivate(`${this.pluginInfo.pluginId}::${X}`),Promise.resolve()}getRegion(W){return Promise.resolve(this.regionManager.getRegion(W))}containsView(W,X){const te=this.regionManager.getRegion(W);return Promise.resolve(te?.containsView(`${this.pluginInfo.pluginId}::${X}`))}isViewActive(W,X){const re=this.regionManager.getRegion(W).currentActiveViews.some(oe=>oe.id===X);return Promise.resolve(re)}async registerQuickAction(W){await this.regionManager.registerViewWithRegion(this.regions.shell.quickActions,`${this.pluginInfo.pluginId}::${W.id}`,W)}async registerNavigationMenu(W){await this.regionManager.registerViewWithRegion(this.regions.shell.navigationMenu,`${this.pluginInfo.pluginId}::${W.id}`,W)}async registerMainView(W){await this.regionManager.registerViewWithRegion(this.regions.shell.main,`${this.pluginInfo.pluginId}::${W.id}`,W)}activateMainView(W){return this.regionManager.getRegion(this.regions.shell.main).activate(`${this.pluginInfo.pluginId}::${W}`),this._notifyMainViewChanged(W),Promise.resolve()}activatePluginView(W,X,te){return this.regionManager.getRegion(W).activate(`${X}::${te}`),W===this.regions.shell.main&&this._notifyMainViewChanged(te),Promise.resolve()}getCurrentMainViewActive(){return this.regionManager.getRegion(this.regions.shell.main).currentActiveViews[0]?.id}activateIfDefault(W,X,te){if(!te.isDefault)return;const re=this.regionManager.getRegion(W);if(!re||typeof re.activate!="function")return;re.currentActiveViews?.length>0||re.activate(X)}_notifyMainViewChanged(W){this.broker.publish(BROKER_EVENTS.shell.mainViewChanged,{viewId:W})}_destroy(){this.regionManager.destroy()}}const createRegionManagerProxy=(J,W,X)=>new RegionManagerProxy(J,W,X);let token,refreshToken,tokenInitialized=!1;class TokenManagerImpl{constructor(W){this.broker=W,this.getUrlParams=()=>new URLSearchParams(window.location.search),this.initToken=()=>{if(tokenInitialized)throw new Error("Token already initialized");tokenInitialized=!0;const X=this.getUrlParams();return token=X.get("access_token")||"",refreshToken=X.get("refresh_token")||"",token},this.setInitialTokens=(X,te)=>{if(tokenInitialized)throw new Error("Token already initialized");token=X,refreshToken=te,tokenInitialized=!0},this.getToken=()=>(tokenInitialized||this.initToken(),token),this.refreshToken=async()=>{tokenInitialized||this.initToken();try{const X=await axios.post("/api/token/refresh",{token:refreshToken}),{access_token:te,refresh_token:re}=X.data;if(!te)throw new Error("Invalid refresh token response");return token=te,refreshToken=re,token}catch(X){throw this.broker.publish(BROKER_EVENTS.shell.refreshTokenFailed,{}),X}}}}let tokenManager$1;const createTokenManager=J=>tokenManager$1||(tokenManager$1=new TokenManagerImpl(J),tokenManager$1);class UserManagerImpl{constructor(W){this.tokenManager=W,this.getRole=()=>this.getAccessInfo()?.role_type,this.isUserRoleAdministrative=()=>this.getRole()==="ADM",this.getFullName=()=>{const X=this.getAccessInfo();if(!X)return;const te=X.trace_user_given_name,re=X.trace_user_family_name;if(!(!te&&!re))return[re,te].filter(Boolean).join(" ")},this.getSector=()=>this.getAccessInfo()?.module_code,this.getDNI=()=>{const X=this.getAccessInfo()?.identifier;return X?X.find(re=>re.type==="DNI")?.value:void 0}}getAccessInfo(){const W=this.tokenManager.getToken();if(W)try{return jwtDecode(W).access_info}catch(X){console.error("Error decoding JWT token:",X);return}}}let userManager$1;const createUserManager=J=>userManager$1||(userManager$1=new UserManagerImpl(J),userManager$1);class ImportDataManagerImpl{constructor(W){this.interactionService=W,this.selectedItems={},this.currentImporterId="",this.pluginTexts={}}async import(W,X){this.currentImporterId=W,this.currentImportParams=X,this.selectedItems={},this.pluginTexts={};try{const{ImportDataManagerModal:te}=await Promise.resolve().then(()=>component),{confirmed:re}=await this.interactionService.confirm(void 0,{component:te},{fullCustomization:!0}),oe=this.getConcatenatedText(),ne={accepted:re,data:re?this.selectedItems:{},text:re?oe:{raw:"",html:""}};return re&&console.log("[ImportDataManager] Imported data:",ne),this.selectedItems={},this.currentImporterId="",this.currentImportParams=void 0,this.pluginTexts={},ne}catch(te){throw this.selectedItems={},this.currentImporterId="",this.currentImportParams=void 0,this.pluginTexts={},te}}selectItems(W){this.selectedItems[W.pluginId]=W.data,this.pluginTexts[W.pluginId]=W.text}getCurrentImporterId(){return this.currentImporterId}getCurrentImportParams(){return this.currentImportParams}getConcatenatedText(){const W=[],X=[];for(const te of Object.values(this.pluginTexts))te.raw&&W.push(te.raw),te.html&&X.push(te.html);return{raw:W.join(`
|
|
318
318
|
|
|
319
|
-
`),html:X.join("<br><br>")}}}class PrimariaContextManagerImpl{constructor(){this.context={}}initializeContext(W){this.context={...W}}getContext(){return{...this.context}}}let contextManager$1;const createContextManager=()=>contextManager$1||(contextManager$1=new PrimariaContextManagerImpl,contextManager$1),broker$1=createBroker(),regionManager=f$p("primaria"),PrimariaRegionHost=v$k(regionManager),tokenManager=createTokenManager(broker$1),userManager=createUserManager(tokenManager),activityMonitor=createActivityMonitor(),sessionRefreshTimer=createSessionRefreshTimer(tokenManager,activityMonitor),globalStateManager=createGlobalStateManager(broker$1),contextManager=createContextManager(),pluginBusyManager=new PluginBusyManagerImpl,exitGuardManager=new ExitGuardManagerImpl,quickActionBusyManager=new QuickActionBusyManagerImpl(broker$1),interactionService=new ParimariaInteractionServiceImpl,notificationService=new PrimariaNotificationServiceImpl,ecapEventManager=createEcapEventManager(globalStateManager),pdfViewerManager=createPdfViewerManager(broker$1,notificationService),importDataManager=new ImportDataManagerImpl(interactionService),primariaApiFactory=J=>{const W=createRegionManagerProxy(J,regionManager,broker$1);return{pluginInfo:J,regionManager:W,httpClient:createHttpClient(tokenManager,broker$1),broker:broker$1,createLocaleManager:createLocaleManager(J.pluginId),globalStateManager,contextManager,tokenManager,userManager,ecapEventManager,pluginBusyManager,exitGuardManager,quickActionBusyManager,interactionService,notificationService,pdfViewerManager,importDataManager}},shellApi=primariaApiFactory({pluginId:primariaShellId}),api=Object.freeze(Object.defineProperty({__proto__:null,PrimariaRegionHost,activityMonitor,primariaApiFactory,sessionRefreshTimer,shellApi},Symbol.toStringTag,{value:"Module"})),registerRequest$1=(J,W)=>(X,te)=>{W.bind(te).to(te).inTransientScope(),injectable()(te);const re=J.broker.registerRequest(X,oe=>W.get(te).handle(oe));return{dispose:()=>{W.isBound(te)&&W.unbind(te),re.dispose()}}},registerRequest=(J,W)=>(X,te)=>{W.bind(te).to(te).inTransientScope(),injectable()(te);const re=J.broker.registerRequest(X,oe=>W.get(te).handle(oe));return{dispose:()=>{W.isBound(te)&&W.unbind(te),re.dispose()}}},brokerExtensions=(J,W)=>({registerRequest:registerRequest(J,W)}),generateId=()=>{try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{console.warn("crypto.randomUUID() failed, using fallback")}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,J=>{const W=Math.random()*16|0;return(J==="x"?W:W&3|8).toString(16)})},mapArrayToLabelValue=(J,W,X)=>J.map(te=>{const re=te[W],oe=te[X];return(re===""||re==null)&&typeof oe=="string"&&oe.trim()!==""?{label:oe,value:oe}:(re===""||re==null)&&(oe===""||oe==null)?null:{label:re,value:oe}}).filter(te=>te!==null);function createConnectToStoreDecorator(J){return function(X){return(te,re)=>{Object.defineProperty(te,re,{get(){return this[`__${re}`]},set(de){this[`__${re}`]!==de&&(this[`__${re}`]=Array.isArray(de)?[...de]:typeof de=="object"&&de!==null?{...de}:de,this.requestUpdate(re))},configurable:!0,enumerable:!0});const oe=te.connectedCallback,ne=te.disconnectedCallback;te.connectedCallback=function(){oe&&oe.call(this),this[re]=X(J.getState()),this[`__unsubscribe__${re}`]=J.subscribe(()=>{const de=X(J.getState());this[re]=Array.isArray(de)?[...de]:typeof de=="object"&&de!==null?{...de}:de})},te.disconnectedCallback=function(){ne&&ne.call(this),this[`__unsubscribe__${re}`]&&this[`__unsubscribe__${re}`]()}}}}function createConnectedProperty(J){return(W,X={})=>{const te=createConnectToStoreDecorator(J);return(re,oe)=>{n$y(X)(re,oe),te(W)(re,oe)}}}const TYPES={primaryApi:Symbol.for("primaryApi"),store:Symbol.for("store")};function formatProdErrorMessage$1(J){return`Minified Redux error #${J}; visit https://redux.js.org/Errors?code=${J} 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(J){if(typeof J!="object"||J===null)return!1;let W=J;for(;Object.getPrototypeOf(W)!==null;)W=Object.getPrototypeOf(W);return Object.getPrototypeOf(J)===W||Object.getPrototypeOf(J)===null}function createStore(J,W,X){if(typeof J!="function")throw new Error(formatProdErrorMessage$1(2));if(typeof W=="function"&&typeof X=="function"||typeof X=="function"&&typeof arguments[3]=="function")throw new Error(formatProdErrorMessage$1(0));if(typeof W=="function"&&typeof X>"u"&&(X=W,W=void 0),typeof X<"u"){if(typeof X!="function")throw new Error(formatProdErrorMessage$1(1));return X(createStore)(J,W)}let te=J,re=W,oe=new Map,ne=oe,de=0,ce=!1;function ue(){ne===oe&&(ne=new Map,oe.forEach((ve,_e)=>{ne.set(_e,ve)}))}function he(){if(ce)throw new Error(formatProdErrorMessage$1(3));return re}function pe(ve){if(typeof ve!="function")throw new Error(formatProdErrorMessage$1(4));if(ce)throw new Error(formatProdErrorMessage$1(5));let _e=!0;ue();const ye=de++;return ne.set(ye,ve),function(){if(_e){if(ce)throw new Error(formatProdErrorMessage$1(6));_e=!1,ue(),ne.delete(ye),oe=null}}}function fe(ve){if(!isPlainObject$1(ve))throw new Error(formatProdErrorMessage$1(7));if(typeof ve.type>"u")throw new Error(formatProdErrorMessage$1(8));if(typeof ve.type!="string")throw new Error(formatProdErrorMessage$1(17));if(ce)throw new Error(formatProdErrorMessage$1(9));try{ce=!0,re=te(re,ve)}finally{ce=!1}return(oe=ne).forEach(ye=>{ye()}),ve}function be(ve){if(typeof ve!="function")throw new Error(formatProdErrorMessage$1(10));te=ve,fe({type:actionTypes_default.REPLACE})}function me(){const ve=pe;return{subscribe(_e){if(typeof _e!="object"||_e===null)throw new Error(formatProdErrorMessage$1(11));function ye(){const we=_e;we.next&&we.next(he())}return ye(),{unsubscribe:ve(ye)}},[symbol_observable_default](){return this}}}return fe({type:actionTypes_default.INIT}),{dispatch:fe,subscribe:pe,getState:he,replaceReducer:be,[symbol_observable_default]:me}}function assertReducerShape(J){Object.keys(J).forEach(W=>{const X=J[W];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(J){const W=Object.keys(J),X={};for(let oe=0;oe<W.length;oe++){const ne=W[oe];typeof J[ne]=="function"&&(X[ne]=J[ne])}const te=Object.keys(X);let re;try{assertReducerShape(X)}catch(oe){re=oe}return function(ne={},de){if(re)throw re;let ce=!1;const ue={};for(let he=0;he<te.length;he++){const pe=te[he],fe=X[pe],be=ne[pe],me=fe(be,de);if(typeof me>"u")throw de&&de.type,new Error(formatProdErrorMessage$1(14));ue[pe]=me,ce=ce||me!==be}return ce=ce||te.length!==Object.keys(ne).length,ce?ue:ne}}function compose(...J){return J.length===0?W=>W:J.length===1?J[0]:J.reduce((W,X)=>(...te)=>W(X(...te)))}function applyMiddleware(...J){return W=>(X,te)=>{const re=W(X,te);let oe=()=>{throw new Error(formatProdErrorMessage$1(15))};const ne={getState:re.getState,dispatch:(ce,...ue)=>oe(ce,...ue)},de=J.map(ce=>ce(ne));return oe=compose(...de)(re.dispatch),{...re,dispatch:oe}}}function isAction(J){return isPlainObject$1(J)&&"type"in J&&typeof J.type=="string"}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(J,...W){throw new Error(`[Immer] minified error nr: ${J}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(J){return!!J&&!!J[DRAFT_STATE]}function isDraftable(J){return J?isPlainObject(J)||Array.isArray(J)||!!J[DRAFTABLE]||!!J.constructor?.[DRAFTABLE]||isMap(J)||isSet(J):!1}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(J){if(!J||typeof J!="object")return!1;const W=getPrototypeOf(J);if(W===null)return!0;const X=Object.hasOwnProperty.call(W,"constructor")&&W.constructor;return X===Object?!0:typeof X=="function"&&Function.toString.call(X)===objectCtorString}function each(J,W){getArchtype(J)===0?Reflect.ownKeys(J).forEach(X=>{W(X,J[X],J)}):J.forEach((X,te)=>W(te,X,J))}function getArchtype(J){const W=J[DRAFT_STATE];return W?W.type_:Array.isArray(J)?1:isMap(J)?2:isSet(J)?3:0}function has(J,W){return getArchtype(J)===2?J.has(W):Object.prototype.hasOwnProperty.call(J,W)}function set(J,W,X){const te=getArchtype(J);te===2?J.set(W,X):te===3?J.add(X):J[W]=X}function is(J,W){return J===W?J!==0||1/J===1/W:J!==J&&W!==W}function isMap(J){return J instanceof Map}function isSet(J){return J instanceof Set}function latest(J){return J.copy_||J.base_}function shallowCopy(J,W){if(isMap(J))return new Map(J);if(isSet(J))return new Set(J);if(Array.isArray(J))return Array.prototype.slice.call(J);const X=isPlainObject(J);if(W===!0||W==="class_only"&&!X){const te=Object.getOwnPropertyDescriptors(J);delete te[DRAFT_STATE];let re=Reflect.ownKeys(te);for(let oe=0;oe<re.length;oe++){const ne=re[oe],de=te[ne];de.writable===!1&&(de.writable=!0,de.configurable=!0),(de.get||de.set)&&(te[ne]={configurable:!0,writable:!0,enumerable:de.enumerable,value:J[ne]})}return Object.create(getPrototypeOf(J),te)}else{const te=getPrototypeOf(J);if(te!==null&&X)return{...J};const re=Object.create(te);return Object.assign(re,J)}}function freeze(J,W=!1){return isFrozen(J)||isDraft(J)||!isDraftable(J)||(getArchtype(J)>1&&(J.set=J.add=J.clear=J.delete=dontMutateFrozenCollections),Object.freeze(J),W&&Object.entries(J).forEach(([X,te])=>freeze(te,!0))),J}function dontMutateFrozenCollections(){die(2)}function isFrozen(J){return Object.isFrozen(J)}var plugins={};function getPlugin(J){const W=plugins[J];return W||die(0,J),W}var currentScope;function getCurrentScope(){return currentScope}function createScope(J,W){return{drafts_:[],parent_:J,immer_:W,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(J,W){W&&(getPlugin("Patches"),J.patches_=[],J.inversePatches_=[],J.patchListener_=W)}function revokeScope(J){leaveScope(J),J.drafts_.forEach(revokeDraft),J.drafts_=null}function leaveScope(J){J===currentScope&&(currentScope=J.parent_)}function enterScope(J){return currentScope=createScope(currentScope,J)}function revokeDraft(J){const W=J[DRAFT_STATE];W.type_===0||W.type_===1?W.revoke_():W.revoked_=!0}function processResult(J,W){W.unfinalizedDrafts_=W.drafts_.length;const X=W.drafts_[0];return J!==void 0&&J!==X?(X[DRAFT_STATE].modified_&&(revokeScope(W),die(4)),isDraftable(J)&&(J=finalize(W,J),W.parent_||maybeFreeze(W,J)),W.patches_&&getPlugin("Patches").generateReplacementPatches_(X[DRAFT_STATE].base_,J,W.patches_,W.inversePatches_)):J=finalize(W,X,[]),revokeScope(W),W.patches_&&W.patchListener_(W.patches_,W.inversePatches_),J!==NOTHING?J:void 0}function finalize(J,W,X){if(isFrozen(W))return W;const te=W[DRAFT_STATE];if(!te)return each(W,(re,oe)=>finalizeProperty(J,te,W,re,oe,X)),W;if(te.scope_!==J)return W;if(!te.modified_)return maybeFreeze(J,te.base_,!0),te.base_;if(!te.finalized_){te.finalized_=!0,te.scope_.unfinalizedDrafts_--;const re=te.copy_;let oe=re,ne=!1;te.type_===3&&(oe=new Set(re),re.clear(),ne=!0),each(oe,(de,ce)=>finalizeProperty(J,te,re,de,ce,X,ne)),maybeFreeze(J,re,!1),X&&J.patches_&&getPlugin("Patches").generatePatches_(te,X,J.patches_,J.inversePatches_)}return te.copy_}function finalizeProperty(J,W,X,te,re,oe,ne){if(isDraft(re)){const de=oe&&W&&W.type_!==3&&!has(W.assigned_,te)?oe.concat(te):void 0,ce=finalize(J,re,de);if(set(X,te,ce),isDraft(ce))J.canAutoFreeze_=!1;else return}else ne&&X.add(re);if(isDraftable(re)&&!isFrozen(re)){if(!J.immer_.autoFreeze_&&J.unfinalizedDrafts_<1)return;finalize(J,re),(!W||!W.scope_.parent_)&&typeof te!="symbol"&&Object.prototype.propertyIsEnumerable.call(X,te)&&maybeFreeze(J,re)}}function maybeFreeze(J,W,X=!1){!J.parent_&&J.immer_.autoFreeze_&&J.canAutoFreeze_&&freeze(W,X)}function createProxyProxy(J,W){const X=Array.isArray(J),te={type_:X?1:0,scope_:W?W.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:W,base_:J,draft_:null,copy_:null,revoke_:null,isManual_:!1};let re=te,oe=objectTraps;X&&(re=[te],oe=arrayTraps);const{revoke:ne,proxy:de}=Proxy.revocable(re,oe);return te.draft_=de,te.revoke_=ne,de}var objectTraps={get(J,W){if(W===DRAFT_STATE)return J;const X=latest(J);if(!has(X,W))return readPropFromProto(J,X,W);const te=X[W];return J.finalized_||!isDraftable(te)?te:te===peek(J.base_,W)?(prepareCopy(J),J.copy_[W]=createProxy(te,J)):te},has(J,W){return W in latest(J)},ownKeys(J){return Reflect.ownKeys(latest(J))},set(J,W,X){const te=getDescriptorFromProto(latest(J),W);if(te?.set)return te.set.call(J.draft_,X),!0;if(!J.modified_){const re=peek(latest(J),W),oe=re?.[DRAFT_STATE];if(oe&&oe.base_===X)return J.copy_[W]=X,J.assigned_[W]=!1,!0;if(is(X,re)&&(X!==void 0||has(J.base_,W)))return!0;prepareCopy(J),markChanged(J)}return J.copy_[W]===X&&(X!==void 0||W in J.copy_)||Number.isNaN(X)&&Number.isNaN(J.copy_[W])||(J.copy_[W]=X,J.assigned_[W]=!0),!0},deleteProperty(J,W){return peek(J.base_,W)!==void 0||W in J.base_?(J.assigned_[W]=!1,prepareCopy(J),markChanged(J)):delete J.assigned_[W],J.copy_&&delete J.copy_[W],!0},getOwnPropertyDescriptor(J,W){const X=latest(J),te=Reflect.getOwnPropertyDescriptor(X,W);return te&&{writable:!0,configurable:J.type_!==1||W!=="length",enumerable:te.enumerable,value:X[W]}},defineProperty(){die(11)},getPrototypeOf(J){return getPrototypeOf(J.base_)},setPrototypeOf(){die(12)}},arrayTraps={};each(objectTraps,(J,W)=>{arrayTraps[J]=function(){return arguments[0]=arguments[0][0],W.apply(this,arguments)}}),arrayTraps.deleteProperty=function(J,W){return arrayTraps.set.call(this,J,W,void 0)},arrayTraps.set=function(J,W,X){return objectTraps.set.call(this,J[0],W,X,J[0])};function peek(J,W){const X=J[DRAFT_STATE];return(X?latest(X):J)[W]}function readPropFromProto(J,W,X){const te=getDescriptorFromProto(W,X);return te?"value"in te?te.value:te.get?.call(J.draft_):void 0}function getDescriptorFromProto(J,W){if(!(W in J))return;let X=getPrototypeOf(J);for(;X;){const te=Object.getOwnPropertyDescriptor(X,W);if(te)return te;X=getPrototypeOf(X)}}function markChanged(J){J.modified_||(J.modified_=!0,J.parent_&&markChanged(J.parent_))}function prepareCopy(J){J.copy_||(J.copy_=shallowCopy(J.base_,J.scope_.immer_.useStrictShallowCopy_))}var Immer2=class{constructor(J){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(W,X,te)=>{if(typeof W=="function"&&typeof X!="function"){const oe=X;X=W;const ne=this;return function(ce=oe,...ue){return ne.produce(ce,he=>X.call(this,he,...ue))}}typeof X!="function"&&die(6),te!==void 0&&typeof te!="function"&&die(7);let re;if(isDraftable(W)){const oe=enterScope(this),ne=createProxy(W,void 0);let de=!0;try{re=X(ne),de=!1}finally{de?revokeScope(oe):leaveScope(oe)}return usePatchesInScope(oe,te),processResult(re,oe)}else if(!W||typeof W!="object"){if(re=X(W),re===void 0&&(re=W),re===NOTHING&&(re=void 0),this.autoFreeze_&&freeze(re,!0),te){const oe=[],ne=[];getPlugin("Patches").generateReplacementPatches_(W,re,oe,ne),te(oe,ne)}return re}else die(1,W)},this.produceWithPatches=(W,X)=>{if(typeof W=="function")return(ne,...de)=>this.produceWithPatches(ne,ce=>W(ce,...de));let te,re;return[this.produce(W,X,(ne,de)=>{te=ne,re=de}),te,re]},typeof J?.autoFreeze=="boolean"&&this.setAutoFreeze(J.autoFreeze),typeof J?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(J.useStrictShallowCopy)}createDraft(J){isDraftable(J)||die(8),isDraft(J)&&(J=current(J));const W=enterScope(this),X=createProxy(J,void 0);return X[DRAFT_STATE].isManual_=!0,leaveScope(W),X}finishDraft(J,W){const X=J&&J[DRAFT_STATE];(!X||!X.isManual_)&&die(9);const{scope_:te}=X;return usePatchesInScope(te,W),processResult(void 0,te)}setAutoFreeze(J){this.autoFreeze_=J}setUseStrictShallowCopy(J){this.useStrictShallowCopy_=J}applyPatches(J,W){let X;for(X=W.length-1;X>=0;X--){const re=W[X];if(re.path.length===0&&re.op==="replace"){J=re.value;break}}X>-1&&(W=W.slice(X+1));const te=getPlugin("Patches").applyPatches_;return isDraft(J)?te(J,W):this.produce(J,re=>te(re,W))}};function createProxy(J,W){const X=isMap(J)?getPlugin("MapSet").proxyMap_(J,W):isSet(J)?getPlugin("MapSet").proxySet_(J,W):createProxyProxy(J,W);return(W?W.scope_:getCurrentScope()).drafts_.push(X),X}function current(J){return isDraft(J)||die(10,J),currentImpl(J)}function currentImpl(J){if(!isDraftable(J)||isFrozen(J))return J;const W=J[DRAFT_STATE];let X;if(W){if(!W.modified_)return W.base_;W.finalized_=!0,X=shallowCopy(J,W.scope_.immer_.useStrictShallowCopy_)}else X=shallowCopy(J,!0);return each(X,(te,re)=>{set(X,te,currentImpl(re))}),W&&(W.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(J,W=`expected a function, instead received ${typeof J}`){if(typeof J!="function")throw new TypeError(W)}function assertIsObject(J,W=`expected an object, instead received ${typeof J}`){if(typeof J!="object")throw new TypeError(W)}function assertIsArrayOfFunctions(J,W="expected all items to be functions, instead received the following types: "){if(!J.every(X=>typeof X=="function")){const X=J.map(te=>typeof te=="function"?`function ${te.name||"unnamed"}()`:typeof te).join(", ");throw new TypeError(`${W}[${X}]`)}}var ensureIsArray=J=>Array.isArray(J)?J:[J];function getDependencies(J){const W=Array.isArray(J[0])?J[0]:J;return assertIsArrayOfFunctions(W,"createSelector expects all input-selectors to be functions, but received the following types: "),W}function collectInputSelectorResults(J,W){const X=[],{length:te}=J;for(let re=0;re<te;re++)X.push(J[re].apply(null,W));return X}var StrongRef=class{constructor(J){this.value=J}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(J,W={}){let X=createCacheNode();const{resultEqualityCheck:te}=W;let re,oe=0;function ne(){let de=X;const{length:ce}=arguments;for(let pe=0,fe=ce;pe<fe;pe++){const be=arguments[pe];if(typeof be=="function"||typeof be=="object"&&be!==null){let me=de.o;me===null&&(de.o=me=new WeakMap);const ge=me.get(be);ge===void 0?(de=createCacheNode(),me.set(be,de)):de=ge}else{let me=de.p;me===null&&(de.p=me=new Map);const ge=me.get(be);ge===void 0?(de=createCacheNode(),me.set(be,de)):de=ge}}const ue=de;let he;if(de.s===TERMINATED)he=de.v;else if(he=J.apply(null,arguments),oe++,te){const pe=re?.deref?.()??re;pe!=null&&te(pe,he)&&(he=pe,oe!==0&&oe--),re=typeof he=="object"&&he!==null||typeof he=="function"?new Ref(he):he}return ue.s=TERMINATED,ue.v=he,he}return ne.clearCache=()=>{X=createCacheNode(),ne.resetResultsCount()},ne.resultsCount=()=>oe,ne.resetResultsCount=()=>{oe=0},ne}function createSelectorCreator(J,...W){const X=typeof J=="function"?{memoize:J,memoizeOptions:W}:J,te=(...re)=>{let oe=0,ne=0,de,ce={},ue=re.pop();typeof ue=="object"&&(ce=ue,ue=re.pop()),assertIsFunction(ue,`createSelector expects an output function after the inputs, but received: [${typeof ue}]`);const he={...X,...ce},{memoize:pe,memoizeOptions:fe=[],argsMemoize:be=weakMapMemoize,argsMemoizeOptions:me=[]}=he,ge=ensureIsArray(fe),ve=ensureIsArray(me),_e=getDependencies(re),ye=pe(function(){return oe++,ue.apply(null,arguments)},...ge),Se=be(function(){ne++;const Ce=collectInputSelectorResults(_e,arguments);return de=ye.apply(null,Ce),de},...ve);return Object.assign(Se,{resultFunc:ue,memoizedResultFunc:ye,dependencies:_e,dependencyRecomputations:()=>ne,resetDependencyRecomputations:()=>{ne=0},lastResult:()=>de,recomputations:()=>oe,resetRecomputations:()=>{oe=0},memoize:pe,argsMemoize:be})};return Object.assign(te,{withTypes:()=>te}),te}var createSelector=createSelectorCreator(weakMapMemoize),createStructuredSelector=Object.assign((J,W=createSelector)=>{assertIsObject(J,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof J}`);const X=Object.keys(J),te=X.map(oe=>J[oe]);return W(te,(...oe)=>oe.reduce((ne,de,ce)=>(ne[X[ce]]=de,ne),{}))},{withTypes:()=>createStructuredSelector});function createThunkMiddleware(J){return({dispatch:X,getState:te})=>re=>oe=>typeof oe=="function"?oe(X,te,J):re(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(J,W){function X(...te){if(W){let re=W(...te);if(!re)throw new Error(formatProdErrorMessage(0));return{type:J,payload:re.payload,..."meta"in re&&{meta:re.meta},..."error"in re&&{error:re.error}}}return{type:J,payload:te[0]}}return X.toString=()=>`${J}`,X.type=J,X.match=te=>isAction(te)&&te.type===J,X}var Tuple=class Fs extends Array{constructor(...W){super(...W),Object.setPrototypeOf(this,Fs.prototype)}static get[Symbol.species](){return Fs}concat(...W){return super.concat.apply(this,W)}prepend(...W){return W.length===1&&Array.isArray(W[0])?new Fs(...W[0].concat(this)):new Fs(...W.concat(this))}};function freezeDraftable(J){return isDraftable(J)?produce(J,()=>{}):J}function getOrInsertComputed(J,W,X){return J.has(W)?J.get(W):J.set(W,X(W)).get(W)}function isBoolean(J){return typeof J=="boolean"}var buildGetDefaultMiddleware=()=>function(W){const{thunk:X=!0,immutableCheck:te=!0,serializableCheck:re=!0,actionCreatorCheck:oe=!0}=W??{};let ne=new Tuple;return X&&(isBoolean(X)?ne.push(thunk):ne.push(withExtraArgument(X.extraArgument))),ne},SHOULD_AUTOBATCH="RTK_autoBatch",createQueueWithTimer=J=>W=>{setTimeout(W,J)},autoBatchEnhancer=(J={type:"raf"})=>W=>(...X)=>{const te=W(...X);let re=!0,oe=!1,ne=!1;const de=new Set,ce=J.type==="tick"?queueMicrotask:J.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:createQueueWithTimer(10):J.type==="callback"?J.queueNotification:createQueueWithTimer(J.timeout),ue=()=>{ne=!1,oe&&(oe=!1,de.forEach(he=>he()))};return Object.assign({},te,{subscribe(he){const pe=()=>re&&he(),fe=te.subscribe(pe);return de.add(he),()=>{fe(),de.delete(he)}},dispatch(he){try{return re=!he?.meta?.[SHOULD_AUTOBATCH],oe=!re,oe&&(ne||(ne=!0,ce(ue))),te.dispatch(he)}finally{re=!0}}})},buildGetDefaultEnhancers=J=>function(X){const{autoBatch:te=!0}=X??{};let re=new Tuple(J);return te&&re.push(autoBatchEnhancer(typeof te=="object"?te:void 0)),re};function configureStore(J){const W=buildGetDefaultMiddleware(),{reducer:X=void 0,middleware:te,devTools:re=!0,preloadedState:oe=void 0,enhancers:ne=void 0}=J||{};let de;if(typeof X=="function")de=X;else if(isPlainObject$1(X))de=combineReducers(X);else throw new Error(formatProdErrorMessage(1));let ce;typeof te=="function"?ce=te(W):ce=W();let ue=compose;re&&(ue=composeWithDevTools({trace:!1,...typeof re=="object"&&re}));const he=applyMiddleware(...ce),pe=buildGetDefaultEnhancers(he);let fe=typeof ne=="function"?ne(pe):pe();const be=ue(...fe);return createStore(de,oe,be)}function executeReducerBuilderCallback(J){const W={},X=[];let te;const re={addCase(oe,ne){const de=typeof oe=="string"?oe:oe.type;if(!de)throw new Error(formatProdErrorMessage(28));if(de in W)throw new Error(formatProdErrorMessage(29));return W[de]=ne,re},addMatcher(oe,ne){return X.push({matcher:oe,reducer:ne}),re},addDefaultCase(oe){return te=oe,re}};return J(re),[W,X,te]}function isStateFunction(J){return typeof J=="function"}function createReducer(J,W){let[X,te,re]=executeReducerBuilderCallback(W),oe;if(isStateFunction(J))oe=()=>freezeDraftable(J());else{const de=freezeDraftable(J);oe=()=>de}function ne(de=oe(),ce){let ue=[X[ce.type],...te.filter(({matcher:he})=>he(ce)).map(({reducer:he})=>he)];return ue.filter(he=>!!he).length===0&&(ue=[re]),ue.reduce((he,pe)=>{if(pe)if(isDraft(he)){const be=pe(he,ce);return be===void 0?he:be}else{if(isDraftable(he))return produce(he,fe=>pe(fe,ce));{const fe=pe(he,ce);if(fe===void 0){if(he===null)return he;throw Error("A case reducer on a non-draftable value must not return undefined")}return fe}}return he},de)}return ne.getInitialState=oe,ne}var asyncThunkSymbol=Symbol.for("rtk-slice-createasyncthunk");function getType(J,W){return`${J}/${W}`}function buildCreateSlice({creators:J}={}){const W=J?.asyncThunk?.[asyncThunkSymbol];return function(te){const{name:re,reducerPath:oe=re}=te;if(!re)throw new Error(formatProdErrorMessage(11));const ne=(typeof te.reducers=="function"?te.reducers(buildReducerCreators()):te.reducers)||{},de=Object.keys(ne),ce={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},ue={addCase(ye,Se){const we=typeof ye=="string"?ye:ye.type;if(!we)throw new Error(formatProdErrorMessage(12));if(we in ce.sliceCaseReducersByType)throw new Error(formatProdErrorMessage(13));return ce.sliceCaseReducersByType[we]=Se,ue},addMatcher(ye,Se){return ce.sliceMatchers.push({matcher:ye,reducer:Se}),ue},exposeAction(ye,Se){return ce.actionCreators[ye]=Se,ue},exposeCaseReducer(ye,Se){return ce.sliceCaseReducersByName[ye]=Se,ue}};de.forEach(ye=>{const Se=ne[ye],we={reducerName:ye,type:getType(re,ye),createNotation:typeof te.reducers=="function"};isAsyncThunkSliceReducerDefinition(Se)?handleThunkCaseReducerDefinition(we,Se,ue,W):handleNormalReducerDefinition(we,Se,ue)});function he(){const[ye={},Se=[],we=void 0]=typeof te.extraReducers=="function"?executeReducerBuilderCallback(te.extraReducers):[te.extraReducers],Ce={...ye,...ce.sliceCaseReducersByType};return createReducer(te.initialState,Me=>{for(let De in Ce)Me.addCase(De,Ce[De]);for(let De of ce.sliceMatchers)Me.addMatcher(De.matcher,De.reducer);for(let De of Se)Me.addMatcher(De.matcher,De.reducer);we&&Me.addDefaultCase(we)})}const pe=ye=>ye,fe=new Map;let be;function me(ye,Se){return be||(be=he()),be(ye,Se)}function ge(){return be||(be=he()),be.getInitialState()}function ve(ye,Se=!1){function we(Me){let De=Me[ye];return typeof De>"u"&&Se&&(De=ge()),De}function Ce(Me=pe){const De=getOrInsertComputed(fe,Se,()=>new WeakMap);return getOrInsertComputed(De,Me,()=>{const Le={};for(const[He,qe]of Object.entries(te.selectors??{}))Le[He]=wrapSelector(qe,Me,ge,Se);return Le})}return{reducerPath:ye,getSelectors:Ce,get selectors(){return Ce(we)},selectSlice:we}}const _e={name:re,reducer:me,actions:ce.actionCreators,caseReducers:ce.sliceCaseReducersByName,getInitialState:ge,...ve(oe),injectInto(ye,{reducerPath:Se,...we}={}){const Ce=Se??oe;return ye.inject({reducerPath:Ce,reducer:me},we),{..._e,...ve(Ce,!0)}}};return _e}}function wrapSelector(J,W,X,te){function re(oe,...ne){let de=W(oe);return typeof de>"u"&&te&&(de=X()),J(de,...ne)}return re.unwrapped=J,re}var createSlice=buildCreateSlice();function buildReducerCreators(){function J(W,X){return{_reducerDefinitionType:"asyncThunk",payloadCreator:W,...X}}return J.withTypes=()=>J,{reducer(W){return Object.assign({[W.name](...X){return W(...X)}}[W.name],{_reducerDefinitionType:"reducer"})},preparedReducer(W,X){return{_reducerDefinitionType:"reducerWithPrepare",prepare:W,reducer:X}},asyncThunk:J}}function handleNormalReducerDefinition({type:J,reducerName:W,createNotation:X},te,re){let oe,ne;if("reducer"in te){if(X&&!isCaseReducerWithPrepareDefinition(te))throw new Error(formatProdErrorMessage(17));oe=te.reducer,ne=te.prepare}else oe=te;re.addCase(J,oe).exposeCaseReducer(W,oe).exposeAction(W,ne?createAction(J,ne):createAction(J))}function isAsyncThunkSliceReducerDefinition(J){return J._reducerDefinitionType==="asyncThunk"}function isCaseReducerWithPrepareDefinition(J){return J._reducerDefinitionType==="reducerWithPrepare"}function handleThunkCaseReducerDefinition({type:J,reducerName:W},X,te,re){if(!re)throw new Error(formatProdErrorMessage(18));const{payloadCreator:oe,fulfilled:ne,pending:de,rejected:ce,settled:ue,options:he}=X,pe=re(J,oe,he);te.exposeAction(W,pe),ne&&te.addCase(pe.fulfilled,ne),de&&te.addCase(pe.pending,de),ce&&te.addCase(pe.rejected,ce),ue&&te.addMatcher(pe.settled,ue),te.exposeCaseReducer(W,{fulfilled:ne||noop,pending:de||noop,rejected:ce||noop,settled:ue||noop})}function noop(){}function formatProdErrorMessage(J){return`Minified Redux Toolkit error #${J}; visit https://redux-toolkit.js.org/Errors?code=${J} for the full message or use the non-minified dev environment for full errors. `}const addItemsToCollection=(J,W,X,te,re,oe)=>J[W]?{...J,[W]:{...J[W],items:[...J[W]?.items||[],...X],historyDataImporterRules:oe??J[W]?.historyDataImporterRules}}:{...J,[W]:{id:W,items:X,componentFactory:te,searchPredicate:re,historyDataImporterRules:oe}},addItemToCollection=(J,W,X,te)=>addItemsToCollection(J,W,[X],te);function addActivityHistoryItemReducer(J,W){const{id:X,item:te,componentFactory:re}=W.payload;J.collections=addItemToCollection(J.collections,X,te,re)}function addActivityHistoryItemsReducer(J,W){const{id:X,items:te,componentFactory:re,searchPredicate:oe,historyDataImporterRules:ne}=W.payload;return{...J,collections:addItemsToCollection(J.collections,X,te,re,oe,ne)}}function addBusyHistoryItemReducer(J,W){J.busy.push(W.payload)}function removeBusyHistoryItemReducer(J,W){J.busy=J.busy.filter(X=>X!==W.payload)}function addErrorHistoryItemReducer(J,W){J.error.push(W.payload)}function removeErrorHistoryItemReducer(J,W){J.error=J.error.filter(X=>X.entityId!==W.payload)}function clearActivityHistoryCollectionsReducer(J){return{...J,collections:{},error:[]}}const removeItemFromCollection=(J,W,X)=>{if(!J[W]?.items)return J;const te=J[W]?.items??[];return{...J,[W]:{...J[W],items:te.filter(re=>re.id!==X)}}};function removeActivityHistoryItemReducer(J,W){const{id:X,itemId:te}=W.payload;J.collections=removeItemFromCollection(J.collections,X,te)}const updateItemInCollection=(J,W,X)=>{if(!J[W]?.items)return J;const te=J[W]?.items??[];return{...J,[W]:{...J[W],items:te.map(re=>re.id===X.id?X:re)}}};function updateActivityHistoryItemReducer(J,W){const{id:X,item:te}=W.payload;J.collections=updateItemInCollection(J.collections,X,te)}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(J,W){J.searchString=W.payload}class Spec{and(W){return new AndSpec(this,W)}or(W){return new OrSpec(this,W)}not(){return new NotSpec(this)}}class AndSpec extends Spec{constructor(W,X){super(),this.left=W,this.right=X}isSatisfiedBy(W){return this.left.isSatisfiedBy(W)&&this.right.isSatisfiedBy(W)}}class OrSpec extends Spec{constructor(W,X){super(),this.left=W,this.right=X}isSatisfiedBy(W){return this.left.isSatisfiedBy(W)||this.right.isSatisfiedBy(W)}}class NotSpec extends Spec{constructor(W){super(),this.spec=W}isSatisfiedBy(W){return!this.spec.isSatisfiedBy(W)}}let shellApiRef=null;const setShellApiForOwnSpec=J=>{shellApiRef=J};class OwnSpec extends Spec{constructor(W){super(),this.context=W}isSatisfiedBy(W){if(!shellApiRef)return!1;try{const X=shellApiRef.globalStateManager.getData("userInfo");return W?.professional?.id===X?.userId}catch{return!1}}}class RelevantSpec extends Spec{constructor(W){super(),this.context=W}isSatisfiedBy(W){return W?.relevant??!1}}var ActivityHistoryFilterType=(J=>(J.Switch="switch",J.Checkbox="checkbox",J.Dropdown="dropdown",J))(ActivityHistoryFilterType||{});const isCommonFilterGroup=J=>J.id==="common",isDiagnosticFilter=J=>J.id===diagnosticsfilterId,isCustomFilter=J=>!isCommonFilterGroup(J)&&!isDiagnosticFilter(J)&&!isUpFilter(J),isUpFilter=J=>J.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(J,W){J.filters=J.filters.map(X=>X.id==="common"?{...X,filters:X.filters.map(te=>te.id===W.payload.id?{...te,enabled:W.payload.enabled}:te)}:X)}function addCustomFiltersReducer(J,W){J.filters.some(te=>te.id===W.payload.id)||(J.filters=[...J.filters,W.payload])}function clearCustomFiltersReducer(J){J.filters=J.filters.filter(W=>!isCustomFilter(W))}function setCustomFilterAllValuesReducer(J,W){J.filters=J.filters.map(X=>X.id===W.payload.filterGroupId?{...X,filters:X.filters.map(te=>te.id===W.payload.filterId?{...te,enabledValues:W.payload.values}:te)}:X)}function setCustomFilterGroupValueReducer(J,W){J.filters=J.filters.map(X=>X.id===W.payload.id?{...X,enabled:W.payload.enabled}:X)}function setCustomFilterValueReducer(J,W){J.filters=J.filters.map(X=>X.id===W.payload.filterGroupId?{...X,filters:X.filters.map(te=>te.id===W.payload.filterId?te.singleOption?setSingleOptionFilterValue(te,W.payload.enabled):setMultipleOptionsFilterValue(te,W.payload):te)}:X)}const setMultipleOptionsFilterValue=(J,W)=>{const{optionId:X,enabled:te}=W;return J.enabledValues?.some(re=>re===X)&&te?J:X==null?{...J,enabledValues:[]}:{...J,enabledValues:te?[...J.enabledValues||[],X]:J.enabledValues.filter(re=>re!==X)}},setSingleOptionFilterValue=(J,W)=>({...J,enabled:W,enabledValues:W?[!0]:[]});function deleteDiagnosticFilterValueReducer(J,W){J.filters.some(isDiagnosticFilter)&&(J.filters=[...J.filters].map(te=>{if(isDiagnosticFilter(te)){const re=te.enabledValues.filter(oe=>{if(oe.codi===W.payload.diagnosticCodi)return!1;const ne=te.enabledValues.some(ce=>ce.codi===W.payload.diagnosticCodi&&ce.evolucions?.some(ue=>ue.codi===oe.codi)),de=te.enabledValues.some(ce=>ce.codi===W.payload.diagnosticCodi&&ce.relacions?.some(ue=>ue.codi===oe.codi));return!ne&&!de});return{...te,enabledValues:re}}return te}))}function setDiagnosticFilterValuesReducer(J,W){if(J.filters.some(isDiagnosticFilter))J.filters=[...J.filters].map(te=>isDiagnosticFilter(te)?{...te,enabledValues:W.payload}:te);else{const te={id:diagnosticsfilterId,title:"Diagnòstics",values:[],enabledValues:W.payload};J.filters=[...J.filters,te]}}function resetFiltersReducer(J,W){J.filters=J.filters.map(X=>X.id!=="common"&&X.id!=="history-diagnostics"&&X.id!=="history-up"?{...X,filters:X.filters.map(te=>te.singleOption?{...te,enabled:!1}:{...te,enabled:!0,enabledValues:[]})}:X.id==="history-diagnostics"||X.id==="history-up"?{...X,enabledValues:[]}:X.id==="common"?commonFilters[0]:X)}function addUpFiltersReducer(J,W){const X=J.filters.findIndex(isUpFilter);if(X===-1)J.filters.push(W.payload);else{const te=J.filters[X],re=[...te.values,...W.payload.values.filter(oe=>!te.values.some(ne=>ne.value===oe.value))];J.filters[X]={...te,values:re}}}function setUpFilterValuesReducer(J,W){J.filters=[...J.filters].map(X=>isUpFilter(X)?{...X,enabledValues:W.payload}: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,setDiagnosticFilterValues:setDiagnosticFilterValuesReducer,deleteDiagnosticFilterValue:deleteDiagnosticFilterValueReducer,addUpFilters:addUpFiltersReducer,setUpFilterValues:setUpFilterValuesReducer,resetFilters:resetFiltersReducer}}),store=configureStore({reducer:{activityHistoryCollections:activityHistoryCollectionsSlice.reducer,activityHistoryFilters:activityHistoryFiltersSlice.reducer},devTools:{name:"activity-history"},middleware:J=>J({serializableCheck:!1})});store.dispatch,store.getState;const container=new Container,{lazyInject}=getDecorators(container),bindDeps=J=>{container.bind(TYPES.primaryApi).toConstantValue(J),container.bind(TYPES.store).toConstantValue(store)},unbindDeps=()=>{container.unbind(TYPES.primaryApi),container.unbind(TYPES.store)};var __getOwnPropDesc$j=Object.getOwnPropertyDescriptor,__decorateClass$x=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$j(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=ne(re)||re);return re},__decorateParam$3=(J,W)=>(X,te)=>W(X,te,J);let StoreBaseHandler=class{constructor(J){this.store=J}};StoreBaseHandler=__decorateClass$x([injectable(),__decorateParam$3(0,inject(TYPES.store))],StoreBaseHandler);let ApiBaseHandler=class{constructor(J){this.api=J}};ApiBaseHandler=__decorateClass$x([injectable(),__decorateParam$3(0,inject(TYPES.primaryApi))],ApiBaseHandler);let BaseHandler=class{constructor(J,W){this.store=J,this.api=W}};BaseHandler=__decorateClass$x([injectable(),__decorateParam$3(0,inject(TYPES.store)),__decorateParam$3(1,inject(TYPES.primaryApi))],BaseHandler);const{addBusyHistoryItem,removeBusyHistoryItem}=activityHistoryCollectionsSlice.actions,{addErrorHistoryItem,removeErrorHistoryItem}=activityHistoryCollectionsSlice.actions,validateAddAsyncCommand=(J,W)=>{if(!J.filters)throw new Error("filters is required");if(J.entityId!==J.filters.id)throw new Error("entityId and filters.id must be the same");if(!J.filters.title)throw new Error("filters.title is required");if(!J.asyncDataProvider)throw new Error("asyncDataProvider is required");if(!J.componentFactory)throw new Error("componentFactory is required");if(!J.errorMessage)throw new Error("errorMessage is required for failure asyncDataProviders");if(W==null)throw new Error("items is required");if(!Array.isArray(W))throw new Error("items must be an array")};class InjectAsyncHistoryItemsHandler extends BaseHandler{async handle(W){this.store.dispatch(addBusyHistoryItem(W.entityId));try{const X=await W.asyncDataProvider();validateAddAsyncCommand(W,X),this.api.broker.send(this.api.broker.events.activityHistory.addHistoryItemsRequest,{entityId:W.entityId,entityDescription:W.entityDescription,items:X,componentFactory:W.componentFactory,searchPredicate:W.searchPredicate,filters:W.filters,historyDataImporterRules:W.historyDataImporterRules})}catch(X){console.error(X.message),this.store.dispatch(addErrorHistoryItem({entityId:W.entityId,message:W.errorMessage||X.message,entityDescription:W.entityDescription}))}finally{this.store.dispatch(removeBusyHistoryItem(W.entityId))}}}let request$i;const bootstrapInjectAsyncHistoryItems=(J,W)=>{request$i=J.registerRequest(W.broker.events.activityHistory.injectAsyncHistoryItemsRequest,InjectAsyncHistoryItemsHandler)},teardownInjectAsyncHistoryItems=()=>{request$i?.dispose()};let pluginLocaleManager;const initializeLocalization=async J=>{pluginLocaleManager=await J.createLocaleManager(locales)},translate=J=>pluginLocaleManager?pluginLocaleManager.translate(J):J,locales={ca:{"activity-history":{activityHistory:"Històric d’activitat",importer:{title:"Històric d’activitat",searchPlaceholder:"Escriu per cercar",selectAll:"Seleccionar tot",filters:"Filtres:",today:"Avui",diagnostics:"Diagnòstics associats",noResults:"Sense resultats"},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:"Actualitzar",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=(J,W,X)=>{const te=J?.[W];return te?.items?te.items.some(re=>re.id===X):!1},isString=J=>typeof J=="string"&&J.trim()!=="",isValidDateString=J=>{if(typeof J!="string"||J.trim()==="")return!1;const W=new Date(J);return W instanceof Date&&!Number.isNaN(W.getTime())},isValidBasicActivityHistoryItem=J=>J&&isString(J.id)&&isValidDateString(J.date),ensureAreValidBasicActivityHistoryItems=J=>{if(!J.every(isValidBasicActivityHistoryItem))throw console.error("Invalid activity history items",J),new Error("Invalid activity history items");return J},notifyInvalidItem=J=>{console.error("Invalid history item",J)},validateAndFilterBasicItems=J=>{const W=[];for(const X of J)isValidBasicActivityHistoryItem(X)?W.push(X):notifyInvalidItem(X);return W},getUpFilter=J=>{const W=J.flatMap(X=>X.up??[]).filter(X=>X?.id?.trim()).filter((X,te,re)=>te===re.findIndex(oe=>oe.id===X.id));if(W.length>0)return{id:upFilterId,title:"UP",values:mapArrayToLabelValue(W,"description","id"),enabledValues:[]}},handleAddUpFilter=(J,W)=>{const X=getUpFilter(J);X&&W.dispatch(activityHistoryFiltersSlice.actions.addUpFilters(X))},{addActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class AddHistoryItemHandler extends BaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]);const X=this.store.getState(),te=existItemInCollection(X.activityHistoryCollections?.collections,W.entityId,W.item.id),re=X.activityHistoryFilters?.filters?.find(oe=>oe.id===W.entityId);if(te)throw new Error(translate("error.itemAlreadyExists"));if(!re)throw new Error(translate("error.filterNotInitialized"));handleAddUpFilter([W.item],this.store),this.store.dispatch(addActivityHistoryItem({id:W.entityId,item:W.item,componentFactory:W.componentFactory}))}catch(X){this.api.notificationService.error(X.message)}}}let request$h;const bootstrapAddHistoryItem=(J,W)=>{request$h=J.registerRequest(W.broker.events.activityHistory.addHistoryItemRequest,AddHistoryItemHandler)},teardownAddHistoryItem=()=>{request$h?.dispose()};class AddCustomFiltersCommand{constructor(W){this.payload=W}}const{addActivityHistoryItems}=activityHistoryCollectionsSlice.actions;class AddHistoryItemsHandler extends BaseHandler{async handle(W){try{const X=validateAndFilterBasicItems(W.items),te=this.filterDuplicateItems(X,W.entityId);if(!this.store.getState().activityHistoryFilters?.filters?.find(ne=>ne.id===W.entityId)&&!W.filters)throw new Error(translate("error.filterNotInitialized"));te.length>0&&handleAddUpFilter(te,this.store),this.store.dispatch(addActivityHistoryItems({id:W.entityId,items:te,componentFactory:W.componentFactory,searchPredicate:W.searchPredicate,historyDataImporterRules:W.historyDataImporterRules})),W.filters&&this.api.broker.send(new AddCustomFiltersCommand(W.filters))}catch(X){this.api.notificationService.error(X.message)}}filterDuplicateItems(W,X){if(W.length===0)return[];const te=this.store.getState(),re=W.filter(oe=>!existItemInCollection(te.activityHistoryCollections?.collections,X,oe.id));if(re.length===0&&W.length>0)throw new Error(translate("error.allItemsAlreadyExist"));return re.length<W.length&&this.api.notificationService.warning(translate("warning.someItemsAlreadyExist")),re}}let request$g;const bootstrapAddHistoryItems=(J,W)=>{request$g=J.registerRequest(W.broker.events.activityHistory.addHistoryItemsRequest,AddHistoryItemsHandler)},teardownAddHistoryItems=()=>{request$g?.dispose()};function connectedProperty(J,W={}){return createConnectedProperty(store)(J,W)}const isAnyCollectionBusySelector=J=>J.activityHistoryCollections.busy.length>0,isSomeCollectionLoadedAndOtherLoading=J=>Object.values(J.activityHistoryCollections.collections)&&isAnyCollectionBusySelector(J),isEmptyDataAndOtherLoading=J=>!Object.values(J.activityHistoryCollections.collections)?.length&&isAnyCollectionBusySelector(J),styles$p=".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$q=J=>J.isEmptyDataAndOtherLoading?ke$1`<div class="skeleton-container">${J.skeletons}</div>`:J.isSomeCollectionLoadedAndOtherLoading?ke$1`<div class="spinner-container"><dss-spinner size="sm"></dss-spinner><div class="busy-description">${translate("busyEntriesLoading")}</div></div>`:D$4;var __defProp$r=Object.defineProperty,__getOwnPropDesc$i=Object.getOwnPropertyDescriptor,__decorateClass$w=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$i(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$r(W,X,re),re};let ActivityHistoryBusy=class extends h$p{render(){return ke$1`${template$q(this)}`}get skeletons(){return Array.from({length:12},()=>ke$1`<dss-skeleton width="100" height="10"></dss-skeleton>`)}};ActivityHistoryBusy.styles=i$S`
|
|
319
|
+
`),html:X.join("<br><br>")}}}class PrimariaContextManagerImpl{constructor(){this.context={}}initializeContext(W){this.context={...W}}getContext(){return{...this.context}}}let contextManager$1;const createContextManager=()=>contextManager$1||(contextManager$1=new PrimariaContextManagerImpl,contextManager$1),broker$1=createBroker(),regionManager=f$p("primaria"),PrimariaRegionHost=v$k(regionManager),tokenManager=createTokenManager(broker$1),userManager=createUserManager(tokenManager),activityMonitor=createActivityMonitor(),sessionRefreshTimer=createSessionRefreshTimer(tokenManager,activityMonitor),globalStateManager=createGlobalStateManager(broker$1),contextManager=createContextManager(),pluginBusyManager=new PluginBusyManagerImpl,exitGuardManager=new ExitGuardManagerImpl,quickActionBusyManager=new QuickActionBusyManagerImpl(broker$1),interactionService=new ParimariaInteractionServiceImpl,notificationService=new PrimariaNotificationServiceImpl,ecapEventManager=createEcapEventManager(globalStateManager),pdfViewerManager=createPdfViewerManager(broker$1,notificationService),importDataManager=new ImportDataManagerImpl(interactionService),primariaApiFactory=J=>{const W=createRegionManagerProxy(J,regionManager,broker$1);return{pluginInfo:J,regionManager:W,httpClient:createHttpClient(tokenManager,broker$1),broker:broker$1,createLocaleManager:createLocaleManager(J.pluginId),globalStateManager,contextManager,tokenManager,userManager,ecapEventManager,pluginBusyManager,exitGuardManager,quickActionBusyManager,interactionService,notificationService,pdfViewerManager,importDataManager}},shellApi=primariaApiFactory({pluginId:primariaShellId}),api=Object.freeze(Object.defineProperty({__proto__:null,PrimariaRegionHost,activityMonitor,primariaApiFactory,sessionRefreshTimer,shellApi},Symbol.toStringTag,{value:"Module"})),registerRequest$1=(J,W)=>(X,te)=>{W.bind(te).to(te).inTransientScope(),injectable()(te);const re=J.broker.registerRequest(X,oe=>W.get(te).handle(oe));return{dispose:()=>{W.isBound(te)&&W.unbind(te),re.dispose()}}},registerRequest=(J,W)=>(X,te)=>{W.bind(te).to(te).inTransientScope(),injectable()(te);const re=J.broker.registerRequest(X,oe=>W.get(te).handle(oe));return{dispose:()=>{W.isBound(te)&&W.unbind(te),re.dispose()}}},brokerExtensions=(J,W)=>({registerRequest:registerRequest(J,W)}),generateId=()=>{try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{console.warn("crypto.randomUUID() failed, using fallback")}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,J=>{const W=Math.random()*16|0;return(J==="x"?W:W&3|8).toString(16)})},mapArrayToLabelValue=(J,W,X)=>J.map(te=>{const re=te[W],oe=te[X];return(re===""||re==null)&&typeof oe=="string"&&oe.trim()!==""?{label:oe,value:oe}:(re===""||re==null)&&(oe===""||oe==null)?null:{label:re,value:oe}}).filter(te=>te!==null);function createConnectToStoreDecorator(J){return function(X){return(te,re)=>{Object.defineProperty(te,re,{get(){return this[`__${re}`]},set(de){this[`__${re}`]!==de&&(this[`__${re}`]=Array.isArray(de)?[...de]:typeof de=="object"&&de!==null?{...de}:de,this.requestUpdate(re))},configurable:!0,enumerable:!0});const oe=te.connectedCallback,ne=te.disconnectedCallback;te.connectedCallback=function(){oe&&oe.call(this),this[re]=X(J.getState()),this[`__unsubscribe__${re}`]=J.subscribe(()=>{const de=X(J.getState());this[re]=Array.isArray(de)?[...de]:typeof de=="object"&&de!==null?{...de}:de})},te.disconnectedCallback=function(){ne&&ne.call(this),this[`__unsubscribe__${re}`]&&this[`__unsubscribe__${re}`]()}}}}function createConnectedProperty(J){return(W,X={})=>{const te=createConnectToStoreDecorator(J);return(re,oe)=>{n$y(X)(re,oe),te(W)(re,oe)}}}const TYPES={primaryApi:Symbol.for("primaryApi"),store:Symbol.for("store")};function formatProdErrorMessage$1(J){return`Minified Redux error #${J}; visit https://redux.js.org/Errors?code=${J} 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(J){if(typeof J!="object"||J===null)return!1;let W=J;for(;Object.getPrototypeOf(W)!==null;)W=Object.getPrototypeOf(W);return Object.getPrototypeOf(J)===W||Object.getPrototypeOf(J)===null}function createStore(J,W,X){if(typeof J!="function")throw new Error(formatProdErrorMessage$1(2));if(typeof W=="function"&&typeof X=="function"||typeof X=="function"&&typeof arguments[3]=="function")throw new Error(formatProdErrorMessage$1(0));if(typeof W=="function"&&typeof X>"u"&&(X=W,W=void 0),typeof X<"u"){if(typeof X!="function")throw new Error(formatProdErrorMessage$1(1));return X(createStore)(J,W)}let te=J,re=W,oe=new Map,ne=oe,de=0,ce=!1;function ue(){ne===oe&&(ne=new Map,oe.forEach((ve,_e)=>{ne.set(_e,ve)}))}function he(){if(ce)throw new Error(formatProdErrorMessage$1(3));return re}function pe(ve){if(typeof ve!="function")throw new Error(formatProdErrorMessage$1(4));if(ce)throw new Error(formatProdErrorMessage$1(5));let _e=!0;ue();const ye=de++;return ne.set(ye,ve),function(){if(_e){if(ce)throw new Error(formatProdErrorMessage$1(6));_e=!1,ue(),ne.delete(ye),oe=null}}}function fe(ve){if(!isPlainObject$1(ve))throw new Error(formatProdErrorMessage$1(7));if(typeof ve.type>"u")throw new Error(formatProdErrorMessage$1(8));if(typeof ve.type!="string")throw new Error(formatProdErrorMessage$1(17));if(ce)throw new Error(formatProdErrorMessage$1(9));try{ce=!0,re=te(re,ve)}finally{ce=!1}return(oe=ne).forEach(ye=>{ye()}),ve}function be(ve){if(typeof ve!="function")throw new Error(formatProdErrorMessage$1(10));te=ve,fe({type:actionTypes_default.REPLACE})}function me(){const ve=pe;return{subscribe(_e){if(typeof _e!="object"||_e===null)throw new Error(formatProdErrorMessage$1(11));function ye(){const we=_e;we.next&&we.next(he())}return ye(),{unsubscribe:ve(ye)}},[symbol_observable_default](){return this}}}return fe({type:actionTypes_default.INIT}),{dispatch:fe,subscribe:pe,getState:he,replaceReducer:be,[symbol_observable_default]:me}}function assertReducerShape(J){Object.keys(J).forEach(W=>{const X=J[W];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(J){const W=Object.keys(J),X={};for(let oe=0;oe<W.length;oe++){const ne=W[oe];typeof J[ne]=="function"&&(X[ne]=J[ne])}const te=Object.keys(X);let re;try{assertReducerShape(X)}catch(oe){re=oe}return function(ne={},de){if(re)throw re;let ce=!1;const ue={};for(let he=0;he<te.length;he++){const pe=te[he],fe=X[pe],be=ne[pe],me=fe(be,de);if(typeof me>"u")throw de&&de.type,new Error(formatProdErrorMessage$1(14));ue[pe]=me,ce=ce||me!==be}return ce=ce||te.length!==Object.keys(ne).length,ce?ue:ne}}function compose(...J){return J.length===0?W=>W:J.length===1?J[0]:J.reduce((W,X)=>(...te)=>W(X(...te)))}function applyMiddleware(...J){return W=>(X,te)=>{const re=W(X,te);let oe=()=>{throw new Error(formatProdErrorMessage$1(15))};const ne={getState:re.getState,dispatch:(ce,...ue)=>oe(ce,...ue)},de=J.map(ce=>ce(ne));return oe=compose(...de)(re.dispatch),{...re,dispatch:oe}}}function isAction(J){return isPlainObject$1(J)&&"type"in J&&typeof J.type=="string"}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(J,...W){throw new Error(`[Immer] minified error nr: ${J}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(J){return!!J&&!!J[DRAFT_STATE]}function isDraftable(J){return J?isPlainObject(J)||Array.isArray(J)||!!J[DRAFTABLE]||!!J.constructor?.[DRAFTABLE]||isMap(J)||isSet(J):!1}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(J){if(!J||typeof J!="object")return!1;const W=getPrototypeOf(J);if(W===null)return!0;const X=Object.hasOwnProperty.call(W,"constructor")&&W.constructor;return X===Object?!0:typeof X=="function"&&Function.toString.call(X)===objectCtorString}function each(J,W){getArchtype(J)===0?Reflect.ownKeys(J).forEach(X=>{W(X,J[X],J)}):J.forEach((X,te)=>W(te,X,J))}function getArchtype(J){const W=J[DRAFT_STATE];return W?W.type_:Array.isArray(J)?1:isMap(J)?2:isSet(J)?3:0}function has(J,W){return getArchtype(J)===2?J.has(W):Object.prototype.hasOwnProperty.call(J,W)}function set(J,W,X){const te=getArchtype(J);te===2?J.set(W,X):te===3?J.add(X):J[W]=X}function is(J,W){return J===W?J!==0||1/J===1/W:J!==J&&W!==W}function isMap(J){return J instanceof Map}function isSet(J){return J instanceof Set}function latest(J){return J.copy_||J.base_}function shallowCopy(J,W){if(isMap(J))return new Map(J);if(isSet(J))return new Set(J);if(Array.isArray(J))return Array.prototype.slice.call(J);const X=isPlainObject(J);if(W===!0||W==="class_only"&&!X){const te=Object.getOwnPropertyDescriptors(J);delete te[DRAFT_STATE];let re=Reflect.ownKeys(te);for(let oe=0;oe<re.length;oe++){const ne=re[oe],de=te[ne];de.writable===!1&&(de.writable=!0,de.configurable=!0),(de.get||de.set)&&(te[ne]={configurable:!0,writable:!0,enumerable:de.enumerable,value:J[ne]})}return Object.create(getPrototypeOf(J),te)}else{const te=getPrototypeOf(J);if(te!==null&&X)return{...J};const re=Object.create(te);return Object.assign(re,J)}}function freeze(J,W=!1){return isFrozen(J)||isDraft(J)||!isDraftable(J)||(getArchtype(J)>1&&(J.set=J.add=J.clear=J.delete=dontMutateFrozenCollections),Object.freeze(J),W&&Object.entries(J).forEach(([X,te])=>freeze(te,!0))),J}function dontMutateFrozenCollections(){die(2)}function isFrozen(J){return Object.isFrozen(J)}var plugins={};function getPlugin(J){const W=plugins[J];return W||die(0,J),W}var currentScope;function getCurrentScope(){return currentScope}function createScope(J,W){return{drafts_:[],parent_:J,immer_:W,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(J,W){W&&(getPlugin("Patches"),J.patches_=[],J.inversePatches_=[],J.patchListener_=W)}function revokeScope(J){leaveScope(J),J.drafts_.forEach(revokeDraft),J.drafts_=null}function leaveScope(J){J===currentScope&&(currentScope=J.parent_)}function enterScope(J){return currentScope=createScope(currentScope,J)}function revokeDraft(J){const W=J[DRAFT_STATE];W.type_===0||W.type_===1?W.revoke_():W.revoked_=!0}function processResult(J,W){W.unfinalizedDrafts_=W.drafts_.length;const X=W.drafts_[0];return J!==void 0&&J!==X?(X[DRAFT_STATE].modified_&&(revokeScope(W),die(4)),isDraftable(J)&&(J=finalize(W,J),W.parent_||maybeFreeze(W,J)),W.patches_&&getPlugin("Patches").generateReplacementPatches_(X[DRAFT_STATE].base_,J,W.patches_,W.inversePatches_)):J=finalize(W,X,[]),revokeScope(W),W.patches_&&W.patchListener_(W.patches_,W.inversePatches_),J!==NOTHING?J:void 0}function finalize(J,W,X){if(isFrozen(W))return W;const te=W[DRAFT_STATE];if(!te)return each(W,(re,oe)=>finalizeProperty(J,te,W,re,oe,X)),W;if(te.scope_!==J)return W;if(!te.modified_)return maybeFreeze(J,te.base_,!0),te.base_;if(!te.finalized_){te.finalized_=!0,te.scope_.unfinalizedDrafts_--;const re=te.copy_;let oe=re,ne=!1;te.type_===3&&(oe=new Set(re),re.clear(),ne=!0),each(oe,(de,ce)=>finalizeProperty(J,te,re,de,ce,X,ne)),maybeFreeze(J,re,!1),X&&J.patches_&&getPlugin("Patches").generatePatches_(te,X,J.patches_,J.inversePatches_)}return te.copy_}function finalizeProperty(J,W,X,te,re,oe,ne){if(isDraft(re)){const de=oe&&W&&W.type_!==3&&!has(W.assigned_,te)?oe.concat(te):void 0,ce=finalize(J,re,de);if(set(X,te,ce),isDraft(ce))J.canAutoFreeze_=!1;else return}else ne&&X.add(re);if(isDraftable(re)&&!isFrozen(re)){if(!J.immer_.autoFreeze_&&J.unfinalizedDrafts_<1)return;finalize(J,re),(!W||!W.scope_.parent_)&&typeof te!="symbol"&&Object.prototype.propertyIsEnumerable.call(X,te)&&maybeFreeze(J,re)}}function maybeFreeze(J,W,X=!1){!J.parent_&&J.immer_.autoFreeze_&&J.canAutoFreeze_&&freeze(W,X)}function createProxyProxy(J,W){const X=Array.isArray(J),te={type_:X?1:0,scope_:W?W.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:W,base_:J,draft_:null,copy_:null,revoke_:null,isManual_:!1};let re=te,oe=objectTraps;X&&(re=[te],oe=arrayTraps);const{revoke:ne,proxy:de}=Proxy.revocable(re,oe);return te.draft_=de,te.revoke_=ne,de}var objectTraps={get(J,W){if(W===DRAFT_STATE)return J;const X=latest(J);if(!has(X,W))return readPropFromProto(J,X,W);const te=X[W];return J.finalized_||!isDraftable(te)?te:te===peek(J.base_,W)?(prepareCopy(J),J.copy_[W]=createProxy(te,J)):te},has(J,W){return W in latest(J)},ownKeys(J){return Reflect.ownKeys(latest(J))},set(J,W,X){const te=getDescriptorFromProto(latest(J),W);if(te?.set)return te.set.call(J.draft_,X),!0;if(!J.modified_){const re=peek(latest(J),W),oe=re?.[DRAFT_STATE];if(oe&&oe.base_===X)return J.copy_[W]=X,J.assigned_[W]=!1,!0;if(is(X,re)&&(X!==void 0||has(J.base_,W)))return!0;prepareCopy(J),markChanged(J)}return J.copy_[W]===X&&(X!==void 0||W in J.copy_)||Number.isNaN(X)&&Number.isNaN(J.copy_[W])||(J.copy_[W]=X,J.assigned_[W]=!0),!0},deleteProperty(J,W){return peek(J.base_,W)!==void 0||W in J.base_?(J.assigned_[W]=!1,prepareCopy(J),markChanged(J)):delete J.assigned_[W],J.copy_&&delete J.copy_[W],!0},getOwnPropertyDescriptor(J,W){const X=latest(J),te=Reflect.getOwnPropertyDescriptor(X,W);return te&&{writable:!0,configurable:J.type_!==1||W!=="length",enumerable:te.enumerable,value:X[W]}},defineProperty(){die(11)},getPrototypeOf(J){return getPrototypeOf(J.base_)},setPrototypeOf(){die(12)}},arrayTraps={};each(objectTraps,(J,W)=>{arrayTraps[J]=function(){return arguments[0]=arguments[0][0],W.apply(this,arguments)}}),arrayTraps.deleteProperty=function(J,W){return arrayTraps.set.call(this,J,W,void 0)},arrayTraps.set=function(J,W,X){return objectTraps.set.call(this,J[0],W,X,J[0])};function peek(J,W){const X=J[DRAFT_STATE];return(X?latest(X):J)[W]}function readPropFromProto(J,W,X){const te=getDescriptorFromProto(W,X);return te?"value"in te?te.value:te.get?.call(J.draft_):void 0}function getDescriptorFromProto(J,W){if(!(W in J))return;let X=getPrototypeOf(J);for(;X;){const te=Object.getOwnPropertyDescriptor(X,W);if(te)return te;X=getPrototypeOf(X)}}function markChanged(J){J.modified_||(J.modified_=!0,J.parent_&&markChanged(J.parent_))}function prepareCopy(J){J.copy_||(J.copy_=shallowCopy(J.base_,J.scope_.immer_.useStrictShallowCopy_))}var Immer2=class{constructor(J){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(W,X,te)=>{if(typeof W=="function"&&typeof X!="function"){const oe=X;X=W;const ne=this;return function(ce=oe,...ue){return ne.produce(ce,he=>X.call(this,he,...ue))}}typeof X!="function"&&die(6),te!==void 0&&typeof te!="function"&&die(7);let re;if(isDraftable(W)){const oe=enterScope(this),ne=createProxy(W,void 0);let de=!0;try{re=X(ne),de=!1}finally{de?revokeScope(oe):leaveScope(oe)}return usePatchesInScope(oe,te),processResult(re,oe)}else if(!W||typeof W!="object"){if(re=X(W),re===void 0&&(re=W),re===NOTHING&&(re=void 0),this.autoFreeze_&&freeze(re,!0),te){const oe=[],ne=[];getPlugin("Patches").generateReplacementPatches_(W,re,oe,ne),te(oe,ne)}return re}else die(1,W)},this.produceWithPatches=(W,X)=>{if(typeof W=="function")return(ne,...de)=>this.produceWithPatches(ne,ce=>W(ce,...de));let te,re;return[this.produce(W,X,(ne,de)=>{te=ne,re=de}),te,re]},typeof J?.autoFreeze=="boolean"&&this.setAutoFreeze(J.autoFreeze),typeof J?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(J.useStrictShallowCopy)}createDraft(J){isDraftable(J)||die(8),isDraft(J)&&(J=current(J));const W=enterScope(this),X=createProxy(J,void 0);return X[DRAFT_STATE].isManual_=!0,leaveScope(W),X}finishDraft(J,W){const X=J&&J[DRAFT_STATE];(!X||!X.isManual_)&&die(9);const{scope_:te}=X;return usePatchesInScope(te,W),processResult(void 0,te)}setAutoFreeze(J){this.autoFreeze_=J}setUseStrictShallowCopy(J){this.useStrictShallowCopy_=J}applyPatches(J,W){let X;for(X=W.length-1;X>=0;X--){const re=W[X];if(re.path.length===0&&re.op==="replace"){J=re.value;break}}X>-1&&(W=W.slice(X+1));const te=getPlugin("Patches").applyPatches_;return isDraft(J)?te(J,W):this.produce(J,re=>te(re,W))}};function createProxy(J,W){const X=isMap(J)?getPlugin("MapSet").proxyMap_(J,W):isSet(J)?getPlugin("MapSet").proxySet_(J,W):createProxyProxy(J,W);return(W?W.scope_:getCurrentScope()).drafts_.push(X),X}function current(J){return isDraft(J)||die(10,J),currentImpl(J)}function currentImpl(J){if(!isDraftable(J)||isFrozen(J))return J;const W=J[DRAFT_STATE];let X;if(W){if(!W.modified_)return W.base_;W.finalized_=!0,X=shallowCopy(J,W.scope_.immer_.useStrictShallowCopy_)}else X=shallowCopy(J,!0);return each(X,(te,re)=>{set(X,te,currentImpl(re))}),W&&(W.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(J,W=`expected a function, instead received ${typeof J}`){if(typeof J!="function")throw new TypeError(W)}function assertIsObject(J,W=`expected an object, instead received ${typeof J}`){if(typeof J!="object")throw new TypeError(W)}function assertIsArrayOfFunctions(J,W="expected all items to be functions, instead received the following types: "){if(!J.every(X=>typeof X=="function")){const X=J.map(te=>typeof te=="function"?`function ${te.name||"unnamed"}()`:typeof te).join(", ");throw new TypeError(`${W}[${X}]`)}}var ensureIsArray=J=>Array.isArray(J)?J:[J];function getDependencies(J){const W=Array.isArray(J[0])?J[0]:J;return assertIsArrayOfFunctions(W,"createSelector expects all input-selectors to be functions, but received the following types: "),W}function collectInputSelectorResults(J,W){const X=[],{length:te}=J;for(let re=0;re<te;re++)X.push(J[re].apply(null,W));return X}var StrongRef=class{constructor(J){this.value=J}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(J,W={}){let X=createCacheNode();const{resultEqualityCheck:te}=W;let re,oe=0;function ne(){let de=X;const{length:ce}=arguments;for(let pe=0,fe=ce;pe<fe;pe++){const be=arguments[pe];if(typeof be=="function"||typeof be=="object"&&be!==null){let me=de.o;me===null&&(de.o=me=new WeakMap);const ge=me.get(be);ge===void 0?(de=createCacheNode(),me.set(be,de)):de=ge}else{let me=de.p;me===null&&(de.p=me=new Map);const ge=me.get(be);ge===void 0?(de=createCacheNode(),me.set(be,de)):de=ge}}const ue=de;let he;if(de.s===TERMINATED)he=de.v;else if(he=J.apply(null,arguments),oe++,te){const pe=re?.deref?.()??re;pe!=null&&te(pe,he)&&(he=pe,oe!==0&&oe--),re=typeof he=="object"&&he!==null||typeof he=="function"?new Ref(he):he}return ue.s=TERMINATED,ue.v=he,he}return ne.clearCache=()=>{X=createCacheNode(),ne.resetResultsCount()},ne.resultsCount=()=>oe,ne.resetResultsCount=()=>{oe=0},ne}function createSelectorCreator(J,...W){const X=typeof J=="function"?{memoize:J,memoizeOptions:W}:J,te=(...re)=>{let oe=0,ne=0,de,ce={},ue=re.pop();typeof ue=="object"&&(ce=ue,ue=re.pop()),assertIsFunction(ue,`createSelector expects an output function after the inputs, but received: [${typeof ue}]`);const he={...X,...ce},{memoize:pe,memoizeOptions:fe=[],argsMemoize:be=weakMapMemoize,argsMemoizeOptions:me=[]}=he,ge=ensureIsArray(fe),ve=ensureIsArray(me),_e=getDependencies(re),ye=pe(function(){return oe++,ue.apply(null,arguments)},...ge),Se=be(function(){ne++;const Ce=collectInputSelectorResults(_e,arguments);return de=ye.apply(null,Ce),de},...ve);return Object.assign(Se,{resultFunc:ue,memoizedResultFunc:ye,dependencies:_e,dependencyRecomputations:()=>ne,resetDependencyRecomputations:()=>{ne=0},lastResult:()=>de,recomputations:()=>oe,resetRecomputations:()=>{oe=0},memoize:pe,argsMemoize:be})};return Object.assign(te,{withTypes:()=>te}),te}var createSelector=createSelectorCreator(weakMapMemoize),createStructuredSelector=Object.assign((J,W=createSelector)=>{assertIsObject(J,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof J}`);const X=Object.keys(J),te=X.map(oe=>J[oe]);return W(te,(...oe)=>oe.reduce((ne,de,ce)=>(ne[X[ce]]=de,ne),{}))},{withTypes:()=>createStructuredSelector});function createThunkMiddleware(J){return({dispatch:X,getState:te})=>re=>oe=>typeof oe=="function"?oe(X,te,J):re(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(J,W){function X(...te){if(W){let re=W(...te);if(!re)throw new Error(formatProdErrorMessage(0));return{type:J,payload:re.payload,..."meta"in re&&{meta:re.meta},..."error"in re&&{error:re.error}}}return{type:J,payload:te[0]}}return X.toString=()=>`${J}`,X.type=J,X.match=te=>isAction(te)&&te.type===J,X}var Tuple=class Fs extends Array{constructor(...W){super(...W),Object.setPrototypeOf(this,Fs.prototype)}static get[Symbol.species](){return Fs}concat(...W){return super.concat.apply(this,W)}prepend(...W){return W.length===1&&Array.isArray(W[0])?new Fs(...W[0].concat(this)):new Fs(...W.concat(this))}};function freezeDraftable(J){return isDraftable(J)?produce(J,()=>{}):J}function getOrInsertComputed(J,W,X){return J.has(W)?J.get(W):J.set(W,X(W)).get(W)}function isBoolean(J){return typeof J=="boolean"}var buildGetDefaultMiddleware=()=>function(W){const{thunk:X=!0,immutableCheck:te=!0,serializableCheck:re=!0,actionCreatorCheck:oe=!0}=W??{};let ne=new Tuple;return X&&(isBoolean(X)?ne.push(thunk):ne.push(withExtraArgument(X.extraArgument))),ne},SHOULD_AUTOBATCH="RTK_autoBatch",createQueueWithTimer=J=>W=>{setTimeout(W,J)},autoBatchEnhancer=(J={type:"raf"})=>W=>(...X)=>{const te=W(...X);let re=!0,oe=!1,ne=!1;const de=new Set,ce=J.type==="tick"?queueMicrotask:J.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:createQueueWithTimer(10):J.type==="callback"?J.queueNotification:createQueueWithTimer(J.timeout),ue=()=>{ne=!1,oe&&(oe=!1,de.forEach(he=>he()))};return Object.assign({},te,{subscribe(he){const pe=()=>re&&he(),fe=te.subscribe(pe);return de.add(he),()=>{fe(),de.delete(he)}},dispatch(he){try{return re=!he?.meta?.[SHOULD_AUTOBATCH],oe=!re,oe&&(ne||(ne=!0,ce(ue))),te.dispatch(he)}finally{re=!0}}})},buildGetDefaultEnhancers=J=>function(X){const{autoBatch:te=!0}=X??{};let re=new Tuple(J);return te&&re.push(autoBatchEnhancer(typeof te=="object"?te:void 0)),re};function configureStore(J){const W=buildGetDefaultMiddleware(),{reducer:X=void 0,middleware:te,devTools:re=!0,preloadedState:oe=void 0,enhancers:ne=void 0}=J||{};let de;if(typeof X=="function")de=X;else if(isPlainObject$1(X))de=combineReducers(X);else throw new Error(formatProdErrorMessage(1));let ce;typeof te=="function"?ce=te(W):ce=W();let ue=compose;re&&(ue=composeWithDevTools({trace:!1,...typeof re=="object"&&re}));const he=applyMiddleware(...ce),pe=buildGetDefaultEnhancers(he);let fe=typeof ne=="function"?ne(pe):pe();const be=ue(...fe);return createStore(de,oe,be)}function executeReducerBuilderCallback(J){const W={},X=[];let te;const re={addCase(oe,ne){const de=typeof oe=="string"?oe:oe.type;if(!de)throw new Error(formatProdErrorMessage(28));if(de in W)throw new Error(formatProdErrorMessage(29));return W[de]=ne,re},addMatcher(oe,ne){return X.push({matcher:oe,reducer:ne}),re},addDefaultCase(oe){return te=oe,re}};return J(re),[W,X,te]}function isStateFunction(J){return typeof J=="function"}function createReducer(J,W){let[X,te,re]=executeReducerBuilderCallback(W),oe;if(isStateFunction(J))oe=()=>freezeDraftable(J());else{const de=freezeDraftable(J);oe=()=>de}function ne(de=oe(),ce){let ue=[X[ce.type],...te.filter(({matcher:he})=>he(ce)).map(({reducer:he})=>he)];return ue.filter(he=>!!he).length===0&&(ue=[re]),ue.reduce((he,pe)=>{if(pe)if(isDraft(he)){const be=pe(he,ce);return be===void 0?he:be}else{if(isDraftable(he))return produce(he,fe=>pe(fe,ce));{const fe=pe(he,ce);if(fe===void 0){if(he===null)return he;throw Error("A case reducer on a non-draftable value must not return undefined")}return fe}}return he},de)}return ne.getInitialState=oe,ne}var asyncThunkSymbol=Symbol.for("rtk-slice-createasyncthunk");function getType(J,W){return`${J}/${W}`}function buildCreateSlice({creators:J}={}){const W=J?.asyncThunk?.[asyncThunkSymbol];return function(te){const{name:re,reducerPath:oe=re}=te;if(!re)throw new Error(formatProdErrorMessage(11));const ne=(typeof te.reducers=="function"?te.reducers(buildReducerCreators()):te.reducers)||{},de=Object.keys(ne),ce={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},ue={addCase(ye,Se){const we=typeof ye=="string"?ye:ye.type;if(!we)throw new Error(formatProdErrorMessage(12));if(we in ce.sliceCaseReducersByType)throw new Error(formatProdErrorMessage(13));return ce.sliceCaseReducersByType[we]=Se,ue},addMatcher(ye,Se){return ce.sliceMatchers.push({matcher:ye,reducer:Se}),ue},exposeAction(ye,Se){return ce.actionCreators[ye]=Se,ue},exposeCaseReducer(ye,Se){return ce.sliceCaseReducersByName[ye]=Se,ue}};de.forEach(ye=>{const Se=ne[ye],we={reducerName:ye,type:getType(re,ye),createNotation:typeof te.reducers=="function"};isAsyncThunkSliceReducerDefinition(Se)?handleThunkCaseReducerDefinition(we,Se,ue,W):handleNormalReducerDefinition(we,Se,ue)});function he(){const[ye={},Se=[],we=void 0]=typeof te.extraReducers=="function"?executeReducerBuilderCallback(te.extraReducers):[te.extraReducers],Ce={...ye,...ce.sliceCaseReducersByType};return createReducer(te.initialState,Me=>{for(let De in Ce)Me.addCase(De,Ce[De]);for(let De of ce.sliceMatchers)Me.addMatcher(De.matcher,De.reducer);for(let De of Se)Me.addMatcher(De.matcher,De.reducer);we&&Me.addDefaultCase(we)})}const pe=ye=>ye,fe=new Map;let be;function me(ye,Se){return be||(be=he()),be(ye,Se)}function ge(){return be||(be=he()),be.getInitialState()}function ve(ye,Se=!1){function we(Me){let De=Me[ye];return typeof De>"u"&&Se&&(De=ge()),De}function Ce(Me=pe){const De=getOrInsertComputed(fe,Se,()=>new WeakMap);return getOrInsertComputed(De,Me,()=>{const Le={};for(const[He,qe]of Object.entries(te.selectors??{}))Le[He]=wrapSelector(qe,Me,ge,Se);return Le})}return{reducerPath:ye,getSelectors:Ce,get selectors(){return Ce(we)},selectSlice:we}}const _e={name:re,reducer:me,actions:ce.actionCreators,caseReducers:ce.sliceCaseReducersByName,getInitialState:ge,...ve(oe),injectInto(ye,{reducerPath:Se,...we}={}){const Ce=Se??oe;return ye.inject({reducerPath:Ce,reducer:me},we),{..._e,...ve(Ce,!0)}}};return _e}}function wrapSelector(J,W,X,te){function re(oe,...ne){let de=W(oe);return typeof de>"u"&&te&&(de=X()),J(de,...ne)}return re.unwrapped=J,re}var createSlice=buildCreateSlice();function buildReducerCreators(){function J(W,X){return{_reducerDefinitionType:"asyncThunk",payloadCreator:W,...X}}return J.withTypes=()=>J,{reducer(W){return Object.assign({[W.name](...X){return W(...X)}}[W.name],{_reducerDefinitionType:"reducer"})},preparedReducer(W,X){return{_reducerDefinitionType:"reducerWithPrepare",prepare:W,reducer:X}},asyncThunk:J}}function handleNormalReducerDefinition({type:J,reducerName:W,createNotation:X},te,re){let oe,ne;if("reducer"in te){if(X&&!isCaseReducerWithPrepareDefinition(te))throw new Error(formatProdErrorMessage(17));oe=te.reducer,ne=te.prepare}else oe=te;re.addCase(J,oe).exposeCaseReducer(W,oe).exposeAction(W,ne?createAction(J,ne):createAction(J))}function isAsyncThunkSliceReducerDefinition(J){return J._reducerDefinitionType==="asyncThunk"}function isCaseReducerWithPrepareDefinition(J){return J._reducerDefinitionType==="reducerWithPrepare"}function handleThunkCaseReducerDefinition({type:J,reducerName:W},X,te,re){if(!re)throw new Error(formatProdErrorMessage(18));const{payloadCreator:oe,fulfilled:ne,pending:de,rejected:ce,settled:ue,options:he}=X,pe=re(J,oe,he);te.exposeAction(W,pe),ne&&te.addCase(pe.fulfilled,ne),de&&te.addCase(pe.pending,de),ce&&te.addCase(pe.rejected,ce),ue&&te.addMatcher(pe.settled,ue),te.exposeCaseReducer(W,{fulfilled:ne||noop,pending:de||noop,rejected:ce||noop,settled:ue||noop})}function noop(){}function formatProdErrorMessage(J){return`Minified Redux Toolkit error #${J}; visit https://redux-toolkit.js.org/Errors?code=${J} for the full message or use the non-minified dev environment for full errors. `}const addItemsToCollection=(J,W,X,te,re,oe)=>J[W]?{...J,[W]:{...J[W],items:[...J[W]?.items||[],...X],historyDataImporterRules:oe??J[W]?.historyDataImporterRules}}:{...J,[W]:{id:W,items:X,componentFactory:te,searchPredicate:re,historyDataImporterRules:oe}},addItemToCollection=(J,W,X,te)=>addItemsToCollection(J,W,[X],te);function addActivityHistoryItemReducer(J,W){const{id:X,item:te,componentFactory:re}=W.payload;J.collections=addItemToCollection(J.collections,X,te,re)}function addActivityHistoryItemsReducer(J,W){const{id:X,items:te,componentFactory:re,searchPredicate:oe,historyDataImporterRules:ne}=W.payload;return{...J,collections:addItemsToCollection(J.collections,X,te,re,oe,ne)}}function addBusyHistoryItemReducer(J,W){J.busy.push(W.payload)}function removeBusyHistoryItemReducer(J,W){J.busy=J.busy.filter(X=>X!==W.payload)}function addErrorHistoryItemReducer(J,W){J.error.push(W.payload)}function removeErrorHistoryItemReducer(J,W){J.error=J.error.filter(X=>X.entityId!==W.payload)}function clearActivityHistoryCollectionsReducer(J){return{...J,collections:{},error:[]}}const removeItemFromCollection=(J,W,X)=>{if(!J[W]?.items)return J;const te=J[W]?.items??[];return{...J,[W]:{...J[W],items:te.filter(re=>re.id!==X)}}};function removeActivityHistoryItemReducer(J,W){const{id:X,itemId:te}=W.payload;J.collections=removeItemFromCollection(J.collections,X,te)}const updateItemInCollection=(J,W,X)=>{if(!J[W]?.items)return J;const te=J[W]?.items??[];return{...J,[W]:{...J[W],items:te.map(re=>re.id===X.id?X:re)}}};function updateActivityHistoryItemReducer(J,W){const{id:X,item:te}=W.payload;J.collections=updateItemInCollection(J.collections,X,te)}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(J,W){J.searchString=W.payload}class Spec{and(W){return new AndSpec(this,W)}or(W){return new OrSpec(this,W)}not(){return new NotSpec(this)}}class AndSpec extends Spec{constructor(W,X){super(),this.left=W,this.right=X}isSatisfiedBy(W){return this.left.isSatisfiedBy(W)&&this.right.isSatisfiedBy(W)}}class OrSpec extends Spec{constructor(W,X){super(),this.left=W,this.right=X}isSatisfiedBy(W){return this.left.isSatisfiedBy(W)||this.right.isSatisfiedBy(W)}}class NotSpec extends Spec{constructor(W){super(),this.spec=W}isSatisfiedBy(W){return!this.spec.isSatisfiedBy(W)}}let shellApiRef=null;const setShellApiForOwnSpec=J=>{shellApiRef=J};class OwnSpec extends Spec{constructor(W){super(),this.context=W}isSatisfiedBy(W){if(!shellApiRef)return!1;try{const X=shellApiRef.globalStateManager.getData("userInfo");return W?.professional?.id===X?.userId}catch{return!1}}}class RelevantSpec extends Spec{constructor(W){super(),this.context=W}isSatisfiedBy(W){return W?.relevant??!1}}var ActivityHistoryFilterType=(J=>(J.Switch="switch",J.Checkbox="checkbox",J.Dropdown="dropdown",J))(ActivityHistoryFilterType||{});const isCommonFilterGroup=J=>J.id==="common",isDiagnosticFilter=J=>J.id===diagnosticsfilterId,isCustomFilter=J=>!isCommonFilterGroup(J)&&!isDiagnosticFilter(J)&&!isUpFilter(J),isUpFilter=J=>J.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(J,W){J.filters=J.filters.map(X=>X.id==="common"?{...X,filters:X.filters.map(te=>te.id===W.payload.id?{...te,enabled:W.payload.enabled}:te)}:X)}function addCustomFiltersReducer(J,W){J.filters.some(te=>te.id===W.payload.id)||(J.filters=[...J.filters,W.payload])}function clearCustomFiltersReducer(J){J.filters=J.filters.filter(W=>!isCustomFilter(W))}function setCustomFilterAllValuesReducer(J,W){J.filters=J.filters.map(X=>X.id===W.payload.filterGroupId?{...X,filters:X.filters.map(te=>te.id===W.payload.filterId?{...te,enabledValues:W.payload.values}:te)}:X)}function setCustomFilterGroupValueReducer(J,W){J.filters=J.filters.map(X=>X.id===W.payload.id?{...X,enabled:W.payload.enabled}:X)}function setCustomFilterValueReducer(J,W){J.filters=J.filters.map(X=>X.id===W.payload.filterGroupId?{...X,filters:X.filters.map(te=>te.id===W.payload.filterId?te.singleOption?setSingleOptionFilterValue(te,W.payload.enabled):setMultipleOptionsFilterValue(te,W.payload):te)}:X)}const setMultipleOptionsFilterValue=(J,W)=>{const{optionId:X,enabled:te}=W;return J.enabledValues?.some(re=>re===X)&&te?J:X==null?{...J,enabledValues:[]}:{...J,enabledValues:te?[...J.enabledValues||[],X]:J.enabledValues.filter(re=>re!==X)}},setSingleOptionFilterValue=(J,W)=>({...J,enabled:W,enabledValues:W?[!0]:[]});function deleteDiagnosticFilterValueReducer(J,W){J.filters.some(isDiagnosticFilter)&&(J.filters=[...J.filters].map(te=>{if(isDiagnosticFilter(te)){const re=te.enabledValues.filter(oe=>{if(oe.codi===W.payload.diagnosticCodi)return!1;const ne=te.enabledValues.some(ce=>ce.codi===W.payload.diagnosticCodi&&ce.evolucions?.some(ue=>ue.codi===oe.codi)),de=te.enabledValues.some(ce=>ce.codi===W.payload.diagnosticCodi&&ce.relacions?.some(ue=>ue.codi===oe.codi));return!ne&&!de});return{...te,enabledValues:re}}return te}))}function setDiagnosticFilterValuesReducer(J,W){if(J.filters.some(isDiagnosticFilter))J.filters=[...J.filters].map(te=>isDiagnosticFilter(te)?{...te,enabledValues:W.payload}:te);else{const te={id:diagnosticsfilterId,title:"Diagnòstics",values:[],enabledValues:W.payload};J.filters=[...J.filters,te]}}function resetFiltersReducer(J,W){J.filters=J.filters.map(X=>X.id!=="common"&&X.id!=="history-diagnostics"&&X.id!=="history-up"?{...X,filters:X.filters.map(te=>te.singleOption?{...te,enabled:!1}:{...te,enabled:!0,enabledValues:[]})}:X.id==="history-diagnostics"||X.id==="history-up"?{...X,enabledValues:[]}:X.id==="common"?commonFilters[0]:X)}function addUpFiltersReducer(J,W){const X=J.filters.findIndex(isUpFilter);if(X===-1)J.filters.push(W.payload);else{const te=J.filters[X],re=[...te.values,...W.payload.values.filter(oe=>!te.values.some(ne=>ne.value===oe.value))];J.filters[X]={...te,values:re}}}function setUpFilterValuesReducer(J,W){J.filters=[...J.filters].map(X=>isUpFilter(X)?{...X,enabledValues:W.payload}: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,setDiagnosticFilterValues:setDiagnosticFilterValuesReducer,deleteDiagnosticFilterValue:deleteDiagnosticFilterValueReducer,addUpFilters:addUpFiltersReducer,setUpFilterValues:setUpFilterValuesReducer,resetFilters:resetFiltersReducer}}),store=configureStore({reducer:{activityHistoryCollections:activityHistoryCollectionsSlice.reducer,activityHistoryFilters:activityHistoryFiltersSlice.reducer},devTools:{name:"activity-history"},middleware:J=>J({serializableCheck:!1})});store.dispatch,store.getState;const container=new Container,{lazyInject}=getDecorators(container),bindDeps=J=>{container.bind(TYPES.primaryApi).toConstantValue(J),container.bind(TYPES.store).toConstantValue(store)},unbindDeps=()=>{container.unbind(TYPES.primaryApi),container.unbind(TYPES.store)};var __getOwnPropDesc$j=Object.getOwnPropertyDescriptor,__decorateClass$x=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$j(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=ne(re)||re);return re},__decorateParam$3=(J,W)=>(X,te)=>W(X,te,J);let StoreBaseHandler=class{constructor(J){this.store=J}};StoreBaseHandler=__decorateClass$x([injectable(),__decorateParam$3(0,inject(TYPES.store))],StoreBaseHandler);let ApiBaseHandler=class{constructor(J){this.api=J}};ApiBaseHandler=__decorateClass$x([injectable(),__decorateParam$3(0,inject(TYPES.primaryApi))],ApiBaseHandler);let BaseHandler=class{constructor(J,W){this.store=J,this.api=W}};BaseHandler=__decorateClass$x([injectable(),__decorateParam$3(0,inject(TYPES.store)),__decorateParam$3(1,inject(TYPES.primaryApi))],BaseHandler);const{addBusyHistoryItem,removeBusyHistoryItem}=activityHistoryCollectionsSlice.actions,{addErrorHistoryItem,removeErrorHistoryItem}=activityHistoryCollectionsSlice.actions,validateAddAsyncCommand=(J,W)=>{if(!J.filters)throw new Error("filters is required");if(J.entityId!==J.filters.id)throw new Error("entityId and filters.id must be the same");if(!J.filters.title)throw new Error("filters.title is required");if(!J.asyncDataProvider)throw new Error("asyncDataProvider is required");if(!J.componentFactory)throw new Error("componentFactory is required");if(!J.errorMessage)throw new Error("errorMessage is required for failure asyncDataProviders");if(W==null)throw new Error("items is required");if(!Array.isArray(W))throw new Error("items must be an array")};class InjectAsyncHistoryItemsHandler extends BaseHandler{async handle(W){this.store.dispatch(addBusyHistoryItem(W.entityId));try{const X=await W.asyncDataProvider();validateAddAsyncCommand(W,X),this.api.broker.send(this.api.broker.events.activityHistory.addHistoryItemsRequest,{entityId:W.entityId,entityDescription:W.entityDescription,items:X,componentFactory:W.componentFactory,searchPredicate:W.searchPredicate,filters:W.filters,historyDataImporterRules:W.historyDataImporterRules})}catch(X){console.error(X.message),this.store.dispatch(addErrorHistoryItem({entityId:W.entityId,message:W.errorMessage||X.message,entityDescription:W.entityDescription}))}finally{this.store.dispatch(removeBusyHistoryItem(W.entityId))}}}let request$i;const bootstrapInjectAsyncHistoryItems=(J,W)=>{request$i=J.registerRequest(W.broker.events.activityHistory.injectAsyncHistoryItemsRequest,InjectAsyncHistoryItemsHandler)},teardownInjectAsyncHistoryItems=()=>{request$i?.dispose()};let pluginLocaleManager;const initializeLocalization=async J=>{pluginLocaleManager=await J.createLocaleManager(locales)},translate=J=>pluginLocaleManager?pluginLocaleManager.translate(J):J,locales={ca:{"activity-history":{activityHistory:"Històric d’activitat",importer:{title:"Històric d’activitat",searchPlaceholder:"Escriu per cercar",selectAll:"Seleccionar tot",filters:"Filtres:",today:"Avui",diagnostics:"Diagnòstics associats",noResults:"Sense resultats"},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:"Actualitzar",entryLegend:"Llegenda entrades",maximizeButton:"Botó maximitzar",minimizeButton:"Botó minimitzar",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=(J,W,X)=>{const te=J?.[W];return te?.items?te.items.some(re=>re.id===X):!1},isString=J=>typeof J=="string"&&J.trim()!=="",isValidDateString=J=>{if(typeof J!="string"||J.trim()==="")return!1;const W=new Date(J);return W instanceof Date&&!Number.isNaN(W.getTime())},isValidBasicActivityHistoryItem=J=>J&&isString(J.id)&&isValidDateString(J.date),ensureAreValidBasicActivityHistoryItems=J=>{if(!J.every(isValidBasicActivityHistoryItem))throw console.error("Invalid activity history items",J),new Error("Invalid activity history items");return J},notifyInvalidItem=J=>{console.error("Invalid history item",J)},validateAndFilterBasicItems=J=>{const W=[];for(const X of J)isValidBasicActivityHistoryItem(X)?W.push(X):notifyInvalidItem(X);return W},getUpFilter=J=>{const W=J.flatMap(X=>X.up??[]).filter(X=>X?.id?.trim()).filter((X,te,re)=>te===re.findIndex(oe=>oe.id===X.id));if(W.length>0)return{id:upFilterId,title:"UP",values:mapArrayToLabelValue(W,"description","id"),enabledValues:[]}},handleAddUpFilter=(J,W)=>{const X=getUpFilter(J);X&&W.dispatch(activityHistoryFiltersSlice.actions.addUpFilters(X))},{addActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class AddHistoryItemHandler extends BaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]);const X=this.store.getState(),te=existItemInCollection(X.activityHistoryCollections?.collections,W.entityId,W.item.id),re=X.activityHistoryFilters?.filters?.find(oe=>oe.id===W.entityId);if(te)throw new Error(translate("error.itemAlreadyExists"));if(!re)throw new Error(translate("error.filterNotInitialized"));handleAddUpFilter([W.item],this.store),this.store.dispatch(addActivityHistoryItem({id:W.entityId,item:W.item,componentFactory:W.componentFactory}))}catch(X){this.api.notificationService.error(X.message)}}}let request$h;const bootstrapAddHistoryItem=(J,W)=>{request$h=J.registerRequest(W.broker.events.activityHistory.addHistoryItemRequest,AddHistoryItemHandler)},teardownAddHistoryItem=()=>{request$h?.dispose()};class AddCustomFiltersCommand{constructor(W){this.payload=W}}const{addActivityHistoryItems}=activityHistoryCollectionsSlice.actions;class AddHistoryItemsHandler extends BaseHandler{async handle(W){try{const X=validateAndFilterBasicItems(W.items),te=this.filterDuplicateItems(X,W.entityId);if(!this.store.getState().activityHistoryFilters?.filters?.find(ne=>ne.id===W.entityId)&&!W.filters)throw new Error(translate("error.filterNotInitialized"));te.length>0&&handleAddUpFilter(te,this.store),this.store.dispatch(addActivityHistoryItems({id:W.entityId,items:te,componentFactory:W.componentFactory,searchPredicate:W.searchPredicate,historyDataImporterRules:W.historyDataImporterRules})),W.filters&&this.api.broker.send(new AddCustomFiltersCommand(W.filters))}catch(X){this.api.notificationService.error(X.message)}}filterDuplicateItems(W,X){if(W.length===0)return[];const te=this.store.getState(),re=W.filter(oe=>!existItemInCollection(te.activityHistoryCollections?.collections,X,oe.id));if(re.length===0&&W.length>0)throw new Error(translate("error.allItemsAlreadyExist"));return re.length<W.length&&this.api.notificationService.warning(translate("warning.someItemsAlreadyExist")),re}}let request$g;const bootstrapAddHistoryItems=(J,W)=>{request$g=J.registerRequest(W.broker.events.activityHistory.addHistoryItemsRequest,AddHistoryItemsHandler)},teardownAddHistoryItems=()=>{request$g?.dispose()};function connectedProperty(J,W={}){return createConnectedProperty(store)(J,W)}const isAnyCollectionBusySelector=J=>J.activityHistoryCollections.busy.length>0,isSomeCollectionLoadedAndOtherLoading=J=>Object.values(J.activityHistoryCollections.collections)&&isAnyCollectionBusySelector(J),isEmptyDataAndOtherLoading=J=>!Object.values(J.activityHistoryCollections.collections)?.length&&isAnyCollectionBusySelector(J),styles$p=".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$q=J=>J.isEmptyDataAndOtherLoading?ke$1`<div class="skeleton-container">${J.skeletons}</div>`:J.isSomeCollectionLoadedAndOtherLoading?ke$1`<div class="spinner-container"><dss-spinner size="sm"></dss-spinner><div class="busy-description">${translate("busyEntriesLoading")}</div></div>`:D$4;var __defProp$r=Object.defineProperty,__getOwnPropDesc$i=Object.getOwnPropertyDescriptor,__decorateClass$w=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$i(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$r(W,X,re),re};let ActivityHistoryBusy=class extends h$p{render(){return ke$1`${template$q(this)}`}get skeletons(){return Array.from({length:12},()=>ke$1`<dss-skeleton width="100" height="10"></dss-skeleton>`)}};ActivityHistoryBusy.styles=i$S`
|
|
320
320
|
${r$M(styles$p)}
|
|
321
321
|
`,__decorateClass$w([connectedProperty(isSomeCollectionLoadedAndOtherLoading)],ActivityHistoryBusy.prototype,"isSomeCollectionLoadedAndOtherLoading",2),__decorateClass$w([connectedProperty(isEmptyDataAndOtherLoading)],ActivityHistoryBusy.prototype,"isEmptyDataAndOtherLoading",2),ActivityHistoryBusy=__decorateClass$w([t$x("activity-history-busy")],ActivityHistoryBusy);class HandleHistoryItemsAddError{constructor(W){this.entities=W}}class HandleHistoryItemsAddErrorHandler extends BaseHandler{async handle(W){try{const X=W.entities.map(te=>te.entityId);await this.dispatchRemoveErrorItems(X),this.api.broker.publish(this.api.broker.events.activityHistory.errorLoadingData,X)}catch{this.api.notificationService.error(translate("error.errorToRefresh"))}}async dispatchRemoveErrorItems(W){for(const X of W)this.store.dispatch(removeErrorHistoryItem(X))}}let request$f;const bootstrapHandleHistoryItemsAddError=J=>{teardownHandleHistoryItemsAddError(),request$f=J.registerRequest(HandleHistoryItemsAddError,HandleHistoryItemsAddErrorHandler)},teardownHandleHistoryItemsAddError=()=>{request$f?.dispose()},styles$o=".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$p=J=>{const{arrayElements:W,text:X}=J;return ke$1`
|
|
322
322
|
<div class="wrapper">
|
|
@@ -352,7 +352,7 @@ Registered bindings:`,re.forEach(function(oe){var ne="Object";oe.implementationT
|
|
|
352
352
|
${template$p(this)}
|
|
353
353
|
`}static get styles(){return i$S`
|
|
354
354
|
${r$M(styles$o)}
|
|
355
|
-
`}handleTest(){console.log(this.selectedPeriodDate)}};__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedRadioOption",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"text",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedVisibilityLevelElement",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedPeriodDate",2),__decorateClass$v([n$y({type:Array})],ExportPdfModal.prototype,"arrayElements",2),ExportPdfModal=__decorateClass$v([t$x("export-pdf-modal")],ExportPdfModal);class ExportToPdfHandler extends ApiBaseHandler{async handle(){try{this.api.interactionService.confirm(void 0,{component:ExportPdfModal},{title:translate("modal.selectExportOption"),confirmButtonText:"Exportar",cancelButtonText:"Cancelar"})}catch(W){this._notifyError(W.message)}}_notifyError(W){this.api.notificationService.error(W||"actions.delete.error")}}class ExportPdf{}let request$e;const bootstrapExportPdf=J=>{request$e=J.registerRequest(ExportPdf,ExportToPdfHandler)},teardownExportPdf=()=>{request$e?.dispose()};function getUniqueObjects(J,W,X,te){const re=`Sense ${te.toLocaleLowerCase()}`,oe=new Map;let ne=!1;for(const ce of J){const ue=W.reduce((be,me)=>be?.[me],ce),he=X.reduce((be,me)=>be?.[me],ce);typeof ue=="string"&&ue.trim()!==""&&typeof he=="string"?oe.has(ue)||oe.set(ue,{id:ue,title:he}):ne=!0}const de=Array.from(oe.values()).sort((ce,ue)=>ce.title.localeCompare(ue.title,"ca",{sensitivity:"base"}));return ne&&de.push({id:"",title:re}),de}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(W){super(),this.commonFilters=W}isSatisfiedBy(W){return this.commonFilters.filter(re=>re.enabled).reduce((re,oe)=>re.and(new oe.spec),new TrueSpec).isSatisfiedBy(W)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(W,X){super(),this.propPath=W,this.value=X}isSatisfiedBy(W){return this.propPath.reduce((te,re)=>te?.[re],W)===this.value}}class CustomFilterSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(te=>te.enabled);return X.length===0?!0:X.every(te=>{if(!this.belongsToGroup(W,te))return!0;const re=te.filters.filter(oe=>oe.enabled||oe.singleOption);return re.length===0?!0:re.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(W):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((de,ce)=>de.or(new PropPathSpec(oe.propPathValue,ce)),new FalseSpec).isSatisfiedBy(W))})}belongsToGroup(W,X){return W.type===X.id}}class DiagnosticCodeSpec extends Spec{constructor(W){super(),this.diagnosticCodes=this.extractAllCodes(W)}extractAllCodes(W){const X=new Set;for(const te of W){if(te.codi&&X.add(te.codi),te.evolucions&&Array.isArray(te.evolucions))for(const re of te.evolucions)re.codi&&X.add(re.codi);if(te.relacions&&Array.isArray(te.relacions))for(const re of te.relacions)re.codi&&X.add(re.codi)}return Array.from(X)}isSatisfiedBy(W){return this.diagnosticCodes?.length?(W.diagnostics??[]).some(te=>this.diagnosticCodes.includes(te.codi)):!0}}const normalizeStringToNFD=J=>J==null?"":String(J).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(J,W)=>{const X=normalizeStringToNFD(J),te=normalizeStringToNFD(W);return X.toString().toLowerCase().indexOf(te)!==-1||X.toString().indexOf(te)!==-1},commonFieldsSearchPredicate=(J,W)=>{const X=J.professional?.name&&propContainsString(J.professional?.name,W),te=J.center?.description&&propContainsString(J.center.description,W),re=J.professional?.speciality?.description&&propContainsString(J.professional?.speciality.description,W),oe=J.professional?.role?.description&&propContainsString(J.professional?.role.description,W),ne=J.service?.description&&propContainsString(J.service.description,W),de=J.up?.description&&propContainsString(J.up.description,W),ce=J.diagnostics?.some(ue=>propContainsString(ue.descripcio,W));return X||te||re||oe||ne||de||ce};class SearchStringSpec extends Spec{constructor(W,X){super(),this.searchString=W,this.searchPredicate=X}isSatisfiedBy(W){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(W,this.searchString),te=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),W):!1;return!!(X||te)}}class TypeSpec extends Spec{constructor(W){super(),this.itemType=W}isSatisfiedBy(W){return W?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(re=>re.enabled).map(re=>re.id);return X.length===0?!0:X.reduce((re,oe)=>re.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(W)}}class UpFilterSpec extends Spec{constructor(W){super(),this.upIds=W}isSatisfiedBy(W){if(!this.upIds?.length)return!0;const X=W.up??null;return this.upIds.some(te=>X.id===te)}}const activityHistoryFiltersSelector=J=>J.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,J=>J.filter(W=>W.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,J=>!!J.length),activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,J=>J.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(J,W)=>Number(J.sort)-Number(W.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.some(W=>W.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.filter(W=>W.enabled).map(({id:W,title:X,enabled:te,sort:re,filters:oe})=>({id:W,title:X,enabled:te,sort:re,filters:oe.filter(ne=>ne.enabledValues?.length)})).filter(W=>W.filters.length>0));const diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,J=>J?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,J=>!!J.length),upFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,J=>J?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,J=>!!J.length),areSameDiagnostics=(J,W)=>{if(J.length!==W.length)return!1;const X=J.map(re=>re.codi).sort(),te=W.map(re=>re.codi).sort();return X.every((re,oe)=>re===te[oe])},hasValidDiagnostic=J=>J!=null&&typeof J.codi=="string"&&(typeof J.cataleg=="string"||J.cataleg===null)&&typeof J.descripcio=="string",hasValidDiagnostics=J=>J==null?!0:Array.isArray(J)&&J.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=J=>(dateStringCache.has(J)||dateStringCache.set(J,new Date(J).toDateString()),dateStringCache.get(J)),getDateObject=J=>(dateObjectCache.has(J)||dateObjectCache.set(J,new Date(J)),dateObjectCache.get(J)),createVisitKeyWithoutService=J=>{const W=`${J.professional?.id||"null"}-${J.professional?.role?.id||"null"}-${J.professional?.speciality?.id||"null"}`,X=`${J.ep?.id||"null"}-${J.up?.id||"null"}-${J.center?.id||"null"}`,te=getDateString(J.date);return`${W}|${X}|${te}`},hasService=J=>J.service?.id!=null&&J.service.id!=="",canGroupTogether=(J,W)=>{const X=createVisitKeyWithoutService(J),te=createVisitKeyWithoutService(W);return X!==te?!1:!hasService(J)||!hasService(W)?!0:J.service?.id===W.service?.id},withinEightHours=(J,W)=>{const X=getDateObject(J).getTime(),te=getDateObject(W).getTime();return Math.abs(X-te)<=480*60*1e3};function groupByValidDiagnostics(J){J.forEach(W=>{const X=[],te=[];W.items.forEach(re=>{const oe=re.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let de=!1;for(const ce of X){const ue=ce.items[0];if(areSameDiagnostics(ue.diagnostics,oe)){ce.items.push(re),de=!0;break}}de||X.push({idSubGroup:generateId(),items:[re]})}else te.push(re)}),W.items=te,W.subGroups=X})}const groupActivityHistoryItems=J=>{if(!J?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const W=[...J].sort((re,oe)=>getDateObject(oe.date).getTime()-getDateObject(re.date).getTime()),X=new Map,te=[];for(const re of W){const oe=createVisitKeyWithoutService(re),ne=getDateObject(re.date).getTime();let de=!1;const ce=X.get(oe)||[];for(const ue of ce){const he=ue.items[0],pe=ue.items[ue.items.length-1];if(!(!he||!pe)&&canGroupTogether(he,re)&&withinEightHours(he.date,re.date)&&withinEightHours(pe.date,re.date)){const fe=getDateObject(pe.date).getTime(),be=getDateObject(he.date).getTime(),me=Math.min(fe,ne),ge=Math.max(be,ne);let ve=!1;for(const[_e,ye]of X)if(_e!==oe){for(const Se of ye){for(const we of Se.items){const Ce=getDateObject(we.date).getTime();if(Ce>me&&Ce<ge){ve=!0;break}}if(ve)break}if(ve)break}if(!ve){ue.items.push(re),de=!0;break}}}if(!de){const ue={idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]};te.push(ue);const he=X.get(oe);he?he.push(ue):X.set(oe,[ue])}}return te.sort((re,oe)=>{const ne=re.items[0],de=oe.items[0];return!ne||!de?0:getDateObject(de.date).getTime()-getDateObject(ne.date).getTime()}),groupByValidDiagnostics(te),te},sortGroupsByMostRecentDate=J=>{const W=oe=>oe.reduce((ne,de)=>{const ce=new Date(de.date);return ce>ne?ce:ne},new Date(0)),X=oe=>oe.sort((ne,de)=>new Date(de.date).getTime()-new Date(ne.date).getTime()),te=oe=>W(oe.items),re=oe=>{const ne=oe.items.length>0?[W(oe.items)]:[],de=oe.subGroups.map(te),ce=[...ne,...de];return ce.length>0?new Date(Math.max(...ce.map(ue=>ue.getTime()))):new Date(0)};return J.forEach(oe=>{oe.items=X(oe.items),oe.subGroups.forEach(ne=>{ne.items=X(ne.items)}),oe.subGroups.sort((ne,de)=>te(de).getTime()-te(ne).getTime())}),J.sort((oe,ne)=>re(ne).getTime()-re(oe).getTime())},activityHistorySearchStringSelector=J=>J.activityHistoryFilters.searchString,activityHistoryCollectionsSelector=J=>J.activityHistoryCollections.collections,historyDataImporterRulesByCollectionIdSelector=createSelector(activityHistoryCollectionsSelector,J=>{const W={};for(const[X,te]of Object.entries(J))te?.historyDataImporterRules&&(W[X]=te.historyDataImporterRules);return W}),mapItemsWithMetadata=(J,W,X,te)=>J.map(re=>({...re,searchPredicate:te,componentFactory:W,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,J=>Object.values(J).flatMap(W=>mapItemsWithMetadata(W.items,W.componentFactory,W.id,W.searchPredicate)));createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.filter(X=>{const te=W[X.id];return te?.items&&te.items.length>0}));const customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.map(te=>{const re=W[te.id];return{...te,filters:te.filters.map(oe=>({...oe,options:(oe.singleOption?[]:re?.items&&getUniqueObjects(re.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(J,W,X,te,re,oe)=>{const ne=new CommonFilterSpec(X),de=new ComposedTypeSpec(te),ce=new CustomFilterSpec(te),ue=new DiagnosticCodeSpec(re),he=new UpFilterSpec(oe),pe=J.filter(me=>new SearchStringSpec(W,me.searchPredicate).and(ne).and(de).and(ce).and(ue).and(he).isSatisfiedBy(me)),fe=groupActivityHistoryItems(pe);return sortGroupsByMostRecentDate(fe)});class SetCommonFilter{constructor(W){this.payload=W}}class SetCustomFilterAllValues{constructor(W){this.payload=W}}class SetCustomFilterGroup{constructor(W){this.payload=W}}class SetCustomFilterValue{constructor(W){this.payload=W}}class SetUpFiltersCommand{constructor(W){this.payload=W}}const styles$n=".filters-sidebar{padding:8px 4px;border-right:1px solid rgb(189,189,189);width:56px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.filters-sidebar dss-icon-button{align-self:center}.filters-sidebar[expanded]{width:296px}.filters-sidebar[expanded] .filters-sidebar-opened{display:flex;align-items:center;justify-content:space-between;padding-inline:8px;color:var(--color-neutral-900);font-weight:700;font-size:16px;line-height:24px}.filter-container{display:flex;flex-direction:column;padding:16px 8px 8px;overflow:auto}.filter-container .filter{padding:8px 0;border-bottom:1px solid var(--color-neutral-200)}.filter-group{display:flex;flex-direction:column;padding-top:12px;gap:var(--dss-spacing-xs);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-200)}.filter-group:last-of-type{border:none}.custom-subfilters-container{display:flex;flex-direction:column;padding-left:16px;gap:12px}.custom-subfilters-container .custom-filter-content{display:flex;flex-direction:column;gap:8px}";/**
|
|
355
|
+
`}handleTest(){console.log(this.selectedPeriodDate)}};__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedRadioOption",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"text",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedVisibilityLevelElement",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedPeriodDate",2),__decorateClass$v([n$y({type:Array})],ExportPdfModal.prototype,"arrayElements",2),ExportPdfModal=__decorateClass$v([t$x("export-pdf-modal")],ExportPdfModal);class ExportToPdfHandler extends ApiBaseHandler{async handle(){try{this.api.interactionService.confirm(void 0,{component:ExportPdfModal},{title:translate("modal.selectExportOption"),confirmButtonText:"Exportar",cancelButtonText:"Cancelar"})}catch(W){this._notifyError(W.message)}}_notifyError(W){this.api.notificationService.error(W||"actions.delete.error")}}class ExportPdf{}let request$e;const bootstrapExportPdf=J=>{request$e=J.registerRequest(ExportPdf,ExportToPdfHandler)},teardownExportPdf=()=>{request$e?.dispose()};function getUniqueObjects(J,W,X,te){const re=`Sense ${te.toLocaleLowerCase()}`,oe=new Map;let ne=!1;for(const ce of J){const ue=W.reduce((be,me)=>be?.[me],ce),he=X.reduce((be,me)=>be?.[me],ce);typeof ue=="string"&&ue.trim()!==""&&typeof he=="string"?oe.has(ue)||oe.set(ue,{id:ue,title:he}):ne=!0}const de=Array.from(oe.values()).sort((ce,ue)=>ce.title.localeCompare(ue.title,"ca",{sensitivity:"base"}));return ne&&de.push({id:"",title:re}),de}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(W){super(),this.commonFilters=W}isSatisfiedBy(W){return this.commonFilters.filter(re=>re.enabled).reduce((re,oe)=>re.and(new oe.spec),new TrueSpec).isSatisfiedBy(W)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(W,X){super(),this.propPath=W,this.value=X}isSatisfiedBy(W){return this.propPath.reduce((te,re)=>te?.[re],W)===this.value}}class CustomFilterSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(te=>te.enabled);return X.length===0?!0:X.every(te=>{if(!this.belongsToGroup(W,te))return!0;const re=te.filters.filter(oe=>oe.enabled||oe.singleOption);return re.length===0?!0:re.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(W):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((de,ce)=>de.or(new PropPathSpec(oe.propPathValue,ce)),new FalseSpec).isSatisfiedBy(W))})}belongsToGroup(W,X){return W.type===X.id}}class DiagnosticCodeSpec extends Spec{constructor(W){super(),this.diagnosticCodes=this.extractAllCodes(W)}extractAllCodes(W){const X=new Set;for(const te of W){if(te.codi&&X.add(te.codi),te.evolucions&&Array.isArray(te.evolucions))for(const re of te.evolucions)re.codi&&X.add(re.codi);if(te.relacions&&Array.isArray(te.relacions))for(const re of te.relacions)re.codi&&X.add(re.codi)}return Array.from(X)}isSatisfiedBy(W){return this.diagnosticCodes?.length?(W.diagnostics??[]).some(te=>this.diagnosticCodes.includes(te.codi)):!0}}const normalizeStringToNFD=J=>J==null?"":String(J).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(J,W)=>{const X=normalizeStringToNFD(J),te=normalizeStringToNFD(W);return X.toString().toLowerCase().indexOf(te)!==-1||X.toString().indexOf(te)!==-1},commonFieldsSearchPredicate=(J,W)=>{const X=J.professional?.name&&propContainsString(J.professional?.name,W),te=J.center?.description&&propContainsString(J.center.description,W),re=J.professional?.speciality?.description&&propContainsString(J.professional?.speciality.description,W),oe=J.professional?.role?.description&&propContainsString(J.professional?.role.description,W),ne=J.service?.description&&propContainsString(J.service.description,W),de=J.up?.description&&propContainsString(J.up.description,W),ce=J.diagnostics?.some(ue=>propContainsString(ue.descripcio,W));return X||te||re||oe||ne||de||ce};class SearchStringSpec extends Spec{constructor(W,X){super(),this.searchString=W,this.searchPredicate=X}isSatisfiedBy(W){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(W,this.searchString),te=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),W):!1;return!!(X||te)}}class TypeSpec extends Spec{constructor(W){super(),this.itemType=W}isSatisfiedBy(W){return W?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(re=>re.enabled).map(re=>re.id);return X.length===0?!0:X.reduce((re,oe)=>re.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(W)}}class UpFilterSpec extends Spec{constructor(W){super(),this.upIds=W}isSatisfiedBy(W){if(!this.upIds?.length)return!0;const X=W.up??null;return this.upIds.some(te=>X.id===te)}}const activityHistoryFiltersSelector=J=>J.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,J=>J.filter(W=>W.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,J=>!!J.length),activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,J=>J.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(J,W)=>Number(J.sort)-Number(W.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.some(W=>W.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.filter(W=>W.enabled).map(({id:W,title:X,enabled:te,sort:re,filters:oe})=>({id:W,title:X,enabled:te,sort:re,filters:oe.filter(ne=>ne.enabledValues?.length)})).filter(W=>W.filters.length>0));const diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,J=>J?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,J=>!!J.length),upFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,J=>J?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,J=>!!J.length),areSameDiagnostics=(J,W)=>{if(J.length!==W.length)return!1;const X=J.map(re=>re.codi).sort(),te=W.map(re=>re.codi).sort();return X.every((re,oe)=>re===te[oe])},hasValidDiagnostic=J=>J!=null&&typeof J.codi=="string"&&(typeof J.cataleg=="string"||J.cataleg===null)&&typeof J.descripcio=="string",hasValidDiagnostics=J=>J==null?!0:Array.isArray(J)&&J.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=J=>(dateStringCache.has(J)||dateStringCache.set(J,new Date(J).toDateString()),dateStringCache.get(J)),getDateObject=J=>(dateObjectCache.has(J)||dateObjectCache.set(J,new Date(J)),dateObjectCache.get(J)),createVisitKeyWithoutService=J=>{const W=`${J.professional?.id||"null"}-${J.professional?.role?.id||"null"}-${J.professional?.speciality?.id||"null"}`,X=`${J.ep?.id||"null"}-${J.up?.id||"null"}-${J.center?.id||"null"}`,te=getDateString(J.date);return`${W}|${X}|${te}`},hasService=J=>J.service?.id!=null&&J.service.id!=="",canGroupTogether=(J,W)=>{const X=createVisitKeyWithoutService(J),te=createVisitKeyWithoutService(W);return X!==te?!1:!hasService(J)||!hasService(W)?!0:J.service?.id===W.service?.id},withinEightHours=(J,W)=>{const X=getDateObject(J).getTime(),te=getDateObject(W).getTime();return Math.abs(X-te)<=480*60*1e3};function groupByValidDiagnostics(J){J.forEach(W=>{const X=[],te=[];W.items.forEach(re=>{const oe=re.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let de=!1;for(const ce of X){const ue=ce.items[0];if(areSameDiagnostics(ue.diagnostics,oe)){ce.items.push(re),de=!0;break}}de||X.push({idSubGroup:generateId(),items:[re]})}else te.push(re)}),W.items=te,W.subGroups=X})}const groupActivityHistoryItems=J=>{if(!J?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const W=[...J].sort((re,oe)=>getDateObject(oe.date).getTime()-getDateObject(re.date).getTime()),X=new Map,te=[];for(const re of W){const oe=createVisitKeyWithoutService(re),ne=getDateObject(re.date).getTime();let de=!1;const ce=X.get(oe)||[];for(const ue of ce){const he=ue.items[0],pe=ue.items[ue.items.length-1];if(!(!he||!pe)&&canGroupTogether(he,re)&&withinEightHours(he.date,re.date)&&withinEightHours(pe.date,re.date)){const fe=getDateObject(pe.date).getTime(),be=getDateObject(he.date).getTime(),me=Math.min(fe,ne),ge=Math.max(be,ne);let ve=!1;for(const[_e,ye]of X)if(_e!==oe){for(const Se of ye){for(const we of Se.items){const Ce=getDateObject(we.date).getTime();if(Ce>me&&Ce<ge){ve=!0;break}}if(ve)break}if(ve)break}if(!ve){ue.items.push(re),de=!0;break}}}if(!de){const ue={idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]};te.push(ue);const he=X.get(oe);he?he.push(ue):X.set(oe,[ue])}}return te.sort((re,oe)=>{const ne=re.items[0],de=oe.items[0];return!ne||!de?0:getDateObject(de.date).getTime()-getDateObject(ne.date).getTime()}),groupByValidDiagnostics(te),te},getMostRecentDate=J=>J.reduce((W,X)=>{const te=new Date(X.date);return te>W?te:W},new Date(0)),getSubGroupMostRecentDate=J=>getMostRecentDate(J.items),getGroupMostRecentDate=J=>{const W=J.items.length>0?[getMostRecentDate(J.items)]:[],X=J.subGroups.map(getSubGroupMostRecentDate),te=[...W,...X];return te.length>0?new Date(Math.max(...te.map(re=>re.getTime()))):new Date(0)},sortGroupsByMostRecentDate=J=>{const W=X=>X.sort((te,re)=>new Date(re.date).getTime()-new Date(te.date).getTime());return J.forEach(X=>{X.items=W(X.items),X.subGroups.forEach(te=>{te.items=W(te.items)}),X.subGroups.sort((te,re)=>getSubGroupMostRecentDate(re).getTime()-getSubGroupMostRecentDate(te).getTime())}),J.sort((X,te)=>getGroupMostRecentDate(te).getTime()-getGroupMostRecentDate(X).getTime())},activityHistorySearchStringSelector=J=>J.activityHistoryFilters.searchString,activityHistoryCollectionsSelector=J=>J.activityHistoryCollections.collections,historyDataImporterRulesByCollectionIdSelector=createSelector(activityHistoryCollectionsSelector,J=>{const W={};for(const[X,te]of Object.entries(J))te?.historyDataImporterRules&&(W[X]=te.historyDataImporterRules);return W}),mapItemsWithMetadata=(J,W,X,te)=>J.map(re=>({...re,searchPredicate:te,componentFactory:W,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,J=>Object.values(J).flatMap(W=>mapItemsWithMetadata(W.items,W.componentFactory,W.id,W.searchPredicate)));createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.filter(X=>{const te=W[X.id];return te?.items&&te.items.length>0}));const customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.map(te=>{const re=W[te.id];return{...te,filters:te.filters.map(oe=>({...oe,options:(oe.singleOption?[]:re?.items&&getUniqueObjects(re.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(J,W,X,te,re,oe)=>{const ne=new CommonFilterSpec(X),de=new ComposedTypeSpec(te),ce=new CustomFilterSpec(te),ue=new DiagnosticCodeSpec(re),he=new UpFilterSpec(oe),pe=J.filter(me=>new SearchStringSpec(W,me.searchPredicate).and(ne).and(de).and(ce).and(ue).and(he).isSatisfiedBy(me)),fe=groupActivityHistoryItems(pe);return sortGroupsByMostRecentDate(fe)});class SetCommonFilter{constructor(W){this.payload=W}}class SetCustomFilterAllValues{constructor(W){this.payload=W}}class SetCustomFilterGroup{constructor(W){this.payload=W}}class SetCustomFilterValue{constructor(W){this.payload=W}}class SetUpFiltersCommand{constructor(W){this.payload=W}}const styles$n=".filters-sidebar{padding:8px 4px;border-right:1px solid rgb(189,189,189);width:56px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.filters-sidebar dss-icon-button{align-self:center}.filters-sidebar[expanded]{width:296px}.filters-sidebar[expanded] .filters-sidebar-opened{display:flex;align-items:center;justify-content:space-between;padding-inline:8px;color:var(--color-neutral-900);font-weight:700;font-size:16px;line-height:24px}.filter-container{display:flex;flex-direction:column;padding:16px 8px 8px;overflow:auto}.filter-container .filter{padding:8px 0;border-bottom:1px solid var(--color-neutral-200)}.filter-group{display:flex;flex-direction:column;padding-top:12px;gap:var(--dss-spacing-xs);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-200)}.filter-group:last-of-type{border:none}.custom-subfilters-container{display:flex;flex-direction:column;padding-left:16px;gap:12px}.custom-subfilters-container .custom-filter-content{display:flex;flex-direction:column;gap:8px}";/**
|
|
356
356
|
* @license
|
|
357
357
|
* Copyright 2021 Google LLC
|
|
358
358
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -417,11 +417,11 @@ Registered bindings:`,re.forEach(function(oe){var ne="Object";oe.implementationT
|
|
|
417
417
|
</primaria-accordion>
|
|
418
418
|
`)};var __defProp$p=Object.defineProperty,__getOwnPropDesc$g=Object.getOwnPropertyDescriptor,__decorateClass$u=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$g(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$p(W,X,re),re};let ActivityHistoryFilters=class extends h$p{constructor(){super(...arguments),this.filtersExpanded=!1}render(){return ke$1`${template$o(this)}`}updated(J){J.has("wrapperMaximized")&&(this.filtersExpanded=this.wrapperMaximized)}_toggleFilters(){this.filtersExpanded=!this.filtersExpanded}_onChangeCommonFilterValue(J,W){this.api.broker.send(new SetCommonFilter({id:J,enabled:W}))}_onChangeCustomFilterGroupValue(J,W){this.api.broker.send(new SetCustomFilterGroup({id:J,enabled:W}))}_onChangeCustomFilterValue(J,W,X,te){this.api.broker.send(new SetCustomFilterValue({filterGroupId:J,filterId:W,optionId:X,enabled:te}))}_onChangeCustomFilterAllValues(J,W,X){this.api.broker.send(new SetCustomFilterAllValues({filterGroupId:J,filterId:W,values:X}))}_handleUpFilterChange(J){const W=J.detail.selectedValue;this.api.broker.send(new SetUpFiltersCommand(W))}};ActivityHistoryFilters.styles=i$S`
|
|
419
419
|
${r$M(styles$n)}
|
|
420
|
-
`,__decorateClass$u([connectedProperty(activityHistoryCommonFiltersSelector)],ActivityHistoryFilters.prototype,"commonFilters",2),__decorateClass$u([connectedProperty(customFilterGroupsWithOptionsSelector)],ActivityHistoryFilters.prototype,"customFilterGroups",2),__decorateClass$u([connectedProperty(upFilterSelector)],ActivityHistoryFilters.prototype,"upFilter",2),__decorateClass$u([connectedProperty(upFilterEnabledValuesSelector)],ActivityHistoryFilters.prototype,"upFilterEnabledValues",2),__decorateClass$u([lazyInject(TYPES.primaryApi)],ActivityHistoryFilters.prototype,"api",2),__decorateClass$u([r$J()],ActivityHistoryFilters.prototype,"filtersExpanded",2),__decorateClass$u([n$y({type:Boolean})],ActivityHistoryFilters.prototype,"wrapperMaximized",2),ActivityHistoryFilters=__decorateClass$u([t$x("activity-history-filters")],ActivityHistoryFilters);const{setCommonFilterValue}=activityHistoryFiltersSlice.actions;class SetCommonFilterHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCommonFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$d;const bootstrapSetCommonFilter=J=>{request$d=J.registerRequest(SetCommonFilter,SetCommonFilterHandler)},teardownSetCommonFilter=()=>{request$d?.dispose()},{addCustomFilters}=activityHistoryFiltersSlice.actions;class AddCustomFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addCustomFilters(W.payload))}catch(X){console.error(X.message)}}}let request$c;const bootstrapAddCustomFilter=J=>{request$c=J.registerRequest(AddCustomFiltersCommand,AddCustomFiltersHandler)},teardownAddCustomFilter=()=>{request$c?.dispose()},{setCustomFilterAllValues}=activityHistoryFiltersSlice.actions;class SetCustomFilterAllValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterAllValues(W.payload))}catch(X){console.error(X.message)}}}let request$b;const bootstrapSetCustomFilterAllValues=J=>{request$b=J.registerRequest(SetCustomFilterAllValues,SetCustomFilterAllValuesHandler)},teardownSetCustomFilterAllValues=()=>{request$b?.dispose()},{setCustomFilterGroupValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterGroupHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterGroupValue(W.payload))}catch(X){console.error(X.message)}}}let request$a;const bootstrapSetCustomFilterGroup=J=>{request$a=J.registerRequest(SetCustomFilterGroup,SetCustomFilterGroupHandler)},teardownSetCustomFilterGroup=()=>{request$a?.dispose()},{setCustomFilterValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterValueHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$9;const bootstrapSetCustomFilterValue=J=>{request$9=J.registerRequest(SetCustomFilterValue,SetCustomFilterValueHandler)},teardownSetCustomFilterValue=()=>{request$9?.dispose()},{deleteDiagnosticFilterValue}=activityHistoryFiltersSlice.actions;class DeleteDiagnosticFilterValueHandler extends BaseHandler{async handle(W){try{const te=diagnosticFilterEnabledValuesSelector(this.store.getState()).find(re=>re.codi===W.payload.diagnosticCodi);if(te){const{evolucions:re,relacions:oe,...ne}=te;this.api.broker.publish(this.api.broker.events.activityHistory.diagnosticFilterDeactivated,{diagnostic:ne})}this.store.dispatch(deleteDiagnosticFilterValue(W.payload))}catch(X){console.error(X.message)}}}class DeleteDiagnosticFilterValueCommand{constructor(W){this.payload=W}}let deleteFilterValueRequest;const bootstrapDeleteDiagnosticFilterValue=J=>{deleteFilterValueRequest=J.registerRequest(DeleteDiagnosticFilterValueCommand,DeleteDiagnosticFilterValueHandler)},teardownDeleteDiagnosticFilterValue=()=>{deleteFilterValueRequest?.dispose()},{setDiagnosticFilterValues}=activityHistoryFiltersSlice.actions;class SetDiagnosticFilterValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setDiagnosticFilterValues(W.payload.diagnostics))}catch(X){console.error(X.message)}}}class SetDiagnosticFiltersValuesCommand{constructor(W){this.payload=W}}let setFiltersValueRequest;const bootstrapSetDiagnosticFilter=J=>{setFiltersValueRequest=J.registerRequest(SetDiagnosticFiltersValuesCommand,SetDiagnosticFilterValuesHandler)},teardownSetDiagnosticFilter=()=>{setFiltersValueRequest?.dispose()},subscribeDiagnosticFilters=J=>{J.broker.subscribe("cipds_diagnostic_filter_historic_requested",W=>{J.broker.send(new SetDiagnosticFiltersValuesCommand(W))})};class ResetFiltersCommand{}const{resetFilters}=activityHistoryFiltersSlice.actions;class ResetFiltersHandler extends BaseHandler{async handle(W){try{this.api.broker.publish(this.api.broker.events.activityHistory.filtersCleaned),this.store.dispatch(resetFilters())}catch(X){console.error(X.message)}}}let request$8;const bootstrapResetFilters=J=>{request$8=J.registerRequest(ResetFiltersCommand,ResetFiltersHandler)},teardownResetFilters=()=>{request$8?.dispose()},{addUpFilters}=activityHistoryFiltersSlice.actions;class AddUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addUpFilters(W.payload))}catch(X){console.error(X.message)}}}class AddUpFiltersCommand{constructor(W){this.payload=W}}let request$7;const bootstrapAddUpFilter=J=>{request$7=J.registerRequest(AddUpFiltersCommand,AddUpFiltersHandler)},teardownAddUpFilter=()=>{request$7?.dispose()},{setUpFilterValues}=activityHistoryFiltersSlice.actions;class SetUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setUpFilterValues(W.payload))}catch(X){console.error(X.message)}}}let request$6;const bootstrapSetUpFilter=J=>{request$6=J.registerRequest(SetUpFiltersCommand,SetUpFiltersHandler)},teardownSetUpFilter=()=>{request$6?.dispose()},bootstrapFilters=(J,W)=>{bootstrapSetCommonFilter(J),bootstrapAddCustomFilter(J),bootstrapSetCustomFilterGroup(J),bootstrapSetCustomFilterValue(J),bootstrapSetCustomFilterAllValues(J),bootstrapSetDiagnosticFilter(J),bootstrapDeleteDiagnosticFilterValue(J),bootstrapAddUpFilter(J),bootstrapSetUpFilter(J),bootstrapResetFilters(J),subscribeDiagnosticFilters(W)},teardownFilters=()=>{teardownSetCommonFilter(),teardownAddCustomFilter(),teardownSetCustomFilterGroup(),teardownSetCustomFilterValue(),teardownSetCustomFilterAllValues(),teardownSetDiagnosticFilter(),teardownDeleteDiagnosticFilterValue(),teardownAddUpFilter(),teardownSetUpFilter(),teardownResetFilters()};/**
|
|
420
|
+
`,__decorateClass$u([connectedProperty(activityHistoryCommonFiltersSelector)],ActivityHistoryFilters.prototype,"commonFilters",2),__decorateClass$u([connectedProperty(customFilterGroupsWithOptionsSelector)],ActivityHistoryFilters.prototype,"customFilterGroups",2),__decorateClass$u([connectedProperty(upFilterSelector)],ActivityHistoryFilters.prototype,"upFilter",2),__decorateClass$u([connectedProperty(upFilterEnabledValuesSelector)],ActivityHistoryFilters.prototype,"upFilterEnabledValues",2),__decorateClass$u([lazyInject(TYPES.primaryApi)],ActivityHistoryFilters.prototype,"api",2),__decorateClass$u([r$J()],ActivityHistoryFilters.prototype,"filtersExpanded",2),__decorateClass$u([n$y({type:Boolean})],ActivityHistoryFilters.prototype,"wrapperMaximized",2),ActivityHistoryFilters=__decorateClass$u([t$x("activity-history-filters")],ActivityHistoryFilters);const{setCommonFilterValue}=activityHistoryFiltersSlice.actions;class SetCommonFilterHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCommonFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$d;const bootstrapSetCommonFilter=J=>{request$d=J.registerRequest(SetCommonFilter,SetCommonFilterHandler)},teardownSetCommonFilter=()=>{request$d?.dispose()},{addCustomFilters}=activityHistoryFiltersSlice.actions;class AddCustomFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addCustomFilters(W.payload))}catch(X){console.error(X.message)}}}let request$c;const bootstrapAddCustomFilter=J=>{request$c=J.registerRequest(AddCustomFiltersCommand,AddCustomFiltersHandler)},teardownAddCustomFilter=()=>{request$c?.dispose()},{setCustomFilterAllValues}=activityHistoryFiltersSlice.actions;class SetCustomFilterAllValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterAllValues(W.payload))}catch(X){console.error(X.message)}}}let request$b;const bootstrapSetCustomFilterAllValues=J=>{request$b=J.registerRequest(SetCustomFilterAllValues,SetCustomFilterAllValuesHandler)},teardownSetCustomFilterAllValues=()=>{request$b?.dispose()},{setCustomFilterGroupValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterGroupHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterGroupValue(W.payload))}catch(X){console.error(X.message)}}}let request$a;const bootstrapSetCustomFilterGroup=J=>{request$a=J.registerRequest(SetCustomFilterGroup,SetCustomFilterGroupHandler)},teardownSetCustomFilterGroup=()=>{request$a?.dispose()},{setCustomFilterValue}=activityHistoryFiltersSlice.actions;class SetCustomFilterValueHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setCustomFilterValue(W.payload))}catch(X){console.error(X.message)}}}let request$9;const bootstrapSetCustomFilterValue=J=>{request$9=J.registerRequest(SetCustomFilterValue,SetCustomFilterValueHandler)},teardownSetCustomFilterValue=()=>{request$9?.dispose()},{deleteDiagnosticFilterValue}=activityHistoryFiltersSlice.actions;class DeleteDiagnosticFilterValueHandler extends BaseHandler{async handle(W){try{const te=diagnosticFilterEnabledValuesSelector(this.store.getState()).find(re=>re.codi===W.payload.diagnosticCodi);if(te){const{evolucions:re,relacions:oe,...ne}=te;this.api.broker.publish(this.api.broker.events.activityHistory.diagnosticFilterDeactivated,{diagnostic:ne})}this.store.dispatch(deleteDiagnosticFilterValue(W.payload))}catch(X){console.error(X.message)}}}class DeleteDiagnosticFilterValueCommand{constructor(W){this.payload=W}}let deleteFilterValueRequest;const bootstrapDeleteDiagnosticFilterValue=J=>{deleteFilterValueRequest=J.registerRequest(DeleteDiagnosticFilterValueCommand,DeleteDiagnosticFilterValueHandler)},teardownDeleteDiagnosticFilterValue=()=>{deleteFilterValueRequest?.dispose()},{setDiagnosticFilterValues}=activityHistoryFiltersSlice.actions;class SetDiagnosticFilterValuesHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setDiagnosticFilterValues(W.payload.diagnostics))}catch(X){console.error(X.message)}}}class SetDiagnosticFiltersValuesCommand{constructor(W){this.payload=W}}let setFiltersValueRequest;const bootstrapSetDiagnosticFilter=J=>{setFiltersValueRequest=J.registerRequest(SetDiagnosticFiltersValuesCommand,SetDiagnosticFilterValuesHandler)},teardownSetDiagnosticFilter=()=>{setFiltersValueRequest?.dispose()},subscribeDiagnosticFilters=J=>{J.broker.subscribe("cipds_diagnostic_filter_historic_requested",W=>{J.broker.send(new SetDiagnosticFiltersValuesCommand(W))})};class ResetFiltersCommand{}const{resetFilters}=activityHistoryFiltersSlice.actions;class ResetFiltersHandler extends BaseHandler{async handle(W){try{this.api.broker.publish(this.api.broker.events.activityHistory.filtersCleaned),this.store.dispatch(resetFilters())}catch(X){console.error(X.message)}}}let request$8;const bootstrapResetFilters=J=>{request$8=J.registerRequest(ResetFiltersCommand,ResetFiltersHandler)},teardownResetFilters=()=>{request$8?.dispose()},{addUpFilters}=activityHistoryFiltersSlice.actions;class AddUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(addUpFilters(W.payload))}catch(X){console.error(X.message)}}}class AddUpFiltersCommand{constructor(W){this.payload=W}}let request$7;const bootstrapAddUpFilter=J=>{request$7=J.registerRequest(AddUpFiltersCommand,AddUpFiltersHandler)},teardownAddUpFilter=()=>{request$7?.dispose()},{setUpFilterValues}=activityHistoryFiltersSlice.actions;class SetUpFiltersHandler extends StoreBaseHandler{async handle(W){try{this.store.dispatch(setUpFilterValues(W.payload))}catch(X){console.error(X.message)}}}let request$6;const bootstrapSetUpFilter=J=>{request$6=J.registerRequest(SetUpFiltersCommand,SetUpFiltersHandler)},teardownSetUpFilter=()=>{request$6?.dispose()},bootstrapFilters=(J,W)=>{bootstrapSetCommonFilter(J),bootstrapAddCustomFilter(J),bootstrapSetCustomFilterGroup(J),bootstrapSetCustomFilterValue(J),bootstrapSetCustomFilterAllValues(J),bootstrapSetDiagnosticFilter(J),bootstrapDeleteDiagnosticFilterValue(J),bootstrapAddUpFilter(J),bootstrapSetUpFilter(J),bootstrapResetFilters(J),subscribeDiagnosticFilters(W)},teardownFilters=()=>{teardownSetCommonFilter(),teardownAddCustomFilter(),teardownSetCustomFilterGroup(),teardownSetCustomFilterValue(),teardownSetCustomFilterAllValues(),teardownSetDiagnosticFilter(),teardownDeleteDiagnosticFilterValue(),teardownAddUpFilter(),teardownSetUpFilter(),teardownResetFilters()};function toDate(J){const W=Object.prototype.toString.call(J);return J instanceof Date||typeof J=="object"&&W==="[object Date]"?new J.constructor(+J):typeof J=="number"||W==="[object Number]"||typeof J=="string"||W==="[object String]"?new Date(J):new Date(NaN)}function constructFrom(J,W){return J instanceof Date?new J.constructor(W):new Date(W)}function addDays(J,W){const X=toDate(J);return isNaN(W)?constructFrom(J,NaN):(W&&X.setDate(X.getDate()+W),X)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(J,W){const X=getDefaultOptions$1(),te=W?.weekStartsOn??W?.locale?.options?.weekStartsOn??X.weekStartsOn??X.locale?.options?.weekStartsOn??0,re=toDate(J),oe=re.getDay(),ne=(oe<te?7:0)+oe-te;return re.setDate(re.getDate()-ne),re.setHours(0,0,0,0),re}function startOfISOWeek(J){return startOfWeek(J,{weekStartsOn:1})}function getISOWeekYear(J){const W=toDate(J),X=W.getFullYear(),te=constructFrom(J,0);te.setFullYear(X+1,0,4),te.setHours(0,0,0,0);const re=startOfISOWeek(te),oe=constructFrom(J,0);oe.setFullYear(X,0,4),oe.setHours(0,0,0,0);const ne=startOfISOWeek(oe);return W.getTime()>=re.getTime()?X+1:W.getTime()>=ne.getTime()?X:X-1}function startOfDay(J){const W=toDate(J);return W.setHours(0,0,0,0),W}function getTimezoneOffsetInMilliseconds(J){const W=toDate(J),X=new Date(Date.UTC(W.getFullYear(),W.getMonth(),W.getDate(),W.getHours(),W.getMinutes(),W.getSeconds(),W.getMilliseconds()));return X.setUTCFullYear(W.getFullYear()),+J-+X}function differenceInCalendarDays(J,W){const X=startOfDay(J),te=startOfDay(W),re=+X-getTimezoneOffsetInMilliseconds(X),oe=+te-getTimezoneOffsetInMilliseconds(te);return Math.round((re-oe)/millisecondsInDay)}function startOfISOWeekYear(J){const W=getISOWeekYear(J),X=constructFrom(J,0);return X.setFullYear(W,0,4),X.setHours(0,0,0,0),startOfISOWeek(X)}function isDate(J){return J instanceof Date||typeof J=="object"&&Object.prototype.toString.call(J)==="[object Date]"}function isValid(J){if(!isDate(J)&&typeof J!="number")return!1;const W=toDate(J);return!isNaN(Number(W))}function endOfMonth(J){const W=toDate(J),X=W.getMonth();return W.setFullYear(W.getFullYear(),X+1,0),W.setHours(23,59,59,999),W}function eachDayOfInterval(J,W){const X=toDate(J.start),te=toDate(J.end);let re=+X>+te;const oe=re?+X:+te,ne=re?te:X;ne.setHours(0,0,0,0);let de=1;const ce=[];for(;+ne<=oe;)ce.push(toDate(ne)),ne.setDate(ne.getDate()+de),ne.setHours(0,0,0,0);return re?ce.reverse():ce}function startOfMonth(J){const W=toDate(J);return W.setDate(1),W.setHours(0,0,0,0),W}function startOfYear(J){const W=toDate(J),X=constructFrom(J,0);return X.setFullYear(W.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=(J,W,X)=>{let te;const re=formatDistanceLocale[J];return typeof re=="string"?te=re:W===1?te=re.one:te=re.other.replace("{{count}}",W.toString()),X?.addSuffix?X.comparison&&X.comparison>0?"in "+te:te+" ago":te};function buildFormatLongFn(J){return(W={})=>{const X=W.width?String(W.width):J.defaultWidth;return J.formats[X]||J.formats[J.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=(J,W,X,te)=>formatRelativeLocale[J];function buildLocalizeFn(J){return(W,X)=>{const te=X?.context?String(X.context):"standalone";let re;if(te==="formatting"&&J.formattingValues){const ne=J.defaultFormattingWidth||J.defaultWidth,de=X?.width?String(X.width):ne;re=J.formattingValues[de]||J.formattingValues[ne]}else{const ne=J.defaultWidth,de=X?.width?String(X.width):J.defaultWidth;re=J.values[de]||J.values[ne]}const oe=J.argumentCallback?J.argumentCallback(W):W;return re[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=(J,W)=>{const X=Number(J),te=X%100;if(te>20||te<10)switch(te%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:J=>J-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(J){return(W,X={})=>{const te=X.width,re=te&&J.matchPatterns[te]||J.matchPatterns[J.defaultMatchWidth],oe=W.match(re);if(!oe)return null;const ne=oe[0],de=te&&J.parsePatterns[te]||J.parsePatterns[J.defaultParseWidth],ce=Array.isArray(de)?findIndex(de,pe=>pe.test(ne)):findKey(de,pe=>pe.test(ne));let ue;ue=J.valueCallback?J.valueCallback(ce):ce,ue=X.valueCallback?X.valueCallback(ue):ue;const he=W.slice(ne.length);return{value:ue,rest:he}}}function findKey(J,W){for(const X in J)if(Object.prototype.hasOwnProperty.call(J,X)&&W(J[X]))return X}function findIndex(J,W){for(let X=0;X<J.length;X++)if(W(J[X]))return X}function buildMatchPatternFn(J){return(W,X={})=>{const te=W.match(J.matchPattern);if(!te)return null;const re=te[0],oe=W.match(J.parsePattern);if(!oe)return null;let ne=J.valueCallback?J.valueCallback(oe[0]):oe[0];ne=X.valueCallback?X.valueCallback(ne):ne;const de=W.slice(re.length);return{value:ne,rest:de}}}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:J=>parseInt(J,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:J=>J+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(J){const W=toDate(J);return differenceInCalendarDays(W,startOfYear(W))+1}function getISOWeek(J){const W=toDate(J),X=+startOfISOWeek(W)-+startOfISOWeekYear(W);return Math.round(X/millisecondsInWeek)+1}function getWeekYear(J,W){const X=toDate(J),te=X.getFullYear(),re=getDefaultOptions$1(),oe=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,ne=constructFrom(J,0);ne.setFullYear(te+1,0,oe),ne.setHours(0,0,0,0);const de=startOfWeek(ne,W),ce=constructFrom(J,0);ce.setFullYear(te,0,oe),ce.setHours(0,0,0,0);const ue=startOfWeek(ce,W);return X.getTime()>=de.getTime()?te+1:X.getTime()>=ue.getTime()?te:te-1}function startOfWeekYear(J,W){const X=getDefaultOptions$1(),te=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??X.firstWeekContainsDate??X.locale?.options?.firstWeekContainsDate??1,re=getWeekYear(J,W),oe=constructFrom(J,0);return oe.setFullYear(re,0,te),oe.setHours(0,0,0,0),startOfWeek(oe,W)}function getWeek(J,W){const X=toDate(J),te=+startOfWeek(X,W)-+startOfWeekYear(X,W);return Math.round(te/millisecondsInWeek)+1}function addLeadingZeros(J,W){const X=J<0?"-":"",te=Math.abs(J).toString().padStart(W,"0");return X+te}const lightFormatters={y(J,W){const X=J.getFullYear(),te=X>0?X:1-X;return addLeadingZeros(W==="yy"?te%100:te,W.length)},M(J,W){const X=J.getMonth();return W==="M"?String(X+1):addLeadingZeros(X+1,2)},d(J,W){return addLeadingZeros(J.getDate(),W.length)},a(J,W){const X=J.getHours()/12>=1?"pm":"am";switch(W){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(J,W){return addLeadingZeros(J.getHours()%12||12,W.length)},H(J,W){return addLeadingZeros(J.getHours(),W.length)},m(J,W){return addLeadingZeros(J.getMinutes(),W.length)},s(J,W){return addLeadingZeros(J.getSeconds(),W.length)},S(J,W){const X=W.length,te=J.getMilliseconds(),re=Math.trunc(te*Math.pow(10,X-3));return addLeadingZeros(re,W.length)}},dayPeriodEnum={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(J,W,X){const te=J.getFullYear()>0?1:0;switch(W){case"G":case"GG":case"GGG":return X.era(te,{width:"abbreviated"});case"GGGGG":return X.era(te,{width:"narrow"});case"GGGG":default:return X.era(te,{width:"wide"})}},y:function(J,W,X){if(W==="yo"){const te=J.getFullYear(),re=te>0?te:1-te;return X.ordinalNumber(re,{unit:"year"})}return lightFormatters.y(J,W)},Y:function(J,W,X,te){const re=getWeekYear(J,te),oe=re>0?re:1-re;if(W==="YY"){const ne=oe%100;return addLeadingZeros(ne,2)}return W==="Yo"?X.ordinalNumber(oe,{unit:"year"}):addLeadingZeros(oe,W.length)},R:function(J,W){const X=getISOWeekYear(J);return addLeadingZeros(X,W.length)},u:function(J,W){const X=J.getFullYear();return addLeadingZeros(X,W.length)},Q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"Q":return String(te);case"QQ":return addLeadingZeros(te,2);case"Qo":return X.ordinalNumber(te,{unit:"quarter"});case"QQQ":return X.quarter(te,{width:"abbreviated",context:"formatting"});case"QQQQQ":return X.quarter(te,{width:"narrow",context:"formatting"});case"QQQQ":default:return X.quarter(te,{width:"wide",context:"formatting"})}},q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"q":return String(te);case"qq":return addLeadingZeros(te,2);case"qo":return X.ordinalNumber(te,{unit:"quarter"});case"qqq":return X.quarter(te,{width:"abbreviated",context:"standalone"});case"qqqqq":return X.quarter(te,{width:"narrow",context:"standalone"});case"qqqq":default:return X.quarter(te,{width:"wide",context:"standalone"})}},M:function(J,W,X){const te=J.getMonth();switch(W){case"M":case"MM":return lightFormatters.M(J,W);case"Mo":return X.ordinalNumber(te+1,{unit:"month"});case"MMM":return X.month(te,{width:"abbreviated",context:"formatting"});case"MMMMM":return X.month(te,{width:"narrow",context:"formatting"});case"MMMM":default:return X.month(te,{width:"wide",context:"formatting"})}},L:function(J,W,X){const te=J.getMonth();switch(W){case"L":return String(te+1);case"LL":return addLeadingZeros(te+1,2);case"Lo":return X.ordinalNumber(te+1,{unit:"month"});case"LLL":return X.month(te,{width:"abbreviated",context:"standalone"});case"LLLLL":return X.month(te,{width:"narrow",context:"standalone"});case"LLLL":default:return X.month(te,{width:"wide",context:"standalone"})}},w:function(J,W,X,te){const re=getWeek(J,te);return W==="wo"?X.ordinalNumber(re,{unit:"week"}):addLeadingZeros(re,W.length)},I:function(J,W,X){const te=getISOWeek(J);return W==="Io"?X.ordinalNumber(te,{unit:"week"}):addLeadingZeros(te,W.length)},d:function(J,W,X){return W==="do"?X.ordinalNumber(J.getDate(),{unit:"date"}):lightFormatters.d(J,W)},D:function(J,W,X){const te=getDayOfYear(J);return W==="Do"?X.ordinalNumber(te,{unit:"dayOfYear"}):addLeadingZeros(te,W.length)},E:function(J,W,X){const te=J.getDay();switch(W){case"E":case"EE":case"EEE":return X.day(te,{width:"abbreviated",context:"formatting"});case"EEEEE":return X.day(te,{width:"narrow",context:"formatting"});case"EEEEEE":return X.day(te,{width:"short",context:"formatting"});case"EEEE":default:return X.day(te,{width:"wide",context:"formatting"})}},e:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"e":return String(oe);case"ee":return addLeadingZeros(oe,2);case"eo":return X.ordinalNumber(oe,{unit:"day"});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"})}},c:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"c":return String(oe);case"cc":return addLeadingZeros(oe,W.length);case"co":return X.ordinalNumber(oe,{unit:"day"});case"ccc":return X.day(re,{width:"abbreviated",context:"standalone"});case"ccccc":return X.day(re,{width:"narrow",context:"standalone"});case"cccccc":return X.day(re,{width:"short",context:"standalone"});case"cccc":default:return X.day(re,{width:"wide",context:"standalone"})}},i:function(J,W,X){const te=J.getDay(),re=te===0?7:te;switch(W){case"i":return String(re);case"ii":return addLeadingZeros(re,W.length);case"io":return X.ordinalNumber(re,{unit:"day"});case"iii":return X.day(te,{width:"abbreviated",context:"formatting"});case"iiiii":return X.day(te,{width:"narrow",context:"formatting"});case"iiiiii":return X.day(te,{width:"short",context:"formatting"});case"iiii":default:return X.day(te,{width:"wide",context:"formatting"})}},a:function(J,W,X){const re=J.getHours()/12>=1?"pm":"am";switch(W){case"a":case"aa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"aaa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"aaaa":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},b:function(J,W,X){const te=J.getHours();let re;switch(te===12?re=dayPeriodEnum.noon:te===0?re=dayPeriodEnum.midnight:re=te/12>=1?"pm":"am",W){case"b":case"bb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"bbb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"bbbb":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},B:function(J,W,X){const te=J.getHours();let re;switch(te>=17?re=dayPeriodEnum.evening:te>=12?re=dayPeriodEnum.afternoon:te>=4?re=dayPeriodEnum.morning:re=dayPeriodEnum.night,W){case"B":case"BB":case"BBB":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"BBBBB":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"BBBB":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},h:function(J,W,X){if(W==="ho"){let te=J.getHours()%12;return te===0&&(te=12),X.ordinalNumber(te,{unit:"hour"})}return lightFormatters.h(J,W)},H:function(J,W,X){return W==="Ho"?X.ordinalNumber(J.getHours(),{unit:"hour"}):lightFormatters.H(J,W)},K:function(J,W,X){const te=J.getHours()%12;return W==="Ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},k:function(J,W,X){let te=J.getHours();return te===0&&(te=24),W==="ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},m:function(J,W,X){return W==="mo"?X.ordinalNumber(J.getMinutes(),{unit:"minute"}):lightFormatters.m(J,W)},s:function(J,W,X){return W==="so"?X.ordinalNumber(J.getSeconds(),{unit:"second"}):lightFormatters.s(J,W)},S:function(J,W){return lightFormatters.S(J,W)},X:function(J,W,X){const te=J.getTimezoneOffset();if(te===0)return"Z";switch(W){case"X":return formatTimezoneWithOptionalMinutes(te);case"XXXX":case"XX":return formatTimezone(te);case"XXXXX":case"XXX":default:return formatTimezone(te,":")}},x:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"x":return formatTimezoneWithOptionalMinutes(te);case"xxxx":case"xx":return formatTimezone(te);case"xxxxx":case"xxx":default:return formatTimezone(te,":")}},O:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(te,":");case"OOOO":default:return"GMT"+formatTimezone(te,":")}},z:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(te,":");case"zzzz":default:return"GMT"+formatTimezone(te,":")}},t:function(J,W,X){const te=Math.trunc(J.getTime()/1e3);return addLeadingZeros(te,W.length)},T:function(J,W,X){const te=J.getTime();return addLeadingZeros(te,W.length)}};function formatTimezoneShort(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=Math.trunc(te/60),oe=te%60;return oe===0?X+String(re):X+String(re)+W+addLeadingZeros(oe,2)}function formatTimezoneWithOptionalMinutes(J,W){return J%60===0?(J>0?"-":"+")+addLeadingZeros(Math.abs(J)/60,2):formatTimezone(J,W)}function formatTimezone(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=addLeadingZeros(Math.trunc(te/60),2),oe=addLeadingZeros(te%60,2);return X+re+W+oe}const dateLongFormatter=(J,W)=>{switch(J){case"P":return W.date({width:"short"});case"PP":return W.date({width:"medium"});case"PPP":return W.date({width:"long"});case"PPPP":default:return W.date({width:"full"})}},timeLongFormatter=(J,W)=>{switch(J){case"p":return W.time({width:"short"});case"pp":return W.time({width:"medium"});case"ppp":return W.time({width:"long"});case"pppp":default:return W.time({width:"full"})}},dateTimeLongFormatter=(J,W)=>{const X=J.match(/(P+)(p+)?/)||[],te=X[1],re=X[2];if(!re)return dateLongFormatter(J,W);let oe;switch(te){case"P":oe=W.dateTime({width:"short"});break;case"PP":oe=W.dateTime({width:"medium"});break;case"PPP":oe=W.dateTime({width:"long"});break;case"PPPP":default:oe=W.dateTime({width:"full"});break}return oe.replace("{{date}}",dateLongFormatter(te,W)).replace("{{time}}",timeLongFormatter(re,W))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(J){return dayOfYearTokenRE.test(J)}function isProtectedWeekYearToken(J){return weekYearTokenRE.test(J)}function warnOrThrowProtectedError(J,W,X){const te=message(J,W,X);if(console.warn(te),throwTokens.includes(J))throw new RangeError(te)}function message(J,W,X){const te=J[0]==="Y"?"years":"days of the month";return`Use \`${J.toLowerCase()}\` instead of \`${J}\` (in \`${W}\`) for formatting ${te} 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(J,W,X){const te=getDefaultOptions$1(),re=te.locale??enUS,oe=te.firstWeekContainsDate??te.locale?.options?.firstWeekContainsDate??1,ne=te.weekStartsOn??te.locale?.options?.weekStartsOn??0,de=toDate(J);if(!isValid(de))throw new RangeError("Invalid time value");let ce=W.match(longFormattingTokensRegExp$1).map(he=>{const pe=he[0];if(pe==="p"||pe==="P"){const fe=longFormatters[pe];return fe(he,re.formatLong)}return he}).join("").match(formattingTokensRegExp$1).map(he=>{if(he==="''")return{isToken:!1,value:"'"};const pe=he[0];if(pe==="'")return{isToken:!1,value:cleanEscapedString$1(he)};if(formatters[pe])return{isToken:!0,value:he};if(pe.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+pe+"`");return{isToken:!1,value:he}});re.localize.preprocessor&&(ce=re.localize.preprocessor(de,ce));const ue={firstWeekContainsDate:oe,weekStartsOn:ne,locale:re};return ce.map(he=>{if(!he.isToken)return he.value;const pe=he.value;(isProtectedWeekYearToken(pe)||isProtectedDayOfYearToken(pe))&&warnOrThrowProtectedError(pe,W,String(J));const fe=formatters[pe[0]];return fe(de,pe,re.localize,ue)}).join("")}function cleanEscapedString$1(J){const W=J.match(escapedStringRegExp$1);return W?W[1].replace(doubleQuoteRegExp$1,"'"):J}function getDay(J){return toDate(J).getDay()}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(J){let X=toDate(J).getDay();return X===0&&(X=7),X}function transpose(J,W){const X=W instanceof Date?constructFrom(W,0):new W(0);return X.setFullYear(J.getFullYear(),J.getMonth(),J.getDate()),X.setHours(J.getHours(),J.getMinutes(),J.getSeconds(),J.getMilliseconds()),X}const TIMEZONE_UNIT_PRIORITY=10;class Setter{subPriority=0;validate(W,X){return!0}}class ValueSetter extends Setter{constructor(W,X,te,re,oe){super(),this.value=W,this.validateValue=X,this.setValue=te,this.priority=re,oe&&(this.subPriority=oe)}validate(W,X){return this.validateValue(W,this.value,X)}set(W,X,te){return this.setValue(W,X,this.value,te)}}class DateToSystemTimezoneSetter extends Setter{priority=TIMEZONE_UNIT_PRIORITY;subPriority=-1;set(W,X){return X.timestampIsSet?W:constructFrom(W,transpose(W,Date))}}class Parser{run(W,X,te,re){const oe=this.parse(W,X,te,re);return oe?{setter:new ValueSetter(oe.value,this.validate,this.set,this.priority,this.subPriority),rest:oe.rest}:null}validate(W,X,te){return!0}}class EraParser extends Parser{priority=140;parse(W,X,te){switch(X){case"G":case"GG":case"GGG":return te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"});case"GGGGG":return te.era(W,{width:"narrow"});case"GGGG":default:return te.era(W,{width:"wide"})||te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"})}}set(W,X,te){return X.era=te,W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}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(J,W){return J&&{value:W(J.value),rest:J.rest}}function parseNumericPattern(J,W){const X=W.match(J);return X?{value:parseInt(X[0],10),rest:W.slice(X[0].length)}:null}function parseTimezonePattern(J,W){const X=W.match(J);if(!X)return null;if(X[0]==="Z")return{value:0,rest:W.slice(1)};const te=X[1]==="+"?1:-1,re=X[2]?parseInt(X[2],10):0,oe=X[3]?parseInt(X[3],10):0,ne=X[5]?parseInt(X[5],10):0;return{value:te*(re*millisecondsInHour+oe*millisecondsInMinute+ne*millisecondsInSecond),rest:W.slice(X[0].length)}}function parseAnyDigitsSigned(J){return parseNumericPattern(numericPatterns.anyDigitsSigned,J)}function parseNDigits(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigit,W);case 2:return parseNumericPattern(numericPatterns.twoDigits,W);case 3:return parseNumericPattern(numericPatterns.threeDigits,W);case 4:return parseNumericPattern(numericPatterns.fourDigits,W);default:return parseNumericPattern(new RegExp("^\\d{1,"+J+"}"),W)}}function parseNDigitsSigned(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,W);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,W);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,W);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,W);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+J+"}"),W)}}function dayPeriodEnumToHours(J){switch(J){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(J,W){const X=W>0,te=X?W:1-W;let re;if(te<=50)re=J||100;else{const oe=te+50,ne=Math.trunc(oe/100)*100,de=J>=oe%100;re=J+ne-(de?100:0)}return X?re:1-re}function isLeapYearIndex(J){return J%400===0||J%4===0&&J%100!==0}class YearParser extends Parser{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="yy"});switch(X){case"y":return mapValue(parseNDigits(4,W),re);case"yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te){const re=W.getFullYear();if(te.isTwoDigitYear){const ne=normalizeTwoDigitYear(te.year,re);return W.setFullYear(ne,0,1),W.setHours(0,0,0,0),W}const oe=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(oe,0,1),W.setHours(0,0,0,0),W}}class LocalWeekYearParser extends Parser{priority=130;parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="YY"});switch(X){case"Y":return mapValue(parseNDigits(4,W),re);case"Yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te,re){const oe=getWeekYear(W,re);if(te.isTwoDigitYear){const de=normalizeTwoDigitYear(te.year,oe);return W.setFullYear(de,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}const ne=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(ne,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ISOWeekYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="R"?4:X.length,W)}set(W,X,te){const re=constructFrom(W,0);return re.setFullYear(te,0,4),re.setHours(0,0,0,0),startOfISOWeek(re)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class ExtendedYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="u"?4:X.length,W)}set(W,X,te){return W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class QuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"Q":case"QQ":return parseNDigits(X.length,W);case"Qo":return te.ordinalNumber(W,{unit:"quarter"});case"QQQ":return te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQQ":return te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQ":default:return te.quarter(W,{width:"wide",context:"formatting"})||te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class StandAloneQuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"q":case"qq":return parseNDigits(X.length,W);case"qo":return te.ordinalNumber(W,{unit:"quarter"});case"qqq":return te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"});case"qqqqq":return te.quarter(W,{width:"narrow",context:"standalone"});case"qqqq":default:return te.quarter(W,{width:"wide",context:"standalone"})||te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}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(W,X,te){const re=oe=>oe-1;switch(X){case"M":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"MM":return mapValue(parseNDigits(2,W),re);case"Mo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"MMM":return te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"});case"MMMMM":return te.month(W,{width:"narrow",context:"formatting"});case"MMMM":default:return te.month(W,{width:"wide",context:"formatting"})||te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}}class StandAloneMonthParser extends Parser{priority=110;parse(W,X,te){const re=oe=>oe-1;switch(X){case"L":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"LL":return mapValue(parseNDigits(2,W),re);case"Lo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"LLL":return te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"});case"LLLLL":return te.month(W,{width:"narrow",context:"standalone"});case"LLLL":default:return te.month(W,{width:"wide",context:"standalone"})||te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function setWeek(J,W,X){const te=toDate(J),re=getWeek(te,X)-W;return te.setDate(te.getDate()-re*7),te}class LocalWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"w":return parseNumericPattern(numericPatterns.week,W);case"wo":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te,re){return startOfWeek(setWeek(W,te,re),re)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function setISOWeek(J,W){const X=toDate(J),te=getISOWeek(X)-W;return X.setDate(X.getDate()-te*7),X}class ISOWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"I":return parseNumericPattern(numericPatterns.week,W);case"Io":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te){return startOfISOWeek(setISOWeek(W,te))}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(W,X,te){switch(X){case"d":return parseNumericPattern(numericPatterns.date,W);case"do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear(),re=isLeapYearIndex(te),oe=W.getMonth();return re?X>=1&&X<=DAYS_IN_MONTH_LEAP_YEAR[oe]:X>=1&&X<=DAYS_IN_MONTH[oe]}set(W,X,te){return W.setDate(te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class DayOfYearParser extends Parser{priority=90;subpriority=1;parse(W,X,te){switch(X){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,W);case"Do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear();return isLeapYearIndex(te)?X>=1&&X<=366:X>=1&&X<=365}set(W,X,te){return W.setMonth(0,te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function setDay(J,W,X){const te=getDefaultOptions$1(),re=X?.weekStartsOn??X?.locale?.options?.weekStartsOn??te.weekStartsOn??te.locale?.options?.weekStartsOn??0,oe=toDate(J),ne=oe.getDay(),ce=(W%7+7)%7,ue=7-re,he=W<0||W>6?W-(ne+ue)%7:(ce+ue)%7-(ne+ue)%7;return addDays(oe,he)}class DayParser extends Parser{priority=90;parse(W,X,te){switch(X){case"E":case"EE":case"EEE":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEEE":return te.day(W,{width:"narrow",context:"formatting"});case"EEEEEE":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEE":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["D","i","e","c","t","T"]}class LocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"e":case"ee":return mapValue(parseNDigits(X.length,W),oe);case"eo":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"eee":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeeee":return te.day(W,{width:"narrow",context:"formatting"});case"eeeeee":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeee":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class StandAloneLocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"c":case"cc":return mapValue(parseNDigits(X.length,W),oe);case"co":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"ccc":return te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"ccccc":return te.day(W,{width:"narrow",context:"standalone"});case"cccccc":return te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"cccc":default:return te.day(W,{width:"wide",context:"standalone"})||te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function setISODay(J,W){const X=toDate(J),te=getISODay(X),re=W-te;return addDays(X,re)}class ISODayParser extends Parser{priority=90;parse(W,X,te){const re=oe=>oe===0?7:oe;switch(X){case"i":case"ii":return parseNDigits(X.length,W);case"io":return te.ordinalNumber(W,{unit:"day"});case"iii":return mapValue(te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiii":return mapValue(te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiiii":return mapValue(te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiii":default:return mapValue(te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re)}}validate(W,X){return X>=1&&X<=7}set(W,X,te){return W=setISODay(W,te),W.setHours(0,0,0,0),W}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AMPMParser extends Parser{priority=80;parse(W,X,te){switch(X){case"a":case"aa":case"aaa":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaaa":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaa":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["b","B","H","k","t","T"]}class AMPMMidnightParser extends Parser{priority=80;parse(W,X,te){switch(X){case"b":case"bb":case"bbb":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbbb":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbb":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","B","H","k","t","T"]}class DayPeriodParser extends Parser{priority=80;parse(W,X,te){switch(X){case"B":case"BB":case"BBB":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBBB":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBB":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","b","t","T"]}class Hour1to12Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"h":return parseNumericPattern(numericPatterns.hour12h,W);case"ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=12}set(W,X,te){const re=W.getHours()>=12;return re&&te<12?W.setHours(te+12,0,0,0):!re&&te===12?W.setHours(0,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["H","K","k","t","T"]}class Hour0to23Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"H":return parseNumericPattern(numericPatterns.hour23h,W);case"Ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=23}set(W,X,te){return W.setHours(te,0,0,0),W}incompatibleTokens=["a","b","h","K","k","t","T"]}class Hour0To11Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"K":return parseNumericPattern(numericPatterns.hour11h,W);case"Ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.getHours()>=12&&te<12?W.setHours(te+12,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["h","H","k","t","T"]}class Hour1To24Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"k":return parseNumericPattern(numericPatterns.hour24h,W);case"ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=24}set(W,X,te){const re=te<=24?te%24:te;return W.setHours(re,0,0,0),W}incompatibleTokens=["a","b","h","H","K","t","T"]}class MinuteParser extends Parser{priority=60;parse(W,X,te){switch(X){case"m":return parseNumericPattern(numericPatterns.minute,W);case"mo":return te.ordinalNumber(W,{unit:"minute"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setMinutes(te,0,0),W}incompatibleTokens=["t","T"]}class SecondParser extends Parser{priority=50;parse(W,X,te){switch(X){case"s":return parseNumericPattern(numericPatterns.second,W);case"so":return te.ordinalNumber(W,{unit:"second"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setSeconds(te,0),W}incompatibleTokens=["t","T"]}class FractionOfSecondParser extends Parser{priority=30;parse(W,X){const te=re=>Math.trunc(re*Math.pow(10,-X.length+3));return mapValue(parseNDigits(X.length,W),te)}set(W,X,te){return W.setMilliseconds(te),W}incompatibleTokens=["t","T"]}class ISOTimezoneWithZParser extends Parser{priority=10;parse(W,X){switch(X){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"XX":return parseTimezonePattern(timezonePatterns.basic,W);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","x"]}class ISOTimezoneParser extends Parser{priority=10;parse(W,X){switch(X){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"xx":return parseTimezonePattern(timezonePatterns.basic,W);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","X"]}class TimestampSecondsParser extends Parser{priority=40;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class TimestampMillisecondsParser extends Parser{priority=20;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te),{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(J,W,X,te){const re=getDefaultOptions(),oe=re.locale??enUS,ne=re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,de=re.weekStartsOn??re.locale?.options?.weekStartsOn??0,ce={firstWeekContainsDate:ne,weekStartsOn:de,locale:oe},ue=[new DateToSystemTimezoneSetter],he=W.match(longFormattingTokensRegExp).map(ge=>{const ve=ge[0];if(ve in longFormatters){const _e=longFormatters[ve];return _e(ge,oe.formatLong)}return ge}).join("").match(formattingTokensRegExp),pe=[];for(let ge of he){isProtectedWeekYearToken(ge)&&warnOrThrowProtectedError(ge,W,J),isProtectedDayOfYearToken(ge)&&warnOrThrowProtectedError(ge,W,J);const ve=ge[0],_e=parsers[ve];if(_e){const{incompatibleTokens:ye}=_e;if(Array.isArray(ye)){const we=pe.find(Ce=>ye.includes(Ce.token)||Ce.token===ve);if(we)throw new RangeError(`The format string mustn't contain \`${we.fullToken}\` and \`${ge}\` at the same time`)}else if(_e.incompatibleTokens==="*"&&pe.length>0)throw new RangeError(`The format string mustn't contain \`${ge}\` and any other token at the same time`);pe.push({token:ve,fullToken:ge});const Se=_e.run(J,ge,oe.match,ce);if(!Se)return constructFrom(X,NaN);ue.push(Se.setter),J=Se.rest}else{if(ve.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+ve+"`");if(ge==="''"?ge="'":ve==="'"&&(ge=cleanEscapedString(ge)),J.indexOf(ge)===0)J=J.slice(ge.length);else return constructFrom(X,NaN)}}if(J.length>0&¬WhitespaceRegExp.test(J))return constructFrom(X,NaN);const fe=ue.map(ge=>ge.priority).sort((ge,ve)=>ve-ge).filter((ge,ve,_e)=>_e.indexOf(ge)===ve).map(ge=>ue.filter(ve=>ve.priority===ge).sort((ve,_e)=>_e.subPriority-ve.subPriority)).map(ge=>ge[0]);let be=toDate(X);if(isNaN(be.getTime()))return constructFrom(X,NaN);const me={};for(const ge of fe){if(!ge.validate(be,ce))return constructFrom(X,NaN);const ve=ge.set(be,me,ce);Array.isArray(ve)?(be=ve[0],Object.assign(me,ve[1])):be=ve}return constructFrom(X,be)}function cleanEscapedString(J){return J.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}/**
|
|
421
421
|
* @license
|
|
422
422
|
* Copyright 2017 Google LLC
|
|
423
423
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
424
|
-
*/class le extends i$P{constructor(W){if(super(W),this.it=D$4,W.type!==t$u.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(W){if(W===D$4||W==null)return this._t=void 0,this.it=W;if(W===R$5)return W;if(typeof W!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(W===this.it)return this._t;this.it=W;const X=[W];return X.raw=X,this._t={_$litType$:this.constructor.resultType,strings:X,values:[]}}}le.directiveName="unsafeHTML",le.resultType=1;const ae=e$O(le),styles$m=":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(J){const W=Object.prototype.toString.call(J);return J instanceof Date||typeof J=="object"&&W==="[object Date]"?new J.constructor(+J):typeof J=="number"||W==="[object Number]"||typeof J=="string"||W==="[object String]"?new Date(J):new Date(NaN)}function constructFrom(J,W){return J instanceof Date?new J.constructor(W):new Date(W)}function addDays(J,W){const X=toDate(J);return isNaN(W)?constructFrom(J,NaN):(W&&X.setDate(X.getDate()+W),X)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(J,W){const X=getDefaultOptions$1(),te=W?.weekStartsOn??W?.locale?.options?.weekStartsOn??X.weekStartsOn??X.locale?.options?.weekStartsOn??0,re=toDate(J),oe=re.getDay(),ne=(oe<te?7:0)+oe-te;return re.setDate(re.getDate()-ne),re.setHours(0,0,0,0),re}function startOfISOWeek(J){return startOfWeek(J,{weekStartsOn:1})}function getISOWeekYear(J){const W=toDate(J),X=W.getFullYear(),te=constructFrom(J,0);te.setFullYear(X+1,0,4),te.setHours(0,0,0,0);const re=startOfISOWeek(te),oe=constructFrom(J,0);oe.setFullYear(X,0,4),oe.setHours(0,0,0,0);const ne=startOfISOWeek(oe);return W.getTime()>=re.getTime()?X+1:W.getTime()>=ne.getTime()?X:X-1}function startOfDay(J){const W=toDate(J);return W.setHours(0,0,0,0),W}function getTimezoneOffsetInMilliseconds(J){const W=toDate(J),X=new Date(Date.UTC(W.getFullYear(),W.getMonth(),W.getDate(),W.getHours(),W.getMinutes(),W.getSeconds(),W.getMilliseconds()));return X.setUTCFullYear(W.getFullYear()),+J-+X}function differenceInCalendarDays(J,W){const X=startOfDay(J),te=startOfDay(W),re=+X-getTimezoneOffsetInMilliseconds(X),oe=+te-getTimezoneOffsetInMilliseconds(te);return Math.round((re-oe)/millisecondsInDay)}function startOfISOWeekYear(J){const W=getISOWeekYear(J),X=constructFrom(J,0);return X.setFullYear(W,0,4),X.setHours(0,0,0,0),startOfISOWeek(X)}function isDate(J){return J instanceof Date||typeof J=="object"&&Object.prototype.toString.call(J)==="[object Date]"}function isValid(J){if(!isDate(J)&&typeof J!="number")return!1;const W=toDate(J);return!isNaN(Number(W))}function endOfMonth(J){const W=toDate(J),X=W.getMonth();return W.setFullYear(W.getFullYear(),X+1,0),W.setHours(23,59,59,999),W}function eachDayOfInterval(J,W){const X=toDate(J.start),te=toDate(J.end);let re=+X>+te;const oe=re?+X:+te,ne=re?te:X;ne.setHours(0,0,0,0);let de=1;const ce=[];for(;+ne<=oe;)ce.push(toDate(ne)),ne.setDate(ne.getDate()+de),ne.setHours(0,0,0,0);return re?ce.reverse():ce}function startOfMonth(J){const W=toDate(J);return W.setDate(1),W.setHours(0,0,0,0),W}function startOfYear(J){const W=toDate(J),X=constructFrom(J,0);return X.setFullYear(W.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=(J,W,X)=>{let te;const re=formatDistanceLocale[J];return typeof re=="string"?te=re:W===1?te=re.one:te=re.other.replace("{{count}}",W.toString()),X?.addSuffix?X.comparison&&X.comparison>0?"in "+te:te+" ago":te};function buildFormatLongFn(J){return(W={})=>{const X=W.width?String(W.width):J.defaultWidth;return J.formats[X]||J.formats[J.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=(J,W,X,te)=>formatRelativeLocale[J];function buildLocalizeFn(J){return(W,X)=>{const te=X?.context?String(X.context):"standalone";let re;if(te==="formatting"&&J.formattingValues){const ne=J.defaultFormattingWidth||J.defaultWidth,de=X?.width?String(X.width):ne;re=J.formattingValues[de]||J.formattingValues[ne]}else{const ne=J.defaultWidth,de=X?.width?String(X.width):J.defaultWidth;re=J.values[de]||J.values[ne]}const oe=J.argumentCallback?J.argumentCallback(W):W;return re[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=(J,W)=>{const X=Number(J),te=X%100;if(te>20||te<10)switch(te%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:J=>J-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(J){return(W,X={})=>{const te=X.width,re=te&&J.matchPatterns[te]||J.matchPatterns[J.defaultMatchWidth],oe=W.match(re);if(!oe)return null;const ne=oe[0],de=te&&J.parsePatterns[te]||J.parsePatterns[J.defaultParseWidth],ce=Array.isArray(de)?findIndex(de,pe=>pe.test(ne)):findKey(de,pe=>pe.test(ne));let ue;ue=J.valueCallback?J.valueCallback(ce):ce,ue=X.valueCallback?X.valueCallback(ue):ue;const he=W.slice(ne.length);return{value:ue,rest:he}}}function findKey(J,W){for(const X in J)if(Object.prototype.hasOwnProperty.call(J,X)&&W(J[X]))return X}function findIndex(J,W){for(let X=0;X<J.length;X++)if(W(J[X]))return X}function buildMatchPatternFn(J){return(W,X={})=>{const te=W.match(J.matchPattern);if(!te)return null;const re=te[0],oe=W.match(J.parsePattern);if(!oe)return null;let ne=J.valueCallback?J.valueCallback(oe[0]):oe[0];ne=X.valueCallback?X.valueCallback(ne):ne;const de=W.slice(re.length);return{value:ne,rest:de}}}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:J=>parseInt(J,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:J=>J+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(J){const W=toDate(J);return differenceInCalendarDays(W,startOfYear(W))+1}function getISOWeek(J){const W=toDate(J),X=+startOfISOWeek(W)-+startOfISOWeekYear(W);return Math.round(X/millisecondsInWeek)+1}function getWeekYear(J,W){const X=toDate(J),te=X.getFullYear(),re=getDefaultOptions$1(),oe=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,ne=constructFrom(J,0);ne.setFullYear(te+1,0,oe),ne.setHours(0,0,0,0);const de=startOfWeek(ne,W),ce=constructFrom(J,0);ce.setFullYear(te,0,oe),ce.setHours(0,0,0,0);const ue=startOfWeek(ce,W);return X.getTime()>=de.getTime()?te+1:X.getTime()>=ue.getTime()?te:te-1}function startOfWeekYear(J,W){const X=getDefaultOptions$1(),te=W?.firstWeekContainsDate??W?.locale?.options?.firstWeekContainsDate??X.firstWeekContainsDate??X.locale?.options?.firstWeekContainsDate??1,re=getWeekYear(J,W),oe=constructFrom(J,0);return oe.setFullYear(re,0,te),oe.setHours(0,0,0,0),startOfWeek(oe,W)}function getWeek(J,W){const X=toDate(J),te=+startOfWeek(X,W)-+startOfWeekYear(X,W);return Math.round(te/millisecondsInWeek)+1}function addLeadingZeros(J,W){const X=J<0?"-":"",te=Math.abs(J).toString().padStart(W,"0");return X+te}const lightFormatters={y(J,W){const X=J.getFullYear(),te=X>0?X:1-X;return addLeadingZeros(W==="yy"?te%100:te,W.length)},M(J,W){const X=J.getMonth();return W==="M"?String(X+1):addLeadingZeros(X+1,2)},d(J,W){return addLeadingZeros(J.getDate(),W.length)},a(J,W){const X=J.getHours()/12>=1?"pm":"am";switch(W){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(J,W){return addLeadingZeros(J.getHours()%12||12,W.length)},H(J,W){return addLeadingZeros(J.getHours(),W.length)},m(J,W){return addLeadingZeros(J.getMinutes(),W.length)},s(J,W){return addLeadingZeros(J.getSeconds(),W.length)},S(J,W){const X=W.length,te=J.getMilliseconds(),re=Math.trunc(te*Math.pow(10,X-3));return addLeadingZeros(re,W.length)}},dayPeriodEnum={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(J,W,X){const te=J.getFullYear()>0?1:0;switch(W){case"G":case"GG":case"GGG":return X.era(te,{width:"abbreviated"});case"GGGGG":return X.era(te,{width:"narrow"});case"GGGG":default:return X.era(te,{width:"wide"})}},y:function(J,W,X){if(W==="yo"){const te=J.getFullYear(),re=te>0?te:1-te;return X.ordinalNumber(re,{unit:"year"})}return lightFormatters.y(J,W)},Y:function(J,W,X,te){const re=getWeekYear(J,te),oe=re>0?re:1-re;if(W==="YY"){const ne=oe%100;return addLeadingZeros(ne,2)}return W==="Yo"?X.ordinalNumber(oe,{unit:"year"}):addLeadingZeros(oe,W.length)},R:function(J,W){const X=getISOWeekYear(J);return addLeadingZeros(X,W.length)},u:function(J,W){const X=J.getFullYear();return addLeadingZeros(X,W.length)},Q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"Q":return String(te);case"QQ":return addLeadingZeros(te,2);case"Qo":return X.ordinalNumber(te,{unit:"quarter"});case"QQQ":return X.quarter(te,{width:"abbreviated",context:"formatting"});case"QQQQQ":return X.quarter(te,{width:"narrow",context:"formatting"});case"QQQQ":default:return X.quarter(te,{width:"wide",context:"formatting"})}},q:function(J,W,X){const te=Math.ceil((J.getMonth()+1)/3);switch(W){case"q":return String(te);case"qq":return addLeadingZeros(te,2);case"qo":return X.ordinalNumber(te,{unit:"quarter"});case"qqq":return X.quarter(te,{width:"abbreviated",context:"standalone"});case"qqqqq":return X.quarter(te,{width:"narrow",context:"standalone"});case"qqqq":default:return X.quarter(te,{width:"wide",context:"standalone"})}},M:function(J,W,X){const te=J.getMonth();switch(W){case"M":case"MM":return lightFormatters.M(J,W);case"Mo":return X.ordinalNumber(te+1,{unit:"month"});case"MMM":return X.month(te,{width:"abbreviated",context:"formatting"});case"MMMMM":return X.month(te,{width:"narrow",context:"formatting"});case"MMMM":default:return X.month(te,{width:"wide",context:"formatting"})}},L:function(J,W,X){const te=J.getMonth();switch(W){case"L":return String(te+1);case"LL":return addLeadingZeros(te+1,2);case"Lo":return X.ordinalNumber(te+1,{unit:"month"});case"LLL":return X.month(te,{width:"abbreviated",context:"standalone"});case"LLLLL":return X.month(te,{width:"narrow",context:"standalone"});case"LLLL":default:return X.month(te,{width:"wide",context:"standalone"})}},w:function(J,W,X,te){const re=getWeek(J,te);return W==="wo"?X.ordinalNumber(re,{unit:"week"}):addLeadingZeros(re,W.length)},I:function(J,W,X){const te=getISOWeek(J);return W==="Io"?X.ordinalNumber(te,{unit:"week"}):addLeadingZeros(te,W.length)},d:function(J,W,X){return W==="do"?X.ordinalNumber(J.getDate(),{unit:"date"}):lightFormatters.d(J,W)},D:function(J,W,X){const te=getDayOfYear(J);return W==="Do"?X.ordinalNumber(te,{unit:"dayOfYear"}):addLeadingZeros(te,W.length)},E:function(J,W,X){const te=J.getDay();switch(W){case"E":case"EE":case"EEE":return X.day(te,{width:"abbreviated",context:"formatting"});case"EEEEE":return X.day(te,{width:"narrow",context:"formatting"});case"EEEEEE":return X.day(te,{width:"short",context:"formatting"});case"EEEE":default:return X.day(te,{width:"wide",context:"formatting"})}},e:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"e":return String(oe);case"ee":return addLeadingZeros(oe,2);case"eo":return X.ordinalNumber(oe,{unit:"day"});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"})}},c:function(J,W,X,te){const re=J.getDay(),oe=(re-te.weekStartsOn+8)%7||7;switch(W){case"c":return String(oe);case"cc":return addLeadingZeros(oe,W.length);case"co":return X.ordinalNumber(oe,{unit:"day"});case"ccc":return X.day(re,{width:"abbreviated",context:"standalone"});case"ccccc":return X.day(re,{width:"narrow",context:"standalone"});case"cccccc":return X.day(re,{width:"short",context:"standalone"});case"cccc":default:return X.day(re,{width:"wide",context:"standalone"})}},i:function(J,W,X){const te=J.getDay(),re=te===0?7:te;switch(W){case"i":return String(re);case"ii":return addLeadingZeros(re,W.length);case"io":return X.ordinalNumber(re,{unit:"day"});case"iii":return X.day(te,{width:"abbreviated",context:"formatting"});case"iiiii":return X.day(te,{width:"narrow",context:"formatting"});case"iiiiii":return X.day(te,{width:"short",context:"formatting"});case"iiii":default:return X.day(te,{width:"wide",context:"formatting"})}},a:function(J,W,X){const re=J.getHours()/12>=1?"pm":"am";switch(W){case"a":case"aa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"aaa":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"aaaa":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},b:function(J,W,X){const te=J.getHours();let re;switch(te===12?re=dayPeriodEnum.noon:te===0?re=dayPeriodEnum.midnight:re=te/12>=1?"pm":"am",W){case"b":case"bb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"bbb":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"bbbb":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},B:function(J,W,X){const te=J.getHours();let re;switch(te>=17?re=dayPeriodEnum.evening:te>=12?re=dayPeriodEnum.afternoon:te>=4?re=dayPeriodEnum.morning:re=dayPeriodEnum.night,W){case"B":case"BB":case"BBB":return X.dayPeriod(re,{width:"abbreviated",context:"formatting"});case"BBBBB":return X.dayPeriod(re,{width:"narrow",context:"formatting"});case"BBBB":default:return X.dayPeriod(re,{width:"wide",context:"formatting"})}},h:function(J,W,X){if(W==="ho"){let te=J.getHours()%12;return te===0&&(te=12),X.ordinalNumber(te,{unit:"hour"})}return lightFormatters.h(J,W)},H:function(J,W,X){return W==="Ho"?X.ordinalNumber(J.getHours(),{unit:"hour"}):lightFormatters.H(J,W)},K:function(J,W,X){const te=J.getHours()%12;return W==="Ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},k:function(J,W,X){let te=J.getHours();return te===0&&(te=24),W==="ko"?X.ordinalNumber(te,{unit:"hour"}):addLeadingZeros(te,W.length)},m:function(J,W,X){return W==="mo"?X.ordinalNumber(J.getMinutes(),{unit:"minute"}):lightFormatters.m(J,W)},s:function(J,W,X){return W==="so"?X.ordinalNumber(J.getSeconds(),{unit:"second"}):lightFormatters.s(J,W)},S:function(J,W){return lightFormatters.S(J,W)},X:function(J,W,X){const te=J.getTimezoneOffset();if(te===0)return"Z";switch(W){case"X":return formatTimezoneWithOptionalMinutes(te);case"XXXX":case"XX":return formatTimezone(te);case"XXXXX":case"XXX":default:return formatTimezone(te,":")}},x:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"x":return formatTimezoneWithOptionalMinutes(te);case"xxxx":case"xx":return formatTimezone(te);case"xxxxx":case"xxx":default:return formatTimezone(te,":")}},O:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(te,":");case"OOOO":default:return"GMT"+formatTimezone(te,":")}},z:function(J,W,X){const te=J.getTimezoneOffset();switch(W){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(te,":");case"zzzz":default:return"GMT"+formatTimezone(te,":")}},t:function(J,W,X){const te=Math.trunc(J.getTime()/1e3);return addLeadingZeros(te,W.length)},T:function(J,W,X){const te=J.getTime();return addLeadingZeros(te,W.length)}};function formatTimezoneShort(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=Math.trunc(te/60),oe=te%60;return oe===0?X+String(re):X+String(re)+W+addLeadingZeros(oe,2)}function formatTimezoneWithOptionalMinutes(J,W){return J%60===0?(J>0?"-":"+")+addLeadingZeros(Math.abs(J)/60,2):formatTimezone(J,W)}function formatTimezone(J,W=""){const X=J>0?"-":"+",te=Math.abs(J),re=addLeadingZeros(Math.trunc(te/60),2),oe=addLeadingZeros(te%60,2);return X+re+W+oe}const dateLongFormatter=(J,W)=>{switch(J){case"P":return W.date({width:"short"});case"PP":return W.date({width:"medium"});case"PPP":return W.date({width:"long"});case"PPPP":default:return W.date({width:"full"})}},timeLongFormatter=(J,W)=>{switch(J){case"p":return W.time({width:"short"});case"pp":return W.time({width:"medium"});case"ppp":return W.time({width:"long"});case"pppp":default:return W.time({width:"full"})}},dateTimeLongFormatter=(J,W)=>{const X=J.match(/(P+)(p+)?/)||[],te=X[1],re=X[2];if(!re)return dateLongFormatter(J,W);let oe;switch(te){case"P":oe=W.dateTime({width:"short"});break;case"PP":oe=W.dateTime({width:"medium"});break;case"PPP":oe=W.dateTime({width:"long"});break;case"PPPP":default:oe=W.dateTime({width:"full"});break}return oe.replace("{{date}}",dateLongFormatter(te,W)).replace("{{time}}",timeLongFormatter(re,W))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(J){return dayOfYearTokenRE.test(J)}function isProtectedWeekYearToken(J){return weekYearTokenRE.test(J)}function warnOrThrowProtectedError(J,W,X){const te=message(J,W,X);if(console.warn(te),throwTokens.includes(J))throw new RangeError(te)}function message(J,W,X){const te=J[0]==="Y"?"years":"days of the month";return`Use \`${J.toLowerCase()}\` instead of \`${J}\` (in \`${W}\`) for formatting ${te} 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(J,W,X){const te=getDefaultOptions$1(),re=te.locale??enUS,oe=te.firstWeekContainsDate??te.locale?.options?.firstWeekContainsDate??1,ne=te.weekStartsOn??te.locale?.options?.weekStartsOn??0,de=toDate(J);if(!isValid(de))throw new RangeError("Invalid time value");let ce=W.match(longFormattingTokensRegExp$1).map(he=>{const pe=he[0];if(pe==="p"||pe==="P"){const fe=longFormatters[pe];return fe(he,re.formatLong)}return he}).join("").match(formattingTokensRegExp$1).map(he=>{if(he==="''")return{isToken:!1,value:"'"};const pe=he[0];if(pe==="'")return{isToken:!1,value:cleanEscapedString$1(he)};if(formatters[pe])return{isToken:!0,value:he};if(pe.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+pe+"`");return{isToken:!1,value:he}});re.localize.preprocessor&&(ce=re.localize.preprocessor(de,ce));const ue={firstWeekContainsDate:oe,weekStartsOn:ne,locale:re};return ce.map(he=>{if(!he.isToken)return he.value;const pe=he.value;(isProtectedWeekYearToken(pe)||isProtectedDayOfYearToken(pe))&&warnOrThrowProtectedError(pe,W,String(J));const fe=formatters[pe[0]];return fe(de,pe,re.localize,ue)}).join("")}function cleanEscapedString$1(J){const W=J.match(escapedStringRegExp$1);return W?W[1].replace(doubleQuoteRegExp$1,"'"):J}function getDay(J){return toDate(J).getDay()}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(J){let X=toDate(J).getDay();return X===0&&(X=7),X}function transpose(J,W){const X=W instanceof Date?constructFrom(W,0):new W(0);return X.setFullYear(J.getFullYear(),J.getMonth(),J.getDate()),X.setHours(J.getHours(),J.getMinutes(),J.getSeconds(),J.getMilliseconds()),X}const TIMEZONE_UNIT_PRIORITY=10;class Setter{subPriority=0;validate(W,X){return!0}}class ValueSetter extends Setter{constructor(W,X,te,re,oe){super(),this.value=W,this.validateValue=X,this.setValue=te,this.priority=re,oe&&(this.subPriority=oe)}validate(W,X){return this.validateValue(W,this.value,X)}set(W,X,te){return this.setValue(W,X,this.value,te)}}class DateToSystemTimezoneSetter extends Setter{priority=TIMEZONE_UNIT_PRIORITY;subPriority=-1;set(W,X){return X.timestampIsSet?W:constructFrom(W,transpose(W,Date))}}class Parser{run(W,X,te,re){const oe=this.parse(W,X,te,re);return oe?{setter:new ValueSetter(oe.value,this.validate,this.set,this.priority,this.subPriority),rest:oe.rest}:null}validate(W,X,te){return!0}}class EraParser extends Parser{priority=140;parse(W,X,te){switch(X){case"G":case"GG":case"GGG":return te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"});case"GGGGG":return te.era(W,{width:"narrow"});case"GGGG":default:return te.era(W,{width:"wide"})||te.era(W,{width:"abbreviated"})||te.era(W,{width:"narrow"})}}set(W,X,te){return X.era=te,W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}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(J,W){return J&&{value:W(J.value),rest:J.rest}}function parseNumericPattern(J,W){const X=W.match(J);return X?{value:parseInt(X[0],10),rest:W.slice(X[0].length)}:null}function parseTimezonePattern(J,W){const X=W.match(J);if(!X)return null;if(X[0]==="Z")return{value:0,rest:W.slice(1)};const te=X[1]==="+"?1:-1,re=X[2]?parseInt(X[2],10):0,oe=X[3]?parseInt(X[3],10):0,ne=X[5]?parseInt(X[5],10):0;return{value:te*(re*millisecondsInHour+oe*millisecondsInMinute+ne*millisecondsInSecond),rest:W.slice(X[0].length)}}function parseAnyDigitsSigned(J){return parseNumericPattern(numericPatterns.anyDigitsSigned,J)}function parseNDigits(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigit,W);case 2:return parseNumericPattern(numericPatterns.twoDigits,W);case 3:return parseNumericPattern(numericPatterns.threeDigits,W);case 4:return parseNumericPattern(numericPatterns.fourDigits,W);default:return parseNumericPattern(new RegExp("^\\d{1,"+J+"}"),W)}}function parseNDigitsSigned(J,W){switch(J){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,W);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,W);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,W);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,W);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+J+"}"),W)}}function dayPeriodEnumToHours(J){switch(J){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(J,W){const X=W>0,te=X?W:1-W;let re;if(te<=50)re=J||100;else{const oe=te+50,ne=Math.trunc(oe/100)*100,de=J>=oe%100;re=J+ne-(de?100:0)}return X?re:1-re}function isLeapYearIndex(J){return J%400===0||J%4===0&&J%100!==0}class YearParser extends Parser{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="yy"});switch(X){case"y":return mapValue(parseNDigits(4,W),re);case"yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te){const re=W.getFullYear();if(te.isTwoDigitYear){const ne=normalizeTwoDigitYear(te.year,re);return W.setFullYear(ne,0,1),W.setHours(0,0,0,0),W}const oe=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(oe,0,1),W.setHours(0,0,0,0),W}}class LocalWeekYearParser extends Parser{priority=130;parse(W,X,te){const re=oe=>({year:oe,isTwoDigitYear:X==="YY"});switch(X){case"Y":return mapValue(parseNDigits(4,W),re);case"Yo":return mapValue(te.ordinalNumber(W,{unit:"year"}),re);default:return mapValue(parseNDigits(X.length,W),re)}}validate(W,X){return X.isTwoDigitYear||X.year>0}set(W,X,te,re){const oe=getWeekYear(W,re);if(te.isTwoDigitYear){const de=normalizeTwoDigitYear(te.year,oe);return W.setFullYear(de,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}const ne=!("era"in X)||X.era===1?te.year:1-te.year;return W.setFullYear(ne,0,re.firstWeekContainsDate),W.setHours(0,0,0,0),startOfWeek(W,re)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ISOWeekYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="R"?4:X.length,W)}set(W,X,te){const re=constructFrom(W,0);return re.setFullYear(te,0,4),re.setHours(0,0,0,0),startOfISOWeek(re)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class ExtendedYearParser extends Parser{priority=130;parse(W,X){return parseNDigitsSigned(X==="u"?4:X.length,W)}set(W,X,te){return W.setFullYear(te,0,1),W.setHours(0,0,0,0),W}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class QuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"Q":case"QQ":return parseNDigits(X.length,W);case"Qo":return te.ordinalNumber(W,{unit:"quarter"});case"QQQ":return te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQQ":return te.quarter(W,{width:"narrow",context:"formatting"});case"QQQQ":default:return te.quarter(W,{width:"wide",context:"formatting"})||te.quarter(W,{width:"abbreviated",context:"formatting"})||te.quarter(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class StandAloneQuarterParser extends Parser{priority=120;parse(W,X,te){switch(X){case"q":case"qq":return parseNDigits(X.length,W);case"qo":return te.ordinalNumber(W,{unit:"quarter"});case"qqq":return te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"});case"qqqqq":return te.quarter(W,{width:"narrow",context:"standalone"});case"qqqq":default:return te.quarter(W,{width:"wide",context:"standalone"})||te.quarter(W,{width:"abbreviated",context:"standalone"})||te.quarter(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=1&&X<=4}set(W,X,te){return W.setMonth((te-1)*3,1),W.setHours(0,0,0,0),W}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(W,X,te){const re=oe=>oe-1;switch(X){case"M":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"MM":return mapValue(parseNDigits(2,W),re);case"Mo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"MMM":return te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"});case"MMMMM":return te.month(W,{width:"narrow",context:"formatting"});case"MMMM":default:return te.month(W,{width:"wide",context:"formatting"})||te.month(W,{width:"abbreviated",context:"formatting"})||te.month(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}}class StandAloneMonthParser extends Parser{priority=110;parse(W,X,te){const re=oe=>oe-1;switch(X){case"L":return mapValue(parseNumericPattern(numericPatterns.month,W),re);case"LL":return mapValue(parseNDigits(2,W),re);case"Lo":return mapValue(te.ordinalNumber(W,{unit:"month"}),re);case"LLL":return te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"});case"LLLLL":return te.month(W,{width:"narrow",context:"standalone"});case"LLLL":default:return te.month(W,{width:"wide",context:"standalone"})||te.month(W,{width:"abbreviated",context:"standalone"})||te.month(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.setMonth(te,1),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function setWeek(J,W,X){const te=toDate(J),re=getWeek(te,X)-W;return te.setDate(te.getDate()-re*7),te}class LocalWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"w":return parseNumericPattern(numericPatterns.week,W);case"wo":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te,re){return startOfWeek(setWeek(W,te,re),re)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function setISOWeek(J,W){const X=toDate(J),te=getISOWeek(X)-W;return X.setDate(X.getDate()-te*7),X}class ISOWeekParser extends Parser{priority=100;parse(W,X,te){switch(X){case"I":return parseNumericPattern(numericPatterns.week,W);case"Io":return te.ordinalNumber(W,{unit:"week"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=53}set(W,X,te){return startOfISOWeek(setISOWeek(W,te))}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(W,X,te){switch(X){case"d":return parseNumericPattern(numericPatterns.date,W);case"do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear(),re=isLeapYearIndex(te),oe=W.getMonth();return re?X>=1&&X<=DAYS_IN_MONTH_LEAP_YEAR[oe]:X>=1&&X<=DAYS_IN_MONTH[oe]}set(W,X,te){return W.setDate(te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class DayOfYearParser extends Parser{priority=90;subpriority=1;parse(W,X,te){switch(X){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,W);case"Do":return te.ordinalNumber(W,{unit:"date"});default:return parseNDigits(X.length,W)}}validate(W,X){const te=W.getFullYear();return isLeapYearIndex(te)?X>=1&&X<=366:X>=1&&X<=365}set(W,X,te){return W.setMonth(0,te),W.setHours(0,0,0,0),W}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function setDay(J,W,X){const te=getDefaultOptions$1(),re=X?.weekStartsOn??X?.locale?.options?.weekStartsOn??te.weekStartsOn??te.locale?.options?.weekStartsOn??0,oe=toDate(J),ne=oe.getDay(),ce=(W%7+7)%7,ue=7-re,he=W<0||W>6?W-(ne+ue)%7:(ce+ue)%7-(ne+ue)%7;return addDays(oe,he)}class DayParser extends Parser{priority=90;parse(W,X,te){switch(X){case"E":case"EE":case"EEE":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEEE":return te.day(W,{width:"narrow",context:"formatting"});case"EEEEEE":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"EEEE":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["D","i","e","c","t","T"]}class LocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"e":case"ee":return mapValue(parseNDigits(X.length,W),oe);case"eo":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"eee":return te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeeee":return te.day(W,{width:"narrow",context:"formatting"});case"eeeeee":return te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"});case"eeee":default:return te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class StandAloneLocalDayParser extends Parser{priority=90;parse(W,X,te,re){const oe=ne=>{const de=Math.floor((ne-1)/7)*7;return(ne+re.weekStartsOn+6)%7+de};switch(X){case"c":case"cc":return mapValue(parseNDigits(X.length,W),oe);case"co":return mapValue(te.ordinalNumber(W,{unit:"day"}),oe);case"ccc":return te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"ccccc":return te.day(W,{width:"narrow",context:"standalone"});case"cccccc":return te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"});case"cccc":default:return te.day(W,{width:"wide",context:"standalone"})||te.day(W,{width:"abbreviated",context:"standalone"})||te.day(W,{width:"short",context:"standalone"})||te.day(W,{width:"narrow",context:"standalone"})}}validate(W,X){return X>=0&&X<=6}set(W,X,te,re){return W=setDay(W,te,re),W.setHours(0,0,0,0),W}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function setISODay(J,W){const X=toDate(J),te=getISODay(X),re=W-te;return addDays(X,re)}class ISODayParser extends Parser{priority=90;parse(W,X,te){const re=oe=>oe===0?7:oe;switch(X){case"i":case"ii":return parseNDigits(X.length,W);case"io":return te.ordinalNumber(W,{unit:"day"});case"iii":return mapValue(te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiii":return mapValue(te.day(W,{width:"narrow",context:"formatting"}),re);case"iiiiii":return mapValue(te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re);case"iiii":default:return mapValue(te.day(W,{width:"wide",context:"formatting"})||te.day(W,{width:"abbreviated",context:"formatting"})||te.day(W,{width:"short",context:"formatting"})||te.day(W,{width:"narrow",context:"formatting"}),re)}}validate(W,X){return X>=1&&X<=7}set(W,X,te){return W=setISODay(W,te),W.setHours(0,0,0,0),W}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AMPMParser extends Parser{priority=80;parse(W,X,te){switch(X){case"a":case"aa":case"aaa":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaaa":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"aaaa":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["b","B","H","k","t","T"]}class AMPMMidnightParser extends Parser{priority=80;parse(W,X,te){switch(X){case"b":case"bb":case"bbb":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbbb":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"bbbb":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","B","H","k","t","T"]}class DayPeriodParser extends Parser{priority=80;parse(W,X,te){switch(X){case"B":case"BB":case"BBB":return te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBBB":return te.dayPeriod(W,{width:"narrow",context:"formatting"});case"BBBB":default:return te.dayPeriod(W,{width:"wide",context:"formatting"})||te.dayPeriod(W,{width:"abbreviated",context:"formatting"})||te.dayPeriod(W,{width:"narrow",context:"formatting"})}}set(W,X,te){return W.setHours(dayPeriodEnumToHours(te),0,0,0),W}incompatibleTokens=["a","b","t","T"]}class Hour1to12Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"h":return parseNumericPattern(numericPatterns.hour12h,W);case"ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=12}set(W,X,te){const re=W.getHours()>=12;return re&&te<12?W.setHours(te+12,0,0,0):!re&&te===12?W.setHours(0,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["H","K","k","t","T"]}class Hour0to23Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"H":return parseNumericPattern(numericPatterns.hour23h,W);case"Ho":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=23}set(W,X,te){return W.setHours(te,0,0,0),W}incompatibleTokens=["a","b","h","K","k","t","T"]}class Hour0To11Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"K":return parseNumericPattern(numericPatterns.hour11h,W);case"Ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=11}set(W,X,te){return W.getHours()>=12&&te<12?W.setHours(te+12,0,0,0):W.setHours(te,0,0,0),W}incompatibleTokens=["h","H","k","t","T"]}class Hour1To24Parser extends Parser{priority=70;parse(W,X,te){switch(X){case"k":return parseNumericPattern(numericPatterns.hour24h,W);case"ko":return te.ordinalNumber(W,{unit:"hour"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=1&&X<=24}set(W,X,te){const re=te<=24?te%24:te;return W.setHours(re,0,0,0),W}incompatibleTokens=["a","b","h","H","K","t","T"]}class MinuteParser extends Parser{priority=60;parse(W,X,te){switch(X){case"m":return parseNumericPattern(numericPatterns.minute,W);case"mo":return te.ordinalNumber(W,{unit:"minute"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setMinutes(te,0,0),W}incompatibleTokens=["t","T"]}class SecondParser extends Parser{priority=50;parse(W,X,te){switch(X){case"s":return parseNumericPattern(numericPatterns.second,W);case"so":return te.ordinalNumber(W,{unit:"second"});default:return parseNDigits(X.length,W)}}validate(W,X){return X>=0&&X<=59}set(W,X,te){return W.setSeconds(te,0),W}incompatibleTokens=["t","T"]}class FractionOfSecondParser extends Parser{priority=30;parse(W,X){const te=re=>Math.trunc(re*Math.pow(10,-X.length+3));return mapValue(parseNDigits(X.length,W),te)}set(W,X,te){return W.setMilliseconds(te),W}incompatibleTokens=["t","T"]}class ISOTimezoneWithZParser extends Parser{priority=10;parse(W,X){switch(X){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"XX":return parseTimezonePattern(timezonePatterns.basic,W);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","x"]}class ISOTimezoneParser extends Parser{priority=10;parse(W,X){switch(X){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,W);case"xx":return parseTimezonePattern(timezonePatterns.basic,W);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,W);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,W);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,W)}}set(W,X,te){return X.timestampIsSet?W:constructFrom(W,W.getTime()-getTimezoneOffsetInMilliseconds(W)-te)}incompatibleTokens=["t","T","X"]}class TimestampSecondsParser extends Parser{priority=40;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class TimestampMillisecondsParser extends Parser{priority=20;parse(W){return parseAnyDigitsSigned(W)}set(W,X,te){return[constructFrom(W,te),{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(J,W,X,te){const re=getDefaultOptions(),oe=re.locale??enUS,ne=re.firstWeekContainsDate??re.locale?.options?.firstWeekContainsDate??1,de=re.weekStartsOn??re.locale?.options?.weekStartsOn??0,ce={firstWeekContainsDate:ne,weekStartsOn:de,locale:oe},ue=[new DateToSystemTimezoneSetter],he=W.match(longFormattingTokensRegExp).map(ge=>{const ve=ge[0];if(ve in longFormatters){const _e=longFormatters[ve];return _e(ge,oe.formatLong)}return ge}).join("").match(formattingTokensRegExp),pe=[];for(let ge of he){isProtectedWeekYearToken(ge)&&warnOrThrowProtectedError(ge,W,J),isProtectedDayOfYearToken(ge)&&warnOrThrowProtectedError(ge,W,J);const ve=ge[0],_e=parsers[ve];if(_e){const{incompatibleTokens:ye}=_e;if(Array.isArray(ye)){const we=pe.find(Ce=>ye.includes(Ce.token)||Ce.token===ve);if(we)throw new RangeError(`The format string mustn't contain \`${we.fullToken}\` and \`${ge}\` at the same time`)}else if(_e.incompatibleTokens==="*"&&pe.length>0)throw new RangeError(`The format string mustn't contain \`${ge}\` and any other token at the same time`);pe.push({token:ve,fullToken:ge});const Se=_e.run(J,ge,oe.match,ce);if(!Se)return constructFrom(X,NaN);ue.push(Se.setter),J=Se.rest}else{if(ve.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+ve+"`");if(ge==="''"?ge="'":ve==="'"&&(ge=cleanEscapedString(ge)),J.indexOf(ge)===0)J=J.slice(ge.length);else return constructFrom(X,NaN)}}if(J.length>0&¬WhitespaceRegExp.test(J))return constructFrom(X,NaN);const fe=ue.map(ge=>ge.priority).sort((ge,ve)=>ve-ge).filter((ge,ve,_e)=>_e.indexOf(ge)===ve).map(ge=>ue.filter(ve=>ve.priority===ge).sort((ve,_e)=>_e.subPriority-ve.subPriority)).map(ge=>ge[0]);let be=toDate(X);if(isNaN(be.getTime()))return constructFrom(X,NaN);const me={};for(const ge of fe){if(!ge.validate(be,ce))return constructFrom(X,NaN);const ve=ge.set(be,me,ce);Array.isArray(ve)?(be=ve[0],Object.assign(me,ve[1])):be=ve}return constructFrom(X,be)}function cleanEscapedString(J){return J.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}/**
|
|
424
|
+
*/class le extends i$P{constructor(W){if(super(W),this.it=D$4,W.type!==t$u.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(W){if(W===D$4||W==null)return this._t=void 0,this.it=W;if(W===R$5)return W;if(typeof W!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(W===this.it)return this._t;this.it=W;const X=[W];return X.raw=X,this._t={_$litType$:this.constructor.resultType,strings:X,values:[]}}}le.directiveName="unsafeHTML",le.resultType=1;const ae=e$O(le),styles$m=":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}";/**
|
|
425
425
|
* @license
|
|
426
426
|
* Copyright 2018 Google LLC
|
|
427
427
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -514,9 +514,9 @@ ${J.searchString?.length>1?ke$1`
|
|
|
514
514
|
`;function memo(J,W,X){let te=X.initialDeps??[],re,oe=!0;function ne(){var de,ce,ue;let he;X.key&&((de=X.debug)!=null&&de.call(X))&&(he=Date.now());const pe=J();if(!(pe.length!==te.length||pe.some((me,ge)=>te[ge]!==me)))return re;te=pe;let be;if(X.key&&((ce=X.debug)!=null&&ce.call(X))&&(be=Date.now()),re=W(...pe),X.key&&((ue=X.debug)!=null&&ue.call(X))){const me=Math.round((Date.now()-he)*100)/100,ge=Math.round((Date.now()-be)*100)/100,ve=ge/16,_e=(ye,Se)=>{for(ye=String(ye);ye.length<Se;)ye=" "+ye;return ye};console.info(`%c⏱ ${_e(ge,5)} /${_e(me,5)} ms`,`
|
|
515
515
|
font-size: .6rem;
|
|
516
516
|
font-weight: bold;
|
|
517
|
-
color: hsl(${Math.max(0,Math.min(120-120*ve,120))}deg 100% 31%);`,X?.key)}return X?.onChange&&!(oe&&X.skipInitialOnChange)&&X.onChange(re),oe=!1,re}return ne.updateDeps=de=>{te=de},ne}function notUndefined(J,W){if(J===void 0)throw new Error("Unexpected undefined");return J}const approxEqual=(J,W)=>Math.abs(J-W)<1.01,debounce$1=(J,W,X)=>{let te;return function(...re){J.clearTimeout(te),te=J.setTimeout(()=>W.apply(this,re),X)}},getRect=J=>{const{offsetWidth:W,offsetHeight:X}=J;return{width:W,height:X}},defaultKeyExtractor=J=>J,defaultRangeExtractor=J=>{const W=Math.max(J.startIndex-J.overscan,0),X=Math.min(J.endIndex+J.overscan,J.count-1),te=[];for(let re=W;re<=X;re++)te.push(re);return te},observeElementRect=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;const re=ne=>{const{width:de,height:ce}=ne;W({width:Math.round(de),height:Math.round(ce)})};if(re(getRect(X)),!te.ResizeObserver)return()=>{};const oe=new te.ResizeObserver(ne=>{const de=()=>{const ce=ne[0];if(ce?.borderBoxSize){const ue=ce.borderBoxSize[0];if(ue){re({width:ue.inlineSize,height:ue.blockSize});return}}re(getRect(X))};J.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(de):de()});return oe.observe(X,{box:"border-box"}),()=>{oe.unobserve(X)}},addEventListenerOptions={passive:!0},supportsScrollend=typeof window>"u"?!0:"onscrollend"in window,observeElementOffset=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;let re=0;const oe=J.options.useScrollendEvent&&supportsScrollend?()=>{}:debounce$1(te,()=>{W(re,!1)},J.options.isScrollingResetDelay),ne=he=>()=>{const{horizontal:pe,isRtl:fe}=J.options;re=pe?X.scrollLeft*(fe&&-1||1):X.scrollTop,oe(),W(re,he)},de=ne(!0),ce=ne(!1);X.addEventListener("scroll",de,addEventListenerOptions);const ue=J.options.useScrollendEvent&&supportsScrollend;return ue&&X.addEventListener("scrollend",ce,addEventListenerOptions),()=>{X.removeEventListener("scroll",de),ue&&X.removeEventListener("scrollend",ce)}},measureElement=(J,W,X)=>{if(W?.borderBoxSize){const te=W.borderBoxSize[0];if(te)return Math.round(te[X.options.horizontal?"inlineSize":"blockSize"])}return J[X.options.horizontal?"offsetWidth":"offsetHeight"]},elementScroll=(J,{adjustments:W=0,behavior:X},te)=>{var re,oe;const ne=J+W;(oe=(re=te.scrollElement)==null?void 0:re.scrollTo)==null||oe.call(re,{[te.options.horizontal?"left":"top"]:ne,behavior:X})};class Virtualizer{constructor(W){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var X,te,re;return((re=(te=(X=this.targetWindow)==null?void 0:X.performance)==null?void 0:te.now)==null?void 0:re.call(te))??Date.now()},this.observer=(()=>{let X=null;const te=()=>X||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:X=new this.targetWindow.ResizeObserver(re=>{re.forEach(oe=>{const ne=()=>{const de=oe.target,ce=this.indexFromElement(de);if(!de.isConnected){this.observer.unobserve(de);return}this.shouldMeasureDuringScroll(ce)&&this.resizeItem(ce,this.options.measureElement(de,oe,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(ne):ne()})}));return{disconnect:()=>{var re;(re=te())==null||re.disconnect(),X=null},observe:re=>{var oe;return(oe=te())==null?void 0:oe.observe(re,{box:"border-box"})},unobserve:re=>{var oe;return(oe=te())==null?void 0:oe.unobserve(re)}}})(),this.range=null,this.setOptions=X=>{Object.entries(X).forEach(([te,re])=>{typeof re>"u"&&delete X[te]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...X}},this.notify=X=>{var te,re;(re=(te=this.options).onChange)==null||re.call(te,this,X)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),X=>{this.notify(X)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(X=>X()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var X;const te=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==te){if(this.cleanup(),!te){this.maybeNotify();return}this.scrollElement=te,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((X=this.scrollElement)==null?void 0:X.window)??null,this.elementsCache.forEach(re=>{this.observer.observe(re)}),this.unsubs.push(this.options.observeElementRect(this,re=>{this.scrollRect=re,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(re,oe)=>{this.scrollAdjustments=0,this.scrollDirection=oe?this.getScrollOffset()<re?"forward":"backward":null,this.scrollOffset=re,this.isScrolling=oe,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(X,te)=>{const re=new Map,oe=new Map;for(let ne=te-1;ne>=0;ne--){const de=X[ne];if(re.has(de.lane))continue;const ce=oe.get(de.lane);if(ce==null||de.end>ce.end?oe.set(de.lane,de):de.end<ce.end&&re.set(de.lane,!0),re.size===this.options.lanes)break}return oe.size===this.options.lanes?Array.from(oe.values()).sort((ne,de)=>ne.end===de.end?ne.index-de.index:ne.end-de.end)[0]:void 0},this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(X,te,re,oe,ne,de,ce)=>(this.prevLanes!==void 0&&this.prevLanes!==de&&(this.lanesChangedFlag=!0),this.prevLanes=de,this.pendingMeasuredCacheIndexes=[],{count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce},ue)=>{if(!ne)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>X)for(const be of this.laneAssignments.keys())be>=X&&this.laneAssignments.delete(be);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(be=>{this.itemSizeCache.set(be.key,be.size)}));const he=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===X&&(this.lanesSettling=!1);const pe=this.measurementsCache.slice(0,he),fe=new Array(de).fill(void 0);for(let be=0;be<he;be++){const me=pe[be];me&&(fe[me.lane]=be)}for(let be=he;be<X;be++){const me=oe(be),ge=this.laneAssignments.get(be);let ve,_e;const ye=ce==="estimate"||ue.has(me);if(ge!==void 0&&this.options.lanes>1){ve=ge;const Me=fe[ve],De=Me!==void 0?pe[Me]:void 0;_e=De?De.end+this.options.gap:te+re}else{const Me=this.options.lanes===1?pe[be-1]:this.getFurthestMeasurement(pe,be);_e=Me?Me.end+this.options.gap:te+re,ve=Me?Me.lane:be%this.options.lanes,this.options.lanes>1&&ye&&this.laneAssignments.set(be,ve)}const Se=ue.get(me),we=typeof Se=="number"?Se:this.options.estimateSize(be),Ce=_e+we;pe[be]={index:be,start:_e,size:we,end:Ce,key:me,lane:ve},fe[ve]=be}return this.measurementsCache=pe,pe},{key:!1,debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(X,te,re,oe)=>this.range=X.length>0&&te>0?calculateRange({measurements:X,outerSize:te,scrollOffset:re,lanes:oe}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=memo(()=>{let X=null,te=null;const re=this.calculateRange();return re&&(X=re.startIndex,te=re.endIndex),this.maybeNotify.updateDeps([this.isScrolling,X,te]),[this.options.rangeExtractor,this.options.overscan,this.options.count,X,te]},(X,te,re,oe,ne)=>oe===null||ne===null?[]:X({startIndex:oe,endIndex:ne,overscan:te,count:re}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=X=>{const te=this.options.indexAttribute,re=X.getAttribute(te);return re?parseInt(re,10):(console.warn(`Missing attribute name '${te}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=X=>{var te;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const re=this.scrollState.index??((te=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:te.index);if(re!==void 0&&this.range){const oe=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),ne=Math.max(0,re-oe),de=Math.min(this.options.count-1,re+oe);return X>=ne&&X<=de}return!0},this.measureElement=X=>{if(!X){this.elementsCache.forEach((ne,de)=>{ne.isConnected||(this.observer.unobserve(ne),this.elementsCache.delete(de))});return}const te=this.indexFromElement(X),re=this.options.getItemKey(te),oe=this.elementsCache.get(re);oe!==X&&(oe&&this.observer.unobserve(oe),this.observer.observe(X),this.elementsCache.set(re,X)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(te)&&this.resizeItem(te,this.options.measureElement(X,void 0,this))},this.resizeItem=(X,te)=>{var re;const oe=this.measurementsCache[X];if(!oe)return;const ne=this.itemSizeCache.get(oe.key)??oe.size,de=te-ne;de!==0&&(((re=this.scrollState)==null?void 0:re.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(oe,de,this):oe.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=de,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(oe.index),this.itemSizeCache=new Map(this.itemSizeCache.set(oe.key,te)),this.notify(!1))},this.getVirtualItems=memo(()=>[this.getVirtualIndexes(),this.getMeasurements()],(X,te)=>{const re=[];for(let oe=0,ne=X.length;oe<ne;oe++){const de=X[oe],ce=te[de];re.push(ce)}return re},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=X=>{const te=this.getMeasurements();if(te.length!==0)return notUndefined(te[findNearestBinarySearch(0,te.length-1,re=>notUndefined(te[re]).start,X)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const X=this.scrollElement.document.documentElement;return this.options.horizontal?X.scrollWidth-this.scrollElement.innerWidth:X.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(X,te,re=0)=>{if(!this.scrollElement)return 0;const oe=this.getSize(),ne=this.getScrollOffset();te==="auto"&&(te=X>=ne+oe?"end":"start"),te==="center"?X+=(re-oe)/2:te==="end"&&(X-=oe);const de=this.getMaxScrollOffset();return Math.max(Math.min(de,X),0)},this.getOffsetForIndex=(X,te="auto")=>{X=Math.max(0,Math.min(X,this.options.count-1));const re=this.getSize(),oe=this.getScrollOffset(),ne=this.measurementsCache[X];if(!ne)return;if(te==="auto")if(ne.end>=oe+re-this.options.scrollPaddingEnd)te="end";else if(ne.start<=oe+this.options.scrollPaddingStart)te="start";else return[oe,te];if(te==="end"&&X===this.options.count-1)return[this.getMaxScrollOffset(),te];const de=te==="end"?ne.end+this.options.scrollPaddingEnd:ne.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(de,te,ne.size),te]},this.scrollToOffset=(X,{align:te="start",behavior:re="auto"}={})=>{const oe=this.getOffsetForAlignment(X,te),ne=this.now();this.scrollState={index:null,align:te,behavior:re,startedAt:ne,lastTargetOffset:oe,stableFrames:0},this._scrollToOffset(oe,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollToIndex=(X,{align:te="auto",behavior:re="auto"}={})=>{X=Math.max(0,Math.min(X,this.options.count-1));const oe=this.getOffsetForIndex(X,te);if(!oe)return;const[ne,de]=oe,ce=this.now();this.scrollState={index:X,align:de,behavior:re,startedAt:ce,lastTargetOffset:ne,stableFrames:0},this._scrollToOffset(ne,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollBy=(X,{behavior:te="auto"}={})=>{const re=this.getScrollOffset()+X,oe=this.now();this.scrollState={index:null,align:"start",behavior:te,startedAt:oe,lastTargetOffset:re,stableFrames:0},this._scrollToOffset(re,{adjustments:void 0,behavior:te}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var X;const te=this.getMeasurements();let re;if(te.length===0)re=this.options.paddingStart;else if(this.options.lanes===1)re=((X=te[te.length-1])==null?void 0:X.end)??0;else{const oe=Array(this.options.lanes).fill(null);let ne=te.length-1;for(;ne>=0&&oe.some(de=>de===null);){const de=te[ne];oe[de.lane]===null&&(oe[de.lane]=de.end),ne--}re=Math.max(...oe.filter(de=>de!==null))}return Math.max(re-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(X,{adjustments:te,behavior:re})=>{this.options.scrollToFn(X,{behavior:re,adjustments:te},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(W)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const te=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,re=te?te[0]:this.scrollState.lastTargetOffset,oe=1,ne=re!==this.scrollState.lastTargetOffset;if(!ne&&approxEqual(re,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=oe){this.scrollState=null;return}}else this.scrollState.stableFrames=0,ne&&(this.scrollState.lastTargetOffset=re,this.scrollState.behavior="auto",this._scrollToOffset(re,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const findNearestBinarySearch=(J,W,X,te)=>{for(;J<=W;){const re=(J+W)/2|0,oe=X(re);if(oe<te)J=re+1;else if(oe>te)W=re-1;else return re}return J>0?J-1:0};function calculateRange({measurements:J,outerSize:W,scrollOffset:X,lanes:te}){const re=J.length-1,oe=ce=>J[ce].start;if(J.length<=te)return{startIndex:0,endIndex:re};let ne=findNearestBinarySearch(0,re,oe,X),de=ne;if(te===1)for(;de<re&&J[de].end<X+W;)de++;else if(te>1){const ce=Array(te).fill(0);for(;de<re&&ce.some(he=>he<X+W);){const he=J[de];ce[he.lane]=he.end,de++}const ue=Array(te).fill(X+W);for(;ne>=0&&ue.some(he=>he>=X);){const he=J[ne];ue[he.lane]=he.start,ne--}ne=Math.max(0,ne-ne%te),de=Math.min(re,de+(te-1-de%te))}return{startIndex:ne,endIndex:de}}const measureElementWithMargins=J=>{const W=J.getBoundingClientRect().height,X=window.getComputedStyle(J),te=Number.parseFloat(X.marginTop)||0,re=Number.parseFloat(X.marginBottom)||0;return Math.round(W+te+re)};class VirtualScroller{constructor(W){this._options=W}setup(W,X){return this._viewport=W,this._virtualizer=new Virtualizer({count:this._options.items.length,getScrollElement:()=>this._viewport??null,estimateSize:()=>this._options.estimatedItemHeight,overscan:this._options.overscan??5,measureElement:te=>(this._options.measureElement??measureElementWithMargins)(te),observeElementRect,observeElementOffset,scrollToFn:elementScroll,onChange:()=>{X(this.getState())}}),this._cleanup=this._virtualizer._didMount(),this._virtualizer._willUpdate(),X(this.getState()),()=>{this._cleanup?.()}}willUpdate(){this._virtualizer?._willUpdate()}updateItems(W,X){this._options.items=W,this._virtualizer&&(this._virtualizer.setOptions({...this._virtualizer.options,count:W.length}),this._virtualizer._willUpdate()),X&&X(this.getState())}measureElement(W){this._virtualizer?.measureElement(W)}scrollToIndex(W,X="smooth"){this._virtualizer?.scrollToIndex(W,{behavior:X})}getState(){return{virtualItems:this._virtualizer?.getVirtualItems()??[],totalHeight:this._virtualizer?.getTotalSize()??0}}findClosestIndex(W,X,te){let re=-1,oe=Number.POSITIVE_INFINITY;return this._options.items.forEach((ne,de)=>{const ce=Math.abs(te(W(ne),X));ce<oe&&(oe=ce,re=de)}),re}}var __defProp$o=Object.defineProperty,__getOwnPropDesc$e=Object.getOwnPropertyDescriptor,__decorateClass$s=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$e(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$o(W,X,re),re};let ActivityHistoryTimeline=class extends h$p{constructor(){super(...arguments),this._virtualScrollerState={virtualItems:[],totalHeight:0},this._canShowNoDataMessage=!1,this._measureElement=J=>{J&&this._virtualScroller?.measureElement(J)},this._onScroll=()=>{}}render(){return ke$1`
|
|
517
|
+
color: hsl(${Math.max(0,Math.min(120-120*ve,120))}deg 100% 31%);`,X?.key)}return X?.onChange&&!(oe&&X.skipInitialOnChange)&&X.onChange(re),oe=!1,re}return ne.updateDeps=de=>{te=de},ne}function notUndefined(J,W){if(J===void 0)throw new Error("Unexpected undefined");return J}const approxEqual=(J,W)=>Math.abs(J-W)<1.01,debounce$1=(J,W,X)=>{let te;return function(...re){J.clearTimeout(te),te=J.setTimeout(()=>W.apply(this,re),X)}},getRect=J=>{const{offsetWidth:W,offsetHeight:X}=J;return{width:W,height:X}},defaultKeyExtractor=J=>J,defaultRangeExtractor=J=>{const W=Math.max(J.startIndex-J.overscan,0),X=Math.min(J.endIndex+J.overscan,J.count-1),te=[];for(let re=W;re<=X;re++)te.push(re);return te},observeElementRect=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;const re=ne=>{const{width:de,height:ce}=ne;W({width:Math.round(de),height:Math.round(ce)})};if(re(getRect(X)),!te.ResizeObserver)return()=>{};const oe=new te.ResizeObserver(ne=>{const de=()=>{const ce=ne[0];if(ce?.borderBoxSize){const ue=ce.borderBoxSize[0];if(ue){re({width:ue.inlineSize,height:ue.blockSize});return}}re(getRect(X))};J.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(de):de()});return oe.observe(X,{box:"border-box"}),()=>{oe.unobserve(X)}},addEventListenerOptions={passive:!0},supportsScrollend=typeof window>"u"?!0:"onscrollend"in window,observeElementOffset=(J,W)=>{const X=J.scrollElement;if(!X)return;const te=J.targetWindow;if(!te)return;let re=0;const oe=J.options.useScrollendEvent&&supportsScrollend?()=>{}:debounce$1(te,()=>{W(re,!1)},J.options.isScrollingResetDelay),ne=he=>()=>{const{horizontal:pe,isRtl:fe}=J.options;re=pe?X.scrollLeft*(fe&&-1||1):X.scrollTop,oe(),W(re,he)},de=ne(!0),ce=ne(!1);X.addEventListener("scroll",de,addEventListenerOptions);const ue=J.options.useScrollendEvent&&supportsScrollend;return ue&&X.addEventListener("scrollend",ce,addEventListenerOptions),()=>{X.removeEventListener("scroll",de),ue&&X.removeEventListener("scrollend",ce)}},measureElement=(J,W,X)=>{if(W?.borderBoxSize){const te=W.borderBoxSize[0];if(te)return Math.round(te[X.options.horizontal?"inlineSize":"blockSize"])}return J[X.options.horizontal?"offsetWidth":"offsetHeight"]},elementScroll=(J,{adjustments:W=0,behavior:X},te)=>{var re,oe;const ne=J+W;(oe=(re=te.scrollElement)==null?void 0:re.scrollTo)==null||oe.call(re,{[te.options.horizontal?"left":"top"]:ne,behavior:X})};class Virtualizer{constructor(W){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var X,te,re;return((re=(te=(X=this.targetWindow)==null?void 0:X.performance)==null?void 0:te.now)==null?void 0:re.call(te))??Date.now()},this.observer=(()=>{let X=null;const te=()=>X||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:X=new this.targetWindow.ResizeObserver(re=>{re.forEach(oe=>{const ne=()=>{const de=oe.target,ce=this.indexFromElement(de);if(!de.isConnected){this.observer.unobserve(de);return}this.shouldMeasureDuringScroll(ce)&&this.resizeItem(ce,this.options.measureElement(de,oe,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(ne):ne()})}));return{disconnect:()=>{var re;(re=te())==null||re.disconnect(),X=null},observe:re=>{var oe;return(oe=te())==null?void 0:oe.observe(re,{box:"border-box"})},unobserve:re=>{var oe;return(oe=te())==null?void 0:oe.unobserve(re)}}})(),this.range=null,this.setOptions=X=>{Object.entries(X).forEach(([te,re])=>{typeof re>"u"&&delete X[te]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...X}},this.notify=X=>{var te,re;(re=(te=this.options).onChange)==null||re.call(te,this,X)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),X=>{this.notify(X)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(X=>X()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var X;const te=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==te){if(this.cleanup(),!te){this.maybeNotify();return}this.scrollElement=te,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((X=this.scrollElement)==null?void 0:X.window)??null,this.elementsCache.forEach(re=>{this.observer.observe(re)}),this.unsubs.push(this.options.observeElementRect(this,re=>{this.scrollRect=re,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(re,oe)=>{this.scrollAdjustments=0,this.scrollDirection=oe?this.getScrollOffset()<re?"forward":"backward":null,this.scrollOffset=re,this.isScrolling=oe,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(X,te)=>{const re=new Map,oe=new Map;for(let ne=te-1;ne>=0;ne--){const de=X[ne];if(re.has(de.lane))continue;const ce=oe.get(de.lane);if(ce==null||de.end>ce.end?oe.set(de.lane,de):de.end<ce.end&&re.set(de.lane,!0),re.size===this.options.lanes)break}return oe.size===this.options.lanes?Array.from(oe.values()).sort((ne,de)=>ne.end===de.end?ne.index-de.index:ne.end-de.end)[0]:void 0},this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(X,te,re,oe,ne,de,ce)=>(this.prevLanes!==void 0&&this.prevLanes!==de&&(this.lanesChangedFlag=!0),this.prevLanes=de,this.pendingMeasuredCacheIndexes=[],{count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:X,paddingStart:te,scrollMargin:re,getItemKey:oe,enabled:ne,lanes:de,laneAssignmentMode:ce},ue)=>{if(!ne)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>X)for(const be of this.laneAssignments.keys())be>=X&&this.laneAssignments.delete(be);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(be=>{this.itemSizeCache.set(be.key,be.size)}));const he=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===X&&(this.lanesSettling=!1);const pe=this.measurementsCache.slice(0,he),fe=new Array(de).fill(void 0);for(let be=0;be<he;be++){const me=pe[be];me&&(fe[me.lane]=be)}for(let be=he;be<X;be++){const me=oe(be),ge=this.laneAssignments.get(be);let ve,_e;const ye=ce==="estimate"||ue.has(me);if(ge!==void 0&&this.options.lanes>1){ve=ge;const Me=fe[ve],De=Me!==void 0?pe[Me]:void 0;_e=De?De.end+this.options.gap:te+re}else{const Me=this.options.lanes===1?pe[be-1]:this.getFurthestMeasurement(pe,be);_e=Me?Me.end+this.options.gap:te+re,ve=Me?Me.lane:be%this.options.lanes,this.options.lanes>1&&ye&&this.laneAssignments.set(be,ve)}const Se=ue.get(me),we=typeof Se=="number"?Se:this.options.estimateSize(be),Ce=_e+we;pe[be]={index:be,start:_e,size:we,end:Ce,key:me,lane:ve},fe[ve]=be}return this.measurementsCache=pe,pe},{key:!1,debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(X,te,re,oe)=>this.range=X.length>0&&te>0?calculateRange({measurements:X,outerSize:te,scrollOffset:re,lanes:oe}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=memo(()=>{let X=null,te=null;const re=this.calculateRange();return re&&(X=re.startIndex,te=re.endIndex),this.maybeNotify.updateDeps([this.isScrolling,X,te]),[this.options.rangeExtractor,this.options.overscan,this.options.count,X,te]},(X,te,re,oe,ne)=>oe===null||ne===null?[]:X({startIndex:oe,endIndex:ne,overscan:te,count:re}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=X=>{const te=this.options.indexAttribute,re=X.getAttribute(te);return re?parseInt(re,10):(console.warn(`Missing attribute name '${te}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=X=>{var te;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const re=this.scrollState.index??((te=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:te.index);if(re!==void 0&&this.range){const oe=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),ne=Math.max(0,re-oe),de=Math.min(this.options.count-1,re+oe);return X>=ne&&X<=de}return!0},this.measureElement=X=>{if(!X){this.elementsCache.forEach((ne,de)=>{ne.isConnected||(this.observer.unobserve(ne),this.elementsCache.delete(de))});return}const te=this.indexFromElement(X),re=this.options.getItemKey(te),oe=this.elementsCache.get(re);oe!==X&&(oe&&this.observer.unobserve(oe),this.observer.observe(X),this.elementsCache.set(re,X)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(te)&&this.resizeItem(te,this.options.measureElement(X,void 0,this))},this.resizeItem=(X,te)=>{var re;const oe=this.measurementsCache[X];if(!oe)return;const ne=this.itemSizeCache.get(oe.key)??oe.size,de=te-ne;de!==0&&(((re=this.scrollState)==null?void 0:re.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(oe,de,this):oe.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=de,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(oe.index),this.itemSizeCache=new Map(this.itemSizeCache.set(oe.key,te)),this.notify(!1))},this.getVirtualItems=memo(()=>[this.getVirtualIndexes(),this.getMeasurements()],(X,te)=>{const re=[];for(let oe=0,ne=X.length;oe<ne;oe++){const de=X[oe],ce=te[de];re.push(ce)}return re},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=X=>{const te=this.getMeasurements();if(te.length!==0)return notUndefined(te[findNearestBinarySearch(0,te.length-1,re=>notUndefined(te[re]).start,X)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const X=this.scrollElement.document.documentElement;return this.options.horizontal?X.scrollWidth-this.scrollElement.innerWidth:X.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(X,te,re=0)=>{if(!this.scrollElement)return 0;const oe=this.getSize(),ne=this.getScrollOffset();te==="auto"&&(te=X>=ne+oe?"end":"start"),te==="center"?X+=(re-oe)/2:te==="end"&&(X-=oe);const de=this.getMaxScrollOffset();return Math.max(Math.min(de,X),0)},this.getOffsetForIndex=(X,te="auto")=>{X=Math.max(0,Math.min(X,this.options.count-1));const re=this.getSize(),oe=this.getScrollOffset(),ne=this.measurementsCache[X];if(!ne)return;if(te==="auto")if(ne.end>=oe+re-this.options.scrollPaddingEnd)te="end";else if(ne.start<=oe+this.options.scrollPaddingStart)te="start";else return[oe,te];if(te==="end"&&X===this.options.count-1)return[this.getMaxScrollOffset(),te];const de=te==="end"?ne.end+this.options.scrollPaddingEnd:ne.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(de,te,ne.size),te]},this.scrollToOffset=(X,{align:te="start",behavior:re="auto"}={})=>{const oe=this.getOffsetForAlignment(X,te),ne=this.now();this.scrollState={index:null,align:te,behavior:re,startedAt:ne,lastTargetOffset:oe,stableFrames:0},this._scrollToOffset(oe,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollToIndex=(X,{align:te="auto",behavior:re="auto"}={})=>{X=Math.max(0,Math.min(X,this.options.count-1));const oe=this.getOffsetForIndex(X,te);if(!oe)return;const[ne,de]=oe,ce=this.now();this.scrollState={index:X,align:de,behavior:re,startedAt:ce,lastTargetOffset:ne,stableFrames:0},this._scrollToOffset(ne,{adjustments:void 0,behavior:re}),this.scheduleScrollReconcile()},this.scrollBy=(X,{behavior:te="auto"}={})=>{const re=this.getScrollOffset()+X,oe=this.now();this.scrollState={index:null,align:"start",behavior:te,startedAt:oe,lastTargetOffset:re,stableFrames:0},this._scrollToOffset(re,{adjustments:void 0,behavior:te}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var X;const te=this.getMeasurements();let re;if(te.length===0)re=this.options.paddingStart;else if(this.options.lanes===1)re=((X=te[te.length-1])==null?void 0:X.end)??0;else{const oe=Array(this.options.lanes).fill(null);let ne=te.length-1;for(;ne>=0&&oe.some(de=>de===null);){const de=te[ne];oe[de.lane]===null&&(oe[de.lane]=de.end),ne--}re=Math.max(...oe.filter(de=>de!==null))}return Math.max(re-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(X,{adjustments:te,behavior:re})=>{this.options.scrollToFn(X,{behavior:re,adjustments:te},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(W)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const te=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,re=te?te[0]:this.scrollState.lastTargetOffset,oe=1,ne=re!==this.scrollState.lastTargetOffset;if(!ne&&approxEqual(re,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=oe){this.scrollState=null;return}}else this.scrollState.stableFrames=0,ne&&(this.scrollState.lastTargetOffset=re,this.scrollState.behavior="auto",this._scrollToOffset(re,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const findNearestBinarySearch=(J,W,X,te)=>{for(;J<=W;){const re=(J+W)/2|0,oe=X(re);if(oe<te)J=re+1;else if(oe>te)W=re-1;else return re}return J>0?J-1:0};function calculateRange({measurements:J,outerSize:W,scrollOffset:X,lanes:te}){const re=J.length-1,oe=ce=>J[ce].start;if(J.length<=te)return{startIndex:0,endIndex:re};let ne=findNearestBinarySearch(0,re,oe,X),de=ne;if(te===1)for(;de<re&&J[de].end<X+W;)de++;else if(te>1){const ce=Array(te).fill(0);for(;de<re&&ce.some(he=>he<X+W);){const he=J[de];ce[he.lane]=he.end,de++}const ue=Array(te).fill(X+W);for(;ne>=0&&ue.some(he=>he>=X);){const he=J[ne];ue[he.lane]=he.start,ne--}ne=Math.max(0,ne-ne%te),de=Math.min(re,de+(te-1-de%te))}return{startIndex:ne,endIndex:de}}const measureElementWithMargins=J=>{const W=J.getBoundingClientRect().height,X=window.getComputedStyle(J),te=Number.parseFloat(X.marginTop)||0,re=Number.parseFloat(X.marginBottom)||0;return Math.round(W+te+re)};class VirtualScroller{constructor(W){this._options=W}setup(W,X){return this._viewport=W,this._virtualizer=new Virtualizer({count:this._options.items.length,getScrollElement:()=>this._viewport??null,estimateSize:()=>this._options.estimatedItemHeight,overscan:this._options.overscan??5,measureElement:te=>(this._options.measureElement??measureElementWithMargins)(te),observeElementRect,observeElementOffset,scrollToFn:elementScroll,onChange:()=>{X(this.getState())}}),this._cleanup=this._virtualizer._didMount(),this._virtualizer._willUpdate(),X(this.getState()),()=>{this._cleanup?.()}}willUpdate(){this._virtualizer?._willUpdate()}updateItems(W,X){this._options.items=W,this._virtualizer&&(this._virtualizer.setOptions({...this._virtualizer.options,count:W.length}),this._virtualizer._willUpdate()),X&&X(this.getState())}measureElement(W){this._virtualizer?.measureElement(W)}scrollToIndex(W,X="smooth",te="auto"){this._virtualizer?.scrollToIndex(W,{behavior:X,align:te})}getOffsetForIndex(W){return this._virtualizer?.getOffsetForIndex(W,"start")?.[0]??0}getState(){return{virtualItems:this._virtualizer?.getVirtualItems()??[],totalHeight:this._virtualizer?.getTotalSize()??0}}}var __defProp$o=Object.defineProperty,__getOwnPropDesc$e=Object.getOwnPropertyDescriptor,__decorateClass$s=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$e(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$o(W,X,re),re};let ActivityHistoryTimeline=class extends h$p{constructor(){super(...arguments),this._virtualScrollerState={virtualItems:[],totalHeight:0},this._canShowNoDataMessage=!1,this._measureElement=J=>{J&&this._virtualScroller?.measureElement(J)},this._onScroll=()=>{}}render(){return ke$1`
|
|
518
518
|
${template$m(this)}
|
|
519
|
-
`}connectedCallback(){super.connectedCallback(),this._noDataMessageTimer=setTimeout(()=>{this._canShowNoDataMessage=!0},2e3)}disconnectedCallback(){super.disconnectedCallback(),this._cleanupVirtualScroller?.(),this._noDataMessageTimer&&clearTimeout(this._noDataMessageTimer)}async updated(J){this._virtualScroller?.willUpdate(),J.has("historyGroups")&&this.historyGroups?.length&&(await this.prepareComponents(this.historyGroups),this._updateVirtualScroller(),await this.updateComplete),this._viewport&&!this._virtualScroller&&setTimeout(()=>this._setupVirtualScroller(),0),this._viewport&&this._virtualScroller&&this._viewport!==this._lastViewportElement&&(this._cleanupVirtualScroller?.(),this._virtualScroller=void 0,setTimeout(()=>this._setupVirtualScroller(),0)),this._viewport&&(this._lastViewportElement=this._viewport)}async prepareComponents(J){for(const W of J){W.items=await Promise.all(W.items.map(async X=>({...X,component:await X.componentFactory({item:X})})));for(const X of W.subGroups)X.items=await Promise.all(X.items.map(async te=>({...te,component:await te.componentFactory({item:te})})))}}highlightMatch(J,W){if(!this.searchString||this.searchString.length<2)return J;const X=new RegExp(`(${W})`,"gi");return J.replace(X,'<span class="highlight">$1</span>')}highlighted(J){return J?ae(this.highlightMatch(J,this.searchString)):null}_scrollIntoDate(J){if(!this._virtualScroller)return;const W=this.
|
|
519
|
+
`}connectedCallback(){super.connectedCallback(),this._noDataMessageTimer=setTimeout(()=>{this._canShowNoDataMessage=!0},2e3)}disconnectedCallback(){super.disconnectedCallback(),this._cleanupVirtualScroller?.(),this._noDataMessageTimer&&clearTimeout(this._noDataMessageTimer)}async updated(J){this._virtualScroller?.willUpdate(),J.has("historyGroups")&&this.historyGroups?.length&&(await this.prepareComponents(this.historyGroups),this._updateVirtualScroller(),await this.updateComplete),this._viewport&&!this._virtualScroller&&setTimeout(()=>this._setupVirtualScroller(),0),this._viewport&&this._virtualScroller&&this._viewport!==this._lastViewportElement&&(this._cleanupVirtualScroller?.(),this._virtualScroller=void 0,setTimeout(()=>this._setupVirtualScroller(),0)),this._viewport&&(this._lastViewportElement=this._viewport)}async prepareComponents(J){for(const W of J){W.items=await Promise.all(W.items.map(async X=>({...X,component:await X.componentFactory({item:X})})));for(const X of W.subGroups)X.items=await Promise.all(X.items.map(async te=>({...te,component:await te.componentFactory({item:te})})))}}highlightMatch(J,W){if(!this.searchString||this.searchString.length<2)return J;const X=new RegExp(`(${W})`,"gi");return J.replace(X,'<span class="highlight">$1</span>')}highlighted(J){return J?ae(this.highlightMatch(J,this.searchString)):null}_scrollIntoDate(J){if(!this._virtualScroller||!this._viewport)return;const W=this.historyGroups??[];if(!W.length)return;const X=startOfDay(J).getTime(),te=oe=>startOfDay(getGroupMostRecentDate(oe)).getTime();let re=W.findIndex(oe=>te(oe)<=X);re===-1&&(re=W.length-1),this._viewport.scrollTop=this._virtualScroller.getOffsetForIndex(re),this._alignGroupTop(re,0)}_alignGroupTop(J,W){W>=4||!this._viewport||requestAnimationFrame(()=>{const X=this._viewport;if(!X)return;const te=this.renderRoot?.querySelector(`.visit[data-index="${J}"]`);if(!te){this._alignGroupTop(J,W+1);return}const re=Math.round(te.getBoundingClientRect().top-X.getBoundingClientRect().top);Math.abs(re)<=1||(X.scrollTop+=re,this._alignGroupTop(J,W+1))})}_setupVirtualScroller(){!this._viewport||this._virtualScroller||(this._virtualScroller=new VirtualScroller({items:this.historyGroups||[],estimatedItemHeight:200,overscan:8}),this._cleanupVirtualScroller=this._virtualScroller.setup(this._viewport,J=>{this._virtualScrollerState=J,this.requestUpdate(),this.api?.broker&&this.searchString&&this.api.broker.publish(this.api.broker.events.activityHistory.searched,{searchQuery:this.searchString})}),this._virtualScrollerState=this._virtualScroller.getState())}_updateVirtualScroller(){!this._virtualScroller||!this.historyGroups?.length||(this._virtualScroller.updateItems(this.historyGroups,J=>{this._virtualScrollerState=J,this.requestUpdate(),this.api?.broker&&this.searchString&&this.api.broker.publish(this.api.broker.events.activityHistory.searched,{searchQuery:this.searchString})}),this._virtualScrollerState=this._virtualScroller.getState())}get _visibleRows(){return this._virtualScrollerState.virtualItems.map(J=>({index:J.index,group:this.historyGroups?.[J.index]})).filter(J=>!!J.group)}get _containerOffset(){return this._virtualScrollerState.virtualItems[0]?.start??0}get _totalHeight(){return this._virtualScrollerState.totalHeight}};ActivityHistoryTimeline.styles=i$S`
|
|
520
520
|
${r$M(styles$m)}
|
|
521
521
|
`,__decorateClass$s([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryTimeline.prototype,"historyGroups",2),__decorateClass$s([connectedProperty(isSomeCollectionLoadedAndOtherLoading)],ActivityHistoryTimeline.prototype,"isSomeCollectionLoadedAndOtherLoading",2),__decorateClass$s([connectedProperty(isAnyCollectionBusySelector)],ActivityHistoryTimeline.prototype,"isAnyCollectionBusy",2),__decorateClass$s([connectedProperty(activityHistorySearchStringSelector)],ActivityHistoryTimeline.prototype,"searchString",2),__decorateClass$s([lazyInject(TYPES.primaryApi)],ActivityHistoryTimeline.prototype,"api",2),__decorateClass$s([e$R(".virtual-container")],ActivityHistoryTimeline.prototype,"_virtualContainer",2),__decorateClass$s([e$R(".virtual-viewport")],ActivityHistoryTimeline.prototype,"_viewport",2),__decorateClass$s([r$J()],ActivityHistoryTimeline.prototype,"_virtualScrollerState",2),__decorateClass$s([r$J()],ActivityHistoryTimeline.prototype,"_canShowNoDataMessage",2),ActivityHistoryTimeline=__decorateClass$s([t$x("activity-history-timeline")],ActivityHistoryTimeline);const template$l=J=>{const W=J.areCustomFiltersActive||J.areCommonFiltersActive||J.areDiagnosticFiltersActive||J.areUpFiltersActive;return!W&&J.searchString.length<1?D$4:ke$1`
|
|
522
522
|
<div class="active-filters-header">
|
|
@@ -616,7 +616,7 @@ ${J.searchString?.length>1?ke$1`
|
|
|
616
616
|
</div>
|
|
617
617
|
`};var __defProp$i=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$m=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$8(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$i(W,X,re),re};let ActiveFiltersBadges=class extends h$p{render(){return ke$1`${template$g(this)}`}_onDeleteFilterValue(J,W,X,te){this.api.broker.send(new SetCustomFilterValue({filterGroupId:J,filterId:W,optionId:X,enabled:te}))}_onDeleteCommonFilterValue(J){this.api.broker.send(new SetCommonFilter({id:J,enabled:!1}))}_onDeleteDiagnosticFilterValue(J){this.api.broker.send(new DeleteDiagnosticFilterValueCommand({diagnosticCodi:J}))}_onDeleteUpFilterValue(J){this.api.broker.send(new SetUpFiltersCommand([...this.upFilterEnabled.enabledValues.filter(W=>W!==J)]))}resetFilters(){this.api.broker.send(new ResetFiltersCommand)}};ActiveFiltersBadges.styles=i$S`
|
|
618
618
|
${r$M(styles$f)}
|
|
619
|
-
`,__decorateClass$m([lazyInject(TYPES.primaryApi)],ActiveFiltersBadges.prototype,"api",2),__decorateClass$m([connectedProperty(activityHistoryEnabledCommonFiltersSelector)],ActiveFiltersBadges.prototype,"enabledCommonFilters",2),__decorateClass$m([connectedProperty(customFilterGroupsWithOptionsSelector)],ActiveFiltersBadges.prototype,"enabledFilters",2),__decorateClass$m([connectedProperty(diagnosticFilterSelector)],ActiveFiltersBadges.prototype,"diagnosticFilterEnabled",2),__decorateClass$m([connectedProperty(upFilterSelector)],ActiveFiltersBadges.prototype,"upFilterEnabled",2),ActiveFiltersBadges=__decorateClass$m([t$x("active-filters-badges")],ActiveFiltersBadges);let request$3;const bootstrapSearchItems=J=>{request$3=J.registerRequest(SearchActivityHistoryItems,SearchItemsHandler)},teardownSearchItems=()=>{request$3?.dispose()},{updateActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class UpdateHistoryItemHandler extends StoreBaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]),this.store.dispatch(updateActivityHistoryItem({id:W.entityId,item:W.item}))}catch(X){console.error(X.message)}}}let request$2;const bootstrapUpdateHistoryItem=J=>{request$2=J.registerRequest("update_history_item_request",UpdateHistoryItemHandler)},teardownUpdateHistoryItem=()=>{request$2?.dispose()};let broker;const bootstrapActivityHistoryItem=J=>{broker=brokerExtensions(J,container),bootstrapInjectAsyncHistoryItems(broker,J),bootstrapAddHistoryItem(broker,J),bootstrapAddHistoryItems(broker,J),bootstrapHandleHistoryItemsAddError(broker),bootstrapHandleRefreshHistoryItems(broker),bootstrapUpdateHistoryItem(broker),bootstrapExportPdf(broker),bootstrapFilters(broker,J),bootstrapSearchItems(broker),bootstrapRemoveHistoryItem(broker)},teardownActivityHistoryItem=()=>{teardownInjectAsyncHistoryItems(),teardownAddHistoryItem(),teardownAddHistoryItems(),teardownHandleHistoryItemsAddError(),teardownUpdateHistoryItem(),teardownExportPdf(),teardownFilters(),teardownSearchItems(),teardownRemoveHistoryItem()},pluginName="activity-history",prepareGroupComponents=async J=>{const W=X=>Promise.all(X.map(async te=>({...te,component:te.componentFactory?await te.componentFactory({item:te}):void 0})));return Promise.all(J.map(async X=>({...X,items:await W(X.items||[]),subGroups:await Promise.all((X.subGroups||[]).map(async te=>({...te,items:await W(te.items)})))})))},INITIAL_SCROLLER_STATE={virtualItems:[],totalHeight:0};class ScrollerController{sync({viewport:W,items:X,onStateChange:te,estimatedItemHeight:re=200}){return W?(this._scroller&&W!==this._lastViewport&&this.teardown(),this._scroller?this._scroller.updateItems(X,te):(this._scroller=new VirtualScroller({items:X,estimatedItemHeight:re}),this._cleanup=this._scroller.setup(W,te)),this._lastViewport=W,this._scroller.getState()):this._scroller?.getState()??INITIAL_SCROLLER_STATE}teardown(){this._cleanup?.(),this._cleanup=void 0,this._scroller=void 0,this._lastViewport=void 0}scrollToIndex(W,X){this._scroller?.scrollToIndex(W,X)}measureElement(W){this._scroller?.measureElement(W)}
|
|
619
|
+
`,__decorateClass$m([lazyInject(TYPES.primaryApi)],ActiveFiltersBadges.prototype,"api",2),__decorateClass$m([connectedProperty(activityHistoryEnabledCommonFiltersSelector)],ActiveFiltersBadges.prototype,"enabledCommonFilters",2),__decorateClass$m([connectedProperty(customFilterGroupsWithOptionsSelector)],ActiveFiltersBadges.prototype,"enabledFilters",2),__decorateClass$m([connectedProperty(diagnosticFilterSelector)],ActiveFiltersBadges.prototype,"diagnosticFilterEnabled",2),__decorateClass$m([connectedProperty(upFilterSelector)],ActiveFiltersBadges.prototype,"upFilterEnabled",2),ActiveFiltersBadges=__decorateClass$m([t$x("active-filters-badges")],ActiveFiltersBadges);let request$3;const bootstrapSearchItems=J=>{request$3=J.registerRequest(SearchActivityHistoryItems,SearchItemsHandler)},teardownSearchItems=()=>{request$3?.dispose()},{updateActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class UpdateHistoryItemHandler extends StoreBaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]),this.store.dispatch(updateActivityHistoryItem({id:W.entityId,item:W.item}))}catch(X){console.error(X.message)}}}let request$2;const bootstrapUpdateHistoryItem=J=>{request$2=J.registerRequest("update_history_item_request",UpdateHistoryItemHandler)},teardownUpdateHistoryItem=()=>{request$2?.dispose()};let broker;const bootstrapActivityHistoryItem=J=>{broker=brokerExtensions(J,container),bootstrapInjectAsyncHistoryItems(broker,J),bootstrapAddHistoryItem(broker,J),bootstrapAddHistoryItems(broker,J),bootstrapHandleHistoryItemsAddError(broker),bootstrapHandleRefreshHistoryItems(broker),bootstrapUpdateHistoryItem(broker),bootstrapExportPdf(broker),bootstrapFilters(broker,J),bootstrapSearchItems(broker),bootstrapRemoveHistoryItem(broker)},teardownActivityHistoryItem=()=>{teardownInjectAsyncHistoryItems(),teardownAddHistoryItem(),teardownAddHistoryItems(),teardownHandleHistoryItemsAddError(),teardownUpdateHistoryItem(),teardownExportPdf(),teardownFilters(),teardownSearchItems(),teardownRemoveHistoryItem()},pluginName="activity-history",prepareGroupComponents=async J=>{const W=X=>Promise.all(X.map(async te=>({...te,component:te.componentFactory?await te.componentFactory({item:te}):void 0})));return Promise.all(J.map(async X=>({...X,items:await W(X.items||[]),subGroups:await Promise.all((X.subGroups||[]).map(async te=>({...te,items:await W(te.items)})))})))},INITIAL_SCROLLER_STATE={virtualItems:[],totalHeight:0};class ScrollerController{sync({viewport:W,items:X,onStateChange:te,estimatedItemHeight:re=200}){return W?(this._scroller&&W!==this._lastViewport&&this.teardown(),this._scroller?this._scroller.updateItems(X,te):(this._scroller=new VirtualScroller({items:X,estimatedItemHeight:re}),this._cleanup=this._scroller.setup(W,te)),this._lastViewport=W,this._scroller.getState()):this._scroller?.getState()??INITIAL_SCROLLER_STATE}teardown(){this._cleanup?.(),this._cleanup=void 0,this._scroller=void 0,this._lastViewport=void 0}scrollToIndex(W,X){this._scroller?.scrollToIndex(W,X)}measureElement(W){this._scroller?.measureElement(W)}}const isToday=J=>{const W=new Date(J),X=new Date;return W.toDateString()===X.toDateString()},itemMatchesToday=J=>!!(J&&isToday(J.date)),itemHasAnyDiagnostic=(J,W)=>!!J.diagnostics?.some(X=>W.includes(X.codi)),isAllowedItem=(J,W)=>{const X=J.type?W[J.type]:void 0;return!X?.allowedTagIds||X.allowedTagIds.length===0?!0:X.allowedTagIds.includes(J.tag?.id??"")},groupMatchesToday=J=>{const W=J.items?.[0]||J.subGroups?.[0]?.items?.[0];return itemMatchesToday(W)},filterGroupItemsByPredicate=(J,W)=>({...J,items:(J.items||[]).filter(W),subGroups:(J.subGroups||[]).map(X=>({...X,items:X.items.filter(W)})).filter(X=>X.items.length>0)}),filterGroupByDiagnostics=(J,W)=>filterGroupItemsByPredicate(J,X=>itemHasAnyDiagnostic(X,W)),isGroupNonEmpty=J=>J.items.length>0||J.subGroups.length>0,applyImporterFilters=(J,{todayOnly:W,selectedDiagnosticCodes:X},te={})=>{const re=J.map(de=>filterGroupItemsByPredicate(de,ce=>isAllowedItem(ce,te))).filter(isGroupNonEmpty),oe=W,ne=X.length>0;return!oe&&!ne?re:re.map(de=>oe&&groupMatchesToday(de)?de:ne?filterGroupByDiagnostics(de,X):null).filter(de=>de!==null&&isGroupNonEmpty(de))},flattenGroupItems=J=>{const W=[];for(const X of J){for(const te of X.items||[])W.push(te);for(const te of X.subGroups||[])for(const re of te.items)W.push(re)}return W},styles$e=":host{display:block;height:100%;width:100%}.importer{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden}.importer__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.importer__search{display:block}.importer__filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--color-neutral-200)}.importer__filters-label{color:var(--color-neutral-700);font-size:13px}.importer__empty{color:var(--color-neutral-600);font-size:13px;padding:24px 0;text-align:center}.virtual-container{flex:1;min-height:0;position:relative}.virtual-viewport{height:100%;overflow:auto}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.visit:first-child{margin-top:var(--dss-spacing-xs)}.visit{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-xs);border-bottom:2px solid var(--color-neutral-300)}.visit:last-child{border-bottom:none}.visit__items,.diagnostics{padding-left:var(--dss-spacing-md)}.visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit__header .title-date{font-weight:700}.visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit__items .item[has-divider]:last-of-type{border:none}.diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics:last-of-type{border:none}.diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.diagnostics__items{display:flex;flex-direction:column}.diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics__items .item[has-divider]:last-of-type{border:none}.item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.item__check{margin-top:4px}",checkboxState=J=>({checked:J==="all",indeterminate:J==="some"}),template$f=J=>{const W=checkboxState(J.allState());return ke$1`
|
|
620
620
|
<div class="importer">
|
|
621
621
|
${headerTemplate(J)} ${searchTemplate(J)} ${filtersTemplate(J,W)} ${listTemplate(J)}
|
|
622
622
|
</div>
|
|
@@ -723,7 +723,7 @@ ${J.searchString?.length>1?ke$1`
|
|
|
723
723
|
${J.diagnostics.filter(W=>W.descripcio!=null&&W.descripcio.trim()!=="").map(W=>ke$1`<dss-badge text=${W.descripcio?.toUpperCase()} state="info" size="sm" outlined hideIcon></dss-badge>`)}
|
|
724
724
|
`;var __defProp$h=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$l=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$7(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$h(W,X,re),re};let ActivityHistoryImporter=class extends h$p{constructor(){super(...arguments),this.historyGroups=[],this.searchString="",this.rulesByCollectionId={},this.todayOnly=!1,this.selectedDiagnosticCodes=[],this.availableDiagnostics=[],this.filteredGroups=[],this.totalCount=0,this.selectedIds=[],this._virtualScrollerState=INITIAL_SCROLLER_STATE,this._scrollerController=new ScrollerController,this._searchTimeout=null,this._didInitialPreselect=!1,this._measureElement=J=>{J&&this._scrollerController.measureElement(J)}}render(){return ke$1`${template$f(this)}`}connectedCallback(){super.connectedCallback(),this.selectedIds=[],this._didInitialPreselect=!1;const J=this.api?.importDataManager?.getCurrentImportParams?.();this.availableDiagnostics=J?.diagnostics??[]}disconnectedCallback(){super.disconnectedCallback(),this._scrollerController.teardown(),this._clearSearchTimeout(),this.api.broker.send(new SearchActivityHistoryItems("")),this.selectedIds=[]}updated(J){super.updated(J),(J.has("historyGroups")||J.has("todayOnly")||J.has("selectedDiagnosticCodes"))&&this._recomputeFiltered(),!this._didInitialPreselect&&this.historyGroups?.length&&(this._didInitialPreselect=!0,this._preselectMatchingItems()),J.has("filteredGroups")&&this._syncVirtualScroller(),J.has("selectedIds")&&this._publishSelection()}_onSearchChange(J){typeof J.detail=="string"&&(this._clearSearchTimeout(),this._searchTimeout=window.setTimeout(()=>{this.api.broker.send(new SearchActivityHistoryItems(J.detail))},300))}_onToggleToday(J){this.todayOnly=J.target.checked}_onDiagnosticsChanged(J){const W=J.detail;this.selectedDiagnosticCodes=(W?.selectedItems||[]).map(X=>X.value)}_toggleItem(J){this.selectedIds=this.selectedIds.includes(J)?this.selectedIds.filter(W=>W!==J):[...this.selectedIds,J]}_toggleVisit(J,W){this._setSelection(flattenGroupItems([J]).map(X=>X.id),W)}_toggleSubGroup(J,W){this._setSelection(J.map(X=>X.id),W)}_toggleAll(J){this._setSelection(flattenGroupItems(this.filteredGroups).map(W=>W.id),J.target.checked)}isItemSelected(J){return this.selectedIds.includes(J)}visitState(J){return this._tristate(flattenGroupItems([J]).map(W=>W.id))}subGroupState(J){return this._tristate(J.map(W=>W.id))}allState(){return this._tristate(flattenGroupItems(this.filteredGroups).map(J=>J.id))}hasDiagnosticsFilter(){return this.availableDiagnostics.length>0}diagnosticsOptions(){return this.availableDiagnostics.map(J=>({label:J.description,value:J.code}))}get _visibleRows(){return this._virtualScrollerState.virtualItems.map(J=>({index:J.index,group:this.filteredGroups?.[J.index]})).filter(J=>!!J.group)}get _containerOffset(){return this._virtualScrollerState.virtualItems[0]?.start??0}get _totalHeight(){return this._virtualScrollerState.totalHeight}_clearSearchTimeout(){this._searchTimeout!==null&&(clearTimeout(this._searchTimeout),this._searchTimeout=null)}_setSelection(J,W){if(W){const X=J.filter(te=>!this.selectedIds.includes(te));X.length&&(this.selectedIds=[...this.selectedIds,...X])}else{const X=new Set(J);this.selectedIds=this.selectedIds.filter(te=>!X.has(te))}}_tristate(J){if(!J.length)return"none";const W=J.filter(X=>this.selectedIds.includes(X)).length;return W===0?"none":W===J.length?"all":"some"}async _recomputeFiltered(){const J={todayOnly:this.todayOnly,selectedDiagnosticCodes:this.selectedDiagnosticCodes},W=applyImporterFilters(this.historyGroups||[],J,this.rulesByCollectionId);this.filteredGroups=await prepareGroupComponents(W),this.totalCount=flattenGroupItems(this.filteredGroups).length}_syncVirtualScroller(){this._virtualScrollerState=this._scrollerController.sync({viewport:this._viewport,items:this.filteredGroups,onStateChange:J=>{this._virtualScrollerState=J,this.requestUpdate()}})}_preselectMatchingItems(){const J={diagnostics:this.availableDiagnostics},W=[],X=te=>{for(const re of te){const oe=re.type?this.rulesByCollectionId[re.type]:void 0;oe?.shouldPreselect&&oe.shouldPreselect(re,J)&&W.push(re.id)}};for(const te of this.historyGroups||[]){X(te.items||[]);for(const re of te.subGroups||[])X(re.items)}W.length&&(this.selectedIds=[...new Set([...this.selectedIds,...W])])}_publishSelection(){const J=new Set(this.selectedIds),W=(this.historyGroups||[]).map(X=>({...X,items:(X.items||[]).filter(te=>J.has(te.id)),subGroups:(X.subGroups||[]).map(te=>({...te,items:te.items.filter(re=>J.has(re.id))})).filter(te=>te.items.length>0)})).filter(X=>X.items.length>0||X.subGroups.length>0);this.api.importDataManager.selectItems({pluginId:pluginName,data:W,text:{raw:"",html:""}})}};ActivityHistoryImporter.styles=i$S`
|
|
725
725
|
${r$M(styles$e)}
|
|
726
|
-
`,__decorateClass$l([lazyInject(TYPES.primaryApi)],ActivityHistoryImporter.prototype,"api",2),__decorateClass$l([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryImporter.prototype,"historyGroups",2),__decorateClass$l([connectedProperty(activityHistorySearchStringSelector)],ActivityHistoryImporter.prototype,"searchString",2),__decorateClass$l([connectedProperty(historyDataImporterRulesByCollectionIdSelector)],ActivityHistoryImporter.prototype,"rulesByCollectionId",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"todayOnly",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"selectedDiagnosticCodes",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"availableDiagnostics",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"filteredGroups",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"totalCount",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"selectedIds",2),__decorateClass$l([e$R(".virtual-viewport")],ActivityHistoryImporter.prototype,"_viewport",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"_virtualScrollerState",2),ActivityHistoryImporter=__decorateClass$l([t$x("activity-history-importer")],ActivityHistoryImporter);const styles$d=":host{display:flex;min-height:1px;height:100%;width:100%}.container{display:flex;flex-direction:column;width:100%;border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm)}.container[maximized]{position:absolute;background:#fff;top:0;left:0;bottom:0;border:none}.container[maximized] .header-maximized-container{display:flex;flex-direction:column}.container[maximized] .header-maximized-container .header__maximized{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding-top:
|
|
726
|
+
`,__decorateClass$l([lazyInject(TYPES.primaryApi)],ActivityHistoryImporter.prototype,"api",2),__decorateClass$l([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryImporter.prototype,"historyGroups",2),__decorateClass$l([connectedProperty(activityHistorySearchStringSelector)],ActivityHistoryImporter.prototype,"searchString",2),__decorateClass$l([connectedProperty(historyDataImporterRulesByCollectionIdSelector)],ActivityHistoryImporter.prototype,"rulesByCollectionId",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"todayOnly",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"selectedDiagnosticCodes",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"availableDiagnostics",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"filteredGroups",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"totalCount",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"selectedIds",2),__decorateClass$l([e$R(".virtual-viewport")],ActivityHistoryImporter.prototype,"_viewport",2),__decorateClass$l([r$J()],ActivityHistoryImporter.prototype,"_virtualScrollerState",2),ActivityHistoryImporter=__decorateClass$l([t$x("activity-history-importer")],ActivityHistoryImporter);const styles$d=":host{display:flex;min-height:1px;height:100%;width:100%}.container{display:flex;flex-direction:column;width:100%;border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm)}.container[maximized]{position:absolute;background:#fff;top:0;left:0;bottom:0;border:none}.container[maximized] .header-maximized-container{display:flex;flex-direction:column}.container[maximized] .header-maximized-container .header__maximized{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px;padding-inline:40px}.container[maximized] .header-maximized-container .header__maximized .header__maximized__search{flex:1;border-radius:8px;border:1px solid rgb(189,189,189);padding:8px;width:300px}.container[maximized] .header-maximized-container .header__maximized .title{color:var(--color-neutral-900);font-weight:700;font-size:20px;line-height:30px;white-space:nowrap}.container[maximized] .header-maximized-container .header__maximized .options{display:flex;align-items:center;color:var(--color-primary-400);font-weight:600;font-size:14px;line-height:24px;cursor:pointer}.container[maximized] .header-maximized-container .header__maximized .header__maximized__left{display:flex;flex-direction:row;gap:24px;align-items:center;width:100%}.container[maximized] .header-maximized-container .header__maximized .header__maximized__right{display:flex;flex-direction:row;gap:16px;align-items:center}.container[maximized] .wrapper{height:calc(100vh - 175px);border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm);margin-bottom:24px;margin-inline:40px;width:calc(100% - 80px)}.container .header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgb(189,189,189);gap:16px}.container .header .header__left{display:flex;flex-direction:row;align-items:center;flex:1;gap:16px}.container .header .header__left .title{color:var(--color-neutral-800);font-weight:700;font-size:16px;line-height:24px;white-space:nowrap}.container .header .header__right{display:flex;flex-direction:row;align-items:center;gap:8px}.container .header .header__right .action-icons{display:flex;align-items:center}.container .wrapper{display:flex;flex-direction:row;min-height:1px;width:100%;height:100%}.container .wrapper[maximized] .content{width:100%;background:var(--color-neutral-50);border-top-right-radius:var(--dss-radius-sm);display:flex;flex-direction:column}.container .wrapper .content{width:100%;background:var(--color-neutral-50);border-bottom-right-radius:var(--dss-radius-sm);overflow:hidden;display:flex;flex-direction:column}",template$e=J=>ke$1`<div class="container" ?maximized=${J.maximized}>
|
|
727
727
|
${J.maximized?ke$1`${headerMaximizedTemplate(J)}`:ke$1`<div class="header">
|
|
728
728
|
<div class="header__left">
|
|
729
729
|
<div class="title">${translate("activityHistory")}</div>
|
|
@@ -737,8 +737,8 @@ ${J.searchString?.length>1?ke$1`
|
|
|
737
737
|
<div class="header__right">
|
|
738
738
|
<dss-icon-button tooltipFixed @click=${()=>J._refreshHistory()} size="md" variant="primary" icon="refresh" label=${translate("actions.refresh")}></dss-icon-button>
|
|
739
739
|
<div>|</div>
|
|
740
|
-
<dss-icon-button tooltipFixed @click=${()=>J._maximize()} size="md" variant="primary" icon="
|
|
741
|
-
|
|
740
|
+
<dss-icon-button tooltipFixed @click=${()=>J._maximize()} size="md" variant="primary" icon="open_in_full" label=${translate("actions.maximizeButton")}></dss-icon-button>
|
|
741
|
+
${J.isAdministrative?D$4:ke$1`<div>|</div>
|
|
742
742
|
<div>
|
|
743
743
|
<dss-icon-button tooltipFixed size="md" variant="primary" icon="more_vert" label=${translate("actions.menuButton")}></dss-icon-button>
|
|
744
744
|
<dss-action-menu position="bottom-start">
|
|
@@ -746,8 +746,8 @@ ${J.searchString?.length>1?ke$1`
|
|
|
746
746
|
<!-- <dss-action-menu-item lefticon="file_download" label=${translate("actions.exportPdf")} @click=${()=>J.api.broker.send(new ExportPdf)}></dss-action-menu-item> -->
|
|
747
747
|
<!-- <dss-action-menu-item lefticon="info" label=${translate("actions.entryLegend")}></dss-action-menu-item> -->
|
|
748
748
|
</dss-action-menu>
|
|
749
|
-
</div
|
|
750
|
-
</div>
|
|
749
|
+
</div>`}
|
|
750
|
+
</div>
|
|
751
751
|
</div>`}
|
|
752
752
|
<div class="wrapper" ?maximized=${J.maximized}>
|
|
753
753
|
<activity-history-filters .wrapperMaximized=${J.maximized}></activity-history-filters>
|
|
@@ -776,11 +776,12 @@ ${J.searchString?.length>1?ke$1`
|
|
|
776
776
|
</dss-action-menu>
|
|
777
777
|
</div> -->
|
|
778
778
|
<!-- <dss-button label="${translate("actions.entryLegend")}" size="md" variant="secondary" icon="info"></dss-button> -->
|
|
779
|
-
|
|
779
|
+
${J.isAdministrative?D$4:ke$1`<dss-button label="${translate("actions.cronogram")}" size="md" variant="primary" icon="view_timeline" @click=${J._raiseEcapCronogramEvent}></dss-button>`}
|
|
780
|
+
<dss-icon-button tooltipFixed @click=${()=>J._minimize()} size="md" variant="primary" icon="close_fullscreen" label=${translate("actions.minimizeButton")}></dss-icon-button>
|
|
780
781
|
</div>
|
|
781
782
|
</div>
|
|
782
783
|
</div>
|
|
783
|
-
`;var __defProp$g=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$k=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$6(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$g(W,X,re),re};let ActivityHistoryMain=class extends PrimariaRegionHost(h$p){constructor(){super(...arguments),this.subscriptions=[],this._searchTimeout=null,this.maximized=!1,this.searchQuery=""}render(){return ke$1`${template$e(this)}`}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._unsubscribeEvents()}firstUpdated(){super.firstUpdated(),this._subscribeEvents()}_maximize(){this.maximized=!0}_minimize(){this.maximized=!1}_subscribeEvents(){const J=this.api.broker.subscribe("mainViewChanged",({viewId:W})=>{(W==="clinical-monitoring"||W==="admin-clinical-monitoring")&&(this.maximized=!1)});this.subscriptions.push(J)}_unsubscribeEvents(){this.subscriptions.forEach(J=>J.dispose())}_handleSelectDate(J){const W=parse(J,"dd/MM/yyyy",new Date);this.scrollToClosestDate(W)}_handleSearchChange(J){typeof J.detail=="string"&&(this.searchQuery=J.detail,this._searchTimeout&&clearTimeout(this._searchTimeout),this._searchTimeout=setTimeout(()=>{this.api.broker.send(new SearchActivityHistoryItems(this.searchQuery))},300))}async _raiseEcapCronogramEvent(){const J=await this.api.broker.send("get_patient_cip");this.api.ecapEventManager.publish("CRONOGRAMA","NO_TANCAR",{CIP:J})}scrollToClosestDate(J){const W=J.getTime();this.shadowRoot.querySelector("activity-history-timeline")._scrollIntoDate(W)}_refreshHistory(){this.api.broker.send(new HandleRefreshHistoryItems)}};ActivityHistoryMain.styles=i$S`
|
|
784
|
+
`;var __defProp$g=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$k=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$6(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=(te?ne(W,X,re):ne(re))||re);return te&&re&&__defProp$g(W,X,re),re};let ActivityHistoryMain=class extends PrimariaRegionHost(h$p){constructor(){super(...arguments),this.subscriptions=[],this._searchTimeout=null,this.maximized=!1,this.searchQuery=""}render(){return ke$1`${template$e(this)}`}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._unsubscribeEvents()}firstUpdated(){super.firstUpdated(),this._subscribeEvents()}get isAdministrative(){return!!this.api?.userManager?.isUserRoleAdministrative()}_maximize(){this.maximized=!0}_minimize(){this.maximized=!1}_subscribeEvents(){const J=this.api.broker.subscribe("mainViewChanged",({viewId:W})=>{(W==="clinical-monitoring"||W==="admin-clinical-monitoring")&&(this.maximized=!1)});this.subscriptions.push(J)}_unsubscribeEvents(){this.subscriptions.forEach(J=>J.dispose())}_handleSelectDate(J){const W=parse(J,"dd/MM/yyyy",new Date);this.scrollToClosestDate(W)}_handleSearchChange(J){typeof J.detail=="string"&&(this.searchQuery=J.detail,this._searchTimeout&&clearTimeout(this._searchTimeout),this._searchTimeout=setTimeout(()=>{this.api.broker.send(new SearchActivityHistoryItems(this.searchQuery))},300))}async _raiseEcapCronogramEvent(){const J=await this.api.broker.send("get_patient_cip");this.api.ecapEventManager.publish("CRONOGRAMA","NO_TANCAR",{CIP:J})}scrollToClosestDate(J){const W=J.getTime();this.shadowRoot.querySelector("activity-history-timeline")._scrollIntoDate(W)}_refreshHistory(){this.api.broker.send(new HandleRefreshHistoryItems)}};ActivityHistoryMain.styles=i$S`
|
|
784
785
|
${r$M(styles$d)}
|
|
785
786
|
`,__decorateClass$k([n$y({type:Boolean,reflect:!0})],ActivityHistoryMain.prototype,"maximized",2),__decorateClass$k([lazyInject(TYPES.primaryApi)],ActivityHistoryMain.prototype,"api",2),__decorateClass$k([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryMain.prototype,"historyGroups",2),__decorateClass$k([connectedProperty(isSomeCollectionLoadedAndOtherLoading)],ActivityHistoryMain.prototype,"isSomeCollectionLoadedAndOtherLoading",2),__decorateClass$k([connectedProperty(isAnyCollectionBusySelector)],ActivityHistoryMain.prototype,"isAnyCollectionBusy",2),__decorateClass$k([n$y()],ActivityHistoryMain.prototype,"searchQuery",2),ActivityHistoryMain=__decorateClass$k([t$x("activity-history-main")],ActivityHistoryMain);const IMPORTER_VIEW_ID="activity-history-importer",registerViews=J=>{J.regionManager.registerView(J.regionManager.regions.clinicalMonitoring.content,{id:J.pluginInfo.pluginId,factory:()=>Promise.resolve(new ActivityHistoryMain)}),J.regionManager.registerView(J.regionManager.regions.shell.importDataActivityHistory,{id:IMPORTER_VIEW_ID,factory:()=>Promise.resolve(new ActivityHistoryImporter),sortHint:"0020"})},unregisterViews=()=>{const J=container.get(TYPES.primaryApi);J.regionManager.removeView(J.regionManager.regions.clinicalMonitoring.content,J.pluginInfo.pluginId),J.regionManager.removeView(J.regionManager.regions.shell.importDataActivityHistory,IMPORTER_VIEW_ID)},bootstrapFeatures=J=>{bootstrapActivityHistoryItem(J)},teardownFeatures=()=>{teardownActivityHistoryItem()},initialize=async J=>(setShellApiForOwnSpec(J),registerViews(J),await initializeLocalization(J),bindDeps(J),bootstrapFeatures(J),Promise.resolve()),dispose=()=>(setShellApiForOwnSpec(null),teardownFeatures(),unregisterViews(),unbindDeps(),Promise.resolve());let bootstrappedPlugins=[];const internalPlugins=[{pluginId:"activity-history",importer:()=>Promise.resolve({initialize,dispose})}],bootstrapPlugins=async(J,W)=>{const X=internalPlugins.concat(J||[]);bootstrappedPlugins=await p$c(X,primariaApiFactory),handleStartupPlugin(bootstrappedPlugins,W)},handleStartupPlugin=(J,W)=>{if(J&&J.length>0&&W?.pluginId){const X=J.find(te=>te?.apiInstance.pluginInfo.pluginId===W.pluginId);X?.importedPlugin?.startup&&X?.importedPlugin?.startup?.(X.apiInstance,W.params)}},disposePlugins=async()=>Promise.all(bootstrappedPlugins.map(J=>J?.dispose()));var __getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$j=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$5(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=ne(re)||re);return re},__decorateParam$2=(J,W)=>(X,te)=>W(X,te,J);let ExitShellHandler=class{constructor(J){this.api=J}async handle(J){const W=J&&J.ecapEvent!==void 0?J:void 0;try{if(!await this.api.exitGuardManager.canExit())return;const te=this.api.pluginBusyManager.getTasks();if(te.length>0){const{confirmed:re}=await this.askForClose(te);if(!re)return}await Promise.race([disposePlugins(),this.timeout(1e4)]),disposeShell(),this.emitClose(W)}catch{this.api.notificationService.error(translate$1("errors.exit")),this.emitClose(W)}}timeout(J){return new Promise(W=>setTimeout(W,J))}askForClose(J){return this.api.interactionService.confirm({busyTasks:J},{component:PluginBusyList},{title:translate$1("actions.askExit"),state:"error",confirmButtonText:"Sí",cancelButtonText:"No"})}emitClose(J){J?raiseCustomCloseEvent(J):raiseCloseEvent()}};ExitShellHandler=__decorateClass$j([__decorateParam$2(0,inject(TYPES$1.primaryApi))],ExitShellHandler);class ExitShell{constructor(W,X){this.ecapEvent=W,this.payload=X}}let request$1;const useExitShell=J=>{disposeExitShell(),request$1=registerRequest$1(J,container$1)(ExitShell,ExitShellHandler)},disposeExitShell=()=>{request$1?.dispose()};var __getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$i=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$4(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=ne(re)||re);return re},__decorateParam$1=(J,W)=>(X,te)=>W(X,te,J);let GetUserInfoBackendAdapter=class{constructor(J){this.api=J}getUserInfo(){const J=jwtDecode(this.api.tokenManager.getToken()),W={userId:this.getUserId(J.access_info),firstName:J.access_info.trace_user_given_name,familyName:J.access_info.trace_user_family_name,lastName:J.access_info.trace_user_last_name,registrationNumber:J.access_info.identifier.find(X=>X.type==="NUMCOL")?.value,workCenter:J.access_info.center_code,role:J.access_info.role_type,speciality:J.access_info.professional_category};return Promise.resolve(W)}getUserId(J){return J.identifier?.find(W=>W.type==="DNI")?.value||J.identifier?.find(W=>W.type==="NIE")?.value}};GetUserInfoBackendAdapter=__decorateClass$i([injectable(),__decorateParam$1(0,inject(TYPES$1.primaryApi))],GetUserInfoBackendAdapter);var __getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$h=(J,W,X,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$3(W,X):W,oe=J.length-1,ne;oe>=0;oe--)(ne=J[oe])&&(re=ne(re)||re);return re},__decorateParam=(J,W)=>(X,te)=>W(X,te,J);let GetUserInfoHandler=class{constructor(J,W){this.api=J,this.backendAdapter=W}async handle(J){try{const W=await this.backendAdapter.getUserInfo();return this.api.globalStateManager.setData("userInfo",W),W}catch(W){this.api.notificationService.error(W.message)}}};GetUserInfoHandler=__decorateClass$h([__decorateParam(0,inject(TYPES$1.primaryApi)),__decorateParam(1,inject(GetUserInfoBackendAdapter))],GetUserInfoHandler);class GetUserInfo{}let request;const useGetUserInfo=J=>{disposeGetUserInfo(),request=registerRequest$1(J,container$1)(GetUserInfo,GetUserInfoHandler),registerDep(GetUserInfoBackendAdapter)},disposeGetUserInfo=()=>{request?.dispose(),unregisterDep(GetUserInfoBackendAdapter)},useFeatures=J=>{container$1.bind(TYPES$1.primaryApi).toConstantValue(J),useGetUserInfo(J),useExitShell(J),J.broker.send(new GetUserInfo)},disposeFeatures=J=>{disposeGetUserInfo(),disposeExitShell(),container$1.unbindAll(),J.regionManager._destroy(),mediatorSettings.resolver.clear()},disposeShell=()=>{disposeFeatures(shellApi),shellApi.interactionService.dispose(),sessionRefreshTimer.stop(),activityMonitor.stop()},raiseCloseEvent=()=>{shellApi.ecapEventManager.publish("CLOSE_FORM","",{})},raiseCustomCloseEvent=J=>{shellApi.ecapEventManager.publish(J.ecapEvent,"",J.payload)};var shellViews=(J=>(J.shell="primaria-shell",J.error="primaria-error-view",J))(shellViews||{});const styles$c=":host{width:100%;overflow:hidden}#main-switcher{display:inherit}.container{width:100%;height:100%;display:flex;flex-direction:column;background:#fff}.main-container{min-height:1px;height:100%;display:flex}.main-container .sidebar{padding-inline:16px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;background:var(--color-primary-700);width:40px;height:100%;color:#fff}.main-container .sidebar .quick-actions-content{padding-top:24px;padding-bottom:22px;border-radius:8px}.main-container .sidebar .quick-actions-content .create-button-icon-badge{position:relative}.main-container .sidebar .quick-actions-content .create-button-icon-badge dss-notification-badge{position:absolute;top:-7px;right:-6px;z-index:1}.main-container .sidebar .quick-actions-content .create-button-icon-badge dss-icon{position:relative}.main-container .sidebar .icon{margin-left:8px}.main-container .sidebar #menu-region{width:100%;height:100%;min-height:1px}.main-container .sidebar #menu-region-container{padding-top:15px;min-height:1px;height:100%;width:100%;display:flex;flex-direction:column;gap:4px;overflow-y:auto;margin-right:-14px;padding-right:14px;scrollbar-color:var(--color-primary-200) var(--color-primary-700);scrollbar-width:thin}.main-container .sidebar #menu-region-container::-webkit-scrollbar{width:6px}.main-container .sidebar #menu-region-container::-webkit-scrollbar-track{background:var(--color-primary-700)}.main-container .sidebar #menu-region-container::-webkit-scrollbar-thumb{background-color:var(--color-primary-400);border-radius:4px}.main-container .sidebar .bottom-content{display:flex;flex-direction:column;gap:24px;width:100%}.main-container .sidebar .bottom-content .bottom-content-first{display:flex;flex-direction:column;gap:22px}.main-container .sidebar[expanded]{width:252px;align-items:flex-start}.main-container .sidebar .create-button-closed{cursor:pointer;background-color:#f0f0f0;color:var(--color-primary-700);border-radius:8px;width:40px;height:40px;display:flex;flex-direction:row;align-items:center;justify-content:center;transition:background-color .3s ease}.main-container .sidebar .create-button-closed:hover{background-color:var(--color-primary-900);color:#fff}.main-container .sidebar .create-button-opened{cursor:pointer;background-color:#f0f0f0;color:var(--color-primary-700);border-radius:8px;gap:8px;font-weight:600;width:220px;height:40px;display:flex;flex-direction:row;align-items:center;transition:background-color .3s ease}.main-container .sidebar .create-button-opened:hover{background-color:var(--color-primary-900);color:#fff}.main-container .content{display:flex;height:100%;width:100%;min-width:0}.main-container #main-region-container{min-height:1px;min-width:0;height:100%;flex:1}.main-container #navigation-menu-lower-region-container{display:flex;flex-direction:column;gap:4px}.footer{display:flex;height:48px;padding:12px 24px}.footer .footer-logo{align-self:center;display:flex;gap:16px}.divider-opened{width:220px}.divider-closed{width:40px}.toggle-button{margin-bottom:24px}@media (max-width: 1439px){.bottom-content-first{margin-bottom:24px}.toggle-button{display:none}.content{overflow-y:auto}}";let t$t="";function f$o(){return t$t}function s$E(J,W){const X=f$o(),te=`${J}${X}`;customElements.define(te,W)}const e$N="*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;font-family:var(--font-family)}ul,ol{list-style:none}",n$w={type:Boolean,converter:{fromAttribute:J=>J!==null&&J!=="false",toAttribute:J=>J?"true":null}},o$W={fromAttribute:J=>!(J===null||J==="false"),toAttribute:J=>J?"":null},i$O={type:Array,converter:{fromAttribute:J=>{if(!J)return[];const W=JSON.parse(J);return Array.isArray(W)?W.map(X=>X.toString()):[W.toString()]},toAttribute:J=>JSON.stringify(J)}},i$N=':host{display:flex;align-items:center}.dss-icon,.material-symbols-rounded{font-family:var(--icon-font);font-size:var(--icon-size-md);font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.dss-icon--fill,.material-symbols-rounded--fill{font-variation-settings:"FILL" 1}.dss-icon--sm{font-size:var(--icon-size-sm)}.dss-icon--md{font-size:var(--icon-size-md)}.dss-icon--lg{font-size:var(--icon-size-lg)}.dss-icon--xl{font-size:var(--icon-size-xl)}.dss-icon-ghost{display:inline-block;height:var(--icon-size-md);width:var(--icon-size-md);overflow:hidden;background-color:transparent}.dss-icon-ghost--sm{height:var(--icon-size-sm);width:var(--icon-size-sm);border-radius:var(--dss-radius-xs)}.dss-icon-ghost--lg{height:var(--icon-size-lg);width:var(--icon-size-lg)}.dss-icon-ghost--xl{height:var(--icon-size-xl);width:var(--icon-size-xl)}.dss-icon--spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}';/**
|
|
786
787
|
* @license
|