react-luminus-components 1.3.104 → 1.3.106

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.
Files changed (31) hide show
  1. package/dist/.vite/manifest.json +67 -67
  2. package/dist/{FullScreenContainer-BJprjc0-.js → FullScreenContainer-DR8ViApX.js} +1 -1
  3. package/dist/{FullScreenContainer-PAUPFvDa.cjs → FullScreenContainer-DWMaq7ei.cjs} +1 -1
  4. package/dist/{Loading-B-a28A6h.js → Loading-DMtI6ziE.js} +1 -1
  5. package/dist/{Loading-xgF6OsXz.cjs → Loading-H5IapNQC.cjs} +1 -1
  6. package/dist/{ResponsiveContextDropdown-BTWYs_5c.js → ResponsiveContextDropdown-CKD8WwD7.js} +6 -6
  7. package/dist/{ResponsiveContextDropdown-DJHED0fJ.cjs → ResponsiveContextDropdown-CiKOleS8.cjs} +3 -3
  8. package/dist/SimpleTooltip--WMjE4rb.cjs +1 -0
  9. package/dist/SimpleTooltip-C9UIJAri.js +5 -0
  10. package/dist/components/Tooltip/SimpleTooltip/SimpleTooltip.d.ts +3 -1
  11. package/dist/contexts.cjs.js +1 -1
  12. package/dist/contexts.es.js +3 -3
  13. package/dist/hooks.cjs.js +1 -1
  14. package/dist/hooks.es.js +5 -5
  15. package/dist/layout.cjs.js +1 -1
  16. package/dist/layout.es.js +79 -77
  17. package/dist/main.cjs.js +1 -1
  18. package/dist/main.es.js +8 -8
  19. package/dist/{searchUtils-e4stptnK.js → searchUtils-Dafq3oMV.js} +1 -1
  20. package/dist/{searchUtils-Duo7lkt3.cjs → searchUtils-Yr7036T2.cjs} +1 -1
  21. package/dist/{useClipboard-CPpcsAUr.js → useClipboard-Bdye8gd-.js} +1 -1
  22. package/dist/{useClipboard-DO4Wt5yn.cjs → useClipboard-D_TKJIzz.cjs} +1 -1
  23. package/dist/{useGetApiData-DlXJYhhW.js → useGetApiData-BdkVoF0S.js} +1 -1
  24. package/dist/{useGetApiData-DZI3UwZY.cjs → useGetApiData-DRU71hbF.cjs} +1 -1
  25. package/dist/{usePermissions-Bv3PjjAi.cjs → usePermissions-CgsgxTCZ.cjs} +1 -1
  26. package/dist/{usePermissions-Xt0Kg7pS.js → usePermissions-DA_-uYww.js} +1 -1
  27. package/dist/utils.cjs.js +1 -1
  28. package/dist/utils.es.js +4 -4
  29. package/package.json +1 -1
  30. package/dist/SimpleTooltip-CZBF7c7i.js +0 -5
  31. package/dist/SimpleTooltip-DUaCV_sl.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";const o=require("./ResponsiveContextDropdown-CiKOleS8.cjs"),r=({text:e,placement:t,children:s,delay:i})=>o.jsxRuntimeExports.jsx(o.OverlayTrigger,{placement:t,overlay:o.jsxRuntimeExports.jsx(o.Tooltip,{className:"luminus-tooltip",children:e}),delay:i,children:s});exports.SimpleTooltip=r;
@@ -0,0 +1,5 @@
1
+ import { j as o, a0 as e, bQ as i } from "./ResponsiveContextDropdown-CKD8WwD7.js";
2
+ const p = ({ text: s, placement: r, children: t, delay: a }) => /* @__PURE__ */ o.jsx(e, { placement: r, overlay: /* @__PURE__ */ o.jsx(i, { className: "luminus-tooltip", children: s }), delay: a, children: t });
3
+ export {
4
+ p as S
5
+ };
@@ -1,9 +1,11 @@
1
1
  import { ReactElement } from 'react';
2
+ import { OverlayDelay } from 'react-bootstrap/esm/OverlayTrigger';
2
3
 
3
4
  type Props = {
4
5
  text: string;
5
6
  placement: 'top' | 'bottom' | 'left' | 'right';
6
7
  children: ReactElement;
8
+ delay?: OverlayDelay;
7
9
  };
