react-luminus-components 1.5.5 → 1.5.7

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 (47) hide show
  1. package/dist/.vite/manifest.json +32 -32
  2. package/dist/{FormDisabledProvider-CgpUjxI0.js → FormDisabledProvider-CB-JXGnI.js} +5 -5
  3. package/dist/{FormDisabledProvider-6S4xKAVc.cjs → FormDisabledProvider-DtQ7YOqf.cjs} +1 -1
  4. package/dist/{ShortcutLinksContext-DG4gWgPW.cjs → ShortcutLinksContext-AgOPPcPf.cjs} +17 -17
  5. package/dist/{ShortcutLinksContext-CQY8nrGK.js → ShortcutLinksContext-CNZMOV_j.js} +61 -60
  6. package/dist/components/common/Approvals/Approvals/Approvals.d.ts +17 -0
  7. package/dist/components/common/Approvals/Approvals/comps/ApprovalDetail/ApprovalDetail.d.ts +12 -0
  8. package/dist/components/common/Approvals/Approvals/comps/ApprovalDetail/comps/ApprovalDelegations/ApprovalDelegations.d.ts +9 -0
  9. package/dist/components/common/Approvals/Approvals/comps/ApprovalDetail/comps/ApprovalLevel/ApprovalLevel.d.ts +11 -0
  10. package/dist/components/common/Approvals/Approvals/comps/ApprovalDetail/comps/ApprovalLevel/comps/ChangeEmployeeModal/ChangeEmployeeModal.d.ts +13 -0
  11. package/dist/components/common/Approvals/Approvals/comps/ApprovalDetail/comps/ApprovalLevel/comps/index.d.ts +1 -0
  12. package/dist/components/common/Approvals/Approvals/comps/ApprovalDetail/comps/index.d.ts +2 -0
  13. package/dist/components/common/Approvals/Approvals/comps/index.d.ts +1 -0
  14. package/dist/components/common/Approvals/Delegations/ApprovalsDelegations.d.ts +16 -0
  15. package/dist/components/common/Approvals/Delegations/comps/DelegationModal/DelegationModal.d.ts +14 -0
  16. package/dist/components/common/Approvals/Delegations/comps/DelegationModal/hooks/useDelegationModalApi.d.ts +8 -0
  17. package/dist/components/common/Approvals/Delegations/comps/DelegationsTable/DelegationsTable.d.ts +10 -0
  18. package/dist/components/common/Approvals/Delegations/comps/index.d.ts +2 -0
  19. package/dist/components/common/index.d.ts +2 -0
  20. package/dist/contexts.cjs.js +1 -1
  21. package/dist/contexts.es.js +38 -38
  22. package/dist/hooks.cjs.js +1 -1
  23. package/dist/hooks.es.js +13 -13
  24. package/dist/layout.cjs.js +1 -1
  25. package/dist/layout.es.js +10 -10
  26. package/dist/localStorageUtils-CBQuZzg0.cjs +1 -0
  27. package/dist/localStorageUtils-DBNNyBcc.js +57 -0
  28. package/dist/main.cjs.js +53 -53
  29. package/dist/main.d.ts +1 -0
  30. package/dist/main.es.js +5257 -4993
  31. package/dist/models/api/approval/ApprovalDefinitionIndexModel.d.ts +6 -0
  32. package/dist/models/api/approval/ApprovalDefinitionLevelApproverModel.d.ts +7 -0
  33. package/dist/models/api/approval/ApprovalDefinitionLevelModel.d.ts +8 -0
  34. package/dist/models/api/approval/ApprovalDefinitionModel.d.ts +8 -0
  35. package/dist/models/api/approval/ApprovalDelegationModel.d.ts +11 -0
  36. package/dist/models/api/approval/ApprovalPersonModel.d.ts +3 -3
  37. package/dist/models/index.d.ts +6 -0
  38. package/dist/models/texts/ApprovalTexts.d.ts +44 -0
  39. package/dist/models/types/EmployeePickerBaseProps.d.ts +8 -0
  40. package/dist/{useLocalStorageState--TbsAeFu.cjs → useLocalStorageState-B_unZcbQ.cjs} +1 -1
  41. package/dist/{useLocalStorageState-KRZlwyU3.js → useLocalStorageState-Uqlj_lt1.js} +1 -1
  42. package/dist/utils/constants/CommonLuminusIconsArray.d.ts +1 -1
  43. package/dist/utils.cjs.js +1 -1
  44. package/dist/utils.es.js +74 -81
  45. package/package.json +1 -1
  46. package/dist/localStorageUtils-CHdu9Xvf.js +0 -46
  47. package/dist/localStorageUtils-DUQHXXBp.cjs +0 -1
