react-luminus-components 2.0.5-beta.r19-26 → 2.0.6

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 (54) hide show
  1. package/README.md +349 -349
  2. package/dist/.vite/manifest.json +48 -37
  3. package/dist/FormDisabledProvider--0DdMCBK.cjs +1 -0
  4. package/dist/{FormDisabledProvider-BlRae2l2.js → FormDisabledProvider-CQ3lr_vU.js} +1 -1
  5. package/dist/ShortcutLinksContext-CzUA0Bw_.cjs +285 -0
  6. package/dist/{nivo-bar-BHzU38wt.js → ShortcutLinksContext-DGg3i3jj.js} +20917 -20917
  7. package/dist/components/NotifCenter/Actions/NotificationActions.d.ts +7 -3
  8. package/dist/components/NotifCenter/Actions/components/index.d.ts +2 -0
  9. package/dist/components/NotifCenter/Actions/components/modals/NotificationActionAddModal.d.ts +11 -0
  10. package/dist/components/NotifCenter/Actions/components/modals/NotificationTemplateAddModal.d.ts +13 -0
  11. package/dist/components/NotifCenter/Actions/components/modals/NotificationTemplateEditModal.d.ts +6 -4
  12. package/dist/components/NotifCenter/NotifStyles/NotifStyles.d.ts +10 -0
  13. package/dist/components/NotifCenter/NotifStyles/hooks/useNotifStyleFormSchema.d.ts +20 -0
  14. package/dist/components/NotifCenter/NotifStyles/hooks/useNotifStyleTableColumns.d.ts +7 -0
  15. package/dist/components/NotifCenter/index.d.ts +1 -0
  16. package/dist/components/UserSettings/LanguageSettingsUS/LanguageSettingsUS.d.ts +2 -0
  17. package/dist/components/UserSettings/index.d.ts +1 -0
  18. package/dist/contexts.cjs.js +1 -1
  19. package/dist/contexts.es.js +13 -13
  20. package/dist/hooks/useLocalStorageState/useLocalStorageState.d.ts +3 -0
  21. package/dist/hooks/usePersistentState/usePersistentState.d.ts +15 -1
  22. package/dist/hooks/useSearchQueryState/useSearchQueryState.d.ts +5 -4
  23. package/dist/hooks.cjs.js +1 -1
  24. package/dist/hooks.es.js +108 -107
  25. package/dist/layout.cjs.js +1 -1
  26. package/dist/layout.es.js +59 -59
  27. package/dist/main.cjs.js +15 -15
  28. package/dist/main.d.ts +1 -0
  29. package/dist/main.es.js +11304 -10804
  30. package/dist/models/index.d.ts +3 -0
  31. package/dist/models/texts/NotifCentrumTexts.d.ts +15 -0
  32. package/dist/models/texts/UserSettingsTexts.d.ts +1 -0
  33. package/dist/models/types/notifCenter/NotifStyleModel.d.ts +6 -0
  34. package/dist/models/types/notifCenter/NotifTemplateCreateModel.d.ts +11 -0
  35. package/dist/models/types/notifCenter/NotifTemplateEditModel.d.ts +6 -0
  36. package/dist/models/types/notifCenter/NotificationAttachmentModel.d.ts +4 -0
  37. package/dist/models/types/notifCenter/NotificationModel.d.ts +2 -1
  38. package/dist/models/types/notifCenter/NotificationTemplate.d.ts +3 -1
  39. package/dist/queryStorage-C8e71gxx.js +30 -0
  40. package/dist/queryStorage-Dk70bkj7.cjs +1 -0
  41. package/dist/style.css +1 -1
  42. package/dist/useIsFormDirty-CLUo8jl7.cjs +1 -0
  43. package/dist/useIsFormDirty-ebfGUdgb.js +117 -0
  44. package/dist/{useLocalStorageState-B2v6hClT.js → useLocalStorageState-9W8xZxsD.js} +20 -20
  45. package/dist/useLocalStorageState-nJ8QPdoa.cjs +1 -0
  46. package/dist/utils.cjs.js +1 -1
  47. package/dist/utils.es.js +76 -101
  48. package/dist/variables.scss +165 -165
  49. package/package.json +127 -127
  50. package/dist/FormDisabledProvider-CiGUtSf7.cjs +0 -1
  51. package/dist/nivo-bar-C1VYGnTR.cjs +0 -285
  52. package/dist/useIsFormDirty-BhBtGgzZ.cjs +0 -1
  53. package/dist/useIsFormDirty-GgEve4W-.js +0 -123
  54. package/dist/useLocalStorageState-AB4BFfn5.cjs +0 -1
@@ -1,16 +1,20 @@
1
- import { NotificationHistoryModel, NotificationModel, NotificationTarget, NotifTargetModel } from '../../../models/index';
1
+ import { NameIdIntModel, NotificationHistoryModel, NotificationModel, NotificationTarget, NotifTargetModel, NotifTemplateCreateModel, NotifTemplateEditModel } from '../../../models/index';
2
2
  import { default as NotificationKindFullModel } from './types/NotificationKindFullModel';
3
3
 
4
4
  export type Props = {
5
5
  kinds: NotificationKindFullModel[];
6
+ styles: NameIdIntModel[];
6
7
  targetSystem: 1 | 2 | 4;
7
8
  reloadActions: (kindId: number) => Promise<Array<NotificationModel>>;
8
9
  reloadHistory: (actionId: number, templateId: number) => Promise<Array<NotificationHistoryModel>>;
9
10
  reloadRoles: (actionId: number) => Promise<Array<string>>;
10
11
  onRemoveTarget: (id: number) => Promise<void>;
11
12
  onPostTarget: (m: NotifTargetModel, employeeName: string | null) => Promise<NotificationTarget>;
12
- onTemplateEdit: (id: number, subject: string, body: string) => Promise<void>;
13
+ onTemplateEdit: (i: NotifTemplateEditModel) => Promise<void>;
14
+ onTemplateDelete: (id: number) => Promise<void>;
15
+ onNotifActionAdd: (id: number, name: string, kind: number) => Promise<boolean>;
16
+ onNotifTemplateAdd: (tpl: NotifTemplateCreateModel) => Promise<boolean>;
13
17
  EmployeePicker: React.ElementType;
14
18
  };
15
- declare const NotificationActions: ({ kinds, targetSystem, reloadActions, reloadHistory, reloadRoles, onRemoveTarget, onPostTarget, onTemplateEdit, EmployeePicker, }: Props) => import("react").JSX.Element;
19
+ declare const NotificationActions: ({ kinds, styles, targetSystem, reloadActions, reloadHistory, reloadRoles, onRemoveTarget, onPostTarget, onTemplateEdit, onTemplateDelete, onNotifActionAdd, onNotifTemplateAdd, EmployeePicker, }: Props) => import("react").JSX.Element;
16
20
  export default NotificationActions;
@@ -1,3 +1,5 @@
1
1
  export { default as ActionTemplates } from './ActionTemplates/ActionTemplates';
2
2
  export { default as NotificationHistoryTable } from './HistoryTable/NotificationHistoryTable';
3
3
  export { default as NotificationTemplateEditModal } from './modals/NotificationTemplateEditModal';
4
+ export { default as NotificationActionAddModal } from './modals/NotificationActionAddModal';
5
+ export { default as NotificationTemplateAddModal } from './modals/NotificationTemplateAddModal';
@@ -0,0 +1,11 @@
1
+ import { NameIdIntModel, NotificationModel } from '../../../../../models/index';
2
+
3
+ type Props = {
4
+ show: boolean;
5
+ onHide: () => void;
6
+ kind: NameIdIntModel;
7
+ onNotifActionAdd: (id: number, name: string, kind: number) => Promise<boolean>;
8
+ onCreate: (a: NotificationModel) => void;
9
+ };
10
+ declare const NotificationActionAddModal: ({ show, onHide, kind, onNotifActionAdd, onCreate }: Props) => import("react").JSX.Element;
11
+ export default NotificationActionAddModal;
@@ -0,0 +1,13 @@
1
+ import { NameIdIntModel } from '../../../../../models/index';
2
+ import { default as NotifTemplateCreateModel } from '../../../../../models/types/notifCenter/NotifTemplateCreateModel';
3
+
4
+ type Props = {
5
+ show: boolean;
6
+ onHide: () => void;
7
+ kind: NameIdIntModel;
8
+ action: NameIdIntModel;
9
+ onNotifTemplateAdd: (tpl: NotifTemplateCreateModel) => Promise<boolean>;
10
+ reloadTemplates: () => Promise<void>;
11
+ };
12
+ declare const NotificationTemplateAddModal: ({ show, onHide, kind, action, onNotifTemplateAdd, reloadTemplates, }: Props) => import("react").JSX.Element;
13
+ export default NotificationTemplateAddModal;
@@ -1,10 +1,12 @@
1
- import { NotificationTemplate } from '../../../../../models/index';
1
+ import { NameIdIntModel, NotificationTemplate } from '../../../../../models/index';
2
+ import { default as NotifTemplateEditModel } from '../../../../../models/types/notifCenter/NotifTemplateEditModel';
2
3
 
3
4
  type Props = {
4
5
  show: boolean;
5
6
  onHide: () => void;
6
- template: NotificationTemplate | null;
7
- onEdit: (subject: string, body: string) => void;
7
+ template: NotificationTemplate;
8
+ onEdit: (t: NotifTemplateEditModel) => Promise<void>;
9
+ styles: NameIdIntModel[];
8
10
  };
9
- declare const NotificationTemplateEditModal: ({ show, onHide, template, onEdit }: Props) => import("react").JSX.Element;
11
+ declare const NotificationTemplateEditModal: ({ show, onHide, template, onEdit, styles }: Props) => import("react").JSX.Element;
10
12
  export default NotificationTemplateEditModal;
@@ -0,0 +1,10 @@
1
+ import { NotifStyleModel } from '../../../models/index';
2
+
3
+ type Props = {
4
+ reloadStyles: () => Promise<Array<NotifStyleModel>>;
5
+ BnfTableComponent: React.ElementType;
6
+ tableIdentifier: number;
7
+ postStyle: (i: NotifStyleModel) => Promise<void>;
8
+ };
9
+ declare const NotifStyles: ({ reloadStyles, BnfTableComponent, tableIdentifier, postStyle }: Props) => import("react").JSX.Element;
10
+ export default NotifStyles;
@@ -0,0 +1,20 @@
1
+ import { NotifStyleModel } from '../../../../models/index';
2
+ import { SubmitHandler } from '../../../../../node_modules/react-hook-form';
3
+
4
+ declare const useNotifStyleFormSchema: (onEdit: (n: NotifStyleModel) => Promise<void>) => {
5
+ formMethods: import('../../../../../node_modules/react-hook-form').UseFormReturn<{
6
+ name: string;
7
+ id: number | null;
8
+ css: string;
9
+ }, any, {
10
+ name: string;
11
+ id: number | null;
12
+ css: string;
13
+ }>;
14
+ onSubmit: SubmitHandler<{
15
+ name: string;
16
+ id: number | null;
17
+ css: string;
18
+ }>;
19
+ };
20
+ export default useNotifStyleFormSchema;
@@ -0,0 +1,7 @@
1
+ import { NotifStyleModel } from '../../../../models/index';
2
+ import { BnfTableColumnDef } from 'tanstack-bnf-table';
3
+
4
+ declare const useNotifStyleTableColumns: () => {
5
+ columnsDef: BnfTableColumnDef<NotifStyleModel>[];
6
+ };
7
+ export default useNotifStyleTableColumns;
@@ -1,2 +1,3 @@
1
1
  export { default as NotificationActions } from './Actions/NotificationActions';
