react-luminus-components 1.3.103 → 1.3.105
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 +78 -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-DUaCV_sl.cjs → SimpleTooltip-CEVo7xyw.cjs} +1 -1
- package/dist/{SimpleTooltip-CZBF7c7i.js → SimpleTooltip-Dhrxg5Pf.js} +1 -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 +17 -16
- package/dist/layout.cjs.js +1 -1
- package/dist/layout.es.js +98 -97
- package/dist/main.cjs.js +2 -2
- package/dist/main.es.js +101 -100
- package/dist/{searchUtils-e4stptnK.js → searchUtils-Dafq3oMV.js} +1 -1
- package/dist/{searchUtils-Duo7lkt3.cjs → searchUtils-Yr7036T2.cjs} +1 -1
- package/dist/useClickOutside-BmlXg38T.js +14 -0
- package/dist/useClickOutside-D0505nsm.cjs +1 -0
- package/dist/useClipboard-Bdye8gd-.js +60 -0
- package/dist/useClipboard-D_TKJIzz.cjs +1 -0
- 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/useClipboard-DNxOQ9MP.cjs +0 -1
- package/dist/useClipboard-joutXacR.js +0 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const o=require("./ResponsiveContextDropdown-
|
|
1
|
+
"use strict";const o=require("./ResponsiveContextDropdown-CiKOleS8.cjs"),i=({text:e,placement:t,children:s})=>o.jsxRuntimeExports.jsx(o.OverlayTrigger,{placement:t,overlay:o.jsxRuntimeExports.jsx(o.Tooltip,{className:"luminus-tooltip",children:e}),children:s});exports.SimpleTooltip=i;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as o, a0 as a, bQ as e } from "./ResponsiveContextDropdown-
|
|
1
|
+
import { j as o, a0 as a, bQ as e } from "./ResponsiveContextDropdown-CKD8WwD7.js";
|
|
2
2
|
const l = ({ text: s, placement: r, children: t }) => /* @__PURE__ */ o.jsx(a, { placement: r, overlay: /* @__PURE__ */ o.jsx(e, { className: "luminus-tooltip", children: s }), children: t });
|
|
3
3
|
export {
|
|
4
4
|
l as S
|
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,10 +1,11 @@
|
|
|
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-
|
|
3
|
-
import {
|
|
4
|
-
import { u as
|
|
5
|
-
import { u as
|
|
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
|
+
import { u as b } from "./useClickOutside-BmlXg38T.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";
|
|
6
7
|
import { useState as n, useEffect as m } from "react";
|
|
7
|
-
import { u as
|
|
8
|
+
import { u as L } from "./useLocalStorageState-Bt99kkCr.js";
|
|
8
9
|
const f = (t) => {
|
|
9
10
|
let e = "pending", s;
|
|
10
11
|
const r = t.then((a) => {
|
|
@@ -25,7 +26,7 @@ const f = (t) => {
|
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
28
|
};
|
|
28
|
-
function
|
|
29
|
+
function p(t, e) {
|
|
29
30
|
const s = c({
|
|
30
31
|
silent: !0,
|
|
31
32
|
differentBaseUrl: e == null ? void 0 : e.customBaseUrl,
|
|
@@ -43,18 +44,18 @@ export {
|
|
|
43
44
|
y as useAuth,
|
|
44
45
|
c as useAxios,
|
|
45
46
|
b as useClickOutside,
|
|
46
|
-
|
|
47
|
+
E as useClipboard,
|
|
47
48
|
g as useConfirm,
|
|
48
|
-
|
|
49
|
+
U as useEmployeePhotoPath,
|
|
49
50
|
w as useFormControlType,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
z as useGetApiData,
|
|
52
|
+
p as useGetDataBound,
|
|
53
|
+
F as useKeyPress,
|
|
54
|
+
L as useLocalStorageState,
|
|
54
55
|
k as useNotifications,
|
|
55
|
-
|
|
56
|
+
A as usePermissions,
|
|
56
57
|
D as usePrompt,
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
G as useSearchQuery,
|
|
59
|
+
Q as useSearchQueryState,
|
|
59
60
|
P as useZodSchemaTypes
|
|
60
61
|
};
|
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"),j=require("react"),q=require("react-router-dom");require("react-hook-form");require("react-flexmonster");const k=require("./SimpleTooltip-CEVo7xyw.cjs");require("@azure/msal-browser");require("@azure/msal-react");const y=require("./useClickOutside-D0505nsm.cjs"),B=require("./usePermissions-CgsgxTCZ.cjs"),N=require("./FullScreenContainer-DWMaq7ei.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,b,i,a;const[h,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:h||d},{open:r&&s.children},{[o.disabled]:s.disabled||s.notPermitted||((b=s.children)==null?void 0:b.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:h})=>{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]),b=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.MdOutlineKeyboardDoubleArrowLeft,{}),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:()=>b(a),currentPath:u,useHover:c,useTooltips:h},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:()=>b(a),currentPath:u,useHover:c,useTooltips:h},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;
|
package/dist/layout.es.js
CHANGED
|
@@ -1,138 +1,139 @@
|
|
|
1
|
-
import { j as e, c as
|
|
2
|
-
import { useState as
|
|
1
|
+
import { j as e, c as t, ad as N, b9 as g, ba as P } from "./ResponsiveContextDropdown-CKD8WwD7.js";
|
|
2
|
+
import { useState as f, useRef as I, useMemo as k, useEffect as C } from "react";
|
|
3
3
|
import { Link as M } from "react-router-dom";
|
|
4
4
|
import "react-hook-form";
|
|
5
5
|
import "react-flexmonster";
|
|
6
|
-
import { S as
|
|
6
|
+
import { S as w } from "./SimpleTooltip-Dhrxg5Pf.js";
|
|
7
7
|
import "@azure/msal-browser";
|
|
8
8
|
import "@azure/msal-react";
|
|
9
|
-
import { u as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
9
|
+
import { u as L } from "./useClickOutside-BmlXg38T.js";
|
|
10
|
+
import { u as S } from "./usePermissions-DA_-uYww.js";
|
|
11
|
+
import { P as T, S as R } from "./FullScreenContainer-DR8ViApX.js";
|
|
12
|
+
import { F as qe } from "./FullScreenContainer-DR8ViApX.js";
|
|
13
|
+
const $ = "_side-menu-item_ql22m_1", F = "_disabled_ql22m_6", A = "_nav-button_ql22m_10", K = "_child_ql22m_18", O = "_text_ql22m_23", D = "_icon_ql22m_30", E = "_collapse-icon_ql22m_36", U = "_collapsed_ql22m_46", z = "_collapse-icon-mini_ql22m_49", G = "_expanded_ql22m_80", J = "_children-container_ql22m_86", Q = "_visible_ql22m_94", V = "_children_ql22m_86", l = {
|
|
13
14
|
"side-menu-item": "_side-menu-item_ql22m_1",
|
|
14
|
-
sideMenuItem:
|
|
15
|
-
disabled:
|
|
15
|
+
sideMenuItem: $,
|
|
16
|
+
disabled: F,
|
|
16
17
|
"nav-button": "_nav-button_ql22m_10",
|
|
17
|
-
navButton:
|
|
18
|
-
child:
|
|
19
|
-
text:
|
|
20
|
-
icon:
|
|
18
|
+
navButton: A,
|
|
19
|
+
child: K,
|
|
20
|
+
text: O,
|
|
21
|
+
icon: D,
|
|
21
22
|
"collapse-icon": "_collapse-icon_ql22m_36",
|
|
22
|
-
collapseIcon:
|
|
23
|
-
collapsed:
|
|
23
|
+
collapseIcon: E,
|
|
24
|
+
collapsed: U,
|
|
24
25
|
"collapse-icon-mini": "_collapse-icon-mini_ql22m_49",
|
|
25
|
-
collapseIconMini:
|
|
26
|
-
expanded:
|
|
26
|
+
collapseIconMini: z,
|
|
27
|
+
expanded: G,
|
|
27
28
|
"children-container": "_children-container_ql22m_86",
|
|
28
|
-
childrenContainer:
|
|
29
|
-
visible:
|
|
30
|
-
children:
|
|
31
|
-
},
|
|
32
|
-
var
|
|
33
|
-
const [v,
|
|
34
|
-
return /* @__PURE__ */ e.jsxs("li", { className:
|
|
35
|
-
[
|
|
36
|
-
}, { active: v ||
|
|
37
|
-
[
|
|
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, h, o, c;
|
|
34
|
+
const [v, u] = f(!1), [x] = m.split("?"), _ = n.linkTo === x || ((q = n.children) == null ? void 0 : q.some((s) => s.linkTo === x)), j = I(null);
|
|
35
|
+
return L([j], () => d && i()), /* @__PURE__ */ e.jsxs("li", { ref: j, className: t("luminus-side-menu-item", l.sideMenuItem, {
|
|
36
|
+
[l.expanded]: a
|
|
37
|
+
}, { active: v || _ }, { open: d && n.children }, {
|
|
38
|
+
[l.disabled]: n.disabled || n.notPermitted || ((h = n.children) == null ? void 0 : h.every((s) => s.notPermitted || s.disabled))
|
|
38
39
|
}, {
|
|
39
|
-
disabled: n.disabled || n.notPermitted || ((
|
|
40
|
-
}), onMouseEnter: () =>
|
|
41
|
-
/* @__PURE__ */ e.jsx(
|
|
42
|
-
|
|
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: () => {
|
|
43
|
+
i();
|
|
43
44
|
}, children: [
|
|
44
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
45
|
-
!
|
|
46
|
-
[
|
|
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, {
|
|
47
|
+
[l.collapsed]: d
|
|
47
48
|
}), children: /* @__PURE__ */ e.jsx(N, {}) }),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
[
|
|
49
|
+
a && /* @__PURE__ */ e.jsx("div", { className: t("text", l.text, "text-nowrap"), children: n.title }),
|
|
50
|
+
a && /* @__PURE__ */ e.jsx("div", { className: t("collapse-icon", l.collapseIcon, {
|
|
51
|
+
[l.collapsed]: d
|
|
51
52
|
}), children: /* @__PURE__ */ e.jsx(N, {}) })
|
|
52
|
-
] }) }) : /* @__PURE__ */ e.jsxs(M, { to: n.disabled || n.notPermitted ? "/" : n.linkTo ?? "/", className:
|
|
53
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
54
|
-
|
|
53
|
+
] }) }) : /* @__PURE__ */ e.jsxs(M, { to: n.disabled || n.notPermitted ? "/" : n.linkTo ?? "/", className: t("nav-link", l.navButton), children: [
|
|
54
|
+
/* @__PURE__ */ e.jsx("div", { className: t("icon", l.icon), children: n.icon }),
|
|
55
|
+
a && /* @__PURE__ */ e.jsx("div", { className: t("text", l.text, "text-nowrap"), children: n.title })
|
|
55
56
|
] }) }),
|
|
56
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
57
|
-
[
|
|
58
|
-
}), children: /* @__PURE__ */ e.jsx("div", { className:
|
|
57
|
+
/* @__PURE__ */ e.jsx("div", { className: t("children-container", l.childrenContainer, {
|
|
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
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", b = {
|
|
61
62
|
"side-menu": "_side-menu_1deqc_1",
|
|
62
|
-
sideMenu:
|
|
63
|
+
sideMenu: Y,
|
|
63
64
|
"sidebar-header": "_sidebar-header_1deqc_13",
|
|
64
|
-
sidebarHeader:
|
|
65
|
+
sidebarHeader: Z,
|
|
65
66
|
"side-menu-content": "_side-menu-content_1deqc_20",
|
|
66
|
-
sideMenuContent:
|
|
67
|
-
expand:
|
|
67
|
+
sideMenuContent: H,
|
|
68
|
+
expand: W,
|
|
68
69
|
"only-logo": "_only-logo_1deqc_28",
|
|
69
|
-
onlyLogo:
|
|
70
|
-
divider:
|
|
71
|
-
},
|
|
72
|
-
const [
|
|
73
|
-
var
|
|
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] = f(-1), { checkUserHasPermissions: _ } = S(), j = k(() => a.map((o) => {
|
|
74
|
+
var c;
|
|
74
75
|
return {
|
|
75
76
|
...o,
|
|
76
|
-
notPermitted: !
|
|
77
|
-
children: (
|
|
78
|
-
...
|
|
79
|
-
notPermitted: !
|
|
80
|
-
disabled: o.disabled ||
|
|
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
|
|
81
82
|
}))
|
|
82
83
|
};
|
|
83
|
-
}), [
|
|
84
|
-
var
|
|
84
|
+
}), [a, _]), q = k(() => d.map((o) => {
|
|
85
|
+
var c;
|
|
85
86
|
return {
|
|
86
87
|
...o,
|
|
87
|
-
notPermitted: !
|
|
88
|
-
children: (
|
|
89
|
-
...
|
|
90
|
-
notPermitted: !
|
|
88
|
+
notPermitted: !_(o.permissions ?? [], "any"),
|
|
89
|
+
children: (c = o.children) == null ? void 0 : c.map((s) => ({
|
|
90
|
+
...s,
|
|
91
|
+
notPermitted: !_(s.permissions ?? [], "any")
|
|
91
92
|
}))
|
|
92
93
|
};
|
|
93
|
-
}), [d,
|
|
94
|
-
|
|
94
|
+
}), [d, _]), h = (o) => {
|
|
95
|
+
x(o === u ? -1 : o);
|
|
95
96
|
};
|
|
96
97
|
return C(() => {
|
|
97
|
-
|
|
98
|
-
}, [
|
|
99
|
-
[
|
|
100
|
-
}, { expand:
|
|
101
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
102
|
-
[
|
|
103
|
-
}), role:
|
|
104
|
-
/* @__PURE__ */ e.jsx(
|
|
98
|
+
i || x(-1);
|
|
99
|
+
}, [i]), /* @__PURE__ */ e.jsxs("section", { className: t("luminus-side-menu shadow", b.sideMenu, {
|
|
100
|
+
[b.expand]: i
|
|
101
|
+
}, { expand: i }), onMouseEnter: () => r && m(!0), onMouseLeave: () => r && m(!1), children: [
|
|
102
|
+
/* @__PURE__ */ e.jsx("div", { className: t("sidebar-header", b.sidebarHeader, {
|
|
103
|
+
[b.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(g, {}),
|
|
105
106
|
n
|
|
106
|
-
] }) : /* @__PURE__ */ e.jsx(
|
|
107
|
-
/* @__PURE__ */ e.jsxs("ul", { className:
|
|
108
|
-
j.map((o,
|
|
109
|
-
/* @__PURE__ */ e.jsx("hr", { className:
|
|
110
|
-
q.map((o,
|
|
107
|
+
] }) : /* @__PURE__ */ e.jsx(P, {}) }),
|
|
108
|
+
/* @__PURE__ */ e.jsxs("ul", { className: b.sideMenuContent, children: [
|
|
109
|
+
j.map((o, c) => /* @__PURE__ */ e.jsx(y, { item: o, menuExpanded: i, collapsed: c === u, onCollapse: () => h(c), currentPath: p, useHover: r, useTooltips: v }, o.title)),
|
|
110
|
+
/* @__PURE__ */ e.jsx("hr", { className: t("divider", b.divider) }),
|
|
111
|
+
q.map((o, c) => /* @__PURE__ */ e.jsx(y, { item: o, menuExpanded: i, collapsed: c === u, onCollapse: () => h(c), currentPath: p, useHover: r, useTooltips: v }, o.title))
|
|
111
112
|
] })
|
|
112
113
|
] });
|
|
113
|
-
},
|
|
114
|
+
}, se = "_top-bar_1lk80_1", ie = "_top-bar-brand_1lk80_14", B = {
|
|
114
115
|
"top-bar": "_top-bar_1lk80_1",
|
|
115
|
-
topBar:
|
|
116
|
+
topBar: se,
|
|
116
117
|
"top-bar-brand": "_top-bar-brand_1lk80_14",
|
|
117
|
-
topBarBrand:
|
|
118
|
-
},
|
|
119
|
-
width:
|
|
120
|
-
left:
|
|
118
|
+
topBarBrand: ie
|
|
119
|
+
}, be = ({ appName: n, leftOffset: a, centerContent: d, rightContent: i }) => /* @__PURE__ */ e.jsxs("nav", { className: t("luminus-top-bar shadow", B.topBar), style: {
|
|
120
|
+
width: a ? `calc(100% - ${a}px)` : void 0,
|
|
121
|
+
left: a ? `${a}px` : void 0
|
|
121
122
|
}, children: [
|
|
122
|
-
/* @__PURE__ */ e.jsx(M, { to: "/", className:
|
|
123
|
+
/* @__PURE__ */ e.jsx(M, { to: "/", className: t("luminus-top-bar-brand", B.topBarBrand), children: n }),
|
|
123
124
|
d && /* @__PURE__ */ e.jsx("div", { children: d }),
|
|
124
|
-
/* @__PURE__ */ e.jsx("div", { className: "d-flex justify-content-end align-items-center gap-2", children:
|
|
125
|
-
] }),
|
|
126
|
-
/* @__PURE__ */ e.jsxs("div", { style: { paddingRight: d ? `${
|
|
127
|
-
n ? /* @__PURE__ */ e.jsx(
|
|
128
|
-
|
|
125
|
+
/* @__PURE__ */ e.jsx("div", { className: "d-flex justify-content-end align-items-center gap-2", children: i ?? null })
|
|
126
|
+
] }), he = ({ 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: [
|
|
127
|
+
/* @__PURE__ */ e.jsxs("div", { style: { paddingRight: d ? `${i}px` : void 0 }, children: [
|
|
128
|
+
n ? /* @__PURE__ */ e.jsx(T, { title: n }) : null,
|
|
129
|
+
a
|
|
129
130
|
] }),
|
|
130
|
-
d && /* @__PURE__ */ e.jsx(
|
|
131
|
+
d && /* @__PURE__ */ e.jsx(R, { width: i, children: d })
|
|
131
132
|
] });
|
|
132
133
|
export {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
qe as FullScreenContainer,
|
|
135
|
+
he as MainContainer,
|
|
136
|
+
R as SideContentBar,
|
|
137
|
+
xe as SideMenu,
|
|
138
|
+
be as TopBar
|
|
138
139
|
};
|