8
- declare const SimpleTooltip: ({ text, placement, children }: Props) => import("react").JSX.Element;
10
+ declare const SimpleTooltip: ({ text, placement, children, delay }: Props) => import("react").JSX.Element;
9
11
  export default SimpleTooltip;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ResponsiveContextDropdown-DJHED0fJ.cjs"),t=require("react"),v=require("@azure/msal-browser"),w=require("@azure/msal-react");require("react-router-dom");require("react-hook-form");require("react-flexmonster");const b=require("./Loading-xgF6OsXz.cjs"),k=require("./useGetApiData-DZI3UwZY.cjs"),I=require("./useLocalStorageState-BFc8Gc8H.cjs");function P(s){const u=e.toDate(s);return u.setHours(23,59,59,999),u}function T(){return P(Date.now())}function M(s,u){const n=+e.toDate(s),[o,r]=[+e.toDate(u.start),+e.toDate(u.end)].sort((a,i)=>a-i);return n>=o&&n<=r}function A(){return e.startOfDay(Date.now())}const O=({children:s})=>{const[u,n]=t.useState(!1),[o,r]=t.useState(""),a=t.useCallback(c=>{n(!0),r(c)},[]),i=t.useCallback(()=>{n(!1)},[]),l=t.useMemo(()=>({show:u,text:o,showConfirm:a,hideConfirm:i}),[u,o,a,i]);return e.jsxRuntimeExports.jsxs(e.ConfirmContext.Provider,{value:l,children:[e.jsxRuntimeExports.jsx(F,{}),s]})},N=()=>{const{texts:{confirm:s}}=t.useContext(e.LuminusComponentsContext),{isShown:u,text:n,onFinish:o}=e.usePrompt(),{options:r}=t.useContext(e.PromptContext),[a,i]=t.useState(r.defaultValue??""),l=t.useCallback(()=>{o(null)},[o]),c=t.useCallback(f=>{f.preventDefault(),!(r.required&&!a)&&o(a)},[o,r.required,a]);t.useEffect(()=>{u===!0&&i(r.defaultValue??"")},[u,r.defaultValue]);const d=t.useMemo(()=>({value:a,onChange:f=>i(f.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[a]);return e.jsxRuntimeExports.jsxs(e.Modal,{show:u,size:"sm",centered:!0,onHide:l,children:[e.jsxRuntimeExports.jsx(e.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(e.Modal.Title,{children:n})}),e.jsxRuntimeExports.jsxs("form",{onSubmit:c,children:[e.jsxRuntimeExports.jsxs(e.Modal.Body,{children:[r.input==="textarea"?e.jsxRuntimeExports.jsx("textarea",{...d,rows:5}):void 0,r.input==="input"?e.jsxRuntimeExports.jsx(e.FormControl,{...d,type:r.type}):void 0]}),e.jsxRuntimeExports.jsxs(e.Modal.Footer,{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(e.PrimaryButton,{variant:"outlined",color:"secondary",onClick:l,className:"flex-grow-1",children:s.cancel}),e.jsxRuntimeExports.jsx(e.PrimaryButton,{color:"primary",disabled:r.required&&!a,type:"submit",className:"flex-grow-1",children:s.confirm})]})]})]})},U=({children:s})=>{const[u,n]=t.useState(!1),[o,r]=t.useState(""),[a,i]=t.useState({input:"textarea",type:"text"}),l=t.useRef(()=>{}),c=t.useCallback(C=>{r(C),n(!0)},[]),d=t.useCallback(()=>{n(!1)},[]),f=t.useMemo(()=>({isShown:u,text:o,showPrompt:c,hidePrompt:d,resolveRef:l,options:a,setOptions:i}),[u,o,c,d,a]);return e.jsxRuntimeExports.jsxs(e.PromptContext.Provider,{value:f,children:[s,e.jsxRuntimeExports.jsx(N,{})]})},G=({cookieDomain:s,axiosOptions:u,language:n,texts:o,ProjectIconComponent:r,localizationContext:a,chartColorPalette:i,children:l})=>{const c=t.useMemo(()=>({axiosOptions:u,cookieDomain:s,language:n,texts:o,ProjectIconComponent:r,localizationContext:a,chartColorPalette:i}),[u,s,n,r,a,o,i]);return e.jsxRuntimeExports.jsx(e.LuminusComponentsContext.Provider,{value:c,children:e.jsxRuntimeExports.jsx(O,{children:e.jsxRuntimeExports.jsxs(U,{children:[e.jsxRuntimeExports.jsx(e.Ie,{}),l]})})})},q=({children:s})=>{const[u,n]=t.useState(!1),[o]=t.useState(new Set),r=t.useCallback(l=>{o.add(l),n(!0)},[o]),a=t.useCallback(l=>{o.delete(l),o.size===0&&n(!1)},[o]),i=t.useMemo(()=>({isLoading:u,startLoading:r,stopLoading:a}),[u,r,a]);return e.jsxRuntimeExports.jsxs(e.LoadingContext.Provider,{value:i,children:[u&&e.jsxRuntimeExports.jsx(b.Loading,{}),s]})},_=({children:s})=>{const u=e.useAxios(),{msalInstance:n}=t.useContext(e.AuthContext),{delegation:o,setDelegation:r,setAvailableDelegations:a,refreshAvailableDelegations:i}=t.useContext(e.DelegationContext),{getToken:l}=e.useAuth(),[c,d]=t.useState(null),f=t.useCallback(async()=>{const x=await l();x&&d(x)},[l]);t.useEffect(()=>{f()},[f]);const p=t.useCallback(()=>{const x=localStorage.getItem("user")??null;return x?JSON.parse(x??""):null},[])(),[E,h]=t.useState({state:p?e.LoginState.LOGGED_IN:e.LoginState.LOGGING_IN,user:p}),L=t.useCallback(async x=>{let m=null;return await u.get("/user/detail",x?{headers:{Authorization:`Bearer ${x}`}}:void 0).then(S=>{m=S.data}).catch(()=>{m=null}),m},[u]),R=t.useCallback(()=>{localStorage.removeItem("user"),h({state:e.LoginState.LOGGED_OUT,user:null}),r(null),a(null)},[a,r]),j=t.useCallback(async x=>{h({state:e.LoginState.LOGGING_IN,user:null});const m=await L(x);return m?(h({state:e.LoginState.LOGGED_IN,user:m}),localStorage.setItem("user",JSON.stringify(m)),await i(),!0):(h({state:e.LoginState.LOGIN_FAILED,user:null}),!1)},[L,i]),g=t.useCallback(()=>{R()},[R]);t.useEffect(()=>{if(n){const x=n.addEventCallback(m=>{if(m.eventType===v.EventType.LOGIN_SUCCESS&&m.payload){const S=m.payload;d(S.accessToken)}});return()=>{x&&n.removeEventCallback(x)}}return()=>{}},[n,j,g]);const y=t.useCallback(async x=>{x&&await j(x).catch(()=>{g(),r(null)})},[j,g,r]);t.useEffect(()=>{y(c)},[c,o==null?void 0:o.id,y]);const D=t.useMemo(()=>({user:E.user,userLoginState:E,loginUser:j,logoutUser:g}),[E,j,g]);return e.jsxRuntimeExports.jsx(e.UserContext.Provider,{value:D,children:s})},B=({...s})=>{const{cookieDomain:u}=t.useContext(e.LuminusComponentsContext),[,n]=e.useCookies(["Authorization"]),o=t.useMemo(()=>({useMsal:s.useMsal??!1,msalInstance:s.useMsal?s.msalInstance??null:null,msalScopes:s.useMsal?s.msalScopes??[]:[]}),[s]);return t.useEffect(()=>{if(s.useMsal){const r=s.msalInstance.addEventCallback(a=>{if(a.eventType===v.EventType.LOGIN_SUCCESS||a.eventType===v.EventType.ACQUIRE_TOKEN_SUCCESS&&a.payload){const i=a.payload,l=i.account;s.msalInstance.setActiveAccount(l);const c=i.accessToken,d=i.expiresOn;n("Authorization",c,{path:"/",secure:!0,sameSite:"none",domain:u,expires:d??void 0})}a.error&&console.error("AuthProvider MSAL Error",a)});return()=>{r&&s.msalInstance.removeEventCallback(r)}}return()=>{}},[s,n,u]),e.jsxRuntimeExports.jsx(e.AuthContext.Provider,{value:o,children:s.useMsal?e.jsxRuntimeExports.jsx(w.MsalProvider,{instance:s.msalInstance,children:s.children}):s.children})},z=({children:s,relativeEndpoint:u})=>{const[n,o,r]=I.useLocalStorageState("user-delegation",null),a=t.useMemo(()=>{if(!n)return null;const C=n.from?e.parseISO(n.from):A(),p=n.to?e.parseISO(n.to):T();return M(new Date(Date.now()),{start:C,end:p})?n:(o(null),null)},[n,o]),{data:i,setData:l,reloadData:c}=k.useGetApiData(u,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),d=t.useRef(null);t.useEffect(()=>{const C=()=>{c(),d.current=window.setTimeout(C,e.msToStartOfNextDay()+5e3)};return C(),()=>{d.current!==null&&window.clearTimeout(d.current)}},[c]),t.useEffect(()=>{const C=()=>{r()};return window.addEventListener("focus",C),()=>{window.removeEventListener("focus",C)}},[r,c]);const f=t.useMemo(()=>({delegation:a,setDelegation:o,availableDelegations:i,setAvailableDelegations:l,refreshAvailableDelegations:c}),[a,o,i,l,c]);return e.jsxRuntimeExports.jsx(e.DelegationContext.Provider,{value:f,children:s})},F=()=>{const{texts:{confirm:s}}=t.useContext(e.LuminusComponentsContext),{onConfirm:u,onCancel:n,text:o,show:r}=e.useConfirm();return e.jsxRuntimeExports.jsxs(e.Modal,{show:r,size:"sm",centered:!0,onHide:n,children:[e.jsxRuntimeExports.jsx(e.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(e.Modal.Title,{children:o})}),e.jsxRuntimeExports.jsx(e.Modal.Body,{children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(e.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:s.no}),e.jsxRuntimeExports.jsx(e.PrimaryButton,{type:"button",color:"primary",onClick:u,className:"w-100 ml",children:s.yes})]})})]})};exports.AuthContext=e.AuthContext;exports.DelegationContext=e.DelegationContext;exports.LoadingContext=e.LoadingContext;exports.LuminusComponentsContext=e.LuminusComponentsContext;exports.UserContext=e.UserContext;exports.AuthProvider=B;exports.DelegationProvider=z;exports.LoadingProvider=q;exports.LuminusComponentsProvider=G;exports.UserProvider=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ResponsiveContextDropdown-CiKOleS8.cjs"),t=require("react"),v=require("@azure/msal-browser"),w=require("@azure/msal-react");require("react-router-dom");require("react-hook-form");require("react-flexmonster");const b=require("./Loading-H5IapNQC.cjs"),k=require("./useGetApiData-DRU71hbF.cjs"),I=require("./useLocalStorageState-BFc8Gc8H.cjs");function P(s){const u=e.toDate(s);return u.setHours(23,59,59,999),u}function T(){return P(Date.now())}function M(s,u){const n=+e.toDate(s),[o,r]=[+e.toDate(u.start),+e.toDate(u.end)].sort((a,i)=>a-i);return n>=o&&n<=r}function A(){return e.startOfDay(Date.now())}const O=({children:s})=>{const[u,n]=t.useState(!1),[o,r]=t.useState(""),a=t.useCallback(c=>{n(!0),r(c)},[]),i=t.useCallback(()=>{n(!1)},[]),l=t.useMemo(()=>({show:u,text:o,showConfirm:a,hideConfirm:i}),[u,o,a,i]);return e.jsxRuntimeExports.jsxs(e.ConfirmContext.Provider,{value:l,children:[e.jsxRuntimeExports.jsx(F,{}),s]})},N=()=>{const{texts:{confirm:s}}=t.useContext(e.LuminusComponentsContext),{isShown:u,text:n,onFinish:o}=e.usePrompt(),{options:r}=t.useContext(e.PromptContext),[a,i]=t.useState(r.defaultValue??""),l=t.useCallback(()=>{o(null)},[o]),c=t.useCallback(f=>{f.preventDefault(),!(r.required&&!a)&&o(a)},[o,r.required,a]);t.useEffect(()=>{u===!0&&i(r.defaultValue??"")},[u,r.defaultValue]);const d=t.useMemo(()=>({value:a,onChange:f=>i(f.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[a]);return e.jsxRuntimeExports.jsxs(e.Modal,{show:u,size:"sm",centered:!0,onHide:l,children:[e.jsxRuntimeExports.jsx(e.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(e.Modal.Title,{children:n})}),e.jsxRuntimeExports.jsxs("form",{onSubmit:c,children:[e.jsxRuntimeExports.jsxs(e.Modal.Body,{children:[r.input==="textarea"?e.jsxRuntimeExports.jsx("textarea",{...d,rows:5}):void 0,r.input==="input"?e.jsxRuntimeExports.jsx(e.FormControl,{...d,type:r.type}):void 0]}),e.jsxRuntimeExports.jsxs(e.Modal.Footer,{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(e.PrimaryButton,{variant:"outlined",color:"secondary",onClick:l,className:"flex-grow-1",children:s.cancel}),e.jsxRuntimeExports.jsx(e.PrimaryButton,{color:"primary",disabled:r.required&&!a,type:"submit",className:"flex-grow-1",children:s.confirm})]})]})]})},U=({children:s})=>{const[u,n]=t.useState(!1),[o,r]=t.useState(""),[a,i]=t.useState({input:"textarea",type:"text"}),l=t.useRef(()=>{}),c=t.useCallback(C=>{r(C),n(!0)},[]),d=t.useCallback(()=>{n(!1)},[]),f=t.useMemo(()=>({isShown:u,text:o,showPrompt:c,hidePrompt:d,resolveRef:l,options:a,setOptions:i}),[u,o,c,d,a]);return e.jsxRuntimeExports.jsxs(e.PromptContext.Provider,{value:f,children:[s,e.jsxRuntimeExports.jsx(N,{})]})},G=({cookieDomain:s,axiosOptions:u,language:n,texts:o,ProjectIconComponent:r,localizationContext:a,chartColorPalette:i,children:l})=>{const c=t.useMemo(()=>({axiosOptions:u,cookieDomain:s,language:n,texts:o,ProjectIconComponent:r,localizationContext:a,chartColorPalette:i}),[u,s,n,r,a,o,i]);return e.jsxRuntimeExports.jsx(e.LuminusComponentsContext.Provider,{value:c,children:e.jsxRuntimeExports.jsx(O,{children:e.jsxRuntimeExports.jsxs(U,{children:[e.jsxRuntimeExports.jsx(e.Ie,{}),l]})})})},q=({children:s})=>{const[u,n]=t.useState(!1),[o]=t.useState(new Set),r=t.useCallback(l=>{o.add(l),n(!0)},[o]),a=t.useCallback(l=>{o.delete(l),o.size===0&&n(!1)},[o]),i=t.useMemo(()=>({isLoading:u,startLoading:r,stopLoading:a}),[u,r,a]);return e.jsxRuntimeExports.jsxs(e.LoadingContext.Provider,{value:i,children:[u&&e.jsxRuntimeExports.jsx(b.Loading,{}),s]})},_=({children:s})=>{const u=e.useAxios(),{msalInstance:n}=t.useContext(e.AuthContext),{delegation:o,setDelegation:r,setAvailableDelegations:a,refreshAvailableDelegations:i}=t.useContext(e.DelegationContext),{getToken:l}=e.useAuth(),[c,d]=t.useState(null),f=t.useCallback(async()=>{const x=await l();x&&d(x)},[l]);t.useEffect(()=>{f()},[f]);const p=t.useCallback(()=>{const x=localStorage.getItem("user")??null;return x?JSON.parse(x??""):null},[])(),[E,h]=t.useState({state:p?e.LoginState.LOGGED_IN:e.LoginState.LOGGING_IN,user:p}),L=t.useCallback(async x=>{let m=null;return await u.get("/user/detail",x?{headers:{Authorization:`Bearer ${x}`}}:void 0).then(S=>{m=S.data}).catch(()=>{m=null}),m},[u]),R=t.useCallback(()=>{localStorage.removeItem("user"),h({state:e.LoginState.LOGGED_OUT,user:null}),r(null),a(null)},[a,r]),j=t.useCallback(async x=>{h({state:e.LoginState.LOGGING_IN,user:null});const m=await L(x);return m?(h({state:e.LoginState.LOGGED_IN,user:m}),localStorage.setItem("user",JSON.stringify(m)),await i(),!0):(h({state:e.LoginState.LOGIN_FAILED,user:null}),!1)},[L,i]),g=t.useCallback(()=>{R()},[R]);t.useEffect(()=>{if(n){const x=n.addEventCallback(m=>{if(m.eventType===v.EventType.LOGIN_SUCCESS&&m.payload){const S=m.payload;d(S.accessToken)}});return()=>{x&&n.removeEventCallback(x)}}return()=>{}},[n,j,g]);const y=t.useCallback(async x=>{x&&await j(x).catch(()=>{g(),r(null)})},[j,g,r]);t.useEffect(()=>{y(c)},[c,o==null?void 0:o.id,y]);const D=t.useMemo(()=>({user:E.user,userLoginState:E,loginUser:j,logoutUser:g}),[E,j,g]);return e.jsxRuntimeExports.jsx(e.UserContext.Provider,{value:D,children:s})},B=({...s})=>{const{cookieDomain:u}=t.useContext(e.LuminusComponentsContext),[,n]=e.useCookies(["Authorization"]),o=t.useMemo(()=>({useMsal:s.useMsal??!1,msalInstance:s.useMsal?s.msalInstance??null:null,msalScopes:s.useMsal?s.msalScopes??[]:[]}),[s]);return t.useEffect(()=>{if(s.useMsal){const r=s.msalInstance.addEventCallback(a=>{if(a.eventType===v.EventType.LOGIN_SUCCESS||a.eventType===v.EventType.ACQUIRE_TOKEN_SUCCESS&&a.payload){const i=a.payload,l=i.account;s.msalInstance.setActiveAccount(l);const c=i.accessToken,d=i.expiresOn;n("Authorization",c,{path:"/",secure:!0,sameSite:"none",domain:u,expires:d??void 0})}a.error&&console.error("AuthProvider MSAL Error",a)});return()=>{r&&s.msalInstance.removeEventCallback(r)}}return()=>{}},[s,n,u]),e.jsxRuntimeExports.jsx(e.AuthContext.Provider,{value:o,children:s.useMsal?e.jsxRuntimeExports.jsx(w.MsalProvider,{instance:s.msalInstance,children:s.children}):s.children})},z=({children:s,relativeEndpoint:u})=>{const[n,o,r]=I.useLocalStorageState("user-delegation",null),a=t.useMemo(()=>{if(!n)return null;const C=n.from?e.parseISO(n.from):A(),p=n.to?e.parseISO(n.to):T();return M(new Date(Date.now()),{start:C,end:p})?n:(o(null),null)},[n,o]),{data:i,setData:l,reloadData:c}=k.useGetApiData(u,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),d=t.useRef(null);t.useEffect(()=>{const C=()=>{c(),d.current=window.setTimeout(C,e.msToStartOfNextDay()+5e3)};return C(),()=>{d.current!==null&&window.clearTimeout(d.current)}},[c]),t.useEffect(()=>{const C=()=>{r()};return window.addEventListener("focus",C),()=>{window.removeEventListener("focus",C)}},[r,c]);const f=t.useMemo(()=>({delegation:a,setDelegation:o,availableDelegations:i,setAvailableDelegations:l,refreshAvailableDelegations:c}),[a,o,i,l,c]);return e.jsxRuntimeExports.jsx(e.DelegationContext.Provider,{value:f,children:s})},F=()=>{const{texts:{confirm:s}}=t.useContext(e.LuminusComponentsContext),{onConfirm:u,onCancel:n,text:o,show:r}=e.useConfirm();return e.jsxRuntimeExports.jsxs(e.Modal,{show:r,size:"sm",centered:!0,onHide:n,children:[e.jsxRuntimeExports.jsx(e.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(e.Modal.Title,{children:o})}),e.jsxRuntimeExports.jsx(e.Modal.Body,{children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(e.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:s.no}),e.jsxRuntimeExports.jsx(e.PrimaryButton,{type:"button",color:"primary",onClick:u,className:"w-100 ml",children:s.yes})]})})]})};exports.AuthContext=e.AuthContext;exports.DelegationContext=e.DelegationContext;exports.LoadingContext=e.LoadingContext;exports.LuminusComponentsContext=e.LuminusComponentsContext;exports.UserContext=e.UserContext;exports.AuthProvider=B;exports.DelegationProvider=z;exports.LoadingProvider=q;exports.LuminusComponentsProvider=G;exports.UserProvider=_;
