@elevasis/ui 1.3.0 → 1.3.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.
Files changed (279) hide show
  1. package/dist/CoreAuthKitInner-3J4RVQO6.js +43 -0
  2. package/dist/api/index.d.ts +7 -31
  3. package/dist/api/index.js +3 -2
  4. package/dist/auth/context.d.ts +23 -5
  5. package/dist/auth/guards/AdminGuard.d.ts +32 -0
  6. package/dist/auth/guards/AdminGuard.d.ts.map +1 -0
  7. package/dist/auth/guards/ProtectedRoute.d.ts +60 -0
  8. package/dist/auth/guards/ProtectedRoute.d.ts.map +1 -0
  9. package/dist/auth/guards/__tests__/AdminGuard.test.d.ts +12 -0
  10. package/dist/auth/guards/__tests__/AdminGuard.test.d.ts.map +1 -0
  11. package/dist/auth/guards/__tests__/ProtectedRoute.test.d.ts +14 -0
  12. package/dist/auth/guards/__tests__/ProtectedRoute.test.d.ts.map +1 -0
  13. package/dist/auth/index.d.ts +14 -171
  14. package/dist/auth/index.d.ts.map +1 -0
  15. package/dist/auth/index.js +5 -6
  16. package/dist/{chunk-FDCVFCOQ.js → chunk-2JBWPFHF.js} +23 -20
  17. package/dist/{chunk-BZTA7IIL.js → chunk-6IX5JZEH.js} +358 -4
  18. package/dist/chunk-FWZJH3TL.js +13 -0
  19. package/dist/chunk-GIFAF5ZS.js +313 -0
  20. package/dist/chunk-JGJSZ3UE.js +47 -0
  21. package/dist/chunk-JQLT6HBI.js +850 -0
  22. package/dist/{chunk-4KAG5U7A.js → chunk-L2CM2CUA.js} +0 -2
  23. package/dist/chunk-LFYO3MDC.js +58 -0
  24. package/dist/{chunk-OLD3NQLI.js → chunk-LTQAAIGE.js} +13 -17
  25. package/dist/{chunk-QQOLC46E.js → chunk-NEK6JKPW.js} +1 -1
  26. package/dist/{chunk-SITSZUFW.js → chunk-PVVQTENF.js} +1 -1
  27. package/dist/{chunk-FLJXZ7YC.js → chunk-SFF5MJEI.js} +2 -4
  28. package/dist/{chunk-EZMRFWZQ.js → chunk-U34YGJQB.js} +2 -94
  29. package/dist/{chunk-BWCC6ZJC.js → chunk-XLV6LYN2.js} +15 -60
  30. package/dist/components/index.d.ts +1 -1353
  31. package/dist/components/index.js +1 -20
  32. package/dist/components/navigation/index.d.ts +2 -32
  33. package/dist/components/navigation/index.js +1 -29
  34. package/dist/execution/index.d.ts +63 -231
  35. package/dist/execution/index.js +1 -4
  36. package/dist/graph/index.css +0 -1
  37. package/dist/graph/index.d.ts +4 -203
  38. package/dist/graph/index.js +1 -1
  39. package/dist/hooks/command-queue/index.d.ts +7 -0
  40. package/dist/hooks/command-queue/index.d.ts.map +1 -0
  41. package/dist/hooks/command-queue/useCommandQueue.d.ts +33 -0
  42. package/dist/hooks/command-queue/useCommandQueue.d.ts.map +1 -0
  43. package/dist/hooks/command-queue/useCommandQueueTotals.d.ts +17 -0
  44. package/dist/hooks/command-queue/useCommandQueueTotals.d.ts.map +1 -0
  45. package/dist/hooks/command-queue/useDeleteTask.d.ts +5 -0
  46. package/dist/hooks/command-queue/useDeleteTask.d.ts.map +1 -0
  47. package/dist/hooks/command-queue/usePatchTask.d.ts +6 -0
  48. package/dist/hooks/command-queue/usePatchTask.d.ts.map +1 -0
  49. package/dist/hooks/command-queue/useSubmitAction.d.ts +29 -0
  50. package/dist/hooks/command-queue/useSubmitAction.d.ts.map +1 -0
  51. package/dist/hooks/executions/index.d.ts +16 -0
  52. package/dist/hooks/executions/index.d.ts.map +1 -0
  53. package/dist/hooks/executions/useBulkDeleteExecutions.d.ts +15 -0
  54. package/dist/hooks/executions/useBulkDeleteExecutions.d.ts.map +1 -0
  55. package/dist/hooks/executions/useCancelExecution.d.ts +20 -0
  56. package/dist/hooks/executions/useCancelExecution.d.ts.map +1 -0
  57. package/dist/hooks/executions/useDeleteExecution.d.ts +13 -0
  58. package/dist/hooks/executions/useDeleteExecution.d.ts.map +1 -0
  59. package/dist/hooks/executions/useExecuteAsync.d.ts +21 -0
  60. package/dist/hooks/executions/useExecuteAsync.d.ts.map +1 -0
  61. package/dist/hooks/executions/useExecution.d.ts +10 -0
  62. package/dist/hooks/executions/useExecution.d.ts.map +1 -0
  63. package/dist/hooks/executions/useExecutions.d.ts +16 -0
  64. package/dist/hooks/executions/useExecutions.d.ts.map +1 -0
  65. package/dist/hooks/executions/useResourceDefinition.d.ts +9 -0
  66. package/dist/hooks/executions/useResourceDefinition.d.ts.map +1 -0
  67. package/dist/hooks/executions/useResources.d.ts +15 -0
  68. package/dist/hooks/executions/useResources.d.ts.map +1 -0
  69. package/dist/hooks/executions/useRetryExecution.d.ts +16 -0
  70. package/dist/hooks/executions/useRetryExecution.d.ts.map +1 -0
  71. package/dist/hooks/feature-access/createUseFeatureAccess.d.ts +44 -0
  72. package/dist/hooks/feature-access/createUseFeatureAccess.d.ts.map +1 -0
  73. package/dist/hooks/feature-access/index.d.ts +2 -0
  74. package/dist/hooks/feature-access/index.d.ts.map +1 -0
  75. package/dist/hooks/index.d.ts +11 -1927
  76. package/dist/hooks/index.d.ts.map +1 -0
  77. package/dist/hooks/index.js +5 -4
  78. package/dist/hooks/monitoring/index.d.ts +9 -0
  79. package/dist/hooks/monitoring/index.d.ts.map +1 -0
  80. package/dist/hooks/monitoring/useActivities.d.ts +52 -0
  81. package/dist/hooks/monitoring/useActivities.d.ts.map +1 -0
  82. package/dist/hooks/monitoring/useCostSummary.d.ts +7 -0
  83. package/dist/hooks/monitoring/useCostSummary.d.ts.map +1 -0
  84. package/dist/hooks/monitoring/useExecutionHealth.d.ts +10 -0
  85. package/dist/hooks/monitoring/useExecutionHealth.d.ts.map +1 -0
  86. package/dist/hooks/monitoring/useExecutionLogs.d.ts +56 -0
  87. package/dist/hooks/monitoring/useExecutionLogs.d.ts.map +1 -0
  88. package/dist/hooks/monitoring/useNotifications.d.ts +11 -0
  89. package/dist/hooks/monitoring/useNotifications.d.ts.map +1 -0
  90. package/dist/hooks/notifications/index.d.ts +8 -0
  91. package/dist/hooks/notifications/index.d.ts.map +1 -0
  92. package/dist/hooks/notifications/useMarkAllAsRead.d.ts +2 -0
  93. package/dist/hooks/notifications/useMarkAllAsRead.d.ts.map +1 -0
  94. package/dist/hooks/notifications/useMarkAsRead.d.ts +2 -0
  95. package/dist/hooks/notifications/useMarkAsRead.d.ts.map +1 -0
  96. package/dist/hooks/notifications/useNotificationCount.d.ts +8 -0
  97. package/dist/hooks/notifications/useNotificationCount.d.ts.map +1 -0
  98. package/dist/hooks/observability/index.d.ts +19 -0
  99. package/dist/hooks/observability/index.d.ts.map +1 -0
  100. package/dist/hooks/observability/useBusinessImpact.d.ts +9 -0
  101. package/dist/hooks/observability/useBusinessImpact.d.ts.map +1 -0
  102. package/dist/hooks/observability/useCostBreakdown.d.ts +10 -0
  103. package/dist/hooks/observability/useCostBreakdown.d.ts.map +1 -0
  104. package/dist/hooks/observability/useCostByModel.d.ts +3 -0
  105. package/dist/hooks/observability/useCostByModel.d.ts.map +1 -0
  106. package/dist/hooks/observability/useCostTrends.d.ts +3 -0
  107. package/dist/hooks/observability/useCostTrends.d.ts.map +1 -0
  108. package/dist/hooks/observability/useDashboardMetrics.d.ts +3 -0
  109. package/dist/hooks/observability/useDashboardMetrics.d.ts.map +1 -0
  110. package/dist/hooks/observability/useErrorAnalysis.d.ts +7 -0
  111. package/dist/hooks/observability/useErrorAnalysis.d.ts.map +1 -0
  112. package/dist/hooks/observability/useErrorDetails.d.ts +20 -0
  113. package/dist/hooks/observability/useErrorDetails.d.ts.map +1 -0
  114. package/dist/hooks/observability/useErrorDistribution.d.ts +12 -0
  115. package/dist/hooks/observability/useErrorDistribution.d.ts.map +1 -0
  116. package/dist/hooks/observability/useErrorTrends.d.ts +12 -0
  117. package/dist/hooks/observability/useErrorTrends.d.ts.map +1 -0
  118. package/dist/hooks/observability/useResolveError.d.ts +17 -0
  119. package/dist/hooks/observability/useResolveError.d.ts.map +1 -0
  120. package/dist/hooks/observability/useTopFailingResources.d.ts +13 -0
  121. package/dist/hooks/observability/useTopFailingResources.d.ts.map +1 -0
  122. package/dist/hooks/published.d.ts +19 -1652
  123. package/dist/hooks/published.d.ts.map +1 -0
  124. package/dist/hooks/published.js +369 -3
  125. package/dist/hooks/scheduling/index.d.ts +5 -0
  126. package/dist/hooks/scheduling/index.d.ts.map +1 -0
  127. package/dist/hooks/scheduling/useSchedules.d.ts +185 -0
  128. package/dist/hooks/scheduling/useSchedules.d.ts.map +1 -0
  129. package/dist/hooks/sessions/index.d.ts +8 -0
  130. package/dist/hooks/sessions/index.d.ts.map +1 -0
  131. package/dist/hooks/sessions/useSessionExecutions.d.ts +13 -0
  132. package/dist/hooks/sessions/useSessionExecutions.d.ts.map +1 -0
  133. package/dist/hooks/sessions/useSessionMessages.d.ts +7 -0
  134. package/dist/hooks/sessions/useSessionMessages.d.ts.map +1 -0
  135. package/dist/hooks/sessions/useSessions.d.ts +26 -0
  136. package/dist/hooks/sessions/useSessions.d.ts.map +1 -0
  137. package/dist/index.css +0 -118
  138. package/dist/index.d.ts +15 -7624
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +1125 -30
  141. package/dist/initialization/InitializationProvider.d.ts +48 -0
  142. package/dist/initialization/InitializationProvider.d.ts.map +1 -0
  143. package/dist/initialization/hooks/useAppInitialization.d.ts +32 -0
  144. package/dist/initialization/hooks/useAppInitialization.d.ts.map +1 -0
  145. package/dist/initialization/index.d.ts +22 -2361
  146. package/dist/initialization/index.d.ts.map +1 -0
  147. package/dist/initialization/index.js +4 -4
  148. package/dist/organization/context/OrganizationProvider.d.ts +20 -0
  149. package/dist/organization/context/OrganizationProvider.d.ts.map +1 -0
  150. package/dist/organization/hooks/useOrgInitialization.d.ts +56 -0
  151. package/dist/organization/hooks/useOrgInitialization.d.ts.map +1 -0
  152. package/dist/organization/index.d.ts +21 -283
  153. package/dist/organization/index.d.ts.map +1 -0
  154. package/dist/organization/index.js +4 -4
  155. package/dist/profile/context/ProfileProvider.d.ts +27 -0
  156. package/dist/profile/context/ProfileProvider.d.ts.map +1 -0
  157. package/dist/profile/hooks/useUserProfile.d.ts +31 -0
  158. package/dist/profile/hooks/useUserProfile.d.ts.map +1 -0
  159. package/dist/profile/index.d.ts +14 -2290
  160. package/dist/profile/index.d.ts.map +1 -0
  161. package/dist/profile/index.js +1 -1
  162. package/dist/provider/CoreAuthKitInner.d.ts +12 -0
  163. package/dist/provider/CoreAuthKitInner.d.ts.map +1 -0
  164. package/dist/provider/ElevasisCoreProvider.d.ts +39 -0
  165. package/dist/provider/ElevasisCoreProvider.d.ts.map +1 -0
  166. package/dist/provider/ElevasisServiceContext.d.ts +31 -0
  167. package/dist/provider/ElevasisServiceContext.d.ts.map +1 -0
  168. package/dist/provider/__tests__/CoreAuthKitInner.test.d.ts +2 -0
  169. package/dist/provider/__tests__/CoreAuthKitInner.test.d.ts.map +1 -0
  170. package/dist/provider/__tests__/ElevasisCoreProvider.test.d.ts +2 -0
  171. package/dist/provider/__tests__/ElevasisCoreProvider.test.d.ts.map +1 -0
  172. package/dist/provider/index.d.ts +7 -384
  173. package/dist/provider/index.d.ts.map +1 -0
  174. package/dist/provider/index.js +8 -9
  175. package/dist/provider/published.d.ts +9 -275
  176. package/dist/provider/published.d.ts.map +1 -0
  177. package/dist/provider/published.js +7 -8
  178. package/dist/provider/types.d.ts +190 -0
  179. package/dist/provider/types.d.ts.map +1 -0
  180. package/dist/sdk-barrel.d.ts +20 -0
  181. package/dist/sdk-barrel.d.ts.map +1 -0
  182. package/dist/supabase/index.d.ts +0 -255
  183. package/dist/supabase/index.js +2 -47
  184. package/dist/theme/cssVariables.d.ts +12 -0
  185. package/dist/theme/cssVariables.d.ts.map +1 -0
  186. package/dist/theme/index.d.ts +4 -0
  187. package/dist/theme/index.d.ts.map +1 -0
  188. package/dist/theme/presets/__tests__/getPreset.test.d.ts +2 -0
  189. package/dist/theme/presets/__tests__/getPreset.test.d.ts.map +1 -0
  190. package/dist/theme/presets/abyss.d.ts +3 -0
  191. package/dist/theme/presets/abyss.d.ts.map +1 -0
  192. package/dist/theme/presets/abyss.js +54 -0
  193. package/dist/theme/presets/aurora.d.ts +8 -0
  194. package/dist/theme/presets/aurora.d.ts.map +1 -0
  195. package/dist/theme/presets/aurora.js +59 -0
  196. package/dist/theme/presets/canopy.d.ts +3 -0
  197. package/dist/theme/presets/canopy.d.ts.map +1 -0
  198. package/dist/theme/presets/canopy.js +58 -0
  199. package/dist/theme/presets/cyber-flux.d.ts +8 -0
  200. package/dist/theme/presets/cyber-flux.d.ts.map +1 -0
  201. package/dist/theme/presets/cyber-strike.d.ts +9 -0
  202. package/dist/theme/presets/cyber-strike.d.ts.map +1 -0
  203. package/dist/theme/presets/cyber-void.d.ts +8 -0
  204. package/dist/theme/presets/cyber-void.d.ts.map +1 -0
  205. package/dist/theme/presets/cyber-volt.d.ts +8 -0
  206. package/dist/theme/presets/cyber-volt.d.ts.map +1 -0
  207. package/dist/theme/presets/default.d.ts +4 -0
  208. package/dist/theme/presets/default.d.ts.map +1 -0
  209. package/dist/theme/presets/ember.d.ts +8 -0
  210. package/dist/theme/presets/ember.d.ts.map +1 -0
  211. package/dist/theme/presets/ember.js +63 -0
  212. package/dist/theme/presets/honey.d.ts +3 -0
  213. package/dist/theme/presets/honey.d.ts.map +1 -0
  214. package/dist/theme/presets/honey.js +62 -0
  215. package/dist/theme/presets/index.d.ts +6 -0
  216. package/dist/theme/presets/index.d.ts.map +1 -0
  217. package/dist/theme/presets/midnight.d.ts +8 -0
  218. package/dist/theme/presets/midnight.d.ts.map +1 -0
  219. package/dist/theme/presets/midnight.js +68 -0
  220. package/dist/theme/presets/obsidian.d.ts +3 -0
  221. package/dist/theme/presets/obsidian.d.ts.map +1 -0
  222. package/dist/theme/presets/obsidian.js +56 -0
  223. package/dist/theme/presets/regal.d.ts +8 -0
  224. package/dist/theme/presets/regal.d.ts.map +1 -0
  225. package/dist/theme/presets/rose-gold.d.ts +8 -0
  226. package/dist/theme/presets/rose-gold.d.ts.map +1 -0
  227. package/dist/theme/presets/slate.d.ts +3 -0
  228. package/dist/theme/presets/slate.d.ts.map +1 -0
  229. package/dist/theme/presets/slate.js +56 -0
  230. package/dist/theme/presets/tactical.d.ts +8 -0
  231. package/dist/theme/presets/tactical.d.ts.map +1 -0
  232. package/dist/theme/presets/types.d.ts +26 -0
  233. package/dist/theme/presets/types.d.ts.map +1 -0
  234. package/dist/theme/presets/types.js +1 -0
  235. package/dist/utils/index.d.ts +1 -22
  236. package/dist/utils/index.js +1 -1
  237. package/package.json +67 -51
  238. package/dist/CoreAuthKitInner-KM72EYJS.js +0 -19
  239. package/dist/api/hooks/useApiClient.d.ts +0 -54
  240. package/dist/api/hooks/useApiClient.d.ts.map +0 -1
  241. package/dist/api/hooks/useApiClient.js +0 -185
  242. package/dist/chunk-3KMDHCAR.js +0 -52
  243. package/dist/chunk-6BJOYF6E.js +0 -8
  244. package/dist/chunk-BLO4SISK.js +0 -113
  245. package/dist/chunk-HUWJXLLF.js +0 -681
  246. package/dist/chunk-JVAZHVNV.js +0 -110
  247. package/dist/chunk-JYSYHVLU.js +0 -379
  248. package/dist/chunk-NE36BUGQ.js +0 -146
  249. package/dist/chunk-NIAVTSMB.js +0 -21
  250. package/dist/chunk-O3PY6B6E.js +0 -749
  251. package/dist/chunk-OXVOHOP3.js +0 -661
  252. package/dist/chunk-PCBXNHKY.js +0 -1460
  253. package/dist/chunk-PSLKGOBZ.js +0 -58
  254. package/dist/chunk-QSVZP2NU.js +0 -214
  255. package/dist/chunk-RJCA5672.js +0 -1664
  256. package/dist/chunk-TMFCNFLW.js +0 -107
  257. package/dist/chunk-TN3PU2WK.js +0 -748
  258. package/dist/chunk-W7ZBF5AA.js +0 -1
  259. package/dist/chunk-YZ6GTZXL.js +0 -48
  260. package/dist/components/command-queue/index.css +0 -53
  261. package/dist/components/command-queue/index.d.ts +0 -204
  262. package/dist/components/command-queue/index.js +0 -12
  263. package/dist/components/forms/index.d.ts +0 -56
  264. package/dist/components/forms/index.js +0 -2
  265. package/dist/components/index.css +0 -443
  266. package/dist/components/monitoring/index.d.ts +0 -66
  267. package/dist/components/monitoring/index.js +0 -2
  268. package/dist/components/notifications/index.d.ts +0 -52
  269. package/dist/components/notifications/index.js +0 -5
  270. package/dist/components/resource-definition/index.css +0 -388
  271. package/dist/components/resource-definition/index.d.ts +0 -301
  272. package/dist/components/resource-definition/index.js +0 -3
  273. package/dist/display/index.css +0 -53
  274. package/dist/display/index.d.ts +0 -606
  275. package/dist/display/index.js +0 -7
  276. package/dist/execution/index.css +0 -388
  277. package/dist/provider/index.css +0 -61
  278. /package/dist/{chunk-Q47SPRY7.js → chunk-BUZONXAW.js} +0 -0
  279. /package/dist/{chunk-NXHL23JW.js → chunk-XXDDMASA.js} +0 -0