package/dist/hooks.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ShortcutLinksContext-DG4gWgPW.cjs"),b=require("./useLocalStorageState--TbsAeFu.cjs"),l=require("react"),p=require("./useRenderDraggableInPortal-QPCaw-E_.cjs");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const q=t=>{let e="pending",n;const r=t.then(a=>{e="success",n=a},a=>{e="error",n=a});return()=>{switch(e){case"pending":throw r;case"success":return n;case"error":throw n;default:throw new Error("Unknown status")}}};function I(t,e){const n=s.useAxios({silent:!0,differentBaseUrl:e==null?void 0:e.customBaseUrl,customToken:e==null?void 0:e.customToken}),[r,a]=l.useState(null);return l.useEffect(()=>{(async()=>{const u=n.get(t).then(c=>c.data);a(q(u))})()},[n,t]),r}const x=(t,e,n)=>{let r="pending",a;const d=t.then(u=>{r="success",a=u},u=>{const c=u==null?void 0:u.response;(c==null?void 0:c.status)===404&&n?(r="error-404",a=u):(r="error",a=u)});return()=>{switch(r){case"pending":throw d;case"success":return a;case"error":return null;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},S={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},E=(t,{loadOnInit:e=S.loadOnInit,enabled:n=S.enabled,silent:r=S.silent,nullStateBeforeLoad:a=S.nullStateBeforeLoad,nullStateOnFail:d=S.nullStateOnFail,customApiUrl:u,customBearerToken:c,dataTransformer:f,errorBoundaryOn404:o}=S)=>{const i=s.useAxios({silent:r,customToken:c,differentBaseUrl:u,noToastOnStatus:o?[404]:void 0}),{startLoading:g,stopLoading:C}=l.useContext(s.LoadingContext),k=l.useRef(0),{isAuthenticated:v}=s.useAuth(),[y,w]=l.useState(null),D=l.useCallback(async(h,P)=>{if(!v()||n===!1)return;!r&&g(`loadData-${t}-${P}`),a&&w(null);const T=i.get(t,{signal:h}).then(A=>f?f(A.data):A.data).finally(()=>!r&&C(`loadData-${t}-${P}`));w(x(T,d??!1,o??!1))},[v,n,r,g,t,a,i,f,C,d,o]);return l.useEffect(()=>{if(e===!1)return;const h=new AbortController;return D(h.signal,++k.current),()=>{h.abort()}},[D,e]),{data:y,setData:w,reloadData:D}},m={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},L=(t,{storageKey:e=m.storageKey,requiredHeight:n=m.requiredHeight,retryInterval:r=m.retryInterval}=m)=>{const[a,d]=l.useState(!1),u=l.useRef(null),c=l.useCallback(()=>{const o=localStorage.getItem(e);return localStorage.removeItem(e),o===null?null:Number(o)},[e]),f=l.useCallback(o=>{localStorage.setItem(e,o)},[e]);return l.useEffect(()=>{const o=window.setInterval(()=>{if(!a&&t.current!==null&&t.current.getBoundingClientRect().height>n){d(!0);const i=c();i!==null&&t.current.scrollTo({top:i}),window.clearInterval(o)}},r);return()=>{window.clearTimeout(o)}},[a,n,c,r,t]),l.useEffect(()=>{var i;const o=new AbortController;return(i=t.current)==null||i.addEventListener("scrollend",()=>{var g;u.current=((g=t.current)==null?void 0:g.scrollTop)??0,f((u.current??0).toString())},{signal:o.signal}),()=>o.abort()},[f,t]),{saveValue:f,retrieveValue:c}};exports.cancelToken=s.cancelToken;exports.useAuth=s.useAuth;exports.useAxios=s.useAxios;exports.useClickOutside=s.useClickOutside;exports.useClipboard=s.useClipboard;exports.useConfirm=s.useConfirm;exports.useFormControlType=s.useFormControlType;exports.useKeyPress=s.useKeyPress;exports.useNotifications=s.useNotifications;exports.usePermissions=s.usePermissions;exports.usePrompt=s.usePrompt;exports.useWindowSize=s.useWindowSize;exports.useZodSchemaTypes=s.useZodSchemaTypes;exports.useGetApiData=b.useGetApiData;exports.useLocalStorageState=b.useLocalStorageState;exports.useEmployeePhotoPath=p.useEmployeePhotoPath;exports.useRenderDraggableInPortal=p.useRenderDraggableInPortal;exports.useSearchQuery=p.useSearchQuery;exports.useSearchQueryState=p.useSearchQueryState;exports.useGetApiDataBound=E;exports.useGetDataBound=I;exports.useScrollSave=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ShortcutLinksContext-AgOPPcPf.cjs"),b=require("./useLocalStorageState-B_unZcbQ.cjs"),l=require("react"),p=require("./useRenderDraggableInPortal-QPCaw-E_.cjs");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const q=t=>{let e="pending",n;const r=t.then(a=>{e="success",n=a},a=>{e="error",n=a});return()=>{switch(e){case"pending":throw r;case"success":return n;case"error":throw n;default:throw new Error("Unknown status")}}};function I(t,e){const n=s.useAxios({silent:!0,differentBaseUrl:e==null?void 0:e.customBaseUrl,customToken:e==null?void 0:e.customToken}),[r,a]=l.useState(null);return l.useEffect(()=>{(async()=>{const u=n.get(t).then(c=>c.data);a(q(u))})()},[n,t]),r}const x=(t,e,n)=>{let r="pending",a;const d=t.then(u=>{r="success",a=u},u=>{const c=u==null?void 0:u.response;(c==null?void 0:c.status)===404&&n?(r="error-404",a=u):(r="error",a=u)});return()=>{switch(r){case"pending":throw d;case"success":return a;case"error":return null;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},S={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},E=(t,{loadOnInit:e=S.loadOnInit,enabled:n=S.enabled,silent:r=S.silent,nullStateBeforeLoad:a=S.nullStateBeforeLoad,nullStateOnFail:d=S.nullStateOnFail,customApiUrl:u,customBearerToken:c,dataTransformer:f,errorBoundaryOn404:o}=S)=>{const i=s.useAxios({silent:r,customToken:c,differentBaseUrl:u,noToastOnStatus:o?[404]:void 0}),{startLoading:g,stopLoading:C}=l.useContext(s.LoadingContext),k=l.useRef(0),{isAuthenticated:v}=s.useAuth(),[y,w]=l.useState(null),D=l.useCallback(async(h,P)=>{if(!v()||n===!1)return;!r&&g(`loadData-${t}-${P}`),a&&w(null);const T=i.get(t,{signal:h}).then(A=>f?f(A.data):A.data).finally(()=>!r&&C(`loadData-${t}-${P}`));w(x(T,d??!1,o??!1))},[v,n,r,g,t,a,i,f,C,d,o]);return l.useEffect(()=>{if(e===!1)return;const h=new AbortController;return D(h.signal,++k.current),()=>{h.abort()}},[D,e]),{data:y,setData:w,reloadData:D}},m={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},L=(t,{storageKey:e=m.storageKey,requiredHeight:n=m.requiredHeight,retryInterval:r=m.retryInterval}=m)=>{const[a,d]=l.useState(!1),u=l.useRef(null),c=l.useCallback(()=>{const o=localStorage.getItem(e);return localStorage.removeItem(e),o===null?null:Number(o)},[e]),f=l.useCallback(o=>{localStorage.setItem(e,o)},[e]);return l.useEffect(()=>{const o=window.setInterval(()=>{if(!a&&t.current!==null&&t.current.getBoundingClientRect().height>n){d(!0);const i=c();i!==null&&t.current.scrollTo({top:i}),window.clearInterval(o)}},r);return()=>{window.clearTimeout(o)}},[a,n,c,r,t]),l.useEffect(()=>{var i;const o=new AbortController;return(i=t.current)==null||i.addEventListener("scrollend",()=>{var g;u.current=((g=t.current)==null?void 0:g.scrollTop)??0,f((u.current??0).toString())},{signal:o.signal}),()=>o.abort()},[f,t]),{saveValue:f,retrieveValue:c}};exports.cancelToken=s.cancelToken;exports.useAuth=s.useAuth;exports.useAxios=s.useAxios;exports.useClickOutside=s.useClickOutside;exports.useClipboard=s.useClipboard;exports.useConfirm=s.useConfirm;exports.useFormControlType=s.useFormControlType;exports.useKeyPress=s.useKeyPress;exports.useNotifications=s.useNotifications;exports.usePermissions=s.usePermissions;exports.usePrompt=s.usePrompt;exports.useWindowSize=s.useWindowSize;exports.useZodSchemaTypes=s.useZodSchemaTypes;exports.useGetApiData=b.useGetApiData;exports.useLocalStorageState=b.useLocalStorageState;exports.useEmployeePhotoPath=p.useEmployeePhotoPath;exports.useRenderDraggableInPortal=p.useRenderDraggableInPortal;exports.useSearchQuery=p.useSearchQuery;exports.useSearchQueryState=p.useSearchQueryState;exports.useGetApiDataBound=E;exports.useGetDataBound=I;exports.useScrollSave=L;
package/dist/hooks.es.js CHANGED
@@ -1,6 +1,6 @@
1
- import { aw as k, aX as L, ar as O } from "./ShortcutLinksContext-CQY8nrGK.js";
2
- import { bM as Y, bu as Z, bO as j, aR as J, bN as _, af as K, aY as tt, bb as et, bm as at, a2 as st, bh as rt } from "./ShortcutLinksContext-CQY8nrGK.js";
3
- import { u as ot, a as ut } from "./useLocalStorageState-KRZlwyU3.js";
1
+ import { aw as k, aX as L, ar as O } from "./ShortcutLinksContext-CNZMOV_j.js";
2
+ import { bO as Z, bw as j, bQ as J, aR as M, bP as _, af as K, aY as tt, bb as et, bo as at, a2 as st, bh as rt } from "./ShortcutLinksContext-CNZMOV_j.js";
3
+ import { u as ot, a as ut } from "./useLocalStorageState-Uqlj_lt1.js";
4
4
  import { useState as b, useEffect as g, useContext as $, useRef as I, useCallback as S } from "react";
5
5
  import { c as ct, u as it, a as dt, b as mt } from "./useRenderDraggableInPortal-D0OLp7Qb.js";
6
6
  import "react-router-dom";
@@ -76,14 +76,14 @@ const B = (e, t, r) => {
76
76
  customToken: u,
77
77
  differentBaseUrl: n,
78
78
  noToastOnStatus: o ? [404] : void 0
79
- }), { startLoading: m, stopLoading: v } = $(L), T = I(0), { isAuthenticated: D } = O(), [A, h] = b(null), w = S(async (f, C) => {
79
+ }), { startLoading: m, stopLoading: v } = $(L), P = I(0), { isAuthenticated: D } = O(), [T, w] = b(null), h = S(async (f, C) => {
80
80
  if (!D() || r === !1)
81
81
  return;
82
- !a && m(`loadData-${e}-${C}`), s && h(null);
83
- const P = l.get(e, {
82
+ !a && m(`loadData-${e}-${C}`), s && w(null);
83
+ const A = l.get(e, {
84
84
  signal: f
85
85
  }).then((x) => i ? i(x.data) : x.data).finally(() => !a && v(`loadData-${e}-${C}`));
86
- h(B(P, c ?? !1, o ?? !1));
86
+ w(B(A, c ?? !1, o ?? !1));
87
87
  }, [
88
88
  D,
89
89
  r,
@@ -101,10 +101,10 @@ const B = (e, t, r) => {
101
101
  if (t === !1)
102
102
  return;
103
103
  const f = new AbortController();
104
- return w(f.signal, ++T.current), () => {
104
+ return h(f.signal, ++P.current), () => {
105
105
  f.abort();
106
106
  };
107
- }, [w, t]), { data: A, setData: h, reloadData: w };
107
+ }, [h, t]), { data: T, setData: w, reloadData: h };
108
108
  }, p = {
109
109
  storageKey: "--tmp-scroll-save--",
110
110
  requiredHeight: 100,
@@ -137,12 +137,12 @@ const B = (e, t, r) => {
137
137
  }, [i, e]), { saveValue: i, retrieveValue: u };
138
138
  };
139
139
  export {
140
- Y as cancelToken,
140
+ Z as cancelToken,
141
141
  O as useAuth,
142
142
  k as useAxios,
143
- Z as useClickOutside,
144
- j as useClipboard,
145
- J as useConfirm,
143
+ j as useClickOutside,
144
+ J as useClipboard,
145
+ M as useConfirm,
146
146
  ct as useEmployeePhotoPath,
147
147
  _ as useFormControlType,
148
148
  ot as useGetApiData,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ShortcutLinksContext-DG4gWgPW.cjs"),x=require("react"),g=require("react-router-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");require("react-dom");const P="_side-menu-item_o72rm_1",f="_disabled_o72rm_6",w="_hidden_o72rm_10",T="_nav-button_o72rm_13",q="_child_o72rm_21",S="_text_o72rm_26",I="_icon_o72rm_36",L="_collapse-icon_o72rm_42",O="_collapsed_o72rm_52",A="_collapse-icon-mini_o72rm_55",$="_expanded_o72rm_86",D="_children-container_o72rm_92",K="_visible_o72rm_100",F="_children_o72rm_92",z="_mobile_o72rm_112",n={"side-menu-item":"_side-menu-item_o72rm_1",sideMenuItem:P,disabled:f,hidden:w,"nav-button":"_nav-button_o72rm_13",navButton:T,child:q,text:S,icon:I,"collapse-icon":"_collapse-icon_o72rm_42",collapseIcon:L,collapsed:O,"collapse-icon-mini":"_collapse-icon-mini_o72rm_55",collapseIconMini:A,expanded:$,"children-container":"_children-container_o72rm_92",childrenContainer:D,visible:K,children:F,mobile:z},G=({item:s,menuExpanded:i,useTooltips:r,children:c})=>s.tooltip&&!i&&r?e.jsxRuntimeExports.jsx(e.SimpleTooltip,{text:s.tooltip,placement:"top",delay:{show:1e3,hide:0},children:e.jsxRuntimeExports.jsx("div",{children:c})}):c,C=({item:s,menuExpanded:i,collapsed:r,onCollapse:c,currentPath:_,useHover:l,useTooltips:p,isMobile:k,disableMode:a})=>{var N,v,E,y;const[M,h]=x.useState(!1),[j]=_.split("?"),R=s.linkTo===j||((N=s.children)==null?void 0:N.some(o=>o.linkTo===j)),m=x.useRef(null);return e.useClickOutside([m],()=>r&&c()),e.jsxRuntimeExports.jsxs("li",{ref:m,className:e.classNames("luminus-side-menu-item",n.sideMenuItem,{[n.mobile]:k},{[n.expanded]:i},{active:M||R},{open:r&&s.children},{[a==="disable"?n.disabled:n.hidden]:s.disabled||s.notPermitted||((v=s.children)==null?void 0:v.every(o=>o.notPermitted||o.disabled))},{[a==="disable"?"disabled":"hidden"]:s.disabled||s.notPermitted||((E=s.children)==null?void 0:E.every(o=>o.notPermitted||o.disabled))}),onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[e.jsxRuntimeExports.jsx(G,{item:s,menuExpanded:i,useTooltips:p,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",n.navButton),onClick:()=>{c()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),!l&&!i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",n.collapseIconMini,{[n.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",n.collapseIcon,{[n.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(g.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",n.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",n.childrenContainer,{[n.visible]:r}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",n.children),children:(y=s.children)==null?void 0:y.map(o=>e.jsxRuntimeExports.jsx(g.Link,{to:o.disabled||o.notPermitted?"/":o.linkTo??"/",className:e.classNames("nav-link child rounded",n.navButton,n.child,{[a==="disable"?n.disabled:n.hidden]:o.disabled||o.notPermitted},{[a==="disable"?"disabled":"hidden"]:o.disabled||o.notPermitted}),onClick:c,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:o.title})},o.linkTo))})})]})},H="_side-menu_12rky_1",U="_sidebar-header_12rky_15",W="_side-menu-content_12rky_22",J="_no-top-margin_12rky_28",Q="_expand_12rky_34",V="_only-logo_12rky_38",X="_mobile_12rky_41",Y="_divider_12rky_56",u={"side-menu":"_side-menu_12rky_1",sideMenu:H,"sidebar-header":"_sidebar-header_12rky_15",sidebarHeader:U,"side-menu-content":"_side-menu-content_12rky_22",sideMenuContent:W,"no-top-margin":"_no-top-margin_12rky_28",noTopMargin:J,expand:Q,"only-logo":"_only-logo_12rky_38",onlyLogo:V,mobile:X,divider:Y},Z=14,ee=({headerItem:s,searchItem:i,shortcutsItem:r,mainItems:c,secondaryItems:_,expanded:l,setExpanded:p,currentPath:k,useHover:a,useTooltips:M,disableMode:h="disable"})=>{const[j,R]=x.useState(-1),{checkUserHasPermissions:m}=e.usePermissions(),N=x.useMemo(()=>c.map(t=>{var d;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(d=t.children)==null?void 0:d.map(b=>({...b,notPermitted:!m(b.permissions??[],"any"),disabled:t.disabled||b.disabled}))}}),[c,m]),v=x.useMemo(()=>_.map(t=>{var d;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(d=t.children)==null?void 0:d.map(b=>({...b,notPermitted:!m(b.permissions??[],"any")}))}}),[_,m]),E=t=>{R(t===j?-1:t)};x.useEffect(()=>{l||R(-1)},[l]);const y=x.useRef(null);e.useClickOutside([y],()=>p(!1));const{isMobile:o}=e.useWindowSize();return e.jsxRuntimeExports.jsxs("section",{ref:y,className:e.classNames("luminus-side-menu shadow",u.sideMenu,{[u.mobile]:o},{[u.expand]:l},{expand:l}),onMouseEnter:()=>a&&p(!0),onMouseLeave:()=>a&&p(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",u.sidebarHeader,{[u.onlyLogo]:a}),role:a?void 0:"button",onClick:a?void 0:()=>p(!l),children:a?s:l?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardDoubleArrowLeft,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),l&&(i||r)?e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex flex-column gap-3",children:[r&&l?r:null,i&&l?i:null]}):null,e.jsxRuntimeExports.jsxs("ul",{className:e.classNames(u.sideMenuContent,{[u.noTopMargin]:[...N,...v].length>Z}),children:[N.map((t,d)=>e.jsxRuntimeExports.jsx(C,{item:t,menuExpanded:l,collapsed:d===j,onCollapse:()=>E(d),currentPath:k,useHover:a,useTooltips:M,isMobile:o,disableMode:h},t.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",u.divider)}),v.map((t,d)=>e.jsxRuntimeExports.jsx(C,{item:t,menuExpanded:l,collapsed:d===j,onCollapse:()=>E(d),currentPath:k,useHover:a,useTooltips:M,isMobile:o,disableMode:h},t.title))]})]})},se="_top-bar_lnmq0_1",ne="_top-bar-brand_lnmq0_12",B={"top-bar":"_top-bar_lnmq0_1",topBar:se,"top-bar-brand":"_top-bar-brand_lnmq0_12",topBarBrand:ne},oe=({appName:s,leftOffset:i,leftContent:r,centerContent:c,rightContent:_})=>e.jsxRuntimeExports.jsx("nav",{className:e.classNames("luminus-top-bar shadow",B.topBar),style:{width:i?`calc(100% - ${i}px)`:void 0,left:i?`${i}px`:void 0},children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 row g-0",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-4 d-flex gap-3 align-items-center",children:[e.jsxRuntimeExports.jsx(g.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",B.topBarBrand),children:s}),r]}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex align-items-center",children:c??null}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex justify-content-end align-items-center",children:_??null})]})});exports.PageContainer=e.PageContainer;exports.SideContentBar=e.SideContentBar;exports.SideMenu=ee;exports.TopBar=oe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ShortcutLinksContext-AgOPPcPf.cjs"),x=require("react"),g=require("react-router-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");require("react-dom");const P="_side-menu-item_o72rm_1",f="_disabled_o72rm_6",w="_hidden_o72rm_10",T="_nav-button_o72rm_13",q="_child_o72rm_21",S="_text_o72rm_26",I="_icon_o72rm_36",L="_collapse-icon_o72rm_42",O="_collapsed_o72rm_52",A="_collapse-icon-mini_o72rm_55",$="_expanded_o72rm_86",D="_children-container_o72rm_92",K="_visible_o72rm_100",F="_children_o72rm_92",z="_mobile_o72rm_112",n={"side-menu-item":"_side-menu-item_o72rm_1",sideMenuItem:P,disabled:f,hidden:w,"nav-button":"_nav-button_o72rm_13",navButton:T,child:q,text:S,icon:I,"collapse-icon":"_collapse-icon_o72rm_42",collapseIcon:L,collapsed:O,"collapse-icon-mini":"_collapse-icon-mini_o72rm_55",collapseIconMini:A,expanded:$,"children-container":"_children-container_o72rm_92",childrenContainer:D,visible:K,children:F,mobile:z},G=({item:s,menuExpanded:i,useTooltips:r,children:c})=>s.tooltip&&!i&&r?e.jsxRuntimeExports.jsx(e.SimpleTooltip,{text:s.tooltip,placement:"top",delay:{show:1e3,hide:0},children:e.jsxRuntimeExports.jsx("div",{children:c})}):c,C=({item:s,menuExpanded:i,collapsed:r,onCollapse:c,currentPath:_,useHover:l,useTooltips:p,isMobile:k,disableMode:a})=>{var N,v,E,y;const[M,h]=x.useState(!1),[j]=_.split("?"),R=s.linkTo===j||((N=s.children)==null?void 0:N.some(o=>o.linkTo===j)),m=x.useRef(null);return e.useClickOutside([m],()=>r&&c()),e.jsxRuntimeExports.jsxs("li",{ref:m,className:e.classNames("luminus-side-menu-item",n.sideMenuItem,{[n.mobile]:k},{[n.expanded]:i},{active:M||R},{open:r&&s.children},{[a==="disable"?n.disabled:n.hidden]:s.disabled||s.notPermitted||((v=s.children)==null?void 0:v.every(o=>o.notPermitted||o.disabled))},{[a==="disable"?"disabled":"hidden"]:s.disabled||s.notPermitted||((E=s.children)==null?void 0:E.every(o=>o.notPermitted||o.disabled))}),onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),children:[e.jsxRuntimeExports.jsx(G,{item:s,menuExpanded:i,useTooltips:p,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",n.navButton),onClick:()=>{c()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),!l&&!i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",n.collapseIconMini,{[n.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",n.collapseIcon,{[n.collapsed]:r}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(g.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",n.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",n.childrenContainer,{[n.visible]:r}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",n.children),children:(y=s.children)==null?void 0:y.map(o=>e.jsxRuntimeExports.jsx(g.Link,{to:o.disabled||o.notPermitted?"/":o.linkTo??"/",className:e.classNames("nav-link child rounded",n.navButton,n.child,{[a==="disable"?n.disabled:n.hidden]:o.disabled||o.notPermitted},{[a==="disable"?"disabled":"hidden"]:o.disabled||o.notPermitted}),onClick:c,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:o.title})},o.linkTo))})})]})},H="_side-menu_12rky_1",U="_sidebar-header_12rky_15",W="_side-menu-content_12rky_22",J="_no-top-margin_12rky_28",Q="_expand_12rky_34",V="_only-logo_12rky_38",X="_mobile_12rky_41",Y="_divider_12rky_56",u={"side-menu":"_side-menu_12rky_1",sideMenu:H,"sidebar-header":"_sidebar-header_12rky_15",sidebarHeader:U,"side-menu-content":"_side-menu-content_12rky_22",sideMenuContent:W,"no-top-margin":"_no-top-margin_12rky_28",noTopMargin:J,expand:Q,"only-logo":"_only-logo_12rky_38",onlyLogo:V,mobile:X,divider:Y},Z=14,ee=({headerItem:s,searchItem:i,shortcutsItem:r,mainItems:c,secondaryItems:_,expanded:l,setExpanded:p,currentPath:k,useHover:a,useTooltips:M,disableMode:h="disable"})=>{const[j,R]=x.useState(-1),{checkUserHasPermissions:m}=e.usePermissions(),N=x.useMemo(()=>c.map(t=>{var d;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(d=t.children)==null?void 0:d.map(b=>({...b,notPermitted:!m(b.permissions??[],"any"),disabled:t.disabled||b.disabled}))}}),[c,m]),v=x.useMemo(()=>_.map(t=>{var d;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(d=t.children)==null?void 0:d.map(b=>({...b,notPermitted:!m(b.permissions??[],"any")}))}}),[_,m]),E=t=>{R(t===j?-1:t)};x.useEffect(()=>{l||R(-1)},[l]);const y=x.useRef(null);e.useClickOutside([y],()=>p(!1));const{isMobile:o}=e.useWindowSize();return e.jsxRuntimeExports.jsxs("section",{ref:y,className:e.classNames("luminus-side-menu shadow",u.sideMenu,{[u.mobile]:o},{[u.expand]:l},{expand:l}),onMouseEnter:()=>a&&p(!0),onMouseLeave:()=>a&&p(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",u.sidebarHeader,{[u.onlyLogo]:a}),role:a?void 0:"button",onClick:a?void 0:()=>p(!l),children:a?s:l?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardDoubleArrowLeft,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),l&&(i||r)?e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex flex-column gap-3",children:[r&&l?r:null,i&&l?i:null]}):null,e.jsxRuntimeExports.jsxs("ul",{className:e.classNames(u.sideMenuContent,{[u.noTopMargin]:[...N,...v].length>Z}),children:[N.map((t,d)=>e.jsxRuntimeExports.jsx(C,{item:t,menuExpanded:l,collapsed:d===j,onCollapse:()=>E(d),currentPath:k,useHover:a,useTooltips:M,isMobile:o,disableMode:h},t.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",u.divider)}),v.map((t,d)=>e.jsxRuntimeExports.jsx(C,{item:t,menuExpanded:l,collapsed:d===j,onCollapse:()=>E(d),currentPath:k,useHover:a,useTooltips:M,isMobile:o,disableMode:h},t.title))]})]})},se="_top-bar_lnmq0_1",ne="_top-bar-brand_lnmq0_12",B={"top-bar":"_top-bar_lnmq0_1",topBar:se,"top-bar-brand":"_top-bar-brand_lnmq0_12",topBarBrand:ne},oe=({appName:s,leftOffset:i,leftContent:r,centerContent:c,rightContent:_})=>e.jsxRuntimeExports.jsx("nav",{className:e.classNames("luminus-top-bar shadow",B.topBar),style:{width:i?`calc(100% - ${i}px)`:void 0,left:i?`${i}px`:void 0},children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 row g-0",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-4 d-flex gap-3 align-items-center",children:[e.jsxRuntimeExports.jsx(g.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",B.topBarBrand),children:s}),r]}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex align-items-center",children:c??null}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex justify-content-end align-items-center",children:_??null})]})});exports.PageContainer=e.PageContainer;exports.SideContentBar=e.SideContentBar;exports.SideMenu=ee;exports.TopBar=oe;