@@ -1,12 +1,12 @@
1
- import { t as b, bb as B, j as r, bc as F, a3 as T, a_ as H, bd as U, ae as v, aZ as q, a4 as L, be as V, aQ as J, as as Q, ay as _, bf as M, az as K, aB as w, aA as W, bg as Z, aO as G, bh as $, aS as X } from "./ResponsiveContextDropdown-BTWYs_5c.js";
1
+ import { t as b, bb as B, j as r, bc as F, a3 as T, a_ as H, bd as U, ae as v, aZ as q, a4 as L, be as V, aQ as J, as as Q, ay as _, bf as M, az as K, aB as w, aA as W, bg as Z, aO as G, bh as $, aS as X } from "./ResponsiveContextDropdown-CKD8WwD7.js";
2
2
  import { useState as g, useCallback as d, useMemo as S, useContext as y, useEffect as C, useRef as R } from "react";
3
3
  import { EventType as P } from "@azure/msal-browser";
4
4
  import { MsalProvider as Y } from "@azure/msal-react";
5
5
  import "react-router-dom";
6
6
  import "react-hook-form";
7
7
  import "react-flexmonster";
8
- import { L as ee } from "./Loading-B-a28A6h.js";
9
- import { u as te } from "./useGetApiData-DlXJYhhW.js";
8
+ import { L as ee } from "./Loading-DMtI6ziE.js";
9
+ import { u as te } from "./useGetApiData-BdkVoF0S.js";
10
10
  import { u as se } from "./useLocalStorageState-Bt99kkCr.js";
