react-luminus-components 1.5.19 → 2.0.0-table-b0cb70b74a4fbbb9f83e28b44d73469c738618bb
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/dist/.vite/manifest.json +26 -26
- package/dist/{FormDisabledProvider-DGZAPk9U.cjs → FormDisabledProvider-BNE4w-91.cjs} +1 -1
- package/dist/{FormDisabledProvider-Xx2Oc8Mr.js → FormDisabledProvider-Ct-odePz.js} +3 -3
- package/dist/ShortcutLinksContext-B6B_uG2X.js +39866 -0
- package/dist/ShortcutLinksContext-d3AdgJhg.cjs +334 -0
- package/dist/components/Documents/Documents.d.ts +10 -3
- package/dist/components/Documents/components/DocumentsFilesTable/DocumentsFilesTable.d.ts +11 -3
- package/dist/components/Documents/components/DocumentsFilesTable/hooks/useDocumentsFilesColumns.d.ts +2 -2
- package/dist/components/Imports/Result/Result.d.ts +5 -3
- package/dist/components/Localization/LocalizationImport/LocalizationImport.d.ts +5 -3
- package/dist/components/NotifCenter/Actions/NotificationActions.d.ts +7 -3
- package/dist/components/NotifCenter/Actions/components/HistoryTable/NotificationHistoryTable.d.ts +5 -3
- package/dist/components/NotifCenter/Users/NotificationUsers.d.ts +4 -3
- package/dist/components/NotifCenter/Users/components/EmployeeNotifTable/EmployeeNotifHistoryTable.d.ts +4 -3
- package/dist/components/common/Approvals/Delegations/ApprovalsDelegations.d.ts +7 -4
- package/dist/components/common/Approvals/Delegations/comps/DelegationsTable/DelegationsTable.d.ts +6 -3
- package/dist/components/common/PermissionsSubstitute/SubstituteTable/SubstituteTable.d.ts +6 -3
- package/dist/contexts.cjs.js +1 -1
- package/dist/contexts.es.js +5 -5
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +10 -10
- package/dist/layout.cjs.js +1 -1
- package/dist/layout.es.js +6 -6
- package/dist/main.cjs.js +19 -19
- package/dist/main.es.js +2289 -2266
- package/dist/models/bnfTable/BnfTableWrappedProps.d.ts +70 -0
- package/dist/models/legacyBnfTable/TableDefaultConfig.d.ts +23 -0
- package/dist/{useLocalStorageState-DNw9Zo_I.cjs → useLocalStorageState-CGKmNXMv.cjs} +1 -1
- package/dist/{useLocalStorageState-DVjE5NF9.js → useLocalStorageState-DG9g_lFm.js} +1 -1
- package/dist/utils/bnfTable/bnfTableUtils.d.ts +5 -0
- package/dist/utils/bnfValueFormat/bnfValueFormat.d.ts +5 -3
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.es.js +107 -69
- package/package.json +2 -2
- package/dist/ShortcutLinksContext-BWm15pnf.js +0 -28244
- package/dist/ShortcutLinksContext-D6QD8JEU.cjs +0 -281
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { default as BnfTableWrappedProps } from '../../models/bnfTable/BnfTableWrappedProps';
|
|
3
|
+
import { default as DocumentFileModel } from '../../models/api/documents/DocumentFileModel';
|
|
2
4
|
|
|
3
|
-
type DocumentsProps = HTMLAttributes<HTMLDivElement> & {
|
|
5
|
+
type DocumentsProps<T> = HTMLAttributes<HTMLDivElement> & {
|
|
4
6
|
entityType: string;
|
|
5
7
|
entityId: number | string;
|
|
6
8
|
tableIdentifier: number;
|
|
7
|
-
BnfTableComponent: React.
|
|
9
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
8
10
|
customRootFolderName?: string;
|
|
9
11
|
writePermissions?: boolean;
|
|
10
12
|
};
|
|
11
|
-
declare const Documents: import('react').MemoExoticComponent<({ entityType, entityId, className, BnfTableComponent, tableIdentifier, customRootFolderName, writePermissions, ...otherProps }: DocumentsProps
|
|
13
|
+
declare const Documents: import('react').MemoExoticComponent<({ entityType, entityId, className, BnfTableComponent, tableIdentifier, customRootFolderName, writePermissions, ...otherProps }: DocumentsProps<DocumentFileModel & {
|
|
14
|
+
folderName: string;
|
|
15
|
+
} & {
|
|
16
|
+
"--icon": unknown;
|
|
17
|
+
"--downloadButton": unknown;
|
|
18
|
+
}>) => import("react").JSX.Element>;
|
|
12
19
|
export default Documents;
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
import { default as BnfTableWrappedProps } from '../../../../models/bnfTable/BnfTableWrappedProps';
|
|
2
|
+
import { default as DocumentFileModel } from '../../../../models/api/documents/DocumentFileModel';
|
|
3
|
+
|
|
4
|
+
type DocumentsFilesTableProps<T> = {
|
|
2
5
|
tableIdentifier: number;
|
|
3
|
-
BnfTableComponent: React.
|
|
6
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
4
7
|
writePermissions: boolean;
|
|
5
8
|
};
|
|
6
|
-
declare const DocumentsFilesTable: ({ BnfTableComponent, tableIdentifier, writePermissions, }: DocumentsFilesTableProps
|
|
9
|
+
declare const DocumentsFilesTable: ({ BnfTableComponent, tableIdentifier, writePermissions, }: DocumentsFilesTableProps<DocumentFileModel & {
|
|
10
|
+
folderName: string;
|
|
11
|
+
} & {
|
|
12
|
+
"--icon": unknown;
|
|
13
|
+
"--downloadButton": unknown;
|
|
14
|
+
}>) => import("react").JSX.Element;
|
|
7
15
|
export default DocumentsFilesTable;
|
package/dist/components/Documents/components/DocumentsFilesTable/hooks/useDocumentsFilesColumns.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BnfTableColumnDef } from 'tanstack-bnf-table';
|
|
2
2
|
|
|
3
3
|
declare const useDocumentsFilesColumns: () => {
|
|
4
|
-
columns:
|
|
4
|
+
columns: BnfTableColumnDef<import('../../../../../models').DocumentFileModel & {
|
|
5
5
|
folderName: string;
|
|
6
6
|
} & {
|
|
7
7
|
'--icon': unknown;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { default as XlsColumnErrorModel } from '../../../models/api/imports/XlsColumnErrorModel';
|
|
1
2
|
import { default as XlsImportResult } from '../../../models/api/imports/XlsImportResult';
|
|
3
|
+
import { default as BnfTableWrappedProps } from '../../../models/bnfTable/BnfTableWrappedProps';
|
|
2
4
|
|
|
3
|
-
type Props = {
|
|
5
|
+
type Props<T> = {
|
|
4
6
|
result: XlsImportResult;
|
|
5
7
|
onClose?: () => void;
|
|
6
8
|
tableIdentifier: number;
|
|
7
|
-
BnfTableComponent: React.
|
|
9
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
8
10
|
};
|
|
9
|
-
declare const Result: ({ result, onClose, tableIdentifier, BnfTableComponent }: Props) => import("react").JSX.Element | null;
|
|
11
|
+
declare const Result: ({ result, onClose, tableIdentifier, BnfTableComponent, }: Props<XlsColumnErrorModel>) => import("react").JSX.Element | null;
|
|
10
12
|
export default Result;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { default as XlsImportResult } from '../../../models/api/imports/XlsImportResult';
|
|
2
|
+
import { default as BnfTableWrappedProps } from '../../../models/bnfTable/BnfTableWrappedProps';
|
|
3
|
+
import { XlsColumnErrorModel } from '../../../models/index';
|
|
2
4
|
import { default as OtherSettingsPageProps } from '../../../models/ui/imports/OtherSettingsPageProps';
|
|
3
5
|
|
|
4
|
-
type LocalizationImportProps = OtherSettingsPageProps & {
|
|
6
|
+
type LocalizationImportProps<T> = OtherSettingsPageProps & {
|
|
5
7
|
languageOptions: ReadonlyArray<{
|
|
6
8
|
readonly id: string;
|
|
7
9
|
readonly name: string;
|
|
8
10
|
}>;
|
|
9
11
|
tableIdentifier: number;
|
|
10
12
|
SettingsOutlet: React.ElementType;
|
|
11
|
-
BnfTableComponent: React.
|
|
13
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
12
14
|
importLocalization: (data: {
|
|
13
15
|
file: File;
|
|
14
16
|
lang: string;
|
|
@@ -20,5 +22,5 @@ type LocalizationImportProps = OtherSettingsPageProps & {
|
|
|
20
22
|
error: any;
|
|
21
23
|
}>;
|
|
22
24
|
};
|
|
23
|
-
declare const LocalizationImport: ({ otherSettingId, languageOptions, tableIdentifier, SettingsOutlet, BnfTableComponent, importLocalization, }: LocalizationImportProps) => import("react").JSX.Element;
|
|
25
|
+
declare const LocalizationImport: ({ otherSettingId, languageOptions, tableIdentifier, SettingsOutlet, BnfTableComponent, importLocalization, }: LocalizationImportProps<XlsColumnErrorModel>) => import("react").JSX.Element;
|
|
24
26
|
export default LocalizationImport;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { NameIdIntModel, NotificationHistoryModel, NotificationModel, NotificationTarget, NotifTargetModel } from '../../../models/index';
|
|
2
|
+
import { default as BnfTableWrappedProps } from '../../../models/bnfTable/BnfTableWrappedProps';
|
|
2
3
|
|
|
3
|
-
type
|
|
4
|
+
export type NotificationHistoryTableModel = NotificationHistoryModel & {
|
|
5
|
+
recipientsString: string;
|
|
6
|
+
};
|
|
7
|
+
type Props<T> = {
|
|
4
8
|
kinds: NameIdIntModel[];
|
|
5
9
|
reloadActions: (kindId: number) => Promise<Array<NotificationModel>>;
|
|
6
10
|
reloadHistory: (actionId: number, templateId: number) => Promise<Array<NotificationHistoryModel>>;
|
|
@@ -9,7 +13,7 @@ type Props = {
|
|
|
9
13
|
onPostTarget: (m: NotifTargetModel, employeeName: string | null) => Promise<NotificationTarget>;
|
|
10
14
|
onTemplateEdit: (id: number, subject: string, body: string) => Promise<void>;
|
|
11
15
|
EmployeePicker: React.ElementType;
|
|
12
|
-
BnfTableComponent: React.
|
|
16
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
13
17
|
};
|
|
14
|
-
declare const NotificationActions: ({ kinds, reloadActions, reloadHistory, reloadRoles, onRemoveTarget, onPostTarget, onTemplateEdit, EmployeePicker, BnfTableComponent, }: Props) => import("react").JSX.Element;
|
|
18
|
+
declare const NotificationActions: ({ kinds, reloadActions, reloadHistory, reloadRoles, onRemoveTarget, onPostTarget, onTemplateEdit, EmployeePicker, BnfTableComponent, }: Props<NotificationHistoryTableModel>) => import("react").JSX.Element;
|
|
15
19
|
export default NotificationActions;
|
package/dist/components/NotifCenter/Actions/components/HistoryTable/NotificationHistoryTable.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { default as BnfTableWrappedProps } from '../../../../../models/bnfTable/BnfTableWrappedProps';
|
|
1
2
|
import { NotificationHistoryModel } from '../../../../../models/index';
|
|
3
|
+
import { NotificationHistoryTableModel } from '../../NotificationActions';
|
|
2
4
|
|
|
3
|
-
type Props = {
|
|
5
|
+
type Props<T> = {
|
|
4
6
|
data: NotificationHistoryModel[];
|
|
5
7
|
onClick: (id: number) => void;
|
|
6
|
-
BnfTableComponent: React.
|
|
8
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
7
9
|
};
|
|
8
|
-
declare const NotificationHistoryTable: ({ data, onClick, BnfTableComponent }: Props) => import("react").JSX.Element;
|
|
10
|
+
declare const NotificationHistoryTable: ({ data, onClick, BnfTableComponent, }: Props<NotificationHistoryTableModel>) => import("react").JSX.Element;
|
|
9
11
|
export default NotificationHistoryTable;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { NotificationHistoryUserDto } from '../../../models/index';
|
|
2
|
+
import { default as BnfTableWrappedProps } from '../../../models/bnfTable/BnfTableWrappedProps';
|
|
2
3
|
|
|
3
|
-
type Props = {
|
|
4
|
+
type Props<T> = {
|
|
4
5
|
reloadUserHistory: (employeeId: number) => Promise<Array<NotificationHistoryUserDto>>;
|
|
5
6
|
EmployeePicker: React.ElementType;
|
|
6
|
-
BnfTableComponent: React.
|
|
7
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
7
8
|
};
|
|
8
|
-
declare const NotificationUsers: ({ reloadUserHistory, EmployeePicker, BnfTableComponent }: Props) => import("react").JSX.Element;
|
|
9
|
+
declare const NotificationUsers: ({ reloadUserHistory, EmployeePicker, BnfTableComponent, }: Props<NotificationHistoryUserDto>) => import("react").JSX.Element;
|
|
9
10
|
export default NotificationUsers;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { default as BnfTableWrappedProps } from '../../../../../models/bnfTable/BnfTableWrappedProps';
|
|
1
2
|
import { NotificationHistoryUserDto } from '../../../../../models/index';
|
|
2
3
|
|
|
3
|
-
type Props = {
|
|
4
|
+
type Props<T> = {
|
|
4
5
|
history: NotificationHistoryUserDto[];
|
|
5
6
|
onClick: (id: number) => void;
|
|
6
|
-
BnfTableComponent: React.
|
|
7
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
7
8
|
};
|
|
8
|
-
declare const EmployeeNotifHistoryTable: ({ history, onClick, BnfTableComponent }: Props) => import("react").JSX.Element;
|
|
9
|
+
declare const EmployeeNotifHistoryTable: ({ history, onClick, BnfTableComponent, }: Props<NotificationHistoryUserDto>) => import("react").JSX.Element;
|
|
9
10
|
export default EmployeeNotifHistoryTable;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { EmployeePickerBaseProps } from '../../../../models/index';
|
|
1
|
+
import { ApprovalDelegationModel, EmployeePickerBaseProps } from '../../../../models/index';
|
|
2
|
+
import { default as BnfTableWrappedProps } from '../../../../models/bnfTable/BnfTableWrappedProps';
|
|
2
3
|
|
|
3
|
-
type Props = {
|
|
4
|
+
type Props<T> = {
|
|
4
5
|
apiUrls?: {
|
|
5
6
|
apiApprovalDelegations?: string;
|
|
6
7
|
apiHasRunningProcess?: string;
|
|
@@ -8,9 +9,11 @@ type Props = {
|
|
|
8
9
|
apiDeleteDelegation?: (id: number) => string;
|
|
9
10
|
apiApprovalDefinitions?: string;
|
|
10
11
|
};
|
|
11
|
-
BnfTableComponent: React.
|
|
12
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
12
13
|
tableIdentifier: number;
|
|
13
14
|
EmployeePickerComponent: React.FC<EmployeePickerBaseProps>;
|
|
14
15
|
};
|
|
15
|
-
declare const ApprovalsDelegations: ({ apiUrls: { apiApprovalDelegations, apiHasRunningProcess, apiPostEditDelegation, apiDeleteDelegation, apiApprovalDefinitions, }, BnfTableComponent, tableIdentifier, EmployeePickerComponent, }: Props
|
|
16
|
+
declare const ApprovalsDelegations: ({ apiUrls: { apiApprovalDelegations, apiHasRunningProcess, apiPostEditDelegation, apiDeleteDelegation, apiApprovalDefinitions, }, BnfTableComponent, tableIdentifier, EmployeePickerComponent, }: Props<ApprovalDelegationModel & {
|
|
17
|
+
archive: boolean;
|
|
18
|
+
}>) => import("react").JSX.Element;
|
|
16
19
|
export default ApprovalsDelegations;
|
package/dist/components/common/Approvals/Delegations/comps/DelegationsTable/DelegationsTable.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { default as BnfTableWrappedProps } from '../../../../../../models/bnfTable/BnfTableWrappedProps';
|
|
1
2
|
import { ApprovalDelegationModel } from '../../../../../../models/index';
|
|
2
3
|
|
|
3
|
-
type Props = {
|
|
4
|
-
BnfTableComponent: React.
|
|
4
|
+
type Props<T> = {
|
|
5
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
5
6
|
tableIdentifier: number;
|
|
6
7
|
items: ApprovalDelegationModel[];
|
|
7
8
|
onEditItem: (item: ApprovalDelegationModel) => void;
|
|
8
9
|
};
|
|
9
|
-
declare const DelegationsTable: ({ BnfTableComponent, items, onEditItem, tableIdentifier }: Props
|
|
10
|
+
declare const DelegationsTable: ({ BnfTableComponent, items, onEditItem, tableIdentifier, }: Props<ApprovalDelegationModel & {
|
|
11
|
+
archive: boolean;
|
|
12
|
+
}>) => import("react").JSX.Element;
|
|
10
13
|
export default DelegationsTable;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { default as BnfTableWrappedProps } from '../../../../models/bnfTable/BnfTableWrappedProps';
|
|
2
|
+
import { PermissionSubstituteModel } from '../../../../models/index';
|
|
3
|
+
|
|
4
|
+
type Props<T> = {
|
|
2
5
|
showArchived: boolean;
|
|
3
|
-
BnfTableComponent: React.
|
|
6
|
+
BnfTableComponent: React.ComponentType<BnfTableWrappedProps<T>>;
|
|
4
7
|
tableIdentifier: number;
|
|
5
8
|
detailRoute: string;
|
|
6
9
|
};
|
|
7
|
-
declare const SubstituteTable: ({ showArchived, BnfTableComponent, tableIdentifier, detailRoute, }: Props) => import("react").JSX.Element;
|
|
10
|
+
declare const SubstituteTable: ({ showArchived, BnfTableComponent, tableIdentifier, detailRoute, }: Props<PermissionSubstituteModel>) => import("react").JSX.Element;
|
|
8
11
|
export default SubstituteTable;
|
package/dist/contexts.cjs.js
CHANGED
|
@@ -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-D6QD8JEU.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-DGZAPk9U.cjs"),Y=require("./useLocalStorageState-DNw9Zo_I.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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),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";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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),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;
|
package/dist/contexts.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var Ee = Object.defineProperty;
|
|
2
2
|
var Oe = (e, t, n) => t in e ? Ee(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
3
3
|
var E = (e, t, n) => Oe(e, typeof t != "symbol" ? t + "" : t, n);
|
|
4
|
-
import { t as N,
|
|
5
|
-
import {
|
|
4
|
+
import { t as N, bG as we, j as d, bH as De, P as z, bp as Pe, bI as me, $ as O, bh as ke, Q as G, bJ as je, aX as Ie, aw as Me, aq as pe, bj as he, at as I, as as Le, bK as He, aP as oe, bL as _e, ab as ye, bM as ae, bN as $e, aR as Re, af as Ue, a1 as Ne } from "./ShortcutLinksContext-B6B_uG2X.js";
|
|
5
|
+
import { bO as Bt, be as Yt } from "./ShortcutLinksContext-B6B_uG2X.js";
|
|
6
6
|
import D, { useState as S, useCallback as h, useMemo as T, useContext as _, useEffect as j, useRef as te, Component as re } from "react";
|
|
7
7
|
import { EventType as W, InteractionRequiredAuthError as Fe } from "@azure/msal-browser";
|
|
8
8
|
import { MsalProvider as qe } from "@azure/msal-react";
|
|
@@ -10,9 +10,9 @@ import "react-router-dom";
|
|
|
10
10
|
import "react-dom";
|
|
11
11
|
import "react-hook-form";
|
|
12
12
|
import "react-flexmonster";
|
|
13
|
-
import { L as Ge, b as ze } from "./FormDisabledProvider-
|
|
14
|
-
import { F as Wt } from "./FormDisabledProvider-
|
|
15
|
-
import { a as Ke, u as Ve } from "./useLocalStorageState-
|
|
13
|
+
import { L as Ge, b as ze } from "./FormDisabledProvider-Ct-odePz.js";
|
|
14
|
+
import { F as Wt } from "./FormDisabledProvider-Ct-odePz.js";
|
|
15
|
+
import { a as Ke, u as Ve } from "./useLocalStorageState-DG9g_lFm.js";
|
|
16
16
|
function Be(e) {
|
|
17
17
|
const t = N(e);
|
|
18
18
|
return t.setHours(23, 59, 59, 999), t;
|
package/dist/hooks.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ShortcutLinksContext-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./ShortcutLinksContext-d3AdgJhg.cjs"),b=require("./useLocalStorageState-CGKmNXMv.cjs"),l=require("react"),p=require("./useRenderDraggableInPortal-QPCaw-E_.cjs");require("react-router-dom");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const q=t=>{let e="pending",n;const r=t.then(a=>{e="success",n=a},a=>{e="error",n=a});return()=>{switch(e){case"pending":throw r;case"success":return n;case"error":throw n;default:throw new Error("Unknown status")}}};function I(t,e){const n=s.useAxios({silent:!0,differentBaseUrl:e==null?void 0:e.customBaseUrl,customToken:e==null?void 0:e.customToken}),[r,a]=l.useState(null);return l.useEffect(()=>{(async()=>{const u=n.get(t).then(c=>c.data);a(q(u))})()},[n,t]),r}const x=(t,e,n)=>{let r="pending",a;const d=t.then(u=>{r="success",a=u},u=>{const c=u==null?void 0:u.response;(c==null?void 0:c.status)===404&&n?(r="error-404",a=u):(r="error",a=u)});return()=>{switch(r){case"pending":throw d;case"success":return a;case"error":return null;case"error-404":throw new Error("404");default:throw new Error("Unknown status")}}},S={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},E=(t,{loadOnInit:e=S.loadOnInit,enabled:n=S.enabled,silent:r=S.silent,nullStateBeforeLoad:a=S.nullStateBeforeLoad,nullStateOnFail:d=S.nullStateOnFail,customApiUrl:u,customBearerToken:c,dataTransformer:f,errorBoundaryOn404:o}=S)=>{const i=s.useAxios({silent:r,customToken:c,differentBaseUrl:u,noToastOnStatus:o?[404]:void 0}),{startLoading:g,stopLoading:C}=l.useContext(s.LoadingContext),k=l.useRef(0),{isAuthenticated:v}=s.useAuth(),[y,w]=l.useState(null),D=l.useCallback(async(h,P)=>{if(!v()||n===!1)return;!r&&g(`loadData-${t}-${P}`),a&&w(null);const T=i.get(t,{signal:h}).then(A=>f?f(A.data):A.data).finally(()=>!r&&C(`loadData-${t}-${P}`));w(x(T,d??!1,o??!1))},[v,n,r,g,t,a,i,f,C,d,o]);return l.useEffect(()=>{if(e===!1)return;const h=new AbortController;return D(h.signal,++k.current),()=>{h.abort()}},[D,e]),{data:y,setData:w,reloadData:D}},m={storageKey:"--tmp-scroll-save--",requiredHeight:100,retryInterval:50},L=(t,{storageKey:e=m.storageKey,requiredHeight:n=m.requiredHeight,retryInterval:r=m.retryInterval}=m)=>{const[a,d]=l.useState(!1),u=l.useRef(null),c=l.useCallback(()=>{const o=localStorage.getItem(e);return localStorage.removeItem(e),o===null?null:Number(o)},[e]),f=l.useCallback(o=>{localStorage.setItem(e,o)},[e]);return l.useEffect(()=>{const o=window.setInterval(()=>{if(!a&&t.current!==null&&t.current.getBoundingClientRect().height>n){d(!0);const i=c();i!==null&&t.current.scrollTo({top:i}),window.clearInterval(o)}},r);return()=>{window.clearTimeout(o)}},[a,n,c,r,t]),l.useEffect(()=>{var i;const o=new AbortController;return(i=t.current)==null||i.addEventListener("scrollend",()=>{var g;u.current=((g=t.current)==null?void 0:g.scrollTop)??0,f((u.current??0).toString())},{signal:o.signal}),()=>o.abort()},[f,t]),{saveValue:f,retrieveValue:c}};exports.cancelToken=s.cancelToken;exports.useAuth=s.useAuth;exports.useAxios=s.useAxios;exports.useClickOutside=s.useClickOutside;exports.useClipboard=s.useClipboard;exports.useConfirm=s.useConfirm;exports.useFormControlType=s.useFormControlType;exports.useKeyPress=s.useKeyPress;exports.useNotifications=s.useNotifications;exports.usePermissions=s.usePermissions;exports.usePrompt=s.usePrompt;exports.useWindowSize=s.useWindowSize;exports.useZodSchemaTypes=s.useZodSchemaTypes;exports.useGetApiData=b.useGetApiData;exports.useLocalStorageState=b.useLocalStorageState;exports.useEmployeePhotoPath=p.useEmployeePhotoPath;exports.useRenderDraggableInPortal=p.useRenderDraggableInPortal;exports.useSearchQuery=p.useSearchQuery;exports.useSearchQueryState=p.useSearchQueryState;exports.useGetApiDataBound=E;exports.useGetDataBound=I;exports.useScrollSave=L;
|
package/dist/hooks.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { aw as k, aX as L, ar as
|
|
2
|
-
import {
|
|
3
|
-
import { u as ot, a as ut } from "./useLocalStorageState-
|
|
4
|
-
import { useState as b, useEffect as g, useContext as
|
|
1
|
+
import { aw as k, aX as L, ar as $ } from "./ShortcutLinksContext-B6B_uG2X.js";
|
|
2
|
+
import { bP as Z, bx as j, bR as J, aR as M, bQ as _, af as K, aY as tt, bb as et, bp as at, a2 as st, bi as rt } from "./ShortcutLinksContext-B6B_uG2X.js";
|
|
3
|
+
import { u as ot, a as ut } from "./useLocalStorageState-DG9g_lFm.js";
|
|
4
|
+
import { useState as b, useEffect as g, useContext as y, useRef as I, useCallback as S } from "react";
|
|
5
5
|
import { c as ct, u as it, a as dt, b as mt } from "./useRenderDraggableInPortal-D0OLp7Qb.js";
|
|
6
6
|
import "react-router-dom";
|
|
7
7
|
import "react-dom";
|
|
@@ -9,7 +9,7 @@ import "react-hook-form";
|
|
|
9
9
|
import "react-flexmonster";
|
|
10
10
|
import "@azure/msal-browser";
|
|
11
11
|
import "@azure/msal-react";
|
|
12
|
-
const
|
|
12
|
+
const B = (e) => {
|
|
13
13
|
let t = "pending", r;
|
|
14
14
|
const a = e.then((s) => {
|
|
15
15
|
t = "success", r = s;
|
|
@@ -38,11 +38,11 @@ function q(e, t) {
|
|
|
38
38
|
return g(() => {
|
|
39
39
|
(async () => {
|
|
40
40
|
const n = r.get(e).then((u) => u.data);
|
|
41
|
-
s(
|
|
41
|
+
s(B(n));
|
|
42
42
|
})();
|
|
43
43
|
}, [r, e]), a;
|
|
44
44
|
}
|
|
45
|
-
const
|
|
45
|
+
const E = (e, t, r) => {
|
|
46
46
|
let a = "pending", s;
|
|
47
47
|
const c = e.then((n) => {
|
|
48
48
|
a = "success", s = n;
|
|
@@ -76,14 +76,14 @@ const B = (e, t, r) => {
|
|
|
76
76
|
customToken: u,
|
|
77
77
|
differentBaseUrl: n,
|
|
78
78
|
noToastOnStatus: o ? [404] : void 0
|
|
79
|
-
}), { startLoading: m, stopLoading: v } =
|
|
79
|
+
}), { startLoading: m, stopLoading: v } = y(L), P = I(0), { isAuthenticated: D } = $(), [T, w] = b(null), h = S(async (f, C) => {
|
|
80
80
|
if (!D() || r === !1)
|
|
81
81
|
return;
|
|
82
82
|
!a && m(`loadData-${e}-${C}`), s && w(null);
|
|
83
83
|
const A = l.get(e, {
|
|
84
84
|
signal: f
|
|
85
85
|
}).then((x) => i ? i(x.data) : x.data).finally(() => !a && v(`loadData-${e}-${C}`));
|
|
86
|
-
w(
|
|
86
|
+
w(E(A, c ?? !1, o ?? !1));
|
|
87
87
|
}, [
|
|
88
88
|
D,
|
|
89
89
|
r,
|
|
@@ -138,7 +138,7 @@ const B = (e, t, r) => {
|
|
|
138
138
|
};
|
|
139
139
|
export {
|
|
140
140
|
Z as cancelToken,
|
|
141
|
-
|
|
141
|
+
$ as useAuth,
|
|
142
142
|
k as useAxios,
|
|
143
143
|
j as useClickOutside,
|
|
144
144
|
J as useClipboard,
|
package/dist/layout.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ShortcutLinksContext-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ShortcutLinksContext-d3AdgJhg.cjs"),_=require("react"),C=require("react-router-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");require("react-dom");const f="_side-menu-item_o72rm_1",w="_disabled_o72rm_6",T="_hidden_o72rm_10",q="_nav-button_o72rm_13",I="_child_o72rm_21",S="_text_o72rm_26",L="_icon_o72rm_36",O="_collapse-icon_o72rm_42",A="_collapsed_o72rm_52",$="_collapse-icon-mini_o72rm_55",D="_expanded_o72rm_86",K="_children-container_o72rm_92",F="_visible_o72rm_100",z="_children_o72rm_92",G="_mobile_o72rm_112",n={"side-menu-item":"_side-menu-item_o72rm_1",sideMenuItem:f,disabled:w,hidden:T,"nav-button":"_nav-button_o72rm_13",navButton:q,child:I,text:S,icon:L,"collapse-icon":"_collapse-icon_o72rm_42",collapseIcon:O,collapsed:A,"collapse-icon-mini":"_collapse-icon-mini_o72rm_55",collapseIconMini:$,expanded:D,"children-container":"_children-container_o72rm_92",childrenContainer:K,visible:F,children:z,mobile:G},H=({item:s,menuExpanded:i,useTooltips:l,children:d})=>s.tooltip&&!i&&l?e.jsxRuntimeExports.jsx(e.SimpleTooltip,{text:s.tooltip,placement:"top",delay:{show:1e3,hide:0},children:e.jsxRuntimeExports.jsx("div",{children:d})}):d,P=({item:s,menuExpanded:i,collapsed:l,onCollapse:d,currentPath:j,useHover:a,useTooltips:b,isMobile:k,disableMode:c})=>{var R,N,E,y;const[g,p]=_.useState(!1),[h]=j.split("?"),v=s.linkTo===h||((R=s.children)==null?void 0:R.some(o=>o.linkTo===h)),m=_.useRef(null);return e.useClickOutside([m],()=>l&&d()),e.jsxRuntimeExports.jsxs("li",{ref:m,className:e.classNames("luminus-side-menu-item",n.sideMenuItem,{[n.mobile]:k},{[n.expanded]:i},{active:g||v},{open:l&&s.children},{[c==="disable"?n.disabled:n.hidden]:s.disabled||s.notPermitted||((N=s.children)==null?void 0:N.every(o=>o.notPermitted||o.disabled))},{[c==="disable"?"disabled":"hidden"]:s.disabled||s.notPermitted||((E=s.children)==null?void 0:E.every(o=>o.notPermitted||o.disabled))}),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),children:[e.jsxRuntimeExports.jsx(H,{item:s,menuExpanded:i,useTooltips:b,children:s.children?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("button",{type:"button",className:e.classNames("nav-link",n.navButton),onClick:()=>{d()},children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),!a&&!i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon-mini rounded",n.collapseIconMini,{[n.collapsed]:l}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("collapse-icon",n.collapseIcon,{[n.collapsed]:l}),children:e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardArrowRight,{})})]})}):e.jsxRuntimeExports.jsxs(C.Link,{to:s.disabled||s.notPermitted?"/":s.linkTo??"/",className:e.classNames("nav-link",n.navButton),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("icon",n.icon),children:s.icon}),i&&e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:s.title})]})}),e.jsxRuntimeExports.jsx("div",{className:e.classNames("children-container",n.childrenContainer,{[n.visible]:l}),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("shadow rounded children",n.children),children:(y=s.children)==null?void 0:y.map(o=>e.jsxRuntimeExports.jsx(C.Link,{to:o.disabled||o.notPermitted?"/":o.linkTo??"/",className:e.classNames("nav-link child rounded",n.navButton,n.child,{[c==="disable"?n.disabled:n.hidden]:o.disabled||o.notPermitted},{[c==="disable"?"disabled":"hidden"]:o.disabled||o.notPermitted}),onClick:d,children:e.jsxRuntimeExports.jsx("div",{className:e.classNames("text",n.text,"text-nowrap"),children:o.title})},o.linkTo))})})]})},U="_side-menu_12rky_1",W="_sidebar-header_12rky_15",J="_side-menu-content_12rky_22",Q="_no-top-margin_12rky_28",V="_expand_12rky_34",X="_only-logo_12rky_38",Y="_mobile_12rky_41",Z="_divider_12rky_56",x={"side-menu":"_side-menu_12rky_1",sideMenu:U,"sidebar-header":"_sidebar-header_12rky_15",sidebarHeader:W,"side-menu-content":"_side-menu-content_12rky_22",sideMenuContent:J,"no-top-margin":"_no-top-margin_12rky_28",noTopMargin:Q,expand:V,"only-logo":"_only-logo_12rky_38",onlyLogo:X,mobile:Y,divider:Z},ee=14,se=({headerItem:s,searchItem:i,shortcutsItem:l,mainItems:d,secondaryItems:j,expanded:a,setExpanded:b,currentPath:k,useHover:c,useTooltips:g,disableMode:p="disable"})=>{const[h,v]=_.useState(-1),{checkUserHasPermissions:m}=e.usePermissions(),R=_.useMemo(()=>d.map(t=>{var r;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(r=t.children)==null?void 0:r.map(u=>({...u,notPermitted:!m(u.permissions??[],"any"),disabled:t.disabled||u.disabled}))}}),[d,m]),N=_.useMemo(()=>j.map(t=>{var r;return{...t,notPermitted:!m(t.permissions??[],"any"),children:(r=t.children)==null?void 0:r.map(u=>({...u,notPermitted:!m(u.permissions??[],"any")}))}}),[j,m]),E=t=>{v(t===h?-1:t)};_.useEffect(()=>{a||v(-1)},[a]);const y=_.useRef(null);e.useClickOutside([y],()=>b(!1));const o=_.useMemo(()=>[...R,...N].filter(t=>{var r;return p==="hide"?!t.disabled&&!t.notPermitted&&(((r=t.children)==null?void 0:r.filter(u=>!u.disabled&&!u.notPermitted))??[]).length>0:!0}),[R,N,p]),{isMobile:M}=e.useWindowSize();return e.jsxRuntimeExports.jsxs("section",{ref:y,className:e.classNames("luminus-side-menu shadow",x.sideMenu,{[x.mobile]:M},{[x.expand]:a},{expand:a}),onMouseEnter:()=>c&&b(!0),onMouseLeave:()=>c&&b(!1),children:[e.jsxRuntimeExports.jsx("div",{className:e.classNames("sidebar-header",x.sidebarHeader,{[x.onlyLogo]:c}),role:c?void 0:"button",onClick:c?void 0:()=>b(!a),children:c?s:a?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(e.MdOutlineKeyboardDoubleArrowLeft,{}),s]}):e.jsxRuntimeExports.jsx(e.MdOutlineMenu,{})}),a&&(i||l)?e.jsxRuntimeExports.jsxs("div",{className:"mb-3 d-flex flex-column gap-3",children:[l&&a?l:null,i&&a?i:null]}):null,e.jsxRuntimeExports.jsxs("ul",{className:e.classNames(x.sideMenuContent,{[x.noTopMargin]:o.length>ee}),children:[R.map((t,r)=>e.jsxRuntimeExports.jsx(P,{item:t,menuExpanded:a,collapsed:r===h,onCollapse:()=>E(r),currentPath:k,useHover:c,useTooltips:g,isMobile:M,disableMode:p},t.title)),e.jsxRuntimeExports.jsx("hr",{className:e.classNames("divider",x.divider)}),N.map((t,r)=>e.jsxRuntimeExports.jsx(P,{item:t,menuExpanded:a,collapsed:r===h,onCollapse:()=>E(r),currentPath:k,useHover:c,useTooltips:g,isMobile:M,disableMode:p},t.title))]})]})},ne="_top-bar_lnmq0_1",te="_top-bar-brand_lnmq0_12",B={"top-bar":"_top-bar_lnmq0_1",topBar:ne,"top-bar-brand":"_top-bar-brand_lnmq0_12",topBarBrand:te},oe=({appName:s,leftOffset:i,leftContent:l,centerContent:d,rightContent:j})=>e.jsxRuntimeExports.jsx("nav",{className:e.classNames("luminus-top-bar shadow",B.topBar),style:{width:i?`calc(100% - ${i}px)`:void 0,left:i?`${i}px`:void 0},children:e.jsxRuntimeExports.jsxs("div",{className:"w-100 row g-0",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-4 d-flex gap-3 align-items-center",children:[e.jsxRuntimeExports.jsx(C.Link,{to:"/",className:e.classNames("luminus-top-bar-brand",B.topBarBrand),children:s}),l]}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex align-items-center",children:d??null}),e.jsxRuntimeExports.jsx("div",{className:"col-4 d-flex justify-content-end align-items-center",children:j??null})]})});exports.PageContainer=e.PageContainer;exports.SideContentBar=e.SideContentBar;exports.SideMenu=se;exports.TopBar=oe;
|
package/dist/layout.es.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { b9 as Pe,
|
|
3
|
-
import { useState as R, useRef as S, useMemo as B, useEffect as
|
|
1
|
+
import { bx as L, j as e, c as l, Y as w, ao as $, bb as q, a2 as A, bD as O, bE as D } from "./ShortcutLinksContext-B6B_uG2X.js";
|
|
2
|
+
import { b9 as Pe, bF as Be } from "./ShortcutLinksContext-B6B_uG2X.js";
|
|
3
|
+
import { useState as R, useRef as S, useMemo as B, useEffect as F } from "react";
|
|
4
4
|
import { Link as C } from "react-router-dom";
|
|
5
5
|
import "react-hook-form";
|
|
6
6
|
import "react-flexmonster";
|
|
7
7
|
import "@azure/msal-browser";
|
|
8
8
|
import "@azure/msal-react";
|
|
9
9
|
import "react-dom";
|
|
10
|
-
const
|
|
10
|
+
const E = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm_10", G = "_nav-button_o72rm_13", H = "_child_o72rm_21", U = "_text_o72rm_26", W = "_icon_o72rm_36", Y = "_collapse-icon_o72rm_42", J = "_collapsed_o72rm_52", Q = "_collapse-icon-mini_o72rm_55", V = "_expanded_o72rm_86", X = "_children-container_o72rm_92", Z = "_visible_o72rm_100", ee = "_children_o72rm_92", ne = "_mobile_o72rm_112", s = {
|
|
11
11
|
"side-menu-item": "_side-menu-item_o72rm_1",
|
|
12
|
-
sideMenuItem:
|
|
12
|
+
sideMenuItem: E,
|
|
13
13
|
disabled: K,
|
|
14
14
|
hidden: z,
|
|
15
15
|
"nav-button": "_nav-button_o72rm_13",
|
|
@@ -100,7 +100,7 @@ const F = "_side-menu-item_o72rm_1", K = "_disabled_o72rm_6", z = "_hidden_o72rm
|
|
|
100
100
|
}), [h, m]), N = (o) => {
|
|
101
101
|
k(o === v ? -1 : o);
|
|
102
102
|
};
|
|
103
|
-
|
|
103
|
+
F(() => {
|
|
104
104
|
d || k(-1);
|
|
105
105
|
}, [d]);
|
|
106
106
|
const g = S(null);
|