2
2
  export { default as NotificationUsers } from './Users/NotificationUsers';
3
+ export { default as NotifStyles } from './NotifStyles/NotifStyles';
@@ -0,0 +1,2 @@
1
+ declare const LanguageSettingsUS: () => import("react").JSX.Element;
2
+ export default LanguageSettingsUS;
@@ -1,3 +1,4 @@
1
1
  export { default as FileDownloadUS } from './FileDownloadUS/FileDownloadUS';
2
2
  export { default as LocalStorageBackupUS } from './LocalStorageBackupUS/LocalStorageBackupUS';
3
3
  export { default as SearchSettingsUS } from './SearchSettingsUS/SearchSettingsUS';
4
+ export { default as LanguageSettingsUS } from './LanguageSettingsUS/LanguageSettingsUS';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./nivo-bar-C1VYGnTR.cjs"),S=require("react/jsx-runtime"),p=require("react"),R=require("@azure/msal-browser"),z=require("@azure/msal-react");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");const F=require("./FormDisabledProvider-CiGUtSf7.cjs"),V=require("./useLocalStorageState-AB4BFfn5.cjs");function Q(t){const e=s.toDate(t);return e.setHours(23,59,59,999),e}function X(){return Q(Date.now())}function Y(t,e){const l=+s.toDate(t),[c,n]=[+s.toDate(e.start),+s.toDate(e.end)].sort((u,o)=>u-o);return l>=c&&l<=n}function Z(){return s.startOfDay(Date.now())}const ee=t=>{const e=s.compilerRuntimeExports.c(10),{children:l}=t,[c,n]=p.useState(!1),[u,o]=p.useState(""),[i,v]=p.useState(void 0);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=(x,h)=>{n(!0),o(x),v(h)},e[0]=y):y=e[0];const f=y;let C;e[1]===Symbol.for("react.memo_cache_sentinel")?(C=()=>{n(!1)},e[1]=C):C=e[1];const m=C;let r;e[2]!==c||e[3]!==u||e[4]!==i?(r={show:c,text:u,showConfirm:f,hideConfirm:m,textSm:i},e[2]=c,e[3]=u,e[4]=i,e[5]=r):r=e[5];const a=r;let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=S.jsx(xe,{}),e[6]=d):d=e[6];let g;return e[7]!==l||e[8]!==a?(g=S.jsxs(s.ConfirmContext.Provider,{value:a,children:[d,l]}),e[7]=l,e[8]=a,e[9]=g):g=e[9],g},te=()=>{const t=s.compilerRuntimeExports.c(43),{texts:e}=p.useContext(s.LuminusComponentsContext),{confirm:l}=e,{isShown:c,text:n,onFinish:u}=s.usePrompt(),{options:o}=p.useContext(s.PromptContext),[i,v]=p.useState(o.defaultValue??"");let y;t[0]!==u?(y=()=>{u(null)},t[0]=u,t[1]=y):y=t[1];const f=y;let C;t[2]!==u||t[3]!==o.required||t[4]!==i?(C=A=>{A.preventDefault(),!(o.required&&!i)&&(u(i),v(""))},t[2]=u,t[3]=o.required,t[4]=i,t[5]=C):C=t[5];const m=C;let r;t[6]===Symbol.for("react.memo_cache_sentinel")?(r=A=>v(A.currentTarget.value),t[6]=r):r=t[6];let a;t[7]!==i?(a={value:i,onChange:r,className:"w-100",autoFocus:!0,tabIndex:0},t[7]=i,t[8]=a):a=t[8];const d=a;let g,x;t[9]!==c||t[10]!==o.defaultValue?(g=()=>{c===!0&&v(o.defaultValue??"")},x=[c,o.defaultValue],t[9]=c,t[10]=o.defaultValue,t[11]=g,t[12]=x):(g=t[11],x=t[12]),p.useEffect(g,x);let h;t[13]!==n?(h=S.jsx(s.Modal.Header,{className:"justify-content-center",children:S.jsx(s.Modal.Title,{children:n})}),t[13]=n,t[14]=h):h=t[14];let k;t[15]!==d||t[16]!==o.input?(k=o.input==="textarea"?S.jsx("textarea",{...d,rows:5}):void 0,t[15]=d,t[16]=o.input,t[17]=k):k=t[17];let T;t[18]!==d||t[19]!==o.input||t[20]!==o.type?(T=o.input==="input"?S.jsx(s.FormControl,{...d,type:o.type}):void 0,t[18]=d,t[19]=o.input,t[20]=o.type,t[21]=T):T=t[21];let w;t[22]!==k||t[23]!==T?(w=S.jsxs(s.Modal.Body,{children:[k,T]}),t[22]=k,t[23]=T,t[24]=w):w=t[24];let E;t[25]!==l.cancel||t[26]!==f?(E=S.jsx(s.PrimaryButton,{variant:"outlined",color:"secondary",onClick:f,className:"flex-grow-1",children:l.cancel}),t[25]=l.cancel,t[26]=f,t[27]=E):E=t[27];const L=o.required&&!i;let b;t[28]!==l.confirm||t[29]!==L?(b=S.jsx(s.PrimaryButton,{color:"primary",disabled:L,type:"submit",className:"flex-grow-1",children:l.confirm}),t[28]=l.confirm,t[29]=L,t[30]=b):b=t[30];let M;t[31]!==E||t[32]!==b?(M=S.jsxs(s.Modal.Footer,{className:"w-100 d-flex gap-5",children:[E,b]}),t[31]=E,t[32]=b,t[33]=M):M=t[33];let D;t[34]!==m||t[35]!==w||t[36]!==M?(D=S.jsxs("form",{onSubmit:m,onKeyDown:ne,children:[w,M]}),t[34]=m,t[35]=w,t[36]=M,t[37]=D):D=t[37];let j;return t[38]!==c||t[39]!==f||t[40]!==D||t[41]!==h?(j=S.jsxs(s.Modal,{show:c,size:"sm",centered:!0,onHide:f,children:[h,D]}),t[38]=c,t[39]=f,t[40]=D,t[41]=h,t[42]=j):j=t[42],j};function ne(t){return t.stopPropagation()}const oe=t=>{const e=s.compilerRuntimeExports.c(11),{children:l}=t,[c,n]=p.useState(!1),[u,o]=p.useState("");let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={input:"textarea",type:"text"},e[0]=i):i=e[0];const[v,y]=p.useState(i),f=p.useRef(se);let C;e[1]===Symbol.for("react.memo_cache_sentinel")?(C=k=>{o(k),n(!0)},e[1]=C):C=e[1];const m=C;let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=()=>{n(!1)},e[2]=r):r=e[2];const a=r;let d;e[3]!==c||e[4]!==v||e[5]!==u?(d={isShown:c,text:u,showPrompt:m,hidePrompt:a,resolveRef:f,options:v,setOptions:y},e[3]=c,e[4]=v,e[5]=u,e[6]=d):d=e[6];const g=d;let x;e[7]===Symbol.for("react.memo_cache_sentinel")?(x=S.jsx(te,{}),e[7]=x):x=e[7];let h;return e[8]!==l||e[9]!==g?(h=S.jsxs(s.PromptContext.Provider,{value:g,children:[l,x]}),e[8]=l,e[9]=g,e[10]=h):h=e[10],h};function se(){}const le=t=>{const e=s.compilerRuntimeExports.c(14),{cookieDomain:l,axiosOptions:c,language:n,texts:u,ProjectIconComponent:o,localizationContext:i,chartColorPalette:v,children:y}=t;let f;e[0]!==o||e[1]!==c||e[2]!==v||e[3]!==l||e[4]!==n||e[5]!==i||e[6]!==u?(f={axiosOptions:c,cookieDomain:l,language:n,texts:u,ProjectIconComponent:o,localizationContext:i,chartColorPalette:v},e[0]=o,e[1]=c,e[2]=v,e[3]=l,e[4]=n,e[5]=i,e[6]=u,e[7]=f):f=e[7];const C=f;let m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=S.jsx(s.Fe,{}),e[8]=m):m=e[8];let r;e[9]!==y?(r=S.jsx(ee,{children:S.jsxs(oe,{children:[m,y]})}),e[9]=y,e[10]=r):r=e[10];let a;return e[11]!==C||e[12]!==r?(a=S.jsx(s.LuminusComponentsContext.Provider,{value:C,children:r}),e[11]=C,e[12]=r,e[13]=a):a=e[13],a},re=t=>{const e=s.compilerRuntimeExports.c(15),{children:l}=t,[c,n]=p.useState(!1);let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u=new Set,e[0]=u):u=e[0];const[o]=p.useState(u);let i;e[1]!==o?(i=d=>{o.add(d),n(!0)},e[1]=o,e[2]=i):i=e[2];const v=i;let y;e[3]!==o?(y=d=>{o.delete(d),o.size===0&&n(!1)},e[3]=o,e[4]=y):y=e[4];const f=y;let C;e[5]!==c||e[6]!==v||e[7]!==f?(C={isLoading:c,startLoading:v,stopLoading:f},e[5]=c,e[6]=v,e[7]=f,e[8]=C):C=e[8];const m=C;let r;e[9]!==c?(r=c&&S.jsx(F.Loading,{}),e[9]=c,e[10]=r):r=e[10];let a;return e[11]!==l||e[12]!==m||e[13]!==r?(a=S.jsxs(s.LoadingContext.Provider,{value:m,children:[r,l]}),e[11]=l,e[12]=m,e[13]=r,e[14]=a):a=e[14],a},ie=t=>{const e=s.compilerRuntimeExports.c(39),{children:l}=t,c=s.useAxios(),{msalInstance:n,getToken:u}=p.useContext(s.AuthContext),{delegation:o,setDelegation:i,setAvailableDelegations:v,refreshAvailableDelegations:y}=p.useContext(s.DelegationContext),[f,C]=p.useState(null);let m;e[0]!==u?(m=async()=>{const P=await u();P&&C(P.token)},e[0]=u,e[1]=m):m=e[1];const r=m;let a,d;e[2]!==r?(a=()=>{r()},d=[r],e[2]=r,e[3]=a,e[4]=d):(a=e[3],d=e[4]),p.useEffect(a,d);let g;if(e[5]===Symbol.for("react.memo_cache_sentinel")){e:{const P=localStorage.getItem("user")??null;if(!P){g=null;break e}g=JSON.parse(P??"")}e[5]=g}else g=e[5];const x=g;let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h={state:x?s.LoginState.LOGGED_IN:s.LoginState.LOGGED_OUT,user:x},e[6]=h):h=e[6];const[k,T]=p.useState(h);let w;e[7]!==c?(w=async P=>{let _=null;return await c.get("/user/detail",P?{headers:{Authorization:`Bearer ${P}`}}:void 0).then(B=>{_=B.data}).catch(()=>{_=null}),_},e[7]=c,e[8]=w):w=e[8];const E=w;let L;e[9]!==v||e[10]!==i?(L=()=>{localStorage.removeItem("user"),T({state:s.LoginState.LOGGED_OUT,user:null}),i(null),v(null)},e[9]=v,e[10]=i,e[11]=L):L=e[11];const b=L;let M;e[12]!==E||e[13]!==y?(M=async P=>{T({state:s.LoginState.LOGGING_IN,user:null});const _=await E(P);return _?(T({state:s.LoginState.LOGGED_IN,user:_}),localStorage.setItem("user",JSON.stringify(_)),await y(),!0):(T({state:s.LoginState.LOGIN_FAILED,user:null}),!1)},e[12]=E,e[13]=y,e[14]=M):M=e[14];const D=M;let j;e[15]!==n?(j=()=>{if(n){const P=n.addEventCallback(_=>{if(_.eventType===R.EventType.LOGIN_SUCCESS&&_.payload){const B=_.payload;C(B.accessToken)}});return()=>{P&&n.removeEventCallback(P)}}return ce},e[15]=n,e[16]=j):j=e[16];let A;e[17]!==D||e[18]!==b||e[19]!==n?(A=[n,D,b],e[17]=D,e[18]=b,e[19]=n,e[20]=A):A=e[20],p.useEffect(j,A);let q;e[21]!==D||e[22]!==b||e[23]!==i?(q=async P=>{P&&await D(P).catch(()=>{b(),i(null)})},e[21]=D,e[22]=b,e[23]=i,e[24]=q):q=e[24];const O=q;let N;e[25]!==f||e[26]!==O?(N=()=>{O(f)},e[25]=f,e[26]=O,e[27]=N):N=e[27];const $=o==null?void 0:o.id;let U;e[28]!==f||e[29]!==O||e[30]!==$?(U=[f,$,O],e[28]=f,e[29]=O,e[30]=$,e[31]=U):U=e[31],p.useEffect(N,U);let H;e[32]!==D||e[33]!==b||e[34]!==k?(H={user:k.user,userLoginState:k,loginUser:D,logoutUser:b},e[32]=D,e[33]=b,e[34]=k,e[35]=H):H=e[35];const G=H;let I;return e[36]!==l||e[37]!==G?(I=S.jsx(s.UserContext.Provider,{value:G,children:l}),e[36]=l,e[37]=G,e[38]=I):I=e[38],I};function ce(){}const K=()=>{const t=s.compilerRuntimeExports.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=S.jsx("p",{children:"Redirecting..."}),t[0]=e):e=t[0];let l;return t[1]===Symbol.for("react.memo_cache_sentinel")?(l=S.jsxs("div",{children:[e,S.jsxs("p",{children:["If you are not redirected within 10 seconds, please click"," ",S.jsx("a",{href:window.location.href.replace("/blank","/"),children:"here"})]})]}),t[1]=l):l=t[1],l},ae=t=>{const e=t==null?void 0:t.getActiveAccount();console.log("getTokenMsal activeAccount",e);const l=t==null?void 0:t.getAllAccounts();console.log("getTokenMsal allAccounts",l);const c=(l==null?void 0:l.at(0))??void 0;return console.log("getTokenMsal account",c),c?(e||t==null||t.setActiveAccount(c),c):null},ue=({...t})=>{const{inProgress:e}=z.useMsal(),{cookieDomain:l}=p.useContext(s.LuminusComponentsContext),[,c]=s.useCookies(["Authorization"]),n=p.useMemo(()=>t.useMsal?t.msalInstance:null,[t.useMsal,t.useMsal?t.msalInstance:null]),u=p.useMemo(()=>t.useMsal?t.msalScopes:[],[t.useMsal,t.useMsal?t.msalScopes:null]),o=p.useMemo(()=>t.useMsal?t.msalExtraScopes:[],[t.useMsal,t.useMsal?t.msalExtraScopes:null]),i=p.useRef(null),v=p.useRef(!1),y=p.useCallback(()=>{const r=localStorage.getItem("token");return r?{token:r,expiresOn:F.addYears(new Date(Date.now()),1)}:null},[]),f=p.useCallback(async()=>{if(console.log("getTokenMsal"),n==null)throw console.log("getTokenMsal throwing error because msalInstance is null"),new Error("getTokenMsal: msalInstance is null");if(i.current)return console.log("getTokenMsal returning tokenRequestPromise.current",i.current),i.current;const r=new Promise((a,d)=>{const g=x=>{const h=ae(n);if(!h){console.log("getTokenMsal no account found. Redirecting to login"),n==null||n.loginRedirect({scopes:u,extraScopesToConsent:o});return}n==null||n.acquireTokenSilent({scopes:u,account:h,redirectUri:t.useMsal?t.msalSilentRedirectUri:void 0}).then(k=>{x(),a({token:k.accessToken,expiresOn:k.expiresOn??new Date(Date.now())})}).catch(k=>{console.error("Error acquiring token",k),k instanceof R.InteractionRequiredAuthError&&(console.log("Silent token acquisition failed. Acquiring token using redirect"),n==null||n.acquireTokenRedirect({scopes:u,extraScopesToConsent:o}),x(),a(null)),x(),d(k)}).finally(()=>{x(),d(new Error("No access token returned from handleRedirectPromise"))})};if(console.log("getTokenMsal promise"),e!==R.InteractionStatus.None){console.log("getTokenMsal rejecting because inProgress !== InteractionStatus.None",e),d(new Error("Authentication in progress"));return}v.current?g(()=>{i.current=null}):n.handleRedirectPromise().then(x=>{if(console.log("getTokenMsal tokenResponse",x),!(x!=null&&x.accessToken)){g(()=>{i.current=null,v.current=!0});return}i.current=null,v.current=!0,a({token:x.accessToken,expiresOn:x.expiresOn??new Date(Date.now())})})});return i.current=r,r},[e,o,n,u,t.msalSilentRedirectUri,t.useMsal]),C=p.useCallback(async()=>t.useMsal?f():y(),[y,f,t.useMsal]),m=p.useMemo(()=>({useMsal:t.useMsal??!1,msalInstance:n,msalScopes:u,msalExtraScopes:o,getToken:C}),[t.useMsal,n,u,o,C]);return p.useEffect(()=>{if(t.useMsal&&n){const r=n.addEventCallback(a=>{if(a.eventType===R.EventType.LOGIN_SUCCESS||a.eventType===R.EventType.ACQUIRE_TOKEN_SUCCESS&&a.payload){const d=a.payload,g=d.account;n.setActiveAccount(g);const x=d.accessToken,h=d.expiresOn;c("Authorization",x,{path:"/",secure:!0,sameSite:"none",domain:l,expires:h??void 0})}a.error&&console.error("AuthProvider MSAL Error",a)});return()=>{r&&n.removeEventCallback(r)}}return()=>{}},[t.useMsal,n,c,l]),S.jsx(s.AuthContext.Provider,{value:m,children:t.useMsal?S.jsx(z.MsalProvider,{instance:t.msalInstance,children:window.location.pathname==="/blank"?S.jsx(K,{}):t.children}):window.location.pathname==="/blank"?S.jsx(K,{}):t.children})},de=t=>{const e=s.compilerRuntimeExports.c(18),{children:l,relativeEndpoint:c}=t,[n,u,o]=V.useLocalStorageState("user-delegation",null);let i;e:{if(!n){i=null;break e}const w=n.from?s.parseISO(n.from):Z(),E=n.to?s.parseISO(n.to):X();if(!Y(new Date(Date.now()),{start:w,end:E})){u(null),i=null;break e}i=n}const v=i;let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={nullStateBeforeLoad:!1,nullStateOnFail:!0},e[0]=y):y=e[0];const{data:f,setData:C,reloadData:m}=V.useGetApiData(c,y),r=p.useRef(null);let a,d;e[1]!==m?(a=()=>{const w=()=>{m(),r.current=window.setTimeout(w,s.msToStartOfNextDay()+5e3)};return w(),()=>{r.current!==null&&window.clearTimeout(r.current)}},d=[m],e[1]=m,e[2]=a,e[3]=d):(a=e[2],d=e[3]),p.useEffect(a,d);let g;e[4]!==o?(g=()=>{const w=()=>{o()};return window.addEventListener("focus",w),()=>{window.removeEventListener("focus",w)}},e[4]=o,e[5]=g):g=e[5];let x;e[6]!==o||e[7]!==m?(x=[o,m],e[6]=o,e[7]=m,e[8]=x):x=e[8],p.useEffect(g,x);let h;e[9]!==f||e[10]!==m||e[11]!==C||e[12]!==u||e[13]!==v?(h={delegation:v,setDelegation:u,availableDelegations:f,setAvailableDelegations:C,refreshAvailableDelegations:m},e[9]=f,e[10]=m,e[11]=C,e[12]=u,e[13]=v,e[14]=h):h=e[14];const k=h;let T;return e[15]!==l||e[16]!==k?(T=S.jsx(s.DelegationContext.Provider,{value:k,children:l}),e[15]=l,e[16]=k,e[17]=T):T=e[17],T},J=(t,e)=>t?`${t} | ${e}`:e,fe=t=>{const e=s.compilerRuntimeExports.c(18),{defaultHelmet:l,children:c,helmetPrefix:n}=t,u=n??"";let o;e[0]!==l||e[1]!==u?(o=J(u,l),e[0]=l,e[1]=u,e[2]=o):o=e[2];let i;e[3]!==o?(i=[o],e[3]=o,e[4]=i):i=e[4];const[v,y]=p.useState(i);let f;e[5]!==n?(f=T=>{y(w=>[...w,J(n??"",T)])},e[5]=n,e[6]=f):f=e[6];const C=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{y(me)},e[7]=m):m=e[7];const r=m;let a;e[8]!==v?(a=v.at(-1)??"",e[8]=v,e[9]=a):a=e[9];const d=a;let g;e[10]!==C?(g={addHelmet:C,removeHelmet:r},e[10]=C,e[11]=g):g=e[11];const x=g;let h;e[12]!==d?(h=S.jsx("title",{children:d}),e[12]=d,e[13]=h):h=e[13];let k;return e[14]!==c||e[15]!==x||e[16]!==h?(k=S.jsxs(s.HelmetContext.Provider,{value:x,children:[h,c]}),e[14]=c,e[15]=x,e[16]=h,e[17]=k):k=e[17],k};function me(t){return t.length>1?t.slice(0,-1):t}const W=50,xe=()=>{const t=s.compilerRuntimeExports.c(22),{texts:e}=p.useContext(s.LuminusComponentsContext),{confirm:l}=e,{onConfirm:c,onCancel:n,text:u,show:o,textSm:i}=s.useConfirm(),v=i===void 0?u.length>W:i,y=u.length>W;let f;t[0]!==n||t[1]!==c||t[2]!==o?(f=h=>{if(o)e:switch(h.key){case"Enter":{h.preventDefault(),h.stopPropagation(),c();break e}case"Escape":{h.preventDefault(),h.stopPropagation(),n();break e}}},t[0]=n,t[1]=c,t[2]=o,t[3]=f):f=t[3];const C=f;s.useKeyPress(C);const m=y?void 0:"sm";let r;t[4]!==v||t[5]!==u?(r=S.jsx(s.Modal.Header,{className:"justify-content-center",children:v?S.jsx(s.Typography,{variant:"body",children:u}):S.jsx(s.Modal.Title,{children:u})}),t[4]=v,t[5]=u,t[6]=r):r=t[6];let a;t[7]!==l.no||t[8]!==n?(a=S.jsx(s.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:l.no}),t[7]=l.no,t[8]=n,t[9]=a):a=t[9];let d;t[10]!==l.yes||t[11]!==c?(d=S.jsx(s.PrimaryButton,{type:"button",color:"primary",onClick:c,className:"w-100 ml",children:l.yes}),t[10]=l.yes,t[11]=c,t[12]=d):d=t[12];let g;t[13]!==a||t[14]!==d?(g=S.jsx(s.Modal.Body,{children:S.jsxs("div",{className:"w-100 d-flex gap-5",children:[a,d]})}),t[13]=a,t[14]=d,t[15]=g):g=t[15];let x;return t[16]!==n||t[17]!==o||t[18]!==m||t[19]!==r||t[20]!==g?(x=S.jsxs(s.Modal,{show:o,size:m,centered:!0,onHide:n,children:[r,g]}),t[16]=n,t[17]=o,t[18]=m,t[19]=r,t[20]=g,t[21]=x):x=t[21],x};exports.AuthContext=s.AuthContext;exports.DelegationContext=s.DelegationContext;exports.FormDisabledContext=s.FormDisabledContext;exports.HelmetContext=s.HelmetContext;exports.LoadingContext=s.LoadingContext;exports.LuminusComponentsContext=s.LuminusComponentsContext;exports.UserContext=s.UserContext;exports.useFormDisabledContext=s.useFormDisabledContext;exports.FormDisabledProvider=F.FormDisabledProvider;exports.AuthProvider=ue;exports.DelegationProvider=de;exports.HelmetProvider=fe;exports.LoadingProvider=re;exports.LuminusComponentsProvider=le;exports.UserProvider=ie;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ShortcutLinksContext-CzUA0Bw_.cjs"),S=require("react/jsx-runtime"),k=require("react"),R=require("@azure/msal-browser"),z=require("@azure/msal-react");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");const B=require("./FormDisabledProvider--0DdMCBK.cjs"),V=require("./useLocalStorageState-nJ8QPdoa.cjs");function Q(t){const e=s.toDate(t);return e.setHours(23,59,59,999),e}function X(){return Q(Date.now())}function Y(t,e){const l=+s.toDate(t),[c,n]=[+s.toDate(e.start),+s.toDate(e.end)].sort((u,o)=>u-o);return l>=c&&l<=n}function Z(){return s.startOfDay(Date.now())}const ee=t=>{const e=s.compilerRuntimeExports.c(10),{children:l}=t,[c,n]=k.useState(!1),[u,o]=k.useState(""),[i,v]=k.useState(void 0);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=(x,h)=>{n(!0),o(x),v(h)},e[0]=y):y=e[0];const f=y;let C;e[1]===Symbol.for("react.memo_cache_sentinel")?(C=()=>{n(!1)},e[1]=C):C=e[1];const m=C;let r;e[2]!==c||e[3]!==u||e[4]!==i?(r={show:c,text:u,showConfirm:f,hideConfirm:m,textSm:i},e[2]=c,e[3]=u,e[4]=i,e[5]=r):r=e[5];const a=r;let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=S.jsx(xe,{}),e[6]=d):d=e[6];let g;return e[7]!==l||e[8]!==a?(g=S.jsxs(s.ConfirmContext.Provider,{value:a,children:[d,l]}),e[7]=l,e[8]=a,e[9]=g):g=e[9],g},te=()=>{const t=s.compilerRuntimeExports.c(43),{texts:e}=k.useContext(s.LuminusComponentsContext),{confirm:l}=e,{isShown:c,text:n,onFinish:u}=s.usePrompt(),{options:o}=k.useContext(s.PromptContext),[i,v]=k.useState(o.defaultValue??"");let y;t[0]!==u?(y=()=>{u(null)},t[0]=u,t[1]=y):y=t[1];const f=y;let C;t[2]!==u||t[3]!==o.required||t[4]!==i?(C=A=>{A.preventDefault(),!(o.required&&!i)&&(u(i),v(""))},t[2]=u,t[3]=o.required,t[4]=i,t[5]=C):C=t[5];const m=C;let r;t[6]===Symbol.for("react.memo_cache_sentinel")?(r=A=>v(A.currentTarget.value),t[6]=r):r=t[6];let a;t[7]!==i?(a={value:i,onChange:r,className:"w-100",autoFocus:!0,tabIndex:0},t[7]=i,t[8]=a):a=t[8];const d=a;let g,x;t[9]!==c||t[10]!==o.defaultValue?(g=()=>{c===!0&&v(o.defaultValue??"")},x=[c,o.defaultValue],t[9]=c,t[10]=o.defaultValue,t[11]=g,t[12]=x):(g=t[11],x=t[12]),k.useEffect(g,x);let h;t[13]!==n?(h=S.jsx(s.Modal.Header,{className:"justify-content-center",children:S.jsx(s.Modal.Title,{children:n})}),t[13]=n,t[14]=h):h=t[14];let p;t[15]!==d||t[16]!==o.input?(p=o.input==="textarea"?S.jsx("textarea",{...d,rows:5}):void 0,t[15]=d,t[16]=o.input,t[17]=p):p=t[17];let T;t[18]!==d||t[19]!==o.input||t[20]!==o.type?(T=o.input==="input"?S.jsx(s.FormControl,{...d,type:o.type}):void 0,t[18]=d,t[19]=o.input,t[20]=o.type,t[21]=T):T=t[21];let w;t[22]!==p||t[23]!==T?(w=S.jsxs(s.Modal.Body,{children:[p,T]}),t[22]=p,t[23]=T,t[24]=w):w=t[24];let E;t[25]!==l.cancel||t[26]!==f?(E=S.jsx(s.PrimaryButton,{variant:"outlined",color:"secondary",onClick:f,className:"flex-grow-1",children:l.cancel}),t[25]=l.cancel,t[26]=f,t[27]=E):E=t[27];const j=o.required&&!i;let b;t[28]!==l.confirm||t[29]!==j?(b=S.jsx(s.PrimaryButton,{color:"primary",disabled:j,type:"submit",className:"flex-grow-1",children:l.confirm}),t[28]=l.confirm,t[29]=j,t[30]=b):b=t[30];let M;t[31]!==E||t[32]!==b?(M=S.jsxs(s.Modal.Footer,{className:"w-100 d-flex gap-5",children:[E,b]}),t[31]=E,t[32]=b,t[33]=M):M=t[33];let D;t[34]!==m||t[35]!==w||t[36]!==M?(D=S.jsxs("form",{onSubmit:m,onKeyDown:ne,children:[w,M]}),t[34]=m,t[35]=w,t[36]=M,t[37]=D):D=t[37];let L;return t[38]!==c||t[39]!==f||t[40]!==D||t[41]!==h?(L=S.jsxs(s.Modal,{show:c,size:"sm",centered:!0,onHide:f,children:[h,D]}),t[38]=c,t[39]=f,t[40]=D,t[41]=h,t[42]=L):L=t[42],L};function ne(t){return t.stopPropagation()}const oe=t=>{const e=s.compilerRuntimeExports.c(11),{children:l}=t,[c,n]=k.useState(!1),[u,o]=k.useState("");let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={input:"textarea",type:"text"},e[0]=i):i=e[0];const[v,y]=k.useState(i),f=k.useRef(se);let C;e[1]===Symbol.for("react.memo_cache_sentinel")?(C=p=>{o(p),n(!0)},e[1]=C):C=e[1];const m=C;let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=()=>{n(!1)},e[2]=r):r=e[2];const a=r;let d;e[3]!==c||e[4]!==v||e[5]!==u?(d={isShown:c,text:u,showPrompt:m,hidePrompt:a,resolveRef:f,options:v,setOptions:y},e[3]=c,e[4]=v,e[5]=u,e[6]=d):d=e[6];const g=d;let x;e[7]===Symbol.for("react.memo_cache_sentinel")?(x=S.jsx(te,{}),e[7]=x):x=e[7];let h;return e[8]!==l||e[9]!==g?(h=S.jsxs(s.PromptContext.Provider,{value:g,children:[l,x]}),e[8]=l,e[9]=g,e[10]=h):h=e[10],h};function se(){}const le=t=>{const e=s.compilerRuntimeExports.c(14),{cookieDomain:l,axiosOptions:c,language:n,texts:u,ProjectIconComponent:o,localizationContext:i,chartColorPalette:v,children:y}=t;let f;e[0]!==o||e[1]!==c||e[2]!==v||e[3]!==l||e[4]!==n||e[5]!==i||e[6]!==u?(f={axiosOptions:c,cookieDomain:l,language:n,texts:u,ProjectIconComponent:o,localizationContext:i,chartColorPalette:v},e[0]=o,e[1]=c,e[2]=v,e[3]=l,e[4]=n,e[5]=i,e[6]=u,e[7]=f):f=e[7];const C=f;let m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=S.jsx(s.Fe,{}),e[8]=m):m=e[8];let r;e[9]!==y?(r=S.jsx(ee,{children:S.jsxs(oe,{children:[m,y]})}),e[9]=y,e[10]=r):r=e[10];let a;return e[11]!==C||e[12]!==r?(a=S.jsx(s.LuminusComponentsContext.Provider,{value:C,children:r}),e[11]=C,e[12]=r,e[13]=a):a=e[13],a},re=t=>{const e=s.compilerRuntimeExports.c(15),{children:l}=t,[c,n]=k.useState(!1);let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u=new Set,e[0]=u):u=e[0];const[o]=k.useState(u);let i;e[1]!==o?(i=d=>{o.add(d),n(!0)},e[1]=o,e[2]=i):i=e[2];const v=i;let y;e[3]!==o?(y=d=>{o.delete(d),o.size===0&&n(!1)},e[3]=o,e[4]=y):y=e[4];const f=y;let C;e[5]!==c||e[6]!==v||e[7]!==f?(C={isLoading:c,startLoading:v,stopLoading:f},e[5]=c,e[6]=v,e[7]=f,e[8]=C):C=e[8];const m=C;let r;e[9]!==c?(r=c&&S.jsx(B.Loading,{}),e[9]=c,e[10]=r):r=e[10];let a;return e[11]!==l||e[12]!==m||e[13]!==r?(a=S.jsxs(s.LoadingContext.Provider,{value:m,children:[r,l]}),e[11]=l,e[12]=m,e[13]=r,e[14]=a):a=e[14],a},ie=t=>{const e=s.compilerRuntimeExports.c(39),{children:l}=t,c=s.useAxios(),{msalInstance:n,getToken:u}=k.useContext(s.AuthContext),{delegation:o,setDelegation:i,setAvailableDelegations:v,refreshAvailableDelegations:y}=k.useContext(s.DelegationContext),[f,C]=k.useState(null);let m;e[0]!==u?(m=async()=>{const P=await u();P&&C(P.token)},e[0]=u,e[1]=m):m=e[1];const r=m;let a,d;e[2]!==r?(a=()=>{r()},d=[r],e[2]=r,e[3]=a,e[4]=d):(a=e[3],d=e[4]),k.useEffect(a,d);let g;if(e[5]===Symbol.for("react.memo_cache_sentinel")){e:{const P=localStorage.getItem("user")??null;if(!P){g=null;break e}g=JSON.parse(P??"")}e[5]=g}else g=e[5];const x=g;let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h={state:x?s.LoginState.LOGGED_IN:s.LoginState.LOGGED_OUT,user:x},e[6]=h):h=e[6];const[p,T]=k.useState(h);let w;e[7]!==c?(w=async P=>{let _=null;return await c.get("/user/detail",P?{headers:{Authorization:`Bearer ${P}`}}:void 0).then(F=>{_=F.data}).catch(()=>{_=null}),_},e[7]=c,e[8]=w):w=e[8];const E=w;let j;e[9]!==v||e[10]!==i?(j=()=>{localStorage.removeItem("user"),T({state:s.LoginState.LOGGED_OUT,user:null}),i(null),v(null)},e[9]=v,e[10]=i,e[11]=j):j=e[11];const b=j;let M;e[12]!==E||e[13]!==y?(M=async P=>{T({state:s.LoginState.LOGGING_IN,user:null});const _=await E(P);return _?(T({state:s.LoginState.LOGGED_IN,user:_}),localStorage.setItem("user",JSON.stringify(_)),await y(),!0):(T({state:s.LoginState.LOGIN_FAILED,user:null}),!1)},e[12]=E,e[13]=y,e[14]=M):M=e[14];const D=M;let L;e[15]!==n?(L=()=>{if(n){const P=n.addEventCallback(_=>{if(_.eventType===R.EventType.LOGIN_SUCCESS&&_.payload){const F=_.payload;C(F.accessToken)}});return()=>{P&&n.removeEventCallback(P)}}return ce},e[15]=n,e[16]=L):L=e[16];let A;e[17]!==D||e[18]!==b||e[19]!==n?(A=[n,D,b],e[17]=D,e[18]=b,e[19]=n,e[20]=A):A=e[20],k.useEffect(L,A);let q;e[21]!==D||e[22]!==b||e[23]!==i?(q=async P=>{P&&await D(P).catch(()=>{b(),i(null)})},e[21]=D,e[22]=b,e[23]=i,e[24]=q):q=e[24];const O=q;let N;e[25]!==f||e[26]!==O?(N=()=>{O(f)},e[25]=f,e[26]=O,e[27]=N):N=e[27];const $=o==null?void 0:o.id;let U;e[28]!==f||e[29]!==O||e[30]!==$?(U=[f,$,O],e[28]=f,e[29]=O,e[30]=$,e[31]=U):U=e[31],k.useEffect(N,U);let H;e[32]!==D||e[33]!==b||e[34]!==p?(H={user:p.user,userLoginState:p,loginUser:D,logoutUser:b},e[32]=D,e[33]=b,e[34]=p,e[35]=H):H=e[35];const G=H;let I;return e[36]!==l||e[37]!==G?(I=S.jsx(s.UserContext.Provider,{value:G,children:l}),e[36]=l,e[37]=G,e[38]=I):I=e[38],I};function ce(){}const K=()=>{const t=s.compilerRuntimeExports.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=S.jsx("p",{children:"Redirecting..."}),t[0]=e):e=t[0];let l;return t[1]===Symbol.for("react.memo_cache_sentinel")?(l=S.jsxs("div",{children:[e,S.jsxs("p",{children:["If you are not redirected within 10 seconds, please click"," ",S.jsx("a",{href:window.location.href.replace("/blank","/"),children:"here"})]})]}),t[1]=l):l=t[1],l},ae=t=>{const e=t==null?void 0:t.getActiveAccount();console.log("getTokenMsal activeAccount",e);const l=t==null?void 0:t.getAllAccounts();console.log("getTokenMsal allAccounts",l);const c=(l==null?void 0:l.at(0))??void 0;return console.log("getTokenMsal account",c),c?(e||t==null||t.setActiveAccount(c),c):null},ue=({...t})=>{const{inProgress:e}=z.useMsal(),{cookieDomain:l}=k.useContext(s.LuminusComponentsContext),[,c]=s.useCookies(["Authorization"]),n=k.useMemo(()=>t.useMsal?t.msalInstance:null,[t.useMsal,t.useMsal?t.msalInstance:null]),u=k.useMemo(()=>t.useMsal?t.msalScopes:[],[t.useMsal,t.useMsal?t.msalScopes:null]),o=k.useMemo(()=>t.useMsal?t.msalExtraScopes:[],[t.useMsal,t.useMsal?t.msalExtraScopes:null]),i=k.useRef(null),v=k.useRef(!1),y=k.useCallback(()=>{const r=localStorage.getItem("token");return r?{token:r,expiresOn:B.addYears(new Date(Date.now()),1)}:null},[]),f=k.useCallback(async()=>{if(console.log("getTokenMsal"),n==null)throw console.log("getTokenMsal throwing error because msalInstance is null"),new Error("getTokenMsal: msalInstance is null");if(i.current)return console.log("getTokenMsal returning tokenRequestPromise.current",i.current),i.current;const r=new Promise((a,d)=>{const g=x=>{const h=ae(n);if(!h){console.log("getTokenMsal no account found. Redirecting to login"),n==null||n.loginRedirect({scopes:u,extraScopesToConsent:o});return}n==null||n.acquireTokenSilent({scopes:u,account:h,redirectUri:t.useMsal?t.msalSilentRedirectUri:void 0}).then(p=>{x(),a({token:p.accessToken,expiresOn:p.expiresOn??new Date(Date.now())})}).catch(p=>{console.error("Error acquiring token",p),p instanceof R.InteractionRequiredAuthError&&(console.log("Silent token acquisition failed. Acquiring token using redirect"),n==null||n.acquireTokenRedirect({scopes:u,extraScopesToConsent:o}),x(),a(null)),x(),d(p)}).finally(()=>{x(),d(new Error("No access token returned from handleRedirectPromise"))})};if(console.log("getTokenMsal promise"),e!==R.InteractionStatus.None){console.log("getTokenMsal rejecting because inProgress !== InteractionStatus.None",e),d(new Error("Authentication in progress"));return}v.current?g(()=>{i.current=null}):n.handleRedirectPromise().then(x=>{if(console.log("getTokenMsal tokenResponse",x),!(x!=null&&x.accessToken)){g(()=>{i.current=null,v.current=!0});return}i.current=null,v.current=!0,a({token:x.accessToken,expiresOn:x.expiresOn??new Date(Date.now())})})});return i.current=r,r},[e,o,n,u,t.msalSilentRedirectUri,t.useMsal]),C=k.useCallback(async()=>t.useMsal?f():y(),[y,f,t.useMsal]),m=k.useMemo(()=>({useMsal:t.useMsal??!1,msalInstance:n,msalScopes:u,msalExtraScopes:o,getToken:C}),[t.useMsal,n,u,o,C]);return k.useEffect(()=>{if(t.useMsal&&n){const r=n.addEventCallback(a=>{if(a.eventType===R.EventType.LOGIN_SUCCESS||a.eventType===R.EventType.ACQUIRE_TOKEN_SUCCESS&&a.payload){const d=a.payload,g=d.account;n.setActiveAccount(g);const x=d.accessToken,h=d.expiresOn;c("Authorization",x,{path:"/",secure:!0,sameSite:"none",domain:l,expires:h??void 0})}a.error&&console.error("AuthProvider MSAL Error",a)});return()=>{r&&n.removeEventCallback(r)}}return()=>{}},[t.useMsal,n,c,l]),S.jsx(s.AuthContext.Provider,{value:m,children:t.useMsal?S.jsx(z.MsalProvider,{instance:t.msalInstance,children:window.location.pathname==="/blank"?S.jsx(K,{}):t.children}):window.location.pathname==="/blank"?S.jsx(K,{}):t.children})},de=t=>{const e=s.compilerRuntimeExports.c(18),{children:l,relativeEndpoint:c}=t,[n,u,o]=V.useLocalStorageState("user-delegation",null);let i;e:{if(!n){i=null;break e}const w=n.from?s.parseISO(n.from):Z(),E=n.to?s.parseISO(n.to):X();if(!Y(new Date(Date.now()),{start:w,end:E})){u(null),i=null;break e}i=n}const v=i;let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={nullStateBeforeLoad:!1,nullStateOnFail:!0},e[0]=y):y=e[0];const{data:f,setData:C,reloadData:m}=V.useGetApiData(c,y),r=k.useRef(null);let a,d;e[1]!==m?(a=()=>{const w=()=>{m(),r.current=window.setTimeout(w,s.msToStartOfNextDay()+5e3)};return w(),()=>{r.current!==null&&window.clearTimeout(r.current)}},d=[m],e[1]=m,e[2]=a,e[3]=d):(a=e[2],d=e[3]),k.useEffect(a,d);let g;e[4]!==o?(g=()=>{const w=()=>{o()};return window.addEventListener("focus",w),()=>{window.removeEventListener("focus",w)}},e[4]=o,e[5]=g):g=e[5];let x;e[6]!==o||e[7]!==m?(x=[o,m],e[6]=o,e[7]=m,e[8]=x):x=e[8],k.useEffect(g,x);let h;e[9]!==f||e[10]!==m||e[11]!==C||e[12]!==u||e[13]!==v?(h={delegation:v,setDelegation:u,availableDelegations:f,setAvailableDelegations:C,refreshAvailableDelegations:m},e[9]=f,e[10]=m,e[11]=C,e[12]=u,e[13]=v,e[14]=h):h=e[14];const p=h;let T;return e[15]!==l||e[16]!==p?(T=S.jsx(s.DelegationContext.Provider,{value:p,children:l}),e[15]=l,e[16]=p,e[17]=T):T=e[17],T},J=(t,e)=>t?`${t} | ${e}`:e,fe=t=>{const e=s.compilerRuntimeExports.c(18),{defaultHelmet:l,children:c,helmetPrefix:n}=t,u=n??"";let o;e[0]!==l||e[1]!==u?(o=J(u,l),e[0]=l,e[1]=u,e[2]=o):o=e[2];let i;e[3]!==o?(i=[o],e[3]=o,e[4]=i):i=e[4];const[v,y]=k.useState(i);let f;e[5]!==n?(f=T=>{y(w=>[...w,J(n??"",T)])},e[5]=n,e[6]=f):f=e[6];const C=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{y(me)},e[7]=m):m=e[7];const r=m;let a;e[8]!==v?(a=v.at(-1)??"",e[8]=v,e[9]=a):a=e[9];const d=a;let g;e[10]!==C?(g={addHelmet:C,removeHelmet:r},e[10]=C,e[11]=g):g=e[11];const x=g;let h;e[12]!==d?(h=S.jsx("title",{children:d}),e[12]=d,e[13]=h):h=e[13];let p;return e[14]!==c||e[15]!==x||e[16]!==h?(p=S.jsxs(s.HelmetContext.Provider,{value:x,children:[h,c]}),e[14]=c,e[15]=x,e[16]=h,e[17]=p):p=e[17],p};function me(t){return t.length>1?t.slice(0,-1):t}const W=50,xe=()=>{const t=s.compilerRuntimeExports.c(22),{texts:e}=k.useContext(s.LuminusComponentsContext),{confirm:l}=e,{onConfirm:c,onCancel:n,text:u,show:o,textSm:i}=s.useConfirm(),v=i===void 0?u.length>W:i,y=u.length>W;let f;t[0]!==n||t[1]!==c||t[2]!==o?(f=h=>{if(o)e:switch(h.key){case"Enter":{h.preventDefault(),h.stopPropagation(),c();break e}case"Escape":{h.preventDefault(),h.stopPropagation(),n();break e}}},t[0]=n,t[1]=c,t[2]=o,t[3]=f):f=t[3];const C=f;s.useKeyPress(C);const m=y?void 0:"sm";let r;t[4]!==v||t[5]!==u?(r=S.jsx(s.Modal.Header,{className:"justify-content-center",children:v?S.jsx(s.Typography,{variant:"body",children:u}):S.jsx(s.Modal.Title,{children:u})}),t[4]=v,t[5]=u,t[6]=r):r=t[6];let a;t[7]!==l.no||t[8]!==n?(a=S.jsx(s.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:l.no}),t[7]=l.no,t[8]=n,t[9]=a):a=t[9];let d;t[10]!==l.yes||t[11]!==c?(d=S.jsx(s.PrimaryButton,{type:"button",color:"primary",onClick:c,className:"w-100 ml",children:l.yes}),t[10]=l.yes,t[11]=c,t[12]=d):d=t[12];let g;t[13]!==a||t[14]!==d?(g=S.jsx(s.Modal.Body,{children:S.jsxs("div",{className:"w-100 d-flex gap-5",children:[a,d]})}),t[13]=a,t[14]=d,t[15]=g):g=t[15];let x;return t[16]!==n||t[17]!==o||t[18]!==m||t[19]!==r||t[20]!==g?(x=S.jsxs(s.Modal,{show:o,size:m,centered:!0,onHide:n,children:[r,g]}),t[16]=n,t[17]=o,t[18]=m,t[19]=r,t[20]=g,t[21]=x):x=t[21],x};exports.AuthContext=s.AuthContext;exports.DelegationContext=s.DelegationContext;exports.FormDisabledContext=s.FormDisabledContext;exports.HelmetContext=s.HelmetContext;exports.LoadingContext=s.LoadingContext;exports.LuminusComponentsContext=s.LuminusComponentsContext;exports.UserContext=s.UserContext;exports.useFormDisabledContext=s.useFormDisabledContext;exports.FormDisabledProvider=B.FormDisabledProvider;exports.AuthProvider=ue;exports.DelegationProvider=de;exports.HelmetProvider=fe;exports.LoadingProvider=re;exports.LuminusComponentsProvider=le;exports.UserProvider=ie;
@@ -1,5 +1,5 @@
1
- import { t as j, bK as ce, c as A, bL as ae, Q as J, am as ue, bM as se, a4 as O, aj as fe, R as V, bN as de, aq as me, ao as he, bc as re, bx as ie, be as G, ap as ge, bO as Se, aE as te, bP as xe, bQ as ye, an as ve, b7 as be, a5 as ke } from "./nivo-bar-BHzU38wt.js";
2
- import { bR as ct, ag as at } from "./nivo-bar-BHzU38wt.js";
1
+ import { t as V, bK as ce, c as A, bL as ae, Q as J, bt as ue, bM as se, a0 as O, bi as fe, R as j, bN as de, aZ as me, az as he, at as re, bk as ie, aw as G, av as ge, bO as Se, aR as te, bP as xe, bQ as ye, aT as ve, ak as be, a2 as ke } from "./ShortcutLinksContext-DGg3i3jj.js";
2
+ import { bR as ct, bf as at } from "./ShortcutLinksContext-DGg3i3jj.js";
3
3
  import { jsxs as D, jsx as b } from "react/jsx-runtime";
