react-luminus-components 2.0.2-table-d7f5ad24d53c7cff099af497e38cd1c5dbfb2918 → 2.0.3-beta.r19-4

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 (78) hide show
  1. package/README.md +349 -349
  2. package/dist/.vite/manifest.json +46 -46
  3. package/dist/FormDisabledProvider-CNVOqN9X.js +40 -0
  4. package/dist/FormDisabledProvider-DmZDEoe7.cjs +1 -0
  5. package/dist/components/Buttons/ContextButton/FileUploadContextButton.d.ts +6 -3
  6. package/dist/components/Documents/components/DocumentsModals/components/CreateFolderModal/hooks/useDocCreateFolderForm.d.ts +4 -1
  7. package/dist/components/Documents/components/DocumentsModals/components/EditFileModal/hooks/useEditFileForm.d.ts +6 -1
  8. package/dist/components/Documents/hooks/useDocumentsReducer.d.ts +1 -1
  9. package/dist/components/Dropdown/comps/SimpleToggle/SimpleToggle.d.ts +6 -3
  10. package/dist/components/Dropdown/comps/UserAvatarToggle/UserAvatarToggle.d.ts +3 -1
  11. package/dist/components/Flexmonster/Flexmonster.d.ts +1 -1
  12. package/dist/components/Flexmonster/hooks/useReportVersionApi.d.ts +1 -1
  13. package/dist/components/Flexmonster/utils/flexMonsterUtils.d.ts +1 -1
  14. package/dist/components/HookForm/MiniDetailWrapper/MiniDetailWrapper.d.ts +1 -1
  15. package/dist/components/HookForm/TextInput/HookFormTextInput.d.ts +4 -17
  16. package/dist/components/InputContainers/FloatingLabelInput/FloatingLabelInput.d.ts +7 -38
  17. package/dist/components/InputContainers/NoInputContainer/NoInputContainer.d.ts +8 -38
  18. package/dist/components/InputContainers/RowLabelInput/RowLabelInput.d.ts +8 -38
  19. package/dist/components/ResponsiveContextDropdown/components/ResponsiveContextDropdownItem/ResponsiveContextDropdownItem.d.ts +1 -1
  20. package/dist/components/ResponsiveContextDropdown/hooks/useReponsiveContextDropdownHelpers.d.ts +2 -2
  21. package/dist/components/ResponsiveContextDropdown/utils/responsiveContextDropdownUtils.d.ts +1 -1
  22. package/dist/components/Tooltip/HtmlTooltip/HtmlTooltip.d.ts +2 -2
  23. package/dist/components/Tooltip/SimpleTooltip/SimpleTooltip.d.ts +1 -1
  24. package/dist/components/common/AuthTemplate/AuthTemplate.d.ts +1 -1
  25. package/dist/components/common/ColumnResizer/ColumnResizer.d.ts +1 -1
  26. package/dist/components/common/DisabledRowLabelLink/DisabledRowLabelLink.d.ts +1 -1
  27. package/dist/components/common/ErrorBoundary/ErrorBoundary.d.ts +7 -3
  28. package/dist/components/common/FromToDatePicker/components/FromToDatePickerDropdownToggle/FromToDatePickerDropdownToggle.d.ts +3 -1
  29. package/dist/components/common/LineChart/comps/LineChartTooltip/LineChartTooltip.d.ts +2 -2
  30. package/dist/components/common/PermissionsSubstitute/Detail/hooks/useSubstDetailForm.d.ts +8 -1
  31. package/dist/components/common/PhotoLightbox/comps/PhotoPreviews/PhotoPreviews.d.ts +15 -0
  32. package/dist/components/common/PhotoLightbox/comps/PhotoPreviews/comps/PhotoPreview/PhotoPreview.d.ts +14 -0
  33. package/dist/components/common/PhotoLightbox/comps/PhotoPreviews/comps/PhotoPreview/comps/PreviewShadow/PreviewShadow.d.ts +5 -0
  34. package/dist/components/common/PhotoLightbox/comps/PhotoPreviews/comps/PhotoPreview/comps/index.d.ts +1 -0
  35. package/dist/components/common/PhotoLightbox/comps/PhotoPreviews/comps/index.d.ts +1 -0
  36. package/dist/components/common/PhotoLightbox/comps/index.d.ts +1 -0
  37. package/dist/components/common/QrCode/QrCode.d.ts +1 -1
  38. package/dist/components/common/RouteLink/RouteLink.d.ts +1 -1
  39. package/dist/components/common/SimplePicker/SimplePicker.d.ts +1 -1
  40. package/dist/components/common/index.d.ts +0 -1
  41. package/dist/contexts.cjs.js +1 -1
  42. package/dist/contexts.es.js +274 -921
  43. package/dist/hooks/useClickOutside/useClickOutside.d.ts +1 -1
  44. package/dist/hooks/useScrollSave/useScrollSave.d.ts +1 -1
  45. package/dist/hooks.cjs.js +1 -1
  46. package/dist/hooks.es.js +105 -89
  47. package/dist/layout.cjs.js +1 -1
  48. package/dist/layout.es.js +109 -120
  49. package/dist/{localStorageUtils-NrZA2Syo.js → localStorageUtils-DKh4zlsM.js} +1 -1
  50. package/dist/localStorageUtils-VI7zmTA0.cjs +1 -0
  51. package/dist/main.cjs.js +21 -183
  52. package/dist/main.es.js +6372 -11355
  53. package/dist/models/bntTable/IBnfTableDefColumn.d.ts +40 -0
  54. package/dist/models/prop-types/InputContainerProps.d.ts +4 -12
  55. package/dist/models/prop-types/InputProps/DropdownPickerProps.d.ts +1 -1
  56. package/dist/models/prop-types/InputProps/InputBaseProps.d.ts +4 -2
  57. package/dist/models/prop-types/InputProps/NumericInputProps.d.ts +1 -1
  58. package/dist/models/prop-types/InputProps/TextInputProps.d.ts +1 -1
  59. package/dist/{ShortcutLinksContext-B6B_uG2X.js → nivo-bar-DXK3wbjv.js} +28480 -28322
  60. package/dist/nivo-bar-U0TkOANS.cjs +306 -0
  61. package/dist/style.css +1 -1
  62. package/dist/useEmployeePhotoPath-DdMmh1qU.js +65 -0
  63. package/dist/useEmployeePhotoPath-Q0EhpWOh.cjs +1 -0
  64. package/dist/{useLocalStorageState-DG9g_lFm.js → useLocalStorageState-B3o2yBVf.js} +15 -14
  65. package/dist/useLocalStorageState-BWT4Z8eu.cjs +1 -0
  66. package/dist/utils/route/apiPathUtils.d.ts +1 -1
  67. package/dist/utils.cjs.js +1 -1
  68. package/dist/utils.es.js +79 -80
  69. package/dist/variables.scss +165 -165
  70. package/package.json +124 -123
  71. package/dist/FormDisabledProvider-BNE4w-91.cjs +0 -1
  72. package/dist/FormDisabledProvider-Ct-odePz.js +0 -40
  73. package/dist/ShortcutLinksContext-d3AdgJhg.cjs +0 -334
  74. package/dist/components/common/StrictModeDroppable/StrictModeDroppable.d.ts +0 -5
  75. package/dist/localStorageUtils-CFey67IX.cjs +0 -1
  76. package/dist/useLocalStorageState-CGKmNXMv.cjs +0 -1
  77. package/dist/useRenderDraggableInPortal-D0OLp7Qb.js +0 -78
  78. package/dist/useRenderDraggableInPortal-QPCaw-E_.cjs +0 -1