11
11
  function ne(e) {
12
12
  const a = b(e);
package/dist/hooks.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ResponsiveContextDropdown-DJHED0fJ.cjs"),l=require("./useClickOutside-D0505nsm.cjs"),d=require("./usePermissions-Bv3PjjAi.cjs"),r=require("./useClipboard-DO4Wt5yn.cjs"),m=require("./useGetApiData-DZI3UwZY.cjs"),c=require("react"),h=require("./useLocalStorageState-BFc8Gc8H.cjs"),S=a=>{let e="pending",t;const o=a.then(u=>{e="success",t=u},u=>{e="error",t=u});return()=>{switch(e){case"pending":throw o;case"success":return t;case"error":throw t;default:throw new Error("Unknown status")}}};function y(a,e){const t=s.useAxios({silent:!0,differentBaseUrl:e==null?void 0:e.customBaseUrl,customToken:e==null?void 0:e.customToken}),[o,u]=c.useState(null);return c.useEffect(()=>{(async()=>{const n=t.get(a).then(i=>i.data);u(S(n))})()},[t,a]),o}exports.cancelToken=s.cancelToken;exports.useAuth=s.useAuth;exports.useAxios=s.useAxios;exports.useConfirm=s.useConfirm;exports.useFormControlType=s.useFormControlType;exports.useNotifications=s.useNotifications;exports.usePrompt=s.usePrompt;exports.useZodSchemaTypes=s.useZodSchemaTypes;exports.useClickOutside=l.useClickOutside;exports.usePermissions=d.usePermissions;exports.useClipboard=r.useClipboard;exports.useEmployeePhotoPath=r.useEmployeePhotoPath;exports.useKeyPress=r.useKeyPress;exports.useSearchQuery=r.useSearchQuery;exports.useSearchQueryState=r.useSearchQueryState;exports.useGetApiData=m.useGetApiData;exports.useLocalStorageState=h.useLocalStorageState;exports.useGetDataBound=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ResponsiveContextDropdown-CiKOleS8.cjs"),l=require("./useClickOutside-D0505nsm.cjs"),d=require("./usePermissions-CgsgxTCZ.cjs"),r=require("./useClipboard-D_TKJIzz.cjs"),m=require("./useGetApiData-DRU71hbF.cjs"),c=require("react"),h=require("./useLocalStorageState-BFc8Gc8H.cjs"),S=a=>{let e="pending",t;const o=a.then(u=>{e="success",t=u},u=>{e="error",t=u});return()=>{switch(e){case"pending":throw o;case"success":return t;case"error":throw t;default:throw new Error("Unknown status")}}};function y(a,e){const t=s.useAxios({silent:!0,differentBaseUrl:e==null?void 0:e.customBaseUrl,customToken:e==null?void 0:e.customToken}),[o,u]=c.useState(null);return c.useEffect(()=>{(async()=>{const n=t.get(a).then(i=>i.data);u(S(n))})()},[t,a]),o}exports.cancelToken=s.cancelToken;exports.useAuth=s.useAuth;exports.useAxios=s.useAxios;exports.useConfirm=s.useConfirm;exports.useFormControlType=s.useFormControlType;exports.useNotifications=s.useNotifications;exports.usePrompt=s.usePrompt;exports.useZodSchemaTypes=s.useZodSchemaTypes;exports.useClickOutside=l.useClickOutside;exports.usePermissions=d.usePermissions;exports.useClipboard=r.useClipboard;exports.useEmployeePhotoPath=r.useEmployeePhotoPath;exports.useKeyPress=r.useKeyPress;exports.useSearchQuery=r.useSearchQuery;exports.useSearchQueryState=r.useSearchQueryState;exports.useGetApiData=m.useGetApiData;exports.useLocalStorageState=h.useLocalStorageState;exports.useGetDataBound=y;
package/dist/hooks.es.js CHANGED
@@ -1,9 +1,9 @@
1
- import { as as c } from "./ResponsiveContextDropdown-BTWYs_5c.js";
2
- import { bi as S, az as y, aS as g, aF as w, aR as k, a_ as D, bj as P } from "./ResponsiveContextDropdown-BTWYs_5c.js";
1
+ import { as as c } from "./ResponsiveContextDropdown-CKD8WwD7.js";
2
+ import { bi as S, az as y, aS as g, aF as w, aR as k, a_ as D, bj as P } from "./ResponsiveContextDropdown-CKD8WwD7.js";
3
3
  import { u as b } from "./useClickOutside-BmlXg38T.js";
4
- import { u as A } from "./usePermissions-Xt0Kg7pS.js";
5
- import { u as E, d as U, a as F, b as G, c as Q } from "./useClipboard-CPpcsAUr.js";
6
- import { u as z } from "./useGetApiData-DlXJYhhW.js";
4
+ import { u as A } from "./usePermissions-DA_-uYww.js";
5
+ import { u as E, d as U, a as F, b as G, c as Q } from "./useClipboard-Bdye8gd-.js";
6
+ import { u as z } from "./useGetApiData-BdkVoF0S.js";
7
7
  import { useState as n, useEffect as m } from "react";
8
8
  import { u as L } from "./useLocalStorageState-Bt99kkCr.js";
