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.
- package/README.md +349 -355
- package/dist/.vite/manifest.json +64 -64
- package/dist/FromToDatePickerDropdownToggle-BcOIaLyQ.cjs +253 -0
- package/dist/{FromToDatePickerDropdownToggle-a6zb7EV7.js → FromToDatePickerDropdownToggle-CGnDN_zs.js} +2949 -3196
- package/dist/PrimaryButton-B6qFyVVD.js +680 -0
- package/dist/PrimaryButton-Dow_5lBe.cjs +1 -0
- package/dist/SimpleTooltip-B0I1MS-L.js +5 -0
- package/dist/{SimpleTooltip-ngcscCjg.cjs → SimpleTooltip-CpLiAgNs.cjs} +1 -1
- package/dist/components/Buttons/ContextButton/ContextButton.d.ts +0 -1
- package/dist/components/Buttons/ContextButton/FileUploadContextButton.d.ts +0 -1
- package/dist/components/Buttons/IconButton/IconButton.d.ts +0 -1
- package/dist/components/Buttons/PrimaryButton/PrimaryButton.d.ts +0 -1
- package/dist/components/Dropdown/Dropdown.d.ts +0 -1
- package/dist/components/Dropdown/comps/DropdownItem/DropdownItem.d.ts +0 -1
- package/dist/components/Dropdown/comps/DropdownItem/FileUploadDropdownItem.d.ts +0 -1
- package/dist/components/Dropdown/comps/DropdownToggle/DropdownToggle.d.ts +0 -1
- package/dist/components/Dropdown/comps/SimpleToggle/SimpleToggle.d.ts +3 -3
- package/dist/components/Form/CheckInput/CheckInput.d.ts +0 -1
- package/dist/components/Form/DropdownPicker/DropdownPicker.d.ts +0 -1
- package/dist/components/Form/NumericStepperInput/NumericStepperInput.d.ts +0 -1
- package/dist/components/Form/SelectInput/SelectInput.d.ts +0 -1
- package/dist/components/Form/TextAreaInput/TextAreaInput.d.ts +0 -1
- package/dist/components/Form/TextInput/TextInput.d.ts +0 -1
- package/dist/components/HookForm/CheckInput/HookFormCheckInput.d.ts +0 -1
- package/dist/components/HookForm/CustomSelectInput/CustomSelectInput.d.ts +0 -1
- package/dist/components/HookForm/FileInput/HookFormFileInput.d.ts +0 -1
- package/dist/components/HookForm/NumericStepperInput/HookFormNumericStepperInput.d.ts +0 -1
- package/dist/components/HookForm/RadioInput/HookFormRadioInput.d.ts +0 -1
- package/dist/components/HookForm/SelectInput/HookFormSelectInput.d.ts +0 -1
- package/dist/components/HookForm/TextAreaInput/HookFormTextAreaInput.d.ts +0 -1
- package/dist/components/HookForm/TextInput/HookFormTextInput.d.ts +0 -1
- package/dist/components/InputContainers/FloatingLabelInput/FloatingLabelInput.d.ts +20 -21
- package/dist/components/InputContainers/InputAnchorContainer/InputAnchorContainer.d.ts +0 -1
- package/dist/components/InputContainers/NoInputContainer/NoInputContainer.d.ts +20 -21
- package/dist/components/InputContainers/RowLabelInput/RowLabelInput.d.ts +20 -21
- package/dist/components/Layout/MessageBoard/components/MessageList/MessageList.d.ts +0 -1
- package/dist/components/Layout/MessageBoard/components/MessageList/comps/MessageFilters/MessageFilters.d.ts +0 -1
- package/dist/components/Layout/MessageBoard/components/MessageList/comps/MessageItem/MessageItem.d.ts +0 -1
- package/dist/components/NewTabs/Tab/Tab.d.ts +5 -5
- package/dist/components/NewTabs/TabPanel/TabPanel.d.ts +0 -1
- package/dist/components/NewTabs/Tabs/Tabs.d.ts +7 -7
- package/dist/components/Tabs/Tabs.d.ts +0 -1
- package/dist/components/Tabs/comps/Tab/Tab.d.ts +0 -1
- package/dist/components/UserAvatar/AvatarIcon/AvatarIcon.d.ts +0 -1
- package/dist/components/common/Alert/Alert.d.ts +0 -1
- package/dist/components/common/AlertItem/AlertItem.d.ts +0 -1
- package/dist/components/common/AppSearch/AppSearch.d.ts +0 -1
- package/dist/components/common/AppSearch/comps/AutocompleteWindow/AutocompleteWindow.d.ts +0 -1
- package/dist/components/common/Backdrop/Backdrop.d.ts +0 -1
- package/dist/components/common/Badge/Badge.d.ts +0 -1
- package/dist/components/common/Card/Card.d.ts +0 -1
- package/dist/components/common/Collapse/Collapse.d.ts +0 -1
- package/dist/components/common/ConfirmDialog/ConfirmDialog.d.ts +0 -1
- package/dist/components/common/FloatingActionContainer/FloatingActionContainer.d.ts +0 -1
- package/dist/components/common/HomeDashboard/HomeDashboard.d.ts +0 -1
- package/dist/components/common/HomeDashboard/comps/FreeSpaceWidget/FreeSpaceWidget.d.ts +0 -1
- package/dist/components/common/HomeDashboard/comps/WidgetPicker/WidgetPicker.d.ts +0 -1
- package/dist/components/common/ImgApi/ImgApi.d.ts +0 -1
- package/dist/components/common/ImgApi/hooks/useGetImgData.d.ts +0 -1
- package/dist/components/common/ImgDirect/ImgDirect.d.ts +0 -1
- package/dist/components/common/InvalidFeedback/InvalidFeedback.d.ts +0 -1
- package/dist/components/common/Loading/Loading.d.ts +0 -1
- package/dist/components/common/MonthPicker/MonthPicker.d.ts +0 -1
- package/dist/components/common/PhotoLibrary/PhotoLibrary.d.ts +0 -1
- package/dist/components/common/PhotoLightbox/PhotoLightbox.d.ts +0 -1
- package/dist/components/common/PromptDialog/PromptDialog.d.ts +0 -1
- package/dist/components/common/Timeline/Timeline.d.ts +0 -1
- package/dist/components/common/Typography/Typography.d.ts +0 -1
- package/dist/components/common/VersionInfo/VersionInfo.d.ts +0 -1
- package/dist/components/common/YearPicker/YearPicker.d.ts +0 -1
- package/dist/contexts/auth/AuthContext.d.ts +0 -1
- package/dist/contexts/auth/AuthProvider.d.ts +0 -1
- package/dist/contexts/confirm/ConfirmContext.d.ts +0 -1
- package/dist/contexts/confirm/ConfirmProvider.d.ts +0 -1
- package/dist/contexts/delegation/DelegationProvider.d.ts +0 -1
- package/dist/contexts/loading/LoadingContext.d.ts +0 -1
- package/dist/contexts/loading/LoadingProvider.d.ts +0 -1
- package/dist/contexts/luminus-components/LuminusComponentsContext.d.ts +1 -15
- package/dist/contexts/luminus-components/LuminusComponentsProvider.d.ts +2 -16
- package/dist/contexts/prompt/PromptContext.d.ts +0 -1
- package/dist/contexts/user/UserContext.d.ts +0 -1
- package/dist/contexts/user/UserProvider.d.ts +0 -1
- package/dist/contexts.cjs.js +1 -1
- package/dist/contexts.d.ts +10 -27
- package/dist/contexts.es.js +184 -337
- package/dist/{dateUtils-D5PdELhi.js → dateUtils-Bc53BdYm.js} +11 -21
- package/dist/{dateUtils-CIDS0n5B.cjs → dateUtils-Y_XPaYyg.cjs} +1 -1
- package/dist/hooks/useFormControlType/useFormControlType.d.ts +1 -1
- package/dist/hooks/useGetApiData/useGetApiData.d.ts +0 -1
- package/dist/hooks/useLocalStorageState/useLocalStorageState.d.ts +0 -1
- package/dist/hooks/useNotifications/useNotifications.d.ts +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.d.ts +3 -5
- package/dist/hooks.es.js +46 -44
- package/dist/layout/FullScreenContainer/FullScreenContainer.d.ts +0 -1
- package/dist/layout/MainContainer/MainContainer.d.ts +0 -1
- package/dist/layout/SideMenu/MenuItem/MenuItem.d.ts +0 -1
- package/dist/layout/SideMenu/SideMenu.d.ts +0 -1
- package/dist/layout/TopBar/TopBar.d.ts +0 -1
- package/dist/layout.cjs.js +1 -1
- package/dist/layout.d.ts +0 -2
- package/dist/layout.es.js +95 -96
- package/dist/main.cjs.js +1 -1
- package/dist/main.es.js +2062 -2455
- package/dist/models/prop-types/InputContainerProps.d.ts +0 -1
- package/dist/models/prop-types/InputProps/DropdownPickerProps.d.ts +0 -1
- package/dist/models/prop-types/InputProps/TextInputProps.d.ts +0 -1
- package/dist/models/texts/ComponentsContextTexts.d.ts +18 -0
- package/dist/models/types/MenuItemType.d.ts +0 -1
- package/dist/models/types/PhotoAction.d.ts +0 -1
- package/dist/models/types/TimelineStep.d.ts +0 -1
- package/dist/{searchUtils-CEjMiULh.js → searchUtils-kismAHZM.js} +1 -1
- package/dist/{searchUtils-9_EWs2V9.cjs → searchUtils-qxu0IgEU.cjs} +1 -1
- package/dist/style.css +1 -1
- package/dist/{useFormControlType-oJGqgThz.js → useFormControlType-BAFqxupC.js} +3 -3
- package/dist/useLocalStorageState-BxKcArKF.cjs +1 -0
- package/dist/useLocalStorageState-HYmARj_B.js +76 -0
- package/dist/usePermissions-Dl5tlwwt.js +17 -0
- package/dist/usePermissions-yx-0zHae.cjs +1 -0
- package/dist/utils/bnfValueFormat/bnfValueFormat.d.ts +0 -1
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.es.js +55 -53
- package/dist/variables.scss +171 -171
- package/package.json +106 -106
- package/dist/FromToDatePickerDropdownToggle-EhHpHC9A.cjs +0 -253
- package/dist/PrimaryButton-BbKMePCv.js +0 -718
- package/dist/PrimaryButton-ugYzKlak.cjs +0 -1
- package/dist/SimpleTooltip-Boktzm98.js +0 -5
- package/dist/useLocalStorageState-CT8xepqa.cjs +0 -1
- package/dist/useLocalStorageState-DkeM8Y6R.js +0 -74
- package/dist/usePermissions-BkVAe1PL.cjs +0 -1
- package/dist/usePermissions-Dh1Sgbd7.js +0 -15
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import {
|
|
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 {
|
|
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,
|
|
15
|
+
declare const LuminusComponentsProvider: ({ cookieDomain, axiosOptions, language, texts, ProjectIconComponent, localizationContext, children, }: Props) => import("react").JSX.Element;
|
|
30
16
|
export default LuminusComponentsProvider;
|
package/dist/contexts.cjs.js
CHANGED
|
@@ -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;
|
package/dist/contexts.d.ts
CHANGED
|
@@ -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,
|
|
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>;
|