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.
- package/dist/.vite/manifest.json +67 -67
- package/dist/{FullScreenContainer-BJprjc0-.js → FullScreenContainer-DR8ViApX.js} +1 -1
- package/dist/{FullScreenContainer-PAUPFvDa.cjs → FullScreenContainer-DWMaq7ei.cjs} +1 -1
- package/dist/{Loading-B-a28A6h.js → Loading-DMtI6ziE.js} +1 -1
- package/dist/{Loading-xgF6OsXz.cjs → Loading-H5IapNQC.cjs} +1 -1
- package/dist/{ResponsiveContextDropdown-BTWYs_5c.js → ResponsiveContextDropdown-CKD8WwD7.js} +6 -6
- package/dist/{ResponsiveContextDropdown-DJHED0fJ.cjs → ResponsiveContextDropdown-CiKOleS8.cjs} +3 -3
- package/dist/SimpleTooltip--WMjE4rb.cjs +1 -0
- package/dist/SimpleTooltip-C9UIJAri.js +5 -0
- package/dist/components/Tooltip/SimpleTooltip/SimpleTooltip.d.ts +3 -1
- package/dist/contexts.cjs.js +1 -1
- package/dist/contexts.es.js +3 -3
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +5 -5
- package/dist/layout.cjs.js +1 -1
- package/dist/layout.es.js +79 -77
- package/dist/main.cjs.js +1 -1
- package/dist/main.es.js +8 -8
- package/dist/{searchUtils-e4stptnK.js → searchUtils-Dafq3oMV.js} +1 -1
- package/dist/{searchUtils-Duo7lkt3.cjs → searchUtils-Yr7036T2.cjs} +1 -1
- package/dist/{useClipboard-CPpcsAUr.js → useClipboard-Bdye8gd-.js} +1 -1
- package/dist/{useClipboard-DO4Wt5yn.cjs → useClipboard-D_TKJIzz.cjs} +1 -1
- package/dist/{useGetApiData-DlXJYhhW.js → useGetApiData-BdkVoF0S.js} +1 -1
- package/dist/{useGetApiData-DZI3UwZY.cjs → useGetApiData-DRU71hbF.cjs} +1 -1
- package/dist/{usePermissions-Bv3PjjAi.cjs → usePermissions-CgsgxTCZ.cjs} +1 -1
- package/dist/{usePermissions-Xt0Kg7pS.js → usePermissions-DA_-uYww.js} +1 -1
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.es.js +4 -4
- package/package.json +1 -1
- package/dist/SimpleTooltip-CZBF7c7i.js +0 -5
- 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;
|
package/dist/contexts.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ResponsiveContextDropdown-
|
|
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=_;
|
package/dist/contexts.es.js
CHANGED
|
@@ -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-
|
|
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-
|
|
9
|
-
import { u as te } from "./useGetApiData-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
5
|
-
import { u as E, d as U, a as F, b as G, c as Q } from "./useClipboard-
|
|
6
|
-
import { u as z } from "./useGetApiData-
|
|
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) => {
|
package/dist/layout.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ResponsiveContextDropdown-
|
|
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
|
|
2
|
-
import { useState as
|
|
3
|
-
import { Link as
|
|
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
|
|
6
|
+
import { S } from "./SimpleTooltip-C9UIJAri.js";
|
|
7
7
|
import "@azure/msal-browser";
|
|
8
8
|
import "@azure/msal-react";
|
|
9
|
-
import { u as
|
|
10
|
-
import { u as T } from "./usePermissions-
|
|
11
|
-
import { P as
|
|
12
|
-
import { F as
|
|
13
|
-
const
|
|
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:
|
|
15
|
+
sideMenuItem: F,
|
|
16
|
+
disabled: A,
|
|
17
17
|
"nav-button": "_nav-button_ql22m_10",
|
|
18
|
-
navButton:
|
|
18
|
+
navButton: K,
|
|
19
19
|
child: O,
|
|
20
|
-
text:
|
|
21
|
-
icon:
|
|
20
|
+
text: D,
|
|
21
|
+
icon: U,
|
|
22
22
|
"collapse-icon": "_collapse-icon_ql22m_36",
|
|
23
|
-
collapseIcon:
|
|
24
|
-
collapsed:
|
|
23
|
+
collapseIcon: z,
|
|
24
|
+
collapsed: E,
|
|
25
25
|
"collapse-icon-mini": "_collapse-icon-mini_ql22m_49",
|
|
26
|
-
collapseIconMini:
|
|
27
|
-
expanded:
|
|
26
|
+
collapseIconMini: G,
|
|
27
|
+
expanded: J,
|
|
28
28
|
"children-container": "_children-container_ql22m_86",
|
|
29
|
-
childrenContainer:
|
|
30
|
-
visible:
|
|
31
|
-
children:
|
|
32
|
-
},
|
|
33
|
-
var
|
|
34
|
-
const [
|
|
35
|
-
return
|
|
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:
|
|
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 || ((
|
|
41
|
-
}), onMouseEnter: () =>
|
|
42
|
-
/* @__PURE__ */ e.jsx(
|
|
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
|
-
!
|
|
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(
|
|
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(
|
|
53
|
-
] }) }) : /* @__PURE__ */ e.jsxs(
|
|
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: (
|
|
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
|
-
},
|
|
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:
|
|
63
|
+
sideMenu: Z,
|
|
64
64
|
"sidebar-header": "_sidebar-header_1deqc_13",
|
|
65
|
-
sidebarHeader:
|
|
65
|
+
sidebarHeader: H,
|
|
66
66
|
"side-menu-content": "_side-menu-content_1deqc_20",
|
|
67
|
-
sideMenuContent:
|
|
68
|
-
expand:
|
|
67
|
+
sideMenuContent: W,
|
|
68
|
+
expand: ee,
|
|
69
69
|
"only-logo": "_only-logo_1deqc_28",
|
|
70
|
-
onlyLogo:
|
|
71
|
-
divider:
|
|
72
|
-
},
|
|
73
|
-
const [
|
|
74
|
-
var
|
|
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: (
|
|
79
|
-
...
|
|
80
|
-
notPermitted: !_(
|
|
81
|
-
disabled: o.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, _]),
|
|
85
|
-
var
|
|
84
|
+
}), [a, _]), M = f(() => d.map((o) => {
|
|
85
|
+
var s;
|
|
86
86
|
return {
|
|
87
87
|
...o,
|
|
88
88
|
notPermitted: !_(o.permissions ?? [], "any"),
|
|
89
|
-
children: (
|
|
90
|
-
...
|
|
91
|
-
notPermitted: !_(
|
|
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
|
-
|
|
95
|
+
u(o === p ? -1 : o);
|
|
96
96
|
};
|
|
97
|
-
|
|
98
|
-
i ||
|
|
99
|
-
}, [i])
|
|
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: () =>
|
|
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]:
|
|
104
|
-
}), role:
|
|
105
|
-
/* @__PURE__ */ e.jsx(
|
|
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(
|
|
109
|
+
] }) : /* @__PURE__ */ e.jsx(w, {}) }),
|
|
108
110
|
/* @__PURE__ */ e.jsxs("ul", { className: h.sideMenuContent, children: [
|
|
109
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
116
|
+
}, ie = "_top-bar_1lk80_1", oe = "_top-bar-brand_1lk80_14", B = {
|
|
115
117
|
"top-bar": "_top-bar_1lk80_1",
|
|
116
|
-
topBar:
|
|
118
|
+
topBar: ie,
|
|
117
119
|
"top-bar-brand": "_top-bar-brand_1lk80_14",
|
|
118
|
-
topBarBrand:
|
|
119
|
-
},
|
|
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(
|
|
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
|
-
] }),
|
|
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(
|
|
130
|
+
n ? /* @__PURE__ */ e.jsx(R, { title: n }) : null,
|
|
129
131
|
a
|
|
130
132
|
] }),
|
|
131
|
-
d && /* @__PURE__ */ e.jsx(
|
|
133
|
+
d && /* @__PURE__ */ e.jsx($, { width: i, children: d })
|
|
132
134
|
] });
|
|
133
135
|
export {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
Me as FullScreenContainer,
|
|
137
|
+
ve as MainContainer,
|
|
138
|
+
$ as SideContentBar,
|
|
139
|
+
he as SideMenu,
|
|
140
|
+
be as TopBar
|
|
139
141
|
};
|