9
9
  const f = (t) => {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ResponsiveContextDropdown-DJHED0fJ.cjs"),j=require("react"),q=require("react-router-dom");require("react-hook-form");require("react-flexmonster");const k=require("./SimpleTooltip-DUaCV_sl.cjs");require("@azure/msal-browser");require("@azure/msal-react");const y=require("./useClickOutside-D0505nsm.cjs"),B=require("./usePermissions-Bv3PjjAi.cjs"),N=require("./FullScreenContainer-PAUPFvDa.cjs"),C="_side-menu-item_ql22m_1",g="_disabled_ql22m_6",P="_nav-button_ql22m_10",I="_child_ql22m_18",S="_text_ql22m_23",w="_icon_ql22m_30",T="_collapse-icon_ql22m_36",L="_collapsed_ql22m_46",f="_collapse-icon-mini_ql22m_49",F="_expanded_ql22m_80",O="_children-container_ql22m_86",$="_visible_ql22m_94",A="_children_ql22m_86",o={"side-menu-item":"_side-menu-item_ql22m_1",sideMenuItem:C,disabled:g,"nav-button":"_nav-button_ql22m_10",navButton:P,child:I,text:S,icon:w,"collapse-icon":"_collapse-icon_ql22m_36",collapseIcon:T,collapsed:L,"collapse-icon-mini":"_collapse-icon-mini_ql22m_49",collapseIconMini:f,expanded:F,"children-container":"_children-container_ql22m_86",childrenContainer:O,visible:$,children:A},D=({item:s,menuExpanded:l,useTooltips:r,children:t})=>s.tooltip&&!l&&r?e.jsxRuntimeExports.jsx(k.SimpleTooltip,{text:s.tooltip,placement:"right",children:t}):t,E=({item:s,menuExpanded:l,collapsed:r,onCollapse:t,currentPath:m,useHover:u,useTooltips:c})=>{var v,h,i,a;const[b,x]=j.useState(!1),[p]=m.split("?"),d=s.linkTo===p||((v=s.children)==null?void 0:v.some(n=>n.linkTo===p)),R=j.useRef(null);return y.useClickOutside([R],()=>r&&t()),e.jsxRuntimeExports.jsxs("li",{ref:R,className:e.classNames("luminus-side-menu-item",o.sideMenuItem,{[o.expanded]:l},{active:b||d},{open:r&&s.children},{[o.disabled]:s.disabled||s.notPermitted||((h=s.children)==null?void 0:h.every(n=>n.notPermitted||n.disabled))},{disabled:s.disabled||s.notPermitted||((i=s.children)==null?void 0:i.every(n=>n.notPermitted||n.disabled))}),onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),children:[e.jsxRuntimeExports.jsx(D,{item:s,menuExpanded:l,useTooltips:c,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",o.navButton),onClick:()=>{t()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",o.icon),children:s.icon}),!u&&!l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",o.collapseIconMini,{[o.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",o.text,"text-nowrap"),children:s.title}),l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",o.collapseIcon,{[o.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(q.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",o.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",o.icon),children:s.icon}),l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",o.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",o.childrenContainer,{[o.visible]:r}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",o.children),children:(a=s.children)==null?void 0:a.map(n=>e.jsxRuntimeExports.jsx(q.Link,{to:n.disabled||n.notPermitted?"/":n.linkTo??"/",className:e.classNames("nav-link child rounded",o.navButton,o.child,{[o.disabled]:n.disabled||n.notPermitted},{disabled:n.disabled||n.notPermitted}),onClick:t,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",o.text,"text-nowrap"),children:n.title})},n.linkTo))})})]})},K="_side-menu_1deqc_1",U="_sidebar-header_1deqc_13",z="_side-menu-content_1deqc_20",G="_expand_1deqc_24",J="_only-logo_1deqc_28",Q="_divider_1deqc_31",_={"side-menu":"_side-menu_1deqc_1",sideMenu:K,"sidebar-header":"_sidebar-header_1deqc_13",sidebarHeader:U,"side-menu-content":"_side-menu-content_1deqc_20",sideMenuContent:z,expand:G,"only-logo":"_only-logo_1deqc_28",onlyLogo:J,divider:Q},V=({headerItem:s,mainItems:l,secondaryItems:r,expanded:t,setExpanded:m,currentPath:u,useHover:c,useTooltips:b})=>{const[x,p]=j.useState(-1),{checkUserHasPermissions:d}=B.usePermissions(),R=j.useMemo(()=>l.map(i=>{var a;return{...i,notPermitted:!d(i.permissions??[],"any"),children:(a=i.children)==null?void 0:a.map(n=>({...n,notPermitted:!d(n.permissions??[],"any"),disabled:i.disabled||n.disabled}))}}),[l,d]),v=j.useMemo(()=>r.map(i=>{var a;return{...i,notPermitted:!d(i.permissions??[],"any"),children:(a=i.children)==null?void 0:a.map(n=>({...n,notPermitted:!d(n.permissions??[],"any")}))}}),[r,d]),h=i=>{p(i===x?-1:i)};return j.useEffect(()=>{t||p(-1)},[t]),e.jsxRuntimeExports.jsxs("section",{className:e.classNames("luminus-side-menu shadow",_.sideMenu,{[_.expand]:t},{expand:t}),onMouseEnter:()=>c&&m(!0),onMouseLeave:()=>c&&m(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",_.sidebarHeader,{[_.onlyLogo]:c}),role:c?void 0:"button",onClick:c?void 0:()=>m(!t),children:c?s:t?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineArrowBack,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),e.jsxRuntimeExports.jsxs("ul",{className:_.sideMenuContent,children:[R.map((i,a)=>e.jsxRuntimeExports.jsx(E,{item:i,menuExpanded:t,collapsed:a===x,onCollapse:()=>h(a),currentPath:u,useHover:c,useTooltips:b},i.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",_.divider)}),v.map((i,a)=>e.jsxRuntimeExports.jsx(E,{item:i,menuExpanded:t,collapsed:a===x,onCollapse:()=>h(a),currentPath:u,useHover:c,useTooltips:b},i.title))]})]})},X="_top-bar_1lk80_1",Y="_top-bar-brand_1lk80_14",M={"top-bar":"_top-bar_1lk80_1",topBar:X,"top-bar-brand":"_top-bar-brand_1lk80_14",topBarBrand:Y},Z=({appName:s,leftOffset:l,centerContent:r,rightContent:t})=>e.jsxRuntimeExports.jsxs("nav",{className:e.classNames("luminus-top-bar shadow",M.topBar),style:{width:l?`calc(100% - ${l}px)`:void 0,left:l?`${l}px`:void 0},children:[e.jsxRuntimeExports.jsx(q.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",M.topBarBrand),children:s}),r&&e.jsxRuntimeExports.jsx("div",{children:r}),e.jsxRuntimeExports.jsx("div",{className:"d-flex justify-content-end align-items-center gap-2",children:t??null})]}),H=({title:s,children:l,sideContent:r,sideContentWidth:t=250,noPadding:m,className:u})=>e.jsxRuntimeExports.jsxs("div",{className:e.classNames("container-fluid",m?"p-0":"p-3",u),children:[e.jsxRuntimeExports.jsxs("div",{style:{paddingRight:r?`${t}px`:void 0},children:[s?e.jsxRuntimeExports.jsx(N.PageTitle,{title:s}):null,l]}),r&&e.jsxRuntimeExports.jsx(N.SideContentBar,{width:t,children:r})]});exports.FullScreenContainer=N.FullScreenContainer;exports.SideContentBar=N.SideContentBar;exports.MainContainer=H;exports.SideMenu=V;exports.TopBar=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ResponsiveContextDropdown-CiKOleS8.cjs"),m=require("react"),E=require("react-router-dom");require("react-hook-form");require("react-flexmonster");const C=require("./SimpleTooltip--WMjE4rb.cjs");require("@azure/msal-browser");require("@azure/msal-react");const y=require("./useClickOutside-D0505nsm.cjs"),B=require("./usePermissions-CgsgxTCZ.cjs"),q=require("./FullScreenContainer-DWMaq7ei.cjs"),g="_side-menu-item_ql22m_1",P="_disabled_ql22m_6",I="_nav-button_ql22m_10",S="_child_ql22m_18",w="_text_ql22m_23",f="_icon_ql22m_30",T="_collapse-icon_ql22m_36",L="_collapsed_ql22m_46",O="_collapse-icon-mini_ql22m_49",F="_expanded_ql22m_80",$="_children-container_ql22m_86",A="_visible_ql22m_94",D="_children_ql22m_86",o={"side-menu-item":"_side-menu-item_ql22m_1",sideMenuItem:g,disabled:P,"nav-button":"_nav-button_ql22m_10",navButton:I,child:S,text:w,icon:f,"collapse-icon":"_collapse-icon_ql22m_36",collapseIcon:T,collapsed:L,"collapse-icon-mini":"_collapse-icon-mini_ql22m_49",collapseIconMini:O,expanded:F,"children-container":"_children-container_ql22m_86",childrenContainer:$,visible:A,children:D},K=({item:s,menuExpanded:l,useTooltips:r,children:t})=>s.tooltip&&!l&&r?e.jsxRuntimeExports.jsx(C.SimpleTooltip,{text:s.tooltip,placement:"top",delay:{show:1e3,hide:0},children:e.jsxRuntimeExports.jsx("div",{children:t})}):t,M=({item:s,menuExpanded:l,collapsed:r,onCollapse:t,currentPath:c,useHover:u,useTooltips:a})=>{var N,h,b,i;const[R,x]=m.useState(!1),[p]=c.split("?"),d=s.linkTo===p||((N=s.children)==null?void 0:N.some(n=>n.linkTo===p)),v=m.useRef(null);return y.useClickOutside([v],()=>r&&t()),e.jsxRuntimeExports.jsxs("li",{ref:v,className:e.classNames("luminus-side-menu-item",o.sideMenuItem,{[o.expanded]:l},{active:R||d},{open:r&&s.children},{[o.disabled]:s.disabled||s.notPermitted||((h=s.children)==null?void 0:h.every(n=>n.notPermitted||n.disabled))},{disabled:s.disabled||s.notPermitted||((b=s.children)==null?void 0:b.every(n=>n.notPermitted||n.disabled))}),onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),children:[e.jsxRuntimeExports.jsx(K,{item:s,menuExpanded:l,useTooltips:a,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",o.navButton),onClick:()=>{t()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",o.icon),children:s.icon}),!u&&!l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",o.collapseIconMini,{[o.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",o.text,"text-nowrap"),children:s.title}),l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",o.collapseIcon,{[o.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(E.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",o.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",o.icon),children:s.icon}),l&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",o.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",o.childrenContainer,{[o.visible]:r}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",o.children),children:(i=s.children)==null?void 0:i.map(n=>e.jsxRuntimeExports.jsx(E.Link,{to:n.disabled||n.notPermitted?"/":n.linkTo??"/",className:e.classNames("nav-link child rounded",o.navButton,o.child,{[o.disabled]:n.disabled||n.notPermitted},{disabled:n.disabled||n.notPermitted}),onClick:t,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",o.text,"text-nowrap"),children:n.title})},n.linkTo))})})]})},U="_side-menu_1deqc_1",z="_sidebar-header_1deqc_13",G="_side-menu-content_1deqc_20",J="_expand_1deqc_24",Q="_only-logo_1deqc_28",V="_divider_1deqc_31",j={"side-menu":"_side-menu_1deqc_1",sideMenu:U,"sidebar-header":"_sidebar-header_1deqc_13",sidebarHeader:z,"side-menu-content":"_side-menu-content_1deqc_20",sideMenuContent:G,expand:J,"only-logo":"_only-logo_1deqc_28",onlyLogo:Q,divider:V},X=({headerItem:s,mainItems:l,secondaryItems:r,expanded:t,setExpanded:c,currentPath:u,useHover:a,useTooltips:R})=>{const[x,p]=m.useState(-1),{checkUserHasPermissions:d}=B.usePermissions(),v=m.useMemo(()=>l.map(i=>{var n;return{...i,notPermitted:!d(i.permissions??[],"any"),children:(n=i.children)==null?void 0:n.map(_=>({..._,notPermitted:!d(_.permissions??[],"any"),disabled:i.disabled||_.disabled}))}}),[l,d]),N=m.useMemo(()=>r.map(i=>{var n;return{...i,notPermitted:!d(i.permissions??[],"any"),children:(n=i.children)==null?void 0:n.map(_=>({..._,notPermitted:!d(_.permissions??[],"any")}))}}),[r,d]),h=i=>{p(i===x?-1:i)};m.useEffect(()=>{t||p(-1)},[t]);const b=m.useRef(null);return y.useClickOutside([b],()=>c(!1)),e.jsxRuntimeExports.jsxs("section",{ref:b,className:e.classNames("luminus-side-menu shadow",j.sideMenu,{[j.expand]:t},{expand:t}),onMouseEnter:()=>a&&c(!0),onMouseLeave:()=>a&&c(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",j.sidebarHeader,{[j.onlyLogo]:a}),role:a?void 0:"button",onClick:a?void 0:()=>c(!t),children:a?s:t?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardDoubleArrowLeft,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),e.jsxRuntimeExports.jsxs("ul",{className:j.sideMenuContent,children:[v.map((i,n)=>e.jsxRuntimeExports.jsx(M,{item:i,menuExpanded:t,collapsed:n===x,onCollapse:()=>h(n),currentPath:u,useHover:a,useTooltips:R},i.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",j.divider)}),N.map((i,n)=>e.jsxRuntimeExports.jsx(M,{item:i,menuExpanded:t,collapsed:n===x,onCollapse:()=>h(n),currentPath:u,useHover:a,useTooltips:R},i.title))]})]})},Y="_top-bar_1lk80_1",Z="_top-bar-brand_1lk80_14",k={"top-bar":"_top-bar_1lk80_1",topBar:Y,"top-bar-brand":"_top-bar-brand_1lk80_14",topBarBrand:Z},H=({appName:s,leftOffset:l,centerContent:r,rightContent:t})=>e.jsxRuntimeExports.jsxs("nav",{className:e.classNames("luminus-top-bar shadow",k.topBar),style:{width:l?`calc(100% - ${l}px)`:void 0,left:l?`${l}px`:void 0},children:[e.jsxRuntimeExports.jsx(E.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",k.topBarBrand),children:s}),r&&e.jsxRuntimeExports.jsx("div",{children:r}),e.jsxRuntimeExports.jsx("div",{className:"d-flex justify-content-end align-items-center gap-2",children:t??null})]}),W=({title:s,children:l,sideContent:r,sideContentWidth:t=250,noPadding:c,className:u})=>e.jsxRuntimeExports.jsxs("div",{className:e.classNames("container-fluid",c?"p-0":"p-3",u),children:[e.jsxRuntimeExports.jsxs("div",{style:{paddingRight:r?`${t}px`:void 0},children:[s?e.jsxRuntimeExports.jsx(q.PageTitle,{title:s}):null,l]}),r&&e.jsxRuntimeExports.jsx(q.SideContentBar,{width:t,children:r})]});exports.FullScreenContainer=q.FullScreenContainer;exports.SideContentBar=q.SideContentBar;exports.MainContainer=W;exports.SideMenu=X;exports.TopBar=H;
package/dist/layout.es.js CHANGED
@@ -1,139 +1,141 @@
1
- import { j as e, c as t, ad as N, b9 as P, ba as f } from "./ResponsiveContextDropdown-BTWYs_5c.js";
2
- import { useState as g, useRef as I, useMemo as k, useEffect as C } from "react";
3
- import { Link as M } from "react-router-dom";
1
+ import { j as e, c as t, ad as y, b9 as C, ba as w } from "./ResponsiveContextDropdown-CKD8WwD7.js";
2
+ import { useState as P, useRef as g, useMemo as f, useEffect as L } from "react";
3
+ import { Link as N } from "react-router-dom";
4
4
  import "react-hook-form";
5
5
  import "react-flexmonster";
6
- import { S as w } from "./SimpleTooltip-CZBF7c7i.js";
6
+ import { S } from "./SimpleTooltip-C9UIJAri.js";
7
7
  import "@azure/msal-browser";
8
8
  import "@azure/msal-react";
9
- import { u as S } from "./useClickOutside-BmlXg38T.js";
10
- import { u as T } from "./usePermissions-Xt0Kg7pS.js";
11
- import { P as L, S as R } from "./FullScreenContainer-BJprjc0-.js";
12
- import { F as qe } from "./FullScreenContainer-BJprjc0-.js";
13
- const $ = "_side-menu-item_ql22m_1", F = "_disabled_ql22m_6", A = "_nav-button_ql22m_10", O = "_child_ql22m_18", E = "_text_ql22m_23", K = "_icon_ql22m_30", U = "_collapse-icon_ql22m_36", z = "_collapsed_ql22m_46", D = "_collapse-icon-mini_ql22m_49", G = "_expanded_ql22m_80", J = "_children-container_ql22m_86", Q = "_visible_ql22m_94", V = "_children_ql22m_86", l = {
9
+ import { u as I } from "./useClickOutside-BmlXg38T.js";
10
+ import { u as T } from "./usePermissions-DA_-uYww.js";
11
+ import { P as R, S as $ } from "./FullScreenContainer-DR8ViApX.js";
12
+ import { F as Me } from "./FullScreenContainer-DR8ViApX.js";
13
+ const F = "_side-menu-item_ql22m_1", A = "_disabled_ql22m_6", K = "_nav-button_ql22m_10", O = "_child_ql22m_18", D = "_text_ql22m_23", U = "_icon_ql22m_30", z = "_collapse-icon_ql22m_36", E = "_collapsed_ql22m_46", G = "_collapse-icon-mini_ql22m_49", J = "_expanded_ql22m_80", Q = "_children-container_ql22m_86", V = "_visible_ql22m_94", X = "_children_ql22m_86", l = {
14
14
  "side-menu-item": "_side-menu-item_ql22m_1",
15
- sideMenuItem: $,
16
- disabled: F,
15
+ sideMenuItem: F,
16
+ disabled: A,
17
17
  "nav-button": "_nav-button_ql22m_10",
18
- navButton: A,
18
+ navButton: K,
19
19
  child: O,
20
- text: E,
21
- icon: K,
20
+ text: D,
21
+ icon: U,
22
22
  "collapse-icon": "_collapse-icon_ql22m_36",
23
- collapseIcon: U,
24
- collapsed: z,
23
+ collapseIcon: z,
24
+ collapsed: E,
25
25
  "collapse-icon-mini": "_collapse-icon-mini_ql22m_49",
26
- collapseIconMini: D,
27
- expanded: G,
26
+ collapseIconMini: G,
27
+ expanded: J,
28
28
  "children-container": "_children-container_ql22m_86",
29
- childrenContainer: J,
30
- visible: Q,
31
- children: V
32
- }, X = ({ item: n, menuExpanded: a, useTooltips: d, children: i }) => n.tooltip && !a && d ? /* @__PURE__ */ e.jsx(w, { text: n.tooltip, placement: "right", children: i }) : i, y = ({ item: n, menuExpanded: a, collapsed: d, onCollapse: i, currentPath: m, useHover: p, useTooltips: r }) => {
33
- var q, b, o, c;
34
- const [v, u] = g(!1), [x] = m.split("?"), _ = n.linkTo === x || ((q = n.children) == null ? void 0 : q.some((s) => s.linkTo === x)), j = I(null);
35
- return S([j], () => d && i()), /* @__PURE__ */ e.jsxs("li", { ref: j, className: t("luminus-side-menu-item", l.sideMenuItem, {
29
+ childrenContainer: Q,
30
+ visible: V,
31
+ children: X
32
+ }, Y = ({ item: n, menuExpanded: a, useTooltips: d, children: i }) => n.tooltip && !a && d ? /* @__PURE__ */ e.jsx(S, { text: n.tooltip, placement: "top", delay: { show: 1e3, hide: 0 }, children: /* @__PURE__ */ e.jsx("div", { children: i }) }) : i, k = ({ item: n, menuExpanded: a, collapsed: d, onCollapse: i, currentPath: r, useHover: m, useTooltips: c }) => {
33
+ var M, b, v, o;
34
+ const [j, p] = P(!1), [u] = r.split("?"), _ = n.linkTo === u || ((M = n.children) == null ? void 0 : M.some((s) => s.linkTo === u)), q = g(null);
35
+ return I([q], () => d && i()), /* @__PURE__ */ e.jsxs("li", { ref: q, className: t("luminus-side-menu-item", l.sideMenuItem, {
36
36
  [l.expanded]: a
37
- }, { active: v || _ }, { open: d && n.children }, {
37
+ }, { active: j || _ }, { open: d && n.children }, {
38
38
  [l.disabled]: n.disabled || n.notPermitted || ((b = n.children) == null ? void 0 : b.every((s) => s.notPermitted || s.disabled))
39
39
  }, {
40
- disabled: n.disabled || n.notPermitted || ((o = n.children) == null ? void 0 : o.every((s) => s.notPermitted || s.disabled))
41
- }), onMouseEnter: () => u(!0), onMouseLeave: () => u(!1), children: [
42
- /* @__PURE__ */ e.jsx(X, { item: n, menuExpanded: a, useTooltips: r, children: n.children ? /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs("button", { type: "button", className: t("nav-link", l.navButton), onClick: () => {
40
+ disabled: n.disabled || n.notPermitted || ((v = n.children) == null ? void 0 : v.every((s) => s.notPermitted || s.disabled))
41
+ }), onMouseEnter: () => p(!0), onMouseLeave: () => p(!1), children: [
42
+ /* @__PURE__ */ e.jsx(Y, { item: n, menuExpanded: a, useTooltips: c, children: n.children ? /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs("button", { type: "button", className: t("nav-link", l.navButton), onClick: () => {
43
43
  i();
44
44
  }, children: [
45
45
  /* @__PURE__ */ e.jsx("div", { className: t("icon", l.icon), children: n.icon }),
46
- !p && !a && /* @__PURE__ */ e.jsx("div", { className: t("collapse-icon-mini rounded", l.collapseIconMini, {
46
+ !m && !a && /* @__PURE__ */ e.jsx("div", { className: t("collapse-icon-mini rounded", l.collapseIconMini, {
47
47
  [l.collapsed]: d
48
- }), children: /* @__PURE__ */ e.jsx(N, {}) }),
48
+ }), children: /* @__PURE__ */ e.jsx(y, {}) }),
49
49
  a && /* @__PURE__ */ e.jsx("div", { className: t("text", l.text, "text-nowrap"), children: n.title }),
50
50
  a && /* @__PURE__ */ e.jsx("div", { className: t("collapse-icon", l.collapseIcon, {
51
51
  [l.collapsed]: d
52
- }), children: /* @__PURE__ */ e.jsx(N, {}) })
53
- ] }) }) : /* @__PURE__ */ e.jsxs(M, { to: n.disabled || n.notPermitted ? "/" : n.linkTo ?? "/", className: t("nav-link", l.navButton), children: [
52
+ }), children: /* @__PURE__ */ e.jsx(y, {}) })
53
+ ] }) }) : /* @__PURE__ */ e.jsxs(N, { to: n.disabled || n.notPermitted ? "/" : n.linkTo ?? "/", className: t("nav-link", l.navButton), children: [
54
54
  /* @__PURE__ */ e.jsx("div", { className: t("icon", l.icon), children: n.icon }),
55
55
  a && /* @__PURE__ */ e.jsx("div", { className: t("text", l.text, "text-nowrap"), children: n.title })
56
56
  ] }) }),
57
57
  /* @__PURE__ */ e.jsx("div", { className: t("children-container", l.childrenContainer, {
58
58
  [l.visible]: d
59
- }), children: /* @__PURE__ */ e.jsx("div", { className: t("shadow rounded children", l.children), children: (c = n.children) == null ? void 0 : c.map((s) => /* @__PURE__ */ e.jsx(M, { to: s.disabled || s.notPermitted ? "/" : s.linkTo ?? "/", className: t("nav-link child rounded", l.navButton, l.child, { [l.disabled]: s.disabled || s.notPermitted }, { disabled: s.disabled || s.notPermitted }), onClick: i, children: /* @__PURE__ */ e.jsx("div", { className: t("text", l.text, "text-nowrap"), children: s.title }) }, s.linkTo)) }) })
59
+ }), children: /* @__PURE__ */ e.jsx("div", { className: t("shadow rounded children", l.children), children: (o = n.children) == null ? void 0 : o.map((s) => /* @__PURE__ */ e.jsx(N, { to: s.disabled || s.notPermitted ? "/" : s.linkTo ?? "/", className: t("nav-link child rounded", l.navButton, l.child, { [l.disabled]: s.disabled || s.notPermitted }, { disabled: s.disabled || s.notPermitted }), onClick: i, children: /* @__PURE__ */ e.jsx("div", { className: t("text", l.text, "text-nowrap"), children: s.title }) }, s.linkTo)) }) })
60
60
  ] });
