react-luminus-components 1.3.31 → 1.3.33

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 (133) hide show
  1. package/README.md +349 -355
  2. package/dist/.vite/manifest.json +64 -64
  3. package/dist/FromToDatePickerDropdownToggle-BcOIaLyQ.cjs +253 -0
  4. package/dist/{FromToDatePickerDropdownToggle-a6zb7EV7.js → FromToDatePickerDropdownToggle-CGnDN_zs.js} +2949 -3196
  5. package/dist/PrimaryButton-B6qFyVVD.js +680 -0
  6. package/dist/PrimaryButton-Dow_5lBe.cjs +1 -0
  7. package/dist/SimpleTooltip-B0I1MS-L.js +5 -0
  8. package/dist/{SimpleTooltip-ngcscCjg.cjs → SimpleTooltip-CpLiAgNs.cjs} +1 -1
  9. package/dist/components/Buttons/ContextButton/ContextButton.d.ts +0 -1
  10. package/dist/components/Buttons/ContextButton/FileUploadContextButton.d.ts +0 -1
  11. package/dist/components/Buttons/IconButton/IconButton.d.ts +0 -1
  12. package/dist/components/Buttons/PrimaryButton/PrimaryButton.d.ts +0 -1
  13. package/dist/components/Dropdown/Dropdown.d.ts +0 -1
  14. package/dist/components/Dropdown/comps/DropdownItem/DropdownItem.d.ts +0 -1
  15. package/dist/components/Dropdown/comps/DropdownItem/FileUploadDropdownItem.d.ts +0 -1
  16. package/dist/components/Dropdown/comps/DropdownToggle/DropdownToggle.d.ts +0 -1
  17. package/dist/components/Dropdown/comps/SimpleToggle/SimpleToggle.d.ts +3 -3
  18. package/dist/components/Form/CheckInput/CheckInput.d.ts +0 -1
  19. package/dist/components/Form/DropdownPicker/DropdownPicker.d.ts +0 -1
  20. package/dist/components/Form/NumericStepperInput/NumericStepperInput.d.ts +0 -1
  21. package/dist/components/Form/SelectInput/SelectInput.d.ts +0 -1
  22. package/dist/components/Form/TextAreaInput/TextAreaInput.d.ts +0 -1
  23. package/dist/components/Form/TextInput/TextInput.d.ts +0 -1
  24. package/dist/components/HookForm/CheckInput/HookFormCheckInput.d.ts +0 -1
  25. package/dist/components/HookForm/CustomSelectInput/CustomSelectInput.d.ts +0 -1
  26. package/dist/components/HookForm/FileInput/HookFormFileInput.d.ts +0 -1
  27. package/dist/components/HookForm/NumericStepperInput/HookFormNumericStepperInput.d.ts +0 -1
  28. package/dist/components/HookForm/RadioInput/HookFormRadioInput.d.ts +0 -1
  29. package/dist/components/HookForm/SelectInput/HookFormSelectInput.d.ts +0 -1
  30. package/dist/components/HookForm/TextAreaInput/HookFormTextAreaInput.d.ts +0 -1
  31. package/dist/components/HookForm/TextInput/HookFormTextInput.d.ts +0 -1
  32. package/dist/components/InputContainers/FloatingLabelInput/FloatingLabelInput.d.ts +20 -21
  33. package/dist/components/InputContainers/InputAnchorContainer/InputAnchorContainer.d.ts +0 -1
  34. package/dist/components/InputContainers/NoInputContainer/NoInputContainer.d.ts +20 -21
  35. package/dist/components/InputContainers/RowLabelInput/RowLabelInput.d.ts +20 -21
  36. package/dist/components/Layout/MessageBoard/components/MessageList/MessageList.d.ts +0 -1
  37. package/dist/components/Layout/MessageBoard/components/MessageList/comps/MessageFilters/MessageFilters.d.ts +0 -1
  38. package/dist/components/Layout/MessageBoard/components/MessageList/comps/MessageItem/MessageItem.d.ts +0 -1
  39. package/dist/components/NewTabs/Tab/Tab.d.ts +5 -5
  40. package/dist/components/NewTabs/TabPanel/TabPanel.d.ts +0 -1
  41. package/dist/components/NewTabs/Tabs/Tabs.d.ts +7 -7
  42. package/dist/components/Tabs/Tabs.d.ts +0 -1
  43. package/dist/components/Tabs/comps/Tab/Tab.d.ts +0 -1
  44. package/dist/components/UserAvatar/AvatarIcon/AvatarIcon.d.ts +0 -1
  45. package/dist/components/common/Alert/Alert.d.ts +0 -1
  46. package/dist/components/common/AlertItem/AlertItem.d.ts +0 -1
  47. package/dist/components/common/AppSearch/AppSearch.d.ts +0 -1
  48. package/dist/components/common/AppSearch/comps/AutocompleteWindow/AutocompleteWindow.d.ts +0 -1
  49. package/dist/components/common/Backdrop/Backdrop.d.ts +0 -1
  50. package/dist/components/common/Badge/Badge.d.ts +0 -1
  51. package/dist/components/common/Card/Card.d.ts +0 -1
  52. package/dist/components/common/Collapse/Collapse.d.ts +0 -1
  53. package/dist/components/common/ConfirmDialog/ConfirmDialog.d.ts +0 -1
  54. package/dist/components/common/FloatingActionContainer/FloatingActionContainer.d.ts +0 -1
  55. package/dist/components/common/HomeDashboard/HomeDashboard.d.ts +0 -1
  56. package/dist/components/common/HomeDashboard/comps/FreeSpaceWidget/FreeSpaceWidget.d.ts +0 -1
  57. package/dist/components/common/HomeDashboard/comps/WidgetPicker/WidgetPicker.d.ts +0 -1
  58. package/dist/components/common/ImgApi/ImgApi.d.ts +0 -1
  59. package/dist/components/common/ImgApi/hooks/useGetImgData.d.ts +0 -1
  60. package/dist/components/common/ImgDirect/ImgDirect.d.ts +0 -1
  61. package/dist/components/common/InvalidFeedback/InvalidFeedback.d.ts +0 -1
  62. package/dist/components/common/Loading/Loading.d.ts +0 -1
  63. package/dist/components/common/MonthPicker/MonthPicker.d.ts +0 -1
  64. package/dist/components/common/PhotoLibrary/PhotoLibrary.d.ts +0 -1
  65. package/dist/components/common/PhotoLightbox/PhotoLightbox.d.ts +0 -1
  66. package/dist/components/common/PromptDialog/PromptDialog.d.ts +0 -1
  67. package/dist/components/common/Timeline/Timeline.d.ts +0 -1
  68. package/dist/components/common/Typography/Typography.d.ts +0 -1
  69. package/dist/components/common/VersionInfo/VersionInfo.d.ts +0 -1
  70. package/dist/components/common/YearPicker/YearPicker.d.ts +0 -1
  71. package/dist/contexts/auth/AuthContext.d.ts +0 -1
  72. package/dist/contexts/auth/AuthProvider.d.ts +0 -1
  73. package/dist/contexts/confirm/ConfirmContext.d.ts +0 -1
  74. package/dist/contexts/confirm/ConfirmProvider.d.ts +0 -1
  75. package/dist/contexts/delegation/DelegationProvider.d.ts +0 -1
  76. package/dist/contexts/loading/LoadingContext.d.ts +0 -1
  77. package/dist/contexts/loading/LoadingProvider.d.ts +0 -1
  78. package/dist/contexts/luminus-components/LuminusComponentsContext.d.ts +1 -15
  79. package/dist/contexts/luminus-components/LuminusComponentsProvider.d.ts +2 -16
  80. package/dist/contexts/prompt/PromptContext.d.ts +0 -1
  81. package/dist/contexts/user/UserContext.d.ts +0 -1
  82. package/dist/contexts/user/UserProvider.d.ts +0 -1
  83. package/dist/contexts.cjs.js +1 -1
  84. package/dist/contexts.d.ts +10 -27
  85. package/dist/contexts.es.js +184 -337
  86. package/dist/{dateUtils-D5PdELhi.js → dateUtils-Bc53BdYm.js} +11 -21
  87. package/dist/{dateUtils-CIDS0n5B.cjs → dateUtils-Y_XPaYyg.cjs} +1 -1
  88. package/dist/hooks/useFormControlType/useFormControlType.d.ts +1 -1
  89. package/dist/hooks/useGetApiData/useGetApiData.d.ts +0 -1
  90. package/dist/hooks/useLocalStorageState/useLocalStorageState.d.ts +0 -1
  91. package/dist/hooks/useNotifications/useNotifications.d.ts +1 -1
  92. package/dist/hooks.cjs.js +1 -1
  93. package/dist/hooks.d.ts +3 -5
  94. package/dist/hooks.es.js +46 -44
  95. package/dist/layout/FullScreenContainer/FullScreenContainer.d.ts +0 -1
  96. package/dist/layout/MainContainer/MainContainer.d.ts +0 -1
  97. package/dist/layout/SideMenu/MenuItem/MenuItem.d.ts +0 -1
  98. package/dist/layout/SideMenu/SideMenu.d.ts +0 -1
  99. package/dist/layout/TopBar/TopBar.d.ts +0 -1
  100. package/dist/layout.cjs.js +1 -1
  101. package/dist/layout.d.ts +0 -2
  102. package/dist/layout.es.js +95 -96
  103. package/dist/main.cjs.js +1 -1
  104. package/dist/main.es.js +2062 -2455
  105. package/dist/models/prop-types/InputContainerProps.d.ts +0 -1
  106. package/dist/models/prop-types/InputProps/DropdownPickerProps.d.ts +0 -1
  107. package/dist/models/prop-types/InputProps/TextInputProps.d.ts +0 -1
  108. package/dist/models/texts/ComponentsContextTexts.d.ts +18 -0
  109. package/dist/models/types/MenuItemType.d.ts +0 -1
  110. package/dist/models/types/PhotoAction.d.ts +0 -1
  111. package/dist/models/types/TimelineStep.d.ts +0 -1
  112. package/dist/{searchUtils-CEjMiULh.js → searchUtils-kismAHZM.js} +1 -1
  113. package/dist/{searchUtils-9_EWs2V9.cjs → searchUtils-qxu0IgEU.cjs} +1 -1
  114. package/dist/style.css +1 -1
  115. package/dist/{useFormControlType-oJGqgThz.js → useFormControlType-BAFqxupC.js} +3 -3
  116. package/dist/useLocalStorageState-BxKcArKF.cjs +1 -0
  117. package/dist/useLocalStorageState-HYmARj_B.js +76 -0
  118. package/dist/usePermissions-Dl5tlwwt.js +17 -0
  119. package/dist/usePermissions-yx-0zHae.cjs +1 -0
  120. package/dist/utils/bnfValueFormat/bnfValueFormat.d.ts +0 -1
  121. package/dist/utils.cjs.js +1 -1
  122. package/dist/utils.d.ts +0 -2
  123. package/dist/utils.es.js +55 -53
  124. package/dist/variables.scss +171 -171
  125. package/package.json +106 -106
  126. package/dist/FromToDatePickerDropdownToggle-EhHpHC9A.cjs +0 -253
  127. package/dist/PrimaryButton-BbKMePCv.js +0 -718
  128. package/dist/PrimaryButton-ugYzKlak.cjs +0 -1
  129. package/dist/SimpleTooltip-Boktzm98.js +0 -5
  130. package/dist/useLocalStorageState-CT8xepqa.cjs +0 -1
  131. package/dist/useLocalStorageState-DkeM8Y6R.js +0 -74
  132. package/dist/usePermissions-BkVAe1PL.cjs +0 -1
  133. package/dist/usePermissions-Dh1Sgbd7.js +0 -15
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props = {
3
2
  year: Date;
4
3
  onChangeYear: (year: Date) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PublicClientApplication } from '@azure/msal-browser';
