@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.
Files changed (56) hide show
  1. package/dist/{CoreAuthKitInner-3J4RVQO6.js → CoreAuthKitInner-Y6LQYIPX.js} +1 -0
  2. package/dist/api/index.js +1 -0
  3. package/dist/auth/context.js +1 -0
  4. package/dist/auth/index.js +1 -0
  5. package/dist/charts/index.d.ts +96 -0
  6. package/dist/charts/index.js +384 -0
  7. package/dist/chunk-54S7KNJV.js +112 -0
  8. package/dist/{chunk-6IX5JZEH.js → chunk-G4TAF3T6.js} +166 -1
  9. package/dist/{chunk-Y2I5JJ3N.js → chunk-K3YVC5RW.js} +2 -2
  10. package/dist/chunk-KB5NKPTN.js +1455 -0
  11. package/dist/chunk-MLKGABMK.js +7 -0
  12. package/dist/{chunk-GIFAF5ZS.js → chunk-MS45MNFM.js} +6 -1
  13. package/dist/chunk-R56VC63S.js +129 -0
  14. package/dist/chunk-TYV5NJV2.js +1 -0
  15. package/dist/{chunk-JQLT6HBI.js → chunk-YJFTZUJJ.js} +22 -2
  16. package/dist/components/index.css +486 -0
  17. package/dist/components/index.d.ts +2047 -1
  18. package/dist/components/index.js +3350 -0
  19. package/dist/components/navigation/index.js +1 -0
  20. package/dist/execution/index.d.ts +15 -3
  21. package/dist/execution/index.js +2 -1
  22. package/dist/graph/index.js +2 -1
  23. package/dist/hooks/index.d.ts +270 -0
  24. package/dist/hooks/index.js +3 -2
  25. package/dist/hooks/published.d.ts +546 -2
  26. package/dist/hooks/published.js +3 -2
  27. package/dist/index.css +62 -0
  28. package/dist/index.d.ts +351 -4
  29. package/dist/index.js +12 -1038
  30. package/dist/initialization/index.d.ts +270 -0
  31. package/dist/initialization/index.js +1 -0
  32. package/dist/layout/index.css +44 -0
  33. package/dist/layout/index.d.ts +330 -0
  34. package/dist/layout/index.js +1440 -0
  35. package/dist/organization/index.js +1 -0
  36. package/dist/profile/index.d.ts +270 -0
  37. package/dist/profile/index.js +1 -0
  38. package/dist/provider/index.css +61 -0
  39. package/dist/provider/index.d.ts +54 -2
  40. package/dist/provider/index.js +5 -3
  41. package/dist/provider/published.d.ts +6 -0
  42. package/dist/provider/published.js +3 -2
  43. package/dist/router/context.js +1 -0
  44. package/dist/router/index.js +1 -0
  45. package/dist/sse/index.js +1 -1
  46. package/dist/supabase/index.d.ts +525 -0
  47. package/dist/supabase/index.js +1 -0
  48. package/dist/theme/index.d.ts +107 -0
  49. package/dist/theme/index.js +3 -0
  50. package/dist/typeform/index.js +1 -0
  51. package/dist/typeform/schemas.js +1 -0
  52. package/dist/types/index.d.ts +3664 -354
  53. package/dist/utils/index.js +1 -0
  54. package/package.json +64 -3
  55. package/dist/chunk-XXDDMASA.js +0 -170
  56. /package/dist/{chunk-BUZONXAW.js → chunk-ARQRKA6J.js} +0 -0
@@ -5,3 +5,4 @@ import '../chunk-L2CM2CUA.js';
5
5
  import '../chunk-KA7LO7U5.js';
6
6
  export { useOrganization } from '../chunk-DD3CCMCZ.js';
7
7
  import '../chunk-7PLEQFHO.js';
8
+ import '../chunk-MLKGABMK.js';
@@ -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;
@@ -2,3 +2,4 @@ import '../chunk-RNP5R5I3.js';
2
2
  export { ProfileProvider, UserProfileService, useProfile, useUserProfile } from '../chunk-L2CM2CUA.js';
3
3
  import '../chunk-KA7LO7U5.js';
4
4
  import '../chunk-7PLEQFHO.js';