@@ -0,0 +1,15 @@
1
+ import { ImgProps, PhotoLibraryItemModel } from '../../../../../models/index';
2
+
3
+ type PhotoPreviewsProps = {
4
+ photos: PhotoLibraryItemModel[];
5
+ setSelectedIndex: (index: number) => void;
6
+ selectedIndex: number;
7
+ ImgComponent: React.ComponentType<ImgProps>;
8
+ baseUrl: string | undefined;
9
+ customToken: string | undefined;
10
+ placeholder: string | undefined;
11
+ reorderPhotos: (startIndex: number, endIndex: number) => void;
12
+ onChangeOrder: ((photoId: string, newIndex: number) => void) | undefined;
13
+ };
14
+ declare const PhotoPreviews: ({ photos, setSelectedIndex, selectedIndex, ImgComponent, baseUrl, customToken, placeholder, reorderPhotos, onChangeOrder, }: PhotoPreviewsProps) => import("react").JSX.Element;
15
+ export default PhotoPreviews;
@@ -0,0 +1,14 @@
1
+ import { ImgProps, PhotoLibraryItemModel } from '../../../../../../../models/index';
2
+
3
+ type PhotoPreviewProps = {
4
+ photo: PhotoLibraryItemModel;
5
+ setSelectedIndex: (index: number) => void;
6
+ selectedIndex: number;
7
+ index: number;
8
+ ImgComponent: React.ComponentType<ImgProps>;
9
+ baseUrl: string | undefined;
10
+ customToken: string | undefined;
11
+ placeholder: string | undefined;
12
+ };
13
+ declare const PhotoPreview: ({ photo, setSelectedIndex, selectedIndex, index, ImgComponent, baseUrl, customToken, placeholder, }: PhotoPreviewProps) => import("react").JSX.Element;
14
+ export default PhotoPreview;
@@ -0,0 +1,5 @@
1
+ type PreviewShadowProps = {
2
+ width: number;
3
+ };
4
+ declare const PreviewShadow: ({ width }: PreviewShadowProps) => import("react").JSX.Element;
5
+ export default PreviewShadow;
@@ -0,0 +1 @@
1
+ export { default as PreviewShadow } from './PreviewShadow/PreviewShadow';
@@ -0,0 +1 @@
1
+ export { default as PhotoPreview } from './PhotoPreview/PhotoPreview';
@@ -0,0 +1 @@
1
+ export { default as PhotoPreviews } from './PhotoPreviews/PhotoPreviews';
@@ -5,7 +5,7 @@ import { QR_VARIANTS } from './utils/qrCodeComponentUtils';
5
5
  type QrCodeProps = {
6
6
  value: string;
7
7
  variant?: keyof typeof QR_VARIANTS;
8
- qrRef?: RefObject<QRCode>;
8
+ qrRef?: RefObject<QRCode | null>;
9
9
  };
10
10
  declare const QrCode: ({ value, qrRef, variant }: QrCodeProps) => import("react").JSX.Element;
11
11
  export default QrCode;
@@ -1,6 +1,6 @@
1
1
  import { RouteInfo } from '../../../models/index';
2
2
  import { ReactNode } from 'react';
3
- import { PathParam } from 'react-router-dom';
3
+ import { PathParam } from 'react-router';
4
4
 
