@elevasis/ui 1.3.7 → 1.5.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/{CoreAuthKitInner-3J4RVQO6.js → CoreAuthKitInner-Y6LQYIPX.js} +1 -0
- package/dist/api/index.js +1 -0
- package/dist/auth/context.js +1 -0
- package/dist/auth/index.js +1 -0
- package/dist/charts/index.d.ts +96 -0
- package/dist/charts/index.js +384 -0
- package/dist/chunk-54S7KNJV.js +112 -0
- package/dist/{chunk-6IX5JZEH.js → chunk-G4TAF3T6.js} +166 -1
- package/dist/{chunk-Y2I5JJ3N.js → chunk-K3YVC5RW.js} +2 -2
- package/dist/chunk-KB5NKPTN.js +1455 -0
- package/dist/chunk-MLKGABMK.js +7 -0
- package/dist/{chunk-GIFAF5ZS.js → chunk-MS45MNFM.js} +6 -1
- package/dist/chunk-R56VC63S.js +129 -0
- package/dist/chunk-TYV5NJV2.js +1 -0
- package/dist/{chunk-JQLT6HBI.js → chunk-YJFTZUJJ.js} +22 -2
- package/dist/components/index.css +486 -0
- package/dist/components/index.d.ts +2047 -1
- package/dist/components/index.js +3350 -0
- package/dist/components/navigation/index.js +1 -0
- package/dist/execution/index.d.ts +15 -3
- package/dist/execution/index.js +2 -1
- package/dist/graph/index.js +2 -1
- package/dist/hooks/index.d.ts +270 -0
- package/dist/hooks/index.js +3 -2
- package/dist/hooks/published.d.ts +546 -2
- package/dist/hooks/published.js +3 -2
- package/dist/index.css +62 -0
- package/dist/index.d.ts +351 -4
- package/dist/index.js +12 -1038
- package/dist/initialization/index.d.ts +270 -0
- package/dist/initialization/index.js +1 -0
- package/dist/layout/index.css +44 -0
- package/dist/layout/index.d.ts +330 -0
- package/dist/layout/index.js +1440 -0
- package/dist/organization/index.js +1 -0
- package/dist/profile/index.d.ts +270 -0
- package/dist/profile/index.js +1 -0
- package/dist/provider/index.css +61 -0
- package/dist/provider/index.d.ts +54 -2
- package/dist/provider/index.js +5 -3
- package/dist/provider/published.d.ts +6 -0
- package/dist/provider/published.js +3 -2
- package/dist/router/context.js +1 -0
- package/dist/router/index.js +1 -0
- package/dist/sse/index.js +1 -1
- package/dist/supabase/index.d.ts +525 -0
- package/dist/supabase/index.js +1 -0
- package/dist/theme/index.d.ts +107 -0
- package/dist/theme/index.js +3 -0
- package/dist/typeform/index.js +1 -0
- package/dist/typeform/schemas.js +1 -0
- package/dist/types/index.d.ts +3664 -354
- package/dist/utils/index.js +1 -0
- package/package.json +64 -3
- package/dist/chunk-XXDDMASA.js +0 -170
- /package/dist/{chunk-BUZONXAW.js → chunk-ARQRKA6J.js} +0 -0
|
@@ -1144,6 +1144,276 @@ type Database = {
|
|
|
1144
1144
|
}
|
|
1145
1145
|
];
|
|
1146
1146
|
};
|
|
1147
|
+
delivery_deliverables: {
|
|
1148
|
+
Row: {
|
|
1149
|
+
completed_at: string | null;
|
|
1150
|
+
created_at: string;
|
|
1151
|
+
description: string | null;
|
|
1152
|
+
due_date: string | null;
|
|
1153
|
+
engagement_id: string;
|
|
1154
|
+
file_url: string | null;
|
|
1155
|
+
id: string;
|
|
1156
|
+
metadata: Json | null;
|
|
1157
|
+
milestone_id: string | null;
|
|
1158
|
+
name: string;
|
|
1159
|
+
organization_id: string;
|
|
1160
|
+
status: string;
|
|
1161
|
+
type: string;
|
|
1162
|
+
updated_at: string;
|
|
1163
|
+
};
|
|
1164
|
+
Insert: {
|
|
1165
|
+
completed_at?: string | null;
|
|
1166
|
+
created_at?: string;
|
|
1167
|
+
description?: string | null;
|
|
1168
|
+
due_date?: string | null;
|
|
1169
|
+
engagement_id: string;
|
|
1170
|
+
file_url?: string | null;
|
|
1171
|
+
id?: string;
|
|
1172
|
+
metadata?: Json | null;
|
|
1173
|
+
milestone_id?: string | null;
|
|
1174
|
+
name: string;
|
|
1175
|
+
organization_id: string;
|
|
1176
|
+
status?: string;
|
|
1177
|
+
type?: string;
|
|
1178
|
+
updated_at?: string;
|
|
1179
|
+
};
|
|
1180
|
+
Update: {
|
|
1181
|
+
completed_at?: string | null;
|
|
1182
|
+
created_at?: string;
|
|
1183
|
+
description?: string | null;
|
|
1184
|
+
due_date?: string | null;
|
|
1185
|
+
engagement_id?: string;
|
|
1186
|
+
file_url?: string | null;
|
|
1187
|
+
id?: string;
|
|
1188
|
+
metadata?: Json | null;
|
|
1189
|
+
milestone_id?: string | null;
|
|
1190
|
+
name?: string;
|
|
1191
|
+
organization_id?: string;
|
|
1192
|
+
status?: string;
|
|
1193
|
+
type?: string;
|
|
1194
|
+
updated_at?: string;
|
|
1195
|
+
};
|
|
1196
|
+
Relationships: [
|
|
1197
|
+
{
|
|
1198
|
+
foreignKeyName: "delivery_deliverables_engagement_id_fkey";
|
|
1199
|
+
columns: ["engagement_id"];
|
|
1200
|
+
isOneToOne: false;
|
|
1201
|
+
referencedRelation: "delivery_engagements";
|
|
1202
|
+
referencedColumns: ["id"];
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
foreignKeyName: "delivery_deliverables_milestone_id_fkey";
|
|
1206
|
+
columns: ["milestone_id"];
|
|
1207
|
+
isOneToOne: false;
|
|
1208
|
+
referencedRelation: "delivery_milestones";
|
|
1209
|
+
referencedColumns: ["id"];
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
foreignKeyName: "delivery_deliverables_organization_id_fkey";
|
|
1213
|
+
columns: ["organization_id"];
|
|
1214
|
+
isOneToOne: false;
|
|
1215
|
+
referencedRelation: "organizations";
|
|
1216
|
+
referencedColumns: ["id"];
|
|
1217
|
+
}
|
|
1218
|
+
];
|
|
1219
|
+
};
|
|
1220
|
+
delivery_engagements: {
|
|
1221
|
+
Row: {
|
|
1222
|
+
actual_end_date: string | null;
|
|
1223
|
+
client_company_id: string | null;
|
|
1224
|
+
contract_value: number | null;
|
|
1225
|
+
created_at: string;
|
|
1226
|
+
deal_id: string | null;
|
|
1227
|
+
description: string | null;
|
|
1228
|
+
id: string;
|
|
1229
|
+
metadata: Json | null;
|
|
1230
|
+
name: string;
|
|
1231
|
+
organization_id: string;
|
|
1232
|
+
start_date: string | null;
|
|
1233
|
+
status: string;
|
|
1234
|
+
target_end_date: string | null;
|
|
1235
|
+
updated_at: string;
|
|
1236
|
+
};
|
|
1237
|
+
Insert: {
|
|
1238
|
+
actual_end_date?: string | null;
|
|
1239
|
+
client_company_id?: string | null;
|
|
1240
|
+
contract_value?: number | null;
|
|
1241
|
+
created_at?: string;
|
|
1242
|
+
deal_id?: string | null;
|
|
1243
|
+
description?: string | null;
|
|
1244
|
+
id?: string;
|
|
1245
|
+
metadata?: Json | null;
|
|
1246
|
+
name: string;
|
|
1247
|
+
organization_id: string;
|
|
1248
|
+
start_date?: string | null;
|
|
1249
|
+
status?: string;
|
|
1250
|
+
target_end_date?: string | null;
|
|
1251
|
+
updated_at?: string;
|
|
1252
|
+
};
|
|
1253
|
+
Update: {
|
|
1254
|
+
actual_end_date?: string | null;
|
|
1255
|
+
client_company_id?: string | null;
|
|
1256
|
+
contract_value?: number | null;
|
|
1257
|
+
created_at?: string;
|
|
1258
|
+
deal_id?: string | null;
|
|
1259
|
+
description?: string | null;
|
|
1260
|
+
id?: string;
|
|
1261
|
+
metadata?: Json | null;
|
|
1262
|
+
name?: string;
|
|
1263
|
+
organization_id?: string;
|
|
1264
|
+
start_date?: string | null;
|
|
1265
|
+
status?: string;
|
|
1266
|
+
target_end_date?: string | null;
|
|
1267
|
+
updated_at?: string;
|
|
1268
|
+
};
|
|
1269
|
+
Relationships: [
|
|
1270
|
+
{
|
|
1271
|
+
foreignKeyName: "delivery_engagements_client_company_id_fkey";
|
|
1272
|
+
columns: ["client_company_id"];
|
|
1273
|
+
isOneToOne: false;
|
|
1274
|
+
referencedRelation: "acq_companies";
|
|
1275
|
+
referencedColumns: ["id"];
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
foreignKeyName: "delivery_engagements_deal_id_fkey";
|
|
1279
|
+
columns: ["deal_id"];
|
|
1280
|
+
isOneToOne: false;
|
|
1281
|
+
referencedRelation: "acq_deals";
|
|
1282
|
+
referencedColumns: ["id"];
|
|
1283
|
+
},
|
|
1284
|
+
{
|
|
1285
|
+
foreignKeyName: "delivery_engagements_organization_id_fkey";
|
|
1286
|
+
columns: ["organization_id"];
|
|
1287
|
+
isOneToOne: false;
|
|
1288
|
+
referencedRelation: "organizations";
|
|
1289
|
+
referencedColumns: ["id"];
|
|
1290
|
+
}
|
|
1291
|
+
];
|
|
1292
|
+
};
|
|
1293
|
+
delivery_milestones: {
|
|
1294
|
+
Row: {
|
|
1295
|
+
checklist: Json | null;
|
|
1296
|
+
completed_at: string | null;
|
|
1297
|
+
created_at: string;
|
|
1298
|
+
description: string | null;
|
|
1299
|
+
due_date: string | null;
|
|
1300
|
+
engagement_id: string;
|
|
1301
|
+
id: string;
|
|
1302
|
+
metadata: Json | null;
|
|
1303
|
+
name: string;
|
|
1304
|
+
organization_id: string;
|
|
1305
|
+
sequence: number;
|
|
1306
|
+
status: string;
|
|
1307
|
+
updated_at: string;
|
|
1308
|
+
};
|
|
1309
|
+
Insert: {
|
|
1310
|
+
checklist?: Json | null;
|
|
1311
|
+
completed_at?: string | null;
|
|
1312
|
+
created_at?: string;
|
|
1313
|
+
description?: string | null;
|
|
1314
|
+
due_date?: string | null;
|
|
1315
|
+
engagement_id: string;
|
|
1316
|
+
id?: string;
|
|
1317
|
+
metadata?: Json | null;
|
|
1318
|
+
name: string;
|
|
1319
|
+
organization_id: string;
|
|
1320
|
+
sequence?: number;
|
|
1321
|
+
status?: string;
|
|
1322
|
+
updated_at?: string;
|
|
1323
|
+
};
|
|
1324
|
+
Update: {
|
|
1325
|
+
checklist?: Json | null;
|
|
1326
|
+
completed_at?: string | null;
|
|
1327
|
+
created_at?: string;
|
|
1328
|
+
description?: string | null;
|
|
1329
|
+
due_date?: string | null;
|
|
1330
|
+
engagement_id?: string;
|
|
1331
|
+
id?: string;
|
|
1332
|
+
metadata?: Json | null;
|
|
1333
|
+
name?: string;
|
|
1334
|
+
organization_id?: string;
|
|
1335
|
+
sequence?: number;
|
|
1336
|
+
status?: string;
|
|
1337
|
+
updated_at?: string;
|
|
1338
|
+
};
|
|
1339
|
+
Relationships: [
|
|
1340
|
+
{
|
|
1341
|
+
foreignKeyName: "delivery_milestones_engagement_id_fkey";
|
|
1342
|
+
columns: ["engagement_id"];
|
|
1343
|
+
isOneToOne: false;
|
|
1344
|
+
referencedRelation: "delivery_engagements";
|
|
1345
|
+
referencedColumns: ["id"];
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
foreignKeyName: "delivery_milestones_organization_id_fkey";
|
|
1349
|
+
columns: ["organization_id"];
|
|
1350
|
+
isOneToOne: false;
|
|
1351
|
+
referencedRelation: "organizations";
|
|
1352
|
+
referencedColumns: ["id"];
|
|
1353
|
+
}
|
|
1354
|
+
];
|
|
1355
|
+
};
|
|
1356
|
+
delivery_notes: {
|
|
1357
|
+
Row: {
|
|
1358
|
+
content: string;
|
|
1359
|
+
created_at: string;
|
|
1360
|
+
created_by: string | null;
|
|
1361
|
+
engagement_id: string;
|
|
1362
|
+
id: string;
|
|
1363
|
+
metadata: Json | null;
|
|
1364
|
+
occurred_at: string;
|
|
1365
|
+
organization_id: string;
|
|
1366
|
+
summary: string | null;
|
|
1367
|
+
type: string;
|
|
1368
|
+
};
|
|
1369
|
+
Insert: {
|
|
1370
|
+
content: string;
|
|
1371
|
+
created_at?: string;
|
|
1372
|
+
created_by?: string | null;
|
|
1373
|
+
engagement_id: string;
|
|
1374
|
+
id?: string;
|
|
1375
|
+
metadata?: Json | null;
|
|
1376
|
+
occurred_at?: string;
|
|
1377
|
+
organization_id: string;
|
|
1378
|
+
summary?: string | null;
|
|
1379
|
+
type?: string;
|
|
1380
|
+
};
|
|
1381
|
+
Update: {
|
|
1382
|
+
content?: string;
|
|
1383
|
+
created_at?: string;
|
|
1384
|
+
created_by?: string | null;
|
|
1385
|
+
engagement_id?: string;
|
|
1386
|
+
id?: string;
|
|
1387
|
+
metadata?: Json | null;
|
|
1388
|
+
occurred_at?: string;
|
|
1389
|
+
organization_id?: string;
|
|
1390
|
+
summary?: string | null;
|
|
1391
|
+
type?: string;
|
|
1392
|
+
};
|
|
1393
|
+
Relationships: [
|
|
1394
|
+
{
|
|
1395
|
+
foreignKeyName: "delivery_notes_created_by_fkey";
|
|
1396
|
+
columns: ["created_by"];
|
|
1397
|
+
isOneToOne: false;
|
|
1398
|
+
referencedRelation: "users";
|
|
1399
|
+
referencedColumns: ["id"];
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
foreignKeyName: "delivery_notes_engagement_id_fkey";
|
|
1403
|
+
columns: ["engagement_id"];
|
|
1404
|
+
isOneToOne: false;
|
|
1405
|
+
referencedRelation: "delivery_engagements";
|
|
1406
|
+
referencedColumns: ["id"];
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
foreignKeyName: "delivery_notes_organization_id_fkey";
|
|
1410
|
+
columns: ["organization_id"];
|
|
1411
|
+
isOneToOne: false;
|
|
1412
|
+
referencedRelation: "organizations";
|
|
1413
|
+
referencedColumns: ["id"];
|
|
1414
|
+
}
|
|
1415
|
+
];
|
|
1416
|
+
};
|
|
1147
1417
|
deployments: {
|
|
1148
1418
|
Row: {
|
|
1149
1419
|
compiled_docs: Json | null;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* src/components/display/ElevasisLoader.module.css */
|
|
2
|
+
.wrapper {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
width: var(--loader-size);
|
|
7
|
+
height: var(--loader-size);
|
|
8
|
+
overflow: visible;
|
|
9
|
+
}
|
|
10
|
+
.loader {
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 100%;
|
|
13
|
+
display: block;
|
|
14
|
+
overflow: visible;
|
|
15
|
+
}
|
|
16
|
+
.chevron {
|
|
17
|
+
stroke: var(--loader-color);
|
|
18
|
+
stroke-width: 2;
|
|
19
|
+
stroke-linecap: square;
|
|
20
|
+
stroke-linejoin: miter;
|
|
21
|
+
fill: none;
|
|
22
|
+
opacity: 0.15;
|
|
23
|
+
animation: chevronPulse 2s ease-in-out infinite;
|
|
24
|
+
filter: drop-shadow(0 0 1.5px var(--loader-color));
|
|
25
|
+
}
|
|
26
|
+
.c1 {
|
|
27
|
+
animation-delay: 0s;
|
|
28
|
+
}
|
|
29
|
+
.c2 {
|
|
30
|
+
animation-delay: 0.2s;
|
|
31
|
+
}
|
|
32
|
+
.c3 {
|
|
33
|
+
animation-delay: 0.4s;
|
|
34
|
+
}
|
|
35
|
+
@keyframes chevronPulse {
|
|
36
|
+
0%, 100% {
|
|
37
|
+
opacity: 0.12;
|
|
38
|
+
filter: drop-shadow(0 0 1px var(--loader-color));
|
|
39
|
+
}
|
|
40
|
+
40%, 60% {
|
|
41
|
+
opacity: 1;
|
|
42
|
+
filter: drop-shadow(0 0 3px var(--loader-color));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import React$1, { ReactNode, ComponentType } from 'react';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
declare const sidebarWidth = 240;
|
|
5
|
+
declare const sidebarCollapsedWidth = 72;
|
|
6
|
+
declare const sidebarTransitionDuration = 200;
|
|
7
|
+
declare const sidebarHoverDelay = 100;
|
|
8
|
+
declare const topbarHeight = 54;
|
|
9
|
+
|
|
10
|
+
interface FilmGrainProps {
|
|
11
|
+
/** Opacity in dark mode (0-1). Defaults to 0.04. */
|
|
12
|
+
darkOpacity?: number;
|
|
13
|
+
/** Opacity in light mode (0-1). Defaults to 0.06. */
|
|
14
|
+
lightOpacity?: number;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Subtle animated film grain overlay using SVG feTurbulence.
|
|
19
|
+
* Adapts opacity for light/dark mode automatically.
|
|
20
|
+
* Designed to layer on top of other background effects.
|
|
21
|
+
*/
|
|
22
|
+
declare function FilmGrain({ darkOpacity, lightOpacity, className }: FilmGrainProps): React$1.JSX.Element;
|
|
23
|
+
|
|
24
|
+
interface FloatingOrbsProps {
|
|
25
|
+
/** Override the orb color. Defaults to var(--color-primary). */
|
|
26
|
+
color?: string;
|
|
27
|
+
/** Number of orbs to render. Defaults to 6. */
|
|
28
|
+
count?: number;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Soft, out-of-focus floating orbs using the primary color.
|
|
33
|
+
* Creates a cinematic bokeh / light-leak effect behind content.
|
|
34
|
+
*/
|
|
35
|
+
declare function FloatingOrbs({ color, count, className }: FloatingOrbsProps): React$1.JSX.Element;
|
|
36
|
+
|
|
37
|
+
interface PerspectiveGridProps {
|
|
38
|
+
glowColor?: string;
|
|
39
|
+
className?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 3D perspective grid background using CSS transforms
|
|
43
|
+
*/
|
|
44
|
+
declare function PerspectiveGrid({ glowColor, className }: PerspectiveGridProps): React$1.JSX.Element;
|
|
45
|
+
|
|
46
|
+
interface RadiantGlowProps {
|
|
47
|
+
/** Override the glow color. Defaults to var(--color-primary). */
|
|
48
|
+
color?: string;
|
|
49
|
+
/** Overall opacity multiplier (0-1). Defaults to 1. */
|
|
50
|
+
opacity?: number;
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Ambient primary-colored radiant glow background.
|
|
55
|
+
* Renders soft, slowly drifting radial gradients using the active theme's primary color.
|
|
56
|
+
* Designed to sit alongside PerspectiveGrid at the same z-level.
|
|
57
|
+
*/
|
|
58
|
+
declare function RadiantGlow({ color, opacity, className }: RadiantGlowProps): React$1.JSX.Element;
|
|
59
|
+
|
|
60
|
+
interface VignetteProps {
|
|
61
|
+
/** How far the darkening extends inward (0-1). Defaults to 0.35. */
|
|
62
|
+
strength?: number;
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Radial vignette overlay — darkens the edges of the viewport
|
|
67
|
+
* to draw focus toward the center content.
|
|
68
|
+
*/
|
|
69
|
+
declare function Vignette({ strength, className }: VignetteProps): React$1.JSX.Element;
|
|
70
|
+
|
|
71
|
+
declare const AppShellContainer: ({ children }: {
|
|
72
|
+
children: React.ReactNode;
|
|
73
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
74
|
+
declare const AppShellRightSideContainer: ({ children }: {
|
|
75
|
+
children: React.ReactNode;
|
|
76
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
77
|
+
interface AppShellContentContainerProps {
|
|
78
|
+
children: React.ReactNode;
|
|
79
|
+
}
|
|
80
|
+
declare const AppShellRightSideOuterContainer: ({ children }: AppShellContentContainerProps) => react_jsx_runtime.JSX.Element;
|
|
81
|
+
declare const AppShellContentContainer: ({ children }: AppShellContentContainerProps) => react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
interface PageContainerProps {
|
|
84
|
+
children: React.ReactNode;
|
|
85
|
+
}
|
|
86
|
+
declare const PageContainer: ({ children }: PageContainerProps) => react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
interface AppTopbarAdjusterWrapperProps {
|
|
89
|
+
children: React.ReactNode;
|
|
90
|
+
}
|
|
91
|
+
declare const AppTopbarAdjusterWrapper: ({ children }: AppTopbarAdjusterWrapperProps) => react_jsx_runtime.JSX.Element;
|
|
92
|
+
|
|
93
|
+
declare const AppShellCenteredContainer: ({ children }: {
|
|
94
|
+
children: React.ReactNode;
|
|
95
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
96
|
+
declare const AppShellLoader: () => react_jsx_runtime.JSX.Element;
|
|
97
|
+
declare const AppShellError: ({ message, retry }: {
|
|
98
|
+
message: string;
|
|
99
|
+
retry?: () => void;
|
|
100
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
101
|
+
|
|
102
|
+
interface LinkItem {
|
|
103
|
+
label: string;
|
|
104
|
+
link: string;
|
|
105
|
+
onClick?: () => void;
|
|
106
|
+
}
|
|
107
|
+
interface LinksGroupProps {
|
|
108
|
+
icon: React$1.ComponentType<{
|
|
109
|
+
size?: number;
|
|
110
|
+
stroke?: number;
|
|
111
|
+
}>;
|
|
112
|
+
label: string;
|
|
113
|
+
initiallyOpened?: boolean;
|
|
114
|
+
links?: LinkItem[];
|
|
115
|
+
link?: string;
|
|
116
|
+
onClick?: () => void;
|
|
117
|
+
currentPath?: string;
|
|
118
|
+
opened?: boolean;
|
|
119
|
+
onToggle?: () => void;
|
|
120
|
+
/** Optional tour target ID for onboarding highlights */
|
|
121
|
+
dataOnboardingTourId?: string;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
declare const LinksGroup: React$1.FC<LinksGroupProps>;
|
|
125
|
+
|
|
126
|
+
interface SidebarNestedProps {
|
|
127
|
+
links: LinksGroupProps[];
|
|
128
|
+
user?: {
|
|
129
|
+
firstName: string | null;
|
|
130
|
+
lastName: string | null;
|
|
131
|
+
email: string;
|
|
132
|
+
profilePictureUrl?: string | null;
|
|
133
|
+
};
|
|
134
|
+
onLogout?: () => void;
|
|
135
|
+
className?: string;
|
|
136
|
+
logo?: string;
|
|
137
|
+
}
|
|
138
|
+
declare const Sidebar: React$1.FC<SidebarNestedProps>;
|
|
139
|
+
|
|
140
|
+
interface SidebarContextType {
|
|
141
|
+
expandedGroups: Record<string, boolean>;
|
|
142
|
+
toggleGroup: (groupLabel: string) => void;
|
|
143
|
+
initializeGroups: (groups: Array<{
|
|
144
|
+
label: string;
|
|
145
|
+
initiallyOpened?: boolean;
|
|
146
|
+
}>) => void;
|
|
147
|
+
isCollapsed: boolean;
|
|
148
|
+
toggleCollapsed: () => void;
|
|
149
|
+
setCollapsed: (value: boolean) => void;
|
|
150
|
+
}
|
|
151
|
+
interface SidebarProviderProps {
|
|
152
|
+
children: ReactNode;
|
|
153
|
+
}
|
|
154
|
+
declare const SidebarProvider: React$1.FC<SidebarProviderProps>;
|
|
155
|
+
declare const useSidebar: () => SidebarContextType;
|
|
156
|
+
|
|
157
|
+
declare const useSidebarCollapse: () => {
|
|
158
|
+
isCollapsed: boolean;
|
|
159
|
+
toggleCollapsed: () => void;
|
|
160
|
+
setCollapsed: (value: boolean) => void;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
interface CollapsibleSidebarGroupProps {
|
|
164
|
+
/** Icon component to display */
|
|
165
|
+
icon: ComponentType<{
|
|
166
|
+
size?: number;
|
|
167
|
+
color?: string;
|
|
168
|
+
}>;
|
|
169
|
+
/** Group label text */
|
|
170
|
+
label: string;
|
|
171
|
+
/** Whether the group is expanded */
|
|
172
|
+
isExpanded: boolean;
|
|
173
|
+
/** Callback when toggle is clicked */
|
|
174
|
+
onToggle: () => void;
|
|
175
|
+
/** Whether this group has an active child (used when collapsed) */
|
|
176
|
+
isActive?: boolean;
|
|
177
|
+
/** Optional badge content (right side) */
|
|
178
|
+
badge?: ReactNode;
|
|
179
|
+
/** Children to render when expanded */
|
|
180
|
+
children: ReactNode;
|
|
181
|
+
/** Optional click handler for the label/icon (separate from toggle) */
|
|
182
|
+
onLabelClick?: () => void;
|
|
183
|
+
/** Empty state message when no children */
|
|
184
|
+
emptyMessage?: string;
|
|
185
|
+
/** Whether children list is empty */
|
|
186
|
+
isEmpty?: boolean;
|
|
187
|
+
/** Whether loading */
|
|
188
|
+
isLoading?: boolean;
|
|
189
|
+
/** Loading component to render */
|
|
190
|
+
loadingComponent?: ReactNode;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* CollapsibleSidebarGroup - Reusable collapsible group for sidebar navigation
|
|
194
|
+
*
|
|
195
|
+
* Consolidates the expand/collapse pattern from:
|
|
196
|
+
* - DevResourceGroup (ResourcesSidebar)
|
|
197
|
+
* - ProjectGroup (CalibrationSidebar)
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```tsx
|
|
201
|
+
* <CollapsibleSidebarGroup
|
|
202
|
+
* icon={IconFlask}
|
|
203
|
+
* label="My Project"
|
|
204
|
+
* isExpanded={expanded}
|
|
205
|
+
* onToggle={() => setExpanded(!expanded)}
|
|
206
|
+
* badge={<Badge size="xs">WORKFLOW</Badge>}
|
|
207
|
+
* >
|
|
208
|
+
* {items.map(item => <SidebarListItem key={item.id} ... />)}
|
|
209
|
+
* </CollapsibleSidebarGroup>
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
declare const CollapsibleSidebarGroup: React$1.FC<CollapsibleSidebarGroupProps>;
|
|
213
|
+
|
|
214
|
+
interface SidebarListItemProps {
|
|
215
|
+
/** Icon component to display */
|
|
216
|
+
icon: ComponentType<{
|
|
217
|
+
size?: number;
|
|
218
|
+
style?: React$1.CSSProperties;
|
|
219
|
+
}>;
|
|
220
|
+
/** Item label text */
|
|
221
|
+
label: string;
|
|
222
|
+
/** Whether this item is currently active/selected */
|
|
223
|
+
isActive?: boolean;
|
|
224
|
+
/** Click handler */
|
|
225
|
+
onClick: () => void;
|
|
226
|
+
/** Optional description text (shown below label) */
|
|
227
|
+
description?: string;
|
|
228
|
+
/** Optional badge/right section content */
|
|
229
|
+
badge?: ReactNode;
|
|
230
|
+
/** Whether this item is disabled (locked) */
|
|
231
|
+
disabled?: boolean;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* SidebarListItem - Reusable list item for sidebar navigation
|
|
235
|
+
*
|
|
236
|
+
* Consolidates the item pattern from:
|
|
237
|
+
* - DevResourceItem (ResourcesSidebar)
|
|
238
|
+
* - RunItem (CalibrationSidebar)
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```tsx
|
|
242
|
+
* <SidebarListItem
|
|
243
|
+
* icon={IconPlayerPlay}
|
|
244
|
+
* label="Test Run 1"
|
|
245
|
+
* isActive={currentRunId === run.id}
|
|
246
|
+
* onClick={() => navigate(`/run/${run.id}`)}
|
|
247
|
+
* badge={<Badge size="xs" color="green" variant="dot">completed</Badge>}
|
|
248
|
+
* />
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
declare const SidebarListItem: React$1.FC<SidebarListItemProps>;
|
|
252
|
+
|
|
253
|
+
interface SubshellContainerProps {
|
|
254
|
+
children: React$1.ReactNode;
|
|
255
|
+
className?: string;
|
|
256
|
+
}
|
|
257
|
+
declare const SubshellContainer: ({ children, className }: SubshellContainerProps) => react_jsx_runtime.JSX.Element;
|
|
258
|
+
interface SubshellRightSideContainerProps {
|
|
259
|
+
children: React$1.ReactNode;
|
|
260
|
+
className?: string;
|
|
261
|
+
}
|
|
262
|
+
declare const SubshellRightSideContainer: ({ children, className }: SubshellRightSideContainerProps) => react_jsx_runtime.JSX.Element;
|
|
263
|
+
interface SubshellContentContainerProps {
|
|
264
|
+
children: React$1.ReactNode;
|
|
265
|
+
className?: string;
|
|
266
|
+
}
|
|
267
|
+
declare const SubshellContentContainer: ({ children, className }: SubshellContentContainerProps) => react_jsx_runtime.JSX.Element;
|
|
268
|
+
interface SubshellSidebarContainerProps {
|
|
269
|
+
children: React$1.ReactNode;
|
|
270
|
+
className?: string;
|
|
271
|
+
width?: number;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
interface SubshellSidebarProps {
|
|
275
|
+
children: React$1.ReactNode;
|
|
276
|
+
className?: string;
|
|
277
|
+
width?: number;
|
|
278
|
+
}
|
|
279
|
+
declare const SubshellSidebar: React$1.FC<SubshellSidebarProps>;
|
|
280
|
+
|
|
281
|
+
interface SubshellSidebarSectionProps {
|
|
282
|
+
/** Icon component to display on the left */
|
|
283
|
+
icon: ComponentType<{
|
|
284
|
+
size?: number;
|
|
285
|
+
color?: string;
|
|
286
|
+
}>;
|
|
287
|
+
/** Section label text */
|
|
288
|
+
label: string;
|
|
289
|
+
/** Optional content rendered on the right side of the header */
|
|
290
|
+
rightSection?: ReactNode;
|
|
291
|
+
/** Whether to show a top border (use for divider sections, not the first header) */
|
|
292
|
+
withTopBorder?: boolean;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* SubshellSidebarSection - Labeled section header for subshell sidebars.
|
|
296
|
+
*
|
|
297
|
+
* Used for both the top module header (no top border) and internal section
|
|
298
|
+
* dividers (with top border) in subshell sidebars like Acquisition and SEO.
|
|
299
|
+
*
|
|
300
|
+
* @example
|
|
301
|
+
* // Module header (top of sidebar)
|
|
302
|
+
* <SubshellSidebarSection icon={IconTarget} label="Acquisition" />
|
|
303
|
+
*
|
|
304
|
+
* // Divider between nav groups
|
|
305
|
+
* <SubshellSidebarSection icon={IconPencil} label="Content Management" withTopBorder />
|
|
306
|
+
*
|
|
307
|
+
* // With right-side controls
|
|
308
|
+
* <SubshellSidebarSection icon={IconPencil} label="Content Management" withTopBorder rightSection={<Button size="xs">Add</Button>} />
|
|
309
|
+
*/
|
|
310
|
+
declare const SubshellSidebarSection: React$1.FC<SubshellSidebarSectionProps>;
|
|
311
|
+
|
|
312
|
+
declare const subsidebarWidth = 200;
|
|
313
|
+
|
|
314
|
+
declare function SubshellLoader(): react_jsx_runtime.JSX.Element;
|
|
315
|
+
|
|
316
|
+
interface TopbarProps {
|
|
317
|
+
version: string;
|
|
318
|
+
/** Content to render on the left side of the topbar (e.g., breadcrumbs) */
|
|
319
|
+
leftContent?: React.ReactNode;
|
|
320
|
+
/** Optional children to render before theme switcher */
|
|
321
|
+
children?: React.ReactNode;
|
|
322
|
+
}
|
|
323
|
+
declare const Topbar: ({ version, leftContent, children }: TopbarProps) => react_jsx_runtime.JSX.Element;
|
|
324
|
+
|
|
325
|
+
declare const TopbarContainer: ({ children }: {
|
|
326
|
+
children: React.ReactNode;
|
|
327
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
328
|
+
|
|
329
|
+
export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, FilmGrain, FloatingOrbs, LinksGroup, PageContainer, PerspectiveGrid, RadiantGlow, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, sidebarCollapsedWidth, sidebarHoverDelay, sidebarTransitionDuration, sidebarWidth, subsidebarWidth, topbarHeight, useSidebar, useSidebarCollapse };
|
|
330
|
+
export type { CollapsibleSidebarGroupProps, LinkItem, LinksGroupProps, SidebarListItemProps, SidebarNestedProps, SubshellContainerProps, SubshellContentContainerProps, SubshellRightSideContainerProps, SubshellSidebarContainerProps, SubshellSidebarProps, SubshellSidebarSectionProps, TopbarProps };
|