5
+ import '../chunk-MLKGABMK.js';
@@ -0,0 +1,61 @@
1
+ /* src/theme/custom.css */
2
+ .mantine-Accordion-control:hover {
3
+ background-color: var(--color-surface-hover);
4
+ }
5
+ .mantine-Menu-item:hover:not([data-disabled]) {
6
+ background-color: var(--color-surface-hover);
7
+ }
8
+ .mantine-Select-option:hover {
9
+ background-color: var(--color-surface-hover) !important;
10
+ }
11
+ .mantine-Tabs-tab:hover {
12
+ background-color: var(--color-surface-hover);
13
+ }
14
+ .mantine-Pagination-control:not([data-active]) {
15
+ background: var(--color-surface);
16
+ }
17
+ ::-webkit-scrollbar {
18
+ width: 5px;
19
+ height: 5px;
20
+ }
21
+ ::-webkit-scrollbar-track {
22
+ background: transparent;
23
+ }
24
+ ::-webkit-scrollbar-thumb {
25
+ background: color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border));
26
+ border-radius: 4px;
27
+ }
28
+ ::-webkit-scrollbar-thumb:hover {
29
+ background: var(--color-text-subtle);
30
+ }
31
+ .mantine-Skeleton-root[data-visible]::after {
32
+ background-color: color-mix(in srgb, var(--color-text-subtle) 30%, var(--color-surface)) !important;
33
+ }
34
+ .mantine-Checkbox-input {
35
+ background-color: var(--color-surface);
36
+ border-color: var(--color-border);
37
+ }
38
+ .mantine-Checkbox-input:checked {
39
+ background-color: var(--color-primary);
40
+ border-color: var(--color-primary);
41
+ }
42
+ .mantine-Switch-root:has(input:not(:checked)) .mantine-Switch-track {
43
+ background-color: var(--color-surface-hover);
44
+ border-color: var(--color-border);
45
+ }
46
+ .mantine-Timeline-root {
47
+ --tl-color: var(--color-primary);
48
+ }
49
+ .mantine-Timeline-item {
50
+ --item-border-color: var(--color-border);
51
+ }
52
+ .mantine-Timeline-itemBullet {
53
+ border-color: var(--color-border);
54
+ }
55
+ .mantine-Timeline-itemBullet:where([data-with-child]) {
56
+ background-color: var(--color-primary);
57
+ border-color: var(--color-primary);
58
+ }
59
+ .recharts-surface:focus {
60
+ outline: none;
61
+ }
@@ -1,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  import { ReactNode } from 'react';
4
+ import { MantineThemeOverride } from '@mantine/core';
4
5
 
5
6
  type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
6
7
 
@@ -87,6 +88,12 @@ interface ElevasisTokenOverrides {
87
88
  durationFast?: string;
88
89
  durationNormal?: string;
89
90
  easing?: string;
91
+ /** Foreground text color for destructive/error buttons. Defaults to '#fff'. */
92
+ destructiveFg?: string;
93
+ /** Heading font family — used for titles, section headers. */
94
+ fontHeading?: string;
95
+ /** Body font family — used for general text. */
96
+ fontSans?: string;
90
97
  }
91
98
  /**
92
99
  * Core theme config — Mantine-free.
@@ -262,5 +269,50 @@ declare function useElevasisServices(): ElevasisServiceContextValue;
262
269
  */
263
270
  declare function ElevasisServiceProvider({ apiRequest, organizationId, isReady, children }: ElevasisServiceProviderProps): react_jsx_runtime.JSX.Element;
264
271
 
265
- export { ElevasisCoreProvider, ElevasisServiceProvider, NotificationProvider, useElevasisServices, useNotificationAdapter };
266
- export type { ApiKeyConfig, AuthConfig, AuthKitConfig, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisTokenOverrides, NotificationAdapter, PresetName, WithSchemes };
272
+ /**
273
+ * Mantine-specific theme config extends the headless core config with
274
+ * a full Mantine theme override escape hatch.
275
+ */
276
+ interface ElevasisThemeConfig extends ElevasisCoreThemeConfig {
277
+ /** Full Mantine theme override — merged on top of Elevasis defaults. */
278
+ mantine?: MantineThemeOverride;
279
+ }
280
+ /**
281
+ * Props for ElevasisUIProvider (Mantine variant).
282
+ * Extends ElevasisCoreProviderProps with Mantine-aware theme config.
283
+ */
284
+ interface ElevasisProviderProps extends Omit<ElevasisCoreProviderProps, 'theme' | 'notifications'> {
285
+ theme?: ElevasisThemeConfig;
286
+ }
287
+ /**
288
+ * UI provider for Elevasis-powered applications. Includes Mantine theme integration.
289
+ *
290
+ * A thin Mantine shell around ElevasisCoreProvider. Handles:
291
+ * - MantineProvider with theme resolution (presets, token overrides, color scheme)
292
+ * - Google Font injection for preset fonts
293
+ * - CSS variables resolver
294
+ * - Mantine notification adapter (wired into NotificationProvider automatically)
295
+ *
296
+ * All auth, API, profile, organization, and initialization composition is
297
+ * delegated to ElevasisCoreProvider.
298
+ */
299
+ declare function ElevasisUIProvider({ theme, children, ...coreProps }: ElevasisProviderProps): react_jsx_runtime.JSX.Element;
300
+ /** @deprecated Use ElevasisUIProvider instead. Alias kept for backwards compatibility. */
301
+ declare const ElevasisProvider: typeof ElevasisUIProvider;
302
+
303
+ /**
304
+ * Mantine-backed notification adapter.
305
+ *
306
+ * Wraps `@mantine/notifications` with the same defaults as `notify.tsx`
307
+ * (`autoClose: 5000`, `position: 'top-right'`). The `apiError()` method
308
+ * replicates `showApiErrorNotification` behavior including retryAfter-based
309
+ * autoClose.
310
+ *
311
+ * Use this adapter in Command Center (Mantine-powered) consumers.
312
+ * Template consumers should omit the NotificationProvider and rely on the
313
+ * console fallback, or supply their own adapter.
314
+ */
315
+ declare const mantineNotificationAdapter: NotificationAdapter;
316
+
317
+ export { ElevasisCoreProvider, ElevasisProvider, ElevasisServiceProvider, ElevasisUIProvider, NotificationProvider, mantineNotificationAdapter, useElevasisServices, useNotificationAdapter };
318
+ export type { ApiKeyConfig, AuthConfig, AuthKitConfig, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisThemeConfig, ElevasisTokenOverrides, NotificationAdapter, PresetName, WithSchemes };
@@ -1,8 +1,9 @@
1
- import '../chunk-BUZONXAW.js';
2
- export { ElevasisCoreProvider } from '../chunk-Y2I5JJ3N.js';
3
- export { NotificationProvider, useNotificationAdapter } from '../chunk-TIRMFDM4.js';
1
+ export { ElevasisProvider, ElevasisUIProvider, mantineNotificationAdapter } from '../chunk-54S7KNJV.js';
2
+ import '../chunk-KB5NKPTN.js';
3
+ export { ElevasisCoreProvider } from '../chunk-K3YVC5RW.js';
4
4
  import '../chunk-SFF5MJEI.js';