5
5
  type RouteLinkProps<Path extends string = string> = {
6
6
  route: RouteInfo<Path>;
@@ -12,7 +12,7 @@ type Props = {
12
12
  onSearchQueryChange?: (query: string) => void;
13
13
  texts: DropdownPickerTexts;
14
14
  itemsNameWidth?: number;
15
- inputRef: RefObject<HTMLSelectElement> | RefObject<HTMLInputElement>;
15
+ inputRef: RefObject<HTMLSelectElement | HTMLInputElement | null>;
16
16
  additionalColumns?: {
17
17
  key: string;
18
18
  name: string;
@@ -45,7 +45,6 @@ export { default as HrWithText } from './HrWithText/HrWithText';
45
45
  export { default as ReportsIndexPage } from './ReportsIndexPage/ReportsIndexPage';
46
46
  export { default as MiniDetailTooltip } from './MiniDetailTooltip/MiniDetailTooltip';
47
47
  export { default as MiniDetailValueItem } from './MiniDetailValueItem/MiniDetailValueItem';
48
- export { default as StrictModeDroppable } from './StrictModeDroppable/StrictModeDroppable';
49
48
  export { default as RouteLink } from './RouteLink/RouteLink';
50
49
  export { default as Approval } from './Approval/Approval';
51
50
  export { default as StateToggle } from './StateToggle/StateToggle';
@@ -1 +1 @@
1
- "use strict";var ue=Object.defineProperty;var ce=(e,t,n)=>t in e?ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var S=(e,t,n)=>ce(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./ShortcutLinksContext-d3AdgJhg.cjs"),l=require("react"),R=require("@azure/msal-browser"),fe=require("@azure/msal-react");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");const K=require("./FormDisabledProvider-BNE4w-91.cjs"),Y=require("./useLocalStorageState-CGKmNXMv.cjs");function de(e){const t=o.toDate(e);return t.setHours(23,59,59,999),t}function me(){return de(Date.now())}function pe(e,t){const n=+o.toDate(e),[r,s]=[+o.toDate(t.start),+o.toDate(t.end)].sort((a,c)=>a-c);return n>=r&&n<=s}function he(){return o.startOfDay(Date.now())}const xe=({children:e})=>{const[t,n]=l.useState(!1),[r,s]=l.useState(""),[a,c]=l.useState(void 0),u=l.useCallback((d,m)=>{n(!0),s(d),c(m)},[]),f=l.useCallback(()=>{n(!1)},[]),i=l.useMemo(()=>({show:t,text:r,showConfirm:u,hideConfirm:f,textSm:a}),[t,r,u,f,a]);return o.jsxRuntimeExports.jsxs(o.ConfirmContext.Provider,{value:i,children:[o.jsxRuntimeExports.jsx(Qe,{}),e]})},ge=()=>{const{texts:{confirm:e}}=l.useContext(o.LuminusComponentsContext),{isShown:t,text:n,onFinish:r}=o.usePrompt(),{options:s}=l.useContext(o.PromptContext),[a,c]=l.useState(s.defaultValue??""),u=l.useCallback(()=>{r(null)},[r]),f=l.useCallback(d=>{d.preventDefault(),!(s.required&&!a)&&(r(a),c(""))},[r,s.required,a]),i=l.useMemo(()=>({value:a,onChange:d=>c(d.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[a]);return l.useEffect(()=>{t===!0&&c(s.defaultValue??"")},[t,s.defaultValue]),o.jsxRuntimeExports.jsxs(o.Modal,{show:t,size:"sm",centered:!0,onHide:u,children:[o.jsxRuntimeExports.jsx(o.Modal.Header,{className:"justify-content-center",children:o.jsxRuntimeExports.jsx(o.Modal.Title,{children:n})}),o.jsxRuntimeExports.jsxs("form",{onSubmit:f,onKeyDown:d=>d.stopPropagation(),children:[o.jsxRuntimeExports.jsxs(o.Modal.Body,{children:[s.input==="textarea"?o.jsxRuntimeExports.jsx("textarea",{...i,rows:5}):void 0,s.input==="input"?o.jsxRuntimeExports.jsx(o.FormControl,{...i,type:s.type}):void 0]}),o.jsxRuntimeExports.jsxs(o.Modal.Footer,{className:"w-100 d-flex gap-5",children:[o.jsxRuntimeExports.jsx(o.PrimaryButton,{variant:"outlined",color:"secondary",onClick:u,className:"flex-grow-1",children:e.cancel}),o.jsxRuntimeExports.jsx(o.PrimaryButton,{color:"primary",disabled:s.required&&!a,type:"submit",className:"flex-grow-1",children:e.confirm})]})]})]})},ye=({children:e})=>{const[t,n]=l.useState(!1),[r,s]=l.useState(""),[a,c]=l.useState({input:"textarea",type:"text"}),u=l.useRef(()=>{}),f=l.useCallback(m=>{s(m),n(!0)},[]),i=l.useCallback(()=>{n(!1)},[]),d=l.useMemo(()=>({isShown:t,text:r,showPrompt:f,hidePrompt:i,resolveRef:u,options:a,setOptions:c}),[t,r,f,i,a]);return o.jsxRuntimeExports.jsxs(o.PromptContext.Provider,{value:d,children:[e,o.jsxRuntimeExports.jsx(ge,{})]})},ve=({cookieDomain:e,axiosOptions:t,language:n,texts:r,ProjectIconComponent:s,localizationContext:a,chartColorPalette:c,children:u})=>{const f=l.useMemo(()=>({axiosOptions:t,cookieDomain:e,language:n,texts:r,ProjectIconComponent:s,localizationContext:a,chartColorPalette:c}),[t,e,n,s,a,r,c]);return o.jsxRuntimeExports.jsx(o.LuminusComponentsContext.Provider,{value:f,children:o.jsxRuntimeExports.jsx(xe,{children:o.jsxRuntimeExports.jsxs(ye,{children:[o.jsxRuntimeExports.jsx(o.Ie,{}),u]})})})},Te=({children:e})=>{const[t,n]=l.useState(!1),[r]=l.useState(new Set),s=l.useCallback(u=>{r.add(u),n(!0)},[r]),a=l.useCallback(u=>{r.delete(u),r.size===0&&n(!1)},[r]),c=l.useMemo(()=>({isLoading:t,startLoading:s,stopLoading:a}),[t,s,a]);return o.jsxRuntimeExports.jsxs(o.LoadingContext.Provider,{value:c,children:[t&&o.jsxRuntimeExports.jsx(K.Loading,{}),e]})},Ce=({children:e})=>{const t=o.useAxios(),{msalInstance:n,getToken:r}=l.useContext(o.AuthContext),{delegation:s,setDelegation:a,setAvailableDelegations:c,refreshAvailableDelegations:u}=l.useContext(o.DelegationContext),[f,i]=l.useState(null),d=l.useCallback(async()=>{const g=await r();g&&i(g.token)},[r]);l.useEffect(()=>{d()},[d]);const p=l.useCallback(()=>{const g=localStorage.getItem("user")??null;return g?JSON.parse(g??""):null},[])(),[h,x]=l.useState({state:p?o.LoginState.LOGGED_IN:o.LoginState.LOGGING_IN,user:p}),y=l.useCallback(async g=>{let T=null;return await t.get("/user/detail",g?{headers:{Authorization:`Bearer ${g}`}}:void 0).then(H=>{T=H.data}).catch(()=>{T=null}),T},[t]),E=l.useCallback(()=>{localStorage.removeItem("user"),x({state:o.LoginState.LOGGED_OUT,user:null}),a(null),c(null)},[c,a]),b=l.useCallback(async g=>{x({state:o.LoginState.LOGGING_IN,user:null});const T=await y(g);return T?(x({state:o.LoginState.LOGGED_IN,user:T}),localStorage.setItem("user",JSON.stringify(T)),await u(),!0):(x({state:o.LoginState.LOGIN_FAILED,user:null}),!1)},[y,u]),A=l.useCallback(()=>{E()},[E]);l.useEffect(()=>{if(n){const g=n.addEventCallback(T=>{if(T.eventType===R.EventType.LOGIN_SUCCESS&&T.payload){const H=T.payload;i(H.accessToken)}});return()=>{g&&n.removeEventCallback(g)}}return()=>{}},[n,b,A]);const V=l.useCallback(async g=>{g&&await b(g).catch(()=>{A(),a(null)})},[b,A,a]);l.useEffect(()=>{V(f)},[f,s==null?void 0:s.id,V]);const le=l.useMemo(()=>({user:h.user,userLoginState:h,loginUser:b,logoutUser:A}),[h,b,A]);return o.jsxRuntimeExports.jsx(o.UserContext.Provider,{value:le,children:e})},Ee=({...e})=>{const{cookieDomain:t}=l.useContext(o.LuminusComponentsContext),[,n]=o.useCookies(["Authorization"]),r=l.useMemo(()=>e.useMsal?e.msalInstance:null,[e.useMsal,e.useMsal?e.msalInstance:null]),s=l.useMemo(()=>e.useMsal?e.msalScopes:[],[e.useMsal,e.useMsal?e.msalScopes:null]),a=l.useMemo(()=>e.useMsal?e.msalExtraScopes:[],[e.useMsal,e.useMsal?e.msalExtraScopes:null]),c=l.useRef(null),u=l.useCallback(()=>{const m=localStorage.getItem("token");return m?{token:m,expiresOn:K.addYears(new Date(Date.now()),1)}:null},[]),f=l.useCallback(async()=>{var x;if(c.current)return c.current;const m=r==null?void 0:r.getActiveAccount(),p=m??((x=r==null?void 0:r.getAllAccounts())==null?void 0:x.at(0))??void 0;if(!p)return null;m||r==null||r.setActiveAccount(p);const h=r==null?void 0:r.acquireTokenSilent({scopes:s,account:p}).then(y=>({token:y.accessToken,expiresOn:y.expiresOn??new Date(Date.now())})).catch(y=>{if(console.error("Error acquiring token",y),y instanceof R.InteractionRequiredAuthError)return console.log("Silent token acquisition failed. Acquiring token using redirect"),r==null||r.acquireTokenRedirect({scopes:s,extraScopesToConsent:a}),null;throw y}).finally(()=>{c.current=null});return c.current=h??null,h??null},[r,s,a]),i=l.useCallback(async()=>e.useMsal?f():u(),[u,f,e.useMsal]),d=l.useMemo(()=>({useMsal:e.useMsal??!1,msalInstance:r,msalScopes:s,msalExtraScopes:a,getToken:i}),[e.useMsal,r,s,a,i]);return l.useEffect(()=>{if(e.useMsal&&r){const m=r.addEventCallback(p=>{if(p.eventType===R.EventType.LOGIN_SUCCESS||p.eventType===R.EventType.ACQUIRE_TOKEN_SUCCESS&&p.payload){const h=p.payload,x=h.account;r.setActiveAccount(x);const y=h.accessToken,E=h.expiresOn;n("Authorization",y,{path:"/",secure:!0,sameSite:"none",domain:t,expires:E??void 0})}p.error&&console.error("AuthProvider MSAL Error",p)});return()=>{m&&r.removeEventCallback(m)}}return()=>{}},[e.useMsal,r,n,t]),o.jsxRuntimeExports.jsx(o.AuthContext.Provider,{value:d,children:e.useMsal?o.jsxRuntimeExports.jsx(fe.MsalProvider,{instance:e.msalInstance,children:e.children}):e.children})},Se=({children:e,relativeEndpoint:t})=>{const[n,r,s]=Y.useLocalStorageState("user-delegation",null),a=l.useMemo(()=>{if(!n)return null;const m=n.from?o.parseISO(n.from):he(),p=n.to?o.parseISO(n.to):me();return pe(new Date(Date.now()),{start:m,end:p})?n:(r(null),null)},[n,r]),{data:c,setData:u,reloadData:f}=Y.useGetApiData(t,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),i=l.useRef(null);l.useEffect(()=>{const m=()=>{f(),i.current=window.setTimeout(m,o.msToStartOfNextDay()+5e3)};return m(),()=>{i.current!==null&&window.clearTimeout(i.current)}},[f]),l.useEffect(()=>{const m=()=>{s()};return window.addEventListener("focus",m),()=>{window.removeEventListener("focus",m)}},[s,f]);const d=l.useMemo(()=>({delegation:a,setDelegation:r,availableDelegations:c,setAvailableDelegations:u,refreshAvailableDelegations:f}),[a,r,c,u,f]);return o.jsxRuntimeExports.jsx(o.DelegationContext.Provider,{value:d,children:e})};var be=typeof Element<"u",Ae=typeof Map=="function",je=typeof Set=="function",Oe=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function L(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,s;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!L(e[r],t[r]))return!1;return!0}var a;if(Ae&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;for(a=e.entries();!(r=a.next()).done;)if(!L(r.value[1],t.get(r.value[0])))return!1;return!0}if(je&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Oe&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[r]))return!1;if(be&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((s[r]==="_owner"||s[r]==="__v"||s[r]==="__o")&&e.$$typeof)&&!L(e[s[r]],t[s[r]]))return!1;return!0}return e!==e&&t!==t}var we=function(t,n){try{return L(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ke=o.getDefaultExportFromCjs(we);var De=function(t,n,r,s){var a=r?r.call(s,t,n):void 0;if(a!==void 0)return!!a;if(t===n)return!0;if(typeof t!="object"||!t||typeof n!="object"||!n)return!1;var c=Object.keys(t),u=Object.keys(n);if(c.length!==u.length)return!1;for(var f=Object.prototype.hasOwnProperty.bind(n),i=0;i<c.length;i++){var d=c[i];if(!f(d))return!1;var m=t[d],p=n[d];if(a=r?r.call(s,m,p,d):void 0,a===!1||a===void 0&&m!==p)return!1}return!0};const Pe=o.getDefaultExportFromCjs(De);var te=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(te||{}),_={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},W=Object.values(te),B={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Me=Object.entries(B).reduce((e,[t,n])=>(e[n]=t,e),{}),C="data-rh",w={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},k=(e,t)=>{for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},Re=e=>{let t=k(e,"title");const n=k(e,w.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,()=>t);const r=k(e,w.DEFAULT_TITLE);return t||r||void 0},Le=e=>k(e,w.ON_CHANGE_CLIENT_STATE)||(()=>{}),$=(e,t)=>t.filter(n=>typeof n[e]<"u").map(n=>n[e]).reduce((n,r)=>({...n,...r}),{}),Ie=(e,t)=>t.filter(n=>typeof n.base<"u").map(n=>n.base).reverse().reduce((n,r)=>{if(!n.length){const s=Object.keys(r);for(let a=0;a<s.length;a+=1){const u=s[a].toLowerCase();if(e.indexOf(u)!==-1&&r[u])return n.concat(r)}}return n},[]),He=e=>console&&typeof console.warn=="function"&&console.warn(e),D=(e,t,n)=>{const r={};return n.filter(s=>Array.isArray(s[e])?!0:(typeof s[e]<"u"&&He(`Helmet: ${e} should be of type "Array". Instead found type "${typeof s[e]}"`),!1)).map(s=>s[e]).reverse().reduce((s,a)=>{const c={};a.filter(f=>{let i;const d=Object.keys(f);for(let p=0;p<d.length;p+=1){const h=d[p],x=h.toLowerCase();t.indexOf(x)!==-1&&!(i==="rel"&&f[i].toLowerCase()==="canonical")&&!(x==="rel"&&f[x].toLowerCase()==="stylesheet")&&(i=x),t.indexOf(h)!==-1&&(h==="innerHTML"||h==="cssText"||h==="itemprop")&&(i=h)}if(!i||!f[i])return!1;const m=f[i].toLowerCase();return r[i]||(r[i]={}),c[i]||(c[i]={}),r[i][m]?!1:(c[i][m]=!0,!0)}).reverse().forEach(f=>s.push(f));const u=Object.keys(c);for(let f=0;f<u.length;f+=1){const i=u[f],d={...r[i],...c[i]};r[i]=d}return s},[]).reverse()},_e=(e,t)=>{if(Array.isArray(e)&&e.length){for(let n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},$e=e=>({baseTag:Ie(["href"],e),bodyAttributes:$("bodyAttributes",e),defer:k(e,w.DEFER),encode:k(e,w.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:$("htmlAttributes",e),linkTags:D("link",["rel","href"],e),metaTags:D("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:D("noscript",["innerHTML"],e),onChangeClientState:Le(e),scriptTags:D("script",["src","innerHTML"],e),styleTags:D("style",["cssText"],e),title:Re(e),titleAttributes:$("titleAttributes",e),prioritizeSeoTags:_e(e,w.PRIORITIZE_SEO_TAGS)}),re=e=>Array.isArray(e)?e.join(""):e,Ue=(e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1},U=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>(Ue(r,t)?n.priority.push(r):n.default.push(r),n),{priority:[],default:[]}):{default:e,priority:[]},J=(e,t)=>({...e,[t]:void 0}),qe=["noscript","script","style"],F=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),ne=e=>Object.keys(e).reduce((t,n)=>{const r=typeof e[n]<"u"?`${n}="${e[n]}"`:`${n}`;return t?`${t} ${r}`:r},""),Fe=(e,t,n,r)=>{const s=ne(n),a=re(t);return s?`<${e} ${C}="true" ${s}>${F(a,r)}</${e}>`:`<${e} ${C}="true">${F(a,r)}</${e}>`},Ne=(e,t,n=!0)=>t.reduce((r,s)=>{const a=s,c=Object.keys(a).filter(i=>!(i==="innerHTML"||i==="cssText")).reduce((i,d)=>{const m=typeof a[d]>"u"?d:`${d}="${F(a[d],n)}"`;return i?`${i} ${m}`:m},""),u=a.innerHTML||a.cssText||"",f=qe.indexOf(e)===-1;return`${r}<${e} ${C}="true" ${c}${f?"/>":`>${u}</${e}>`}`},""),se=(e,t={})=>Object.keys(e).reduce((n,r)=>{const s=B[r];return n[s||r]=e[r],n},t),Ge=(e,t,n)=>{const r={key:t,[C]:!0},s=se(n,r);return[l.createElement("title",s,t)]},I=(e,t)=>t.map((n,r)=>{const s={key:r,[C]:!0};return Object.keys(n).forEach(a=>{const u=B[a]||a;if(u==="innerHTML"||u==="cssText"){const f=n.innerHTML||n.cssText;s.dangerouslySetInnerHTML={__html:f}}else s[u]=n[a]}),l.createElement(e,s)}),v=(e,t,n=!0)=>{switch(e){case"title":return{toComponent:()=>Ge(e,t.title,t.titleAttributes),toString:()=>Fe(e,t.title,t.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>se(t),toString:()=>ne(t)};default:return{toComponent:()=>I(e,t),toString:()=>Ne(e,t,n)}}},ze=({metaTags:e,linkTags:t,scriptTags:n,encode:r})=>{const s=U(e,_.meta),a=U(t,_.link),c=U(n,_.script);return{priorityMethods:{toComponent:()=>[...I("meta",s.priority),...I("link",a.priority),...I("script",c.priority)],toString:()=>`${v("meta",s.priority,r)} ${v("link",a.priority,r)} ${v("script",c.priority,r)}`},metaTags:s.default,linkTags:a.default,scriptTags:c.default}},Ke=e=>{const{baseTag:t,bodyAttributes:n,encode:r=!0,htmlAttributes:s,noscriptTags:a,styleTags:c,title:u="",titleAttributes:f,prioritizeSeoTags:i}=e;let{linkTags:d,metaTags:m,scriptTags:p}=e,h={toComponent:()=>{},toString:()=>""};return i&&({priorityMethods:h,linkTags:d,metaTags:m,scriptTags:p}=ze(e)),{priority:h,base:v("base",t,r),bodyAttributes:v("bodyAttributes",n,r),htmlAttributes:v("htmlAttributes",s,r),link:v("link",d,r),meta:v("meta",m,r),noscript:v("noscript",a,r),script:v("script",p,r),style:v("style",c,r),title:v("title",{title:u,titleAttributes:f},r)}},N=Ke,M=[],oe=!!(typeof window<"u"&&window.document&&window.document.createElement),G=class{constructor(e,t){S(this,"instances",[]);S(this,"canUseDOM",oe);S(this,"context");S(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?M:this.instances,add:e=>{(this.canUseDOM?M:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?M:this.instances).indexOf(e);(this.canUseDOM?M:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=N({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},Be={},ae=l.createContext(Be),j,ie=(j=class extends l.Component{constructor(n){super(n);S(this,"helmetData");this.helmetData=new G(this.props.context||{},j.canUseDOM)}render(){return l.createElement(ae.Provider,{value:this.helmetData.value},this.props.children)}},S(j,"canUseDOM",oe),j),O=(e,t)=>{const n=document.head||document.querySelector("head"),r=n.querySelectorAll(`${e}[${C}]`),s=[].slice.call(r),a=[];let c;return t&&t.length&&t.forEach(u=>{const f=document.createElement(e);for(const i in u)if(Object.prototype.hasOwnProperty.call(u,i))if(i==="innerHTML")f.innerHTML=u.innerHTML;else if(i==="cssText")f.styleSheet?f.styleSheet.cssText=u.cssText:f.appendChild(document.createTextNode(u.cssText));else{const d=i,m=typeof u[d]>"u"?"":u[d];f.setAttribute(i,m)}f.setAttribute(C,"true"),s.some((i,d)=>(c=d,f.isEqualNode(i)))?s.splice(c,1):a.push(f)}),s.forEach(u=>{var f;return(f=u.parentNode)==null?void 0:f.removeChild(u)}),a.forEach(u=>n.appendChild(u)),{oldTags:s,newTags:a}},z=(e,t)=>{const n=document.getElementsByTagName(e)[0];if(!n)return;const r=n.getAttribute(C),s=r?r.split(","):[],a=[...s],c=Object.keys(t);for(const u of c){const f=t[u]||"";n.getAttribute(u)!==f&&n.setAttribute(u,f),s.indexOf(u)===-1&&s.push(u);const i=a.indexOf(u);i!==-1&&a.splice(i,1)}for(let u=a.length-1;u>=0;u-=1)n.removeAttribute(a[u]);s.length===a.length?n.removeAttribute(C):n.getAttribute(C)!==c.join(",")&&n.setAttribute(C,c.join(","))},Ve=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=re(e)),z("title",t)},Z=(e,t)=>{const{baseTag:n,bodyAttributes:r,htmlAttributes:s,linkTags:a,metaTags:c,noscriptTags:u,onChangeClientState:f,scriptTags:i,styleTags:d,title:m,titleAttributes:p}=e;z("body",r),z("html",s),Ve(m,p);const h={baseTag:O("base",n),linkTags:O("link",a),metaTags:O("meta",c),noscriptTags:O("noscript",u),scriptTags:O("script",i),styleTags:O("style",d)},x={},y={};Object.keys(h).forEach(E=>{const{newTags:b,oldTags:A}=h[E];b.length&&(x[E]=b),A.length&&(y[E]=h[E].oldTags)}),t&&t(),f(e,x,y)},P=null,Ye=e=>{P&&cancelAnimationFrame(P),e.defer?P=requestAnimationFrame(()=>{Z(e,()=>{P=null})}):(Z(e),P=null)},We=Ye,Q=class extends l.Component{constructor(){super(...arguments);S(this,"rendered",!1)}shouldComponentUpdate(t){return!Pe(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:n}=this.props.context;let r=null;const s=$e(t.get().map(a=>{const c={...a.props};return delete c.context,c}));ie.canUseDOM?We(s):N&&(r=N(s)),n(r)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},q,Je=(q=class extends l.Component{shouldComponentUpdate(e){return!ke(J(this.props,"helmetData"),J(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,n,r){return{...t,[e.type]:[...t[e.type]||[],{...n,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,n,r){switch(e.type){case"title":return{...t,[e.type]:r,titleAttributes:{...n}};case"body":return{...t,bodyAttributes:{...n}};case"html":return{...t,htmlAttributes:{...n}};default:return{...t,[e.type]:{...n}}}}mapArrayTypeChildrenToProps(e,t){let n={...t};return Object.keys(e).forEach(r=>{n={...n,[r]:e[r]}}),n}warnOnInvalidChildren(e,t){return o.invariant(W.some(n=>e.type===n),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${W.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),o.invariant(!t||typeof t=="string"||Array.isArray(t)&&!t.some(n=>typeof n!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let n={};return l.Children.forEach(e,r=>{if(!r||!r.props)return;const{children:s,...a}=r.props,c=Object.keys(a).reduce((f,i)=>(f[Me[i]||i]=a[i],f),{});let{type:u}=r;switch(typeof u=="symbol"?u=u.toString():this.warnOnInvalidChildren(r,s),u){case"Symbol(react.fragment)":t=this.mapChildrenToProps(s,t);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(r,n,c,s);break;default:t=this.mapObjectTypeChildren(r,t,c,s);break}}),this.mapArrayTypeChildrenToProps(n,t)}render(){const{children:e,...t}=this.props;let n={...t},{helmetData:r}=t;if(e&&(n=this.mapChildrenToProps(e,n)),r&&!(r instanceof G)){const s=r;r=new G(s.context,!0),delete n.helmetData}return r?l.createElement(Q,{...n,context:r.value}):l.createElement(ae.Consumer,null,s=>l.createElement(Q,{...n,context:s}))}},S(q,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),q);const X=(e,t)=>e?`${e} | ${t}`:t,Ze=({defaultHelmet:e,children:t,helmetPrefix:n})=>{const[r,s]=l.useState([X(n??"",e)]),a=l.useCallback(i=>{s(d=>[...d,X(n??"",i)])},[n]),c=l.useCallback(()=>{s(i=>i.length>1?i.slice(0,-1):i)},[s]),u=l.useMemo(()=>r.at(-1)??"",[r]),f=l.useMemo(()=>({addHelmet:a,removeHelmet:c}),[a,c]);return o.jsxRuntimeExports.jsx(o.HelmetContext.Provider,{value:f,children:o.jsxRuntimeExports.jsxs(ie,{children:[o.jsxRuntimeExports.jsx(Je,{defer:!1,children:o.jsxRuntimeExports.jsx("title",{children:u})}),t]})})},ee=50,Qe=()=>{const{texts:{confirm:e}}=l.useContext(o.LuminusComponentsContext),{onConfirm:t,onCancel:n,text:r,show:s,textSm:a}=o.useConfirm(),c=l.useMemo(()=>a===void 0?r.length>ee:a,[r,a]),u=l.useMemo(()=>r.length>ee,[r]),f=l.useCallback(i=>{if(s)switch(i.key){case"Enter":i.preventDefault(),i.stopPropagation(),t();break;case"Escape":i.preventDefault(),i.stopPropagation(),n();break}},[t,n,s]);return o.useKeyPress(f),o.jsxRuntimeExports.jsxs(o.Modal,{show:s,size:u?void 0:"sm",centered:!0,onHide:n,children:[o.jsxRuntimeExports.jsx(o.Modal.Header,{className:"justify-content-center",children:c?o.jsxRuntimeExports.jsx(o.Typography,{variant:"body",children:r}):o.jsxRuntimeExports.jsx(o.Modal.Title,{children:r})}),o.jsxRuntimeExports.jsx(o.Modal.Body,{children:o.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[o.jsxRuntimeExports.jsx(o.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:n,children:e.no}),o.jsxRuntimeExports.jsx(o.PrimaryButton,{type:"button",color:"primary",onClick:t,className:"w-100 ml",children:e.yes})]})})]})};exports.AuthContext=o.AuthContext;exports.DelegationContext=o.DelegationContext;exports.FormDisabledContext=o.FormDisabledContext;exports.HelmetContext=o.HelmetContext;exports.LoadingContext=o.LoadingContext;exports.LuminusComponentsContext=o.LuminusComponentsContext;exports.UserContext=o.UserContext;exports.useFormDisabledContext=o.useFormDisabledContext;exports.FormDisabledProvider=K.FormDisabledProvider;exports.AuthProvider=Ee;exports.DelegationProvider=Se;exports.HelmetProvider=Ze;exports.LoadingProvider=Te;exports.LuminusComponentsProvider=ve;exports.UserProvider=Ce;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./nivo-bar-U0TkOANS.cjs"),u=require("react/jsx-runtime"),e=require("react"),M=require("@azure/msal-browser"),p=require("@azure/msal-react");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");const L=require("./FormDisabledProvider-DmZDEoe7.cjs"),T=require("./useLocalStorageState-BWT4Z8eu.cjs");function O(s){const l=n.toDate(s);return l.setHours(23,59,59,999),l}function N(){return O(Date.now())}function q(s,l){const a=+n.toDate(s),[t,o]=[+n.toDate(l.start),+n.toDate(l.end)].sort((r,c)=>r-c);return a>=t&&a<=o}function I(){return n.startOfDay(Date.now())}const U=({children:s})=>{const[l,a]=e.useState(!1),[t,o]=e.useState(""),[r,c]=e.useState(void 0),d=e.useCallback((f,x)=>{a(!0),o(f),c(x)},[]),m=e.useCallback(()=>{a(!1)},[]),i=e.useMemo(()=>({show:l,text:t,showConfirm:d,hideConfirm:m,textSm:r}),[l,t,d,m,r]);return u.jsxs(n.ConfirmContext.Provider,{value:i,children:[u.jsx(V,{}),s]})},G=()=>{const{texts:{confirm:s}}=e.useContext(n.LuminusComponentsContext),{isShown:l,text:a,onFinish:t}=n.usePrompt(),{options:o}=e.useContext(n.PromptContext),[r,c]=e.useState(o.defaultValue??""),d=e.useCallback(()=>{t(null)},[t]),m=e.useCallback(f=>{f.preventDefault(),!(o.required&&!r)&&(t(r),c(""))},[t,o.required,r]),i=e.useMemo(()=>({value:r,onChange:f=>c(f.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[r]);return e.useEffect(()=>{l===!0&&c(o.defaultValue??"")},[l,o.defaultValue]),u.jsxs(n.Modal,{show:l,size:"sm",centered:!0,onHide:d,children:[u.jsx(n.Modal.Header,{className:"justify-content-center",children:u.jsx(n.Modal.Title,{children:a})}),u.jsxs("form",{onSubmit:m,onKeyDown:f=>f.stopPropagation(),children:[u.jsxs(n.Modal.Body,{children:[o.input==="textarea"?u.jsx("textarea",{...i,rows:5}):void 0,o.input==="input"?u.jsx(n.FormControl,{...i,type:o.type}):void 0]}),u.jsxs(n.Modal.Footer,{className:"w-100 d-flex gap-5",children:[u.jsx(n.PrimaryButton,{variant:"outlined",color:"secondary",onClick:d,className:"flex-grow-1",children:s.cancel}),u.jsx(n.PrimaryButton,{color:"primary",disabled:o.required&&!r,type:"submit",className:"flex-grow-1",children:s.confirm})]})]})]})},H=({children:s})=>{const[l,a]=e.useState(!1),[t,o]=e.useState(""),[r,c]=e.useState({input:"textarea",type:"text"}),d=e.useRef(()=>{}),m=e.useCallback(x=>{o(x),a(!0)},[]),i=e.useCallback(()=>{a(!1)},[]),f=e.useMemo(()=>({isShown:l,text:t,showPrompt:m,hidePrompt:i,resolveRef:d,options:r,setOptions:c}),[l,t,m,i,r]);return u.jsxs(n.PromptContext.Provider,{value:f,children:[s,u.jsx(G,{})]})},R=({cookieDomain:s,axiosOptions:l,language:a,texts:t,ProjectIconComponent:o,localizationContext:r,chartColorPalette:c,children:d})=>{const m=e.useMemo(()=>({axiosOptions:l,cookieDomain:s,language:a,texts:t,ProjectIconComponent:o,localizationContext:r,chartColorPalette:c}),[l,s,a,o,r,t,c]);return u.jsx(n.LuminusComponentsContext.Provider,{value:m,children:u.jsx(U,{children:u.jsxs(H,{children:[u.jsx(n.Fe,{}),d]})})})},F=({children:s})=>{const[l,a]=e.useState(!1),[t]=e.useState(new Set),o=e.useCallback(d=>{t.add(d),a(!0)},[t]),r=e.useCallback(d=>{t.delete(d),t.size===0&&a(!1)},[t]),c=e.useMemo(()=>({isLoading:l,startLoading:o,stopLoading:r}),[l,o,r]);return u.jsxs(n.LoadingContext.Provider,{value:c,children:[l&&u.jsx(L.Loading,{}),s]})},_=({children:s})=>{const l=n.useAxios(),{msalInstance:a,getToken:t}=e.useContext(n.AuthContext),{delegation:o,setDelegation:r,setAvailableDelegations:c,refreshAvailableDelegations:d}=e.useContext(n.DelegationContext),[m,i]=e.useState(null),f=e.useCallback(async()=>{const C=await t();C&&i(C.token)},[t]);e.useEffect(()=>{f()},[f]);const g=e.useCallback(()=>{const C=localStorage.getItem("user")??null;return C?JSON.parse(C??""):null},[])(),[h,k]=e.useState({state:g?n.LoginState.LOGGED_IN:n.LoginState.LOGGING_IN,user:g}),S=e.useCallback(async C=>{let v=null;return await l.get("/user/detail",C?{headers:{Authorization:`Bearer ${C}`}}:void 0).then(w=>{v=w.data}).catch(()=>{v=null}),v},[l]),b=e.useCallback(()=>{localStorage.removeItem("user"),k({state:n.LoginState.LOGGED_OUT,user:null}),r(null),c(null)},[c,r]),y=e.useCallback(async C=>{k({state:n.LoginState.LOGGING_IN,user:null});const v=await S(C);return v?(k({state:n.LoginState.LOGGED_IN,user:v}),localStorage.setItem("user",JSON.stringify(v)),await d(),!0):(k({state:n.LoginState.LOGIN_FAILED,user:null}),!1)},[S,d]),D=e.useCallback(()=>{b()},[b]);e.useEffect(()=>{if(a){const C=a.addEventCallback(v=>{if(v.eventType===M.EventType.LOGIN_SUCCESS&&v.payload){const w=v.payload;i(w.accessToken)}});return()=>{C&&a.removeEventCallback(C)}}return()=>{}},[a,y,D]);const P=e.useCallback(async C=>{C&&await y(C).catch(()=>{D(),r(null)})},[y,D,r]);e.useEffect(()=>{P(m)},[m,o==null?void 0:o.id,P]);const A=e.useMemo(()=>({user:h.user,userLoginState:h,loginUser:y,logoutUser:D}),[h,y,D]);return u.jsx(n.UserContext.Provider,{value:A,children:s})},B=({...s})=>{const{cookieDomain:l}=e.useContext(n.LuminusComponentsContext),[,a]=n.useCookies(["Authorization"]),t=e.useMemo(()=>s.useMsal?s.msalInstance:null,[s.useMsal,s.useMsal?s.msalInstance:null]),o=e.useMemo(()=>s.useMsal?s.msalScopes:[],[s.useMsal,s.useMsal?s.msalScopes:null]),r=e.useMemo(()=>s.useMsal?s.msalExtraScopes:[],[s.useMsal,s.useMsal?s.msalExtraScopes:null]),c=e.useRef(null),d=e.useCallback(()=>{const x=localStorage.getItem("token");return x?{token:x,expiresOn:L.addYears(new Date(Date.now()),1)}:null},[]),m=e.useCallback(async()=>{var k;if(c.current)return c.current;const x=t==null?void 0:t.getActiveAccount(),g=x??((k=t==null?void 0:t.getAllAccounts())==null?void 0:k.at(0))??void 0;if(!g)return null;x||t==null||t.setActiveAccount(g);const h=t==null?void 0:t.acquireTokenSilent({scopes:o,account:g}).then(S=>({token:S.accessToken,expiresOn:S.expiresOn??new Date(Date.now())})).catch(S=>{if(console.error("Error acquiring token",S),S instanceof M.InteractionRequiredAuthError)return console.log("Silent token acquisition failed. Acquiring token using redirect"),t==null||t.acquireTokenRedirect({scopes:o,extraScopesToConsent:r}),null;throw S}).finally(()=>{c.current=null});return c.current=h??null,h??null},[t,o,r]),i=e.useCallback(async()=>s.useMsal?m():d(),[d,m,s.useMsal]),f=e.useMemo(()=>({useMsal:s.useMsal??!1,msalInstance:t,msalScopes:o,msalExtraScopes:r,getToken:i}),[s.useMsal,t,o,r,i]);return e.useEffect(()=>{if(s.useMsal&&t){const x=t.addEventCallback(g=>{if(g.eventType===M.EventType.LOGIN_SUCCESS||g.eventType===M.EventType.ACQUIRE_TOKEN_SUCCESS&&g.payload){const h=g.payload,k=h.account;t.setActiveAccount(k);const S=h.accessToken,b=h.expiresOn;a("Authorization",S,{path:"/",secure:!0,sameSite:"none",domain:l,expires:b??void 0})}g.error&&console.error("AuthProvider MSAL Error",g)});return()=>{x&&t.removeEventCallback(x)}}return()=>{}},[s.useMsal,t,a,l]),u.jsx(n.AuthContext.Provider,{value:f,children:s.useMsal?u.jsx(p.MsalProvider,{instance:s.msalInstance,children:s.children}):s.children})},z=({children:s,relativeEndpoint:l})=>{const[a,t,o]=T.useLocalStorageState("user-delegation",null),r=e.useMemo(()=>{if(!a)return null;const x=a.from?n.parseISO(a.from):I(),g=a.to?n.parseISO(a.to):N();return q(new Date(Date.now()),{start:x,end:g})?a:(t(null),null)},[a,t]),{data:c,setData:d,reloadData:m}=T.useGetApiData(l,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),i=e.useRef(null);e.useEffect(()=>{const x=()=>{m(),i.current=window.setTimeout(x,n.msToStartOfNextDay()+5e3)};return x(),()=>{i.current!==null&&window.clearTimeout(i.current)}},[m]),e.useEffect(()=>{const x=()=>{o()};return window.addEventListener("focus",x),()=>{window.removeEventListener("focus",x)}},[o,m]);const f=e.useMemo(()=>({delegation:r,setDelegation:t,availableDelegations:c,setAvailableDelegations:d,refreshAvailableDelegations:m}),[r,t,c,d,m]);return u.jsx(n.DelegationContext.Provider,{value:f,children:s})},j=(s,l)=>s?`${s} | ${l}`:l,K=({defaultHelmet:s,children:l,helmetPrefix:a})=>{const[t,o]=e.useState([j(a??"",s)]),r=e.useCallback(i=>{o(f=>[...f,j(a??"",i)])},[a]),c=e.useCallback(()=>{o(i=>i.length>1?i.slice(0,-1):i)},[o]),d=e.useMemo(()=>t.at(-1)??"",[t]),m=e.useMemo(()=>({addHelmet:r,removeHelmet:c}),[r,c]);return u.jsxs(n.HelmetContext.Provider,{value:m,children:[u.jsx("title",{children:d}),l]})},E=50,V=()=>{const{texts:{confirm:s}}=e.useContext(n.LuminusComponentsContext),{onConfirm:l,onCancel:a,text:t,show:o,textSm:r}=n.useConfirm(),c=e.useMemo(()=>r===void 0?t.length>E:r,[t,r]),d=e.useMemo(()=>t.length>E,[t]),m=e.useCallback(i=>{if(o)switch(i.key){case"Enter":i.preventDefault(),i.stopPropagation(),l();break;case"Escape":i.preventDefault(),i.stopPropagation(),a();break}},[l,a,o]);return n.useKeyPress(m),u.jsxs(n.Modal,{show:o,size:d?void 0:"sm",centered:!0,onHide:a,children:[u.jsx(n.Modal.Header,{className:"justify-content-center",children:c?u.jsx(n.Typography,{variant:"body",children:t}):u.jsx(n.Modal.Title,{children:t})}),u.jsx(n.Modal.Body,{children:u.jsxs("div",{className:"w-100 d-flex gap-5",children:[u.jsx(n.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:a,children:s.no}),u.jsx(n.PrimaryButton,{type:"button",color:"primary",onClick:l,className:"w-100 ml",children:s.yes})]})})]})};exports.AuthContext=n.AuthContext;exports.DelegationContext=n.DelegationContext;exports.FormDisabledContext=n.FormDisabledContext;exports.HelmetContext=n.HelmetContext;exports.LoadingContext=n.LoadingContext;exports.LuminusComponentsContext=n.LuminusComponentsContext;exports.UserContext=n.UserContext;exports.useFormDisabledContext=n.useFormDisabledContext;exports.FormDisabledProvider=L.FormDisabledProvider;exports.AuthProvider=B;exports.DelegationProvider=z;exports.HelmetProvider=K;exports.LoadingProvider=F;exports.LuminusComponentsProvider=R;exports.UserProvider=_;