4
4
  import { useState as _, useContext as H, useEffect as U, useRef as Q, useMemo as K, useCallback as Z } from "react";
5
5
  import { EventType as ee, InteractionStatus as we, InteractionRequiredAuthError as Te } from "@azure/msal-browser";
@@ -8,20 +8,20 @@ import "react-router";
8
8
  import "react-dom";
9
9
  import "react-hook-form";
10
10
  import "react-flexmonster";
11
- import { L as De, b as Pe } from "./FormDisabledProvider-BlRae2l2.js";
12
- import { F as ft } from "./FormDisabledProvider-BlRae2l2.js";
13
- import { a as _e, u as Me } from "./useLocalStorageState-B2v6hClT.js";
11
+ import { L as De, b as Pe } from "./FormDisabledProvider-CQ3lr_vU.js";
12
+ import { F as ft } from "./FormDisabledProvider-CQ3lr_vU.js";
13
+ import { a as _e, u as Me } from "./useLocalStorageState-9W8xZxsD.js";
14
14
  function Ee(t) {
15
- const e = j(t);
15
+ const e = V(t);
16
16
  return e.setHours(23, 59, 59, 999), e;
17
17
  }
18
18
  function Ae() {
19
19
  return Ee(Date.now());
20
20
  }
21
21
  function Le(t, e) {
22
- const l = +j(t), [i, n] = [
23
- +j(e.start),
24
- +j(e.end)
22
+ const l = +V(t), [i, n] = [
23
+ +V(e.start),
24
+ +V(e.end)
25
25
  ].sort((a, o) => a - o);
26
26
  return l >= i && l <= n;
27
27
  }
@@ -107,10 +107,10 @@ const Ne = (t) => {
107
107
  w
108
108
  ] }), t[22] = v, t[23] = w, t[24] = k) : k = t[24];
