react-luminus-components 1.5.24 → 1.5.25

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.
@@ -1 +1 @@
1
- "use strict";var ue=Object.defineProperty;var ce=(e,t,n)=>t in e?ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var S=(e,t,n)=>ce(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./ShortcutLinksContext-Ce9suS4R.cjs"),l=require("react"),R=require("@azure/msal-browser"),fe=require("@azure/msal-react");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");const K=require("./FormDisabledProvider-BJ_XUA85.cjs"),Y=require("./useLocalStorageState-C8BsBRul.cjs");function de(e){const t=o.toDate(e);return t.setHours(23,59,59,999),t}function me(){return de(Date.now())}function pe(e,t){const n=+o.toDate(e),[r,s]=[+o.toDate(t.start),+o.toDate(t.end)].sort((a,c)=>a-c);return n>=r&&n<=s}function he(){return o.startOfDay(Date.now())}const xe=({children:e})=>{const[t,n]=l.useState(!1),[r,s]=l.useState(""),[a,c]=l.useState(void 0),u=l.useCallback((d,m)=>{n(!0),s(d),c(m)},[]),f=l.useCallback(()=>{n(!1)},[]),i=l.useMemo(()=>({show:t,text:r,showConfirm:u,hideConfirm:f,textSm:a}),[t,r,u,f,a]);return o.jsxRuntimeExports.jsxs(o.ConfirmContext.Provider,{value:i,children:[o.jsxRuntimeExports.jsx(Qe,{}),e]})},ge=()=>{const{texts:{confirm:e}}=l.useContext(o.LuminusComponentsContext),{isShown:t,text:n,onFinish:r}=o.usePrompt(),{options:s}=l.useContext(o.PromptContext),[a,c]=l.useState(s.defaultValue??""),u=l.useCallback(()=>{r(null)},[r]),f=l.useCallback(d=>{d.preventDefault(),!(s.required&&!a)&&(r(a),c(""))},[r,s.required,a]),i=l.useMemo(()=>({value:a,onChange:d=>c(d.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[a]);return l.useEffect(()=>{t===!0&&c(s.defaultValue??"")},[t,s.defaultValue]),o.jsxRuntimeExports.jsxs(o.Modal,{show:t,size:"sm",centered:!0,onHide:u,children:[o.jsxRuntimeExports.jsx(o.Modal.Header,{className:"justify-content-center",children:o.jsxRuntimeExports.jsx(o.Modal.Title,{children:n})}),o.jsxRuntimeExports.jsxs("form",{onSubmit:f,onKeyDown:d=>d.stopPropagation(),children:[o.jsxRuntimeExports.jsxs(o.Modal.Body,{children:[s.input==="textarea"?o.jsxRuntimeExports.jsx("textarea",{...i,rows:5}):void 0,s.input==="input"?o.jsxRuntimeExports.jsx(o.FormControl,{...i,type:s.type}):void 0]}),o.jsxRuntimeExports.jsxs(o.Modal.Footer,{className:"w-100 d-flex gap-5",children:[o.jsxRuntimeExports.jsx(o.PrimaryButton,{variant:"outlined",color:"secondary",onClick:u,className:"flex-grow-1",children:e.cancel}),o.jsxRuntimeExports.jsx(o.PrimaryButton,{color:"primary",disabled:s.required&&!a,type:"submit",className:"flex-grow-1",children:e.confirm})]})]})]})},ye=({children:e})=>{const[t,n]=l.useState(!1),[r,s]=l.useState(""),[a,c]=l.useState({input:"textarea",type:"text"}),u=l.useRef(()=>{}),f=l.useCallback(m=>{s(m),n(!0)},[]),i=l.useCallback(()=>{n(!1)},[]),d=l.useMemo(()=>({isShown:t,text:r,showPrompt:f,hidePrompt:i,resolveRef:u,options:a,setOptions:c}),[t,r,f,i,a]);return o.jsxRuntimeExports.jsxs(o.PromptContext.Provider,{value:d,children:[e,o.jsxRuntimeExports.jsx(ge,{})]})},ve=({cookieDomain:e,axiosOptions:t,language:n,texts:r,ProjectIconComponent:s,localizationContext:a,chartColorPalette:c,children:u})=>{const f=l.useMemo(()=>({axiosOptions:t,cookieDomain:e,language:n,texts:r,ProjectIconComponent:s,localizationContext:a,chartColorPalette:c}),[t,e,n,s,a,r,c]);return o.jsxRuntimeExports.jsx(o.LuminusComponentsContext.Provider,{value:f,children:o.jsxRuntimeExports.jsx(xe,{children:o.jsxRuntimeExports.jsxs(ye,{children:[o.jsxRuntimeExports.jsx(o.Ie,{}),u]})})})},Te=({children:e})=>{const[t,n]=l.useState(!1),[r]=l.useState(new Set),s=l.useCallback(u=>{r.add(u),n(!0)},[r]),a=l.useCallback(u=>{r.delete(u),r.size===0&&n(!1)},[r]),c=l.useMemo(()=>({isLoading:t,startLoading:s,stopLoading:a}),[t,s,a]);return o.jsxRuntimeExports.jsxs(o.LoadingContext.Provider,{value:c,children:[t&&o.jsxRuntimeExports.jsx(K.Loading,{}),e]})},Ce=({children:e})=>{const t=o.useAxios(),{msalInstance:n,getToken:r}=l.useContext(o.AuthContext),{delegation:s,setDelegation:a,setAvailableDelegations:c,refreshAvailableDelegations:u}=l.useContext(o.DelegationContext),[f,i]=l.useState(null),d=l.useCallback(async()=>{const g=await r();g&&i(g.token)},[r]);l.useEffect(()=>{d()},[d]);const p=l.useCallback(()=>{const g=localStorage.getItem("user")??null;return g?JSON.parse(g??""):null},[])(),[h,x]=l.useState({state:p?o.LoginState.LOGGED_IN:o.LoginState.LOGGING_IN,user:p}),y=l.useCallback(async g=>{let T=null;return await t.get("/user/detail",g?{headers:{Authorization:`Bearer ${g}`}}:void 0).then(H=>{T=H.data}).catch(()=>{T=null}),T},[t]),E=l.useCallback(()=>{localStorage.removeItem("user"),x({state:o.LoginState.LOGGED_OUT,user:null}),a(null),c(null)},[c,a]),b=l.useCallback(async g=>{x({state:o.LoginState.LOGGING_IN,user:null});const T=await y(g);return T?(x({state:o.LoginState.LOGGED_IN,user:T}),localStorage.setItem("user",JSON.stringify(T)),await u(),!0):(x({state:o.LoginState.LOGIN_FAILED,user:null}),!1)},[y,u]),A=l.useCallback(()=>{E()},[E]);l.useEffect(()=>{if(n){const g=n.addEventCallback(T=>{if(T.eventType===R.EventType.LOGIN_SUCCESS&&T.payload){const H=T.payload;i(H.accessToken)}});return()=>{g&&n.removeEventCallback(g)}}return()=>{}},[n,b,A]);const V=l.useCallback(async g=>{g&&await b(g).catch(()=>{A(),a(null)})},[b,A,a]);l.useEffect(()=>{V(f)},[f,s==null?void 0:s.id,V]);const le=l.useMemo(()=>({user:h.user,userLoginState:h,loginUser:b,logoutUser:A}),[h,b,A]);return o.jsxRuntimeExports.jsx(o.UserContext.Provider,{value:le,children:e})},Ee=({...e})=>{const{cookieDomain:t}=l.useContext(o.LuminusComponentsContext),[,n]=o.useCookies(["Authorization"]),r=l.useMemo(()=>e.useMsal?e.msalInstance:null,[e.useMsal,e.useMsal?e.msalInstance:null]),s=l.useMemo(()=>e.useMsal?e.msalScopes:[],[e.useMsal,e.useMsal?e.msalScopes:null]),a=l.useMemo(()=>e.useMsal?e.msalExtraScopes:[],[e.useMsal,e.useMsal?e.msalExtraScopes:null]),c=l.useRef(null),u=l.useCallback(()=>{const m=localStorage.getItem("token");return m?{token:m,expiresOn:K.addYears(new Date(Date.now()),1)}:null},[]),f=l.useCallback(async()=>{var x;if(c.current)return c.current;const m=r==null?void 0:r.getActiveAccount(),p=m??((x=r==null?void 0:r.getAllAccounts())==null?void 0:x.at(0))??void 0;if(!p)return null;m||r==null||r.setActiveAccount(p);const h=r==null?void 0:r.acquireTokenSilent({scopes:s,account:p}).then(y=>({token:y.accessToken,expiresOn:y.expiresOn??new Date(Date.now())})).catch(y=>{if(console.error("Error acquiring token",y),y instanceof R.InteractionRequiredAuthError)return console.log("Silent token acquisition failed. Acquiring token using redirect"),r==null||r.acquireTokenRedirect({scopes:s,extraScopesToConsent:a}),null;throw y}).finally(()=>{c.current=null});return c.current=h??null,h??null},[r,s,a]),i=l.useCallback(async()=>e.useMsal?f():u(),[u,f,e.useMsal]),d=l.useMemo(()=>({useMsal:e.useMsal??!1,msalInstance:r,msalScopes:s,msalExtraScopes:a,getToken:i}),[e.useMsal,r,s,a,i]);return l.useEffect(()=>{if(e.useMsal&&r){const m=r.addEventCallback(p=>{if(p.eventType===R.EventType.LOGIN_SUCCESS||p.eventType===R.EventType.ACQUIRE_TOKEN_SUCCESS&&p.payload){const h=p.payload,x=h.account;r.setActiveAccount(x);const y=h.accessToken,E=h.expiresOn;n("Authorization",y,{path:"/",secure:!0,sameSite:"none",domain:t,expires:E??void 0})}p.error&&console.error("AuthProvider MSAL Error",p)});return()=>{m&&r.removeEventCallback(m)}}return()=>{}},[e.useMsal,r,n,t]),o.jsxRuntimeExports.jsx(o.AuthContext.Provider,{value:d,children:e.useMsal?o.jsxRuntimeExports.jsx(fe.MsalProvider,{instance:e.msalInstance,children:e.children}):e.children})},Se=({children:e,relativeEndpoint:t})=>{const[n,r,s]=Y.useLocalStorageState("user-delegation",null),a=l.useMemo(()=>{if(!n)return null;const m=n.from?o.parseISO(n.from):he(),p=n.to?o.parseISO(n.to):me();return pe(new Date(Date.now()),{start:m,end:p})?n:(r(null),null)},[n,r]),{data:c,setData:u,reloadData:f}=Y.useGetApiData(t,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),i=l.useRef(null);l.useEffect(()=>{const m=()=>{f(),i.current=window.setTimeout(m,o.msToStartOfNextDay()+5e3)};return m(),()=>{i.current!==null&&window.clearTimeout(i.current)}},[f]),l.useEffect(()=>{const m=()=>{s()};return window.addEventListener("focus",m),()=>{window.removeEventListener("focus",m)}},[s,f]);const d=l.useMemo(()=>({delegation:a,setDelegation:r,availableDelegations:c,setAvailableDelegations:u,refreshAvailableDelegations:f}),[a,r,c,u,f]);return o.jsxRuntimeExports.jsx(o.DelegationContext.Provider,{value:d,children:e})};var be=typeof Element<"u",Ae=typeof Map=="function",je=typeof Set=="function",Oe=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function L(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,s;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!L(e[r],t[r]))return!1;return!0}var a;if(Ae&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;for(a=e.entries();!(r=a.next()).done;)if(!L(r.value[1],t.get(r.value[0])))return!1;return!0}if(je&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Oe&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[r]))return!1;if(be&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((s[r]==="_owner"||s[r]==="__v"||s[r]==="__o")&&e.$$typeof)&&!L(e[s[r]],t[s[r]]))return!1;return!0}return e!==e&&t!==t}var we=function(t,n){try{return L(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ke=o.getDefaultExportFromCjs(we);var De=function(t,n,r,s){var a=r?r.call(s,t,n):void 0;if(a!==void 0)return!!a;if(t===n)return!0;if(typeof t!="object"||!t||typeof n!="object"||!n)return!1;var c=Object.keys(t),u=Object.keys(n);if(c.length!==u.length)return!1;for(var f=Object.prototype.hasOwnProperty.bind(n),i=0;i<c.length;i++){var d=c[i];if(!f(d))return!1;var m=t[d],p=n[d];if(a=r?r.call(s,m,p,d):void 0,a===!1||a===void 0&&m!==p)return!1}return!0};const Pe=o.getDefaultExportFromCjs(De);var te=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(te||{}),_={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},W=Object.values(te),B={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Me=Object.entries(B).reduce((e,[t,n])=>(e[n]=t,e),{}),C="data-rh",w={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},k=(e,t)=>{for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},Re=e=>{let t=k(e,"title");const n=k(e,w.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,()=>t);const r=k(e,w.DEFAULT_TITLE);return t||r||void 0},Le=e=>k(e,w.ON_CHANGE_CLIENT_STATE)||(()=>{}),$=(e,t)=>t.filter(n=>typeof n[e]<"u").map(n=>n[e]).reduce((n,r)=>({...n,...r}),{}),Ie=(e,t)=>t.filter(n=>typeof n.base<"u").map(n=>n.base).reverse().reduce((n,r)=>{if(!n.length){const s=Object.keys(r);for(let a=0;a<s.length;a+=1){const u=s[a].toLowerCase();if(e.indexOf(u)!==-1&&r[u])return n.concat(r)}}return n},[]),He=e=>console&&typeof console.warn=="function"&&console.warn(e),D=(e,t,n)=>{const r={};return n.filter(s=>Array.isArray(s[e])?!0:(typeof s[e]<"u"&&He(`Helmet: ${e} should be of type "Array". Instead found type "${typeof s[e]}"`),!1)).map(s=>s[e]).reverse().reduce((s,a)=>{const c={};a.filter(f=>{let i;const d=Object.keys(f);for(let p=0;p<d.length;p+=1){const h=d[p],x=h.toLowerCase();t.indexOf(x)!==-1&&!(i==="rel"&&f[i].toLowerCase()==="canonical")&&!(x==="rel"&&f[x].toLowerCase()==="stylesheet")&&(i=x),t.indexOf(h)!==-1&&(h==="innerHTML"||h==="cssText"||h==="itemprop")&&(i=h)}if(!i||!f[i])return!1;const m=f[i].toLowerCase();return r[i]||(r[i]={}),c[i]||(c[i]={}),r[i][m]?!1:(c[i][m]=!0,!0)}).reverse().forEach(f=>s.push(f));const u=Object.keys(c);for(let f=0;f<u.length;f+=1){const i=u[f],d={...r[i],...c[i]};r[i]=d}return s},[]).reverse()},_e=(e,t)=>{if(Array.isArray(e)&&e.length){for(let n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},$e=e=>({baseTag:Ie(["href"],e),bodyAttributes:$("bodyAttributes",e),defer:k(e,w.DEFER),encode:k(e,w.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:$("htmlAttributes",e),linkTags:D("link",["rel","href"],e),metaTags:D("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:D("noscript",["innerHTML"],e),onChangeClientState:Le(e),scriptTags:D("script",["src","innerHTML"],e),styleTags:D("style",["cssText"],e),title:Re(e),titleAttributes:$("titleAttributes",e),prioritizeSeoTags:_e(e,w.PRIORITIZE_SEO_TAGS)}),re=e=>Array.isArray(e)?e.join(""):e,Ue=(e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1},U=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>(Ue(r,t)?n.priority.push(r):n.default.push(r),n),{priority:[],default:[]}):{default:e,priority:[]},J=(e,t)=>({...e,[t]:void 0}),qe=["noscript","script","style"],F=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),ne=e=>Object.keys(e).reduce((t,n)=>{const r=typeof e[n]<"u"?`${n}="${e[n]}"`:`${n}`;return t?`${t} ${r}`:r},""),Fe=(e,t,n,r)=>{const s=ne(n),a=re(t);return s?`<${e} ${C}="true" ${s}>${F(a,r)}</${e}>`:`<${e} ${C}="true">${F(a,r)}</${e}>`},Ne=(e,t,n=!0)=>t.reduce((r,s)=>{const a=s,c=Object.keys(a).filter(i=>!(i==="innerHTML"||i==="cssText")).reduce((i,d)=>{const m=typeof a[d]>"u"?d:`${d}="${F(a[d],n)}"`;return i?`${i} ${m}`:m},""),u=a.innerHTML||a.cssText||"",f=qe.indexOf(e)===-1;return`${r}<${e} ${C}="true" ${c}${f?"/>":`>${u}</${e}>`}`},""),se=(e,t={})=>Object.keys(e).reduce((n,r)=>{const s=B[r];return n[s||r]=e[r],n},t),Ge=(e,t,n)=>{const r={key:t,[C]:!0},s=se(n,r);return[l.createElement("title",s,t)]},I=(e,t)=>t.map((n,r)=>{const s={key:r,[C]:!0};return Object.keys(n).forEach(a=>{const u=B[a]||a;if(u==="innerHTML"||u==="cssText"){const f=n.innerHTML||n.cssText;s.dangerouslySetInnerHTML={__html:f}}else s[u]=n[a]}),l.createElement(e,s)}),v=(e,t,n=!0)=>{switch(e){case"title":return{toComponent:()=>Ge(e,t.title,t.titleAttributes),toString:()=>Fe(e,t.title,t.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>se(t),toString:()=>ne(t)};default:return{toComponent:()=>I(e,t),toString:()=>Ne(e,t,n)}}},ze=({metaTags:e,linkTags:t,scriptTags:n,encode:r})=>{const s=U(e,_.meta),a=U(t,_.link),c=U(n,_.script);return{priorityMethods:{toComponent:()=>[...I("meta",s.priority),...I("link",a.priority),...I("script",c.priority)],toString:()=>`${v("meta",s.priority,r)} ${v("link",a.priority,r)} ${v("script",c.priority,r)}`},metaTags:s.default,linkTags:a.default,scriptTags:c.default}},Ke=e=>{const{baseTag:t,bodyAttributes:n,encode:r=!0,htmlAttributes:s,noscriptTags:a,styleTags:c,title:u="",titleAttributes:f,prioritizeSeoTags:i}=e;let{linkTags:d,metaTags:m,scriptTags:p}=e,h={toComponent:()=>{},toString:()=>""};return i&&({priorityMethods:h,linkTags:d,metaTags:m,scriptTags:p}=ze(e)),{priority:h,base:v("base",t,r),bodyAttributes:v("bodyAttributes",n,r),htmlAttributes:v("htmlAttributes",s,r),link:v("link",d,r),meta:v("meta",m,r),noscript:v("noscript",a,r),script:v("script",p,r),style:v("style",c,r),title:v("title",{title:u,titleAttributes:f},r)}},N=Ke,M=[],oe=!!(typeof window<"u"&&window.document&&window.document.createElement),G=class{constructor(e,t){S(this,"instances",[]);S(this,"canUseDOM",oe);S(this,"context");S(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?M:this.instances,add:e=>{(this.canUseDOM?M:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?M:this.instances).indexOf(e);(this.canUseDOM?M:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=N({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},Be={},ae=l.createContext(Be),j,ie=(j=class extends l.Component{constructor(n){super(n);S(this,"helmetData");this.helmetData=new G(this.props.context||{},j.canUseDOM)}render(){return l.createElement(ae.Provider,{value:this.helmetData.value},this.props.children)}},S(j,"canUseDOM",oe),j),O=(e,t)=>{const n=document.head||document.querySelector("head"),r=n.querySelectorAll(`${e}[${C}]`),s=[].slice.call(r),a=[];let c;return t&&t.length&&t.forEach(u=>{const f=document.createElement(e);for(const i in u)if(Object.prototype.hasOwnProperty.call(u,i))if(i==="innerHTML")f.innerHTML=u.innerHTML;else if(i==="cssText")f.styleSheet?f.styleSheet.cssText=u.cssText:f.appendChild(document.createTextNode(u.cssText));else{const d=i,m=typeof u[d]>"u"?"":u[d];f.setAttribute(i,m)}f.setAttribute(C,"true"),s.some((i,d)=>(c=d,f.isEqualNode(i)))?s.splice(c,1):a.push(f)}),s.forEach(u=>{var f;return(f=u.parentNode)==null?void 0:f.removeChild(u)}),a.forEach(u=>n.appendChild(u)),{oldTags:s,newTags:a}},z=(e,t)=>{const n=document.getElementsByTagName(e)[0];if(!n)return;const r=n.getAttribute(C),s=r?r.split(","):[],a=[...s],c=Object.keys(t);for(const u of c){const f=t[u]||"";n.getAttribute(u)!==f&&n.setAttribute(u,f),s.indexOf(u)===-1&&s.push(u);const i=a.indexOf(u);i!==-1&&a.splice(i,1)}for(let u=a.length-1;u>=0;u-=1)n.removeAttribute(a[u]);s.length===a.length?n.removeAttribute(C):n.getAttribute(C)!==c.join(",")&&n.setAttribute(C,c.join(","))},Ve=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=re(e)),z("title",t)},Z=(e,t)=>{const{baseTag:n,bodyAttributes:r,htmlAttributes:s,linkTags:a,metaTags:c,noscriptTags:u,onChangeClientState:f,scriptTags:i,styleTags:d,title:m,titleAttributes:p}=e;z("body",r),z("html",s),Ve(m,p);const h={baseTag:O("base",n),linkTags:O("link",a),metaTags:O("meta",c),noscriptTags:O("noscript",u),scriptTags:O("script",i),styleTags:O("style",d)},x={},y={};Object.keys(h).forEach(E=>{const{newTags:b,oldTags:A}=h[E];b.length&&(x[E]=b),A.length&&(y[E]=h[E].oldTags)}),t&&t(),f(e,x,y)},P=null,Ye=e=>{P&&cancelAnimationFrame(P),e.defer?P=requestAnimationFrame(()=>{Z(e,()=>{P=null})}):(Z(e),P=null)},We=Ye,Q=class extends l.Component{constructor(){super(...arguments);S(this,"rendered",!1)}shouldComponentUpdate(t){return!Pe(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:n}=this.props.context;let r=null;const s=$e(t.get().map(a=>{const c={...a.props};return delete c.context,c}));ie.canUseDOM?We(s):N&&(r=N(s)),n(r)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},q,Je=(q=class extends l.Component{shouldComponentUpdate(e){return!ke(J(this.props,"helmetData"),J(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,n,r){return{...t,[e.type]:[...t[e.type]||[],{...n,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,n,r){switch(e.type){case"title":return{...t,[e.type]:r,titleAttributes:{...n}};case"body":return{...t,bodyAttributes:{...n}};case"html":return{...t,htmlAttributes:{...n}};default:return{...t,[e.type]:{...n}}}}mapArrayTypeChildrenToProps(e,t){let n={...t};return Object.keys(e).forEach(r=>{n={...n,[r]:e[r]}}),n}warnOnInvalidChildren(e,t){return o.invariant(W.some(n=>e.type===n),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${W.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),o.invariant(!t||typeof t=="string"||Array.isArray(t)&&!t.some(n=>typeof n!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let n={};return l.Children.forEach(e,r=>{if(!r||!r.props)return;const{children:s,...a}=r.props,c=Object.keys(a).reduce((f,i)=>(f[Me[i]||i]=a[i],f),{});let{type:u}=r;switch(typeof u=="symbol"?u=u.toString():this.warnOnInvalidChildren(r,s),u){case"Symbol(react.fragment)":t=this.mapChildrenToProps(s,t);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(r,n,c,s);break;default:t=this.mapObjectTypeChildren(r,t,c,s);break}}),this.mapArrayTypeChildrenToProps(n,t)}render(){const{children:e,...t}=this.props;let n={...t},{helmetData:r}=t;if(e&&(n=this.mapChildrenToProps(e,n)),r&&!(r instanceof G)){const s=r;r=new G(s.context,!0),delete n.helmetData}return r?l.createElement(Q,{...n,context:r.value}):l.createElement(ae.Consumer,null,s=>l.createElement(Q,{...n,context:s}))}},S(q,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),q);const X=(e,t)=>e?`${e} | ${t}`:t,Ze=({defaultHelmet:e,children:t,helmetPrefix:n})=>{const[r,s]=l.useState([X(n??"",e)]),a=l.useCallback(i=>{s(d=>[...d,X(n??"",i)])},[n]),c=l.useCallback(()=>{s(i=>i.length>1?i.slice(0,-1):i)},[s]),u=l.useMemo(()=>r.at(-1)??"",[r]),f=l.useMemo(()=>({addHelmet:a,removeHelmet:c}),[a,c]);return o.jsxRuntimeExports.jsx(o.HelmetContext.Provider,{value:f,children:o.jsxRuntimeExports.jsxs(ie,{children:[o.jsxRuntimeExports.jsx(Je,{defer:!1,children:o.jsxRuntimeExports.jsx("title",{children:u})}),t]})})},ee=50,Qe=()=>{const{texts:{confirm:e}}=l.useContext(o.LuminusComponentsContext),{onConfirm:t,onCancel:n,text:r,show:s,textSm:a}=o.useConfirm(),c=l.useMemo(()=>a===void 0?r.length>ee:a,[r,a]),u=l.useMemo(()=>r.length>ee,[r]),f=l.useCallback(i=>{if(s)switch(i.key){case"Enter":i.preventDefault(),i.stopPropagation(),t();break;case"Escape":i.preventDefault(),i.stopPropagation(),n();break}},[t,n,s]);return o.useKeyPress(f),o.jsxRuntimeExports.jsxs(o.Modal,{show:s,size:u?void 0:"sm",centered:!0,onHide:n,children:[o.jsxRuntimeExports.jsx(o.Modal.Header,{className:"justify-content-center",children:c?o.jsxRuntimeExports.jsx(o.Typography,{variant:"body",children:r}):o.jsxRuntimeExports.jsx(o.Modal.Title,{children:r})}),o.jsxRuntimeExports.jsx(o.Modal.Body,{children:o.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[o.jsxRuntimeExports.jsx(o.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:e.no}),o.jsxRuntimeExports.jsx(o.PrimaryButton,{type:"button",color:"primary",onClick:t,className:"w-100 ml",children:e.yes})]})})]})};exports.AuthContext=o.AuthContext;exports.DelegationContext=o.DelegationContext;exports.FormDisabledContext=o.FormDisabledContext;exports.HelmetContext=o.HelmetContext;exports.LoadingContext=o.LoadingContext;exports.LuminusComponentsContext=o.LuminusComponentsContext;exports.UserContext=o.UserContext;exports.useFormDisabledContext=o.useFormDisabledContext;exports.FormDisabledProvider=K.FormDisabledProvider;exports.AuthProvider=Ee;exports.DelegationProvider=Se;exports.HelmetProvider=Ze;exports.LoadingProvider=Te;exports.LuminusComponentsProvider=ve;exports.UserProvider=Ce;
1
+ "use strict";var ue=Object.defineProperty;var ce=(e,t,n)=>t in e?ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var S=(e,t,n)=>ce(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./ShortcutLinksContext-Ch5JVOFI.cjs"),l=require("react"),R=require("@azure/msal-browser"),fe=require("@azure/msal-react");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");const K=require("./FormDisabledProvider-ByVMNZfj.cjs"),Y=require("./useLocalStorageState-DWtbAM7j.cjs");function de(e){const t=o.toDate(e);return t.setHours(23,59,59,999),t}function me(){return de(Date.now())}function pe(e,t){const n=+o.toDate(e),[r,s]=[+o.toDate(t.start),+o.toDate(t.end)].sort((a,c)=>a-c);return n>=r&&n<=s}function he(){return o.startOfDay(Date.now())}const xe=({children:e})=>{const[t,n]=l.useState(!1),[r,s]=l.useState(""),[a,c]=l.useState(void 0),u=l.useCallback((d,m)=>{n(!0),s(d),c(m)},[]),f=l.useCallback(()=>{n(!1)},[]),i=l.useMemo(()=>({show:t,text:r,showConfirm:u,hideConfirm:f,textSm:a}),[t,r,u,f,a]);return o.jsxRuntimeExports.jsxs(o.ConfirmContext.Provider,{value:i,children:[o.jsxRuntimeExports.jsx(Qe,{}),e]})},ge=()=>{const{texts:{confirm:e}}=l.useContext(o.LuminusComponentsContext),{isShown:t,text:n,onFinish:r}=o.usePrompt(),{options:s}=l.useContext(o.PromptContext),[a,c]=l.useState(s.defaultValue??""),u=l.useCallback(()=>{r(null)},[r]),f=l.useCallback(d=>{d.preventDefault(),!(s.required&&!a)&&(r(a),c(""))},[r,s.required,a]),i=l.useMemo(()=>({value:a,onChange:d=>c(d.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[a]);return l.useEffect(()=>{t===!0&&c(s.defaultValue??"")},[t,s.defaultValue]),o.jsxRuntimeExports.jsxs(o.Modal,{show:t,size:"sm",centered:!0,onHide:u,children:[o.jsxRuntimeExports.jsx(o.Modal.Header,{className:"justify-content-center",children:o.jsxRuntimeExports.jsx(o.Modal.Title,{children:n})}),o.jsxRuntimeExports.jsxs("form",{onSubmit:f,onKeyDown:d=>d.stopPropagation(),children:[o.jsxRuntimeExports.jsxs(o.Modal.Body,{children:[s.input==="textarea"?o.jsxRuntimeExports.jsx("textarea",{...i,rows:5}):void 0,s.input==="input"?o.jsxRuntimeExports.jsx(o.FormControl,{...i,type:s.type}):void 0]}),o.jsxRuntimeExports.jsxs(o.Modal.Footer,{className:"w-100 d-flex gap-5",children:[o.jsxRuntimeExports.jsx(o.PrimaryButton,{variant:"outlined",color:"secondary",onClick:u,className:"flex-grow-1",children:e.cancel}),o.jsxRuntimeExports.jsx(o.PrimaryButton,{color:"primary",disabled:s.required&&!a,type:"submit",className:"flex-grow-1",children:e.confirm})]})]})]})},ye=({children:e})=>{const[t,n]=l.useState(!1),[r,s]=l.useState(""),[a,c]=l.useState({input:"textarea",type:"text"}),u=l.useRef(()=>{}),f=l.useCallback(m=>{s(m),n(!0)},[]),i=l.useCallback(()=>{n(!1)},[]),d=l.useMemo(()=>({isShown:t,text:r,showPrompt:f,hidePrompt:i,resolveRef:u,options:a,setOptions:c}),[t,r,f,i,a]);return o.jsxRuntimeExports.jsxs(o.PromptContext.Provider,{value:d,children:[e,o.jsxRuntimeExports.jsx(ge,{})]})},ve=({cookieDomain:e,axiosOptions:t,language:n,texts:r,ProjectIconComponent:s,localizationContext:a,chartColorPalette:c,children:u})=>{const f=l.useMemo(()=>({axiosOptions:t,cookieDomain:e,language:n,texts:r,ProjectIconComponent:s,localizationContext:a,chartColorPalette:c}),[t,e,n,s,a,r,c]);return o.jsxRuntimeExports.jsx(o.LuminusComponentsContext.Provider,{value:f,children:o.jsxRuntimeExports.jsx(xe,{children:o.jsxRuntimeExports.jsxs(ye,{children:[o.jsxRuntimeExports.jsx(o.Ie,{}),u]})})})},Te=({children:e})=>{const[t,n]=l.useState(!1),[r]=l.useState(new Set),s=l.useCallback(u=>{r.add(u),n(!0)},[r]),a=l.useCallback(u=>{r.delete(u),r.size===0&&n(!1)},[r]),c=l.useMemo(()=>({isLoading:t,startLoading:s,stopLoading:a}),[t,s,a]);return o.jsxRuntimeExports.jsxs(o.LoadingContext.Provider,{value:c,children:[t&&o.jsxRuntimeExports.jsx(K.Loading,{}),e]})},Ce=({children:e})=>{const t=o.useAxios(),{msalInstance:n,getToken:r}=l.useContext(o.AuthContext),{delegation:s,setDelegation:a,setAvailableDelegations:c,refreshAvailableDelegations:u}=l.useContext(o.DelegationContext),[f,i]=l.useState(null),d=l.useCallback(async()=>{const g=await r();g&&i(g.token)},[r]);l.useEffect(()=>{d()},[d]);const p=l.useCallback(()=>{const g=localStorage.getItem("user")??null;return g?JSON.parse(g??""):null},[])(),[h,x]=l.useState({state:p?o.LoginState.LOGGED_IN:o.LoginState.LOGGING_IN,user:p}),y=l.useCallback(async g=>{let T=null;return await t.get("/user/detail",g?{headers:{Authorization:`Bearer ${g}`}}:void 0).then(H=>{T=H.data}).catch(()=>{T=null}),T},[t]),E=l.useCallback(()=>{localStorage.removeItem("user"),x({state:o.LoginState.LOGGED_OUT,user:null}),a(null),c(null)},[c,a]),b=l.useCallback(async g=>{x({state:o.LoginState.LOGGING_IN,user:null});const T=await y(g);return T?(x({state:o.LoginState.LOGGED_IN,user:T}),localStorage.setItem("user",JSON.stringify(T)),await u(),!0):(x({state:o.LoginState.LOGIN_FAILED,user:null}),!1)},[y,u]),A=l.useCallback(()=>{E()},[E]);l.useEffect(()=>{if(n){const g=n.addEventCallback(T=>{if(T.eventType===R.EventType.LOGIN_SUCCESS&&T.payload){const H=T.payload;i(H.accessToken)}});return()=>{g&&n.removeEventCallback(g)}}return()=>{}},[n,b,A]);const V=l.useCallback(async g=>{g&&await b(g).catch(()=>{A(),a(null)})},[b,A,a]);l.useEffect(()=>{V(f)},[f,s==null?void 0:s.id,V]);const le=l.useMemo(()=>({user:h.user,userLoginState:h,loginUser:b,logoutUser:A}),[h,b,A]);return o.jsxRuntimeExports.jsx(o.UserContext.Provider,{value:le,children:e})},Ee=({...e})=>{const{cookieDomain:t}=l.useContext(o.LuminusComponentsContext),[,n]=o.useCookies(["Authorization"]),r=l.useMemo(()=>e.useMsal?e.msalInstance:null,[e.useMsal,e.useMsal?e.msalInstance:null]),s=l.useMemo(()=>e.useMsal?e.msalScopes:[],[e.useMsal,e.useMsal?e.msalScopes:null]),a=l.useMemo(()=>e.useMsal?e.msalExtraScopes:[],[e.useMsal,e.useMsal?e.msalExtraScopes:null]),c=l.useRef(null),u=l.useCallback(()=>{const m=localStorage.getItem("token");return m?{token:m,expiresOn:K.addYears(new Date(Date.now()),1)}:null},[]),f=l.useCallback(async()=>{var x;if(c.current)return c.current;const m=r==null?void 0:r.getActiveAccount(),p=m??((x=r==null?void 0:r.getAllAccounts())==null?void 0:x.at(0))??void 0;if(!p)return null;m||r==null||r.setActiveAccount(p);const h=r==null?void 0:r.acquireTokenSilent({scopes:s,account:p}).then(y=>({token:y.accessToken,expiresOn:y.expiresOn??new Date(Date.now())})).catch(y=>{if(console.error("Error acquiring token",y),y instanceof R.InteractionRequiredAuthError)return console.log("Silent token acquisition failed. Acquiring token using redirect"),r==null||r.acquireTokenRedirect({scopes:s,extraScopesToConsent:a}),null;throw y}).finally(()=>{c.current=null});return c.current=h??null,h??null},[r,s,a]),i=l.useCallback(async()=>e.useMsal?f():u(),[u,f,e.useMsal]),d=l.useMemo(()=>({useMsal:e.useMsal??!1,msalInstance:r,msalScopes:s,msalExtraScopes:a,getToken:i}),[e.useMsal,r,s,a,i]);return l.useEffect(()=>{if(e.useMsal&&r){const m=r.addEventCallback(p=>{if(p.eventType===R.EventType.LOGIN_SUCCESS||p.eventType===R.EventType.ACQUIRE_TOKEN_SUCCESS&&p.payload){const h=p.payload,x=h.account;r.setActiveAccount(x);const y=h.accessToken,E=h.expiresOn;n("Authorization",y,{path:"/",secure:!0,sameSite:"none",domain:t,expires:E??void 0})}p.error&&console.error("AuthProvider MSAL Error",p)});return()=>{m&&r.removeEventCallback(m)}}return()=>{}},[e.useMsal,r,n,t]),o.jsxRuntimeExports.jsx(o.AuthContext.Provider,{value:d,children:e.useMsal?o.jsxRuntimeExports.jsx(fe.MsalProvider,{instance:e.msalInstance,children:e.children}):e.children})},Se=({children:e,relativeEndpoint:t})=>{const[n,r,s]=Y.useLocalStorageState("user-delegation",null),a=l.useMemo(()=>{if(!n)return null;const m=n.from?o.parseISO(n.from):he(),p=n.to?o.parseISO(n.to):me();return pe(new Date(Date.now()),{start:m,end:p})?n:(r(null),null)},[n,r]),{data:c,setData:u,reloadData:f}=Y.useGetApiData(t,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),i=l.useRef(null);l.useEffect(()=>{const m=()=>{f(),i.current=window.setTimeout(m,o.msToStartOfNextDay()+5e3)};return m(),()=>{i.current!==null&&window.clearTimeout(i.current)}},[f]),l.useEffect(()=>{const m=()=>{s()};return window.addEventListener("focus",m),()=>{window.removeEventListener("focus",m)}},[s,f]);const d=l.useMemo(()=>({delegation:a,setDelegation:r,availableDelegations:c,setAvailableDelegations:u,refreshAvailableDelegations:f}),[a,r,c,u,f]);return o.jsxRuntimeExports.jsx(o.DelegationContext.Provider,{value:d,children:e})};var be=typeof Element<"u",Ae=typeof Map=="function",je=typeof Set=="function",Oe=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function L(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,s;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!L(e[r],t[r]))return!1;return!0}var a;if(Ae&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;for(a=e.entries();!(r=a.next()).done;)if(!L(r.value[1],t.get(r.value[0])))return!1;return!0}if(je&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Oe&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[r]))return!1;if(be&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((s[r]==="_owner"||s[r]==="__v"||s[r]==="__o")&&e.$$typeof)&&!L(e[s[r]],t[s[r]]))return!1;return!0}return e!==e&&t!==t}var we=function(t,n){try{return L(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ke=o.getDefaultExportFromCjs(we);var De=function(t,n,r,s){var a=r?r.call(s,t,n):void 0;if(a!==void 0)return!!a;if(t===n)return!0;if(typeof t!="object"||!t||typeof n!="object"||!n)return!1;var c=Object.keys(t),u=Object.keys(n);if(c.length!==u.length)return!1;for(var f=Object.prototype.hasOwnProperty.bind(n),i=0;i<c.length;i++){var d=c[i];if(!f(d))return!1;var m=t[d],p=n[d];if(a=r?r.call(s,m,p,d):void 0,a===!1||a===void 0&&m!==p)return!1}return!0};const Pe=o.getDefaultExportFromCjs(De);var te=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(te||{}),_={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},W=Object.values(te),B={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Me=Object.entries(B).reduce((e,[t,n])=>(e[n]=t,e),{}),C="data-rh",w={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},k=(e,t)=>{for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},Re=e=>{let t=k(e,"title");const n=k(e,w.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,()=>t);const r=k(e,w.DEFAULT_TITLE);return t||r||void 0},Le=e=>k(e,w.ON_CHANGE_CLIENT_STATE)||(()=>{}),$=(e,t)=>t.filter(n=>typeof n[e]<"u").map(n=>n[e]).reduce((n,r)=>({...n,...r}),{}),Ie=(e,t)=>t.filter(n=>typeof n.base<"u").map(n=>n.base).reverse().reduce((n,r)=>{if(!n.length){const s=Object.keys(r);for(let a=0;a<s.length;a+=1){const u=s[a].toLowerCase();if(e.indexOf(u)!==-1&&r[u])return n.concat(r)}}return n},[]),He=e=>console&&typeof console.warn=="function"&&console.warn(e),D=(e,t,n)=>{const r={};return n.filter(s=>Array.isArray(s[e])?!0:(typeof s[e]<"u"&&He(`Helmet: ${e} should be of type "Array". Instead found type "${typeof s[e]}"`),!1)).map(s=>s[e]).reverse().reduce((s,a)=>{const c={};a.filter(f=>{let i;const d=Object.keys(f);for(let p=0;p<d.length;p+=1){const h=d[p],x=h.toLowerCase();t.indexOf(x)!==-1&&!(i==="rel"&&f[i].toLowerCase()==="canonical")&&!(x==="rel"&&f[x].toLowerCase()==="stylesheet")&&(i=x),t.indexOf(h)!==-1&&(h==="innerHTML"||h==="cssText"||h==="itemprop")&&(i=h)}if(!i||!f[i])return!1;const m=f[i].toLowerCase();return r[i]||(r[i]={}),c[i]||(c[i]={}),r[i][m]?!1:(c[i][m]=!0,!0)}).reverse().forEach(f=>s.push(f));const u=Object.keys(c);for(let f=0;f<u.length;f+=1){const i=u[f],d={...r[i],...c[i]};r[i]=d}return s},[]).reverse()},_e=(e,t)=>{if(Array.isArray(e)&&e.length){for(let n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},$e=e=>({baseTag:Ie(["href"],e),bodyAttributes:$("bodyAttributes",e),defer:k(e,w.DEFER),encode:k(e,w.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:$("htmlAttributes",e),linkTags:D("link",["rel","href"],e),metaTags:D("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:D("noscript",["innerHTML"],e),onChangeClientState:Le(e),scriptTags:D("script",["src","innerHTML"],e),styleTags:D("style",["cssText"],e),title:Re(e),titleAttributes:$("titleAttributes",e),prioritizeSeoTags:_e(e,w.PRIORITIZE_SEO_TAGS)}),re=e=>Array.isArray(e)?e.join(""):e,Ue=(e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1},U=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>(Ue(r,t)?n.priority.push(r):n.default.push(r),n),{priority:[],default:[]}):{default:e,priority:[]},J=(e,t)=>({...e,[t]:void 0}),qe=["noscript","script","style"],F=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),ne=e=>Object.keys(e).reduce((t,n)=>{const r=typeof e[n]<"u"?`${n}="${e[n]}"`:`${n}`;return t?`${t} ${r}`:r},""),Fe=(e,t,n,r)=>{const s=ne(n),a=re(t);return s?`<${e} ${C}="true" ${s}>${F(a,r)}</${e}>`:`<${e} ${C}="true">${F(a,r)}</${e}>`},Ne=(e,t,n=!0)=>t.reduce((r,s)=>{const a=s,c=Object.keys(a).filter(i=>!(i==="innerHTML"||i==="cssText")).reduce((i,d)=>{const m=typeof a[d]>"u"?d:`${d}="${F(a[d],n)}"`;return i?`${i} ${m}`:m},""),u=a.innerHTML||a.cssText||"",f=qe.indexOf(e)===-1;return`${r}<${e} ${C}="true" ${c}${f?"/>":`>${u}</${e}>`}`},""),se=(e,t={})=>Object.keys(e).reduce((n,r)=>{const s=B[r];return n[s||r]=e[r],n},t),Ge=(e,t,n)=>{const r={key:t,[C]:!0},s=se(n,r);return[l.createElement("title",s,t)]},I=(e,t)=>t.map((n,r)=>{const s={key:r,[C]:!0};return Object.keys(n).forEach(a=>{const u=B[a]||a;if(u==="innerHTML"||u==="cssText"){const f=n.innerHTML||n.cssText;s.dangerouslySetInnerHTML={__html:f}}else s[u]=n[a]}),l.createElement(e,s)}),v=(e,t,n=!0)=>{switch(e){case"title":return{toComponent:()=>Ge(e,t.title,t.titleAttributes),toString:()=>Fe(e,t.title,t.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>se(t),toString:()=>ne(t)};default:return{toComponent:()=>I(e,t),toString:()=>Ne(e,t,n)}}},ze=({metaTags:e,linkTags:t,scriptTags:n,encode:r})=>{const s=U(e,_.meta),a=U(t,_.link),c=U(n,_.script);return{priorityMethods:{toComponent:()=>[...I("meta",s.priority),...I("link",a.priority),...I("script",c.priority)],toString:()=>`${v("meta",s.priority,r)} ${v("link",a.priority,r)} ${v("script",c.priority,r)}`},metaTags:s.default,linkTags:a.default,scriptTags:c.default}},Ke=e=>{const{baseTag:t,bodyAttributes:n,encode:r=!0,htmlAttributes:s,noscriptTags:a,styleTags:c,title:u="",titleAttributes:f,prioritizeSeoTags:i}=e;let{linkTags:d,metaTags:m,scriptTags:p}=e,h={toComponent:()=>{},toString:()=>""};return i&&({priorityMethods:h,linkTags:d,metaTags:m,scriptTags:p}=ze(e)),{priority:h,base:v("base",t,r),bodyAttributes:v("bodyAttributes",n,r),htmlAttributes:v("htmlAttributes",s,r),link:v("link",d,r),meta:v("meta",m,r),noscript:v("noscript",a,r),script:v("script",p,r),style:v("style",c,r),title:v("title",{title:u,titleAttributes:f},r)}},N=Ke,M=[],oe=!!(typeof window<"u"&&window.document&&window.document.createElement),G=class{constructor(e,t){S(this,"instances",[]);S(this,"canUseDOM",oe);S(this,"context");S(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?M:this.instances,add:e=>{(this.canUseDOM?M:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?M:this.instances).indexOf(e);(this.canUseDOM?M:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=N({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},Be={},ae=l.createContext(Be),j,ie=(j=class extends l.Component{constructor(n){super(n);S(this,"helmetData");this.helmetData=new G(this.props.context||{},j.canUseDOM)}render(){return l.createElement(ae.Provider,{value:this.helmetData.value},this.props.children)}},S(j,"canUseDOM",oe),j),O=(e,t)=>{const n=document.head||document.querySelector("head"),r=n.querySelectorAll(`${e}[${C}]`),s=[].slice.call(r),a=[];let c;return t&&t.length&&t.forEach(u=>{const f=document.createElement(e);for(const i in u)if(Object.prototype.hasOwnProperty.call(u,i))if(i==="innerHTML")f.innerHTML=u.innerHTML;else if(i==="cssText")f.styleSheet?f.styleSheet.cssText=u.cssText:f.appendChild(document.createTextNode(u.cssText));else{const d=i,m=typeof u[d]>"u"?"":u[d];f.setAttribute(i,m)}f.setAttribute(C,"true"),s.some((i,d)=>(c=d,f.isEqualNode(i)))?s.splice(c,1):a.push(f)}),s.forEach(u=>{var f;return(f=u.parentNode)==null?void 0:f.removeChild(u)}),a.forEach(u=>n.appendChild(u)),{oldTags:s,newTags:a}},z=(e,t)=>{const n=document.getElementsByTagName(e)[0];if(!n)return;const r=n.getAttribute(C),s=r?r.split(","):[],a=[...s],c=Object.keys(t);for(const u of c){const f=t[u]||"";n.getAttribute(u)!==f&&n.setAttribute(u,f),s.indexOf(u)===-1&&s.push(u);const i=a.indexOf(u);i!==-1&&a.splice(i,1)}for(let u=a.length-1;u>=0;u-=1)n.removeAttribute(a[u]);s.length===a.length?n.removeAttribute(C):n.getAttribute(C)!==c.join(",")&&n.setAttribute(C,c.join(","))},Ve=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=re(e)),z("title",t)},Z=(e,t)=>{const{baseTag:n,bodyAttributes:r,htmlAttributes:s,linkTags:a,metaTags:c,noscriptTags:u,onChangeClientState:f,scriptTags:i,styleTags:d,title:m,titleAttributes:p}=e;z("body",r),z("html",s),Ve(m,p);const h={baseTag:O("base",n),linkTags:O("link",a),metaTags:O("meta",c),noscriptTags:O("noscript",u),scriptTags:O("script",i),styleTags:O("style",d)},x={},y={};Object.keys(h).forEach(E=>{const{newTags:b,oldTags:A}=h[E];b.length&&(x[E]=b),A.length&&(y[E]=h[E].oldTags)}),t&&t(),f(e,x,y)},P=null,Ye=e=>{P&&cancelAnimationFrame(P),e.defer?P=requestAnimationFrame(()=>{Z(e,()=>{P=null})}):(Z(e),P=null)},We=Ye,Q=class extends l.Component{constructor(){super(...arguments);S(this,"rendered",!1)}shouldComponentUpdate(t){return!Pe(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:n}=this.props.context;let r=null;const s=$e(t.get().map(a=>{const c={...a.props};return delete c.context,c}));ie.canUseDOM?We(s):N&&(r=N(s)),n(r)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},q,Je=(q=class extends l.Component{shouldComponentUpdate(e){return!ke(J(this.props,"helmetData"),J(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,n,r){return{...t,[e.type]:[...t[e.type]||[],{...n,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,n,r){switch(e.type){case"title":return{...t,[e.type]:r,titleAttributes:{...n}};case"body":return{...t,bodyAttributes:{...n}};case"html":return{...t,htmlAttributes:{...n}};default:return{...t,[e.type]:{...n}}}}mapArrayTypeChildrenToProps(e,t){let n={...t};return Object.keys(e).forEach(r=>{n={...n,[r]:e[r]}}),n}warnOnInvalidChildren(e,t){return o.invariant(W.some(n=>e.type===n),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${W.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),o.invariant(!t||typeof t=="string"||Array.isArray(t)&&!t.some(n=>typeof n!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let n={};return l.Children.forEach(e,r=>{if(!r||!r.props)return;const{children:s,...a}=r.props,c=Object.keys(a).reduce((f,i)=>(f[Me[i]||i]=a[i],f),{});let{type:u}=r;switch(typeof u=="symbol"?u=u.toString():this.warnOnInvalidChildren(r,s),u){case"Symbol(react.fragment)":t=this.mapChildrenToProps(s,t);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(r,n,c,s);break;default:t=this.mapObjectTypeChildren(r,t,c,s);break}}),this.mapArrayTypeChildrenToProps(n,t)}render(){const{children:e,...t}=this.props;let n={...t},{helmetData:r}=t;if(e&&(n=this.mapChildrenToProps(e,n)),r&&!(r instanceof G)){const s=r;r=new G(s.context,!0),delete n.helmetData}return r?l.createElement(Q,{...n,context:r.value}):l.createElement(ae.Consumer,null,s=>l.createElement(Q,{...n,context:s}))}},S(q,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),q);const X=(e,t)=>e?`${e} | ${t}`:t,Ze=({defaultHelmet:e,children:t,helmetPrefix:n})=>{const[r,s]=l.useState([X(n??"",e)]),a=l.useCallback(i=>{s(d=>[...d,X(n??"",i)])},[n]),c=l.useCallback(()=>{s(i=>i.length>1?i.slice(0,-1):i)},[s]),u=l.useMemo(()=>r.at(-1)??"",[r]),f=l.useMemo(()=>({addHelmet:a,removeHelmet:c}),[a,c]);return o.jsxRuntimeExports.jsx(o.HelmetContext.Provider,{value:f,children:o.jsxRuntimeExports.jsxs(ie,{children:[o.jsxRuntimeExports.jsx(Je,{defer:!1,children:o.jsxRuntimeExports.jsx("title",{children:u})}),t]})})},ee=50,Qe=()=>{const{texts:{confirm:e}}=l.useContext(o.LuminusComponentsContext),{onConfirm:t,onCancel:n,text:r,show:s,textSm:a}=o.useConfirm(),c=l.useMemo(()=>a===void 0?r.length>ee:a,[r,a]),u=l.useMemo(()=>r.length>ee,[r]),f=l.useCallback(i=>{if(s)switch(i.key){case"Enter":i.preventDefault(),i.stopPropagation(),t();break;case"Escape":i.preventDefault(),i.stopPropagation(),n();break}},[t,n,s]);return o.useKeyPress(f),o.jsxRuntimeExports.jsxs(o.Modal,{show:s,size:u?void 0:"sm",centered:!0,onHide:n,children:[o.jsxRuntimeExports.jsx(o.Modal.Header,{className:"justify-content-center",children:c?o.jsxRuntimeExports.jsx(o.Typography,{variant:"body",children:r}):o.jsxRuntimeExports.jsx(o.Modal.Title,{children:r})}),o.jsxRuntimeExports.jsx(o.Modal.Body,{children:o.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[o.jsxRuntimeExports.jsx(o.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:e.no}),o.jsxRuntimeExports.jsx(o.PrimaryButton,{type:"button",color:"primary",onClick:t,className:"w-100 ml",children:e.yes})]})})]})};exports.AuthContext=o.AuthContext;exports.DelegationContext=o.DelegationContext;exports.FormDisabledContext=o.FormDisabledContext;exports.HelmetContext=o.HelmetContext;exports.LoadingContext=o.LoadingContext;exports.LuminusComponentsContext=o.LuminusComponentsContext;exports.UserContext=o.UserContext;exports.useFormDisabledContext=o.useFormDisabledContext;exports.FormDisabledProvider=K.FormDisabledProvider;exports.AuthProvider=Ee;exports.DelegationProvider=Se;exports.HelmetProvider=Ze;exports.LoadingProvider=Te;exports.LuminusComponentsProvider=ve;exports.UserProvider=Ce;
@@ -1,29 +1,29 @@
1
1
  var Ee = Object.defineProperty;
2
2
  var Oe = (e, t, n) => t in e ? Ee(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
3
  var E = (e, t, n) => Oe(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { t as N, bF as we, j as d, bG as De, P as z, bo as Pe, bH as me, $ as O, bg as ke, Q as G, bI as je, aX as Ie, aw as Me, aq as pe, bi as he, at as I, as as Le, bJ as He, aP as oe, bK as _e, ab as ye, bL as ae, bM as $e, aR as Re, af as Ue, a1 as Ne } from "./ShortcutLinksContext-CVJd0L8d.js";
5
- import { bN as Bt, bd as Yt } from "./ShortcutLinksContext-CVJd0L8d.js";
4
+ import { t as F, bE as we, j as d, bF as De, P as z, bn as Pe, bG as me, $ as O, bf as ke, Q as G, bH as je, aX as Ie, aw as Me, aq as pe, bh as he, at as I, as as Le, bI as He, aP as oe, bJ as _e, ab as ye, bK as ae, bL as $e, aR as Re, af as Ue, a1 as Fe } from "./ShortcutLinksContext-GuMlmySg.js";
5
+ import { bM as Bt, bc as Yt } from "./ShortcutLinksContext-GuMlmySg.js";
6
6
  import D, { useState as S, useCallback as h, useMemo as T, useContext as _, useEffect as j, useRef as te, Component as re } from "react";
7
- import { EventType as W, InteractionRequiredAuthError as Fe } from "@azure/msal-browser";
7
+ import { EventType as W, InteractionRequiredAuthError as Ne } from "@azure/msal-browser";
8
8
  import { MsalProvider as qe } from "@azure/msal-react";
9
9
  import "react-router-dom";
10
10
  import "react-dom";
11
11
  import "react-hook-form";
12
12
  import "react-flexmonster";
13
- import { L as Ge, b as ze } from "./FormDisabledProvider-CCk5YUQ1.js";
14
- import { F as Wt } from "./FormDisabledProvider-CCk5YUQ1.js";
15
- import { a as Ke, u as Ve } from "./useLocalStorageState-CyfdUiRG.js";
13
+ import { L as Ge, b as ze } from "./FormDisabledProvider-DaXGRefv.js";
14
+ import { F as Wt } from "./FormDisabledProvider-DaXGRefv.js";
15
+ import { a as Ke, u as Ve } from "./useLocalStorageState-BbAq2qRc.js";
16
16
  function Be(e) {
17
- const t = N(e);
17
+ const t = F(e);
18
18
  return t.setHours(23, 59, 59, 999), t;
19
19
  }
20
20
  function Ye() {
21
21
  return Be(Date.now());
22
22
  }
23
23
  function Je(e, t) {
24
- const n = +N(e), [r, s] = [
25
- +N(t.start),
26
- +N(t.end)
24
+ const n = +F(e), [r, s] = [
25
+ +F(t.start),
26
+ +F(t.end)
27
27
  ].sort((o, l) => o - l);
28
28
  return n >= r && n <= s;
29
29
  }
@@ -108,7 +108,7 @@ const Qe = ({ children: e }) => {
108
108
  /* @__PURE__ */ d.jsx(je, {}),
109
109
  i
110
110
  ] }) }) });
111
- }, Nt = ({ children: e }) => {
111
+ }, Ft = ({ children: e }) => {
112
112
  const [t, n] = S(!1), [r] = S(/* @__PURE__ */ new Set()), s = h((i) => {
113
113
  r.add(i), n(!0);
114
114
  }, [r]), o = h((i) => {
@@ -118,7 +118,7 @@ const Qe = ({ children: e }) => {
118
118
  t && /* @__PURE__ */ d.jsx(Ge, {}),
119
119
  e
120
120
  ] });
121
- }, Ft = ({ children: e }) => {
121
+ }, Nt = ({ children: e }) => {
122
122
  const t = Me(), { msalInstance: n, getToken: r } = _(pe), { delegation: s, setDelegation: o, setAvailableDelegations: l, refreshAvailableDelegations: i } = _(he), [c, a] = S(null), u = h(async () => {
123
123
  const g = await r();
124
124
  g && a(g.token);
@@ -224,7 +224,7 @@ const Qe = ({ children: e }) => {
224
224
  token: v.accessToken,
225
225
  expiresOn: v.expiresOn ?? new Date(Date.now())
226
226
  })).catch((v) => {
227
- if (console.error("Error acquiring token", v), v instanceof Fe)
227
+ if (console.error("Error acquiring token", v), v instanceof Ne)
228
228
  return console.log("Silent token acquisition failed. Acquiring token using redirect"), r == null || r.acquireTokenRedirect({
229
229
  scopes: s,
230
230
  extraScopesToConsent: o
@@ -306,7 +306,7 @@ const Qe = ({ children: e }) => {
306
306
  return /* @__PURE__ */ d.jsx(he.Provider, { value: u, children: e });
307
307
  };
308
308
  var et = typeof Element < "u", tt = typeof Map == "function", rt = typeof Set == "function", nt = typeof ArrayBuffer == "function" && !!ArrayBuffer.isView;
309
- function F(e, t) {
309
+ function N(e, t) {
310
310
  if (e === t) return !0;
311
311
  if (e && t && typeof e == "object" && typeof t == "object") {
312
312
  if (e.constructor !== t.constructor) return !1;
@@ -314,7 +314,7 @@ function F(e, t) {
314
314
  if (Array.isArray(e)) {
315
315
  if (n = e.length, n != t.length) return !1;
316
316
  for (r = n; r-- !== 0; )
317
- if (!F(e[r], t[r])) return !1;
317
+ if (!N(e[r], t[r])) return !1;
318
318
  return !0;
319
319
  }
320
320
  var o;
@@ -323,7 +323,7 @@ function F(e, t) {
323
323
  for (o = e.entries(); !(r = o.next()).done; )
324
324
  if (!t.has(r.value[0])) return !1;
325
325
  for (o = e.entries(); !(r = o.next()).done; )
326
- if (!F(r.value[1], t.get(r.value[0]))) return !1;
326
+ if (!N(r.value[1], t.get(r.value[0]))) return !1;
327
327
  return !0;
328
328
  }
329
329
  if (rt && e instanceof Set && t instanceof Set) {
@@ -346,7 +346,7 @@ function F(e, t) {
346
346
  if (!Object.prototype.hasOwnProperty.call(t, s[r])) return !1;
347
347
  if (et && e instanceof Element) return !1;
348
348
  for (r = n; r-- !== 0; )
349
- if (!((s[r] === "_owner" || s[r] === "__v" || s[r] === "__o") && e.$$typeof) && !F(e[s[r]], t[s[r]]))
349
+ if (!((s[r] === "_owner" || s[r] === "__v" || s[r] === "__o") && e.$$typeof) && !N(e[s[r]], t[s[r]]))
350
350
  return !1;
351
351
  return !0;
352
352
  }
@@ -354,7 +354,7 @@ function F(e, t) {
354
354
  }
355
355
  var st = function(t, n) {
356
356
  try {
357
- return F(t, n);
357
+ return N(t, n);
358
358
  } catch (r) {
359
359
  if ((r.message || "").match(/stack|recursion/i))
360
360
  return console.warn("react-fast-compare cannot handle circular refs"), !1;
@@ -974,7 +974,7 @@ const fe = (e, t) => e ? `${e} | ${t}` : t, zt = ({ defaultHelmet: e, children:
974
974
  }
975
975
  }, [t, n, s]);
976
976
  return Ue(c), /* @__PURE__ */ d.jsxs(O, { show: s, size: i ? void 0 : "sm", centered: !0, onHide: n, children: [
977
- /* @__PURE__ */ d.jsx(O.Header, { className: "justify-content-center", children: l ? /* @__PURE__ */ d.jsx(Ne, { variant: "body", children: r }) : /* @__PURE__ */ d.jsx(O.Title, { children: r }) }),
977
+ /* @__PURE__ */ d.jsx(O.Header, { className: "justify-content-center", children: l ? /* @__PURE__ */ d.jsx(Fe, { variant: "body", children: r }) : /* @__PURE__ */ d.jsx(O.Title, { children: r }) }),
978
978
  /* @__PURE__ */ d.jsx(O.Body, { children: /* @__PURE__ */ d.jsxs("div", { className: "w-100 d-flex gap-5", children: [
979
979
  /* @__PURE__ */ d.jsx(G, { type: "button", variant: "outlined", color: "secondary", className: "w-100", onClick: n, children: e.no }),
980
980
  /* @__PURE__ */ d.jsx(G, { type: "button", color: "primary", onClick: t, className: "w-100 ml", children: e.yes })
@@ -991,10 +991,10 @@ export {
991
991
  $e as HelmetContext,
992
992
  zt as HelmetProvider,
993
993
  Ie as LoadingContext,
994
- Nt as LoadingProvider,
994
+ Ft as LoadingProvider,
995
995
  z as LuminusComponentsContext,
996
996
  Ut as LuminusComponentsProvider,
997
997
  Le as UserContext,
998
- Ft as UserProvider,
998
+ Nt as UserProvider,
999
999
  Yt as useFormDisabledContext
1000
1000
  };
package/dist/hooks.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./ShortcutLinksContext-Ce9suS4R.cjs"),A=require("./useLocalStorageState-C8BsBRul.cjs"),r=require("react"),w=require("./useRenderDraggableInPortal-QPCaw-E_.cjs");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const q=e=>{let t="pending",n;const u=e.then(s=>{t="success",n=s},s=>{t="error",n=s});return()=>{switch(t){case"pending":throw u;case"success":return n;case"error":throw n;default:throw new Error("Unknown status")}}};function L(e,t){const n=o.useAxios({silent:!0,differentBaseUrl:t==null?void 0:t.customBaseUrl,customToken:t==null?void 0:t.customToken}),[u,s]=r.useState(null);return r.useEffect(()=>{(async()=>{const c=n.get(e).then(l=>l.data);s(q(c))})()},[n,e]),u}const x=e=>t=>(window.addEventListener(`storage_${e}`,t),()=>window.removeEventListener(`storage_${e}`,t)),O=(e,t,n=localStorage)=>{const[u]=r.useState(t),s=r.useRef(JSON.stringify(t)),i=r.useRef(t),c=r.useCallback(()=>{const S=n.getItem(e);return S!==s.current&&(s.current=S,i.current=s.current?JSON.parse(s.current):u),i.current},[e,n,u]),l=r.useMemo(()=>x(e),[e]),d=r.useSyncExternalStore(l,c),a=r.useCallback(S=>{n.setItem(e,JSON.stringify(S)),window.dispatchEvent(new Event(`storage_${e}`))},[e,n]);return r.useMemo(()=>[d,a],[d,a])},y=(e,t,n)=>{let u="pending",s;const i=e.then(c=>{u="success",s=c},c=>{const l=c==null?void 0:c.response;(l==null?void 0:l.status)===404&&n?(u="error-404",s=c):(u="error",s=c)});return()=>{switch(u){case"pending":throw i;case"success":return s;case"error":return null;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},f={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},V=(e,{loadOnInit:t=f.loadOnInit,enabled:n=f.enabled,silent:u=f.silent,nullStateBeforeLoad:s=f.nullStateBeforeLoad,nullStateOnFail:i=f.nullStateOnFail,customApiUrl:c,customBearerToken:l,dataTransformer:d,errorBoundaryOn404:a}=f)=>{const g=o.useAxios({silent:u,customToken:l,differentBaseUrl:c,noToastOnStatus:a?[404]:void 0}),{startLoading:S,stopLoading:C}=r.useContext(o.LoadingContext),E=r.useRef(0),{isAuthenticated:D}=o.useAuth(),[I,p]=r.useState(null),v=r.useCallback(async(m,b)=>{if(!D()||n===!1)return;!u&&S(`loadData-${e}-${b}`),s&&p(null);const T=g.get(e,{signal:m}).then(P=>d?d(P.data):P.data).finally(()=>!u&&C(`loadData-${e}-${b}`));p(y(T,i??!1,a??!1))},[D,n,u,S,e,s,g,d,C,i,a]);return r.useEffect(()=>{if(t===!1)return;const m=new AbortController;return v(m.signal,++E.current),()=>{m.abort()}},[v,t]),{data:I,setData:p,reloadData:v}},h={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},$=(e,{storageKey:t=h.storageKey,requiredHeight:n=h.requiredHeight,retryInterval:u=h.retryInterval}=h)=>{const[s,i]=r.useState(!1),c=r.useRef(null),l=r.useCallback(()=>{const a=localStorage.getItem(t);return localStorage.removeItem(t),a===null?null:Number(a)},[t]),d=r.useCallback(a=>{localStorage.setItem(t,a)},[t]);return r.useEffect(()=>{const a=window.setInterval(()=>{if(!s&&e.current!==null&&e.current.getBoundingClientRect().height>n){i(!0);const g=l();g!==null&&e.current.scrollTo({top:g}),window.clearInterval(a)}},u);return()=>{window.clearTimeout(a)}},[s,n,l,u,e]),r.useEffect(()=>{var g;const a=new AbortController;return(g=e.current)==null||g.addEventListener("scrollend",()=>{var S;c.current=((S=e.current)==null?void 0:S.scrollTop)??0,d((c.current??0).toString())},{signal:a.signal}),()=>a.abort()},[d,e]),{saveValue:d,retrieveValue:l}};exports.cancelToken=o.cancelToken;exports.useAuth=o.useAuth;exports.useAxios=o.useAxios;exports.useClickOutside=o.useClickOutside;exports.useClipboard=o.useClipboard;exports.useConfirm=o.useConfirm;exports.useFormControlType=o.useFormControlType;exports.useKeyPress=o.useKeyPress;exports.useNotifications=o.useNotifications;exports.usePermissions=o.usePermissions;exports.usePrompt=o.usePrompt;exports.useWindowSize=o.useWindowSize;exports.useZodSchemaTypes=o.useZodSchemaTypes;exports.useGetApiData=A.useGetApiData;exports.useLocalStorageState=A.useLocalStorageState;exports.useEmployeePhotoPath=w.useEmployeePhotoPath;exports.useRenderDraggableInPortal=w.useRenderDraggableInPortal;exports.useSearchQuery=w.useSearchQuery;exports.useSearchQueryState=w.useSearchQueryState;exports.useGetApiDataBound=V;exports.useGetDataBound=L;exports.usePersistentState=O;exports.useScrollSave=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./ShortcutLinksContext-Ch5JVOFI.cjs"),A=require("./useLocalStorageState-DWtbAM7j.cjs"),r=require("react"),w=require("./useRenderDraggableInPortal-QPCaw-E_.cjs");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const q=e=>{let t="pending",n;const u=e.then(s=>{t="success",n=s},s=>{t="error",n=s});return()=>{switch(t){case"pending":throw u;case"success":return n;case"error":throw n;default:throw new Error("Unknown status")}}};function L(e,t){const n=o.useAxios({silent:!0,differentBaseUrl:t==null?void 0:t.customBaseUrl,customToken:t==null?void 0:t.customToken}),[u,s]=r.useState(null);return r.useEffect(()=>{(async()=>{const c=n.get(e).then(l=>l.data);s(q(c))})()},[n,e]),u}const x=e=>t=>(window.addEventListener(`storage_${e}`,t),()=>window.removeEventListener(`storage_${e}`,t)),O=(e,t,n=localStorage)=>{const[u]=r.useState(t),s=r.useRef(JSON.stringify(t)),i=r.useRef(t),c=r.useCallback(()=>{const S=n.getItem(e);return S!==s.current&&(s.current=S,i.current=s.current?JSON.parse(s.current):u),i.current},[e,n,u]),l=r.useMemo(()=>x(e),[e]),d=r.useSyncExternalStore(l,c),a=r.useCallback(S=>{n.setItem(e,JSON.stringify(S)),window.dispatchEvent(new Event(`storage_${e}`))},[e,n]);return r.useMemo(()=>[d,a],[d,a])},y=(e,t,n)=>{let u="pending",s;const i=e.then(c=>{u="success",s=c},c=>{const l=c==null?void 0:c.response;(l==null?void 0:l.status)===404&&n?(u="error-404",s=c):(u="error",s=c)});return()=>{switch(u){case"pending":throw i;case"success":return s;case"error":return null;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},f={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},V=(e,{loadOnInit:t=f.loadOnInit,enabled:n=f.enabled,silent:u=f.silent,nullStateBeforeLoad:s=f.nullStateBeforeLoad,nullStateOnFail:i=f.nullStateOnFail,customApiUrl:c,customBearerToken:l,dataTransformer:d,errorBoundaryOn404:a}=f)=>{const g=o.useAxios({silent:u,customToken:l,differentBaseUrl:c,noToastOnStatus:a?[404]:void 0}),{startLoading:S,stopLoading:C}=r.useContext(o.LoadingContext),E=r.useRef(0),{isAuthenticated:D}=o.useAuth(),[I,p]=r.useState(null),v=r.useCallback(async(m,b)=>{if(!D()||n===!1)return;!u&&S(`loadData-${e}-${b}`),s&&p(null);const T=g.get(e,{signal:m}).then(P=>d?d(P.data):P.data).finally(()=>!u&&C(`loadData-${e}-${b}`));p(y(T,i??!1,a??!1))},[D,n,u,S,e,s,g,d,C,i,a]);return r.useEffect(()=>{if(t===!1)return;const m=new AbortController;return v(m.signal,++E.current),()=>{m.abort()}},[v,t]),{data:I,setData:p,reloadData:v}},h={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},$=(e,{storageKey:t=h.storageKey,requiredHeight:n=h.requiredHeight,retryInterval:u=h.retryInterval}=h)=>{const[s,i]=r.useState(!1),c=r.useRef(null),l=r.useCallback(()=>{const a=localStorage.getItem(t);return localStorage.removeItem(t),a===null?null:Number(a)},[t]),d=r.useCallback(a=>{localStorage.setItem(t,a)},[t]);return r.useEffect(()=>{const a=window.setInterval(()=>{if(!s&&e.current!==null&&e.current.getBoundingClientRect().height>n){i(!0);const g=l();g!==null&&e.current.scrollTo({top:g}),window.clearInterval(a)}},u);return()=>{window.clearTimeout(a)}},[s,n,l,u,e]),r.useEffect(()=>{var g;const a=new AbortController;return(g=e.current)==null||g.addEventListener("scrollend",()=>{var S;c.current=((S=e.current)==null?void 0:S.scrollTop)??0,d((c.current??0).toString())},{signal:a.signal}),()=>a.abort()},[d,e]),{saveValue:d,retrieveValue:l}};exports.cancelToken=o.cancelToken;exports.useAuth=o.useAuth;exports.useAxios=o.useAxios;exports.useClickOutside=o.useClickOutside;exports.useClipboard=o.useClipboard;exports.useConfirm=o.useConfirm;exports.useFormControlType=o.useFormControlType;exports.useKeyPress=o.useKeyPress;exports.useNotifications=o.useNotifications;exports.usePermissions=o.usePermissions;exports.usePrompt=o.usePrompt;exports.useWindowSize=o.useWindowSize;exports.useZodSchemaTypes=o.useZodSchemaTypes;exports.useGetApiData=A.useGetApiData;exports.useLocalStorageState=A.useLocalStorageState;exports.useEmployeePhotoPath=w.useEmployeePhotoPath;exports.useRenderDraggableInPortal=w.useRenderDraggableInPortal;exports.useSearchQuery=w.useSearchQuery;exports.useSearchQueryState=w.useSearchQueryState;exports.useGetApiDataBound=V;exports.useGetDataBound=L;exports.usePersistentState=O;exports.useScrollSave=$;
package/dist/hooks.es.js CHANGED
@@ -1,6 +1,6 @@
1
- import { aw as O, aX as L, ar as T } from "./ShortcutLinksContext-CVJd0L8d.js";
2
- import { bO as k, bw as K, bQ as tt, aR as et, bP as st, af as rt, aY as nt, bb as at, bo as ot, a2 as ut, bh as ct } from "./ShortcutLinksContext-CVJd0L8d.js";
3
- import { u as it, a as dt } from "./useLocalStorageState-CyfdUiRG.js";
1
+ import { aw as O, aX as L, ar as T } from "./ShortcutLinksContext-GuMlmySg.js";
2
+ import { bN as k, bv as K, bP as tt, aR as et, bO as st, af as rt, aY as nt, ba as at, bn as ot, a2 as ut, bg as ct } from "./ShortcutLinksContext-GuMlmySg.js";
3
+ import { u as it, a as dt } from "./useLocalStorageState-BbAq2qRc.js";
4
4
  import { useState as h, useEffect as p, useRef as S, useCallback as f, useMemo as E, useSyncExternalStore as A, useContext as N } from "react";
5
5
  import { c as ft, u as gt, a as wt, b as pt } from "./useRenderDraggableInPortal-D0OLp7Qb.js";
6
6
  import "react-router-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ShortcutLinksContext-Ce9suS4R.cjs"),_=require("react"),C=require("react-router-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");require("react-dom");const f="_side-menu-item_o72rm_1",w="_disabled_o72rm_6",T="_hidden_o72rm_10",q="_nav-button_o72rm_13",I="_child_o72rm_21",S="_text_o72rm_26",L="_icon_o72rm_36",O="_collapse-icon_o72rm_42",A="_collapsed_o72rm_52",$="_collapse-icon-mini_o72rm_55",D="_expanded_o72rm_86",K="_children-container_o72rm_92",F="_visible_o72rm_100",z="_children_o72rm_92",G="_mobile_o72rm_112",n={"side-menu-item":"_side-menu-item_o72rm_1",sideMenuItem:f,disabled:w,hidden:T,"nav-button":"_nav-button_o72rm_13",navButton:q,child:I,text:S,icon:L,"collapse-icon":"_collapse-icon_o72rm_42",collapseIcon:O,collapsed:A,"collapse-icon-mini":"_collapse-icon-mini_o72rm_55",collapseIconMini:$,expanded:D,"children-container":"_children-container_o72rm_92",childrenContainer:K,visible:F,children:z,mobile:G},H=({item:s,menuExpanded:i,useTooltips:l,children:d})=>s.tooltip&&!i&&l?e.jsxRuntimeExports.jsx(e.SimpleTooltip,{text:s.tooltip,placement:"top",delay:{show:1e3,hide:0},children:e.jsxRuntimeExports.jsx("div",{children:d})}):d,P=({item:s,menuExpanded:i,collapsed:l,onCollapse:d,currentPath:j,useHover:a,useTooltips:b,isMobile:k,disableMode:c})=>{var R,N,E,y;const[g,p]=_.useState(!1),[h]=j.split("?"),v=s.linkTo===h||((R=s.children)==null?void 0:R.some(o=>o.linkTo===h)),m=_.useRef(null);return e.useClickOutside([m],()=>l&&d()),e.jsxRuntimeExports.jsxs("li",{ref:m,className:e.classNames("luminus-side-menu-item",n.sideMenuItem,{[n.mobile]:k},{[n.expanded]:i},{active:g||v},{open:l&&s.children},{[c==="disable"?n.disabled:n.hidden]:s.disabled||s.notPermitted||((N=s.children)==null?void 0:N.every(o=>o.notPermitted||o.disabled))},{[c==="disable"?"disabled":"hidden"]:s.disabled||s.notPermitted||((E=s.children)==null?void 0:E.every(o=>o.notPermitted||o.disabled))}),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),children:[e.jsxRuntimeExports.jsx(H,{item:s,menuExpanded:i,useTooltips:b,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",n.navButton),onClick:()=>{d()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),!a&&!i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",n.collapseIconMini,{[n.collapsed]:l}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",n.collapseIcon,{[n.collapsed]:l}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(C.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",n.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",n.childrenContainer,{[n.visible]:l}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",n.children),children:(y=s.children)==null?void 0:y.map(o=>e.jsxRuntimeExports.jsx(C.Link,{to:o.disabled||o.notPermitted?"/":o.linkTo??"/",className:e.classNames("nav-link child rounded",n.navButton,n.child,{[c==="disable"?n.disabled:n.hidden]:o.disabled||o.notPermitted},{[c==="disable"?"disabled":"hidden"]:o.disabled||o.notPermitted}),onClick:d,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:o.title})},o.linkTo))})})]})},U="_side-menu_12rky_1",W="_sidebar-header_12rky_15",J="_side-menu-content_12rky_22",Q="_no-top-margin_12rky_28",V="_expand_12rky_34",X="_only-logo_12rky_38",Y="_mobile_12rky_41",Z="_divider_12rky_56",x={"side-menu":"_side-menu_12rky_1",sideMenu:U,"sidebar-header":"_sidebar-header_12rky_15",sidebarHeader:W,"side-menu-content":"_side-menu-content_12rky_22",sideMenuContent:J,"no-top-margin":"_no-top-margin_12rky_28",noTopMargin:Q,expand:V,"only-logo":"_only-logo_12rky_38",onlyLogo:X,mobile:Y,divider:Z},ee=14,se=({headerItem:s,searchItem:i,shortcutsItem:l,mainItems:d,secondaryItems:j,expanded:a,setExpanded:b,currentPath:k,useHover:c,useTooltips:g,disableMode:p="disable"})=>{const[h,v]=_.useState(-1),{checkUserHasPermissions:m}=e.usePermissions(),R=_.useMemo(()=>d.map(t=>{var r;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(r=t.children)==null?void 0:r.map(u=>({...u,notPermitted:!m(u.permissions??[],"any"),disabled:t.disabled||u.disabled}))}}),[d,m]),N=_.useMemo(()=>j.map(t=>{var r;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(r=t.children)==null?void 0:r.map(u=>({...u,notPermitted:!m(u.permissions??[],"any")}))}}),[j,m]),E=t=>{v(t===h?-1:t)};_.useEffect(()=>{a||v(-1)},[a]);const y=_.useRef(null);e.useClickOutside([y],()=>b(!1));const o=_.useMemo(()=>[...R,...N].filter(t=>{var r;return p==="hide"?!t.disabled&&!t.notPermitted&&(((r=t.children)==null?void 0:r.filter(u=>!u.disabled&&!u.notPermitted))??[]).length>0:!0}),[R,N,p]),{isMobile:M}=e.useWindowSize();return e.jsxRuntimeExports.jsxs("section",{ref:y,className:e.classNames("luminus-side-menu shadow",x.sideMenu,{[x.mobile]:M},{[x.expand]:a},{expand:a}),onMouseEnter:()=>c&&b(!0),onMouseLeave:()=>c&&b(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",x.sidebarHeader,{[x.onlyLogo]:c}),role:c?void 0:"button",onClick:c?void 0:()=>b(!a),children:c?s:a?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardDoubleArrowLeft,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),a&&(i||l)?e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex flex-column gap-3",children:[l&&a?l:null,i&&a?i:null]}):null,e.jsxRuntimeExports.jsxs("ul",{className:e.classNames(x.sideMenuContent,{[x.noTopMargin]:o.length>ee}),children:[R.map((t,r)=>e.jsxRuntimeExports.jsx(P,{item:t,menuExpanded:a,collapsed:r===h,onCollapse:()=>E(r),currentPath:k,useHover:c,useTooltips:g,isMobile:M,disableMode:p},t.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",x.divider)}),N.map((t,r)=>e.jsxRuntimeExports.jsx(P,{item:t,menuExpanded:a,collapsed:r===h,onCollapse:()=>E(r),currentPath:k,useHover:c,useTooltips:g,isMobile:M,disableMode:p},t.title))]})]})},ne="_top-bar_lnmq0_1",te="_top-bar-brand_lnmq0_12",B={"top-bar":"_top-bar_lnmq0_1",topBar:ne,"top-bar-brand":"_top-bar-brand_lnmq0_12",topBarBrand:te},oe=({appName:s,leftOffset:i,leftContent:l,centerContent:d,rightContent:j})=>e.jsxRuntimeExports.jsx("nav",{className:e.classNames("luminus-top-bar shadow",B.topBar),style:{width:i?`calc(100% - ${i}px)`:void 0,left:i?`${i}px`:void 0},children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 row g-0",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-4 d-flex gap-3 align-items-center",children:[e.jsxRuntimeExports.jsx(C.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",B.topBarBrand),children:s}),l]}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex align-items-center",children:d??null}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex justify-content-end align-items-center",children:j??null})]})});exports.PageContainer=e.PageContainer;exports.SideContentBar=e.SideContentBar;exports.SideMenu=se;exports.TopBar=oe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ShortcutLinksContext-Ch5JVOFI.cjs"),_=require("react"),C=require("react-router-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");require("react-dom");const f="_side-menu-item_o72rm_1",w="_disabled_o72rm_6",T="_hidden_o72rm_10",q="_nav-button_o72rm_13",I="_child_o72rm_21",S="_text_o72rm_26",L="_icon_o72rm_36",O="_collapse-icon_o72rm_42",A="_collapsed_o72rm_52",$="_collapse-icon-mini_o72rm_55",D="_expanded_o72rm_86",K="_children-container_o72rm_92",F="_visible_o72rm_100",z="_children_o72rm_92",G="_mobile_o72rm_112",n={"side-menu-item":"_side-menu-item_o72rm_1",sideMenuItem:f,disabled:w,hidden:T,"nav-button":"_nav-button_o72rm_13",navButton:q,child:I,text:S,icon:L,"collapse-icon":"_collapse-icon_o72rm_42",collapseIcon:O,collapsed:A,"collapse-icon-mini":"_collapse-icon-mini_o72rm_55",collapseIconMini:$,expanded:D,"children-container":"_children-container_o72rm_92",childrenContainer:K,visible:F,children:z,mobile:G},H=({item:s,menuExpanded:i,useTooltips:l,children:d})=>s.tooltip&&!i&&l?e.jsxRuntimeExports.jsx(e.SimpleTooltip,{text:s.tooltip,placement:"top",delay:{show:1e3,hide:0},children:e.jsxRuntimeExports.jsx("div",{children:d})}):d,P=({item:s,menuExpanded:i,collapsed:l,onCollapse:d,currentPath:j,useHover:a,useTooltips:b,isMobile:k,disableMode:c})=>{var R,N,E,y;const[g,p]=_.useState(!1),[h]=j.split("?"),v=s.linkTo===h||((R=s.children)==null?void 0:R.some(o=>o.linkTo===h)),m=_.useRef(null);return e.useClickOutside([m],()=>l&&d()),e.jsxRuntimeExports.jsxs("li",{ref:m,className:e.classNames("luminus-side-menu-item",n.sideMenuItem,{[n.mobile]:k},{[n.expanded]:i},{active:g||v},{open:l&&s.children},{[c==="disable"?n.disabled:n.hidden]:s.disabled||s.notPermitted||((N=s.children)==null?void 0:N.every(o=>o.notPermitted||o.disabled))},{[c==="disable"?"disabled":"hidden"]:s.disabled||s.notPermitted||((E=s.children)==null?void 0:E.every(o=>o.notPermitted||o.disabled))}),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),children:[e.jsxRuntimeExports.jsx(H,{item:s,menuExpanded:i,useTooltips:b,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",n.navButton),onClick:()=>{d()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),!a&&!i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",n.collapseIconMini,{[n.collapsed]:l}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",n.collapseIcon,{[n.collapsed]:l}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(C.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",n.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",n.childrenContainer,{[n.visible]:l}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",n.children),children:(y=s.children)==null?void 0:y.map(o=>e.jsxRuntimeExports.jsx(C.Link,{to:o.disabled||o.notPermitted?"/":o.linkTo??"/",className:e.classNames("nav-link child rounded",n.navButton,n.child,{[c==="disable"?n.disabled:n.hidden]:o.disabled||o.notPermitted},{[c==="disable"?"disabled":"hidden"]:o.disabled||o.notPermitted}),onClick:d,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:o.title})},o.linkTo))})})]})},U="_side-menu_12rky_1",W="_sidebar-header_12rky_15",J="_side-menu-content_12rky_22",Q="_no-top-margin_12rky_28",V="_expand_12rky_34",X="_only-logo_12rky_38",Y="_mobile_12rky_41",Z="_divider_12rky_56",x={"side-menu":"_side-menu_12rky_1",sideMenu:U,"sidebar-header":"_sidebar-header_12rky_15",sidebarHeader:W,"side-menu-content":"_side-menu-content_12rky_22",sideMenuContent:J,"no-top-margin":"_no-top-margin_12rky_28",noTopMargin:Q,expand:V,"only-logo":"_only-logo_12rky_38",onlyLogo:X,mobile:Y,divider:Z},ee=14,se=({headerItem:s,searchItem:i,shortcutsItem:l,mainItems:d,secondaryItems:j,expanded:a,setExpanded:b,currentPath:k,useHover:c,useTooltips:g,disableMode:p="disable"})=>{const[h,v]=_.useState(-1),{checkUserHasPermissions:m}=e.usePermissions(),R=_.useMemo(()=>d.map(t=>{var r;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(r=t.children)==null?void 0:r.map(u=>({...u,notPermitted:!m(u.permissions??[],"any"),disabled:t.disabled||u.disabled}))}}),[d,m]),N=_.useMemo(()=>j.map(t=>{var r;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(r=t.children)==null?void 0:r.map(u=>({...u,notPermitted:!m(u.permissions??[],"any")}))}}),[j,m]),E=t=>{v(t===h?-1:t)};_.useEffect(()=>{a||v(-1)},[a]);const y=_.useRef(null);e.useClickOutside([y],()=>b(!1));const o=_.useMemo(()=>[...R,...N].filter(t=>{var r;return p==="hide"?!t.disabled&&!t.notPermitted&&(((r=t.children)==null?void 0:r.filter(u=>!u.disabled&&!u.notPermitted))??[]).length>0:!0}),[R,N,p]),{isMobile:M}=e.useWindowSize();return e.jsxRuntimeExports.jsxs("section",{ref:y,className:e.classNames("luminus-side-menu shadow",x.sideMenu,{[x.mobile]:M},{[x.expand]:a},{expand:a}),onMouseEnter:()=>c&&b(!0),onMouseLeave:()=>c&&b(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",x.sidebarHeader,{[x.onlyLogo]:c}),role:c?void 0:"button",onClick:c?void 0:()=>b(!a),children:c?s:a?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardDoubleArrowLeft,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),a&&(i||l)?e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex flex-column gap-3",children:[l&&a?l:null,i&&a?i:null]}):null,e.jsxRuntimeExports.jsxs("ul",{className:e.classNames(x.sideMenuContent,{[x.noTopMargin]:o.length>ee}),children:[R.map((t,r)=>e.jsxRuntimeExports.jsx(P,{item:t,menuExpanded:a,collapsed:r===h,onCollapse:()=>E(r),currentPath:k,useHover:c,useTooltips:g,isMobile:M,disableMode:p},t.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",x.divider)}),N.map((t,r)=>e.jsxRuntimeExports.jsx(P,{item:t,menuExpanded:a,collapsed:r===h,onCollapse:()=>E(r),currentPath:k,useHover:c,useTooltips:g,isMobile:M,disableMode:p},t.title))]})]})},ne="_top-bar_lnmq0_1",te="_top-bar-brand_lnmq0_12",B={"top-bar":"_top-bar_lnmq0_1",topBar:ne,"top-bar-brand":"_top-bar-brand_lnmq0_12",topBarBrand:te},oe=({appName:s,leftOffset:i,leftContent:l,centerContent:d,rightContent:j})=>e.jsxRuntimeExports.jsx("nav",{className:e.classNames("luminus-top-bar shadow",B.topBar),style:{width:i?`calc(100% - ${i}px)`:void 0,left:i?`${i}px`:void 0},children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 row g-0",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-4 d-flex gap-3 align-items-center",children:[e.jsxRuntimeExports.jsx(C.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",B.topBarBrand),children:s}),l]}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex align-items-center",children:d??null}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex justify-content-end align-items-center",children:j??null})]})});exports.PageContainer=e.PageContainer;exports.SideContentBar=e.SideContentBar;exports.SideMenu=se;exports.TopBar=oe;
package/dist/layout.es.js CHANGED
@@ -1,17 +1,17 @@
1
- import { bw as L, j as e, c as l, Y as w, ao as $, bb as q, a2 as A, bC as O, bD as D } from "./ShortcutLinksContext-CVJd0L8d.js";
2
- import { b9 as Pe, bE as Be } from "./ShortcutLinksContext-CVJd0L8d.js";
3
- import { useState as R, useRef as S, useMemo as B, useEffect as E } from "react";
1
+ import { bv as L, j as e, c as l, Y as w, ao as $, ba as q, a2 as A, bB as O, bC as D } from "./ShortcutLinksContext-GuMlmySg.js";
2
+ import { b8 as Be, bD as Pe } from "./ShortcutLinksContext-GuMlmySg.js";
3
+ import { useState as R, useRef as S, useMemo as P, useEffect as F } from "react";
4
4
  import { Link as C } from "react-router-dom";
5
5
  import "react-hook-form";
6
6
  import "react-flexmonster";
7
7
  import "@azure/msal-browser";
8
8
  import "@azure/msal-react";
9
9
  import "react-dom";
10
- const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm_10", G = "_nav-button_o72rm_13", H = "_child_o72rm_21", U = "_text_o72rm_26", W = "_icon_o72rm_36", Y = "_collapse-icon_o72rm_42", J = "_collapsed_o72rm_52", Q = "_collapse-icon-mini_o72rm_55", V = "_expanded_o72rm_86", X = "_children-container_o72rm_92", Z = "_visible_o72rm_100", ee = "_children_o72rm_92", ne = "_mobile_o72rm_112", s = {
10
+ const K = "_side-menu-item_o72rm_1", z = "_disabled_o72rm_6", E = "_hidden_o72rm_10", G = "_nav-button_o72rm_13", H = "_child_o72rm_21", U = "_text_o72rm_26", W = "_icon_o72rm_36", Y = "_collapse-icon_o72rm_42", J = "_collapsed_o72rm_52", Q = "_collapse-icon-mini_o72rm_55", V = "_expanded_o72rm_86", X = "_children-container_o72rm_92", Z = "_visible_o72rm_100", ee = "_children_o72rm_92", ne = "_mobile_o72rm_112", s = {
11
11
  "side-menu-item": "_side-menu-item_o72rm_1",
12
- sideMenuItem: F,
13
- disabled: K,
14
- hidden: z,
12
+ sideMenuItem: K,
13
+ disabled: z,
14
+ hidden: E,
15
15
  "nav-button": "_nav-button_o72rm_13",
16
16
  navButton: G,
17
17
  child: H,
@@ -76,7 +76,7 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
76
76
  mobile: de,
77
77
  divider: ce
78
78
  }, _e = 14, Ne = ({ headerItem: n, searchItem: t, shortcutsItem: a, mainItems: _, secondaryItems: h, expanded: d, setExpanded: x, currentPath: M, useHover: c, useTooltips: f, disableMode: b = "disable" }) => {
79
- const [v, k] = R(-1), { checkUserHasPermissions: m } = q(), j = B(() => _.map((o) => {
79
+ const [v, k] = R(-1), { checkUserHasPermissions: m } = q(), j = P(() => _.map((o) => {
80
80
  var r;
81
81
  return {
82
82
  ...o,
@@ -87,7 +87,7 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
87
87
  disabled: o.disabled || p.disabled
88
88
  }))
89
89
  };
90
- }), [_, m]), y = B(() => h.map((o) => {
90
+ }), [_, m]), y = P(() => h.map((o) => {
91
91
  var r;
92
92
  return {
93
93
  ...o,
@@ -100,16 +100,16 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
100
100
  }), [h, m]), N = (o) => {
101
101
  k(o === v ? -1 : o);
102
102
  };
103
- E(() => {
103
+ F(() => {
104
104
  d || k(-1);
105
105
  }, [d]);
106
106
  const g = S(null);
107
107
  L([g], () => x(!1));
108
- const i = B(() => [...j, ...y].filter((o) => {
108
+ const i = P(() => [...j, ...y].filter((o) => {
109
109
  var r;
110
110
  return b === "hide" ? !o.disabled && !o.notPermitted && (((r = o.children) == null ? void 0 : r.filter((p) => !p.disabled && !p.notPermitted)) ?? []).length > 0 : !0;
111
- }), [j, y, b]), { isMobile: P } = A();
112
- return /* @__PURE__ */ e.jsxs("section", { ref: g, className: l("luminus-side-menu shadow", u.sideMenu, { [u.mobile]: P }, {
111
+ }), [j, y, b]), { isMobile: B } = A();
112
+ return /* @__PURE__ */ e.jsxs("section", { ref: g, className: l("luminus-side-menu shadow", u.sideMenu, { [u.mobile]: B }, {
113
113
  [u.expand]: d
114
114
  }, { expand: d }), onMouseEnter: () => c && x(!0), onMouseLeave: () => c && x(!1), children: [
115
115
  /* @__PURE__ */ e.jsx("div", { className: l("sidebar-header", u.sidebarHeader, {
@@ -125,9 +125,9 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
125
125
  /* @__PURE__ */ e.jsxs("ul", { className: l(u.sideMenuContent, {
126
126
  [u.noTopMargin]: i.length > _e
127
127
  }), children: [
128
- j.map((o, r) => /* @__PURE__ */ e.jsx(I, { item: o, menuExpanded: d, collapsed: r === v, onCollapse: () => N(r), currentPath: M, useHover: c, useTooltips: f, isMobile: P, disableMode: b }, o.title)),
128
+ j.map((o, r) => /* @__PURE__ */ e.jsx(I, { item: o, menuExpanded: d, collapsed: r === v, onCollapse: () => N(r), currentPath: M, useHover: c, useTooltips: f, isMobile: B, disableMode: b }, o.title)),
129
129
  /* @__PURE__ */ e.jsx("hr", { className: l("divider", u.divider) }),
130
- y.map((o, r) => /* @__PURE__ */ e.jsx(I, { item: o, menuExpanded: d, collapsed: r === v, onCollapse: () => N(r), currentPath: M, useHover: c, useTooltips: f, isMobile: P, disableMode: b }, o.title))
130
+ y.map((o, r) => /* @__PURE__ */ e.jsx(I, { item: o, menuExpanded: d, collapsed: r === v, onCollapse: () => N(r), currentPath: M, useHover: c, useTooltips: f, isMobile: B, disableMode: b }, o.title))
131
131
  ] })
132
132
  ] });
133
133
  }, me = "_top-bar_lnmq0_1", pe = "_top-bar-brand_lnmq0_12", T = {
@@ -147,8 +147,8 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
147
147
  /* @__PURE__ */ e.jsx("div", { className: "col-4 d-flex justify-content-end align-items-center", children: h ?? null })
148
148
  ] }) });
149
149
  export {
150
- Pe as PageContainer,
151
- Be as SideContentBar,
150
+ Be as PageContainer,
151
+ Pe as SideContentBar,
152
152
  Ne as SideMenu,
153
153
  ge as TopBar
154
154
  };