61
- }, Y = "_side-menu_1deqc_1", Z = "_sidebar-header_1deqc_13", H = "_side-menu-content_1deqc_20", W = "_expand_1deqc_24", ee = "_only-logo_1deqc_28", ne = "_divider_1deqc_31", h = {
61
+ }, Z = "_side-menu_1deqc_1", H = "_sidebar-header_1deqc_13", W = "_side-menu-content_1deqc_20", ee = "_expand_1deqc_24", ne = "_only-logo_1deqc_28", se = "_divider_1deqc_31", h = {
62
62
  "side-menu": "_side-menu_1deqc_1",
63
- sideMenu: Y,
63
+ sideMenu: Z,
64
64
  "sidebar-header": "_sidebar-header_1deqc_13",
65
- sidebarHeader: Z,
65
+ sidebarHeader: H,
66
66
  "side-menu-content": "_side-menu-content_1deqc_20",
67
- sideMenuContent: H,
68
- expand: W,
67
+ sideMenuContent: W,
68
+ expand: ee,
69
69
  "only-logo": "_only-logo_1deqc_28",
70
- onlyLogo: ee,
71
- divider: ne
72
- }, xe = ({ headerItem: n, mainItems: a, secondaryItems: d, expanded: i, setExpanded: m, currentPath: p, useHover: r, useTooltips: v }) => {
73
- const [u, x] = g(-1), { checkUserHasPermissions: _ } = T(), j = k(() => a.map((o) => {
74
- var c;
70
+ onlyLogo: ne,
71
+ divider: se
72
+ }, he = ({ headerItem: n, mainItems: a, secondaryItems: d, expanded: i, setExpanded: r, currentPath: m, useHover: c, useTooltips: j }) => {
73
+ const [p, u] = P(-1), { checkUserHasPermissions: _ } = T(), q = f(() => a.map((o) => {
74
+ var s;
75
75
  return {
76
76
  ...o,
77
77
  notPermitted: !_(o.permissions ?? [], "any"),
78
- children: (c = o.children) == null ? void 0 : c.map((s) => ({
79
- ...s,
80
- notPermitted: !_(s.permissions ?? [], "any"),
81
- disabled: o.disabled || s.disabled
78
+ children: (s = o.children) == null ? void 0 : s.map((x) => ({
79
+ ...x,
80
+ notPermitted: !_(x.permissions ?? [], "any"),
81
+ disabled: o.disabled || x.disabled
82
82
  }))
83
83
  };
84
- }), [a, _]), q = k(() => d.map((o) => {
85
- var c;
84
+ }), [a, _]), M = f(() => d.map((o) => {
85
+ var s;
86
86
  return {
87
87
  ...o,
88
88
  notPermitted: !_(o.permissions ?? [], "any"),
89
- children: (c = o.children) == null ? void 0 : c.map((s) => ({
90
- ...s,
91
- notPermitted: !_(s.permissions ?? [], "any")
89
+ children: (s = o.children) == null ? void 0 : s.map((x) => ({
90
+ ...x,
91
+ notPermitted: !_(x.permissions ?? [], "any")
92
92
  }))
93
93
  };
94
94
  }), [d, _]), b = (o) => {
95
- x(o === u ? -1 : o);
95
+ u(o === p ? -1 : o);
96
96
  };
97
- return C(() => {
98
- i || x(-1);
99
- }, [i]), /* @__PURE__ */ e.jsxs("section", { className: t("luminus-side-menu shadow", h.sideMenu, {
97
+ L(() => {
98
+ i || u(-1);
99
+ }, [i]);
100
+ const v = g(null);
101
+ return I([v], () => r(!1)), /* @__PURE__ */ e.jsxs("section", { ref: v, className: t("luminus-side-menu shadow", h.sideMenu, {
100
102
  [h.expand]: i
101
- }, { expand: i }), onMouseEnter: () => r && m(!0), onMouseLeave: () => r && m(!1), children: [
103
+ }, { expand: i }), onMouseEnter: () => c && r(!0), onMouseLeave: () => c && r(!1), children: [
102
104
  /* @__PURE__ */ e.jsx("div", { className: t("sidebar-header", h.sidebarHeader, {
103
- [h.onlyLogo]: r
104
- }), role: r ? void 0 : "button", onClick: r ? void 0 : () => m(!i), children: r ? n : i ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
105
- /* @__PURE__ */ e.jsx(P, {}),
105
+ [h.onlyLogo]: c
106
+ }), role: c ? void 0 : "button", onClick: c ? void 0 : () => r(!i), children: c ? n : i ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
107
+ /* @__PURE__ */ e.jsx(C, {}),
106
108
  n
107
- ] }) : /* @__PURE__ */ e.jsx(f, {}) }),
109
+ ] }) : /* @__PURE__ */ e.jsx(w, {}) }),
108
110
  /* @__PURE__ */ e.jsxs("ul", { className: h.sideMenuContent, children: [
109
- j.map((o, c) => /* @__PURE__ */ e.jsx(y, { item: o, menuExpanded: i, collapsed: c === u, onCollapse: () => b(c), currentPath: p, useHover: r, useTooltips: v }, o.title)),
111
+ q.map((o, s) => /* @__PURE__ */ e.jsx(k, { item: o, menuExpanded: i, collapsed: s === p, onCollapse: () => b(s), currentPath: m, useHover: c, useTooltips: j }, o.title)),
110
112
  /* @__PURE__ */ e.jsx("hr", { className: t("divider", h.divider) }),
111
- q.map((o, c) => /* @__PURE__ */ e.jsx(y, { item: o, menuExpanded: i, collapsed: c === u, onCollapse: () => b(c), currentPath: p, useHover: r, useTooltips: v }, o.title))
113
+ M.map((o, s) => /* @__PURE__ */ e.jsx(k, { item: o, menuExpanded: i, collapsed: s === p, onCollapse: () => b(s), currentPath: m, useHover: c, useTooltips: j }, o.title))
112
114
  ] })
113
115
  ] });
114
- }, se = "_top-bar_1lk80_1", ie = "_top-bar-brand_1lk80_14", B = {
116
+ }, ie = "_top-bar_1lk80_1", oe = "_top-bar-brand_1lk80_14", B = {
115
117
  "top-bar": "_top-bar_1lk80_1",
116
- topBar: se,
118
+ topBar: ie,
117
119
  "top-bar-brand": "_top-bar-brand_1lk80_14",
118
- topBarBrand: ie
119
- }, he = ({ appName: n, leftOffset: a, centerContent: d, rightContent: i }) => /* @__PURE__ */ e.jsxs("nav", { className: t("luminus-top-bar shadow", B.topBar), style: {
120
+ topBarBrand: oe
121
+ }, be = ({ appName: n, leftOffset: a, centerContent: d, rightContent: i }) => /* @__PURE__ */ e.jsxs("nav", { className: t("luminus-top-bar shadow", B.topBar), style: {
120
122
  width: a ? `calc(100% - ${a}px)` : void 0,
121
123
  left: a ? `${a}px` : void 0
122
124
  }, children: [
123
- /* @__PURE__ */ e.jsx(M, { to: "/", className: t("luminus-top-bar-brand", B.topBarBrand), children: n }),
125
+ /* @__PURE__ */ e.jsx(N, { to: "/", className: t("luminus-top-bar-brand", B.topBarBrand), children: n }),
124
126
  d && /* @__PURE__ */ e.jsx("div", { children: d }),
125
127
  /* @__PURE__ */ e.jsx("div", { className: "d-flex justify-content-end align-items-center gap-2", children: i ?? null })
126
- ] }), be = ({ title: n, children: a, sideContent: d, sideContentWidth: i = 250, noPadding: m, className: p }) => /* @__PURE__ */ e.jsxs("div", { className: t("container-fluid", m ? "p-0" : "p-3", p), children: [
128
+ ] }), ve = ({ title: n, children: a, sideContent: d, sideContentWidth: i = 250, noPadding: r, className: m }) => /* @__PURE__ */ e.jsxs("div", { className: t("container-fluid", r ? "p-0" : "p-3", m), children: [
127
129
  /* @__PURE__ */ e.jsxs("div", { style: { paddingRight: d ? `${i}px` : void 0 }, children: [
128
- n ? /* @__PURE__ */ e.jsx(L, { title: n }) : null,
130
+ n ? /* @__PURE__ */ e.jsx(R, { title: n }) : null,
129
131
  a
130
132
  ] }),
131
- d && /* @__PURE__ */ e.jsx(R, { width: i, children: d })
133
+ d && /* @__PURE__ */ e.jsx($, { width: i, children: d })
132
134
  ] });
133
135
  export {
134
- qe as FullScreenContainer,
135
- be as MainContainer,
136
- R as SideContentBar,
137
- xe as SideMenu,
138
- he as TopBar
136
+ Me as FullScreenContainer,
137
+ ve as MainContainer,
138
+ $ as SideContentBar,
139
+ he as SideMenu,
140
+ be as TopBar
139
141
  };