@@ -1,1460 +0,0 @@
1
- import { ElevasisCoreProvider } from './chunk-OLD3NQLI.js';
2
- import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-4VGWQ5AN.js';
3
- import { useMemo, useEffect } from 'react';
4
- import { Tooltip, Text, Tabs, Table, Stack, SimpleGrid, Select, Combobox, SegmentedControl, ScrollArea, Paper, Popover, Notification, Modal, Menu, Input, HoverCard, Group, Grid, Flex, Code, Divider, Card, Button, Accordion, createTheme, mergeThemeOverrides, MantineProvider } from '@mantine/core';
5
- import '@mantine/core/styles.css';
6
- import '@mantine/notifications/styles.css';
7
- import { notifications } from '@mantine/notifications';
8
- import { jsx } from 'react/jsx-runtime';
9
-
10
- var DEFAULT_SIZE = "sm";
11
- var glassBase = {
12
- backdropFilter: "var(--glass-blur)",
13
- WebkitBackdropFilter: "var(--glass-blur)",
14
- border: "1px solid var(--color-border)"
15
- };
16
- var componentThemes = {
17
- Accordion: Accordion.extend({
18
- styles: {
19
- item: {
20
- borderColor: "var(--color-border)"
21
- },
22
- content: {
23
- backgroundColor: "var(--color-surface)"
24
- }
25
- }
26
- }),
27
- Button: Button.extend({
28
- styles: {
29
- root: {
30
- transition: `all var(--duration-fast) var(--easing)`
31
- }
32
- }
33
- }),
34
- Card: Card.extend({
35
- defaultProps: {
36
- p: DEFAULT_SIZE
37
- },
38
- styles: {
39
- root: {
40
- backgroundColor: "var(--glass-background)",
41
- ...glassBase,
42
- boxShadow: "var(--card-shadow)"
43
- }
44
- }
45
- }),
46
- // Checkbox styles are in custom.css to support :checked pseudo-selector
47
- Divider: Divider.extend({
48
- styles: {
49
- root: {
50
- borderColor: "var(--color-border)"
51
- }
52
- }
53
- }),
54
- Code: Code.extend({
55
- styles: {
56
- root: {
57
- backgroundColor: "var(--color-surface)",
58
- border: "1px solid var(--color-border)"
59
- }
60
- }
61
- }),
62
- Flex: Flex.extend({
63
- defaultProps: {
64
- gap: DEFAULT_SIZE
65
- }
66
- }),
67
- Grid: Grid.extend({
68
- defaultProps: {
69
- gutter: DEFAULT_SIZE
70
- }
71
- }),
72
- Group: Group.extend({
73
- defaultProps: {
74
- gap: DEFAULT_SIZE
75
- }
76
- }),
77
- HoverCard: HoverCard.extend({
78
- styles: {
79
- dropdown: {
80
- backgroundColor: "var(--color-surface)",
81
- border: "1px solid var(--color-border)",
82
- boxShadow: "var(--standard-box-shadow)"
83
- }
84
- }
85
- }),
86
- Input: Input.extend({
87
- styles: {
88
- input: {
89
- backgroundColor: "var(--color-surface)",
90
- border: "none",
91
- borderBottom: "1px solid var(--color-border)",
92
- borderRadius: "0"
93
- }
94
- }
95
- }),
96
- Menu: Menu.extend({
97
- styles: {
98
- dropdown: {
99
- background: "var(--color-surface)",
100
- border: "1px solid var(--color-border)"
101
- }
102
- }
103
- }),
104
- Modal: Modal.extend({
105
- styles: {
106
- content: {
107
- backgroundColor: "var(--color-surface)",
108
- border: "1px solid var(--color-border)"
109
- }
110
- }
111
- }),
112
- Notification: Notification.extend({
113
- styles: {
114
- root: {
115
- backgroundColor: "color-mix(in srgb, var(--color-surface) 90%, transparent)",
116
- ...glassBase
117
- }
118
- }
119
- }),
120
- Popover: Popover.extend({
121
- styles: {
122
- dropdown: {
123
- backgroundColor: "var(--color-surface)",
124
- ...glassBase,
125
- boxShadow: "var(--standard-box-shadow)"
126
- }
127
- }
128
- }),
129
- Paper: Paper.extend({
130
- styles: {
131
- root: {
132
- backgroundColor: "var(--glass-background)",
133
- ...glassBase,
134
- boxShadow: "var(--card-shadow)",
135
- padding: `var(--mantine-spacing-${DEFAULT_SIZE})`
136
- }
137
- }
138
- }),
139
- ScrollArea: ScrollArea.extend({
140
- defaultProps: {
141
- scrollbarSize: 8
142
- },
143
- styles: {
144
- scrollbar: {
145
- background: "transparent",
146
- '&[data-orientation="vertical"]': {
147
- width: "8px"
148
- },
149
- '&[data-orientation="horizontal"]': {
150
- height: "8px"
151
- }
152
- },
153
- thumb: {
154
- borderRadius: "var(--mantine-radius-default)",
155
- background: "color-mix(in srgb, var(--color-text-subtle) 50%, var(--color-border))",
156
- "&:hover": {
157
- background: "var(--color-text-subtle)"
158
- }
159
- }
160
- }
161
- }),
162
- SegmentedControl: SegmentedControl.extend({
163
- styles: {
164
- root: {
165
- backgroundColor: "var(--color-surface)"
166
- },
167
- indicator: {
168
- backgroundColor: "var(--color-surface-hover)",
169
- boxShadow: "var(--standard-box-shadow)"
170
- }
171
- }
172
- }),
173
- Combobox: Combobox.extend({
174
- styles: {
175
- dropdown: {
176
- backgroundColor: "red"
177
- }
178
- }
179
- }),
180
- Select: Select.extend({
181
- styles: {
182
- dropdown: {
183
- backgroundColor: "var(--color-surface)"
184
- }
185
- }
186
- }),
187
- // Switch styles are in custom.css to support [data-checked] attribute selector
188
- SimpleGrid: SimpleGrid.extend({
189
- defaultProps: {
190
- spacing: DEFAULT_SIZE,
191
- verticalSpacing: DEFAULT_SIZE
192
- }
193
- }),
194
- Stack: Stack.extend({
195
- defaultProps: {
196
- gap: DEFAULT_SIZE
197
- }
198
- }),
199
- Table: Table.extend({
200
- defaultProps: {
201
- highlightOnHover: true
202
- },
203
- styles: {
204
- table: {
205
- "--table-border-color": "var(--color-border)",
206
- "--table-highlight-on-hover-color": "var(--color-surface-hover)"
207
- }
208
- }
209
- }),
210
- Tabs: Tabs.extend({}),
211
- Text: Text.extend({
212
- styles: {
213
- root: {
214
- fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
215
- }
216
- }
217
- }),
218
- // Timeline styles are in custom.css to override color-scheme-specific selectors
219
- Tooltip: Tooltip.extend({
220
- styles: {
221
- tooltip: {
222
- backgroundColor: "var(--color-surface)",
223
- color: "var(--color-text)",
224
- border: "1px solid var(--color-border)"
225
- }
226
- }
227
- })
228
- // Pagination styles are in custom.css to support :not([data-active]) selector
229
- };
230
-
231
- // src/theme/MantineThemeOverride.ts
232
- var mantineThemeOverride = createTheme({
233
- defaultRadius: "xs",
234
- fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
235
- cursorType: "pointer",
236
- spacing: {
237
- xs: "0.5rem",
238
- sm: "0.75rem",
239
- md: "1rem",
240
- lg: "1.5rem",
241
- xl: "2rem"
242
- },
243
- radius: {
244
- xs: "0.25rem",
245
- sm: "0.5rem",
246
- md: "0.75rem",
247
- lg: "1rem",
248
- xl: "1.5rem"
249
- },
250
- fontSizes: {
251
- xs: "0.75rem",
252
- sm: "0.875rem",
253
- md: "1rem",
254
- lg: "1.125rem",
255
- xl: "1.25rem"
256
- },
257
- components: componentThemes
258
- });
259
-
260
- // src/theme/presets/utils.ts
261
- function hexToRgb(hex) {
262
- const h = hex.replace("#", "");
263
- const full = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
264
- return [parseInt(full.slice(0, 2), 16), parseInt(full.slice(2, 4), 16), parseInt(full.slice(4, 6), 16)];
265
- }
266
- function rgbToHsl(r, g, b) {
267
- r /= 255;
268
- g /= 255;
269
- b /= 255;
270
- const max = Math.max(r, g, b), min = Math.min(r, g, b);
271
- const l = (max + min) / 2;
272
- if (max === min) return [0, 0, l];
273
- const d = max - min;
274
- const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
275
- let h = 0;
276
- if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
277
- else if (max === g) h = ((b - r) / d + 2) / 6;
278
- else h = ((r - g) / d + 4) / 6;
279
- return [h * 360, s, l];
280
- }
281
- function hslToHex(h, s, l) {
282
- h /= 360;
283
- const hue2rgb = (p, q, t) => {
284
- if (t < 0) t += 1;
285
- if (t > 1) t -= 1;
286
- if (t < 1 / 6) return p + (q - p) * 6 * t;
287
- if (t < 1 / 2) return q;
288
- if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
289
- return p;
290
- };
291
- let r, g, b;
292
- if (s === 0) {
293
- r = g = b = l;
294
- } else {
295
- const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
296
- const p = 2 * l - q;
297
- r = hue2rgb(p, q, h + 1 / 3);
298
- g = hue2rgb(p, q, h);
299
- b = hue2rgb(p, q, h - 1 / 3);
300
- }
301
- const toHex = (n) => Math.round(Math.min(255, Math.max(0, n * 255))).toString(16).padStart(2, "0");
302
- return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
303
- }
304
- function generateShades(hex) {
305
- const [r, g, b] = hexToRgb(hex);
306
- const [h, s, l] = rgbToHsl(r, g, b);
307
- const targets = [
308
- 0.95,
309
- 0.88,
310
- 0.78,
311
- 0.65,
312
- 0.55,
313
- 0.48,
314
- l,
315
- Math.max(l - 0.08, 0.08),
316
- Math.max(l - 0.16, 0.05),
317
- Math.max(l - 0.24, 0.03)
318
- ];
319
- return targets.map((tl) => hslToHex(h, s, tl));
320
- }
321
-
322
- // src/theme/presets/default.ts
323
- var defaultPreset = {
324
- subtitleFontFamily: '"Inter", sans-serif',
325
- fontImports: ["https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"],
326
- light: {
327
- primary: "#0099ff",
328
- primaryContrast: "#ffffff",
329
- background: "#ededf0",
330
- surface: "#f5f5f5",
331
- surfaceHover: "#f2f2f2",
332
- text: "#212529",
333
- textDimmed: "#495057",
334
- textSubtle: "#868e96",
335
- border: "#ddd",
336
- error: "#dc3545",
337
- warning: "#fd7e14",
338
- success: "#28a745",
339
- glassBackground: "rgba(252, 252, 252, 0.6)",
340
- glassBlur: "blur(10px)",
341
- shadow: "0px 3px 5px -4px rgba(0, 0, 0, 0.18)",
342
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.02), 0 2px 4px rgba(0, 0, 0, 0.02), 0 4px 8px rgba(0, 0, 0, 0.02), 0 8px 16px rgba(0, 0, 0, 0.02)",
343
- durationFast: "150ms",
344
- durationNormal: "250ms",
345
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
346
- },
347
- dark: {
348
- primary: "#0099ff",
349
- primaryContrast: "#ffffff",
350
- background: "#040404",
351
- surface: "#111112",
352
- surfaceHover: "#191919",
353
- text: "#ffffff",
354
- textDimmed: "#c1c2c5",
355
- textSubtle: "#999999",
356
- border: "#1C1C1C",
357
- error: "#ff5252",
358
- warning: "#ff9800",
359
- success: "#4caf50",
360
- glassBackground: "rgba(15, 15, 15, 0.6)",
361
- glassBlur: "blur(10px)",
362
- shadow: "0px 3px 6px -2px rgba(0, 0, 0, .9)",
363
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 2px 4px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.2), 0 8px 16px rgba(0, 0, 0, 0.2)",
364
- durationFast: "150ms",
365
- durationNormal: "250ms",
366
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
367
- }
368
- };
369
-
370
- // src/theme/presets/tactical.ts
371
- var tacticalPreset = {
372
- light: {
373
- primary: "#0099ff",
374
- primaryContrast: "#ffffff",
375
- background: "#EAEBEE",
376
- surface: "#F3F3F6",
377
- surfaceHover: "#DFDFE4",
378
- text: "#0F1319",
379
- textDimmed: "#3B4559",
380
- textSubtle: "#5D677B",
381
- border: "#C5CCD6",
382
- error: "#D32F2F",
383
- warning: "#ED6C02",
384
- success: "#2E7D32",
385
- glassBackground: "rgba(243, 243, 246, 0.6)",
386
- glassBlur: "blur(14px)",
387
- shadow: "0px 2px 4px -2px rgba(15, 19, 25, 0.12)",
388
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(15, 19, 25, 0.06), 0 4px 8px rgba(15, 19, 25, 0.04)",
389
- durationFast: "100ms",
390
- durationNormal: "180ms",
391
- easing: "cubic-bezier(0.22, 0, 0.1, 1)"
392
- },
393
- dark: {
394
- primary: "#0099ff",
395
- primaryContrast: "#ffffff",
396
- background: "#020305",
397
- surface: "#0E0F14",
398
- surfaceHover: "#16171D",
399
- text: "#EFF2F7",
400
- textDimmed: "#B0BCD2",
401
- textSubtle: "#8898AE",
402
- border: "#181C2D",
403
- error: "#FF4757",
404
- warning: "#FFA502",
405
- success: "#2ED573",
406
- glassBackground: "rgba(13, 14, 18, 0.58)",
407
- glassBlur: "blur(16px)",
408
- shadow: "0px 2px 6px -2px rgba(0, 0, 0, 0.9)",
409
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 1px 3px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.28), 0 8px 16px rgba(0, 0, 0, 0.18)",
410
- durationFast: "100ms",
411
- durationNormal: "180ms",
412
- easing: "cubic-bezier(0.22, 0, 0.1, 1)"
413
- },
414
- subtitleFontFamily: '"Chakra Petch", sans-serif',
415
- mantine: {
416
- fontFamily: '"Chakra Petch", sans-serif',
417
- headings: {
418
- fontFamily: '"Chakra Petch", sans-serif'
419
- }
420
- },
421
- fontImports: ["https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&display=swap"]
422
- };
423
-
424
- // src/theme/presets/regal.ts
425
- var regalPreset = {
426
- light: {
427
- primary: "#B8922F",
428
- primaryContrast: "#ffffff",
429
- background: "#F0F0F2",
430
- surface: "#F7F7F8",
431
- surfaceHover: "#E9E9EB",
432
- text: "#2E2E30",
433
- textDimmed: "#50505A",
434
- textSubtle: "#8E8E96",
435
- border: "#CCCCD2",
436
- error: "#A83232",
437
- warning: "#B87A1A",
438
- success: "#3A7A3A",
439
- glassBackground: "rgba(247, 247, 248, 0.6)",
440
- glassBlur: "blur(12px)",
441
- shadow: "0px 2px 6px -2px rgba(20, 20, 20, 0.12)",
442
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(20, 20, 20, 0.06), 0 4px 8px rgba(20, 20, 20, 0.04)",
443
- durationFast: "180ms",
444
- durationNormal: "320ms",
445
- easing: "cubic-bezier(0.25, 0.1, 0.25, 1)"
446
- },
447
- dark: {
448
- primary: "#D4A843",
449
- primaryContrast: "#1A1400",
450
- background: "#000000",
451
- surface: "#0E0E0E",
452
- surfaceHover: "#181818",
453
- text: "#F5EEE0",
454
- textDimmed: "#C8BA98",
455
- textSubtle: "#A89880",
456
- border: "#1D1D1D",
457
- error: "#E05252",
458
- warning: "#D4943C",
459
- success: "#4AA84A",
460
- glassBackground: "rgba(14, 14, 14, 0.6)",
461
- glassBlur: "blur(14px)",
462
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
463
- cardShadow: "inset 0 1px 0 rgba(212, 168, 67, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
464
- durationFast: "180ms",
465
- durationNormal: "320ms",
466
- easing: "cubic-bezier(0.25, 0.1, 0.25, 1)"
467
- },
468
- subtitleFontFamily: '"Raleway", sans-serif',
469
- mantine: {
470
- defaultRadius: "xs",
471
- fontFamily: '"Inter", sans-serif',
472
- headings: {
473
- fontFamily: '"Cinzel", serif',
474
- fontWeight: "600"
475
- }
476
- },
477
- fontImports: [
478
- "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap",
479
- "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",
480
- "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap"
481
- ]
482
- };
483
-
484
- // src/theme/presets/cyber-volt.ts
485
- var cyberVoltPreset = {
486
- light: {
487
- primary: "#0097A7",
488
- primaryContrast: "#ffffff",
489
- background: "#E0E6EE",
490
- surface: "#EAEDF3",
491
- surfaceHover: "#D6DCE6",
492
- text: "#0A0E14",
493
- textDimmed: "#2E3A4D",
494
- textSubtle: "#556680",
495
- border: "#B0BCD0",
496
- error: "#FF1744",
497
- warning: "#FF9100",
498
- success: "#00E676",
499
- glassBackground: "rgba(234, 238, 244, 0.6)",
500
- glassBlur: "blur(14px)",
501
- shadow: "0px 2px 4px -2px rgba(0, 151, 167, 0.08)",
502
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
503
- durationFast: "80ms",
504
- durationNormal: "160ms",
505
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
506
- },
507
- dark: {
508
- primary: "#00ACC1",
509
- primaryContrast: "#ffffff",
510
- background: "#030506",
511
- surface: "#0E1520",
512
- surfaceHover: "#16202E",
513
- text: "#E0F7FA",
514
- textDimmed: "#80DEEA",
515
- textSubtle: "#68C8BE",
516
- border: "#192232",
517
- error: "#FF1744",
518
- warning: "#FF9100",
519
- success: "#00E676",
520
- glassBackground: "rgba(12, 20, 30, 0.57)",
521
- glassBlur: "blur(18px)",
522
- shadow: "0px 2px 8px -2px rgba(0, 229, 255, 0.15)",
523
- cardShadow: "inset 0 1px 0 rgba(0, 229, 255, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(0, 229, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.25)",
524
- durationFast: "80ms",
525
- durationNormal: "160ms",
526
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
527
- },
528
- subtitleFontFamily: '"Exo 2", sans-serif',
529
- mantine: {
530
- fontFamily: '"JetBrains Mono", monospace',
531
- headings: {
532
- fontFamily: '"Orbitron", sans-serif'
533
- },
534
- components: {
535
- Title: {
536
- styles: { root: { letterSpacing: "-0.05em" } }
537
- }
538
- }
539
- },
540
- fontImports: [
541
- "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700&display=swap",
542
- "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
543
- "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
544
- ]
545
- };
546
-
547
- // src/theme/presets/aurora.ts
548
- var auroraPreset = {
549
- light: {
550
- primary: "#00897B",
551
- primaryContrast: "#ffffff",
552
- background: "#EFF5F3",
553
- surface: "#F5FAF8",
554
- surfaceHover: "#E4EDEA",
555
- text: "#1A2E28",
556
- textDimmed: "#3D5E54",
557
- textSubtle: "#507368",
558
- border: "#C4D9D2",
559
- error: "#E53935",
560
- warning: "#FB8C00",
561
- success: "#43A047",
562
- glassBackground: "rgba(245, 250, 248, 0.6)",
563
- glassBlur: "blur(12px)",
564
- shadow: "0px 2px 6px -2px rgba(0, 137, 123, 0.08)",
565
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.03)",
566
- durationFast: "160ms",
567
- durationNormal: "280ms",
568
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
569
- },
570
- dark: {
571
- primary: "#00A88A",
572
- primaryContrast: "#ffffff",
573
- background: "#020807",
574
- surface: "#0C1612",
575
- surfaceHover: "#1A2C28",
576
- text: "#E0F2F1",
577
- textDimmed: "#80CBC4",
578
- textSubtle: "#68C8BE",
579
- border: "#1A2D28",
580
- error: "#FF5252",
581
- warning: "#FFB74D",
582
- success: "#69F0AE",
583
- glassBackground: "rgba(12, 20, 18, 0.7)",
584
- glassBlur: "blur(14px)",
585
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.9)",
586
- cardShadow: "inset 0 1px 0 rgba(29, 233, 182, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(0, 0, 0, 0.18)",
587
- durationFast: "160ms",
588
- durationNormal: "280ms",
589
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
590
- },
591
- subtitleFontFamily: '"Nunito", sans-serif',
592
- mantine: {
593
- defaultRadius: "sm",
594
- fontFamily: '"Nunito", sans-serif',
595
- headings: {
596
- fontFamily: '"Nunito", sans-serif',
597
- fontWeight: "700"
598
- }
599
- },
600
- fontImports: ["https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap"]
601
- };
602
-
603
- // src/theme/presets/rose-gold.ts
604
- var roseGoldPreset = {
605
- light: {
606
- primary: "#A8695E",
607
- primaryContrast: "#ffffff",
608
- background: "#F4F0EE",
609
- surface: "#FAF6F5",
610
- surfaceHover: "#EDE6E4",
611
- text: "#2D2325",
612
- textDimmed: "#5A4448",
613
- textSubtle: "#9A848A",
614
- border: "#DDD0CC",
615
- error: "#C62828",
616
- warning: "#E65100",
617
- success: "#2E7D32",
618
- glassBackground: "rgba(250, 246, 245, 0.6)",
619
- glassBlur: "blur(12px)",
620
- shadow: "0px 2px 6px -2px rgba(192, 122, 110, 0.1)",
621
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(45, 35, 37, 0.05), 0 4px 8px rgba(45, 35, 37, 0.04)",
622
- durationFast: "160ms",
623
- durationNormal: "300ms",
624
- easing: "cubic-bezier(0.25, 0.1, 0.25, 1)"
625
- },
626
- dark: {
627
- primary: "#C8897C",
628
- primaryContrast: "#2D1A16",
629
- background: "#070405",
630
- surface: "#161011",
631
- surfaceHover: "#221A1C",
632
- text: "#F5E8E6",
633
- textDimmed: "#D8B8B2",
634
- textSubtle: "#B89A94",
635
- border: "#2A1E20",
636
- error: "#EF5350",
637
- warning: "#FF8A65",
638
- success: "#66BB6A",
639
- glassBackground: "rgba(22, 16, 17, 0.65)",
640
- glassBlur: "blur(14px)",
641
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
642
- cardShadow: "inset 0 1px 0 rgba(232, 165, 152, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
643
- durationFast: "160ms",
644
- durationNormal: "300ms",
645
- easing: "cubic-bezier(0.25, 0.1, 0.25, 1)"
646
- },
647
- subtitleFontFamily: '"Lora", serif',
648
- mantine: {
649
- defaultRadius: "sm",
650
- fontFamily: '"DM Sans", sans-serif',
651
- headings: {
652
- fontFamily: '"Playfair Display", serif',
653
- fontWeight: "600"
654
- }
655
- },
656
- fontImports: [
657
- "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap",
658
- "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap",
659
- "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap"
660
- ]
661
- };
662
-
663
- // src/theme/presets/midnight.ts
664
- var midnightPreset = {
665
- light: {
666
- primary: "#7C4DFF",
667
- primaryContrast: "#ffffff",
668
- background: "#EEEDF4",
669
- surface: "#F5F4FA",
670
- surfaceHover: "#E3E1ED",
671
- text: "#1A1528",
672
- textDimmed: "#4A4260",
673
- textSubtle: "#7A7294",
674
- border: "#CCC8DA",
675
- error: "#D32F2F",
676
- warning: "#F57C00",
677
- success: "#388E3C",
678
- glassBackground: "rgba(245, 244, 250, 0.6)",
679
- glassBlur: "blur(12px)",
680
- shadow: "0px 2px 6px -2px rgba(124, 77, 255, 0.08)",
681
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(26, 21, 40, 0.05), 0 4px 8px rgba(26, 21, 40, 0.04)",
682
- durationFast: "140ms",
683
- durationNormal: "260ms",
684
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
685
- },
686
- dark: {
687
- primary: "#9575CD",
688
- primaryContrast: "#1A1528",
689
- background: "#030208",
690
- surface: "#110F1B",
691
- surfaceHover: "#1E1A2C",
692
- text: "#EDE7F6",
693
- textDimmed: "#C0AAE5",
694
- textSubtle: "#A898D0",
695
- border: "#1E1A30",
696
- error: "#FF5252",
697
- warning: "#FFB74D",
698
- success: "#69F0AE",
699
- glassBackground: "rgba(16, 14, 26, 0.65)",
700
- glassBlur: "blur(16px)",
701
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
702
- cardShadow: "inset 0 1px 0 rgba(179, 136, 255, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
703
- durationFast: "140ms",
704
- durationNormal: "260ms",
705
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
706
- },
707
- subtitleFontFamily: '"Red Hat Display", sans-serif',
708
- mantine: {
709
- defaultRadius: "xs",
710
- fontFamily: '"Space Grotesk", sans-serif',
711
- headings: {
712
- fontFamily: '"Raleway", sans-serif',
713
- fontWeight: "600"
714
- },
715
- components: {
716
- Title: {
717
- styles: { root: { letterSpacing: "-0.02em" } }
718
- }
719
- }
720
- },
721
- fontImports: [
722
- "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap",
723
- "https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap",
724
- "https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;600;700&display=swap"
725
- ]
726
- };
727
-
728
- // src/theme/presets/ember.ts
729
- var emberPreset = {
730
- light: {
731
- primary: "#D4603A",
732
- primaryContrast: "#ffffff",
733
- background: "#F3EFEB",
734
- surface: "#F9F6F3",
735
- surfaceHover: "#ECE6E0",
736
- text: "#2C2118",
737
- textDimmed: "#5E4A3A",
738
- textSubtle: "#8D7A6A",
739
- border: "#D6CABE",
740
- error: "#C62828",
741
- warning: "#E65100",
742
- success: "#33691E",
743
- glassBackground: "rgba(249, 246, 243, 0.6)",
744
- glassBlur: "blur(12px)",
745
- shadow: "0px 2px 6px -2px rgba(212, 96, 58, 0.08)",
746
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(44, 33, 24, 0.05), 0 4px 8px rgba(44, 33, 24, 0.04)",
747
- durationFast: "150ms",
748
- durationNormal: "280ms",
749
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
750
- },
751
- dark: {
752
- primary: "#E87B55",
753
- primaryContrast: "#1A0E08",
754
- background: "#060302",
755
- surface: "#15100D",
756
- surfaceHover: "#1C1610",
757
- text: "#F5EDE6",
758
- textDimmed: "#D4B9A0",
759
- textSubtle: "#B8A090",
760
- border: "#2A211A",
761
- error: "#EF5350",
762
- warning: "#FF8A65",
763
- success: "#8BC34A",
764
- glassBackground: "rgba(20, 16, 12, 0.6)",
765
- glassBlur: "blur(14px)",
766
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
767
- cardShadow: "inset 0 1px 0 rgba(232, 123, 85, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
768
- durationFast: "150ms",
769
- durationNormal: "280ms",
770
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
771
- },
772
- subtitleFontFamily: '"Source Serif 4", serif',
773
- mantine: {
774
- defaultRadius: "sm",
775
- fontFamily: '"Source Sans 3", sans-serif',
776
- headings: {
777
- fontFamily: '"Libre Baskerville", serif',
778
- fontWeight: "700"
779
- }
780
- },
781
- fontImports: [
782
- "https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap",
783
- "https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap",
784
- "https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600;700&display=swap"
785
- ]
786
- };
787
-
788
- // src/theme/presets/obsidian.ts
789
- var obsidianPreset = {
790
- light: {
791
- primary: "#48484F",
792
- primaryContrast: "#ffffff",
793
- background: "#F2F2F4",
794
- surface: "#FAFAFA",
795
- surfaceHover: "#EDEDEF",
796
- text: "#111114",
797
- textDimmed: "#44444C",
798
- textSubtle: "#78788A",
799
- border: "#D8D8DC",
800
- error: "#C62828",
801
- warning: "#E65100",
802
- success: "#2E7D32",
803
- glassBackground: "rgba(250, 250, 250, 0.6)",
804
- glassBlur: "blur(10px)",
805
- shadow: "0px 2px 4px -2px rgba(0, 0, 0, 0.1)",
806
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(0, 0, 0, 0.04), 0 4px 8px rgba(0, 0, 0, 0.03)",
807
- durationFast: "120ms",
808
- durationNormal: "220ms",
809
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
810
- },
811
- dark: {
812
- primary: "#808088",
813
- primaryContrast: "#F0F0F2",
814
- background: "#030304",
815
- surface: "#111113",
816
- surfaceHover: "#1C1C20",
817
- text: "#F0F0F2",
818
- textDimmed: "#B0B0B8",
819
- textSubtle: "#A0A0A8",
820
- border: "#1E1E22",
821
- error: "#FF5252",
822
- warning: "#FF9800",
823
- success: "#4CAF50",
824
- glassBackground: "rgba(16, 16, 17, 0.55)",
825
- glassBlur: "blur(12px)",
826
- shadow: "0px 3px 6px -2px rgba(0, 0, 0, 0.9)",
827
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.25), 0 8px 16px rgba(0, 0, 0, 0.18)",
828
- durationFast: "120ms",
829
- durationNormal: "220ms",
830
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
831
- },
832
- subtitleFontFamily: '"DM Sans", sans-serif',
833
- mantine: {
834
- fontFamily: '"DM Sans", sans-serif',
835
- headings: {
836
- fontFamily: '"DM Mono", monospace',
837
- fontWeight: "500"
838
- }
839
- },
840
- fontImports: [
841
- "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap",
842
- "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap"
843
- ]
844
- };
845
-
846
- // src/theme/presets/honey.ts
847
- var honeyPreset = {
848
- light: {
849
- primary: "#A06A08",
850
- primaryContrast: "#ffffff",
851
- background: "#F5F0E8",
852
- surface: "#FBF7F0",
853
- surfaceHover: "#EDE5D8",
854
- text: "#2A1F0A",
855
- textDimmed: "#5C4820",
856
- textSubtle: "#8A7450",
857
- border: "#E0D0B0",
858
- error: "#C62828",
859
- warning: "#E65100",
860
- success: "#33691E",
861
- glassBackground: "rgba(251, 247, 240, 0.6)",
862
- glassBlur: "blur(12px)",
863
- shadow: "0px 2px 6px -2px rgba(160, 106, 8, 0.1)",
864
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(42, 31, 10, 0.05), 0 4px 8px rgba(42, 31, 10, 0.04)",
865
- durationFast: "140ms",
866
- durationNormal: "260ms",
867
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
868
- },
869
- dark: {
870
- primary: "#E8A820",
871
- primaryContrast: "#1A1200",
872
- background: "#060400",
873
- surface: "#141108",
874
- surfaceHover: "#1C1808",
875
- text: "#FDF0D0",
876
- textDimmed: "#D8C070",
877
- textSubtle: "#B8A060",
878
- border: "#2A2210",
879
- error: "#EF5350",
880
- warning: "#FF8A65",
881
- success: "#8BC34A",
882
- glassBackground: "rgba(22, 19, 9, 0.6)",
883
- glassBlur: "blur(14px)",
884
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
885
- cardShadow: "inset 0 1px 0 rgba(232, 168, 32, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
886
- durationFast: "140ms",
887
- durationNormal: "260ms",
888
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
889
- },
890
- subtitleFontFamily: '"Outfit", sans-serif',
891
- mantine: {
892
- defaultRadius: "sm",
893
- fontFamily: '"Inter", sans-serif',
894
- headings: {
895
- fontFamily: '"Syne", sans-serif'
896
- },
897
- components: {
898
- Title: {
899
- styles: { root: { letterSpacing: "-0.06em" } }
900
- }
901
- }
902
- },
903
- fontImports: [
904
- "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700&display=swap",
905
- "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",
906
- "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap"
907
- ]
908
- };
909
-
910
- // src/theme/presets/abyss.ts
911
- var abyssPreset = {
912
- light: {
913
- primary: "#0A70B0",
914
- primaryContrast: "#ffffff",
915
- background: "#EDF1F5",
916
- surface: "#F3F7FA",
917
- surfaceHover: "#E0E8EE",
918
- text: "#0A1828",
919
- textDimmed: "#2A4060",
920
- textSubtle: "#5A7890",
921
- border: "#C0CED8",
922
- error: "#D32F2F",
923
- warning: "#F57C00",
924
- success: "#388E3C",
925
- glassBackground: "rgba(243, 247, 250, 0.6)",
926
- glassBlur: "blur(12px)",
927
- shadow: "0px 2px 6px -2px rgba(10, 112, 176, 0.08)",
928
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(10, 24, 40, 0.05), 0 4px 8px rgba(10, 24, 40, 0.04)",
929
- durationFast: "130ms",
930
- durationNormal: "240ms",
931
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
932
- },
933
- dark: {
934
- primary: "#1090D8",
935
- primaryContrast: "#ffffff",
936
- background: "#010508",
937
- surface: "#07101A",
938
- surfaceHover: "#122838",
939
- text: "#E4F0FC",
940
- textDimmed: "#A0C8E8",
941
- textSubtle: "#78A8C0",
942
- border: "#0F2030",
943
- error: "#FF5252",
944
- warning: "#FFB74D",
945
- success: "#69F0AE",
946
- glassBackground: "rgba(5, 18, 26, 0.65)",
947
- glassBlur: "blur(16px)",
948
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
949
- cardShadow: "inset 0 1px 0 rgba(16, 144, 216, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
950
- durationFast: "130ms",
951
- durationNormal: "240ms",
952
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
953
- },
954
- subtitleFontFamily: '"Outfit", sans-serif',
955
- mantine: {
956
- defaultRadius: "sm",
957
- fontFamily: '"Outfit", sans-serif',
958
- headings: {
959
- fontFamily: '"Outfit", sans-serif',
960
- fontWeight: "700"
961
- }
962
- },
963
- fontImports: ["https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap"]
964
- };
965
-
966
- // src/theme/presets/canopy.ts
967
- var canopyPreset = {
968
- light: {
969
- primary: "#2E7A40",
970
- primaryContrast: "#ffffff",
971
- background: "#EDF3EE",
972
- surface: "#F4F8F5",
973
- surfaceHover: "#E0EBE2",
974
- text: "#0F2415",
975
- textDimmed: "#2D5235",
976
- textSubtle: "#5A7D62",
977
- border: "#C0D4C4",
978
- error: "#C62828",
979
- warning: "#E65100",
980
- success: "#33691E",
981
- glassBackground: "rgba(244, 248, 245, 0.6)",
982
- glassBlur: "blur(12px)",
983
- shadow: "0px 2px 6px -2px rgba(46, 122, 64, 0.08)",
984
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(15, 36, 21, 0.05), 0 4px 8px rgba(15, 36, 21, 0.04)",
985
- durationFast: "150ms",
986
- durationNormal: "280ms",
987
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
988
- },
989
- dark: {
990
- primary: "#4AA860",
991
- primaryContrast: "#ffffff",
992
- background: "#030705",
993
- surface: "#0B150F",
994
- surfaceHover: "#162818",
995
- text: "#E0F0E4",
996
- textDimmed: "#98C8A4",
997
- textSubtle: "#80A090",
998
- border: "#142018",
999
- error: "#EF5350",
1000
- warning: "#FF8A65",
1001
- success: "#8BC34A",
1002
- glassBackground: "rgba(16, 23, 18, 0.6)",
1003
- glassBlur: "blur(14px)",
1004
- shadow: "0px 3px 8px -2px rgba(0, 0, 0, 0.95)",
1005
- cardShadow: "inset 0 1px 0 rgba(74, 168, 96, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2)",
1006
- durationFast: "150ms",
1007
- durationNormal: "280ms",
1008
- easing: "cubic-bezier(0.4, 0, 0.2, 1)"
1009
- },
1010
- subtitleFontFamily: '"Lora", serif',
1011
- mantine: {
1012
- defaultRadius: "sm",
1013
- fontFamily: '"Lato", sans-serif',
1014
- headings: {
1015
- fontFamily: '"Fraunces", serif',
1016
- fontWeight: "600"
1017
- }
1018
- },
1019
- fontImports: [
1020
- "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&display=swap",
1021
- "https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap",
1022
- "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap"
1023
- ]
1024
- };
1025
-
1026
- // src/theme/presets/slate.ts
1027
- var slatePreset = {
1028
- light: {
1029
- primary: "#4A6E8E",
1030
- primaryContrast: "#ffffff",
1031
- background: "#ECEEF0",
1032
- surface: "#F3F4F6",
1033
- surfaceHover: "#E0E3E7",
1034
- text: "#161C22",
1035
- textDimmed: "#404C58",
1036
- textSubtle: "#6A7A88",
1037
- border: "#C8D0D8",
1038
- error: "#D32F2F",
1039
- warning: "#F57C00",
1040
- success: "#388E3C",
1041
- glassBackground: "rgba(243, 244, 246, 0.6)",
1042
- glassBlur: "blur(10px)",
1043
- shadow: "0px 2px 4px -2px rgba(74, 110, 142, 0.08)",
1044
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 4px rgba(22, 28, 34, 0.05), 0 4px 8px rgba(22, 28, 34, 0.04)",
1045
- durationFast: "110ms",
1046
- durationNormal: "200ms",
1047
- easing: "cubic-bezier(0.22, 0, 0.1, 1)"
1048
- },
1049
- dark: {
1050
- primary: "#6A8FAD",
1051
- primaryContrast: "#0E1218",
1052
- background: "#010305",
1053
- surface: "#0E1218",
1054
- surfaceHover: "#1C2830",
1055
- text: "#E8F0F8",
1056
- textDimmed: "#A8C4DC",
1057
- textSubtle: "#80A0B0",
1058
- border: "#182028",
1059
- error: "#FF5252",
1060
- warning: "#FFB74D",
1061
- success: "#69F0AE",
1062
- glassBackground: "rgba(12, 16, 22, 0.65)",
1063
- glassBlur: "blur(14px)",
1064
- shadow: "0px 3px 6px -2px rgba(0, 0, 0, 0.9)",
1065
- cardShadow: "inset 0 1px 0 rgba(123, 158, 188, 0.04), 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.25), 0 8px 16px rgba(0, 0, 0, 0.18)",
1066
- durationFast: "110ms",
1067
- durationNormal: "200ms",
1068
- easing: "cubic-bezier(0.22, 0, 0.1, 1)"
1069
- },
1070
- subtitleFontFamily: '"Quantico", sans-serif',
1071
- mantine: {
1072
- fontFamily: '"IBM Plex Sans", sans-serif',
1073
- headings: {
1074
- fontFamily: '"Quantico", sans-serif',
1075
- fontWeight: "600"
1076
- }
1077
- },
1078
- fontImports: [
1079
- "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap",
1080
- "https://fonts.googleapis.com/css2?family=Quantico:ital,wght@0,400;0,700;1,400;1,700&display=swap"
1081
- ]
1082
- };
1083
-
1084
- // src/theme/presets/cyber-strike.ts
1085
- var cyberStrikePreset = {
1086
- light: {
1087
- primary: "#FF1744",
1088
- primaryContrast: "#ffffff",
1089
- background: "#EBE0E3",
1090
- surface: "#F3EAEB",
1091
- surfaceHover: "#E4D6DB",
1092
- text: "#140A0C",
1093
- textDimmed: "#4D2E35",
1094
- textSubtle: "#805560",
1095
- border: "#CCB0B8",
1096
- error: "#FF1744",
1097
- warning: "#FF9100",
1098
- success: "#00E676",
1099
- glassBackground: "rgba(242, 234, 236, 0.6)",
1100
- glassBlur: "blur(14px)",
1101
- shadow: "0px 2px 4px -2px rgba(255, 23, 68, 0.08)",
1102
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
1103
- durationFast: "80ms",
1104
- durationNormal: "160ms",
1105
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1106
- },
1107
- dark: {
1108
- primary: "#FF1744",
1109
- primaryContrast: "#ffffff",
1110
- background: "#060404",
1111
- surface: "#180C10",
1112
- surfaceHover: "#26181E",
1113
- text: "#FAE0E4",
1114
- textDimmed: "#F0A0B0",
1115
- textSubtle: "#D08090",
1116
- border: "#33161D",
1117
- error: "#FF1744",
1118
- warning: "#FF9100",
1119
- success: "#00E676",
1120
- glassBackground: "rgba(23, 17, 21, 0.57)",
1121
- glassBlur: "blur(18px)",
1122
- shadow: "0px 2px 8px -2px rgba(255, 23, 68, 0.15)",
1123
- cardShadow: "inset 0 1px 0 rgba(255, 23, 68, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(255, 23, 68, 0.06), 0 8px 24px rgba(0, 0, 0, 0.25)",
1124
- durationFast: "80ms",
1125
- durationNormal: "160ms",
1126
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1127
- },
1128
- subtitleFontFamily: '"Exo 2", sans-serif',
1129
- mantine: {
1130
- fontFamily: '"JetBrains Mono", monospace',
1131
- headings: {
1132
- fontFamily: '"Chakra Petch", sans-serif'
1133
- }
1134
- },
1135
- fontImports: [
1136
- "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;600;700&display=swap",
1137
- "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1138
- "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1139
- ]
1140
- };
1141
-
1142
- // src/theme/presets/cyber-flux.ts
1143
- var cyberFluxPreset = {
1144
- light: {
1145
- primary: "#C49000",
1146
- primaryContrast: "#ffffff",
1147
- background: "#EBE8DF",
1148
- surface: "#F3EFEA",
1149
- surfaceHover: "#E4E0D5",
1150
- text: "#14120A",
1151
- textDimmed: "#4D462E",
1152
- textSubtle: "#807555",
1153
- border: "#CCC5B0",
1154
- error: "#FF1744",
1155
- warning: "#FF9100",
1156
- success: "#00E676",
1157
- glassBackground: "rgba(242, 240, 233, 0.6)",
1158
- glassBlur: "blur(14px)",
1159
- shadow: "0px 2px 4px -2px rgba(196, 144, 0, 0.08)",
1160
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
1161
- durationFast: "80ms",
1162
- durationNormal: "160ms",
1163
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1164
- },
1165
- dark: {
1166
- primary: "#C8A600",
1167
- primaryContrast: "#141200",
1168
- background: "#050503",
1169
- surface: "#17140C",
1170
- surfaceHover: "#282318",
1171
- text: "#FAF5E0",
1172
- textDimmed: "#EAD580",
1173
- textSubtle: "#AC9E4D",
1174
- border: "#232105",
1175
- error: "#FF1744",
1176
- warning: "#FF9100",
1177
- success: "#00E676",
1178
- glassBackground: "rgba(21, 19, 12, 0.57)",
1179
- glassBlur: "blur(18px)",
1180
- shadow: "0px 2px 8px -2px rgba(255, 214, 0, 0.15)",
1181
- cardShadow: "inset 0 1px 0 rgba(255, 214, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(255, 214, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.25)",
1182
- durationFast: "80ms",
1183
- durationNormal: "160ms",
1184
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1185
- },
1186
- subtitleFontFamily: '"Exo 2", sans-serif',
1187
- mantine: {
1188
- fontFamily: '"JetBrains Mono", monospace',
1189
- headings: {
1190
- fontFamily: '"Audiowide", sans-serif'
1191
- },
1192
- components: {
1193
- Title: {
1194
- styles: { root: { letterSpacing: "-0.05em" } }
1195
- }
1196
- }
1197
- },
1198
- fontImports: [
1199
- "https://fonts.googleapis.com/css2?family=Audiowide&display=swap",
1200
- "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1201
- "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1202
- ]
1203
- };
1204
-
1205
- // src/theme/presets/cyber-void.ts
1206
- var cyberVoidPreset = {
1207
- light: {
1208
- primary: "#2979FF",
1209
- primaryContrast: "#ffffff",
1210
- background: "#E0E5EE",
1211
- surface: "#EAEDF3",
1212
- surfaceHover: "#D6DBE5",
1213
- text: "#0A0D14",
1214
- textDimmed: "#2E374D",
1215
- textSubtle: "#556080",
1216
- border: "#B0B8CE",
1217
- error: "#FF1744",
1218
- warning: "#FF9100",
1219
- success: "#00E676",
1220
- glassBackground: "rgba(238, 241, 248, 0.6)",
1221
- glassBlur: "blur(14px)",
1222
- shadow: "0px 2px 4px -2px rgba(41, 121, 255, 0.08)",
1223
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.04)",
1224
- durationFast: "80ms",
1225
- durationNormal: "160ms",
1226
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1227
- },
1228
- dark: {
1229
- primary: "#2979FF",
1230
- primaryContrast: "#ffffff",
1231
- background: "#030507",
1232
- surface: "#0E131E",
1233
- surfaceHover: "#161E2C",
1234
- text: "#E0EAFA",
1235
- textDimmed: "#99BBEE",
1236
- textSubtle: "#80A0D0",
1237
- border: "#192033",
1238
- error: "#FF1744",
1239
- warning: "#FF9100",
1240
- success: "#00E676",
1241
- glassBackground: "rgba(14, 19, 30, 0.57)",
1242
- glassBlur: "blur(18px)",
1243
- shadow: "0px 2px 8px -2px rgba(41, 121, 255, 0.15)",
1244
- cardShadow: "inset 0 1px 0 rgba(41, 121, 255, 0.05), 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(41, 121, 255, 0.06), 0 8px 24px rgba(0, 0, 0, 0.25)",
1245
- durationFast: "80ms",
1246
- durationNormal: "160ms",
1247
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1248
- },
1249
- subtitleFontFamily: '"Exo 2", sans-serif',
1250
- mantine: {
1251
- fontFamily: '"JetBrains Mono", monospace',
1252
- headings: {
1253
- fontFamily: '"Share Tech Mono", monospace',
1254
- fontWeight: "400"
1255
- }
1256
- },
1257
- fontImports: [
1258
- "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap",
1259
- "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap",
1260
- "https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&display=swap"
1261
- ]
1262
- };
1263
-
1264
- // src/theme/presets/index.ts
1265
- var PRESETS = {
1266
- default: defaultPreset,
1267
- tactical: tacticalPreset,
1268
- regal: regalPreset,
1269
- "cyber-volt": cyberVoltPreset,
1270
- aurora: auroraPreset,
1271
- "rose-gold": roseGoldPreset,
1272
- midnight: midnightPreset,
1273
- ember: emberPreset,
1274
- obsidian: obsidianPreset,
1275
- honey: honeyPreset,
1276
- abyss: abyssPreset,
1277
- canopy: canopyPreset,
1278
- slate: slatePreset,
1279
- "cyber-strike": cyberStrikePreset,
1280
- "cyber-flux": cyberFluxPreset,
1281
- "cyber-void": cyberVoidPreset
1282
- };
1283
- function getPreset(name) {
1284
- return PRESETS[name] ?? PRESETS.default;
1285
- }
1286
-
1287
- // src/theme/cssVariables.ts
1288
- var TOKEN_VAR_MAP = {
1289
- primary: "--color-primary",
1290
- primaryContrast: "--color-primary-contrast",
1291
- background: "--color-background",
1292
- surface: "--color-surface",
1293
- surfaceHover: "--color-surface-hover",
1294
- text: "--color-text",
1295
- textDimmed: "--color-text-dimmed",
1296
- textSubtle: "--color-text-subtle",
1297
- border: "--color-border",
1298
- error: "--color-error",
1299
- warning: "--color-warning",
1300
- success: "--color-success",
1301
- glassBackground: "--glass-background",
1302
- glassBlur: "--glass-blur",
1303
- shadow: "--standard-box-shadow",
1304
- cardShadow: "--card-shadow",
1305
- durationFast: "--duration-fast",
1306
- durationNormal: "--duration-normal",
1307
- easing: "--easing"
1308
- };
1309
- var FRAMEWORK_BRIDGE = {
1310
- "--mantine-color-text": "var(--color-text)",
1311
- "--mantine-color-body": "var(--color-background)",
1312
- "--mantine-color-dimmed": "var(--color-text-dimmed)",
1313
- // Primary color functional variants — used by Tabs, SegmentedControl, Badge, Button, etc.
1314
- "--mantine-primary-color-filled": "var(--color-primary)",
1315
- "--mantine-primary-color-filled-hover": "color-mix(in srgb, var(--color-primary) 90%, black)",
1316
- "--mantine-primary-color-light": "color-mix(in srgb, var(--color-primary) 15%, transparent)",
1317
- "--mantine-primary-color-light-hover": "color-mix(in srgb, var(--color-primary) 20%, transparent)",
1318
- "--mantine-primary-color-light-color": "var(--color-primary)",
1319
- "--mantine-primary-color-contrast": "var(--color-primary-contrast)",
1320
- // Active/selected state — used by selectable cards, active filters, plan tiers, etc.
1321
- "--active-border": "1px solid color-mix(in srgb, var(--color-primary) 40%, var(--color-border))",
1322
- "--active-background": "color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))"
1323
- };
1324
- function shadesToVars(shades) {
1325
- const vars = {};
1326
- for (let i = 0; i < shades.length; i++) {
1327
- vars[`--mantine-color-primary-${i}`] = shades[i];
1328
- }
1329
- return vars;
1330
- }
1331
- function presetToVars(tokens) {
1332
- const result = {};
1333
- for (const [key, varName] of Object.entries(TOKEN_VAR_MAP)) {
1334
- const value = tokens[key];
1335
- if (value) result[varName] = value;
1336
- }
1337
- return result;
1338
- }
1339
- function mapTokens(tokens) {
1340
- if (!tokens) return {};
1341
- const result = {};
1342
- for (const [key, varName] of Object.entries(TOKEN_VAR_MAP)) {
1343
- const value = tokens[key];
1344
- if (value) result[varName] = value;
1345
- }
1346
- return result;
1347
- }
1348
- function createCssVariablesResolver(tokens, preset) {
1349
- const resolved = getPreset(preset ?? "default");
1350
- const lightDefaults = presetToVars(resolved.light);
1351
- const darkDefaults = presetToVars(resolved.dark);
1352
- const flat = mapTokens(tokens);
1353
- const light = mapTokens(tokens?.light);
1354
- const dark = mapTokens(tokens?.dark);
1355
- const lightPrimary = tokens?.light?.primary ?? tokens?.primary ?? resolved.light.primary;
1356
- const darkPrimary = tokens?.dark?.primary ?? tokens?.primary ?? resolved.dark.primary;
1357
- const lightShades = shadesToVars(generateShades(lightPrimary));
1358
- const darkShades = shadesToVars(generateShades(darkPrimary));
1359
- return () => ({
1360
- variables: { ...FRAMEWORK_BRIDGE },
1361
- light: { ...lightShades, ...lightDefaults, ...flat, ...light },
1362
- dark: { ...darkShades, ...darkDefaults, ...flat, ...dark }
1363
- });
1364
- }
1365
- var mantineNotificationAdapter = {
1366
- success(title, message) {
1367
- notifications.show({
1368
- title,
1369
- message,
1370
- autoClose: 5e3,
1371
- color: "green",
1372
- position: "top-right"
1373
- });
1374
- },
1375
- error(title, message) {
1376
- notifications.show({
1377
- title,
1378
- message,
1379
- autoClose: 5e3,
1380
- color: "red",
1381
- position: "top-right"
1382
- });
1383
- },
1384
- info(title, message) {
1385
- notifications.show({
1386
- title,
1387
- message,
1388
- autoClose: 5e3,
1389
- color: "blue",
1390
- position: "top-right"
1391
- });
1392
- },
1393
- warning(title, message) {
1394
- notifications.show({
1395
- title,
1396
- message,
1397
- autoClose: 5e3,
1398
- color: "orange",
1399
- position: "top-right"
1400
- });
1401
- },
1402
- apiError(error) {
1403
- const { message, code, requestId, fields, retryAfter } = getErrorInfo(error);
1404
- notifications.show({
1405
- title: getErrorTitle(code),
1406
- message: formatErrorMessage(message, requestId, fields, retryAfter),
1407
- autoClose: retryAfter ? retryAfter * 1e3 : 5e3,
1408
- color: "red",
1409
- position: "top-right"
1410
- });
1411
- }
1412
- };
1413
- function ElevasisUIProvider({ theme, children, ...coreProps }) {
1414
- const resolvedColorScheme = theme?.colorScheme ?? "dark";
1415
- const preset = useMemo(() => getPreset(theme?.preset ?? "default"), [theme?.preset]);
1416
- useEffect(() => {
1417
- if (!preset.fontImports?.length) return;
1418
- const links = [];
1419
- for (const href of preset.fontImports) {
1420
- if (document.querySelector(`link[href="${href}"]`)) continue;
1421
- const link = document.createElement("link");
1422
- link.rel = "stylesheet";
1423
- link.href = href;
1424
- document.head.appendChild(link);
1425
- links.push(link);
1426
- }
1427
- const subtitleFont = preset.subtitleFontFamily ?? preset.mantine?.headings?.fontFamily ?? preset.mantine?.fontFamily ?? "";
1428
- document.documentElement.style.setProperty("--elevasis-font-family-subtitle", subtitleFont);
1429
- return () => {
1430
- links.forEach((l) => l.remove());
1431
- document.documentElement.style.removeProperty("--elevasis-font-family-subtitle");
1432
- };
1433
- }, [preset.fontImports, preset.subtitleFontFamily, preset.mantine?.headings?.fontFamily, preset.mantine?.fontFamily]);
1434
- const resolvedTheme = useMemo(() => {
1435
- const primaryHex = theme?.tokens?.primary ?? preset.dark.primary;
1436
- const primaryOverride = {
1437
- primaryColor: "primary",
1438
- colors: { primary: generateShades(primaryHex) }
1439
- };
1440
- let base = mergeThemeOverrides(mantineThemeOverride, primaryOverride);
1441
- if (preset.mantine) base = mergeThemeOverrides(base, preset.mantine);
1442
- return theme?.mantine ? mergeThemeOverrides(base, theme.mantine) : base;
1443
- }, [theme?.mantine, preset, theme?.tokens?.primary]);
1444
- const cssVariablesResolver = useMemo(
1445
- () => createCssVariablesResolver(theme?.tokens, theme?.preset),
1446
- [theme?.tokens, theme?.preset]
1447
- );
1448
- return /* @__PURE__ */ jsx(
1449
- MantineProvider,
1450
- {
1451
- theme: resolvedTheme,
1452
- defaultColorScheme: resolvedColorScheme,
1453
- cssVariablesResolver,
1454
- children: /* @__PURE__ */ jsx(ElevasisCoreProvider, { notifications: mantineNotificationAdapter, ...coreProps, children })
1455
- }
1456
- );
1457
- }
1458
- var ElevasisProvider = ElevasisUIProvider;
1459
-
1460
- export { ElevasisProvider, ElevasisUIProvider, createCssVariablesResolver, generateShades, getPreset, mantineNotificationAdapter, mantineThemeOverride };