@elevasis/ui 2.35.0 → 2.37.0
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/api/index.js +4 -3
- package/dist/app/index.css +0 -384
- package/dist/app/index.d.ts +45 -18
- package/dist/app/index.js +21 -21
- package/dist/auth/index.d.ts +91 -28
- package/dist/auth/index.js +5 -1
- package/dist/charts/index.js +9 -3
- package/dist/chunk-5CTJ7TW2.js +111 -0
- package/dist/chunk-5EYJ2GIN.js +122 -0
- package/dist/{chunk-VDOOGGBA.js → chunk-6NREL3KL.js} +2 -2
- package/dist/chunk-6ROXVZ3L.js +9 -0
- package/dist/{chunk-YYX7OPZQ.js → chunk-73EWE2EW.js} +1 -1
- package/dist/{chunk-SIQ3P4OR.js → chunk-7GQFIWP4.js} +8 -756
- package/dist/chunk-A7IG36LB.js +215 -0
- package/dist/chunk-CLDCYJQT.js +1 -0
- package/dist/{chunk-AKW7KISS.js → chunk-CWYQRM5T.js} +2 -38
- package/dist/{chunk-LUYVRATI.js → chunk-DA6I5VEY.js} +5 -213
- package/dist/chunk-I53EX4VU.js +734 -0
- package/dist/chunk-IIMU5YAJ.js +53 -0
- package/dist/{chunk-VKIZUUPM.js → chunk-JPVZRZ3X.js} +31 -14
- package/dist/chunk-JXVNHVK7.js +79 -0
- package/dist/chunk-JZ2WID2G.js +337 -0
- package/dist/chunk-LCJQ6OWC.js +348 -0
- package/dist/chunk-LNC6PZAE.js +85 -0
- package/dist/{chunk-4U3XAWCN.js → chunk-NWMPBG4U.js} +134 -495
- package/dist/chunk-NYNOMAAS.js +422 -0
- package/dist/chunk-S3KBYQTI.js +39 -0
- package/dist/chunk-S3XR4II4.js +30 -0
- package/dist/chunk-SHZT7ULK.js +425 -0
- package/dist/{chunk-26HFM4MH.js → chunk-T3NI7DOA.js} +2005 -4106
- package/dist/{chunk-GX6XBRRF.js → chunk-TYRUKGGD.js} +2 -1
- package/dist/{chunk-R3VCBZDC.js → chunk-X4WBGKJQ.js} +3 -50
- package/dist/{chunk-GEFWMU26.js → chunk-X66MVMZT.js} +1 -9
- package/dist/{chunk-57OZ3AEG.js → chunk-Y3JQBSKQ.js} +1 -1
- package/dist/components/index.d.ts +36 -46
- package/dist/components/index.js +33 -19
- package/dist/components/navigation/index.js +3 -31
- package/dist/execution/index.d.ts +2 -2
- package/dist/features/auth/index.d.ts +55 -99
- package/dist/features/auth/index.js +36 -99
- package/dist/features/clients/index.js +33 -19
- package/dist/features/crm/index.d.ts +23 -0
- package/dist/features/crm/index.js +33 -19
- package/dist/features/dashboard/index.d.ts +3 -3
- package/dist/features/dashboard/index.js +33 -19
- package/dist/features/delivery/index.d.ts +23 -0
- package/dist/features/delivery/index.js +33 -19
- package/dist/features/knowledge/index.js +6 -30
- package/dist/features/lead-gen/index.d.ts +1373 -48
- package/dist/features/lead-gen/index.js +33 -19
- package/dist/features/monitoring/index.js +33 -19
- package/dist/features/monitoring/requests/index.js +33 -19
- package/dist/features/notes/index.d.ts +72 -0
- package/dist/features/notes/index.js +621 -0
- package/dist/features/operations/index.d.ts +30 -30
- package/dist/features/operations/index.js +33 -19
- package/dist/features/right-panel-host/index.d.ts +214 -0
- package/dist/features/right-panel-host/index.js +640 -0
- package/dist/features/seo/index.js +3 -2
- package/dist/features/settings/index.d.ts +26 -35
- package/dist/features/settings/index.js +33 -19
- package/dist/hooks/access/index.d.ts +90 -0
- package/dist/hooks/access/index.js +10 -0
- package/dist/hooks/delivery/index.d.ts +23 -0
- package/dist/hooks/delivery/index.js +33 -19
- package/dist/hooks/index.d.ts +1816 -1855
- package/dist/hooks/index.js +33 -19
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +13 -13
- package/dist/hooks/published.d.ts +1816 -1855
- package/dist/hooks/published.js +33 -19
- package/dist/hooks/user-notes/index.d.ts +57 -0
- package/dist/hooks/user-notes/index.js +3 -0
- package/dist/index.d.ts +290 -309
- package/dist/index.js +34 -20
- package/dist/initialization/index.d.ts +23 -19
- package/dist/knowledge/index.d.ts +21 -21
- package/dist/knowledge/index.js +12 -9
- package/dist/{knowledge-search-index-ORIJCEZX.js → knowledge-search-index-NBCTFIOH.js} +2 -2
- package/dist/layout/index.js +5 -3
- package/dist/organization/index.d.ts +0 -19
- package/dist/organization/index.js +33 -19
- package/dist/profile/index.d.ts +23 -0
- package/dist/provider/index.css +0 -384
- package/dist/provider/index.d.ts +45 -18
- package/dist/provider/index.js +15 -21
- package/dist/provider/published.css +0 -523
- package/dist/provider/published.d.ts +45 -18
- package/dist/provider/published.js +11 -21
- package/dist/sse/index.js +26 -5
- package/dist/supabase/index.d.ts +46 -0
- package/dist/test-utils/index.d.ts +2 -21
- package/dist/test-utils/index.js +5 -18
- package/dist/theme/index.js +2 -1
- package/dist/types/index.d.ts +86 -72
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +2 -1
- package/package.json +21 -5
- package/src/auth/README.md +6 -6
- package/dist/components/navigation/index.css +0 -649
- package/dist/features/knowledge/index.css +0 -649
package/dist/app/index.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { AppErrorBoundary
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
import { AppErrorBoundary } from '../chunk-SHZT7ULK.js';
|
|
2
|
+
import '../chunk-JBWJ6WHZ.js';
|
|
3
|
+
import { SidebarProvider, AppShellContainer, Sidebar, AppShellRightSideContainer, AppShellRightSideOuterContainer } from '../chunk-DA6I5VEY.js';
|
|
4
|
+
import '../chunk-X4WBGKJQ.js';
|
|
5
|
+
import '../chunk-IIMU5YAJ.js';
|
|
6
|
+
import '../chunk-RNP5R5I3.js';
|
|
7
|
+
import { ElevasisUIProvider } from '../chunk-5CTJ7TW2.js';
|
|
8
|
+
import '../chunk-CWYQRM5T.js';
|
|
6
9
|
import '../chunk-WF7CONXF.js';
|
|
7
|
-
import '../chunk-ZTWA5H77.js';
|
|
8
|
-
import '../chunk-AUDNF2Q7.js';
|
|
9
|
-
import '../chunk-6M6OLGQY.js';
|
|
10
|
-
import '../chunk-BRXELOHC.js';
|
|
11
|
-
import { listAllSystems } from '../chunk-4U3XAWCN.js';
|
|
12
|
-
import { SidebarProvider, AppShellContainer, Sidebar, AppShellRightSideContainer, AppShellRightSideOuterContainer } from '../chunk-LUYVRATI.js';
|
|
13
|
-
import '../chunk-NYBEU5TE.js';
|
|
14
10
|
import '../chunk-WLOQ4IBG.js';
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
11
|
+
import { SystemShell } from '../chunk-JZ2WID2G.js';
|
|
12
|
+
import '../chunk-I53EX4VU.js';
|
|
13
|
+
import '../chunk-3KMDHCAR.js';
|
|
14
|
+
import '../chunk-S3XR4II4.js';
|
|
15
|
+
import '../chunk-A7IG36LB.js';
|
|
16
|
+
import '../chunk-NYBEU5TE.js';
|
|
17
|
+
import '../chunk-Y3JQBSKQ.js';
|
|
19
18
|
import '../chunk-DT3QYZVU.js';
|
|
20
19
|
import { TanStackRouterBridge, ScrollToTop } from '../chunk-2IFYDILW.js';
|
|
21
20
|
import '../chunk-Q7DJKLEN.js';
|
|
22
|
-
import '../chunk-
|
|
23
|
-
import '../chunk-7FPLLSHN.js';
|
|
24
|
-
import '../chunk-RNP5R5I3.js';
|
|
25
|
-
import '../chunk-GEFWMU26.js';
|
|
21
|
+
import '../chunk-X66MVMZT.js';
|
|
26
22
|
import '../chunk-KRWALB24.js';
|
|
27
|
-
import { useSessionCheck } from '../chunk-
|
|
23
|
+
import { useSessionCheck } from '../chunk-JPVZRZ3X.js';
|
|
24
|
+
import '../chunk-LCJQ6OWC.js';
|
|
25
|
+
import { ElevasisSystemsProvider, useElevasisSystems } from '../chunk-NYNOMAAS.js';
|
|
28
26
|
import { useInitialization } from '../chunk-533DUEQY.js';
|
|
27
|
+
import { listAllSystems } from '../chunk-NWMPBG4U.js';
|
|
29
28
|
import '../chunk-DD3CCMCZ.js';
|
|
30
29
|
import '../chunk-2Q2JQSQO.js';
|
|
30
|
+
import '../chunk-6ROXVZ3L.js';
|
|
31
31
|
import '../chunk-KJ3QUBNU.js';
|
|
32
32
|
import '../chunk-BRJ3QZ4E.js';
|
|
33
33
|
import '../chunk-I2KLQ2HA.js';
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { z } from 'zod';
|
|
4
5
|
|
|
5
6
|
interface AuthContextValue {
|
|
6
7
|
user: {
|
|
@@ -77,6 +78,81 @@ declare function useStableAccessToken(): () => Promise<string>;
|
|
|
77
78
|
*/
|
|
78
79
|
declare function useSessionCheck(): void;
|
|
79
80
|
|
|
81
|
+
declare const AccessKeyInputSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
82
|
+
systemPath: z.ZodString;
|
|
83
|
+
action: z.ZodDefault<z.ZodEnum<{
|
|
84
|
+
view: "view";
|
|
85
|
+
manage: "manage";
|
|
86
|
+
}>>;
|
|
87
|
+
}, z.core.$strict>]>;
|
|
88
|
+
type AccessKeyInput = z.input<typeof AccessKeyInputSchema>;
|
|
89
|
+
declare const AccessKeys: {
|
|
90
|
+
readonly platformAdmin: {
|
|
91
|
+
readonly systemPath: "platform.admin";
|
|
92
|
+
readonly action: "view";
|
|
93
|
+
};
|
|
94
|
+
readonly organizationManage: {
|
|
95
|
+
readonly systemPath: "permission.org";
|
|
96
|
+
readonly action: "manage";
|
|
97
|
+
};
|
|
98
|
+
readonly membersManage: {
|
|
99
|
+
readonly systemPath: "permission.members";
|
|
100
|
+
readonly action: "manage";
|
|
101
|
+
};
|
|
102
|
+
readonly rolesManage: {
|
|
103
|
+
readonly systemPath: "permission.roles";
|
|
104
|
+
readonly action: "manage";
|
|
105
|
+
};
|
|
106
|
+
readonly secretsManage: {
|
|
107
|
+
readonly systemPath: "permission.secrets";
|
|
108
|
+
readonly action: "manage";
|
|
109
|
+
};
|
|
110
|
+
readonly operationsRead: {
|
|
111
|
+
readonly systemPath: "permission.operations";
|
|
112
|
+
readonly action: "view";
|
|
113
|
+
};
|
|
114
|
+
readonly operationsManage: {
|
|
115
|
+
readonly systemPath: "permission.operations";
|
|
116
|
+
readonly action: "manage";
|
|
117
|
+
};
|
|
118
|
+
readonly acquisitionManage: {
|
|
119
|
+
readonly systemPath: "permission.acquisition";
|
|
120
|
+
readonly action: "manage";
|
|
121
|
+
};
|
|
122
|
+
readonly projectsManage: {
|
|
123
|
+
readonly systemPath: "permission.projects";
|
|
124
|
+
readonly action: "manage";
|
|
125
|
+
};
|
|
126
|
+
readonly clientsManage: {
|
|
127
|
+
readonly systemPath: "permission.clients";
|
|
128
|
+
readonly action: "manage";
|
|
129
|
+
};
|
|
130
|
+
readonly operationsOverview: {
|
|
131
|
+
readonly systemPath: "diagnostic.operations.overview";
|
|
132
|
+
readonly action: "view";
|
|
133
|
+
};
|
|
134
|
+
readonly operationsRecentExecutions: {
|
|
135
|
+
readonly systemPath: "diagnostic.operations.recent-executions";
|
|
136
|
+
readonly action: "view";
|
|
137
|
+
};
|
|
138
|
+
readonly monitoringExecutionLogs: {
|
|
139
|
+
readonly systemPath: "diagnostic.monitoring.execution-logs";
|
|
140
|
+
readonly action: "view";
|
|
141
|
+
};
|
|
142
|
+
readonly monitoringNotifications: {
|
|
143
|
+
readonly systemPath: "diagnostic.monitoring.notifications";
|
|
144
|
+
readonly action: "view";
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
type AccessRestrictedBy = 'catalog' | 'membership' | 'system-lifecycle' | 'role-permission' | 'diagnostic-allowlist' | null;
|
|
149
|
+
type AccessReason = 'allowed' | 'platform-admin-bypass' | 'invalid-access-key' | 'unknown-access-key' | 'organization-mismatch' | 'missing-membership' | 'system-not-active' | 'role-permission-denied' | 'diagnostic-key-not-allowed';
|
|
150
|
+
interface AccessAnswer {
|
|
151
|
+
allowed: boolean;
|
|
152
|
+
restrictedBy: AccessRestrictedBy;
|
|
153
|
+
reason: AccessReason;
|
|
154
|
+
}
|
|
155
|
+
|
|
80
156
|
interface InitializationError {
|
|
81
157
|
layer: 'auth' | 'profile' | 'organization';
|
|
82
158
|
message: string;
|
|
@@ -141,36 +217,23 @@ interface ProtectedRouteProps {
|
|
|
141
217
|
*/
|
|
142
218
|
declare function ProtectedRoute({ children, redirectTo, fallback, errorFallback, waitForOrganization }: ProtectedRouteProps): react_jsx_runtime.JSX.Element | null;
|
|
143
219
|
|
|
144
|
-
interface
|
|
220
|
+
interface UseAccessResult extends AccessAnswer {
|
|
221
|
+
isReady: boolean;
|
|
222
|
+
isPlatformAdmin: boolean;
|
|
223
|
+
permissions: readonly string[];
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
interface AccessGuardProps {
|
|
227
|
+
accessKey: AccessKeyInput;
|
|
145
228
|
children: ReactNode;
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
*/
|
|
150
|
-
redirectTo?: string;
|
|
151
|
-
/**
|
|
152
|
-
* Rendered while user readiness is being determined.
|
|
153
|
-
* When not provided, nothing is rendered during initialization.
|
|
154
|
-
*/
|
|
155
|
-
fallback?: ReactNode;
|
|
229
|
+
fallback?: ReactNode | ((answer: UseAccessResult) => ReactNode);
|
|
230
|
+
loadingFallback?: ReactNode;
|
|
231
|
+
redirectTo?: string | null;
|
|
156
232
|
}
|
|
157
233
|
/**
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* Reads `profile.is_platform_admin` from the nearest InitializationProvider.
|
|
161
|
-
* Non-admin users are redirected to `redirectTo` (default: '/').
|
|
162
|
-
*
|
|
163
|
-
* Must be nested inside a ProtectedRoute (or equivalent) so that
|
|
164
|
-
* `userReady` is guaranteed to be true when this guard runs.
|
|
165
|
-
*
|
|
166
|
-
* @example
|
|
167
|
-
* <ProtectedRoute>
|
|
168
|
-
* <AdminGuard fallback={<AppShellLoader />}>
|
|
169
|
-
* <AdminDashboard />
|
|
170
|
-
* </AdminGuard>
|
|
171
|
-
* </ProtectedRoute>
|
|
234
|
+
* Unified route/UI guard for the shared Access Model.
|
|
172
235
|
*/
|
|
173
|
-
declare function
|
|
236
|
+
declare function AccessGuard({ accessKey, children, fallback, loadingFallback, redirectTo }: AccessGuardProps): react_jsx_runtime.JSX.Element;
|
|
174
237
|
|
|
175
|
-
export {
|
|
176
|
-
export type {
|
|
238
|
+
export { AccessGuard, AccessKeys, AuthProvider, ProtectedRoute, useAuthContext, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken };
|
|
239
|
+
export type { AccessGuardProps, AccessKeyInput, AuthContextValue, ProtectedRouteProps };
|
package/dist/auth/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { AccessGuard, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-JPVZRZ3X.js';
|
|
2
|
+
export { AccessKeys } from '../chunk-LCJQ6OWC.js';
|
|
3
|
+
import '../chunk-NYNOMAAS.js';
|
|
2
4
|
import '../chunk-533DUEQY.js';
|
|
5
|
+
import '../chunk-NWMPBG4U.js';
|
|
3
6
|
import '../chunk-DD3CCMCZ.js';
|
|
4
7
|
import '../chunk-2Q2JQSQO.js';
|
|
8
|
+
import '../chunk-6ROXVZ3L.js';
|
|
5
9
|
import '../chunk-KJ3QUBNU.js';
|
|
6
10
|
export { AuthProvider, useAuthContext } from '../chunk-BRJ3QZ4E.js';
|
|
7
11
|
import '../chunk-I2KLQ2HA.js';
|
package/dist/charts/index.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-
|
|
1
|
+
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-7GQFIWP4.js';
|
|
2
|
+
import '../chunk-I53EX4VU.js';
|
|
2
3
|
import '../chunk-3KMDHCAR.js';
|
|
4
|
+
import '../chunk-S3XR4II4.js';
|
|
3
5
|
import '../chunk-NYBEU5TE.js';
|
|
4
6
|
import '../chunk-DT3QYZVU.js';
|
|
5
7
|
import '../chunk-2IFYDILW.js';
|
|
6
8
|
import '../chunk-Q7DJKLEN.js';
|
|
7
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-X66MVMZT.js';
|
|
8
10
|
import '../chunk-KRWALB24.js';
|
|
9
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-JPVZRZ3X.js';
|
|
12
|
+
import '../chunk-LCJQ6OWC.js';
|
|
13
|
+
import '../chunk-NYNOMAAS.js';
|
|
10
14
|
import '../chunk-533DUEQY.js';
|
|
15
|
+
import '../chunk-NWMPBG4U.js';
|
|
11
16
|
import '../chunk-DD3CCMCZ.js';
|
|
12
17
|
import '../chunk-2Q2JQSQO.js';
|
|
18
|
+
import '../chunk-6ROXVZ3L.js';
|
|
13
19
|
import '../chunk-KJ3QUBNU.js';
|
|
14
20
|
import '../chunk-BRJ3QZ4E.js';
|
|
15
21
|
import '../chunk-I2KLQ2HA.js';
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-CWYQRM5T.js';
|
|
2
|
+
import { PRESETS, getPreset, generateShades } from './chunk-WF7CONXF.js';
|
|
3
|
+
import { AppBackground } from './chunk-WLOQ4IBG.js';
|
|
4
|
+
import { ElevasisCoreProvider } from './chunk-JZ2WID2G.js';
|
|
5
|
+
import { ElevasisLoader } from './chunk-I53EX4VU.js';
|
|
6
|
+
import { AppearanceProvider } from './chunk-A7IG36LB.js';
|
|
7
|
+
import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-X66MVMZT.js';
|
|
8
|
+
import { useElevasisSystems, ElevasisSystemsProvider } from './chunk-NYNOMAAS.js';
|
|
9
|
+
import { resolveOrganizationModel } from './chunk-NWMPBG4U.js';
|
|
10
|
+
import { useMemo, useEffect } from 'react';
|
|
11
|
+
import { Loader, mergeThemeOverrides, MantineProvider } from '@mantine/core';
|
|
12
|
+
import '@mantine/core/styles.css';
|
|
13
|
+
import '@mantine/notifications/styles.css';
|
|
14
|
+
import { notifications } from '@mantine/notifications';
|
|
15
|
+
import { jsx } from 'react/jsx-runtime';
|
|
16
|
+
|
|
17
|
+
var EMPTY_CANONICAL_MODEL = resolveOrganizationModel(void 0, { mergeDefaults: false });
|
|
18
|
+
function useResolvedOrganizationModel() {
|
|
19
|
+
const { organizationModel } = useElevasisSystems();
|
|
20
|
+
return useMemo(() => organizationModel ?? EMPTY_CANONICAL_MODEL, [organizationModel]);
|
|
21
|
+
}
|
|
22
|
+
var mantineAdapter = {
|
|
23
|
+
success(title, message) {
|
|
24
|
+
notifications.show({ title, message, autoClose: 5e3, color: "green", position: "top-right" });
|
|
25
|
+
},
|
|
26
|
+
error(title, message) {
|
|
27
|
+
notifications.show({ title, message, autoClose: 5e3, color: "red", position: "top-right" });
|
|
28
|
+
},
|
|
29
|
+
info(title, message) {
|
|
30
|
+
notifications.show({ title, message, autoClose: 5e3, color: "blue", position: "top-right" });
|
|
31
|
+
},
|
|
32
|
+
warning(title, message) {
|
|
33
|
+
notifications.show({ title, message, autoClose: 5e3, color: "orange", position: "top-right" });
|
|
34
|
+
},
|
|
35
|
+
apiError(error) {
|
|
36
|
+
const { message, code, requestId, fields, retryAfter } = getErrorInfo(error);
|
|
37
|
+
const hasFields = fields && Object.keys(fields).length > 0;
|
|
38
|
+
notifications.show({
|
|
39
|
+
title: getErrorTitle(code),
|
|
40
|
+
message: formatErrorMessage(message, requestId, fields, retryAfter),
|
|
41
|
+
autoClose: retryAfter ? retryAfter * 1e3 : hasFields ? 8e3 : 5e3,
|
|
42
|
+
color: "red",
|
|
43
|
+
position: "top-right"
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function ElevasisUIProvider({ theme, children, ...coreProps }) {
|
|
48
|
+
const resolvedColorScheme = theme?.colorScheme ?? "dark";
|
|
49
|
+
const activePresets = theme?.presets ?? PRESETS;
|
|
50
|
+
const preset = useMemo(() => getPreset(theme?.preset ?? "default", theme?.presets), [theme?.preset, theme?.presets]);
|
|
51
|
+
const resolvedAppearance = {
|
|
52
|
+
background: theme?.background ?? preset.background ?? /* @__PURE__ */ jsx(AppBackground, {}),
|
|
53
|
+
loader: theme?.loader ?? preset.loader ?? /* @__PURE__ */ jsx(Loader, { size: "xl", loaders: { elevasis: ElevasisLoader }, type: "elevasis" })
|
|
54
|
+
};
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (!preset.fontImports?.length) return;
|
|
57
|
+
const links = [];
|
|
58
|
+
for (const href of preset.fontImports) {
|
|
59
|
+
if (document.querySelector(`link[href="${href}"]`)) continue;
|
|
60
|
+
const link = document.createElement("link");
|
|
61
|
+
link.rel = "stylesheet";
|
|
62
|
+
link.href = href;
|
|
63
|
+
document.head.appendChild(link);
|
|
64
|
+
links.push(link);
|
|
65
|
+
}
|
|
66
|
+
const subtitleFont = preset.subtitleFontFamily ?? preset.framework?.headings?.fontFamily ?? preset.framework?.fontFamily ?? "";
|
|
67
|
+
document.documentElement.style.setProperty("--elevasis-font-family-subtitle", subtitleFont);
|
|
68
|
+
return () => {
|
|
69
|
+
links.forEach((l) => l.remove());
|
|
70
|
+
document.documentElement.style.removeProperty("--elevasis-font-family-subtitle");
|
|
71
|
+
};
|
|
72
|
+
}, [
|
|
73
|
+
preset.fontImports,
|
|
74
|
+
preset.subtitleFontFamily,
|
|
75
|
+
preset.framework?.headings?.fontFamily,
|
|
76
|
+
preset.framework?.fontFamily
|
|
77
|
+
]);
|
|
78
|
+
const resolvedTheme = useMemo(() => {
|
|
79
|
+
const primaryHex = theme?.tokens?.primary ?? preset.dark.primary;
|
|
80
|
+
const primaryOverride = {
|
|
81
|
+
primaryColor: "primary",
|
|
82
|
+
colors: { primary: generateShades(primaryHex) }
|
|
83
|
+
};
|
|
84
|
+
let base = mergeThemeOverrides(mantineThemeOverride, primaryOverride);
|
|
85
|
+
if (preset.framework) base = mergeThemeOverrides(base, preset.framework);
|
|
86
|
+
return theme?.mantine ? mergeThemeOverrides(base, theme.mantine) : base;
|
|
87
|
+
}, [theme?.mantine, preset, theme?.tokens?.primary]);
|
|
88
|
+
const cssVariablesResolver = useMemo(
|
|
89
|
+
() => createCssVariablesResolver(theme?.tokens, theme?.preset, theme?.presets),
|
|
90
|
+
[theme?.tokens, theme?.preset, theme?.presets]
|
|
91
|
+
);
|
|
92
|
+
return /* @__PURE__ */ jsx(
|
|
93
|
+
MantineProvider,
|
|
94
|
+
{
|
|
95
|
+
theme: resolvedTheme,
|
|
96
|
+
defaultColorScheme: resolvedColorScheme,
|
|
97
|
+
cssVariablesResolver,
|
|
98
|
+
children: /* @__PURE__ */ jsx(PresetsProvider, { value: activePresets, children: /* @__PURE__ */ jsx(AppearanceProvider, { value: resolvedAppearance, children: /* @__PURE__ */ jsx(ElevasisCoreProvider, { notifications: mantineAdapter, ...coreProps, children }) }) })
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
function createTestSystemsProvider({
|
|
103
|
+
organizationModel,
|
|
104
|
+
systems = []
|
|
105
|
+
} = {}) {
|
|
106
|
+
return function TestSystemsProvider({ children }) {
|
|
107
|
+
return /* @__PURE__ */ jsx(ElevasisSystemsProvider, { systems, organizationModel, children });
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export { ElevasisUIProvider, createTestSystemsProvider, useResolvedOrganizationModel };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// src/features/operations/organization-graph/types.ts
|
|
2
|
+
var ORGANIZATION_GRAPH_NODE_KIND_ORDER = [
|
|
3
|
+
"organization",
|
|
4
|
+
"system",
|
|
5
|
+
"role",
|
|
6
|
+
"action",
|
|
7
|
+
"entity",
|
|
8
|
+
"event",
|
|
9
|
+
"policy",
|
|
10
|
+
"stage",
|
|
11
|
+
"resource",
|
|
12
|
+
"knowledge",
|
|
13
|
+
"customer-segment",
|
|
14
|
+
"offering",
|
|
15
|
+
"goal",
|
|
16
|
+
"surface",
|
|
17
|
+
"navigation-group",
|
|
18
|
+
"ontology"
|
|
19
|
+
];
|
|
20
|
+
var ORGANIZATION_GRAPH_NODE_KIND_LABELS = {
|
|
21
|
+
organization: "Organization",
|
|
22
|
+
system: "System",
|
|
23
|
+
role: "Role",
|
|
24
|
+
action: "Action",
|
|
25
|
+
entity: "Entity",
|
|
26
|
+
event: "Event",
|
|
27
|
+
policy: "Policy",
|
|
28
|
+
stage: "Stage",
|
|
29
|
+
resource: "Resource",
|
|
30
|
+
knowledge: "Knowledge",
|
|
31
|
+
"customer-segment": "Customer segment",
|
|
32
|
+
offering: "Offering",
|
|
33
|
+
goal: "Goal",
|
|
34
|
+
surface: "Surface",
|
|
35
|
+
"navigation-group": "Navigation group",
|
|
36
|
+
ontology: "Ontology"
|
|
37
|
+
};
|
|
38
|
+
var ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS = {
|
|
39
|
+
organization: "Organization root",
|
|
40
|
+
system: "System",
|
|
41
|
+
role: "Role",
|
|
42
|
+
action: "Action",
|
|
43
|
+
entity: "Entity",
|
|
44
|
+
event: "Event",
|
|
45
|
+
policy: "Policy",
|
|
46
|
+
stage: "Stage",
|
|
47
|
+
resource: "Resource",
|
|
48
|
+
knowledge: "Knowledge",
|
|
49
|
+
"customer-segment": "Customer segment",
|
|
50
|
+
offering: "Offering",
|
|
51
|
+
goal: "Goal",
|
|
52
|
+
surface: "Surface",
|
|
53
|
+
"navigation-group": "Navigation group",
|
|
54
|
+
ontology: "Ontology record"
|
|
55
|
+
};
|
|
56
|
+
var ORGANIZATION_GRAPH_NODE_KIND_MEANINGS = {
|
|
57
|
+
organization: "The root of the shared organization model and the parent for every derived node.",
|
|
58
|
+
system: "A canonical Organization Model system for ownership, routing, and governance.",
|
|
59
|
+
role: "An Organization Model role that owns responsibilities and may govern systems.",
|
|
60
|
+
action: "A reusable action that can be attached to a system.",
|
|
61
|
+
entity: "A modeled business object or stateful data domain owned by the organization model.",
|
|
62
|
+
event: "A derived domain or runtime event emitted by entities, resources, or actions.",
|
|
63
|
+
policy: "A governance rule that applies to targets and may trigger effects across the graph.",
|
|
64
|
+
stage: "A lifecycle stage that records progress for an entity through a build pipeline.",
|
|
65
|
+
resource: "A concrete command-view or mapped resource that bridges execution topology into the model.",
|
|
66
|
+
knowledge: "An operational knowledge node that documents a process, strategy, or runbook in the org model.",
|
|
67
|
+
"customer-segment": "A defined segment of customers or prospects that the organization targets or serves.",
|
|
68
|
+
offering: "A product, service, or value proposition the organization delivers to customer segments.",
|
|
69
|
+
goal: "A strategic or operational objective that guides priorities and measures progress.",
|
|
70
|
+
surface: "A navigation surface (page or view) that is exposed through the platform shell.",
|
|
71
|
+
"navigation-group": "A logical grouping of navigation surfaces within the platform shell.",
|
|
72
|
+
ontology: "A compiled ontology record such as an object, action, catalog, value type, surface, or resource binding."
|
|
73
|
+
};
|
|
74
|
+
var ORGANIZATION_GRAPH_EDGE_KIND_LABELS = {
|
|
75
|
+
contains: "Containment",
|
|
76
|
+
references: "Reference",
|
|
77
|
+
maps_to: "Mapping",
|
|
78
|
+
uses: "Uses",
|
|
79
|
+
governs: "Governs",
|
|
80
|
+
links: "Links",
|
|
81
|
+
affects: "Affects",
|
|
82
|
+
emits: "Emits",
|
|
83
|
+
originates_from: "Originates from",
|
|
84
|
+
triggers: "Triggers",
|
|
85
|
+
approval: "Approval",
|
|
86
|
+
applies_to: "Applies to",
|
|
87
|
+
effects: "Effects",
|
|
88
|
+
actions: "Actions",
|
|
89
|
+
reads: "Reads",
|
|
90
|
+
writes: "Writes",
|
|
91
|
+
uses_catalog: "Uses catalog"
|
|
92
|
+
};
|
|
93
|
+
var ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS = {
|
|
94
|
+
contains: "A hierarchy or ownership link inside the shared graph.",
|
|
95
|
+
references: "A semantic association or dependency between two graph nodes.",
|
|
96
|
+
maps_to: "An action is aligned to a concrete resource.",
|
|
97
|
+
uses: "A graph node depends on another node, resource, entity, or integration.",
|
|
98
|
+
governs: "A knowledge node, role, or policy provides authoritative guidance for another node.",
|
|
99
|
+
links: "Two modeled nodes are associated without stronger ownership or execution semantics.",
|
|
100
|
+
affects: "The source can influence the behavior, state, or outcome of the target.",
|
|
101
|
+
emits: "The source produces an event that can be inspected or traversed.",
|
|
102
|
+
originates_from: "The source is derived from or owned by the target origin.",
|
|
103
|
+
triggers: "The source can start or activate the target.",
|
|
104
|
+
approval: "The source requests or participates in an approval path.",
|
|
105
|
+
applies_to: "A policy or rule targets the node it applies to.",
|
|
106
|
+
effects: "A policy or event produces the target effect.",
|
|
107
|
+
actions: "The source is bound to the target ontology action contract.",
|
|
108
|
+
reads: "The source reads data described by the target ontology record.",
|
|
109
|
+
writes: "The source writes data described by the target ontology record.",
|
|
110
|
+
uses_catalog: "The source uses the target ontology catalog."
|
|
111
|
+
};
|
|
112
|
+
var DEFAULT_ORGANIZATION_GRAPH_FILTERS = {
|
|
113
|
+
search: "",
|
|
114
|
+
nodeKinds: [],
|
|
115
|
+
topologyPresence: "all",
|
|
116
|
+
environmentStatus: "all",
|
|
117
|
+
resourceTypes: [],
|
|
118
|
+
showIntegrations: true,
|
|
119
|
+
domainFilters: {}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_NODE_KIND_ORDER };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildOrganizationGraph, projectOrganizationSurfaces, compileOrganizationOntology, SemanticIcon, getSortedSidebarEntries, parseOntologyId, getSystem, resolveSystemConfig } from './chunk-
|
|
1
|
+
import { buildOrganizationGraph, projectOrganizationSurfaces, compileOrganizationOntology, SemanticIcon, getSortedSidebarEntries, parseOntologyId, getSystem, resolveSystemConfig } from './chunk-NWMPBG4U.js';
|
|
2
2
|
import { useMemo, useState, useRef, useEffect } from 'react';
|
|
3
3
|
import { useTree, Text, Tree, UnstyledButton, Group, TextInput } from '@mantine/core';
|
|
4
4
|
import { useClipboard } from '@mantine/hooks';
|
|
@@ -2045,7 +2045,7 @@ function TrailingCopySlot({ command, label, showCopy, favorite, hovered }) {
|
|
|
2045
2045
|
var indexPromise = null;
|
|
2046
2046
|
function loadSearchIndex() {
|
|
2047
2047
|
if (!indexPromise) {
|
|
2048
|
-
indexPromise = import('./knowledge-search-index-
|
|
2048
|
+
indexPromise = import('./knowledge-search-index-NBCTFIOH.js').then(
|
|
2049
2049
|
(mod) => buildSearchIndex(mod.default ?? mod)
|
|
2050
2050
|
);
|
|
2051
2051
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// src/utils/constants/cache.ts
|
|
2
|
+
var STALE_TIME_MONITORING = 3e4;
|
|
3
|
+
var STALE_TIME_ADMIN = 6e4;
|
|
4
|
+
var STALE_TIME_DEFAULT = 3e5;
|
|
5
|
+
var GC_TIME_SHORT = 3e5;
|
|
6
|
+
var GC_TIME_MEDIUM = 6e5;
|
|
7
|
+
var GC_TIME_LONG = 18e5;
|
|
8
|
+
|
|
9
|
+
export { GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING };
|