3
2
  interface IAuthContext {
4
3
  useMsal: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PublicClientApplication } from '@azure/msal-browser';
3
2
  type BaseProps = {
4
3
  children: React.ReactNode;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface IConfirmContext {
3
2
  show: boolean;
4
3
  text: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props = {
3
2
  children: React.ReactNode;
4
3
  };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props = {
3
2
  children: React.ReactNode;
4
3
  relativeEndpoint: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ILoadingContext {
3
2
  isLoading: boolean;
4
3
  startLoading: (key: string) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props = {
3
2
  children: React.ReactNode;
4
3
  };
@@ -1,11 +1,8 @@
1
- import { AppSearchTexts, AxiosTexts, CommonLuminusIcons, ConfirmTexts, CustomSelectTexts, FormSubmitTexts, FormValidationTexts, HomeDashboardTexts, ILocalizationContext } from '@models/index';
1
+ import { CommonLuminusIcons, ILocalizationContext } from '@models/index';
2
2
  import ComponentsContextTexts from '@models/texts/ComponentsContextTexts';
3
- import ErrorBoundaryTexts from '@models/texts/ErrorBoundaryTexts';
4
- import WidgetTexts from '@models/texts/WidgetTexts';
5
3
  import { CreateAxiosDefaults } from 'axios';
6
4
  import { Context, ReactNode } from 'react';
7
5
  import { IconBaseProps } from 'react-icons';
8
- import { LinkProps, NavigateProps } from 'react-router-dom';
9
6
  export type IconComponentType = (props: {
10
7
  icon: CommonLuminusIcons;
11
8
  className?: string;
@@ -14,19 +11,8 @@ export type IconComponentType = (props: {
14
11
  export interface ILuminusComponentsContext {
15
12
  cookieDomain: string;
16
13
  axiosOptions: CreateAxiosDefaults;
17
- LinkComponent: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
18
- NavigateComponent: (props: NavigateProps) => null;
19
14
  localizationContext: Context<ILocalizationContext>;
20
15
  language: string;
21
- axiosTexts: AxiosTexts;
22
- confirmTexts: ConfirmTexts;
23
- formValidationTexts: FormValidationTexts;
24
- homeDashboardTexts: HomeDashboardTexts;
25
- formSubmitTexts: FormSubmitTexts;
26
- appSearchTexts: AppSearchTexts;
27
- customSelectTexts: CustomSelectTexts;
28
- errorBoundaryTexts: ErrorBoundaryTexts;
29
- widgetTexts: WidgetTexts;
30
16
  texts: ComponentsContextTexts;
31
17
  ProjectIconComponent: IconComponentType;
32
18
  }
@@ -1,30 +1,16 @@
1
- import { AppSearchTexts, AxiosTexts, ConfirmTexts, CustomSelectTexts, FormSubmitTexts, FormValidationTexts, HomeDashboardTexts, ILocalizationContext } from '@models/index';
1
+ import { ILocalizationContext } from '@models/index';
2
2
  import ComponentsContextTexts from '@models/texts/ComponentsContextTexts';
3
- import ErrorBoundaryTexts from '@models/texts/ErrorBoundaryTexts';
4
- import WidgetTexts from '@models/texts/WidgetTexts';
5
3
  import { CreateAxiosDefaults } from 'axios';
6
4
  import { Context } from 'react';
7
- import { LinkProps, NavigateProps } from 'react-router-dom';
8
5
  import { IconComponentType } from './LuminusComponentsContext';
9
6
  type Props = {
10
7
  cookieDomain: string;
11
8
  axiosOptions: CreateAxiosDefaults;
12
- LinkComponent: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
13
- NavigateComponent: (props: NavigateProps) => null;
14
9
  language: string;
15
- axiosTexts: AxiosTexts;
16
- confirmTexts: ConfirmTexts;
17
- formValidationTexts: FormValidationTexts;
18
- homeDashboardTexts: HomeDashboardTexts;
19
- formSubmitTexts: FormSubmitTexts;
20
- appSearchTexts: AppSearchTexts;
21
- customSelectTexts: CustomSelectTexts;
22
10
  children: React.ReactNode;
23
- errorBoundaryTexts: ErrorBoundaryTexts;
24
- widgetTexts: WidgetTexts;
25
11
  texts: ComponentsContextTexts;
26
12
  ProjectIconComponent: IconComponentType;
27
13
  localizationContext: Context<ILocalizationContext>;
28
14
  };
29
- declare const LuminusComponentsProvider: ({ cookieDomain, axiosOptions, LinkComponent, NavigateComponent, language, axiosTexts, confirmTexts, formValidationTexts, homeDashboardTexts, formSubmitTexts, appSearchTexts, customSelectTexts, errorBoundaryTexts, widgetTexts, texts, ProjectIconComponent, localizationContext, children, }: Props) => import("react").JSX.Element;
15
+ declare const LuminusComponentsProvider: ({ cookieDomain, axiosOptions, language, texts, ProjectIconComponent, localizationContext, children, }: Props) => import("react").JSX.Element;
30
16
  export default LuminusComponentsProvider;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import PromptOptions from '@models/types/PromptOptions';
3
2
  interface IPromptContext {
4
3
  isShown: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import UserModel from '@models/types/UserModel';
3
2
  import { UserLoginState } from '@models/index';
4
3
  interface IUserContext {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type Props = {
3
2
  children: React.ReactNode;
4
3
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./FromToDatePickerDropdownToggle-EhHpHC9A.cjs"),n=require("react");require("zod");require("react-hook-form");require("react-router-dom");const T=require("./useLocalStorageState-CT8xepqa.cjs"),c=require("./PrimaryButton-ugYzKlak.cjs"),b=require("./dateUtils-CIDS0n5B.cjs"),k=({children:t})=>{const[i,s]=n.useState(!1),[r,o]=n.useState(""),a=n.useCallback(d=>{s(!0),o(d)},[]),u=n.useCallback(()=>{s(!1)},[]),l=n.useMemo(()=>({show:i,text:r,showConfirm:a,hideConfirm:u}),[i,r,a,u]);return e.jsxRuntimeExports.jsxs(e.ConfirmContext.Provider,{value:l,children:[e.jsxRuntimeExports.jsx(z,{}),t]})},A=()=>{const{confirmTexts:t}=n.useContext(e.LuminusComponentsContext),{isShown:i,text:s,onFinish:r}=T.usePrompt(),{options:o}=n.useContext(e.PromptContext),[a,u]=n.useState(o.defaultValue??""),l=n.useCallback(()=>{r(null)},[r]),d=n.useCallback(x=>{x.preventDefault(),!(o.required&&!a)&&r(a)},[r,o.required,a]);n.useEffect(()=>{i===!0&&u(o.defaultValue??"")},[i,o.defaultValue]);const E=n.useMemo(()=>({value:a,onChange:x=>u(x.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[a]);return e.jsxRuntimeExports.jsxs(c.Modal,{show:i,size:"sm",centered:!0,onHide:l,children:[e.jsxRuntimeExports.jsx(c.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(c.Modal.Title,{children:s})}),e.jsxRuntimeExports.jsxs("form",{onSubmit:d,children:[e.jsxRuntimeExports.jsxs(c.Modal.Body,{children:[o.input==="textarea"?e.jsxRuntimeExports.jsx("textarea",{...E,rows:5}):void 0,o.input==="input"?e.jsxRuntimeExports.jsx(c.FormControl,{...E,type:o.type}):void 0]}),e.jsxRuntimeExports.jsxs(c.Modal.Footer,{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(c.PrimaryButton,{variant:"outlined",color:"secondary",onClick:l,className:"flex-grow-1",children:t.cancel}),e.jsxRuntimeExports.jsx(c.PrimaryButton,{color:"primary",disabled:o.required&&!a,type:"submit",className:"flex-grow-1",children:t.confirm})]})]})]})},O=({children:t})=>{const[i,s]=n.useState(!1),[r,o]=n.useState(""),[a,u]=n.useState({input:"textarea",type:"text"}),l=n.useRef(()=>{}),d=n.useCallback(v=>{o(v),s(!0)},[]),E=n.useCallback(()=>{s(!1)},[]),x=n.useMemo(()=>({isShown:i,text:r,showPrompt:d,hidePrompt:E,resolveRef:l,options:a,setOptions:u}),[i,r,d,E,a]);return e.jsxRuntimeExports.jsxs(e.PromptContext.Provider,{value:x,children:[t,e.jsxRuntimeExports.jsx(A,{})]})},w=({cookieDomain:t,axiosOptions:i,LinkComponent:s,NavigateComponent:r,language:o,axiosTexts:a,confirmTexts:u,formValidationTexts:l,homeDashboardTexts:d,formSubmitTexts:E,appSearchTexts:x,customSelectTexts:v,errorBoundaryTexts:R,widgetTexts:p,texts:g,ProjectIconComponent:y,localizationContext:I,children:f})=>{const S=n.useMemo(()=>({axiosOptions:i,cookieDomain:t,LinkComponent:s,NavigateComponent:r,language:o,axiosTexts:a,confirmTexts:u,formValidationTexts:l,homeDashboardTexts:d,formSubmitTexts:E,appSearchTexts:x,customSelectTexts:v,errorBoundaryTexts:R,widgetTexts:p,texts:g,ProjectIconComponent:y,localizationContext:I}),[i,t,s,r,o,a,u,l,d,E,x,v,R,p,y,I,g]);return e.jsxRuntimeExports.jsx(e.LuminusComponentsContext.Provider,{value:S,children:e.jsxRuntimeExports.jsx(k,{children:e.jsxRuntimeExports.jsxs(O,{children:[e.jsxRuntimeExports.jsx(e.Ie,{}),f]})})})},U=({children:t})=>{const[i,s]=n.useState(!1),[r]=n.useState(new Set),o=n.useCallback(l=>{r.add(l),s(!0)},[r]),a=n.useCallback(l=>{r.delete(l),r.size===0&&s(!1)},[r]),u=n.useMemo(()=>({isLoading:i,startLoading:o,stopLoading:a}),[i,o,a]);return e.jsxRuntimeExports.jsxs(e.LoadingContext.Provider,{value:u,children:[i&&e.jsxRuntimeExports.jsx(c.Loading,{}),t]})};/*! @azure/msal-browser v3.14.0 2024-05-07 */class _{static getInteractionStatusFromEvent(i,s){switch(i.eventType){case c.EventType.LOGIN_START:return e.InteractionStatus.Login;case c.EventType.SSO_SILENT_START:return e.InteractionStatus.SsoSilent;case c.EventType.ACQUIRE_TOKEN_START:if(i.interactionType===e.InteractionType.Redirect||i.interactionType===e.InteractionType.Popup)return e.InteractionStatus.AcquireToken;break;case c.EventType.HANDLE_REDIRECT_START:return e.InteractionStatus.HandleRedirect;case c.EventType.LOGOUT_START:return e.InteractionStatus.Logout;case c.EventType.SSO_SILENT_SUCCESS:case c.EventType.SSO_SILENT_FAILURE:if(s&&s!==e.InteractionStatus.SsoSilent)break;return e.InteractionStatus.None;case c.EventType.LOGOUT_END:if(s&&s!==e.InteractionStatus.Logout)break;return e.InteractionStatus.None;case c.EventType.HANDLE_REDIRECT_END:if(s&&s!==e.InteractionStatus.HandleRedirect)break;return e.InteractionStatus.None;case c.EventType.LOGIN_SUCCESS:case c.EventType.LOGIN_FAILURE:case c.EventType.ACQUIRE_TOKEN_SUCCESS:case c.EventType.ACQUIRE_TOKEN_FAILURE:case c.EventType.RESTORE_FROM_BFCACHE:if(i.interactionType===e.InteractionType.Redirect||i.interactionType===e.InteractionType.Popup){if(s&&s!==e.InteractionStatus.Login&&s!==e.InteractionStatus.AcquireToken)break;return e.InteractionStatus.None}break}return null}}/*! @azure/msal-react v2.0.16 2024-05-07 */const M="@azure/msal-react",P="2.0.16";/*! @azure/msal-react v2.0.16 2024-05-07 */const h={UNBLOCK_INPROGRESS:"UNBLOCK_INPROGRESS",EVENT:"EVENT"},D=(t,i)=>{const{type:s,payload:r}=i;let o=t.inProgress;switch(s){case h.UNBLOCK_INPROGRESS:t.inProgress===e.InteractionStatus.Startup&&(o=e.InteractionStatus.None,r.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"));break;case h.EVENT:const u=r.message,l=_.getInteractionStatusFromEvent(u,t.inProgress);l&&(r.logger.info(`MsalProvider - ${u.eventType} results in setting inProgress from ${t.inProgress} to ${l}`),o=l);break;default:throw new Error(`Unknown action type: ${s}`)}const a=r.instance.getAllAccounts();return o!==t.inProgress&&!e.accountArraysAreEqual(a,t.accounts)?{...t,inProgress:o,accounts:a}:o!==t.inProgress?{...t,inProgress:o}:e.accountArraysAreEqual(a,t.accounts)?t:{...t,accounts:a}};function G({instance:t,children:i}){n.useEffect(()=>{t.initializeWrapperLibrary(e.WrapperSKU.React,P)},[t]);const s=n.useMemo(()=>t.getLogger().clone(M,P),[t]),[r,o]=n.useReducer(D,void 0,()=>({inProgress:e.InteractionStatus.Startup,accounts:t.getAllAccounts()}));n.useEffect(()=>{const u=t.addEventCallback(l=>{o({payload:{instance:t,logger:s,message:l},type:h.EVENT})});return s.verbose(`MsalProvider - Registered event callback with id: ${u}`),t.initialize().then(()=>{t.handleRedirectPromise().catch(()=>{}).finally(()=>{o({payload:{instance:t,logger:s},type:h.UNBLOCK_INPROGRESS})})}).catch(()=>{}),()=>{u&&(s.verbose(`MsalProvider - Removing event callback ${u}`),t.removeEventCallback(u))}},[t,s]);const a={instance:t,inProgress:r.inProgress,accounts:r.accounts,logger:s};return n.createElement(e.MsalContext.Provider,{value:a},i)}const q=({children:t})=>{const i=e.useAxios(),{msalInstance:s}=n.useContext(e.AuthContext),{delegation:r,setDelegation:o,setAvailableDelegations:a,refreshAvailableDelegations:u}=n.useContext(e.DelegationContext),{getToken:l}=e.useAuth(),[d,E]=n.useState(null),x=n.useCallback(async()=>{const m=await l();m&&E(m)},[l]);n.useEffect(()=>{x()},[x]);const R=n.useCallback(()=>{const m=localStorage.getItem("user")??null;return m?JSON.parse(m??""):null},[])(),[p,g]=n.useState({state:R?e.LoginState.LOGGED_IN:e.LoginState.LOGGING_IN,user:R}),y=n.useCallback(async m=>{let C=null;return await i.get("/user/detail",m?{headers:{Authorization:`Bearer ${m}`}}:void 0).then(j=>{C=j.data}).catch(()=>{C=null}),C},[i]),I=n.useCallback(()=>{localStorage.removeItem("user"),g({state:e.LoginState.LOGGED_OUT,user:null}),o(null),a(null)},[a,o]),f=n.useCallback(async m=>{g({state:e.LoginState.LOGGING_IN,user:null});const C=await y(m);return C?(g({state:e.LoginState.LOGGED_IN,user:C}),localStorage.setItem("user",JSON.stringify(C)),await u(),!0):(g({state:e.LoginState.LOGIN_FAILED,user:null}),!1)},[y,u]),S=n.useCallback(()=>{I()},[I]);n.useEffect(()=>{if(s){const m=s.addEventCallback(C=>{if(C.eventType===c.EventType.LOGIN_SUCCESS&&C.payload){const j=C.payload;E(j.accessToken)}});return()=>{m&&s.removeEventCallback(m)}}return()=>{}},[s,f,S]);const L=n.useCallback(async m=>{m&&await f(m).catch(()=>{S(),o(null)})},[f,S,o]);n.useEffect(()=>{L(d)},[d,r==null?void 0:r.id,L]);const N=n.useMemo(()=>({user:p.user,userLoginState:p,loginUser:f,logoutUser:S}),[p,f,S]);return e.jsxRuntimeExports.jsx(e.UserContext.Provider,{value:N,children:t})},F=({...t})=>{const{cookieDomain:i}=n.useContext(e.LuminusComponentsContext),[,s]=e.useCookies(["Authorization"]),r=n.useMemo(()=>({useMsal:t.useMsal??!1,msalInstance:t.useMsal?t.msalInstance??null:null,msalScopes:t.useMsal?t.msalScopes??[]:[]}),[t]);return n.useEffect(()=>{if(t.useMsal){const o=t.msalInstance.addEventCallback(a=>{if(a.eventType===c.EventType.LOGIN_SUCCESS||a.eventType===c.EventType.ACQUIRE_TOKEN_SUCCESS&&a.payload){const u=a.payload,l=u.account;t.msalInstance.setActiveAccount(l);const d=u.accessToken,E=u.expiresOn;s("Authorization",d,{path:"/",secure:!0,sameSite:"none",domain:i,expires:E??void 0})}a.error&&console.error("AuthProvider MSAL Error",a)});return()=>{o&&t.msalInstance.removeEventCallback(o)}}return()=>{}},[t,s,i]),e.jsxRuntimeExports.jsx(e.AuthContext.Provider,{value:r,children:t.useMsal?e.jsxRuntimeExports.jsx(G,{instance:t.msalInstance,children:t.children}):t.children})},B=({children:t,relativeEndpoint:i})=>{const[s,r,o]=T.useLocalStorageState("user-delegation",null),{data:a,setData:u,reloadData:l}=T.useGetApiData(i,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),d=n.useRef(null);n.useEffect(()=>{const x=()=>{l(),d.current=window.setTimeout(x,b.msToStartOfNextDay()+5e3)};return x(),()=>{d.current!==null&&window.clearTimeout(d.current)}},[l]),n.useEffect(()=>{const x=()=>{o()};return window.addEventListener("focus",x),()=>{window.removeEventListener("focus",x)}},[o,l]);const E=n.useMemo(()=>({delegation:s,setDelegation:r,availableDelegations:a,setAvailableDelegations:u,refreshAvailableDelegations:l}),[s,r,a,u,l]);return e.jsxRuntimeExports.jsx(e.DelegationContext.Provider,{value:E,children:t})},z=()=>{const{confirmTexts:t}=n.useContext(e.LuminusComponentsContext),{onConfirm:i,onCancel:s,text:r,show:o}=T.useConfirm();return e.jsxRuntimeExports.jsxs(c.Modal,{show:o,size:"sm",centered:!0,onHide:s,children:[e.jsxRuntimeExports.jsx(c.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(c.Modal.Title,{children:r})}),e.jsxRuntimeExports.jsx(c.Modal.Body,{children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(c.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:s,children:t.no}),e.jsxRuntimeExports.jsx(c.PrimaryButton,{type:"button",color:"primary",onClick:i,className:"w-100 ml",children:t.yes})]})})]})};exports.AuthContext=e.AuthContext;exports.DelegationContext=e.DelegationContext;exports.LoadingContext=e.LoadingContext;exports.LuminusComponentsContext=e.LuminusComponentsContext;exports.UserContext=e.UserContext;exports.AuthProvider=F;exports.DelegationProvider=B;exports.LoadingProvider=U;exports.LuminusComponentsProvider=w;exports.UserProvider=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./FromToDatePickerDropdownToggle-BcOIaLyQ.cjs"),t=require("react"),S=require("@azure/msal-browser"),w=require("@azure/msal-react");require("zod");require("react-router-dom");require("react-hook-form");const p=require("./useLocalStorageState-BxKcArKF.cjs"),d=require("./PrimaryButton-Dow_5lBe.cjs"),I=require("./dateUtils-Y_XPaYyg.cjs"),T=({children:s})=>{const[u,a]=t.useState(!1),[r,n]=t.useState(""),o=t.useCallback(x=>{a(!0),n(x)},[]),l=t.useCallback(()=>{a(!1)},[]),i=t.useMemo(()=>({show:u,text:r,showConfirm:o,hideConfirm:l}),[u,r,o,l]);return e.jsxRuntimeExports.jsxs(e.ConfirmContext.Provider,{value:i,children:[e.jsxRuntimeExports.jsx(q,{}),s]})},D=()=>{const{texts:{confirm:s}}=t.useContext(e.LuminusComponentsContext),{isShown:u,text:a,onFinish:r}=p.usePrompt(),{options:n}=t.useContext(e.PromptContext),[o,l]=t.useState(n.defaultValue??""),i=t.useCallback(()=>{r(null)},[r]),x=t.useCallback(m=>{m.preventDefault(),!(n.required&&!o)&&r(o)},[r,n.required,o]);t.useEffect(()=>{u===!0&&l(n.defaultValue??"")},[u,n.defaultValue]);const C=t.useMemo(()=>({value:o,onChange:m=>l(m.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[o]);return e.jsxRuntimeExports.jsxs(d.Modal,{show:u,size:"sm",centered:!0,onHide:i,children:[e.jsxRuntimeExports.jsx(d.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(d.Modal.Title,{children:a})}),e.jsxRuntimeExports.jsxs("form",{onSubmit:x,children:[e.jsxRuntimeExports.jsxs(d.Modal.Body,{children:[n.input==="textarea"?e.jsxRuntimeExports.jsx("textarea",{...C,rows:5}):void 0,n.input==="input"?e.jsxRuntimeExports.jsx(d.FormControl,{...C,type:n.type}):void 0]}),e.jsxRuntimeExports.jsxs(d.Modal.Footer,{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(d.PrimaryButton,{variant:"outlined",color:"secondary",onClick:i,className:"flex-grow-1",children:s.cancel}),e.jsxRuntimeExports.jsx(d.PrimaryButton,{color:"primary",disabled:n.required&&!o,type:"submit",className:"flex-grow-1",children:s.confirm})]})]})]})},M=({children:s})=>{const[u,a]=t.useState(!1),[r,n]=t.useState(""),[o,l]=t.useState({input:"textarea",type:"text"}),i=t.useRef(()=>{}),x=t.useCallback(L=>{n(L),a(!0)},[]),C=t.useCallback(()=>{a(!1)},[]),m=t.useMemo(()=>({isShown:u,text:r,showPrompt:x,hidePrompt:C,resolveRef:i,options:o,setOptions:l}),[u,r,x,C,o]);return e.jsxRuntimeExports.jsxs(e.PromptContext.Provider,{value:m,children:[s,e.jsxRuntimeExports.jsx(D,{})]})},A=({cookieDomain:s,axiosOptions:u,language:a,texts:r,ProjectIconComponent:n,localizationContext:o,children:l})=>{const i=t.useMemo(()=>({axiosOptions:u,cookieDomain:s,language:a,texts:r,ProjectIconComponent:n,localizationContext:o}),[u,s,a,n,o,r]);return e.jsxRuntimeExports.jsx(e.LuminusComponentsContext.Provider,{value:i,children:e.jsxRuntimeExports.jsx(T,{children:e.jsxRuntimeExports.jsxs(M,{children:[e.jsxRuntimeExports.jsx(e.Ie,{}),l]})})})},N=({children:s})=>{const[u,a]=t.useState(!1),[r]=t.useState(new Set),n=t.useCallback(i=>{r.add(i),a(!0)},[r]),o=t.useCallback(i=>{r.delete(i),r.size===0&&a(!1)},[r]),l=t.useMemo(()=>({isLoading:u,startLoading:n,stopLoading:o}),[u,n,o]);return e.jsxRuntimeExports.jsxs(e.LoadingContext.Provider,{value:l,children:[u&&e.jsxRuntimeExports.jsx(d.Loading,{}),s]})},U=({children:s})=>{const u=e.useAxios(),{msalInstance:a}=t.useContext(e.AuthContext),{delegation:r,setDelegation:n,setAvailableDelegations:o,refreshAvailableDelegations:l}=t.useContext(e.DelegationContext),{getToken:i}=e.useAuth(),[x,C]=t.useState(null),m=t.useCallback(async()=>{const c=await i();c&&C(c)},[i]);t.useEffect(()=>{m()},[m]);const R=t.useCallback(()=>{const c=localStorage.getItem("user")??null;return c?JSON.parse(c??""):null},[])(),[E,h]=t.useState({state:R?e.LoginState.LOGGED_IN:e.LoginState.LOGGING_IN,user:R}),y=t.useCallback(async c=>{let f=null;return await u.get("/user/detail",c?{headers:{Authorization:`Bearer ${c}`}}:void 0).then(v=>{f=v.data}).catch(()=>{f=null}),f},[u]),b=t.useCallback(()=>{localStorage.removeItem("user"),h({state:e.LoginState.LOGGED_OUT,user:null}),n(null),o(null)},[o,n]),j=t.useCallback(async c=>{h({state:e.LoginState.LOGGING_IN,user:null});const f=await y(c);return f?(h({state:e.LoginState.LOGGED_IN,user:f}),localStorage.setItem("user",JSON.stringify(f)),await l(),!0):(h({state:e.LoginState.LOGIN_FAILED,user:null}),!1)},[y,l]),g=t.useCallback(()=>{b()},[b]);t.useEffect(()=>{if(a){const c=a.addEventCallback(f=>{if(f.eventType===S.EventType.LOGIN_SUCCESS&&f.payload){const v=f.payload;C(v.accessToken)}});return()=>{c&&a.removeEventCallback(c)}}return()=>{}},[a,j,g]);const P=t.useCallback(async c=>{c&&await j(c).catch(()=>{g(),n(null)})},[j,g,n]);t.useEffect(()=>{P(x)},[x,r==null?void 0:r.id,P]);const k=t.useMemo(()=>({user:E.user,userLoginState:E,loginUser:j,logoutUser:g}),[E,j,g]);return e.jsxRuntimeExports.jsx(e.UserContext.Provider,{value:k,children:s})},O=({...s})=>{const{cookieDomain:u}=t.useContext(e.LuminusComponentsContext),[,a]=e.useCookies(["Authorization"]),r=t.useMemo(()=>({useMsal:s.useMsal??!1,msalInstance:s.useMsal?s.msalInstance??null:null,msalScopes:s.useMsal?s.msalScopes??[]:[]}),[s]);return t.useEffect(()=>{if(s.useMsal){const n=s.msalInstance.addEventCallback(o=>{if(o.eventType===S.EventType.LOGIN_SUCCESS||o.eventType===S.EventType.ACQUIRE_TOKEN_SUCCESS&&o.payload){const l=o.payload,i=l.account;s.msalInstance.setActiveAccount(i);const x=l.accessToken,C=l.expiresOn;a("Authorization",x,{path:"/",secure:!0,sameSite:"none",domain:u,expires:C??void 0})}o.error&&console.error("AuthProvider MSAL Error",o)});return()=>{n&&s.msalInstance.removeEventCallback(n)}}return()=>{}},[s,a,u]),e.jsxRuntimeExports.jsx(e.AuthContext.Provider,{value:r,children:s.useMsal?e.jsxRuntimeExports.jsx(w.MsalProvider,{instance:s.msalInstance,children:s.children}):s.children})},G=({children:s,relativeEndpoint:u})=>{const[a,r,n]=p.useLocalStorageState("user-delegation",null),{data:o,setData:l,reloadData:i}=p.useGetApiData(u,{nullStateBeforeLoad:!1,nullStateOnFail:!0}),x=t.useRef(null);t.useEffect(()=>{const m=()=>{i(),x.current=window.setTimeout(m,I.msToStartOfNextDay()+5e3)};return m(),()=>{x.current!==null&&window.clearTimeout(x.current)}},[i]),t.useEffect(()=>{const m=()=>{n()};return window.addEventListener("focus",m),()=>{window.removeEventListener("focus",m)}},[n,i]);const C=t.useMemo(()=>({delegation:a,setDelegation:r,availableDelegations:o,setAvailableDelegations:l,refreshAvailableDelegations:i}),[a,r,o,l,i]);return e.jsxRuntimeExports.jsx(e.DelegationContext.Provider,{value:C,children:s})},q=()=>{const{texts:{confirm:s}}=t.useContext(e.LuminusComponentsContext),{onConfirm:u,onCancel:a,text:r,show:n}=p.useConfirm();return e.jsxRuntimeExports.jsxs(d.Modal,{show:n,size:"sm",centered:!0,onHide:a,children:[e.jsxRuntimeExports.jsx(d.Modal.Header,{className:"justify-content-center",children:e.jsxRuntimeExports.jsx(d.Modal.Title,{children:r})}),e.jsxRuntimeExports.jsx(d.Modal.Body,{children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx(d.PrimaryButton,{type:"button",variant:"outlined",color:"secondary",className:"w-100",onClick:a,children:s.no}),e.jsxRuntimeExports.jsx(d.PrimaryButton,{type:"button",color:"primary",onClick:u,className:"w-100 ml",children:s.yes})]})})]})};exports.AuthContext=e.AuthContext;exports.DelegationContext=e.DelegationContext;exports.LoadingContext=e.LoadingContext;exports.LuminusComponentsContext=e.LuminusComponentsContext;exports.UserContext=e.UserContext;exports.AuthProvider=O;exports.DelegationProvider=G;exports.LoadingProvider=N;exports.LuminusComponentsProvider=A;exports.UserProvider=U;
@@ -1,14 +1,10 @@
1
- /// <reference types="react" />
2
-
3
1
  import { Context } from 'react';
4
2
  import { CreateAxiosDefaults } from 'axios';
5
3
  import { Dispatch } from 'react';
6
4
  import { GenericAbortSignal } from 'axios';
7
5
  import { IconBaseProps } from 'react-icons';
8
6
  import { JSX as JSX_2 } from 'react';
9
- import { LinkProps } from 'react-router-dom';
10
7
  import { Locale } from 'date-fns';
11
- import { NavigateProps } from 'react-router-dom';
12
8
  import { PublicClientApplication } from '@azure/msal-browser';
13
9
  import { ReactNode } from 'react';
14
10
  import { SetStateAction } from 'react';
@@ -37,6 +33,15 @@ declare type BaseProps = {
37
33
  declare type CommonLuminusIcons = 'edit' | 'delete' | 'info' | 'warning' | 'check' | 'danger' | 'chevron-left' | 'chevron-right';
38
34
 
39
35
  declare type ComponentsContextTexts = {
36
+ axios: AxiosTexts;
37
+ confirm: ConfirmTexts;
38
+ formValidation: FormValidationTexts;
39
+ homeDashboard: HomeDashboardTexts;
40
+ formSubmit: FormSubmitTexts;
41
+ appSearch: AppSearchTexts;
42
+ customSelect: CustomSelectTexts;
43
+ errorBoundary: ErrorBoundaryTexts;
44
+ widget: WidgetTexts;
40
45
  messageBoard: MessageBoardTexts;
41
46
  date: DateTexts;
42
47
  };
@@ -126,19 +131,8 @@ declare interface ILocalizationContext {
126
131
  export declare interface ILuminusComponentsContext {
127
132
  cookieDomain: string;
128
133
  axiosOptions: CreateAxiosDefaults;
129
- LinkComponent: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
130
- NavigateComponent: (props: NavigateProps) => null;
131
134
  localizationContext: Context<ILocalizationContext>;
132
135
  language: string;
133
- axiosTexts: AxiosTexts;
134
- confirmTexts: ConfirmTexts;
135
- formValidationTexts: FormValidationTexts;
136
- homeDashboardTexts: HomeDashboardTexts;
137
- formSubmitTexts: FormSubmitTexts;
138
- appSearchTexts: AppSearchTexts;
139
- customSelectTexts: CustomSelectTexts;
140
- errorBoundaryTexts: ErrorBoundaryTexts;
141
- widgetTexts: WidgetTexts;
142
136
  texts: ComponentsContextTexts;
143
137
  ProjectIconComponent: IconComponentType;
144
138
  }
@@ -163,7 +157,7 @@ declare enum LoginState {
163
157
 
164
158
  export declare const LuminusComponentsContext: Context<ILuminusComponentsContext>;
165
159
 
166
- export declare const LuminusComponentsProvider: ({ cookieDomain, axiosOptions, LinkComponent, NavigateComponent, language, axiosTexts, confirmTexts, formValidationTexts, homeDashboardTexts, formSubmitTexts, appSearchTexts, customSelectTexts, errorBoundaryTexts, widgetTexts, texts, ProjectIconComponent, localizationContext, children, }: Props) => JSX_2.Element;
160
+ export declare const LuminusComponentsProvider: ({ cookieDomain, axiosOptions, language, texts, ProjectIconComponent, localizationContext, children, }: Props) => JSX_2.Element;
167
161
 
168
162
  declare type MessageBoardTexts = {
169
163
  noMessages: string;
@@ -187,19 +181,8 @@ declare type NameIdStringModel = {
187
181
  declare type Props = {
188
182
  cookieDomain: string;
189
183
  axiosOptions: CreateAxiosDefaults;
190
- LinkComponent: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
191
- NavigateComponent: (props: NavigateProps) => null;
192
184
  language: string;
193
- axiosTexts: AxiosTexts;
194
- confirmTexts: ConfirmTexts;
195
- formValidationTexts: FormValidationTexts;
196
- homeDashboardTexts: HomeDashboardTexts;
197
- formSubmitTexts: FormSubmitTexts;
198
- appSearchTexts: AppSearchTexts;
199
- customSelectTexts: CustomSelectTexts;
200
185
  children: React.ReactNode;
201
- errorBoundaryTexts: ErrorBoundaryTexts;
202
- widgetTexts: WidgetTexts;
203
186
  texts: ComponentsContextTexts;
204
187
  ProjectIconComponent: IconComponentType;
205
188
  localizationContext: Context<ILocalizationContext>;