109
109
  let P;
110
- t[25] !== l.cancel || t[26] !== f ? (P = /* @__PURE__ */ b(V, { variant: "outlined", color: "secondary", onClick: f, className: "flex-grow-1", children: l.cancel }), t[25] = l.cancel, t[26] = f, t[27] = P) : P = t[27];
110
+ t[25] !== l.cancel || t[26] !== f ? (P = /* @__PURE__ */ b(j, { variant: "outlined", color: "secondary", onClick: f, className: "flex-grow-1", children: l.cancel }), t[25] = l.cancel, t[26] = f, t[27] = P) : P = t[27];
111
111
  const N = o.required && !r;
112
112
  let T;
113
- t[28] !== l.confirm || t[29] !== N ? (T = /* @__PURE__ */ b(V, { color: "primary", disabled: N, type: "submit", className: "flex-grow-1", children: l.confirm }), t[28] = l.confirm, t[29] = N, t[30] = T) : T = t[30];
113
+ t[28] !== l.confirm || t[29] !== N ? (T = /* @__PURE__ */ b(j, { color: "primary", disabled: N, type: "submit", className: "flex-grow-1", children: l.confirm }), t[28] = l.confirm, t[29] = N, t[30] = T) : T = t[30];
114
114
  let M;
115
115
  t[31] !== P || t[32] !== T ? (M = /* @__PURE__ */ D(O.Footer, { className: "w-100 d-flex gap-5", children: [
116
116
  P,
@@ -620,9 +620,9 @@ const le = 50, ze = () => {
620
620
  let s;
621
621
  t[4] !== x || t[5] !== a ? (s = /* @__PURE__ */ b(O.Header, { className: "justify-content-center", children: x ? /* @__PURE__ */ b(ke, { variant: "body", children: a }) : /* @__PURE__ */ b(O.Title, { children: a }) }), t[4] = x, t[5] = a, t[6] = s) : s = t[6];
622
622
  let c;
623
- t[7] !== l.no || t[8] !== n ? (c = /* @__PURE__ */ b(V, { type: "button", variant: "outlined", color: "secondary", className: "w-100", onClick: n, children: l.no }), t[7] = l.no, t[8] = n, t[9] = c) : c = t[9];
623
+ t[7] !== l.no || t[8] !== n ? (c = /* @__PURE__ */ b(j, { type: "button", variant: "outlined", color: "secondary", className: "w-100", onClick: n, children: l.no }), t[7] = l.no, t[8] = n, t[9] = c) : c = t[9];
624
624
  let u;
625
- t[10] !== l.yes || t[11] !== i ? (u = /* @__PURE__ */ b(V, { type: "button", color: "primary", onClick: i, className: "w-100 ml", children: l.yes }), t[10] = l.yes, t[11] = i, t[12] = u) : u = t[12];
625
+ t[10] !== l.yes || t[11] !== i ? (u = /* @__PURE__ */ b(j, { type: "button", color: "primary", onClick: i, className: "w-100 ml", children: l.yes }), t[10] = l.yes, t[11] = i, t[12] = u) : u = t[12];
626
626
  let h;
627
627
  t[13] !== c || t[14] !== u ? (h = /* @__PURE__ */ b(O.Body, { children: /* @__PURE__ */ D("div", { className: "w-100 d-flex gap-5", children: [
628
628
  c,
@@ -1,2 +1,5 @@
1
+ /**
2
+ * @deprecated use usePersistentState(key, initState, localStorage) instead
3
+ */
1
4
  declare const useLocalStorageState: <T>(key: string, initialValue: T) => readonly [T, import('react').Dispatch<import('react').SetStateAction<T>>, () => void];
2
5
  export default useLocalStorageState;
@@ -1,2 +1,16 @@
1
- declare const usePersistentState: <T>(key: string, initialValue: T, storage?: Storage) => readonly [T, (newValue: T) => void];
1
+ /**
2
+ * usePersistentState is a custom React hook for synchronizing state with a persistent storage (e.g., localStorage).
3
+ * It provides a stateful value and a setter function, similar to useState, but persists the value under a given key.
4
+ * Changes to the value from other tabs or windows are synchronized using a custom event system.
5
+ *
6
+ * @template T The type of the stored value.
7
+ * @param {string} key - The key under which the value is stored in the provided storage.
8
+ * @param {T} initialValue - The initial value to use if storage does not have a value.
9
+ * @param {Storage} [storage=localStorage] - The Storage object to use (defaults to localStorage).
10
+ * @returns {[T, (newValue: React.SetStateAction<T>) => void]} - Returns a tuple with the current value and a setter.
11
+ *
12
+ * @example
13
+ * const [count, setCount] = usePersistentState<number>('counter', 0, queryStorage);
14
+ */
15
+ declare const usePersistentState: <T>(key: string, initialValue: T, storage?: Storage) => readonly [T, (newValue: React.SetStateAction<T>) => void];
2
16
  export default usePersistentState;
@@ -4,14 +4,15 @@ import { SetStateAction } from 'react';
4
4
  type SupportedTypes = number | string | boolean | null | object | Date;
5
5
  type SupportedTypesLiterals = ToLiteral<SupportedTypes> | 'date';
6
6
  /**
7
- * Setting two states at once results in unexpected behaviour. For that case use react-router-dom setSearchParams of useSearchParams.
8
- * It might not always return correct state for Union of different types or numbers in string (for example '50' returns as 50) can be overwritten by setting typeOverride which is also required for Date.
7
+ * @deprecated use usePersistentState(key, initState, queryStorage) instead
8
+ * @ It might not always return correct state for Union of different types or numbers in string (for example '50' returns as 50) can be overwritten by setting typeOverride which is also required for Date.
9
+ * @bug Setting two states at once results in unexpected behaviour. For that case use react-router-dom setSearchParams of useSearchParams.
9
10
  * @template T type to apply to returned state and parameter of setState
10
11
  * @param paramKey key by which the value gets saved in query param
11
- * @param defaultState value of state if query param is absent or invalid
12
+ * @param initState value of state if query param is absent or invalid
12
13
  * @param typeOverride Brute forces state to always be this type.
13
14
  * @returns [T extends SupportedTypes, (newState: T) => void]
14
15
  * @todo fix a bug when you call setState on 2 different queryStates at once - it doesn't set up values properly; seems to be problem with setSearch - it doesn't get updated and second setState is called stale; #USQSdup
15
16
  */
16
- declare const useSearchQueryState: <T extends SupportedTypes>(paramKey: string, defaultState: T, typeOverride?: SupportedTypesLiterals) => readonly [T, (newValue: SetStateAction<T> | T) => void];
17
+ declare const useSearchQueryState: <T extends SupportedTypes>(paramKey: string, initState: T, typeOverride?: SupportedTypesLiterals) => readonly [T, (newValue: SetStateAction<T> | T) => void];
17
18
  export default useSearchQueryState;
package/dist/hooks.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./nivo-bar-C1VYGnTR.cjs"),K=require("./useLocalStorageState-AB4BFfn5.cjs"),d=require("react"),F=require("./useIsFormDirty-BhBtGgzZ.cjs");require("react/jsx-runtime");require("react-router");const H=require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-react");require("@azure/msal-browser");const T=new Map;function Q(t,r){const e=a.useAxios({silent:!0,differentBaseUrl:r==null?void 0:r.customBaseUrl,customToken:r==null?void 0:r.customToken}),s=d.useRef(null);if(!T.has(t)){if(!e.interceptorsUsed)return null;const f=e.get(t).then(n=>(T.set(t,{status:"success",data:n.data}),s.current=setTimeout(()=>{T.delete(t),s.current=null},1e3*10),n.data)).catch(n=>{throw T.set(t,{status:"error",error:n}),s.current=setTimeout(()=>{T.delete(t),s.current=null},1e3*1),n});throw T.set(t,{status:"pending",promise:f}),f}const o=T.get(t);if(o.status==="pending")throw o.promise;if(o.status==="error")throw o.error;return o.data}const _=t=>r=>(window.addEventListener(`storage_${t}`,r),()=>window.removeEventListener(`storage_${t}`,r)),J=(t,r,e)=>{const s=a.compilerRuntimeExports.c(14),o=e===void 0?localStorage:e,[f]=d.useState(r);let n;s[0]!==r?(n=JSON.stringify(r),s[0]=r,s[1]=n):n=s[1];const l=d.useRef(n),w=d.useRef(r);let h;s[2]!==t||s[3]!==f||s[4]!==o?(h=()=>{const g=o.getItem(t);return g!==l.current&&(l.current=g,w.current=l.current?JSON.parse(l.current):f),w.current},s[2]=t,s[3]=f,s[4]=o,s[5]=h):h=s[5];const D=h;let m;s[6]!==t?(m=_(t),s[6]=t,s[7]=m):m=s[7];const y=m,i=d.useSyncExternalStore(y,D);let u;s[8]!==t||s[9]!==o?(u=g=>{o.setItem(t,JSON.stringify(g)),window.dispatchEvent(new Event(`storage_${t}`))},s[8]=t,s[9]=o,s[10]=u):u=s[10];const c=u;let v;return s[11]!==c||s[12]!==i?(v=[i,c],s[11]=c,s[12]=i,s[13]=v):v=s[13],v},M=(t,r,e)=>{let s="pending",o;const f=t.then(n=>{s="success",o=n},n=>{const l=n==null?void 0:n.response;(l==null?void 0:l.status)===404&&e?(s="error-404",o=n):(s="error",o=n)});return()=>{switch(s){case"pending":throw f;case"success":return o;case"error":if(o.code==="ERR_CANCELED")return null;throw o;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},b={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},W=(t,r)=>{const e=a.compilerRuntimeExports.c(26),{loadOnInit:s,enabled:o,silent:f,nullStateBeforeLoad:n,nullStateOnFail:l,customApiUrl:w,customBearerToken:h,dataTransformer:D,errorBoundaryOn404:m}=r===void 0?b:r,y=s===void 0?b.loadOnInit:s,i=o===void 0?b.enabled:o,u=f===void 0?b.silent:f,c=n===void 0?b.nullStateBeforeLoad:n,v=l===void 0?b.nullStateOnFail:l;let p;e[0]!==m?(p=m?[404]:void 0,e[0]=m,e[1]=p):p=e[1];let g;e[2]!==w||e[3]!==h||e[4]!==u||e[5]!==p?(g={silent:u,customToken:h,differentBaseUrl:w,noToastOnStatus:p},e[2]=w,e[3]=h,e[4]=u,e[5]=p,e[6]=g):g=e[6];const E=a.useAxios(g),{startLoading:I,stopLoading:S}=d.useContext(a.LoadingContext),O=d.useRef(0),{isAuthenticated:P}=a.useAuth(),[R,N]=d.useState(null);let A;e[7]!==E||e[8]!==D||e[9]!==i||e[10]!==m||e[11]!==P||e[12]!==c||e[13]!==v||e[14]!==u||e[15]!==I||e[16]!==S||e[17]!==t?(A=async(x,V)=>{if(!P()||i===!1)return;!u&&I(`loadData-${t}-${V}`),c&&N(null);const U=E.get(t,{signal:x}).then(G=>D?D(G.data):G.data).finally(()=>!u&&S(`loadData-${t}-${V}`));N(M(U,v??!1,m??!1))},e[7]=E,e[8]=D,e[9]=i,e[10]=m,e[11]=P,e[12]=c,e[13]=v,e[14]=u,e[15]=I,e[16]=S,e[17]=t,e[18]=A):A=e[18];const C=A;let q,B;e[19]!==C||e[20]!==y?(B=()=>{if(y===!1)return;const x=new AbortController;return C(x.signal,O.current=O.current+1),()=>{x.abort()}},q=[C,y],e[19]=C,e[20]=y,e[21]=q,e[22]=B):(q=e[21],B=e[22]),d.useEffect(B,q);let L;return e[23]!==R||e[24]!==C?(L={data:R,setData:N,reloadData:C},e[23]=R,e[24]=C,e[25]=L):L=e[25],L},z=()=>{const t=d.useRef({}).current;return d.useEffect(()=>{const r=document.createElement("div");return r.style.position="absolute",r.style.pointerEvents="none",r.style.top="0",r.style.width="100%",r.style.height="100%",t.elt=r,document.body.appendChild(r),()=>{document.body.removeChild(r)}},[t]),r=>(e,...s)=>{const o=r(e,...s);return e.draggableProps.style.position==="fixed"?H.createPortal(o,t.elt):o}},$={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},Z=(t,r)=>{const e=a.compilerRuntimeExports.c(18),{storageKey:s,requiredHeight:o,retryInterval:f}=r===void 0?$:r,n=s===void 0?$.storageKey:s,l=o===void 0?$.requiredHeight:o,w=f===void 0?$.retryInterval:f,[h,D]=d.useState(!1),m=d.useRef(null);let y;e[0]!==n?(y=()=>{const S=localStorage.getItem(n);return localStorage.removeItem(n),S===null?null:Number(S)},e[0]=n,e[1]=y):y=e[1];const i=y;let u;e[2]!==n?(u=S=>{localStorage.setItem(n,S)},e[2]=n,e[3]=u):u=e[3];const c=u;let v,p;e[4]!==h||e[5]!==l||e[6]!==i||e[7]!==w||e[8]!==t?(v=()=>{const S=window.setInterval(()=>{if(!h&&t.current!==null&&t.current.getBoundingClientRect().height>l){D(!0);const O=i();O!==null&&t.current.scrollTo({top:O}),window.clearInterval(S)}},w);return()=>{window.clearTimeout(S)}},p=[h,l,i,w,t],e[4]=h,e[5]=l,e[6]=i,e[7]=w,e[8]=t,e[9]=v,e[10]=p):(v=e[9],p=e[10]),d.useEffect(v,p);let g,E;e[11]!==c||e[12]!==t?(g=()=>{var O;const S=new AbortController;return(O=t.current)==null||O.addEventListener("scrollend",()=>{var P;m.current=((P=t.current)==null?void 0:P.scrollTop)??0,c((m.current??0).toString())},{signal:S.signal}),()=>S.abort()},E=[c,t],e[11]=c,e[12]=t,e[13]=g,e[14]=E):(g=e[13],E=e[14]),d.useEffect(g,E);let I;return e[15]!==i||e[16]!==c?(I={saveValue:c,retrieveValue:i},e[15]=i,e[16]=c,e[17]=I):I=e[17],I};exports.cancelToken=a.cancelToken;exports.useAuth=a.useAuth;exports.useAxios=a.useAxios;exports.useClickOutside=a.useClickOutside;exports.useClipboard=a.useClipboard;exports.useConfirm=a.useConfirm;exports.useFormControlType=a.useFormControlType;exports.useKeyPress=a.useKeyPress;exports.useNotifications=a.useNotifications;exports.usePermissions=a.usePermissions;exports.usePrompt=a.usePrompt;exports.useWindowSize=a.useWindowSize;exports.useZodSchemaTypes=a.useZodSchemaTypes;exports.useGetApiData=K.useGetApiData;exports.useLocalStorageState=K.useLocalStorageState;exports.useEmployeePhotoPath=F.useEmployeePhotoPath;exports.useIsFormDirty=F.useIsFormDirty;exports.useSearchQuery=F.useSearchQuery;exports.useSearchQueryState=F.useSearchQueryState;exports.useGetApiDataBound=W;exports.useGetDataBound=Q;exports.usePersistentState=J;exports.useRenderDraggableInPortal=z;exports.useScrollSave=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./ShortcutLinksContext-CzUA0Bw_.cjs"),U=require("./useLocalStorageState-nJ8QPdoa.cjs"),f=require("react"),F=require("./useIsFormDirty-CLUo8jl7.cjs");require("react/jsx-runtime");require("react-router");const H=require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-react");require("@azure/msal-browser");const T=new Map;function Q(s,r){const e=a.useAxios({silent:!0,differentBaseUrl:r==null?void 0:r.customBaseUrl,customToken:r==null?void 0:r.customToken}),t=f.useRef(null);if(!T.has(s)){if(!e.interceptorsUsed)return null;const m=e.get(s).then(n=>(T.set(s,{status:"success",data:n.data}),t.current=setTimeout(()=>{T.delete(s),t.current=null},1e3*10),n.data)).catch(n=>{throw T.set(s,{status:"error",error:n}),t.current=setTimeout(()=>{T.delete(s),t.current=null},1e3*1),n});throw T.set(s,{status:"pending",promise:m}),m}const o=T.get(s);if(o.status==="pending")throw o.promise;if(o.status==="error")throw o.error;return o.data}const _=s=>r=>(window.addEventListener(`storage_${s}`,r),()=>window.removeEventListener(`storage_${s}`,r)),J=(s,r,e)=>{const t=a.compilerRuntimeExports.c(15),o=e===void 0?localStorage:e,[m]=f.useState(r);let n;t[0]!==r?(n=JSON.stringify(r),t[0]=r,t[1]=n):n=t[1];const l=f.useRef(n),w=f.useRef(r);let h;t[2]!==s||t[3]!==m||t[4]!==o?(h=()=>{const i=o.getItem(s);return i!==l.current&&(l.current=i,w.current=l.current?JSON.parse(l.current):m),w.current},t[2]=s,t[3]=m,t[4]=o,t[5]=h):h=t[5];const y=h;let g;t[6]!==s?(g=_(s),t[6]=s,t[7]=g):g=t[7];const D=g,c=f.useSyncExternalStore(D,y);let u;t[8]!==y||t[9]!==s||t[10]!==o?(u=i=>{const E=typeof i=="function"?i(y()):i;o.setItem(s,JSON.stringify(E)),window.dispatchEvent(new Event(`storage_${s}`))},t[8]=y,t[9]=s,t[10]=o,t[11]=u):u=t[11];const d=u;let v;return t[12]!==d||t[13]!==c?(v=[c,d],t[12]=d,t[13]=c,t[14]=v):v=t[14],v},M=(s,r,e)=>{let t="pending",o;const m=s.then(n=>{t="success",o=n},n=>{const l=n==null?void 0:n.response;(l==null?void 0:l.status)===404&&e?(t="error-404",o=n):(t="error",o=n)});return()=>{switch(t){case"pending":throw m;case"success":return o;case"error":if(o.code==="ERR_CANCELED")return null;throw o;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},b={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},W=(s,r)=>{const e=a.compilerRuntimeExports.c(26),{loadOnInit:t,enabled:o,silent:m,nullStateBeforeLoad:n,nullStateOnFail:l,customApiUrl:w,customBearerToken:h,dataTransformer:y,errorBoundaryOn404:g}=r===void 0?b:r,D=t===void 0?b.loadOnInit:t,c=o===void 0?b.enabled:o,u=m===void 0?b.silent:m,d=n===void 0?b.nullStateBeforeLoad:n,v=l===void 0?b.nullStateOnFail:l;let p;e[0]!==g?(p=g?[404]:void 0,e[0]=g,e[1]=p):p=e[1];let i;e[2]!==w||e[3]!==h||e[4]!==u||e[5]!==p?(i={silent:u,customToken:h,differentBaseUrl:w,noToastOnStatus:p},e[2]=w,e[3]=h,e[4]=u,e[5]=p,e[6]=i):i=e[6];const E=a.useAxios(i),{startLoading:I,stopLoading:S}=f.useContext(a.LoadingContext),C=f.useRef(0),{isAuthenticated:P}=a.useAuth(),[R,N]=f.useState(null);let A;e[7]!==E||e[8]!==y||e[9]!==c||e[10]!==g||e[11]!==P||e[12]!==d||e[13]!==v||e[14]!==u||e[15]!==I||e[16]!==S||e[17]!==s?(A=async(B,G)=>{if(!P()||c===!1)return;!u&&I(`loadData-${s}-${G}`),d&&N(null);const V=E.get(s,{signal:B}).then(K=>y?y(K.data):K.data).finally(()=>!u&&S(`loadData-${s}-${G}`));N(M(V,v??!1,g??!1))},e[7]=E,e[8]=y,e[9]=c,e[10]=g,e[11]=P,e[12]=d,e[13]=v,e[14]=u,e[15]=I,e[16]=S,e[17]=s,e[18]=A):A=e[18];const O=A;let q,L;e[19]!==O||e[20]!==D?(L=()=>{if(D===!1)return;const B=new AbortController;return O(B.signal,C.current=C.current+1),()=>{B.abort()}},q=[O,D],e[19]=O,e[20]=D,e[21]=q,e[22]=L):(q=e[21],L=e[22]),f.useEffect(L,q);let x;return e[23]!==R||e[24]!==O?(x={data:R,setData:N,reloadData:O},e[23]=R,e[24]=O,e[25]=x):x=e[25],x},z=()=>{const s=f.useRef({}).current;return f.useEffect(()=>{const r=document.createElement("div");return r.style.position="absolute",r.style.pointerEvents="none",r.style.top="0",r.style.width="100%",r.style.height="100%",s.elt=r,document.body.appendChild(r),()=>{document.body.removeChild(r)}},[s]),r=>(e,...t)=>{const o=r(e,...t);return e.draggableProps.style.position==="fixed"?H.createPortal(o,s.elt):o}},$={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},Z=(s,r)=>{const e=a.compilerRuntimeExports.c(18),{storageKey:t,requiredHeight:o,retryInterval:m}=r===void 0?$:r,n=t===void 0?$.storageKey:t,l=o===void 0?$.requiredHeight:o,w=m===void 0?$.retryInterval:m,[h,y]=f.useState(!1),g=f.useRef(null);let D;e[0]!==n?(D=()=>{const S=localStorage.getItem(n);return localStorage.removeItem(n),S===null?null:Number(S)},e[0]=n,e[1]=D):D=e[1];const c=D;let u;e[2]!==n?(u=S=>{localStorage.setItem(n,S)},e[2]=n,e[3]=u):u=e[3];const d=u;let v,p;e[4]!==h||e[5]!==l||e[6]!==c||e[7]!==w||e[8]!==s?(v=()=>{const S=window.setInterval(()=>{if(!h&&s.current!==null&&s.current.getBoundingClientRect().height>l){y(!0);const C=c();C!==null&&s.current.scrollTo({top:C}),window.clearInterval(S)}},w);return()=>{window.clearTimeout(S)}},p=[h,l,c,w,s],e[4]=h,e[5]=l,e[6]=c,e[7]=w,e[8]=s,e[9]=v,e[10]=p):(v=e[9],p=e[10]),f.useEffect(v,p);let i,E;e[11]!==d||e[12]!==s?(i=()=>{var C;const S=new AbortController;return(C=s.current)==null||C.addEventListener("scrollend",()=>{var P;g.current=((P=s.current)==null?void 0:P.scrollTop)??0,d((g.current??0).toString())},{signal:S.signal}),()=>S.abort()},E=[d,s],e[11]=d,e[12]=s,e[13]=i,e[14]=E):(i=e[13],E=e[14]),f.useEffect(i,E);let I;return e[15]!==c||e[16]!==d?(I={saveValue:d,retrieveValue:c},e[15]=c,e[16]=d,e[17]=I):I=e[17],I};exports.cancelToken=a.cancelToken;exports.useAuth=a.useAuth;exports.useAxios=a.useAxios;exports.useClickOutside=a.useClickOutside;exports.useClipboard=a.useClipboard;exports.useConfirm=a.useConfirm;exports.useFormControlType=a.useFormControlType;exports.useKeyPress=a.useKeyPress;exports.useNotifications=a.useNotifications;exports.usePermissions=a.usePermissions;exports.usePrompt=a.usePrompt;exports.useWindowSize=a.useWindowSize;exports.useZodSchemaTypes=a.useZodSchemaTypes;exports.useGetApiData=U.useGetApiData;exports.useLocalStorageState=U.useLocalStorageState;exports.useEmployeePhotoPath=F.useEmployeePhotoPath;exports.useIsFormDirty=F.useIsFormDirty;exports.useSearchQuery=F.useSearchQuery;exports.useSearchQueryState=F.useSearchQueryState;exports.useGetApiDataBound=W;exports.useGetDataBound=Q;exports.usePersistentState=J;exports.useRenderDraggableInPortal=z;exports.useScrollSave=Z;