@pablo2410/shared-ui 0.6.0 → 0.6.2
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/{DashboardLayout-Bors1KO3.d.ts → HealthFooter-BusozVzz.d.ts} +46 -3
- package/dist/{chunk-MAKRKBBI.js → chunk-PHZHX3MF.js} +206 -158
- package/dist/chunk-PHZHX3MF.js.map +1 -0
- package/dist/layout/index.d.ts +2 -2
- package/dist/layout/index.js +3 -1
- package/dist/reporting/index.d.ts +18 -26
- package/dist/reporting/index.js +380 -175
- package/dist/reporting/index.js.map +1 -1
- package/dist/shell/index.d.ts +2 -2
- package/dist/shell/index.js +4 -2
- package/dist/shell/index.js.map +1 -1
- package/dist/shell/oplytics-shell.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-MAKRKBBI.js.map +0 -1
|
@@ -86,7 +86,52 @@ function useSidebarResize(config) {
|
|
|
86
86
|
|
|
87
87
|
// src/layout/DashboardLayout.tsx
|
|
88
88
|
import { ArrowLeft, LogOut, PanelLeft, Settings } from "lucide-react";
|
|
89
|
-
|
|
89
|
+
|
|
90
|
+
// src/layout/HealthFooter.tsx
|
|
91
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
92
|
+
function HealthFooter({
|
|
93
|
+
user,
|
|
94
|
+
enterprise,
|
|
95
|
+
className,
|
|
96
|
+
style
|
|
97
|
+
}) {
|
|
98
|
+
return /* @__PURE__ */ jsxs(
|
|
99
|
+
"div",
|
|
100
|
+
{
|
|
101
|
+
className: "fixed bottom-0 left-0 right-0 h-8 bg-zinc-900 border-t border-zinc-800 flex items-center px-4 gap-6 text-[11px] text-zinc-400 z-50 font-mono" + (className ? ` ${className}` : ""),
|
|
102
|
+
style,
|
|
103
|
+
"data-slot": "health-footer",
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
106
|
+
"role: ",
|
|
107
|
+
/* @__PURE__ */ jsx("span", { className: "text-zinc-200", children: user?.role ?? "\u2013" })
|
|
108
|
+
] }),
|
|
109
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
110
|
+
"jwt.eid:",
|
|
111
|
+
" ",
|
|
112
|
+
/* @__PURE__ */ jsx("span", { className: "text-zinc-200", children: user?.enterpriseId ?? "null" })
|
|
113
|
+
] }),
|
|
114
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
115
|
+
"hierarchy.eid:",
|
|
116
|
+
" ",
|
|
117
|
+
/* @__PURE__ */ jsx("span", { className: "text-zinc-200", children: enterprise?.id ?? "\u2013" })
|
|
118
|
+
] }),
|
|
119
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
120
|
+
"enterprise:",
|
|
121
|
+
" ",
|
|
122
|
+
/* @__PURE__ */ jsx("span", { className: "text-zinc-200", children: enterprise?.name ?? "\u2013" })
|
|
123
|
+
] }),
|
|
124
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
125
|
+
"user: ",
|
|
126
|
+
/* @__PURE__ */ jsx("span", { className: "text-zinc-200", children: user?.openId ?? "\u2013" })
|
|
127
|
+
] })
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// src/layout/DashboardLayout.tsx
|
|
134
|
+
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
90
135
|
var DEFAULT_SERVICE_HUB_URL = "https://portal.oplytics.digital/app";
|
|
91
136
|
var DEFAULT_USER_SETTINGS_URL = "https://portal.oplytics.digital/account";
|
|
92
137
|
function UserMenu({
|
|
@@ -95,17 +140,17 @@ function UserMenu({
|
|
|
95
140
|
userSettingsUrl = DEFAULT_USER_SETTINGS_URL
|
|
96
141
|
}) {
|
|
97
142
|
const initials = (user.name || "U").split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
|
|
98
|
-
return /* @__PURE__ */
|
|
99
|
-
/* @__PURE__ */
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
143
|
+
return /* @__PURE__ */ jsxs2(DropdownMenu, { children: [
|
|
144
|
+
/* @__PURE__ */ jsx2(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs2("button", { className: "flex items-center gap-2 rounded-md px-2 py-1 hover:bg-[#1E2738] transition-colors outline-none focus-visible:ring-1 focus-visible:ring-[#8C34E9]", children: [
|
|
145
|
+
/* @__PURE__ */ jsx2(Avatar, { className: "h-7 w-7 border border-[#2A2A3E]", children: /* @__PURE__ */ jsx2(AvatarFallback, { className: "text-[10px] font-medium bg-[#8C34E9]/20 text-[#C084FC]", children: initials }) }),
|
|
146
|
+
/* @__PURE__ */ jsx2("span", { className: "hidden md:block text-xs text-[#E2E8F0] truncate max-w-[100px]", children: user.name || "User" })
|
|
102
147
|
] }) }),
|
|
103
|
-
/* @__PURE__ */
|
|
104
|
-
/* @__PURE__ */
|
|
105
|
-
/* @__PURE__ */
|
|
106
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ jsxs2(DropdownMenuContent, { align: "end", className: "w-48 bg-[#0D1220] border-[#1E2738]", children: [
|
|
149
|
+
/* @__PURE__ */ jsxs2("div", { className: "px-3 py-2 border-b border-[#1E2738]", children: [
|
|
150
|
+
/* @__PURE__ */ jsx2("p", { className: "text-xs font-medium text-[#E2E8F0] truncate", children: user.name }),
|
|
151
|
+
/* @__PURE__ */ jsx2("p", { className: "text-[10px] text-[#596475] truncate", children: user.role })
|
|
107
152
|
] }),
|
|
108
|
-
/* @__PURE__ */
|
|
153
|
+
/* @__PURE__ */ jsxs2(
|
|
109
154
|
DropdownMenuItem,
|
|
110
155
|
{
|
|
111
156
|
onClick: () => {
|
|
@@ -113,19 +158,19 @@ function UserMenu({
|
|
|
113
158
|
},
|
|
114
159
|
className: "text-xs text-[#E2E8F0] hover:bg-[#1E2738] cursor-pointer focus:bg-[#1E2738]",
|
|
115
160
|
children: [
|
|
116
|
-
/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ jsx2(Settings, { className: "h-3.5 w-3.5 mr-2 text-[#8890A0]" }),
|
|
117
162
|
"User Settings"
|
|
118
163
|
]
|
|
119
164
|
}
|
|
120
165
|
),
|
|
121
|
-
/* @__PURE__ */
|
|
122
|
-
/* @__PURE__ */
|
|
166
|
+
/* @__PURE__ */ jsx2(DropdownMenuSeparator, { className: "bg-[#1E2738]" }),
|
|
167
|
+
/* @__PURE__ */ jsxs2(
|
|
123
168
|
DropdownMenuItem,
|
|
124
169
|
{
|
|
125
170
|
onClick: () => onLogout?.(),
|
|
126
171
|
className: "text-xs text-[#EF4444] hover:bg-[#EF4444]/10 cursor-pointer focus:bg-[#EF4444]/10 focus:text-[#EF4444]",
|
|
127
172
|
children: [
|
|
128
|
-
/* @__PURE__ */
|
|
173
|
+
/* @__PURE__ */ jsx2(LogOut, { className: "h-3.5 w-3.5 mr-2" }),
|
|
129
174
|
"Sign Out"
|
|
130
175
|
]
|
|
131
176
|
}
|
|
@@ -135,9 +180,9 @@ function UserMenu({
|
|
|
135
180
|
}
|
|
136
181
|
function EnterpriseBadge({ enterprise }) {
|
|
137
182
|
if (!enterprise) return null;
|
|
138
|
-
return /* @__PURE__ */
|
|
139
|
-
/* @__PURE__ */
|
|
140
|
-
/* @__PURE__ */
|
|
183
|
+
return /* @__PURE__ */ jsxs2("div", { className: "hidden lg:flex items-center gap-1.5 px-2 py-1 rounded-md bg-[#8C34E9]/10 border border-[#8C34E9]/20", children: [
|
|
184
|
+
/* @__PURE__ */ jsx2("div", { className: "h-4 w-4 rounded-sm bg-[#8C34E9]/30 flex items-center justify-center", children: /* @__PURE__ */ jsx2("span", { className: "text-[8px] font-bold text-[#C084FC]", children: enterprise.name.charAt(0).toUpperCase() }) }),
|
|
185
|
+
/* @__PURE__ */ jsx2("span", { className: "text-[10px] font-medium text-[#C084FC] truncate max-w-[80px]", children: enterprise.code || enterprise.name })
|
|
141
186
|
] });
|
|
142
187
|
}
|
|
143
188
|
function NavSection({
|
|
@@ -148,12 +193,12 @@ function NavSection({
|
|
|
148
193
|
onNavigate
|
|
149
194
|
}) {
|
|
150
195
|
const label = section.title ?? section.label;
|
|
151
|
-
return /* @__PURE__ */
|
|
152
|
-
label && /* @__PURE__ */
|
|
153
|
-
/* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
197
|
+
label && /* @__PURE__ */ jsx2("div", { className: cn("px-4 py-2", marginTop && "mt-2"), children: !isCollapsed && /* @__PURE__ */ jsx2("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider", children: label }) }),
|
|
198
|
+
/* @__PURE__ */ jsx2(SidebarMenu, { className: "px-2 py-1", children: section.items.map((item) => {
|
|
154
199
|
const active = resolveActive(item.path);
|
|
155
200
|
const Icon = item.icon;
|
|
156
|
-
return /* @__PURE__ */
|
|
201
|
+
return /* @__PURE__ */ jsx2(SidebarMenuItem, { children: /* @__PURE__ */ jsxs2(
|
|
157
202
|
SidebarMenuButton,
|
|
158
203
|
{
|
|
159
204
|
isActive: active,
|
|
@@ -161,8 +206,8 @@ function NavSection({
|
|
|
161
206
|
tooltip: item.label,
|
|
162
207
|
className: "h-10 transition-all font-normal",
|
|
163
208
|
children: [
|
|
164
|
-
Icon && /* @__PURE__ */
|
|
165
|
-
/* @__PURE__ */
|
|
209
|
+
Icon && /* @__PURE__ */ jsx2(Icon, { className: cn("h-4 w-4", active && "text-primary") }),
|
|
210
|
+
/* @__PURE__ */ jsx2("span", { children: item.label })
|
|
166
211
|
]
|
|
167
212
|
}
|
|
168
213
|
) }, item.path);
|
|
@@ -187,31 +232,32 @@ function DashboardShell({
|
|
|
187
232
|
enterprise,
|
|
188
233
|
reportingToolbar,
|
|
189
234
|
footer,
|
|
235
|
+
showHealthFooter,
|
|
190
236
|
children
|
|
191
237
|
}) {
|
|
192
238
|
const { toggleSidebar, state } = useSidebar();
|
|
193
239
|
const isCollapsed = state === "collapsed";
|
|
194
240
|
const navigate = onNavigate;
|
|
195
241
|
const resolveActive = (path) => isActive ? isActive(path, activePath) : isMenuItemActive(path, activePath);
|
|
196
|
-
return /* @__PURE__ */
|
|
197
|
-
/* @__PURE__ */
|
|
198
|
-
/* @__PURE__ */
|
|
199
|
-
/* @__PURE__ */
|
|
242
|
+
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
243
|
+
/* @__PURE__ */ jsxs2(Sidebar, { collapsible: "icon", className: "border-r-0", children: [
|
|
244
|
+
/* @__PURE__ */ jsx2(SidebarHeader, { className: "h-16 justify-center", children: /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3 px-2 transition-all w-full", children: [
|
|
245
|
+
/* @__PURE__ */ jsx2(
|
|
200
246
|
"button",
|
|
201
247
|
{
|
|
202
248
|
onClick: toggleSidebar,
|
|
203
249
|
className: "h-8 w-8 flex items-center justify-center hover:bg-accent rounded-lg transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring shrink-0",
|
|
204
250
|
"aria-label": "Toggle navigation",
|
|
205
|
-
children: /* @__PURE__ */
|
|
251
|
+
children: /* @__PURE__ */ jsx2(PanelLeft, { className: "h-4 w-4 text-muted-foreground" })
|
|
206
252
|
}
|
|
207
253
|
),
|
|
208
|
-
!isCollapsed ? /* @__PURE__ */
|
|
209
|
-
serviceIcon && /* @__PURE__ */
|
|
210
|
-
/* @__PURE__ */
|
|
254
|
+
!isCollapsed ? /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
255
|
+
serviceIcon && /* @__PURE__ */ jsx2("span", { className: "text-[#8C34E9] shrink-0", children: serviceIcon }),
|
|
256
|
+
/* @__PURE__ */ jsx2("span", { className: "font-semibold tracking-tight truncate", children: serviceName })
|
|
211
257
|
] }) : null
|
|
212
258
|
] }) }),
|
|
213
|
-
/* @__PURE__ */
|
|
214
|
-
serviceHubUrl && /* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ jsxs2(SidebarContent, { className: "gap-0", children: [
|
|
260
|
+
serviceHubUrl && /* @__PURE__ */ jsx2(SidebarMenu, { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx2(SidebarMenuItem, { children: /* @__PURE__ */ jsxs2(
|
|
215
261
|
SidebarMenuButton,
|
|
216
262
|
{
|
|
217
263
|
onClick: () => {
|
|
@@ -220,12 +266,12 @@ function DashboardShell({
|
|
|
220
266
|
tooltip: "Back to Service Hub",
|
|
221
267
|
className: "h-10 transition-all font-normal text-muted-foreground hover:text-foreground",
|
|
222
268
|
children: [
|
|
223
|
-
/* @__PURE__ */
|
|
224
|
-
/* @__PURE__ */
|
|
269
|
+
/* @__PURE__ */ jsx2(ArrowLeft, { className: "h-4 w-4" }),
|
|
270
|
+
/* @__PURE__ */ jsx2("span", { children: "Service Hub" })
|
|
225
271
|
]
|
|
226
272
|
}
|
|
227
273
|
) }) }),
|
|
228
|
-
menuSections.map((section, i) => /* @__PURE__ */
|
|
274
|
+
menuSections.map((section, i) => /* @__PURE__ */ jsx2(
|
|
229
275
|
NavSection,
|
|
230
276
|
{
|
|
231
277
|
section,
|
|
@@ -235,7 +281,7 @@ function DashboardShell({
|
|
|
235
281
|
},
|
|
236
282
|
section.title ?? section.label ?? `section-${i}`
|
|
237
283
|
)),
|
|
238
|
-
isAdmin && adminSections?.map((section, i) => /* @__PURE__ */
|
|
284
|
+
isAdmin && adminSections?.map((section, i) => /* @__PURE__ */ jsx2(
|
|
239
285
|
NavSection,
|
|
240
286
|
{
|
|
241
287
|
section,
|
|
@@ -247,21 +293,21 @@ function DashboardShell({
|
|
|
247
293
|
section.title ?? section.label ?? `admin-${i}`
|
|
248
294
|
))
|
|
249
295
|
] }),
|
|
250
|
-
settingsPath && /* @__PURE__ */
|
|
296
|
+
settingsPath && /* @__PURE__ */ jsx2(SidebarFooter, { className: "p-2", children: /* @__PURE__ */ jsx2(SidebarMenu, { children: /* @__PURE__ */ jsx2(SidebarMenuItem, { children: /* @__PURE__ */ jsxs2(
|
|
251
297
|
SidebarMenuButton,
|
|
252
298
|
{
|
|
253
299
|
onClick: () => navigate(settingsPath),
|
|
254
300
|
tooltip: "Settings",
|
|
255
301
|
className: "h-10 transition-all font-normal text-muted-foreground hover:text-foreground",
|
|
256
302
|
children: [
|
|
257
|
-
/* @__PURE__ */
|
|
258
|
-
/* @__PURE__ */
|
|
303
|
+
/* @__PURE__ */ jsx2(Settings, { className: "h-4 w-4" }),
|
|
304
|
+
/* @__PURE__ */ jsx2("span", { children: "Settings" })
|
|
259
305
|
]
|
|
260
306
|
}
|
|
261
307
|
) }) }) })
|
|
262
308
|
] }),
|
|
263
|
-
/* @__PURE__ */
|
|
264
|
-
/* @__PURE__ */
|
|
309
|
+
/* @__PURE__ */ jsxs2(SidebarInset, { children: [
|
|
310
|
+
/* @__PURE__ */ jsxs2(
|
|
265
311
|
"header",
|
|
266
312
|
{
|
|
267
313
|
className: cn(
|
|
@@ -271,34 +317,35 @@ function DashboardShell({
|
|
|
271
317
|
"sticky top-0 z-40"
|
|
272
318
|
),
|
|
273
319
|
children: [
|
|
274
|
-
/* @__PURE__ */
|
|
275
|
-
/* @__PURE__ */
|
|
276
|
-
serviceIcon && /* @__PURE__ */
|
|
277
|
-
hierarchyNavigator && /* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
|
|
321
|
+
/* @__PURE__ */ jsx2(SidebarTrigger, { className: "h-9 w-9 rounded-lg bg-background shrink-0 md:hidden" }),
|
|
322
|
+
serviceIcon && /* @__PURE__ */ jsx2("span", { className: "text-[#8C34E9] shrink-0 hidden sm:block", children: serviceIcon }),
|
|
323
|
+
hierarchyNavigator && /* @__PURE__ */ jsx2("div", { className: "min-w-0 overflow-x-auto scrollbar-none", children: hierarchyNavigator })
|
|
278
324
|
] }),
|
|
279
|
-
/* @__PURE__ */
|
|
325
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-2 shrink-0", children: [
|
|
280
326
|
reportingToolbar,
|
|
281
|
-
/* @__PURE__ */
|
|
282
|
-
/* @__PURE__ */
|
|
283
|
-
user && /* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ jsx2(EnterpriseBadge, { enterprise }),
|
|
328
|
+
/* @__PURE__ */ jsx2("div", { className: "w-px h-6 bg-[#1E2738] hidden md:block" }),
|
|
329
|
+
user && /* @__PURE__ */ jsx2(UserMenu, { user, onLogout, userSettingsUrl })
|
|
284
330
|
] })
|
|
285
331
|
]
|
|
286
332
|
}
|
|
287
333
|
),
|
|
288
|
-
/* @__PURE__ */
|
|
334
|
+
/* @__PURE__ */ jsx2("main", { className: "flex-1 p-4 md:p-6 pb-14", children })
|
|
289
335
|
] }),
|
|
290
|
-
footer
|
|
336
|
+
footer,
|
|
337
|
+
showHealthFooter && user?.role === "platform_admin" && /* @__PURE__ */ jsx2(HealthFooter, { user, enterprise })
|
|
291
338
|
] });
|
|
292
339
|
}
|
|
293
340
|
function DashboardLayout(props) {
|
|
294
341
|
const isMobile = useIsMobile();
|
|
295
|
-
return /* @__PURE__ */
|
|
342
|
+
return /* @__PURE__ */ jsx2(SidebarProvider, { defaultOpen: props.defaultOpen ?? !isMobile, children: /* @__PURE__ */ jsx2(DashboardShell, { ...props }) });
|
|
296
343
|
}
|
|
297
344
|
|
|
298
345
|
// src/layout/DashboardLayoutSkeleton.tsx
|
|
299
|
-
import { jsx as
|
|
346
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
300
347
|
function Skeleton({ className }) {
|
|
301
|
-
return /* @__PURE__ */
|
|
348
|
+
return /* @__PURE__ */ jsx3(
|
|
302
349
|
"div",
|
|
303
350
|
{
|
|
304
351
|
className: cn(
|
|
@@ -309,47 +356,47 @@ function Skeleton({ className }) {
|
|
|
309
356
|
);
|
|
310
357
|
}
|
|
311
358
|
function DashboardLayoutSkeleton({ className }) {
|
|
312
|
-
return /* @__PURE__ */
|
|
313
|
-
/* @__PURE__ */
|
|
314
|
-
/* @__PURE__ */
|
|
315
|
-
/* @__PURE__ */
|
|
316
|
-
/* @__PURE__ */
|
|
359
|
+
return /* @__PURE__ */ jsxs3("div", { className: cn("flex min-h-screen bg-[#0A0E1A]", className), children: [
|
|
360
|
+
/* @__PURE__ */ jsxs3("div", { className: "w-[260px] border-r border-[#1E2738] bg-[#0D1220] p-4 space-y-6", children: [
|
|
361
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-3 px-2", children: [
|
|
362
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-8 w-8 rounded-md" }),
|
|
363
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-4 w-24" })
|
|
317
364
|
] }),
|
|
318
|
-
/* @__PURE__ */
|
|
319
|
-
/* @__PURE__ */
|
|
320
|
-
/* @__PURE__ */
|
|
321
|
-
/* @__PURE__ */
|
|
322
|
-
/* @__PURE__ */
|
|
365
|
+
/* @__PURE__ */ jsxs3("div", { className: "space-y-2 px-2", children: [
|
|
366
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
367
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
368
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
369
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-full rounded-lg" })
|
|
323
370
|
] }),
|
|
324
|
-
/* @__PURE__ */
|
|
325
|
-
/* @__PURE__ */
|
|
326
|
-
/* @__PURE__ */
|
|
327
|
-
/* @__PURE__ */
|
|
371
|
+
/* @__PURE__ */ jsxs3("div", { className: "px-2", children: [
|
|
372
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-3 w-16 mb-3" }),
|
|
373
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-full rounded-lg" }),
|
|
374
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-full rounded-lg mt-2" })
|
|
328
375
|
] }),
|
|
329
|
-
/* @__PURE__ */
|
|
330
|
-
/* @__PURE__ */
|
|
331
|
-
/* @__PURE__ */
|
|
332
|
-
/* @__PURE__ */
|
|
333
|
-
/* @__PURE__ */
|
|
376
|
+
/* @__PURE__ */ jsx3("div", { className: "absolute bottom-4 left-4 right-4", children: /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-3 px-1", children: [
|
|
377
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-8 w-8 rounded-full" }),
|
|
378
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex-1 space-y-2", children: [
|
|
379
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-3 w-20" }),
|
|
380
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-2 w-32" })
|
|
334
381
|
] })
|
|
335
382
|
] }) })
|
|
336
383
|
] }),
|
|
337
|
-
/* @__PURE__ */
|
|
338
|
-
/* @__PURE__ */
|
|
339
|
-
/* @__PURE__ */
|
|
340
|
-
/* @__PURE__ */
|
|
384
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex-1 p-6 space-y-4", children: [
|
|
385
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between", children: [
|
|
386
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-8 w-48 rounded-lg" }),
|
|
387
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-9 w-24 rounded-lg" })
|
|
341
388
|
] }),
|
|
342
|
-
/* @__PURE__ */
|
|
343
|
-
/* @__PURE__ */
|
|
344
|
-
/* @__PURE__ */
|
|
345
|
-
/* @__PURE__ */
|
|
346
|
-
/* @__PURE__ */
|
|
389
|
+
/* @__PURE__ */ jsxs3("div", { className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4", children: [
|
|
390
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-24 rounded-xl" }),
|
|
391
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-24 rounded-xl" }),
|
|
392
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-24 rounded-xl" }),
|
|
393
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-24 rounded-xl" })
|
|
347
394
|
] }),
|
|
348
|
-
/* @__PURE__ */
|
|
349
|
-
/* @__PURE__ */
|
|
350
|
-
/* @__PURE__ */
|
|
351
|
-
/* @__PURE__ */
|
|
352
|
-
/* @__PURE__ */
|
|
395
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-64 rounded-xl" }),
|
|
396
|
+
/* @__PURE__ */ jsxs3("div", { className: "space-y-2", children: [
|
|
397
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-10 w-full rounded-lg" }),
|
|
398
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-10 w-full rounded-lg" }),
|
|
399
|
+
/* @__PURE__ */ jsx3(Skeleton, { className: "h-10 w-full rounded-lg" })
|
|
353
400
|
] })
|
|
354
401
|
] })
|
|
355
402
|
] });
|
|
@@ -357,7 +404,7 @@ function DashboardLayoutSkeleton({ className }) {
|
|
|
357
404
|
|
|
358
405
|
// src/layout/SharedPageHeader.tsx
|
|
359
406
|
import { ChevronLeft } from "lucide-react";
|
|
360
|
-
import { jsx as
|
|
407
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
361
408
|
function SharedPageHeader({
|
|
362
409
|
title,
|
|
363
410
|
subtitle,
|
|
@@ -370,7 +417,7 @@ function SharedPageHeader({
|
|
|
370
417
|
className,
|
|
371
418
|
children
|
|
372
419
|
}) {
|
|
373
|
-
return /* @__PURE__ */
|
|
420
|
+
return /* @__PURE__ */ jsxs4(
|
|
374
421
|
"div",
|
|
375
422
|
{
|
|
376
423
|
className: cn(
|
|
@@ -380,10 +427,10 @@ function SharedPageHeader({
|
|
|
380
427
|
className
|
|
381
428
|
),
|
|
382
429
|
children: [
|
|
383
|
-
breadcrumbs && /* @__PURE__ */
|
|
384
|
-
/* @__PURE__ */
|
|
385
|
-
/* @__PURE__ */
|
|
386
|
-
onBack && /* @__PURE__ */
|
|
430
|
+
breadcrumbs && /* @__PURE__ */ jsx4("div", { className: cn("mb-2", compact && "mb-1"), children: breadcrumbs }),
|
|
431
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center justify-between gap-4", children: [
|
|
432
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
433
|
+
onBack && /* @__PURE__ */ jsx4(
|
|
387
434
|
"button",
|
|
388
435
|
{
|
|
389
436
|
onClick: onBack,
|
|
@@ -394,12 +441,12 @@ function SharedPageHeader({
|
|
|
394
441
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#8C34E9]"
|
|
395
442
|
),
|
|
396
443
|
"aria-label": "Go back",
|
|
397
|
-
children: /* @__PURE__ */
|
|
444
|
+
children: /* @__PURE__ */ jsx4(ChevronLeft, { className: compact ? "h-4 w-4" : "h-5 w-5" })
|
|
398
445
|
}
|
|
399
446
|
),
|
|
400
|
-
icon && /* @__PURE__ */
|
|
401
|
-
/* @__PURE__ */
|
|
402
|
-
/* @__PURE__ */
|
|
447
|
+
icon && /* @__PURE__ */ jsx4("div", { className: "shrink-0 text-[#8C34E9]", children: icon }),
|
|
448
|
+
/* @__PURE__ */ jsxs4("div", { className: "min-w-0", children: [
|
|
449
|
+
/* @__PURE__ */ jsx4(
|
|
403
450
|
"h1",
|
|
404
451
|
{
|
|
405
452
|
className: cn(
|
|
@@ -410,7 +457,7 @@ function SharedPageHeader({
|
|
|
410
457
|
children: title
|
|
411
458
|
}
|
|
412
459
|
),
|
|
413
|
-
subtitle && /* @__PURE__ */
|
|
460
|
+
subtitle && /* @__PURE__ */ jsx4(
|
|
414
461
|
"p",
|
|
415
462
|
{
|
|
416
463
|
className: cn(
|
|
@@ -423,16 +470,16 @@ function SharedPageHeader({
|
|
|
423
470
|
)
|
|
424
471
|
] })
|
|
425
472
|
] }),
|
|
426
|
-
actions && /* @__PURE__ */
|
|
473
|
+
actions && /* @__PURE__ */ jsx4("div", { className: "shrink-0 flex items-center gap-2", children: actions })
|
|
427
474
|
] }),
|
|
428
|
-
children && /* @__PURE__ */
|
|
475
|
+
children && /* @__PURE__ */ jsx4("div", { className: cn("mt-3", compact && "mt-2"), children })
|
|
429
476
|
]
|
|
430
477
|
}
|
|
431
478
|
);
|
|
432
479
|
}
|
|
433
480
|
|
|
434
481
|
// src/layout/SharedFooter.tsx
|
|
435
|
-
import { jsx as
|
|
482
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
436
483
|
var FOOTER_SERVICES = [
|
|
437
484
|
{ name: "SQDCP", slug: "sqdcp", localRoute: "/services/sqdcp", externalUrl: "https://sqdcp.oplytics.digital" },
|
|
438
485
|
{ name: "OEE Manager", slug: "oee-manager", localRoute: "/services/oee-manager", externalUrl: "https://oee.oplytics.digital" },
|
|
@@ -454,7 +501,7 @@ function SharedFooter({
|
|
|
454
501
|
year
|
|
455
502
|
}) {
|
|
456
503
|
const currentYear = year ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
457
|
-
return /* @__PURE__ */
|
|
504
|
+
return /* @__PURE__ */ jsx5(
|
|
458
505
|
"footer",
|
|
459
506
|
{
|
|
460
507
|
className: cn(
|
|
@@ -463,25 +510,25 @@ function SharedFooter({
|
|
|
463
510
|
"font-[Space_Grotesk,sans-serif]",
|
|
464
511
|
className
|
|
465
512
|
),
|
|
466
|
-
children: /* @__PURE__ */
|
|
467
|
-
/* @__PURE__ */
|
|
468
|
-
/* @__PURE__ */
|
|
469
|
-
/* @__PURE__ */
|
|
470
|
-
/* @__PURE__ */
|
|
513
|
+
children: /* @__PURE__ */ jsxs5("div", { className: "max-w-7xl mx-auto px-6 py-10", children: [
|
|
514
|
+
/* @__PURE__ */ jsxs5("div", { className: "grid grid-cols-1 md:grid-cols-4 gap-8 mb-8", children: [
|
|
515
|
+
/* @__PURE__ */ jsxs5("div", { className: "md:col-span-1", children: [
|
|
516
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
517
|
+
/* @__PURE__ */ jsx5(
|
|
471
518
|
"div",
|
|
472
519
|
{
|
|
473
520
|
className: "w-7 h-7 rounded-full flex items-center justify-center",
|
|
474
521
|
style: { background: "#8C34E9" },
|
|
475
|
-
children: /* @__PURE__ */
|
|
522
|
+
children: /* @__PURE__ */ jsx5("span", { className: "text-white font-bold text-xs", children: "O" })
|
|
476
523
|
}
|
|
477
524
|
),
|
|
478
|
-
/* @__PURE__ */
|
|
525
|
+
/* @__PURE__ */ jsx5("span", { className: "text-[#E2E8F0] font-semibold text-sm font-[Montserrat,sans-serif]", children: "Oplytics.digital" })
|
|
479
526
|
] }),
|
|
480
|
-
/* @__PURE__ */
|
|
527
|
+
/* @__PURE__ */ jsx5("p", { className: "text-xs text-[#596475] leading-relaxed", children: "Operational intelligence platform for manufacturing excellence." })
|
|
481
528
|
] }),
|
|
482
|
-
/* @__PURE__ */
|
|
483
|
-
/* @__PURE__ */
|
|
484
|
-
/* @__PURE__ */
|
|
529
|
+
/* @__PURE__ */ jsxs5("div", { children: [
|
|
530
|
+
/* @__PURE__ */ jsx5("h4", { className: "text-[#E2E8F0] font-medium text-xs uppercase tracking-wider mb-3 font-[Montserrat,sans-serif]", children: "Services" }),
|
|
531
|
+
/* @__PURE__ */ jsx5("ul", { className: "space-y-2", children: services.map((service) => /* @__PURE__ */ jsx5("li", { children: /* @__PURE__ */ jsx5(
|
|
485
532
|
"a",
|
|
486
533
|
{
|
|
487
534
|
href: useExternalUrls && service.externalUrl ? service.externalUrl : service.localRoute,
|
|
@@ -491,10 +538,10 @@ function SharedFooter({
|
|
|
491
538
|
}
|
|
492
539
|
) }, service.slug)) })
|
|
493
540
|
] }),
|
|
494
|
-
/* @__PURE__ */
|
|
495
|
-
/* @__PURE__ */
|
|
496
|
-
/* @__PURE__ */
|
|
497
|
-
showPricing && /* @__PURE__ */
|
|
541
|
+
/* @__PURE__ */ jsxs5("div", { children: [
|
|
542
|
+
/* @__PURE__ */ jsx5("h4", { className: "text-[#E2E8F0] font-medium text-xs uppercase tracking-wider mb-3 font-[Montserrat,sans-serif]", children: "Company" }),
|
|
543
|
+
/* @__PURE__ */ jsxs5("ul", { className: "space-y-2", children: [
|
|
544
|
+
showPricing && /* @__PURE__ */ jsx5("li", { children: /* @__PURE__ */ jsx5(
|
|
498
545
|
"a",
|
|
499
546
|
{
|
|
500
547
|
href: "/pricing",
|
|
@@ -503,7 +550,7 @@ function SharedFooter({
|
|
|
503
550
|
children: "Pricing"
|
|
504
551
|
}
|
|
505
552
|
) }),
|
|
506
|
-
/* @__PURE__ */
|
|
553
|
+
/* @__PURE__ */ jsx5("li", { children: /* @__PURE__ */ jsx5(
|
|
507
554
|
"a",
|
|
508
555
|
{
|
|
509
556
|
href: "/about",
|
|
@@ -511,7 +558,7 @@ function SharedFooter({
|
|
|
511
558
|
children: "About"
|
|
512
559
|
}
|
|
513
560
|
) }),
|
|
514
|
-
/* @__PURE__ */
|
|
561
|
+
/* @__PURE__ */ jsx5("li", { children: /* @__PURE__ */ jsx5(
|
|
515
562
|
"a",
|
|
516
563
|
{
|
|
517
564
|
href: "/contact",
|
|
@@ -521,10 +568,10 @@ function SharedFooter({
|
|
|
521
568
|
) })
|
|
522
569
|
] })
|
|
523
570
|
] }),
|
|
524
|
-
/* @__PURE__ */
|
|
525
|
-
/* @__PURE__ */
|
|
526
|
-
/* @__PURE__ */
|
|
527
|
-
/* @__PURE__ */
|
|
571
|
+
/* @__PURE__ */ jsxs5("div", { children: [
|
|
572
|
+
/* @__PURE__ */ jsx5("h4", { className: "text-[#E2E8F0] font-medium text-xs uppercase tracking-wider mb-3 font-[Montserrat,sans-serif]", children: "Legal" }),
|
|
573
|
+
/* @__PURE__ */ jsxs5("ul", { className: "space-y-2", children: [
|
|
574
|
+
/* @__PURE__ */ jsx5("li", { children: /* @__PURE__ */ jsx5(
|
|
528
575
|
"a",
|
|
529
576
|
{
|
|
530
577
|
href: "/privacy",
|
|
@@ -532,7 +579,7 @@ function SharedFooter({
|
|
|
532
579
|
children: "Privacy Policy"
|
|
533
580
|
}
|
|
534
581
|
) }),
|
|
535
|
-
/* @__PURE__ */
|
|
582
|
+
/* @__PURE__ */ jsx5("li", { children: /* @__PURE__ */ jsx5(
|
|
536
583
|
"a",
|
|
537
584
|
{
|
|
538
585
|
href: "/terms",
|
|
@@ -541,7 +588,7 @@ function SharedFooter({
|
|
|
541
588
|
}
|
|
542
589
|
) })
|
|
543
590
|
] }),
|
|
544
|
-
showSignIn && /* @__PURE__ */
|
|
591
|
+
showSignIn && /* @__PURE__ */ jsx5("div", { className: "mt-4", children: /* @__PURE__ */ jsx5(
|
|
545
592
|
"a",
|
|
546
593
|
{
|
|
547
594
|
href: "/login",
|
|
@@ -553,14 +600,14 @@ function SharedFooter({
|
|
|
553
600
|
] })
|
|
554
601
|
] }),
|
|
555
602
|
children,
|
|
556
|
-
/* @__PURE__ */
|
|
557
|
-
/* @__PURE__ */
|
|
603
|
+
/* @__PURE__ */ jsxs5("div", { className: "pt-6 border-t border-[#1E2738] flex flex-col sm:flex-row items-center justify-between gap-3", children: [
|
|
604
|
+
/* @__PURE__ */ jsxs5("p", { className: "text-xs text-[#596475]", children: [
|
|
558
605
|
"\xA9 ",
|
|
559
606
|
currentYear,
|
|
560
607
|
" Oplytics.digital. All rights reserved."
|
|
561
608
|
] }),
|
|
562
|
-
/* @__PURE__ */
|
|
563
|
-
typeof __APP_VERSION__ !== "undefined" && /* @__PURE__ */
|
|
609
|
+
/* @__PURE__ */ jsx5("p", { className: "text-xs text-[#3E4A5C]", children: "Built for manufacturing excellence" }),
|
|
610
|
+
typeof __APP_VERSION__ !== "undefined" && /* @__PURE__ */ jsxs5("p", { className: "text-xs text-[#3E4A5C]", children: [
|
|
564
611
|
"Platform v",
|
|
565
612
|
__APP_VERSION__
|
|
566
613
|
] })
|
|
@@ -571,7 +618,7 @@ function SharedFooter({
|
|
|
571
618
|
}
|
|
572
619
|
|
|
573
620
|
// src/layout/ServiceFooter.tsx
|
|
574
|
-
import { Fragment as Fragment2, jsx as
|
|
621
|
+
import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
575
622
|
var ENV_LABELS = {
|
|
576
623
|
production: { label: "prod", color: "#10b981" },
|
|
577
624
|
staging: { label: "stg", color: "#f59e0b" },
|
|
@@ -590,7 +637,7 @@ function ServiceFooter({
|
|
|
590
637
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
591
638
|
const env = environment ? ENV_LABELS[environment] : null;
|
|
592
639
|
const version = buildVersion ?? (typeof __APP_VERSION__ !== "undefined" ? __APP_VERSION__ : void 0);
|
|
593
|
-
return /* @__PURE__ */
|
|
640
|
+
return /* @__PURE__ */ jsxs6(
|
|
594
641
|
"footer",
|
|
595
642
|
{
|
|
596
643
|
className: cn(
|
|
@@ -601,60 +648,60 @@ function ServiceFooter({
|
|
|
601
648
|
className
|
|
602
649
|
),
|
|
603
650
|
children: [
|
|
604
|
-
/* @__PURE__ */
|
|
605
|
-
/* @__PURE__ */
|
|
651
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
652
|
+
/* @__PURE__ */ jsx6(
|
|
606
653
|
"div",
|
|
607
654
|
{
|
|
608
655
|
className: "w-5 h-5 rounded-full flex items-center justify-center shrink-0",
|
|
609
656
|
style: { background: "#8C34E9" },
|
|
610
|
-
children: /* @__PURE__ */
|
|
657
|
+
children: /* @__PURE__ */ jsx6("span", { className: "text-white font-bold", style: { fontSize: 9 }, children: "O" })
|
|
611
658
|
}
|
|
612
659
|
),
|
|
613
|
-
/* @__PURE__ */
|
|
660
|
+
/* @__PURE__ */ jsx6("span", { className: "text-[10px] text-[#596475] whitespace-nowrap hidden sm:inline", children: "Operational Excellence. One Digital Platform." })
|
|
614
661
|
] }),
|
|
615
|
-
showHealthMonitor && /* @__PURE__ */
|
|
616
|
-
enterpriseName && /* @__PURE__ */
|
|
617
|
-
/* @__PURE__ */
|
|
618
|
-
/* @__PURE__ */
|
|
619
|
-
enterpriseId != null && /* @__PURE__ */
|
|
662
|
+
showHealthMonitor && /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-1.5 text-[10px] text-[#3E4A5C] min-w-0 overflow-hidden", children: [
|
|
663
|
+
enterpriseName && /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
664
|
+
/* @__PURE__ */ jsxs6("span", { className: "whitespace-nowrap", children: [
|
|
665
|
+
/* @__PURE__ */ jsx6("span", { className: "text-[#596475]", children: enterpriseName }),
|
|
666
|
+
enterpriseId != null && /* @__PURE__ */ jsxs6("span", { className: "text-[#3E4A5C]", children: [
|
|
620
667
|
" (",
|
|
621
668
|
enterpriseId,
|
|
622
669
|
")"
|
|
623
670
|
] })
|
|
624
671
|
] }),
|
|
625
|
-
/* @__PURE__ */
|
|
672
|
+
/* @__PURE__ */ jsx6(Separator, {})
|
|
626
673
|
] }),
|
|
627
|
-
userEmail && /* @__PURE__ */
|
|
628
|
-
/* @__PURE__ */
|
|
629
|
-
userRole && /* @__PURE__ */
|
|
674
|
+
userEmail && /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
675
|
+
/* @__PURE__ */ jsx6("span", { className: "whitespace-nowrap text-[#596475]", children: userEmail }),
|
|
676
|
+
userRole && /* @__PURE__ */ jsxs6("span", { className: "text-[#3E4A5C]", children: [
|
|
630
677
|
" (",
|
|
631
678
|
userRole,
|
|
632
679
|
")"
|
|
633
680
|
] }),
|
|
634
|
-
/* @__PURE__ */
|
|
681
|
+
/* @__PURE__ */ jsx6(Separator, {})
|
|
635
682
|
] }),
|
|
636
|
-
env && /* @__PURE__ */
|
|
637
|
-
/* @__PURE__ */
|
|
683
|
+
env && /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
684
|
+
/* @__PURE__ */ jsxs6("span", { className: "whitespace-nowrap", children: [
|
|
638
685
|
"ENV:",
|
|
639
686
|
" ",
|
|
640
|
-
/* @__PURE__ */
|
|
687
|
+
/* @__PURE__ */ jsx6("span", { style: { color: env.color }, className: "font-semibold", children: env.label })
|
|
641
688
|
] }),
|
|
642
|
-
/* @__PURE__ */
|
|
689
|
+
/* @__PURE__ */ jsx6(Separator, {})
|
|
643
690
|
] }),
|
|
644
|
-
version && /* @__PURE__ */
|
|
691
|
+
version && /* @__PURE__ */ jsxs6("span", { className: "whitespace-nowrap text-[#3E4A5C] font-mono", children: [
|
|
645
692
|
"v.",
|
|
646
693
|
version
|
|
647
694
|
] })
|
|
648
695
|
] }),
|
|
649
|
-
/* @__PURE__ */
|
|
650
|
-
/* @__PURE__ */
|
|
696
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2 text-[10px] text-[#3E4A5C] whitespace-nowrap shrink-0", children: [
|
|
697
|
+
/* @__PURE__ */ jsxs6("span", { children: [
|
|
651
698
|
"\xA9 ",
|
|
652
699
|
currentYear,
|
|
653
700
|
" Oplytics.digital"
|
|
654
701
|
] }),
|
|
655
|
-
!showHealthMonitor && version && /* @__PURE__ */
|
|
656
|
-
/* @__PURE__ */
|
|
657
|
-
/* @__PURE__ */
|
|
702
|
+
!showHealthMonitor && version && /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
703
|
+
/* @__PURE__ */ jsx6(Separator, {}),
|
|
704
|
+
/* @__PURE__ */ jsxs6("span", { className: "font-mono", children: [
|
|
658
705
|
"v.",
|
|
659
706
|
version
|
|
660
707
|
] })
|
|
@@ -665,7 +712,7 @@ function ServiceFooter({
|
|
|
665
712
|
);
|
|
666
713
|
}
|
|
667
714
|
function Separator() {
|
|
668
|
-
return /* @__PURE__ */
|
|
715
|
+
return /* @__PURE__ */ jsx6("span", { className: "text-[#1E2738] select-none", "aria-hidden": true, children: "|" });
|
|
669
716
|
}
|
|
670
717
|
|
|
671
718
|
// src/layout/createServiceLayout.tsx
|
|
@@ -833,6 +880,7 @@ export {
|
|
|
833
880
|
getInitials,
|
|
834
881
|
isMenuItemActive,
|
|
835
882
|
useSidebarResize,
|
|
883
|
+
HealthFooter,
|
|
836
884
|
DashboardLayout,
|
|
837
885
|
DashboardLayoutSkeleton,
|
|
838
886
|
SharedPageHeader,
|
|
@@ -847,4 +895,4 @@ export {
|
|
|
847
895
|
policyDeploymentConfig,
|
|
848
896
|
SERVICE_CONFIGS
|
|
849
897
|
};
|
|
850
|
-
//# sourceMappingURL=chunk-
|
|
898
|
+
//# sourceMappingURL=chunk-PHZHX3MF.js.map
|