package/dist/layout.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import { bu as T, j as n, c as i, Y as C, ao as S, bb as A, a2 as $, bA as q, bB as O } from "./ShortcutLinksContext-CQY8nrGK.js";
2
- import { b9 as Bn, bC as Cn } from "./ShortcutLinksContext-CQY8nrGK.js";
1
+ import { bw as T, j as n, c as i, Y as C, ao as S, bb as $, a2 as q, bC as A, bD as O } from "./ShortcutLinksContext-CNZMOV_j.js";
2
+ import { b9 as Bn, bE as Cn } from "./ShortcutLinksContext-CNZMOV_j.js";
3
3
  import { useState as L, useRef as R, useMemo as P, useEffect as D } from "react";
4
4
  import { Link as B } from "react-router-dom";
5
5
  import "react-hook-form";
@@ -7,13 +7,13 @@ import "react-flexmonster";
7
7
  import "@azure/msal-browser";
8
8
  import "@azure/msal-react";
9
9
  import "react-dom";
10
- const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm_10", E = "_nav-button_o72rm_13", G = "_child_o72rm_21", H = "_text_o72rm_26", U = "_icon_o72rm_36", W = "_collapse-icon_o72rm_42", Y = "_collapsed_o72rm_52", J = "_collapse-icon-mini_o72rm_55", Q = "_expanded_o72rm_86", V = "_children-container_o72rm_92", X = "_visible_o72rm_100", Z = "_children_o72rm_92", nn = "_mobile_o72rm_112", s = {
10
+ const E = "_side-menu-item_o72rm_1", F = "_disabled_o72rm_6", K = "_hidden_o72rm_10", z = "_nav-button_o72rm_13", G = "_child_o72rm_21", H = "_text_o72rm_26", U = "_icon_o72rm_36", W = "_collapse-icon_o72rm_42", Y = "_collapsed_o72rm_52", J = "_collapse-icon-mini_o72rm_55", Q = "_expanded_o72rm_86", V = "_children-container_o72rm_92", X = "_visible_o72rm_100", Z = "_children_o72rm_92", nn = "_mobile_o72rm_112", s = {
11
11
  "side-menu-item": "_side-menu-item_o72rm_1",
12
- sideMenuItem: F,
13
- disabled: K,
14
- hidden: z,
12
+ sideMenuItem: E,
13
+ disabled: F,
14
+ hidden: K,
15
15
  "nav-button": "_nav-button_o72rm_13",
16
- navButton: E,
16
+ navButton: z,
17
17
  child: G,
18
18
  text: H,
19
19
  icon: U,
@@ -76,7 +76,7 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
76
76
  mobile: dn,
77
77
  divider: cn
78
78
  }, _n = 14, Nn = ({ headerItem: e, searchItem: l, shortcutsItem: r, mainItems: c, secondaryItems: u, expanded: a, setExpanded: b, currentPath: g, useHover: d, useTooltips: f, disableMode: v = "disable" }) => {
79
- const [h, j] = L(-1), { checkUserHasPermissions: m } = A(), y = P(() => c.map((t) => {
79
+ const [h, j] = L(-1), { checkUserHasPermissions: m } = $(), y = P(() => c.map((t) => {
80
80
  var _;
81
81
  return {
82
82
  ...t,
@@ -105,14 +105,14 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
105
105
  }, [a]);
106
106
  const M = R(null);
107
107
  T([M], () => b(!1));
108
- const { isMobile: o } = $();
108
+ const { isMobile: o } = q();
109
109
  return /* @__PURE__ */ n.jsxs("section", { ref: M, className: i("luminus-side-menu shadow", p.sideMenu, { [p.mobile]: o }, {
110
110
  [p.expand]: a
111
111
  }, { expand: a }), onMouseEnter: () => d && b(!0), onMouseLeave: () => d && b(!1), children: [
112
112
  /* @__PURE__ */ n.jsx("div", { className: i("sidebar-header", p.sidebarHeader, {
113
113
  [p.onlyLogo]: d
114
114
  }), role: d ? void 0 : "button", onClick: d ? void 0 : () => b(!a), children: d ? e : a ? /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
115
- /* @__PURE__ */ n.jsx(q, {}),
115
+ /* @__PURE__ */ n.jsx(A, {}),
116
116
  e
117
117
  ] }) : /* @__PURE__ */ n.jsx(O, {}) }),
118
118
  a && (l || r) ? /* @__PURE__ */ n.jsxs("div", { className: "mb-3 d-flex flex-column gap-3", children: [
@@ -0,0 +1 @@
1
+ "use strict";const i=require("react-router-dom"),s=(r,t,o)=>{let e=r;return t!==void 0&&(e=Math.max(e,t)),o!==void 0&&(e=Math.min(e,o)),e};function l(r,t){r.setValue(t,null)}function S(r,t){t.forEach(o=>{l(r,o)})}const c=(r,t,o=!0)=>Object.keys(r).reduce((e,n)=>{const u=r[n];return o&&(u==null||u==="")||(e[n]=t(u,n)),e},{}),a=(r,t)=>{const o=t!=null&&t.query?new URLSearchParams(c(t.query,e=>(e==null?void 0:e.toString())??"")):null;return`${i.generatePath(r,t!=null&&t.path?c(t.path,e=>(e==null?void 0:e.toString())??null):void 0)}${o&&o.size>0?`?${o.toString()}`:""}`},g=[{key:"msal",mode:"includes"},{key:"token",mode:"exact"},{key:"user",mode:"exact"},{key:"user-delegation",mode:"exact"}],h=(r=!0)=>{const t={};for(let o=0;o<localStorage.length;o++){const e=localStorage.key(o);if(e&&!(r&&g.some(({key:n,mode:u})=>u==="includes"?e.includes(n):e===n)))try{t[e]=JSON.parse(localStorage.getItem(e))}catch{t[e]=localStorage.getItem(e)}}return t},d=r=>{try{const t=JSON.parse(r);if(typeof t!="object"||t===null)return!1;Object.entries(t).forEach(([o,e])=>{localStorage.setItem(o,JSON.stringify(e))})}catch{return!1}return!0};exports.dumpLocalStorage=h;exports.generateApiPath=a;exports.hookFormSetNull=l;exports.hookFormSetNulls=S;exports.limitNumber=s;exports.restoreLocalStorage=d;
@@ -0,0 +1,57 @@
1
+ import { generatePath as l } from "react-router-dom";
2
+ const S = (r, t, o) => {
3
+ let e = r;
4
+ return t !== void 0 && (e = Math.max(e, t)), o !== void 0 && (e = Math.min(e, o)), e;
5
+ };
6
+ function i(r, t) {
7
+ r.setValue(t, null);
8
+ }
9
+ function g(r, t) {
10
+ t.forEach((o) => {
11
+ i(r, o);
12
+ });
13
+ }
14
+ const u = (r, t, o = !0) => Object.keys(r).reduce((e, n) => {
15
+ const c = r[n];
16
+ return o && (c == null || c === "") || (e[n] = t(c, n)), e;
17
+ }, {}), f = (r, t) => {
18
+ const o = t != null && t.query ? new URLSearchParams(u(t.query, (e) => (e == null ? void 0 : e.toString()) ?? "")) : null;
19
+ return `${l(r, t != null && t.path ? u(t.path, (e) => (e == null ? void 0 : e.toString()) ?? null) : void 0)}${o && o.size > 0 ? `?${o.toString()}` : ""}`;
20
+ }, s = [
21
+ { key: "msal", mode: "includes" },
22
+ { key: "token", mode: "exact" },
23
+ { key: "user", mode: "exact" },
24
+ { key: "user-delegation", mode: "exact" }
25
+ ], d = (r = !0) => {
26
+ const t = {};
27
+ for (let o = 0; o < localStorage.length; o++) {
28
+ const e = localStorage.key(o);
29
+ if (e && !(r && s.some(({ key: n, mode: c }) => c === "includes" ? e.includes(n) : e === n)))
30
+ try {
31
+ t[e] = JSON.parse(localStorage.getItem(e));
32
+ } catch {
33
+ t[e] = localStorage.getItem(e);
34
+ }
35
+ }
36
+ return t;
37
+ }, h = (r) => {
38
+ try {
39
+ const t = JSON.parse(r);
40
+ if (typeof t != "object" || t === null)
41
+ return !1;
42
+ Object.entries(t).forEach(([o, e]) => {
43
+ localStorage.setItem(o, JSON.stringify(e));
44
+ });
45
+ } catch {
46
+ return !1;
47
+ }
48
+ return !0;
49
+ };
50
+ export {
51
+ g as a,
52
+ d,
53
+ f as g,
54
+ i as h,
55
+ S as l,
56
+ h as r
57
+ };