5
5
  import '../chunk-LBPALY25.js';
6
+ export { NotificationProvider, useNotificationAdapter } from '../chunk-TIRMFDM4.js';
6
7
  import '../chunk-LFYO3MDC.js';
7
8
  import '../chunk-4VGWQ5AN.js';
8
9
  import '../chunk-NEK6JKPW.js';
@@ -10,3 +11,4 @@ import '../chunk-L2CM2CUA.js';
10
11
  export { ElevasisServiceProvider, useElevasisServices } from '../chunk-KA7LO7U5.js';
11
12
  import '../chunk-DD3CCMCZ.js';
12
13
  import '../chunk-7PLEQFHO.js';
14
+ import '../chunk-MLKGABMK.js';
@@ -87,6 +87,12 @@ interface ElevasisTokenOverrides {
87
87
  durationFast?: string;
88
88
  durationNormal?: string;
89
89
  easing?: string;
90
+ /** Foreground text color for destructive/error buttons. Defaults to '#fff'. */
91
+ destructiveFg?: string;
92
+ /** Heading font family — used for titles, section headers. */
93
+ fontHeading?: string;
94
+ /** Body font family — used for general text. */
95
+ fontSans?: string;
90
96
  }
91
97
  /**
92
98
  * Core theme config — Mantine-free.
@@ -1,7 +1,7 @@
1
- export { ElevasisCoreProvider } from '../chunk-Y2I5JJ3N.js';
2
- export { NotificationProvider, useNotificationAdapter } from '../chunk-TIRMFDM4.js';
1
+ export { ElevasisCoreProvider } from '../chunk-K3YVC5RW.js';
3
2
  import '../chunk-SFF5MJEI.js';
4
3
  import '../chunk-LBPALY25.js';
4
+ export { NotificationProvider, useNotificationAdapter } from '../chunk-TIRMFDM4.js';
5
5
  import '../chunk-LFYO3MDC.js';
6
6
  import '../chunk-4VGWQ5AN.js';
7
7
  import '../chunk-NEK6JKPW.js';
@@ -9,3 +9,4 @@ import '../chunk-L2CM2CUA.js';
9
9
  export { ElevasisServiceProvider, useElevasisServices } from '../chunk-KA7LO7U5.js';
10
10
  import '../chunk-DD3CCMCZ.js';
11
11
  import '../chunk-7PLEQFHO.js';
12
+ import '../chunk-MLKGABMK.js';
@@ -1 +1,2 @@
1
1
  export { RouterProvider, useRouterContext } from '../chunk-Q7DJKLEN.js';
2
+ import '../chunk-MLKGABMK.js';
@@ -1,2 +1,3 @@
1
1
  export { TanStackRouterBridge } from '../chunk-LHQTTUL2.js';
2
2
  export { RouterProvider, useRouterContext } from '../chunk-Q7DJKLEN.js';
3
+ import '../chunk-MLKGABMK.js';
package/dist/sse/index.js CHANGED
@@ -1,6 +1,6 @@
1
+ import '../chunk-MLKGABMK.js';
1
2
  import { fetchEventSource } from '@microsoft/fetch-event-source';
2
3
 
3
- // src/sse/fetchEventSourceWithTokenRefresh.ts
4
4
  async function fetchEventSourceWithTokenRefresh(options) {
5
5
  const {
6
6
  url,