@fluid-app/rep-core 0.1.0 → 0.1.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 (179) hide show
  1. package/dist/chunk-2IFFXFJL.js +621 -0
  2. package/dist/chunk-2IFFXFJL.js.map +1 -0
  3. package/dist/chunk-2SIG55BD.cjs +131 -0
  4. package/dist/chunk-2SIG55BD.cjs.map +1 -0
  5. package/dist/chunk-2SPTFZRC.js +72 -0
  6. package/dist/chunk-2SPTFZRC.js.map +1 -0
  7. package/dist/chunk-3I5Y3PEO.js +23 -0
  8. package/dist/chunk-3I5Y3PEO.js.map +1 -0
  9. package/dist/chunk-46PUWB7C.cjs +69 -0
  10. package/dist/chunk-46PUWB7C.cjs.map +1 -0
  11. package/dist/chunk-4WFDFEHC.js +134 -0
  12. package/dist/chunk-4WFDFEHC.js.map +1 -0
  13. package/dist/chunk-5NYM4UTW.cjs +58 -0
  14. package/dist/chunk-5NYM4UTW.cjs.map +1 -0
  15. package/dist/chunk-BWHUEED3.cjs +32 -0
  16. package/dist/chunk-BWHUEED3.cjs.map +1 -0
  17. package/dist/chunk-CMXYKDHC.cjs +666 -0
  18. package/dist/chunk-CMXYKDHC.cjs.map +1 -0
  19. package/dist/chunk-ESYAYVNK.cjs +136 -0
  20. package/dist/chunk-ESYAYVNK.cjs.map +1 -0
  21. package/dist/{chunk-6QLUUNJL.cjs → chunk-GDY76JA6.cjs} +2 -2
  22. package/dist/chunk-GDY76JA6.cjs.map +1 -0
  23. package/dist/chunk-HGVSPZEL.cjs +119 -0
  24. package/dist/chunk-HGVSPZEL.cjs.map +1 -0
  25. package/dist/chunk-HIDJYVKJ.js +54 -0
  26. package/dist/chunk-HIDJYVKJ.js.map +1 -0
  27. package/dist/chunk-HUR3MSO4.js +25 -0
  28. package/dist/chunk-HUR3MSO4.js.map +1 -0
  29. package/dist/chunk-LVLNO2YQ.cjs +28 -0
  30. package/dist/chunk-LVLNO2YQ.cjs.map +1 -0
  31. package/dist/chunk-N2K6W7FX.cjs +169 -0
  32. package/dist/chunk-N2K6W7FX.cjs.map +1 -0
  33. package/dist/chunk-NAMNXRI5.js +129 -0
  34. package/dist/chunk-NAMNXRI5.js.map +1 -0
  35. package/dist/chunk-OWU7MFJ2.cjs +15 -0
  36. package/dist/chunk-OWU7MFJ2.cjs.map +1 -0
  37. package/dist/chunk-PVTQWD4I.js +166 -0
  38. package/dist/chunk-PVTQWD4I.js.map +1 -0
  39. package/dist/chunk-PZ6BM57A.js +30 -0
  40. package/dist/chunk-PZ6BM57A.js.map +1 -0
  41. package/dist/chunk-SJQPHJL4.cjs +26 -0
  42. package/dist/chunk-SJQPHJL4.cjs.map +1 -0
  43. package/dist/chunk-V7D3QUE6.cjs +42 -0
  44. package/dist/chunk-V7D3QUE6.cjs.map +1 -0
  45. package/dist/chunk-VRF7QEID.js +67 -0
  46. package/dist/chunk-VRF7QEID.js.map +1 -0
  47. package/dist/chunk-WASVMCZB.js +13 -0
  48. package/dist/chunk-WASVMCZB.js.map +1 -0
  49. package/dist/chunk-WYOHFNNW.js +117 -0
  50. package/dist/chunk-WYOHFNNW.js.map +1 -0
  51. package/dist/chunk-XCNBVV4T.js +38 -0
  52. package/dist/chunk-XCNBVV4T.js.map +1 -0
  53. package/dist/{chunk-EWR5EIBP.js → chunk-YKF5ZFF5.js} +2 -2
  54. package/dist/chunk-YKF5ZFF5.js.map +1 -0
  55. package/dist/chunk-YXJMBVXO.cjs +76 -0
  56. package/dist/chunk-YXJMBVXO.cjs.map +1 -0
  57. package/dist/data-sources/DataAwareWidget.cjs +59 -0
  58. package/dist/data-sources/DataAwareWidget.cjs.map +1 -0
  59. package/dist/data-sources/DataAwareWidget.d.cts +30 -0
  60. package/dist/data-sources/DataAwareWidget.d.ts +30 -0
  61. package/dist/data-sources/DataAwareWidget.js +57 -0
  62. package/dist/data-sources/DataAwareWidget.js.map +1 -0
  63. package/dist/data-sources/ErrorState.cjs +12 -0
  64. package/dist/data-sources/ErrorState.cjs.map +1 -0
  65. package/dist/data-sources/ErrorState.d.cts +5 -0
  66. package/dist/data-sources/ErrorState.d.ts +5 -0
  67. package/dist/data-sources/ErrorState.js +3 -0
  68. package/dist/data-sources/ErrorState.js.map +1 -0
  69. package/dist/data-sources/context.cjs +10 -20
  70. package/dist/data-sources/context.cjs.map +1 -1
  71. package/dist/data-sources/context.d.cts +2 -2
  72. package/dist/data-sources/context.d.ts +2 -2
  73. package/dist/data-sources/context.js +1 -21
  74. package/dist/data-sources/context.js.map +1 -1
  75. package/dist/data-sources/fetchers/api.cjs +12 -0
  76. package/dist/data-sources/fetchers/api.cjs.map +1 -0
  77. package/dist/data-sources/fetchers/api.d.cts +8 -0
  78. package/dist/data-sources/fetchers/api.d.ts +8 -0
  79. package/dist/data-sources/fetchers/api.js +3 -0
  80. package/dist/data-sources/fetchers/api.js.map +1 -0
  81. package/dist/data-sources/fetchers/custom.cjs +12 -0
  82. package/dist/data-sources/fetchers/custom.cjs.map +1 -0
  83. package/dist/data-sources/fetchers/custom.d.cts +15 -0
  84. package/dist/data-sources/fetchers/custom.d.ts +15 -0
  85. package/dist/data-sources/fetchers/custom.js +3 -0
  86. package/dist/data-sources/fetchers/custom.js.map +1 -0
  87. package/dist/data-sources/fetchers/static.cjs +16 -0
  88. package/dist/data-sources/fetchers/static.cjs.map +1 -0
  89. package/dist/data-sources/fetchers/static.d.cts +38 -0
  90. package/dist/data-sources/fetchers/static.d.ts +38 -0
  91. package/dist/data-sources/fetchers/static.js +3 -0
  92. package/dist/data-sources/fetchers/static.js.map +1 -0
  93. package/dist/data-sources/registry-context.cjs +26 -0
  94. package/dist/data-sources/registry-context.cjs.map +1 -0
  95. package/dist/data-sources/registry-context.d.cts +41 -0
  96. package/dist/data-sources/registry-context.d.ts +41 -0
  97. package/dist/data-sources/registry-context.js +9 -0
  98. package/dist/data-sources/registry-context.js.map +1 -0
  99. package/dist/data-sources/registry.cjs +20 -0
  100. package/dist/data-sources/registry.cjs.map +1 -0
  101. package/dist/data-sources/registry.d.cts +17 -0
  102. package/dist/data-sources/registry.d.ts +17 -0
  103. package/dist/data-sources/registry.js +7 -0
  104. package/dist/data-sources/registry.js.map +1 -0
  105. package/dist/data-sources/transformers.cjs +12 -0
  106. package/dist/data-sources/transformers.cjs.map +1 -0
  107. package/dist/data-sources/transformers.d.cts +23 -0
  108. package/dist/data-sources/transformers.d.ts +23 -0
  109. package/dist/data-sources/transformers.js +3 -0
  110. package/dist/data-sources/transformers.js.map +1 -0
  111. package/dist/data-sources/types.d.cts +37 -2
  112. package/dist/data-sources/types.d.ts +37 -2
  113. package/dist/data-sources/use-widget-data.cjs +19 -0
  114. package/dist/data-sources/use-widget-data.cjs.map +1 -0
  115. package/dist/data-sources/use-widget-data.d.cts +16 -0
  116. package/dist/data-sources/use-widget-data.d.ts +16 -0
  117. package/dist/data-sources/use-widget-data.js +10 -0
  118. package/dist/data-sources/use-widget-data.js.map +1 -0
  119. package/dist/registries/index.cjs +8 -15
  120. package/dist/registries/index.cjs.map +1 -1
  121. package/dist/registries/index.d.cts +20 -7
  122. package/dist/registries/index.d.ts +20 -7
  123. package/dist/registries/index.js +8 -15
  124. package/dist/registries/index.js.map +1 -1
  125. package/dist/shareable-item-DkgWpwoU.d.cts +21 -0
  126. package/dist/shareable-item-DkgWpwoU.d.ts +21 -0
  127. package/dist/shell/AppShellLayout.cjs +14 -0
  128. package/dist/shell/AppShellLayout.cjs.map +1 -0
  129. package/dist/shell/AppShellLayout.d.cts +30 -0
  130. package/dist/shell/AppShellLayout.d.ts +30 -0
  131. package/dist/shell/AppShellLayout.js +5 -0
  132. package/dist/shell/AppShellLayout.js.map +1 -0
  133. package/dist/shell/ThemeModeContext.cjs +20 -0
  134. package/dist/shell/ThemeModeContext.cjs.map +1 -0
  135. package/dist/shell/ThemeModeContext.d.cts +27 -0
  136. package/dist/shell/ThemeModeContext.d.ts +27 -0
  137. package/dist/shell/ThemeModeContext.js +3 -0
  138. package/dist/shell/ThemeModeContext.js.map +1 -0
  139. package/dist/shell/index.cjs +135 -0
  140. package/dist/shell/index.cjs.map +1 -0
  141. package/dist/shell/index.d.cts +8 -0
  142. package/dist/shell/index.d.ts +8 -0
  143. package/dist/shell/index.js +6 -0
  144. package/dist/shell/index.js.map +1 -0
  145. package/dist/shell/sidebar.cjs +105 -0
  146. package/dist/shell/sidebar.cjs.map +1 -0
  147. package/dist/shell/sidebar.d.cts +73 -0
  148. package/dist/shell/sidebar.d.ts +73 -0
  149. package/dist/shell/sidebar.js +4 -0
  150. package/dist/shell/sidebar.js.map +1 -0
  151. package/dist/shell/use-mobile.cjs +20 -0
  152. package/dist/shell/use-mobile.cjs.map +1 -0
  153. package/dist/shell/use-mobile.d.cts +5 -0
  154. package/dist/shell/use-mobile.d.ts +5 -0
  155. package/dist/shell/use-mobile.js +3 -0
  156. package/dist/shell/use-mobile.js.map +1 -0
  157. package/dist/theme/index.cjs +599 -970
  158. package/dist/theme/index.cjs.map +1 -1
  159. package/dist/theme/index.d.cts +106 -2655
  160. package/dist/theme/index.d.ts +106 -2655
  161. package/dist/theme/index.js +570 -917
  162. package/dist/theme/index.js.map +1 -1
  163. package/dist/types/index.cjs +17 -17
  164. package/dist/types/index.d.cts +28 -4
  165. package/dist/types/index.d.ts +28 -4
  166. package/dist/types/index.js +1 -1
  167. package/dist/types-R1kV_DKF.d.cts +80 -0
  168. package/dist/types-R1kV_DKF.d.ts +80 -0
  169. package/dist/{shareable-item-DPmNZkE1.d.cts → widget-schema-36uGUTWL.d.cts} +5 -21
  170. package/dist/{shareable-item-DPmNZkE1.d.ts → widget-schema-DxdlJD8E.d.ts} +5 -21
  171. package/dist/widget-utils/index.cjs +3 -3
  172. package/dist/widget-utils/index.d.cts +3 -1
  173. package/dist/widget-utils/index.d.ts +3 -1
  174. package/dist/widget-utils/index.js +1 -1
  175. package/package.json +84 -13
  176. package/dist/chunk-6QLUUNJL.cjs.map +0 -1
  177. package/dist/chunk-EWR5EIBP.js.map +0 -1
  178. package/dist/theme-DrMUYZTO.d.cts +0 -22
  179. package/dist/theme-DrMUYZTO.d.ts +0 -22
@@ -1,2680 +1,131 @@
1
- import { T as ThemeConfig, a as Theme } from '../theme-DrMUYZTO.js';
1
+ import Color from 'colorjs.io';
2
+ import { S as ShadeStep, c as SemanticColorName, a as ThemeColorInput, T as ThemeDefinition, R as ResolvedTheme, b as ThemePayload, F as FontSizeKey, d as FontFamilyKey, e as RadiusKey } from '../types-R1kV_DKF.js';
3
+ export { l as FONT_FAMILY_KEYS, k as FONT_SIZE_KEYS, O as OklchPlain, m as RADIUS_KEYS, h as ResolvedColorSet, g as ResolvedSemanticColor, i as SEMANTIC_COLOR_NAMES, j as SHADE_STEPS, f as ThemeColorPlain } from '../types-R1kV_DKF.js';
2
4
 
3
- type Oklch = {
4
- l: number;
5
- c: number;
6
- h: number;
7
- };
8
- type CoreColors = {
9
- base: Oklch;
10
- text: Oklch;
11
- body: Oklch;
12
- muted: Oklch;
13
- mutedForeground: Oklch;
14
- primary: Oklch;
15
- primaryForeground: Oklch;
16
- secondary: Oklch;
17
- secondaryForeground: Oklch;
18
- accent: Oklch;
19
- accentForeground: Oklch;
20
- destructive: Oklch;
21
- destructiveForeground: Oklch;
22
- };
23
- interface Font {
24
- readonly headerFont: string;
25
- readonly bodyFont: string;
26
- readonly extraSmall: string;
27
- readonly small: string;
28
- readonly regular: string;
29
- readonly large: string;
30
- readonly extraLarge: string;
31
- readonly giant: string;
32
- }
33
- interface Spacing {
34
- readonly globalSpacing: string;
35
- readonly radiusSmall: string;
36
- readonly radiusMedium: string;
37
- readonly radiusLarge: string;
38
- readonly radiusExtraLarge: string;
39
- }
40
5
  /**
41
- * Combined non-color theme fields.
42
- * Uses interface extends for better performance and clearer error messages
43
- * compared to type intersection (&).
6
+ * Attempt to convert any string into a Color using colorjs.io.
7
+ * If the string is exactly 6 characters it is assumed to be a bare hex value
8
+ * (e.g. "3b82f6") and a "#" prefix is added before parsing.
9
+ *
10
+ * @returns the parsed Color, or a neutral gray (`oklch(0.5 0 0)`) on failure
44
11
  */
45
- interface CoreNonColorFields extends Font, Spacing {
46
- }
47
-
48
- declare const oklchString: (c: Oklch) => string;
49
- /** Parse OKLCH string back to object */
50
- declare const parseOklch: (oklchStr: string) => Oklch;
51
- /** Safe modification of OKLCH */
52
- declare const mod: (c: Oklch, dl?: number, dc?: number, dh?: number) => Oklch;
53
- /** Rotate hue safely */
54
- declare const rotateHue: (c: Oklch, degrees: number) => Oklch;
55
- /** Chroma clamping (Catppuccin-like softness) */
56
- declare const clampChroma: (c: Oklch, maxC?: number) => Oklch;
57
- /** Safer hue rotation (preserve L/C of original) */
58
- declare const rotateSoft: (c: Oklch, deg: number, maxC?: number) => Oklch;
59
- declare const getForegroundColor: (foreground: Oklch, color: Oklch) => string;
60
- declare const shadeColor: (color: Oklch, lightnessShift: number, chromaShift: number) => string;
12
+ declare function parseColor(value: string): Color;
61
13
  /**
62
- * Generate 9 color swatches (shades) from a base color
63
- * Generates from lightest (90% lightness) to darkest (10% lightness)
64
- * @param oklchString - Base OKLCH string
65
- * @returns Array of 9 hex color strings representing shades
14
+ * Returns either the original foreground or a corrected lightness variant,
15
+ * whichever provides better contrast against `color`.
16
+ * Inversion triggers when the APCA contrast is below 50.
66
17
  */
67
- declare function generateColorSwatches(oklchString: string): string[];
68
- /** Core color keys for iteration */
69
- declare const CORE_COLOR_KEYS: readonly ["base", "text", "body", "muted", "mutedForeground", "primary", "primaryForeground", "secondary", "secondaryForeground", "accent", "accentForeground", "destructive", "destructiveForeground"];
70
- /** Default core colors (fallbacks) */
71
- declare const DEFAULT_CORE_COLORS: CoreColors;
72
- /** Convert a theme config (CSS string values) to CoreColors */
73
- declare const themeConfigToCoreColors: (config: ThemeConfig) => CoreColors;
74
- /** Convert CoreColors to a record of OKLCH strings */
75
- declare const coreColorsToConfig: (colors: CoreColors) => Record<string, string>;
76
- declare const DEFAULT_CORE_COLORS_CONFIG: Record<string, string>;
18
+ declare function getForegroundColor(foreground: Color, color: Color): Color;
77
19
  /**
78
- * Theme mode constant - single source of truth for mode values.
79
- * Use THEME_MODES.light instead of "light" for type-safe comparisons.
20
+ * Generate a 100–900 shade ramp from a base color.
21
+ * Base anchors at 500. Light shades (100–400) step toward white,
22
+ * dark shades (600–900) step toward black. Dark steps use an asymmetric
23
+ * multiplier (1.6×, 1.875×, 3×, 4× of `darkStep`) for a more gradual
24
+ * initial descent. Chroma is nudged per step for perceptually natural ramps.
80
25
  */
81
- declare const THEME_MODES: {
82
- readonly light: "light";
83
- readonly dark: "dark";
84
- };
26
+ declare function generateShades(base: Color): Record<ShadeStep, Color>;
85
27
  /**
86
- * Union type of theme modes, derived from THEME_MODES constant.
87
- * @see deriving-typeof-for-object-keys pattern
28
+ * Derive a dark-mode ThemeColorInput from its light-mode counterpart.
88
29
  */
89
- type ThemeMode = (typeof THEME_MODES)[keyof typeof THEME_MODES];
30
+ declare function deriveDarkVariant(name: SemanticColorName, light: ThemeColorInput): ThemeColorInput;
90
31
  /**
91
- * Detect whether the core colors represent a light or dark theme.
92
- * Based on the lightness of the base color.
32
+ * Merge auto-derived dark colors with any user-specified overrides.
33
+ * For each semantic color, if the user has fully overridden both base and
34
+ * foreground those are used; otherwise the missing channels are derived.
93
35
  */
94
- declare const detectThemeMode: (core: CoreColors) => ThemeMode;
95
- /** Convert core colors to work in dark mode (dark base) */
96
- declare const toDarkMode: (core: CoreColors) => CoreColors;
97
- /** Convert core colors to work in light mode (light base) */
98
- declare const toLightMode: (core: CoreColors) => CoreColors;
99
- declare const FONT_OPTIONS: {
100
- Inter: string;
101
- Eina: string;
102
- };
103
- declare const CORE_FONT_KEYS: readonly ["headerFont", "bodyFont", "extraSmall", "small", "regular", "large", "extraLarge", "giant"];
104
- declare const DEFAULT_FONT: {
105
- headerFont: string;
106
- bodyFont: string;
107
- extraSmall: string;
108
- small: string;
109
- regular: string;
110
- large: string;
111
- extraLarge: string;
112
- giant: string;
113
- };
114
- declare const fontConfigToCoreFont: (config: ThemeConfig) => Font;
115
- declare const CORE_SPACING_KEYS: readonly ["globalSpacing", "radiusSmall", "radiusMedium", "radiusLarge", "radiusExtraLarge"];
116
- declare const DEFAULT_SPACING: {
117
- globalSpacing: string;
118
- radiusSmall: string;
119
- radiusMedium: string;
120
- radiusLarge: string;
121
- radiusExtraLarge: string;
122
- };
123
- declare const spacingConfigToCoreSpacing: (config: ThemeConfig) => Spacing;
124
- declare const CORE_NON_COLOR_KEYS: readonly ["headerFont", "bodyFont", "extraSmall", "small", "regular", "large", "extraLarge", "giant", "globalSpacing", "radiusSmall", "radiusMedium", "radiusLarge", "radiusExtraLarge"];
125
- declare const separatedThemeConfig: (config: ThemeConfig) => {
126
- colorConfig: {
127
- [k: string]: string;
128
- };
129
- otherConfig: {
130
- [k: string]: string;
131
- };
132
- };
133
- declare const themeConfigToCoreNonColorFields: (config: ThemeConfig) => CoreNonColorFields;
134
- declare const globalCSSOverride: {
135
- "--color-background-foreground": string;
136
- "--color-foreground-foreground": string;
137
- "--sidebar-ring": string;
138
- "--sidebar-border": string;
139
- "--sidebar-accent-foreground": string;
140
- "--sidebar-accent": string;
141
- "--sidebar-primary-foreground": string;
142
- "--sidebar-primary": string;
143
- "--sidebar-foreground": string;
144
- "--sidebar": string;
145
- "--ring": string;
146
- "--popover": string;
147
- "--popover-foreground": string;
148
- "--card": string;
149
- "--card-foreground": string;
150
- "--spacing": string;
151
- "--radius-sm": string;
152
- "--radius-md": string;
153
- "--radius-lg": string;
154
- "--radius-xl": string;
155
- "--text-xs": string;
156
- "--text-sm": string;
157
- "--text-base": string;
158
- "--text-lg": string;
159
- "--text-xl": string;
160
- "--text-2xl": string;
161
- "--font-sans": string;
162
- "--font-mono": string;
163
- };
36
+ declare function mergeDarkOverrides(def: ThemeDefinition): Record<SemanticColorName, ThemeColorInput>;
164
37
  /**
165
- * Generate CSS variables from a hex color config and theme mode
38
+ * Resolve a ThemeDefinition into a complete ResolvedTheme.
39
+ * Dark mode colors are derived from light where not overridden.
166
40
  */
167
- declare function generateThemeCssVars(config: ThemeConfig, mode: ThemeMode): Record<string, string>;
168
- declare const generateTheme: (name: string, colorFields: CoreColors, mode?: ThemeMode, otherFields?: CoreNonColorFields) => {
169
- name: string;
170
- mode: ThemeMode;
171
- config: {
172
- background: string;
173
- foreground: string;
174
- body: string;
175
- popover: string;
176
- popover_foreground: string;
177
- primary: string;
178
- primary_foreground: string;
179
- secondary: string;
180
- secondary_foreground: string;
181
- muted: string;
182
- muted_foreground: string;
183
- accent: string;
184
- accent_foreground: string;
185
- destructive: string;
186
- destructive_foreground: string;
187
- border: string;
188
- input: string;
189
- chart_1: string;
190
- chart_2: string;
191
- chart_3: string;
192
- chart_4: string;
193
- chart_5: string;
194
- font_header: string;
195
- font_body: string;
196
- text_extra_small: string;
197
- text_small: string;
198
- text_regular: string;
199
- text_large: string;
200
- text_extra_large: string;
201
- text_giant: string;
202
- global_spacing: string;
203
- radius_small: string;
204
- radius_medium: string;
205
- radius_large: string;
206
- radius_extra_large: string;
207
- };
208
- default: boolean;
209
- };
41
+ declare function resolveTheme(def: ThemeDefinition): ResolvedTheme;
42
+
43
+ interface GenerateThemeCSSOptions {
44
+ /** Whether or not to allow prefers-color-scheme to choose the theme mode */
45
+ disableAutoTheme?: boolean;
46
+ /** Whether to emit Tailwind built-in color overrides (default true) */
47
+ mapTailwindColors?: boolean;
48
+ }
210
49
  /**
211
- * Generate both light and dark themes from the same core colors.
212
- * Returns an object with 'light' and 'dark' theme variants.
50
+ * Generate a complete CSS string for a resolved theme.
51
+ * Outputs 2–3 blocks: light default, dark explicit via `[data-theme-mode="dark"]`,
52
+ * and (unless `disableAutoTheme`) a `prefers-color-scheme: dark` media query block.
213
53
  */
214
- declare const generateDualTheme: (name: string, core: CoreColors) => {
215
- light: {
216
- name: string;
217
- mode: ThemeMode;
218
- config: {
219
- background: string;
220
- foreground: string;
221
- body: string;
222
- popover: string;
223
- popover_foreground: string;
224
- primary: string;
225
- primary_foreground: string;
226
- secondary: string;
227
- secondary_foreground: string;
228
- muted: string;
229
- muted_foreground: string;
230
- accent: string;
231
- accent_foreground: string;
232
- destructive: string;
233
- destructive_foreground: string;
234
- border: string;
235
- input: string;
236
- chart_1: string;
237
- chart_2: string;
238
- chart_3: string;
239
- chart_4: string;
240
- chart_5: string;
241
- font_header: string;
242
- font_body: string;
243
- text_extra_small: string;
244
- text_small: string;
245
- text_regular: string;
246
- text_large: string;
247
- text_extra_large: string;
248
- text_giant: string;
249
- global_spacing: string;
250
- radius_small: string;
251
- radius_medium: string;
252
- radius_large: string;
253
- radius_extra_large: string;
254
- };
255
- default: boolean;
256
- };
257
- dark: {
258
- name: string;
259
- mode: ThemeMode;
260
- config: {
261
- background: string;
262
- foreground: string;
263
- body: string;
264
- popover: string;
265
- popover_foreground: string;
266
- primary: string;
267
- primary_foreground: string;
268
- secondary: string;
269
- secondary_foreground: string;
270
- muted: string;
271
- muted_foreground: string;
272
- accent: string;
273
- accent_foreground: string;
274
- destructive: string;
275
- destructive_foreground: string;
276
- border: string;
277
- input: string;
278
- chart_1: string;
279
- chart_2: string;
280
- chart_3: string;
281
- chart_4: string;
282
- chart_5: string;
283
- font_header: string;
284
- font_body: string;
285
- text_extra_small: string;
286
- text_small: string;
287
- text_regular: string;
288
- text_large: string;
289
- text_extra_large: string;
290
- text_giant: string;
291
- global_spacing: string;
292
- radius_small: string;
293
- radius_medium: string;
294
- radius_large: string;
295
- radius_extra_large: string;
296
- };
297
- default: boolean;
298
- };
299
- };
54
+ declare function generateThemeCSS(theme: ResolvedTheme, options?: GenerateThemeCSSOptions): string;
55
+
300
56
  /**
301
- * Smart dual theme generation that detects the original mode
302
- * and generates the opposite mode automatically.
303
- * Useful when you have a user-created theme and want to offer both modes.
57
+ * Serialise a ThemeDefinition (with Color objects) to a plain JSON payload
58
+ * suitable for backend storage.
304
59
  */
305
- declare const generateSmartDualTheme: (name: string, core: CoreColors) => {
306
- light: {
307
- name: string;
308
- mode: ThemeMode;
309
- config: {
310
- background: string;
311
- foreground: string;
312
- body: string;
313
- popover: string;
314
- popover_foreground: string;
315
- primary: string;
316
- primary_foreground: string;
317
- secondary: string;
318
- secondary_foreground: string;
319
- muted: string;
320
- muted_foreground: string;
321
- accent: string;
322
- accent_foreground: string;
323
- destructive: string;
324
- destructive_foreground: string;
325
- border: string;
326
- input: string;
327
- chart_1: string;
328
- chart_2: string;
329
- chart_3: string;
330
- chart_4: string;
331
- chart_5: string;
332
- font_header: string;
333
- font_body: string;
334
- text_extra_small: string;
335
- text_small: string;
336
- text_regular: string;
337
- text_large: string;
338
- text_extra_large: string;
339
- text_giant: string;
340
- global_spacing: string;
341
- radius_small: string;
342
- radius_medium: string;
343
- radius_large: string;
344
- radius_extra_large: string;
345
- };
346
- default: boolean;
347
- };
348
- dark: {
349
- name: string;
350
- mode: ThemeMode;
351
- config: {
352
- background: string;
353
- foreground: string;
354
- body: string;
355
- popover: string;
356
- popover_foreground: string;
357
- primary: string;
358
- primary_foreground: string;
359
- secondary: string;
360
- secondary_foreground: string;
361
- muted: string;
362
- muted_foreground: string;
363
- accent: string;
364
- accent_foreground: string;
365
- destructive: string;
366
- destructive_foreground: string;
367
- border: string;
368
- input: string;
369
- chart_1: string;
370
- chart_2: string;
371
- chart_3: string;
372
- chart_4: string;
373
- chart_5: string;
374
- font_header: string;
375
- font_body: string;
376
- text_extra_small: string;
377
- text_small: string;
378
- text_regular: string;
379
- text_large: string;
380
- text_extra_large: string;
381
- text_giant: string;
382
- global_spacing: string;
383
- radius_small: string;
384
- radius_medium: string;
385
- radius_large: string;
386
- radius_extra_large: string;
387
- };
388
- default: boolean;
389
- };
390
- detectedMode: ThemeMode;
391
- };
60
+ declare function serialiseTheme(def: ThemeDefinition): ThemePayload;
61
+ /**
62
+ * Deserialise a backend payload into a ThemeDefinition with Color objects.
63
+ * Accepts `Record<string, unknown>` because API data is untyped at the boundary.
64
+ * Falls back to default colors for any missing light-mode entries.
65
+ */
66
+ declare function deserialiseTheme(payload: Record<string, unknown>): ThemeDefinition;
67
+
68
+ /**
69
+ * Theme Transforms
70
+ * Convert raw API theme objects to ThemeDefinition format.
71
+ * Handles both new structured format (OKLCH) and legacy flat format (hex strings).
72
+ */
73
+
74
+ /** Shape of a raw theme from the FluidOS API */
75
+ interface RawApiTheme {
76
+ id: number;
77
+ config?: Record<string, unknown> | null;
78
+ active?: boolean | null;
79
+ name?: string | null;
80
+ }
392
81
  /**
393
- * Gets a unique identifier for a theme
394
- * Prefers ID (converted to string) over name for uniqueness
82
+ * Build a ThemeDefinition from a single API theme object.
83
+ * Handles both new structured format and legacy flat format.
395
84
  */
396
- declare const getThemeIdentifier: (theme: Theme) => string;
85
+ declare function buildThemeDefinition(theme: RawApiTheme): ThemeDefinition;
397
86
  /**
398
- * Finds a theme by identifier (ID or name)
399
- * First attempts to match by ID, then falls back to name matching
87
+ * Transform raw API themes to ThemeDefinition[].
88
+ * Catches and logs errors per theme (graceful degradation).
400
89
  */
401
- declare const findThemeByIdentifier: (themes: Theme[], identifier: number | string) => Theme | undefined;
90
+ declare function transformThemes(themes: RawApiTheme[]): ThemeDefinition[];
402
91
  /**
403
- * Checks if two themes are the same based on their identifiers
92
+ * Get the active theme ID from a list of raw API themes.
93
+ * Falls back to the first theme if none is marked active.
404
94
  */
405
- declare const isSameTheme: (theme1: Theme | undefined, theme2: Theme) => boolean;
95
+ declare function getActiveThemeId(themes: RawApiTheme[]): string | undefined;
406
96
 
407
- declare const dracula: {
408
- name: string;
409
- mode: ThemeMode;
410
- config: {
411
- background: string;
412
- foreground: string;
413
- body: string;
414
- popover: string;
415
- popover_foreground: string;
416
- primary: string;
417
- primary_foreground: string;
418
- secondary: string;
419
- secondary_foreground: string;
420
- muted: string;
421
- muted_foreground: string;
422
- accent: string;
423
- accent_foreground: string;
424
- destructive: string;
425
- destructive_foreground: string;
426
- border: string;
427
- input: string;
428
- chart_1: string;
429
- chart_2: string;
430
- chart_3: string;
431
- chart_4: string;
432
- chart_5: string;
433
- font_header: string;
434
- font_body: string;
435
- text_extra_small: string;
436
- text_small: string;
437
- text_regular: string;
438
- text_large: string;
439
- text_extra_large: string;
440
- text_giant: string;
441
- global_spacing: string;
442
- radius_small: string;
443
- radius_medium: string;
444
- radius_large: string;
445
- radius_extra_large: string;
446
- };
447
- default: boolean;
448
- };
449
- declare const solarized: {
450
- name: string;
451
- mode: ThemeMode;
452
- config: {
453
- background: string;
454
- foreground: string;
455
- body: string;
456
- popover: string;
457
- popover_foreground: string;
458
- primary: string;
459
- primary_foreground: string;
460
- secondary: string;
461
- secondary_foreground: string;
462
- muted: string;
463
- muted_foreground: string;
464
- accent: string;
465
- accent_foreground: string;
466
- destructive: string;
467
- destructive_foreground: string;
468
- border: string;
469
- input: string;
470
- chart_1: string;
471
- chart_2: string;
472
- chart_3: string;
473
- chart_4: string;
474
- chart_5: string;
475
- font_header: string;
476
- font_body: string;
477
- text_extra_small: string;
478
- text_small: string;
479
- text_regular: string;
480
- text_large: string;
481
- text_extra_large: string;
482
- text_giant: string;
483
- global_spacing: string;
484
- radius_small: string;
485
- radius_medium: string;
486
- radius_large: string;
487
- radius_extra_large: string;
488
- };
489
- default: boolean;
490
- };
491
- declare const gruvbox: {
492
- name: string;
493
- mode: ThemeMode;
494
- config: {
495
- background: string;
496
- foreground: string;
497
- body: string;
498
- popover: string;
499
- popover_foreground: string;
500
- primary: string;
501
- primary_foreground: string;
502
- secondary: string;
503
- secondary_foreground: string;
504
- muted: string;
505
- muted_foreground: string;
506
- accent: string;
507
- accent_foreground: string;
508
- destructive: string;
509
- destructive_foreground: string;
510
- border: string;
511
- input: string;
512
- chart_1: string;
513
- chart_2: string;
514
- chart_3: string;
515
- chart_4: string;
516
- chart_5: string;
517
- font_header: string;
518
- font_body: string;
519
- text_extra_small: string;
520
- text_small: string;
521
- text_regular: string;
522
- text_large: string;
523
- text_extra_large: string;
524
- text_giant: string;
525
- global_spacing: string;
526
- radius_small: string;
527
- radius_medium: string;
528
- radius_large: string;
529
- radius_extra_large: string;
530
- };
531
- default: boolean;
532
- };
533
- declare const monokai: {
534
- name: string;
535
- mode: ThemeMode;
536
- config: {
537
- background: string;
538
- foreground: string;
539
- body: string;
540
- popover: string;
541
- popover_foreground: string;
542
- primary: string;
543
- primary_foreground: string;
544
- secondary: string;
545
- secondary_foreground: string;
546
- muted: string;
547
- muted_foreground: string;
548
- accent: string;
549
- accent_foreground: string;
550
- destructive: string;
551
- destructive_foreground: string;
552
- border: string;
553
- input: string;
554
- chart_1: string;
555
- chart_2: string;
556
- chart_3: string;
557
- chart_4: string;
558
- chart_5: string;
559
- font_header: string;
560
- font_body: string;
561
- text_extra_small: string;
562
- text_small: string;
563
- text_regular: string;
564
- text_large: string;
565
- text_extra_large: string;
566
- text_giant: string;
567
- global_spacing: string;
568
- radius_small: string;
569
- radius_medium: string;
570
- radius_large: string;
571
- radius_extra_large: string;
572
- };
573
- default: boolean;
574
- };
575
- declare const tokyoNight: {
576
- name: string;
577
- mode: ThemeMode;
578
- config: {
579
- background: string;
580
- foreground: string;
581
- body: string;
582
- popover: string;
583
- popover_foreground: string;
584
- primary: string;
585
- primary_foreground: string;
586
- secondary: string;
587
- secondary_foreground: string;
588
- muted: string;
589
- muted_foreground: string;
590
- accent: string;
591
- accent_foreground: string;
592
- destructive: string;
593
- destructive_foreground: string;
594
- border: string;
595
- input: string;
596
- chart_1: string;
597
- chart_2: string;
598
- chart_3: string;
599
- chart_4: string;
600
- chart_5: string;
601
- font_header: string;
602
- font_body: string;
603
- text_extra_small: string;
604
- text_small: string;
605
- text_regular: string;
606
- text_large: string;
607
- text_extra_large: string;
608
- text_giant: string;
609
- global_spacing: string;
610
- radius_small: string;
611
- radius_medium: string;
612
- radius_large: string;
613
- radius_extra_large: string;
614
- };
615
- default: boolean;
616
- };
617
- declare const rosePine: {
618
- name: string;
619
- mode: ThemeMode;
620
- config: {
621
- background: string;
622
- foreground: string;
623
- body: string;
624
- popover: string;
625
- popover_foreground: string;
626
- primary: string;
627
- primary_foreground: string;
628
- secondary: string;
629
- secondary_foreground: string;
630
- muted: string;
631
- muted_foreground: string;
632
- accent: string;
633
- accent_foreground: string;
634
- destructive: string;
635
- destructive_foreground: string;
636
- border: string;
637
- input: string;
638
- chart_1: string;
639
- chart_2: string;
640
- chart_3: string;
641
- chart_4: string;
642
- chart_5: string;
643
- font_header: string;
644
- font_body: string;
645
- text_extra_small: string;
646
- text_small: string;
647
- text_regular: string;
648
- text_large: string;
649
- text_extra_large: string;
650
- text_giant: string;
651
- global_spacing: string;
652
- radius_small: string;
653
- radius_medium: string;
654
- radius_large: string;
655
- radius_extra_large: string;
656
- };
657
- default: boolean;
658
- };
659
- declare const everforest: {
660
- name: string;
661
- mode: ThemeMode;
662
- config: {
663
- background: string;
664
- foreground: string;
665
- body: string;
666
- popover: string;
667
- popover_foreground: string;
668
- primary: string;
669
- primary_foreground: string;
670
- secondary: string;
671
- secondary_foreground: string;
672
- muted: string;
673
- muted_foreground: string;
674
- accent: string;
675
- accent_foreground: string;
676
- destructive: string;
677
- destructive_foreground: string;
678
- border: string;
679
- input: string;
680
- chart_1: string;
681
- chart_2: string;
682
- chart_3: string;
683
- chart_4: string;
684
- chart_5: string;
685
- font_header: string;
686
- font_body: string;
687
- text_extra_small: string;
688
- text_small: string;
689
- text_regular: string;
690
- text_large: string;
691
- text_extra_large: string;
692
- text_giant: string;
693
- global_spacing: string;
694
- radius_small: string;
695
- radius_medium: string;
696
- radius_large: string;
697
- radius_extra_large: string;
698
- };
699
- default: boolean;
700
- };
701
- declare const nord: {
702
- name: string;
703
- mode: ThemeMode;
704
- config: {
705
- background: string;
706
- foreground: string;
707
- body: string;
708
- popover: string;
709
- popover_foreground: string;
710
- primary: string;
711
- primary_foreground: string;
712
- secondary: string;
713
- secondary_foreground: string;
714
- muted: string;
715
- muted_foreground: string;
716
- accent: string;
717
- accent_foreground: string;
718
- destructive: string;
719
- destructive_foreground: string;
720
- border: string;
721
- input: string;
722
- chart_1: string;
723
- chart_2: string;
724
- chart_3: string;
725
- chart_4: string;
726
- chart_5: string;
727
- font_header: string;
728
- font_body: string;
729
- text_extra_small: string;
730
- text_small: string;
731
- text_regular: string;
732
- text_large: string;
733
- text_extra_large: string;
734
- text_giant: string;
735
- global_spacing: string;
736
- radius_small: string;
737
- radius_medium: string;
738
- radius_large: string;
739
- radius_extra_large: string;
740
- };
741
- default: boolean;
742
- };
743
- declare const catppuccinMocha: {
744
- name: string;
745
- mode: ThemeMode;
746
- config: {
747
- background: string;
748
- foreground: string;
749
- body: string;
750
- popover: string;
751
- popover_foreground: string;
752
- primary: string;
753
- primary_foreground: string;
754
- secondary: string;
755
- secondary_foreground: string;
756
- muted: string;
757
- muted_foreground: string;
758
- accent: string;
759
- accent_foreground: string;
760
- destructive: string;
761
- destructive_foreground: string;
762
- border: string;
763
- input: string;
764
- chart_1: string;
765
- chart_2: string;
766
- chart_3: string;
767
- chart_4: string;
768
- chart_5: string;
769
- font_header: string;
770
- font_body: string;
771
- text_extra_small: string;
772
- text_small: string;
773
- text_regular: string;
774
- text_large: string;
775
- text_extra_large: string;
776
- text_giant: string;
777
- global_spacing: string;
778
- radius_small: string;
779
- radius_medium: string;
780
- radius_large: string;
781
- radius_extra_large: string;
782
- };
783
- default: boolean;
784
- };
785
- declare const nordifiedCatppuccin: {
786
- name: string;
787
- mode: ThemeMode;
788
- config: {
789
- background: string;
790
- foreground: string;
791
- body: string;
792
- popover: string;
793
- popover_foreground: string;
794
- primary: string;
795
- primary_foreground: string;
796
- secondary: string;
797
- secondary_foreground: string;
798
- muted: string;
799
- muted_foreground: string;
800
- accent: string;
801
- accent_foreground: string;
802
- destructive: string;
803
- destructive_foreground: string;
804
- border: string;
805
- input: string;
806
- chart_1: string;
807
- chart_2: string;
808
- chart_3: string;
809
- chart_4: string;
810
- chart_5: string;
811
- font_header: string;
812
- font_body: string;
813
- text_extra_small: string;
814
- text_small: string;
815
- text_regular: string;
816
- text_large: string;
817
- text_extra_large: string;
818
- text_giant: string;
819
- global_spacing: string;
820
- radius_small: string;
821
- radius_medium: string;
822
- radius_large: string;
823
- radius_extra_large: string;
824
- };
825
- default: boolean;
826
- };
827
- declare const christmas: {
828
- name: string;
829
- mode: ThemeMode;
830
- config: {
831
- background: string;
832
- foreground: string;
833
- body: string;
834
- popover: string;
835
- popover_foreground: string;
836
- primary: string;
837
- primary_foreground: string;
838
- secondary: string;
839
- secondary_foreground: string;
840
- muted: string;
841
- muted_foreground: string;
842
- accent: string;
843
- accent_foreground: string;
844
- destructive: string;
845
- destructive_foreground: string;
846
- border: string;
847
- input: string;
848
- chart_1: string;
849
- chart_2: string;
850
- chart_3: string;
851
- chart_4: string;
852
- chart_5: string;
853
- font_header: string;
854
- font_body: string;
855
- text_extra_small: string;
856
- text_small: string;
857
- text_regular: string;
858
- text_large: string;
859
- text_extra_large: string;
860
- text_giant: string;
861
- global_spacing: string;
862
- radius_small: string;
863
- radius_medium: string;
864
- radius_large: string;
865
- radius_extra_large: string;
866
- };
867
- default: boolean;
868
- };
869
- declare const pastel: {
870
- name: string;
871
- mode: ThemeMode;
872
- config: {
873
- background: string;
874
- foreground: string;
875
- body: string;
876
- popover: string;
877
- popover_foreground: string;
878
- primary: string;
879
- primary_foreground: string;
880
- secondary: string;
881
- secondary_foreground: string;
882
- muted: string;
883
- muted_foreground: string;
884
- accent: string;
885
- accent_foreground: string;
886
- destructive: string;
887
- destructive_foreground: string;
888
- border: string;
889
- input: string;
890
- chart_1: string;
891
- chart_2: string;
892
- chart_3: string;
893
- chart_4: string;
894
- chart_5: string;
895
- font_header: string;
896
- font_body: string;
897
- text_extra_small: string;
898
- text_small: string;
899
- text_regular: string;
900
- text_large: string;
901
- text_extra_large: string;
902
- text_giant: string;
903
- global_spacing: string;
904
- radius_small: string;
905
- radius_medium: string;
906
- radius_large: string;
907
- radius_extra_large: string;
908
- };
909
- default: boolean;
910
- };
911
- declare const neon: {
912
- name: string;
913
- mode: ThemeMode;
914
- config: {
915
- background: string;
916
- foreground: string;
917
- body: string;
918
- popover: string;
919
- popover_foreground: string;
920
- primary: string;
921
- primary_foreground: string;
922
- secondary: string;
923
- secondary_foreground: string;
924
- muted: string;
925
- muted_foreground: string;
926
- accent: string;
927
- accent_foreground: string;
928
- destructive: string;
929
- destructive_foreground: string;
930
- border: string;
931
- input: string;
932
- chart_1: string;
933
- chart_2: string;
934
- chart_3: string;
935
- chart_4: string;
936
- chart_5: string;
937
- font_header: string;
938
- font_body: string;
939
- text_extra_small: string;
940
- text_small: string;
941
- text_regular: string;
942
- text_large: string;
943
- text_extra_large: string;
944
- text_giant: string;
945
- global_spacing: string;
946
- radius_small: string;
947
- radius_medium: string;
948
- radius_large: string;
949
- radius_extra_large: string;
950
- };
951
- default: boolean;
952
- };
953
- declare const highContrast: {
954
- name: string;
955
- mode: ThemeMode;
956
- config: {
957
- background: string;
958
- foreground: string;
959
- body: string;
960
- popover: string;
961
- popover_foreground: string;
962
- primary: string;
963
- primary_foreground: string;
964
- secondary: string;
965
- secondary_foreground: string;
966
- muted: string;
967
- muted_foreground: string;
968
- accent: string;
969
- accent_foreground: string;
970
- destructive: string;
971
- destructive_foreground: string;
972
- border: string;
973
- input: string;
974
- chart_1: string;
975
- chart_2: string;
976
- chart_3: string;
977
- chart_4: string;
978
- chart_5: string;
979
- font_header: string;
980
- font_body: string;
981
- text_extra_small: string;
982
- text_small: string;
983
- text_regular: string;
984
- text_large: string;
985
- text_extra_large: string;
986
- text_giant: string;
987
- global_spacing: string;
988
- radius_small: string;
989
- radius_medium: string;
990
- radius_large: string;
991
- radius_extra_large: string;
992
- };
993
- default: boolean;
994
- };
995
- declare const ocean: {
996
- name: string;
997
- mode: ThemeMode;
998
- config: {
999
- background: string;
1000
- foreground: string;
1001
- body: string;
1002
- popover: string;
1003
- popover_foreground: string;
1004
- primary: string;
1005
- primary_foreground: string;
1006
- secondary: string;
1007
- secondary_foreground: string;
1008
- muted: string;
1009
- muted_foreground: string;
1010
- accent: string;
1011
- accent_foreground: string;
1012
- destructive: string;
1013
- destructive_foreground: string;
1014
- border: string;
1015
- input: string;
1016
- chart_1: string;
1017
- chart_2: string;
1018
- chart_3: string;
1019
- chart_4: string;
1020
- chart_5: string;
1021
- font_header: string;
1022
- font_body: string;
1023
- text_extra_small: string;
1024
- text_small: string;
1025
- text_regular: string;
1026
- text_large: string;
1027
- text_extra_large: string;
1028
- text_giant: string;
1029
- global_spacing: string;
1030
- radius_small: string;
1031
- radius_medium: string;
1032
- radius_large: string;
1033
- radius_extra_large: string;
1034
- };
1035
- default: boolean;
1036
- };
1037
- declare const forest: {
1038
- name: string;
1039
- mode: ThemeMode;
1040
- config: {
1041
- background: string;
1042
- foreground: string;
1043
- body: string;
1044
- popover: string;
1045
- popover_foreground: string;
1046
- primary: string;
1047
- primary_foreground: string;
1048
- secondary: string;
1049
- secondary_foreground: string;
1050
- muted: string;
1051
- muted_foreground: string;
1052
- accent: string;
1053
- accent_foreground: string;
1054
- destructive: string;
1055
- destructive_foreground: string;
1056
- border: string;
1057
- input: string;
1058
- chart_1: string;
1059
- chart_2: string;
1060
- chart_3: string;
1061
- chart_4: string;
1062
- chart_5: string;
1063
- font_header: string;
1064
- font_body: string;
1065
- text_extra_small: string;
1066
- text_small: string;
1067
- text_regular: string;
1068
- text_large: string;
1069
- text_extra_large: string;
1070
- text_giant: string;
1071
- global_spacing: string;
1072
- radius_small: string;
1073
- radius_medium: string;
1074
- radius_large: string;
1075
- radius_extra_large: string;
1076
- };
1077
- default: boolean;
1078
- };
1079
- declare const sunset: {
1080
- name: string;
1081
- mode: ThemeMode;
1082
- config: {
1083
- background: string;
1084
- foreground: string;
1085
- body: string;
1086
- popover: string;
1087
- popover_foreground: string;
1088
- primary: string;
1089
- primary_foreground: string;
1090
- secondary: string;
1091
- secondary_foreground: string;
1092
- muted: string;
1093
- muted_foreground: string;
1094
- accent: string;
1095
- accent_foreground: string;
1096
- destructive: string;
1097
- destructive_foreground: string;
1098
- border: string;
1099
- input: string;
1100
- chart_1: string;
1101
- chart_2: string;
1102
- chart_3: string;
1103
- chart_4: string;
1104
- chart_5: string;
1105
- font_header: string;
1106
- font_body: string;
1107
- text_extra_small: string;
1108
- text_small: string;
1109
- text_regular: string;
1110
- text_large: string;
1111
- text_extra_large: string;
1112
- text_giant: string;
1113
- global_spacing: string;
1114
- radius_small: string;
1115
- radius_medium: string;
1116
- radius_large: string;
1117
- radius_extra_large: string;
1118
- };
1119
- default: boolean;
1120
- };
1121
- declare const defaultTheme: {
1122
- name: string;
1123
- mode: ThemeMode;
1124
- config: {
1125
- background: string;
1126
- foreground: string;
1127
- body: string;
1128
- popover: string;
1129
- popover_foreground: string;
1130
- primary: string;
1131
- primary_foreground: string;
1132
- secondary: string;
1133
- secondary_foreground: string;
1134
- muted: string;
1135
- muted_foreground: string;
1136
- accent: string;
1137
- accent_foreground: string;
1138
- destructive: string;
1139
- destructive_foreground: string;
1140
- border: string;
1141
- input: string;
1142
- chart_1: string;
1143
- chart_2: string;
1144
- chart_3: string;
1145
- chart_4: string;
1146
- chart_5: string;
1147
- font_header: string;
1148
- font_body: string;
1149
- text_extra_small: string;
1150
- text_small: string;
1151
- text_regular: string;
1152
- text_large: string;
1153
- text_extra_large: string;
1154
- text_giant: string;
1155
- global_spacing: string;
1156
- radius_small: string;
1157
- radius_medium: string;
1158
- radius_large: string;
1159
- radius_extra_large: string;
1160
- };
1161
- default: boolean;
1162
- };
1163
- declare const BUILT_IN_THEMES: {
1164
- Default: {
1165
- name: string;
1166
- mode: ThemeMode;
1167
- config: {
1168
- background: string;
1169
- foreground: string;
1170
- body: string;
1171
- popover: string;
1172
- popover_foreground: string;
1173
- primary: string;
1174
- primary_foreground: string;
1175
- secondary: string;
1176
- secondary_foreground: string;
1177
- muted: string;
1178
- muted_foreground: string;
1179
- accent: string;
1180
- accent_foreground: string;
1181
- destructive: string;
1182
- destructive_foreground: string;
1183
- border: string;
1184
- input: string;
1185
- chart_1: string;
1186
- chart_2: string;
1187
- chart_3: string;
1188
- chart_4: string;
1189
- chart_5: string;
1190
- font_header: string;
1191
- font_body: string;
1192
- text_extra_small: string;
1193
- text_small: string;
1194
- text_regular: string;
1195
- text_large: string;
1196
- text_extra_large: string;
1197
- text_giant: string;
1198
- global_spacing: string;
1199
- radius_small: string;
1200
- radius_medium: string;
1201
- radius_large: string;
1202
- radius_extra_large: string;
1203
- };
1204
- default: boolean;
1205
- };
1206
- Dracula: {
1207
- name: string;
1208
- mode: ThemeMode;
1209
- config: {
1210
- background: string;
1211
- foreground: string;
1212
- body: string;
1213
- popover: string;
1214
- popover_foreground: string;
1215
- primary: string;
1216
- primary_foreground: string;
1217
- secondary: string;
1218
- secondary_foreground: string;
1219
- muted: string;
1220
- muted_foreground: string;
1221
- accent: string;
1222
- accent_foreground: string;
1223
- destructive: string;
1224
- destructive_foreground: string;
1225
- border: string;
1226
- input: string;
1227
- chart_1: string;
1228
- chart_2: string;
1229
- chart_3: string;
1230
- chart_4: string;
1231
- chart_5: string;
1232
- font_header: string;
1233
- font_body: string;
1234
- text_extra_small: string;
1235
- text_small: string;
1236
- text_regular: string;
1237
- text_large: string;
1238
- text_extra_large: string;
1239
- text_giant: string;
1240
- global_spacing: string;
1241
- radius_small: string;
1242
- radius_medium: string;
1243
- radius_large: string;
1244
- radius_extra_large: string;
1245
- };
1246
- default: boolean;
1247
- };
1248
- Solarized: {
1249
- name: string;
1250
- mode: ThemeMode;
1251
- config: {
1252
- background: string;
1253
- foreground: string;
1254
- body: string;
1255
- popover: string;
1256
- popover_foreground: string;
1257
- primary: string;
1258
- primary_foreground: string;
1259
- secondary: string;
1260
- secondary_foreground: string;
1261
- muted: string;
1262
- muted_foreground: string;
1263
- accent: string;
1264
- accent_foreground: string;
1265
- destructive: string;
1266
- destructive_foreground: string;
1267
- border: string;
1268
- input: string;
1269
- chart_1: string;
1270
- chart_2: string;
1271
- chart_3: string;
1272
- chart_4: string;
1273
- chart_5: string;
1274
- font_header: string;
1275
- font_body: string;
1276
- text_extra_small: string;
1277
- text_small: string;
1278
- text_regular: string;
1279
- text_large: string;
1280
- text_extra_large: string;
1281
- text_giant: string;
1282
- global_spacing: string;
1283
- radius_small: string;
1284
- radius_medium: string;
1285
- radius_large: string;
1286
- radius_extra_large: string;
1287
- };
1288
- default: boolean;
1289
- };
1290
- Gruvbox: {
1291
- name: string;
1292
- mode: ThemeMode;
1293
- config: {
1294
- background: string;
1295
- foreground: string;
1296
- body: string;
1297
- popover: string;
1298
- popover_foreground: string;
1299
- primary: string;
1300
- primary_foreground: string;
1301
- secondary: string;
1302
- secondary_foreground: string;
1303
- muted: string;
1304
- muted_foreground: string;
1305
- accent: string;
1306
- accent_foreground: string;
1307
- destructive: string;
1308
- destructive_foreground: string;
1309
- border: string;
1310
- input: string;
1311
- chart_1: string;
1312
- chart_2: string;
1313
- chart_3: string;
1314
- chart_4: string;
1315
- chart_5: string;
1316
- font_header: string;
1317
- font_body: string;
1318
- text_extra_small: string;
1319
- text_small: string;
1320
- text_regular: string;
1321
- text_large: string;
1322
- text_extra_large: string;
1323
- text_giant: string;
1324
- global_spacing: string;
1325
- radius_small: string;
1326
- radius_medium: string;
1327
- radius_large: string;
1328
- radius_extra_large: string;
1329
- };
1330
- default: boolean;
1331
- };
1332
- Monokai: {
1333
- name: string;
1334
- mode: ThemeMode;
1335
- config: {
1336
- background: string;
1337
- foreground: string;
1338
- body: string;
1339
- popover: string;
1340
- popover_foreground: string;
1341
- primary: string;
1342
- primary_foreground: string;
1343
- secondary: string;
1344
- secondary_foreground: string;
1345
- muted: string;
1346
- muted_foreground: string;
1347
- accent: string;
1348
- accent_foreground: string;
1349
- destructive: string;
1350
- destructive_foreground: string;
1351
- border: string;
1352
- input: string;
1353
- chart_1: string;
1354
- chart_2: string;
1355
- chart_3: string;
1356
- chart_4: string;
1357
- chart_5: string;
1358
- font_header: string;
1359
- font_body: string;
1360
- text_extra_small: string;
1361
- text_small: string;
1362
- text_regular: string;
1363
- text_large: string;
1364
- text_extra_large: string;
1365
- text_giant: string;
1366
- global_spacing: string;
1367
- radius_small: string;
1368
- radius_medium: string;
1369
- radius_large: string;
1370
- radius_extra_large: string;
1371
- };
1372
- default: boolean;
1373
- };
1374
- "Tokyo Night": {
1375
- name: string;
1376
- mode: ThemeMode;
1377
- config: {
1378
- background: string;
1379
- foreground: string;
1380
- body: string;
1381
- popover: string;
1382
- popover_foreground: string;
1383
- primary: string;
1384
- primary_foreground: string;
1385
- secondary: string;
1386
- secondary_foreground: string;
1387
- muted: string;
1388
- muted_foreground: string;
1389
- accent: string;
1390
- accent_foreground: string;
1391
- destructive: string;
1392
- destructive_foreground: string;
1393
- border: string;
1394
- input: string;
1395
- chart_1: string;
1396
- chart_2: string;
1397
- chart_3: string;
1398
- chart_4: string;
1399
- chart_5: string;
1400
- font_header: string;
1401
- font_body: string;
1402
- text_extra_small: string;
1403
- text_small: string;
1404
- text_regular: string;
1405
- text_large: string;
1406
- text_extra_large: string;
1407
- text_giant: string;
1408
- global_spacing: string;
1409
- radius_small: string;
1410
- radius_medium: string;
1411
- radius_large: string;
1412
- radius_extra_large: string;
1413
- };
1414
- default: boolean;
1415
- };
1416
- "Rose Pine": {
1417
- name: string;
1418
- mode: ThemeMode;
1419
- config: {
1420
- background: string;
1421
- foreground: string;
1422
- body: string;
1423
- popover: string;
1424
- popover_foreground: string;
1425
- primary: string;
1426
- primary_foreground: string;
1427
- secondary: string;
1428
- secondary_foreground: string;
1429
- muted: string;
1430
- muted_foreground: string;
1431
- accent: string;
1432
- accent_foreground: string;
1433
- destructive: string;
1434
- destructive_foreground: string;
1435
- border: string;
1436
- input: string;
1437
- chart_1: string;
1438
- chart_2: string;
1439
- chart_3: string;
1440
- chart_4: string;
1441
- chart_5: string;
1442
- font_header: string;
1443
- font_body: string;
1444
- text_extra_small: string;
1445
- text_small: string;
1446
- text_regular: string;
1447
- text_large: string;
1448
- text_extra_large: string;
1449
- text_giant: string;
1450
- global_spacing: string;
1451
- radius_small: string;
1452
- radius_medium: string;
1453
- radius_large: string;
1454
- radius_extra_large: string;
1455
- };
1456
- default: boolean;
1457
- };
1458
- Everforest: {
1459
- name: string;
1460
- mode: ThemeMode;
1461
- config: {
1462
- background: string;
1463
- foreground: string;
1464
- body: string;
1465
- popover: string;
1466
- popover_foreground: string;
1467
- primary: string;
1468
- primary_foreground: string;
1469
- secondary: string;
1470
- secondary_foreground: string;
1471
- muted: string;
1472
- muted_foreground: string;
1473
- accent: string;
1474
- accent_foreground: string;
1475
- destructive: string;
1476
- destructive_foreground: string;
1477
- border: string;
1478
- input: string;
1479
- chart_1: string;
1480
- chart_2: string;
1481
- chart_3: string;
1482
- chart_4: string;
1483
- chart_5: string;
1484
- font_header: string;
1485
- font_body: string;
1486
- text_extra_small: string;
1487
- text_small: string;
1488
- text_regular: string;
1489
- text_large: string;
1490
- text_extra_large: string;
1491
- text_giant: string;
1492
- global_spacing: string;
1493
- radius_small: string;
1494
- radius_medium: string;
1495
- radius_large: string;
1496
- radius_extra_large: string;
1497
- };
1498
- default: boolean;
1499
- };
1500
- Nord: {
1501
- name: string;
1502
- mode: ThemeMode;
1503
- config: {
1504
- background: string;
1505
- foreground: string;
1506
- body: string;
1507
- popover: string;
1508
- popover_foreground: string;
1509
- primary: string;
1510
- primary_foreground: string;
1511
- secondary: string;
1512
- secondary_foreground: string;
1513
- muted: string;
1514
- muted_foreground: string;
1515
- accent: string;
1516
- accent_foreground: string;
1517
- destructive: string;
1518
- destructive_foreground: string;
1519
- border: string;
1520
- input: string;
1521
- chart_1: string;
1522
- chart_2: string;
1523
- chart_3: string;
1524
- chart_4: string;
1525
- chart_5: string;
1526
- font_header: string;
1527
- font_body: string;
1528
- text_extra_small: string;
1529
- text_small: string;
1530
- text_regular: string;
1531
- text_large: string;
1532
- text_extra_large: string;
1533
- text_giant: string;
1534
- global_spacing: string;
1535
- radius_small: string;
1536
- radius_medium: string;
1537
- radius_large: string;
1538
- radius_extra_large: string;
1539
- };
1540
- default: boolean;
1541
- };
1542
- "Catppuccin Mocha": {
1543
- name: string;
1544
- mode: ThemeMode;
1545
- config: {
1546
- background: string;
1547
- foreground: string;
1548
- body: string;
1549
- popover: string;
1550
- popover_foreground: string;
1551
- primary: string;
1552
- primary_foreground: string;
1553
- secondary: string;
1554
- secondary_foreground: string;
1555
- muted: string;
1556
- muted_foreground: string;
1557
- accent: string;
1558
- accent_foreground: string;
1559
- destructive: string;
1560
- destructive_foreground: string;
1561
- border: string;
1562
- input: string;
1563
- chart_1: string;
1564
- chart_2: string;
1565
- chart_3: string;
1566
- chart_4: string;
1567
- chart_5: string;
1568
- font_header: string;
1569
- font_body: string;
1570
- text_extra_small: string;
1571
- text_small: string;
1572
- text_regular: string;
1573
- text_large: string;
1574
- text_extra_large: string;
1575
- text_giant: string;
1576
- global_spacing: string;
1577
- radius_small: string;
1578
- radius_medium: string;
1579
- radius_large: string;
1580
- radius_extra_large: string;
1581
- };
1582
- default: boolean;
1583
- };
1584
- "Nordified Catppuccin": {
1585
- name: string;
1586
- mode: ThemeMode;
1587
- config: {
1588
- background: string;
1589
- foreground: string;
1590
- body: string;
1591
- popover: string;
1592
- popover_foreground: string;
1593
- primary: string;
1594
- primary_foreground: string;
1595
- secondary: string;
1596
- secondary_foreground: string;
1597
- muted: string;
1598
- muted_foreground: string;
1599
- accent: string;
1600
- accent_foreground: string;
1601
- destructive: string;
1602
- destructive_foreground: string;
1603
- border: string;
1604
- input: string;
1605
- chart_1: string;
1606
- chart_2: string;
1607
- chart_3: string;
1608
- chart_4: string;
1609
- chart_5: string;
1610
- font_header: string;
1611
- font_body: string;
1612
- text_extra_small: string;
1613
- text_small: string;
1614
- text_regular: string;
1615
- text_large: string;
1616
- text_extra_large: string;
1617
- text_giant: string;
1618
- global_spacing: string;
1619
- radius_small: string;
1620
- radius_medium: string;
1621
- radius_large: string;
1622
- radius_extra_large: string;
1623
- };
1624
- default: boolean;
1625
- };
1626
- Christmas: {
1627
- name: string;
1628
- mode: ThemeMode;
1629
- config: {
1630
- background: string;
1631
- foreground: string;
1632
- body: string;
1633
- popover: string;
1634
- popover_foreground: string;
1635
- primary: string;
1636
- primary_foreground: string;
1637
- secondary: string;
1638
- secondary_foreground: string;
1639
- muted: string;
1640
- muted_foreground: string;
1641
- accent: string;
1642
- accent_foreground: string;
1643
- destructive: string;
1644
- destructive_foreground: string;
1645
- border: string;
1646
- input: string;
1647
- chart_1: string;
1648
- chart_2: string;
1649
- chart_3: string;
1650
- chart_4: string;
1651
- chart_5: string;
1652
- font_header: string;
1653
- font_body: string;
1654
- text_extra_small: string;
1655
- text_small: string;
1656
- text_regular: string;
1657
- text_large: string;
1658
- text_extra_large: string;
1659
- text_giant: string;
1660
- global_spacing: string;
1661
- radius_small: string;
1662
- radius_medium: string;
1663
- radius_large: string;
1664
- radius_extra_large: string;
1665
- };
1666
- default: boolean;
1667
- };
1668
- Pastel: {
1669
- name: string;
1670
- mode: ThemeMode;
1671
- config: {
1672
- background: string;
1673
- foreground: string;
1674
- body: string;
1675
- popover: string;
1676
- popover_foreground: string;
1677
- primary: string;
1678
- primary_foreground: string;
1679
- secondary: string;
1680
- secondary_foreground: string;
1681
- muted: string;
1682
- muted_foreground: string;
1683
- accent: string;
1684
- accent_foreground: string;
1685
- destructive: string;
1686
- destructive_foreground: string;
1687
- border: string;
1688
- input: string;
1689
- chart_1: string;
1690
- chart_2: string;
1691
- chart_3: string;
1692
- chart_4: string;
1693
- chart_5: string;
1694
- font_header: string;
1695
- font_body: string;
1696
- text_extra_small: string;
1697
- text_small: string;
1698
- text_regular: string;
1699
- text_large: string;
1700
- text_extra_large: string;
1701
- text_giant: string;
1702
- global_spacing: string;
1703
- radius_small: string;
1704
- radius_medium: string;
1705
- radius_large: string;
1706
- radius_extra_large: string;
1707
- };
1708
- default: boolean;
1709
- };
1710
- Neon: {
1711
- name: string;
1712
- mode: ThemeMode;
1713
- config: {
1714
- background: string;
1715
- foreground: string;
1716
- body: string;
1717
- popover: string;
1718
- popover_foreground: string;
1719
- primary: string;
1720
- primary_foreground: string;
1721
- secondary: string;
1722
- secondary_foreground: string;
1723
- muted: string;
1724
- muted_foreground: string;
1725
- accent: string;
1726
- accent_foreground: string;
1727
- destructive: string;
1728
- destructive_foreground: string;
1729
- border: string;
1730
- input: string;
1731
- chart_1: string;
1732
- chart_2: string;
1733
- chart_3: string;
1734
- chart_4: string;
1735
- chart_5: string;
1736
- font_header: string;
1737
- font_body: string;
1738
- text_extra_small: string;
1739
- text_small: string;
1740
- text_regular: string;
1741
- text_large: string;
1742
- text_extra_large: string;
1743
- text_giant: string;
1744
- global_spacing: string;
1745
- radius_small: string;
1746
- radius_medium: string;
1747
- radius_large: string;
1748
- radius_extra_large: string;
1749
- };
1750
- default: boolean;
1751
- };
1752
- "High Contrast": {
1753
- name: string;
1754
- mode: ThemeMode;
1755
- config: {
1756
- background: string;
1757
- foreground: string;
1758
- body: string;
1759
- popover: string;
1760
- popover_foreground: string;
1761
- primary: string;
1762
- primary_foreground: string;
1763
- secondary: string;
1764
- secondary_foreground: string;
1765
- muted: string;
1766
- muted_foreground: string;
1767
- accent: string;
1768
- accent_foreground: string;
1769
- destructive: string;
1770
- destructive_foreground: string;
1771
- border: string;
1772
- input: string;
1773
- chart_1: string;
1774
- chart_2: string;
1775
- chart_3: string;
1776
- chart_4: string;
1777
- chart_5: string;
1778
- font_header: string;
1779
- font_body: string;
1780
- text_extra_small: string;
1781
- text_small: string;
1782
- text_regular: string;
1783
- text_large: string;
1784
- text_extra_large: string;
1785
- text_giant: string;
1786
- global_spacing: string;
1787
- radius_small: string;
1788
- radius_medium: string;
1789
- radius_large: string;
1790
- radius_extra_large: string;
1791
- };
1792
- default: boolean;
1793
- };
1794
- Ocean: {
1795
- name: string;
1796
- mode: ThemeMode;
1797
- config: {
1798
- background: string;
1799
- foreground: string;
1800
- body: string;
1801
- popover: string;
1802
- popover_foreground: string;
1803
- primary: string;
1804
- primary_foreground: string;
1805
- secondary: string;
1806
- secondary_foreground: string;
1807
- muted: string;
1808
- muted_foreground: string;
1809
- accent: string;
1810
- accent_foreground: string;
1811
- destructive: string;
1812
- destructive_foreground: string;
1813
- border: string;
1814
- input: string;
1815
- chart_1: string;
1816
- chart_2: string;
1817
- chart_3: string;
1818
- chart_4: string;
1819
- chart_5: string;
1820
- font_header: string;
1821
- font_body: string;
1822
- text_extra_small: string;
1823
- text_small: string;
1824
- text_regular: string;
1825
- text_large: string;
1826
- text_extra_large: string;
1827
- text_giant: string;
1828
- global_spacing: string;
1829
- radius_small: string;
1830
- radius_medium: string;
1831
- radius_large: string;
1832
- radius_extra_large: string;
1833
- };
1834
- default: boolean;
1835
- };
1836
- Forest: {
1837
- name: string;
1838
- mode: ThemeMode;
1839
- config: {
1840
- background: string;
1841
- foreground: string;
1842
- body: string;
1843
- popover: string;
1844
- popover_foreground: string;
1845
- primary: string;
1846
- primary_foreground: string;
1847
- secondary: string;
1848
- secondary_foreground: string;
1849
- muted: string;
1850
- muted_foreground: string;
1851
- accent: string;
1852
- accent_foreground: string;
1853
- destructive: string;
1854
- destructive_foreground: string;
1855
- border: string;
1856
- input: string;
1857
- chart_1: string;
1858
- chart_2: string;
1859
- chart_3: string;
1860
- chart_4: string;
1861
- chart_5: string;
1862
- font_header: string;
1863
- font_body: string;
1864
- text_extra_small: string;
1865
- text_small: string;
1866
- text_regular: string;
1867
- text_large: string;
1868
- text_extra_large: string;
1869
- text_giant: string;
1870
- global_spacing: string;
1871
- radius_small: string;
1872
- radius_medium: string;
1873
- radius_large: string;
1874
- radius_extra_large: string;
1875
- };
1876
- default: boolean;
1877
- };
1878
- Sunset: {
1879
- name: string;
1880
- mode: ThemeMode;
1881
- config: {
1882
- background: string;
1883
- foreground: string;
1884
- body: string;
1885
- popover: string;
1886
- popover_foreground: string;
1887
- primary: string;
1888
- primary_foreground: string;
1889
- secondary: string;
1890
- secondary_foreground: string;
1891
- muted: string;
1892
- muted_foreground: string;
1893
- accent: string;
1894
- accent_foreground: string;
1895
- destructive: string;
1896
- destructive_foreground: string;
1897
- border: string;
1898
- input: string;
1899
- chart_1: string;
1900
- chart_2: string;
1901
- chart_3: string;
1902
- chart_4: string;
1903
- chart_5: string;
1904
- font_header: string;
1905
- font_body: string;
1906
- text_extra_small: string;
1907
- text_small: string;
1908
- text_regular: string;
1909
- text_large: string;
1910
- text_extra_large: string;
1911
- text_giant: string;
1912
- global_spacing: string;
1913
- radius_small: string;
1914
- radius_medium: string;
1915
- radius_large: string;
1916
- radius_extra_large: string;
1917
- };
1918
- default: boolean;
1919
- };
1920
- };
1921
- declare const allThemes: {
1922
- Default: {
1923
- name: string;
1924
- mode: ThemeMode;
1925
- config: {
1926
- background: string;
1927
- foreground: string;
1928
- body: string;
1929
- popover: string;
1930
- popover_foreground: string;
1931
- primary: string;
1932
- primary_foreground: string;
1933
- secondary: string;
1934
- secondary_foreground: string;
1935
- muted: string;
1936
- muted_foreground: string;
1937
- accent: string;
1938
- accent_foreground: string;
1939
- destructive: string;
1940
- destructive_foreground: string;
1941
- border: string;
1942
- input: string;
1943
- chart_1: string;
1944
- chart_2: string;
1945
- chart_3: string;
1946
- chart_4: string;
1947
- chart_5: string;
1948
- font_header: string;
1949
- font_body: string;
1950
- text_extra_small: string;
1951
- text_small: string;
1952
- text_regular: string;
1953
- text_large: string;
1954
- text_extra_large: string;
1955
- text_giant: string;
1956
- global_spacing: string;
1957
- radius_small: string;
1958
- radius_medium: string;
1959
- radius_large: string;
1960
- radius_extra_large: string;
1961
- };
1962
- default: boolean;
1963
- };
1964
- Dracula: {
1965
- name: string;
1966
- mode: ThemeMode;
1967
- config: {
1968
- background: string;
1969
- foreground: string;
1970
- body: string;
1971
- popover: string;
1972
- popover_foreground: string;
1973
- primary: string;
1974
- primary_foreground: string;
1975
- secondary: string;
1976
- secondary_foreground: string;
1977
- muted: string;
1978
- muted_foreground: string;
1979
- accent: string;
1980
- accent_foreground: string;
1981
- destructive: string;
1982
- destructive_foreground: string;
1983
- border: string;
1984
- input: string;
1985
- chart_1: string;
1986
- chart_2: string;
1987
- chart_3: string;
1988
- chart_4: string;
1989
- chart_5: string;
1990
- font_header: string;
1991
- font_body: string;
1992
- text_extra_small: string;
1993
- text_small: string;
1994
- text_regular: string;
1995
- text_large: string;
1996
- text_extra_large: string;
1997
- text_giant: string;
1998
- global_spacing: string;
1999
- radius_small: string;
2000
- radius_medium: string;
2001
- radius_large: string;
2002
- radius_extra_large: string;
2003
- };
2004
- default: boolean;
2005
- };
2006
- Solarized: {
2007
- name: string;
2008
- mode: ThemeMode;
2009
- config: {
2010
- background: string;
2011
- foreground: string;
2012
- body: string;
2013
- popover: string;
2014
- popover_foreground: string;
2015
- primary: string;
2016
- primary_foreground: string;
2017
- secondary: string;
2018
- secondary_foreground: string;
2019
- muted: string;
2020
- muted_foreground: string;
2021
- accent: string;
2022
- accent_foreground: string;
2023
- destructive: string;
2024
- destructive_foreground: string;
2025
- border: string;
2026
- input: string;
2027
- chart_1: string;
2028
- chart_2: string;
2029
- chart_3: string;
2030
- chart_4: string;
2031
- chart_5: string;
2032
- font_header: string;
2033
- font_body: string;
2034
- text_extra_small: string;
2035
- text_small: string;
2036
- text_regular: string;
2037
- text_large: string;
2038
- text_extra_large: string;
2039
- text_giant: string;
2040
- global_spacing: string;
2041
- radius_small: string;
2042
- radius_medium: string;
2043
- radius_large: string;
2044
- radius_extra_large: string;
2045
- };
2046
- default: boolean;
2047
- };
2048
- Gruvbox: {
2049
- name: string;
2050
- mode: ThemeMode;
2051
- config: {
2052
- background: string;
2053
- foreground: string;
2054
- body: string;
2055
- popover: string;
2056
- popover_foreground: string;
2057
- primary: string;
2058
- primary_foreground: string;
2059
- secondary: string;
2060
- secondary_foreground: string;
2061
- muted: string;
2062
- muted_foreground: string;
2063
- accent: string;
2064
- accent_foreground: string;
2065
- destructive: string;
2066
- destructive_foreground: string;
2067
- border: string;
2068
- input: string;
2069
- chart_1: string;
2070
- chart_2: string;
2071
- chart_3: string;
2072
- chart_4: string;
2073
- chart_5: string;
2074
- font_header: string;
2075
- font_body: string;
2076
- text_extra_small: string;
2077
- text_small: string;
2078
- text_regular: string;
2079
- text_large: string;
2080
- text_extra_large: string;
2081
- text_giant: string;
2082
- global_spacing: string;
2083
- radius_small: string;
2084
- radius_medium: string;
2085
- radius_large: string;
2086
- radius_extra_large: string;
2087
- };
2088
- default: boolean;
2089
- };
2090
- Monokai: {
2091
- name: string;
2092
- mode: ThemeMode;
2093
- config: {
2094
- background: string;
2095
- foreground: string;
2096
- body: string;
2097
- popover: string;
2098
- popover_foreground: string;
2099
- primary: string;
2100
- primary_foreground: string;
2101
- secondary: string;
2102
- secondary_foreground: string;
2103
- muted: string;
2104
- muted_foreground: string;
2105
- accent: string;
2106
- accent_foreground: string;
2107
- destructive: string;
2108
- destructive_foreground: string;
2109
- border: string;
2110
- input: string;
2111
- chart_1: string;
2112
- chart_2: string;
2113
- chart_3: string;
2114
- chart_4: string;
2115
- chart_5: string;
2116
- font_header: string;
2117
- font_body: string;
2118
- text_extra_small: string;
2119
- text_small: string;
2120
- text_regular: string;
2121
- text_large: string;
2122
- text_extra_large: string;
2123
- text_giant: string;
2124
- global_spacing: string;
2125
- radius_small: string;
2126
- radius_medium: string;
2127
- radius_large: string;
2128
- radius_extra_large: string;
2129
- };
2130
- default: boolean;
2131
- };
2132
- "Tokyo Night": {
2133
- name: string;
2134
- mode: ThemeMode;
2135
- config: {
2136
- background: string;
2137
- foreground: string;
2138
- body: string;
2139
- popover: string;
2140
- popover_foreground: string;
2141
- primary: string;
2142
- primary_foreground: string;
2143
- secondary: string;
2144
- secondary_foreground: string;
2145
- muted: string;
2146
- muted_foreground: string;
2147
- accent: string;
2148
- accent_foreground: string;
2149
- destructive: string;
2150
- destructive_foreground: string;
2151
- border: string;
2152
- input: string;
2153
- chart_1: string;
2154
- chart_2: string;
2155
- chart_3: string;
2156
- chart_4: string;
2157
- chart_5: string;
2158
- font_header: string;
2159
- font_body: string;
2160
- text_extra_small: string;
2161
- text_small: string;
2162
- text_regular: string;
2163
- text_large: string;
2164
- text_extra_large: string;
2165
- text_giant: string;
2166
- global_spacing: string;
2167
- radius_small: string;
2168
- radius_medium: string;
2169
- radius_large: string;
2170
- radius_extra_large: string;
2171
- };
2172
- default: boolean;
2173
- };
2174
- "Rose Pine": {
2175
- name: string;
2176
- mode: ThemeMode;
2177
- config: {
2178
- background: string;
2179
- foreground: string;
2180
- body: string;
2181
- popover: string;
2182
- popover_foreground: string;
2183
- primary: string;
2184
- primary_foreground: string;
2185
- secondary: string;
2186
- secondary_foreground: string;
2187
- muted: string;
2188
- muted_foreground: string;
2189
- accent: string;
2190
- accent_foreground: string;
2191
- destructive: string;
2192
- destructive_foreground: string;
2193
- border: string;
2194
- input: string;
2195
- chart_1: string;
2196
- chart_2: string;
2197
- chart_3: string;
2198
- chart_4: string;
2199
- chart_5: string;
2200
- font_header: string;
2201
- font_body: string;
2202
- text_extra_small: string;
2203
- text_small: string;
2204
- text_regular: string;
2205
- text_large: string;
2206
- text_extra_large: string;
2207
- text_giant: string;
2208
- global_spacing: string;
2209
- radius_small: string;
2210
- radius_medium: string;
2211
- radius_large: string;
2212
- radius_extra_large: string;
2213
- };
2214
- default: boolean;
2215
- };
2216
- Everforest: {
2217
- name: string;
2218
- mode: ThemeMode;
2219
- config: {
2220
- background: string;
2221
- foreground: string;
2222
- body: string;
2223
- popover: string;
2224
- popover_foreground: string;
2225
- primary: string;
2226
- primary_foreground: string;
2227
- secondary: string;
2228
- secondary_foreground: string;
2229
- muted: string;
2230
- muted_foreground: string;
2231
- accent: string;
2232
- accent_foreground: string;
2233
- destructive: string;
2234
- destructive_foreground: string;
2235
- border: string;
2236
- input: string;
2237
- chart_1: string;
2238
- chart_2: string;
2239
- chart_3: string;
2240
- chart_4: string;
2241
- chart_5: string;
2242
- font_header: string;
2243
- font_body: string;
2244
- text_extra_small: string;
2245
- text_small: string;
2246
- text_regular: string;
2247
- text_large: string;
2248
- text_extra_large: string;
2249
- text_giant: string;
2250
- global_spacing: string;
2251
- radius_small: string;
2252
- radius_medium: string;
2253
- radius_large: string;
2254
- radius_extra_large: string;
2255
- };
2256
- default: boolean;
2257
- };
2258
- Nord: {
2259
- name: string;
2260
- mode: ThemeMode;
2261
- config: {
2262
- background: string;
2263
- foreground: string;
2264
- body: string;
2265
- popover: string;
2266
- popover_foreground: string;
2267
- primary: string;
2268
- primary_foreground: string;
2269
- secondary: string;
2270
- secondary_foreground: string;
2271
- muted: string;
2272
- muted_foreground: string;
2273
- accent: string;
2274
- accent_foreground: string;
2275
- destructive: string;
2276
- destructive_foreground: string;
2277
- border: string;
2278
- input: string;
2279
- chart_1: string;
2280
- chart_2: string;
2281
- chart_3: string;
2282
- chart_4: string;
2283
- chart_5: string;
2284
- font_header: string;
2285
- font_body: string;
2286
- text_extra_small: string;
2287
- text_small: string;
2288
- text_regular: string;
2289
- text_large: string;
2290
- text_extra_large: string;
2291
- text_giant: string;
2292
- global_spacing: string;
2293
- radius_small: string;
2294
- radius_medium: string;
2295
- radius_large: string;
2296
- radius_extra_large: string;
2297
- };
2298
- default: boolean;
2299
- };
2300
- "Catppuccin Mocha": {
2301
- name: string;
2302
- mode: ThemeMode;
2303
- config: {
2304
- background: string;
2305
- foreground: string;
2306
- body: string;
2307
- popover: string;
2308
- popover_foreground: string;
2309
- primary: string;
2310
- primary_foreground: string;
2311
- secondary: string;
2312
- secondary_foreground: string;
2313
- muted: string;
2314
- muted_foreground: string;
2315
- accent: string;
2316
- accent_foreground: string;
2317
- destructive: string;
2318
- destructive_foreground: string;
2319
- border: string;
2320
- input: string;
2321
- chart_1: string;
2322
- chart_2: string;
2323
- chart_3: string;
2324
- chart_4: string;
2325
- chart_5: string;
2326
- font_header: string;
2327
- font_body: string;
2328
- text_extra_small: string;
2329
- text_small: string;
2330
- text_regular: string;
2331
- text_large: string;
2332
- text_extra_large: string;
2333
- text_giant: string;
2334
- global_spacing: string;
2335
- radius_small: string;
2336
- radius_medium: string;
2337
- radius_large: string;
2338
- radius_extra_large: string;
2339
- };
2340
- default: boolean;
2341
- };
2342
- "Nordified Catppuccin": {
2343
- name: string;
2344
- mode: ThemeMode;
2345
- config: {
2346
- background: string;
2347
- foreground: string;
2348
- body: string;
2349
- popover: string;
2350
- popover_foreground: string;
2351
- primary: string;
2352
- primary_foreground: string;
2353
- secondary: string;
2354
- secondary_foreground: string;
2355
- muted: string;
2356
- muted_foreground: string;
2357
- accent: string;
2358
- accent_foreground: string;
2359
- destructive: string;
2360
- destructive_foreground: string;
2361
- border: string;
2362
- input: string;
2363
- chart_1: string;
2364
- chart_2: string;
2365
- chart_3: string;
2366
- chart_4: string;
2367
- chart_5: string;
2368
- font_header: string;
2369
- font_body: string;
2370
- text_extra_small: string;
2371
- text_small: string;
2372
- text_regular: string;
2373
- text_large: string;
2374
- text_extra_large: string;
2375
- text_giant: string;
2376
- global_spacing: string;
2377
- radius_small: string;
2378
- radius_medium: string;
2379
- radius_large: string;
2380
- radius_extra_large: string;
2381
- };
2382
- default: boolean;
2383
- };
2384
- Christmas: {
2385
- name: string;
2386
- mode: ThemeMode;
2387
- config: {
2388
- background: string;
2389
- foreground: string;
2390
- body: string;
2391
- popover: string;
2392
- popover_foreground: string;
2393
- primary: string;
2394
- primary_foreground: string;
2395
- secondary: string;
2396
- secondary_foreground: string;
2397
- muted: string;
2398
- muted_foreground: string;
2399
- accent: string;
2400
- accent_foreground: string;
2401
- destructive: string;
2402
- destructive_foreground: string;
2403
- border: string;
2404
- input: string;
2405
- chart_1: string;
2406
- chart_2: string;
2407
- chart_3: string;
2408
- chart_4: string;
2409
- chart_5: string;
2410
- font_header: string;
2411
- font_body: string;
2412
- text_extra_small: string;
2413
- text_small: string;
2414
- text_regular: string;
2415
- text_large: string;
2416
- text_extra_large: string;
2417
- text_giant: string;
2418
- global_spacing: string;
2419
- radius_small: string;
2420
- radius_medium: string;
2421
- radius_large: string;
2422
- radius_extra_large: string;
2423
- };
2424
- default: boolean;
2425
- };
2426
- Pastel: {
2427
- name: string;
2428
- mode: ThemeMode;
2429
- config: {
2430
- background: string;
2431
- foreground: string;
2432
- body: string;
2433
- popover: string;
2434
- popover_foreground: string;
2435
- primary: string;
2436
- primary_foreground: string;
2437
- secondary: string;
2438
- secondary_foreground: string;
2439
- muted: string;
2440
- muted_foreground: string;
2441
- accent: string;
2442
- accent_foreground: string;
2443
- destructive: string;
2444
- destructive_foreground: string;
2445
- border: string;
2446
- input: string;
2447
- chart_1: string;
2448
- chart_2: string;
2449
- chart_3: string;
2450
- chart_4: string;
2451
- chart_5: string;
2452
- font_header: string;
2453
- font_body: string;
2454
- text_extra_small: string;
2455
- text_small: string;
2456
- text_regular: string;
2457
- text_large: string;
2458
- text_extra_large: string;
2459
- text_giant: string;
2460
- global_spacing: string;
2461
- radius_small: string;
2462
- radius_medium: string;
2463
- radius_large: string;
2464
- radius_extra_large: string;
2465
- };
2466
- default: boolean;
2467
- };
2468
- Neon: {
2469
- name: string;
2470
- mode: ThemeMode;
2471
- config: {
2472
- background: string;
2473
- foreground: string;
2474
- body: string;
2475
- popover: string;
2476
- popover_foreground: string;
2477
- primary: string;
2478
- primary_foreground: string;
2479
- secondary: string;
2480
- secondary_foreground: string;
2481
- muted: string;
2482
- muted_foreground: string;
2483
- accent: string;
2484
- accent_foreground: string;
2485
- destructive: string;
2486
- destructive_foreground: string;
2487
- border: string;
2488
- input: string;
2489
- chart_1: string;
2490
- chart_2: string;
2491
- chart_3: string;
2492
- chart_4: string;
2493
- chart_5: string;
2494
- font_header: string;
2495
- font_body: string;
2496
- text_extra_small: string;
2497
- text_small: string;
2498
- text_regular: string;
2499
- text_large: string;
2500
- text_extra_large: string;
2501
- text_giant: string;
2502
- global_spacing: string;
2503
- radius_small: string;
2504
- radius_medium: string;
2505
- radius_large: string;
2506
- radius_extra_large: string;
2507
- };
2508
- default: boolean;
2509
- };
2510
- "High Contrast": {
2511
- name: string;
2512
- mode: ThemeMode;
2513
- config: {
2514
- background: string;
2515
- foreground: string;
2516
- body: string;
2517
- popover: string;
2518
- popover_foreground: string;
2519
- primary: string;
2520
- primary_foreground: string;
2521
- secondary: string;
2522
- secondary_foreground: string;
2523
- muted: string;
2524
- muted_foreground: string;
2525
- accent: string;
2526
- accent_foreground: string;
2527
- destructive: string;
2528
- destructive_foreground: string;
2529
- border: string;
2530
- input: string;
2531
- chart_1: string;
2532
- chart_2: string;
2533
- chart_3: string;
2534
- chart_4: string;
2535
- chart_5: string;
2536
- font_header: string;
2537
- font_body: string;
2538
- text_extra_small: string;
2539
- text_small: string;
2540
- text_regular: string;
2541
- text_large: string;
2542
- text_extra_large: string;
2543
- text_giant: string;
2544
- global_spacing: string;
2545
- radius_small: string;
2546
- radius_medium: string;
2547
- radius_large: string;
2548
- radius_extra_large: string;
2549
- };
2550
- default: boolean;
2551
- };
2552
- Ocean: {
2553
- name: string;
2554
- mode: ThemeMode;
2555
- config: {
2556
- background: string;
2557
- foreground: string;
2558
- body: string;
2559
- popover: string;
2560
- popover_foreground: string;
2561
- primary: string;
2562
- primary_foreground: string;
2563
- secondary: string;
2564
- secondary_foreground: string;
2565
- muted: string;
2566
- muted_foreground: string;
2567
- accent: string;
2568
- accent_foreground: string;
2569
- destructive: string;
2570
- destructive_foreground: string;
2571
- border: string;
2572
- input: string;
2573
- chart_1: string;
2574
- chart_2: string;
2575
- chart_3: string;
2576
- chart_4: string;
2577
- chart_5: string;
2578
- font_header: string;
2579
- font_body: string;
2580
- text_extra_small: string;
2581
- text_small: string;
2582
- text_regular: string;
2583
- text_large: string;
2584
- text_extra_large: string;
2585
- text_giant: string;
2586
- global_spacing: string;
2587
- radius_small: string;
2588
- radius_medium: string;
2589
- radius_large: string;
2590
- radius_extra_large: string;
2591
- };
2592
- default: boolean;
2593
- };
2594
- Forest: {
2595
- name: string;
2596
- mode: ThemeMode;
2597
- config: {
2598
- background: string;
2599
- foreground: string;
2600
- body: string;
2601
- popover: string;
2602
- popover_foreground: string;
2603
- primary: string;
2604
- primary_foreground: string;
2605
- secondary: string;
2606
- secondary_foreground: string;
2607
- muted: string;
2608
- muted_foreground: string;
2609
- accent: string;
2610
- accent_foreground: string;
2611
- destructive: string;
2612
- destructive_foreground: string;
2613
- border: string;
2614
- input: string;
2615
- chart_1: string;
2616
- chart_2: string;
2617
- chart_3: string;
2618
- chart_4: string;
2619
- chart_5: string;
2620
- font_header: string;
2621
- font_body: string;
2622
- text_extra_small: string;
2623
- text_small: string;
2624
- text_regular: string;
2625
- text_large: string;
2626
- text_extra_large: string;
2627
- text_giant: string;
2628
- global_spacing: string;
2629
- radius_small: string;
2630
- radius_medium: string;
2631
- radius_large: string;
2632
- radius_extra_large: string;
2633
- };
2634
- default: boolean;
2635
- };
2636
- Sunset: {
2637
- name: string;
2638
- mode: ThemeMode;
2639
- config: {
2640
- background: string;
2641
- foreground: string;
2642
- body: string;
2643
- popover: string;
2644
- popover_foreground: string;
2645
- primary: string;
2646
- primary_foreground: string;
2647
- secondary: string;
2648
- secondary_foreground: string;
2649
- muted: string;
2650
- muted_foreground: string;
2651
- accent: string;
2652
- accent_foreground: string;
2653
- destructive: string;
2654
- destructive_foreground: string;
2655
- border: string;
2656
- input: string;
2657
- chart_1: string;
2658
- chart_2: string;
2659
- chart_3: string;
2660
- chart_4: string;
2661
- chart_5: string;
2662
- font_header: string;
2663
- font_body: string;
2664
- text_extra_small: string;
2665
- text_small: string;
2666
- text_regular: string;
2667
- text_large: string;
2668
- text_extra_large: string;
2669
- text_giant: string;
2670
- global_spacing: string;
2671
- radius_small: string;
2672
- radius_medium: string;
2673
- radius_large: string;
2674
- radius_extra_large: string;
2675
- };
2676
- default: boolean;
2677
- };
2678
- };
97
+ /**
98
+ * Inject or update a `<style>` element in `<head>` for the given theme.
99
+ * The element ID is deterministic (`theme-style-{themeId}`) so repeated calls
100
+ * for the same theme are idempotent — the existing element is updated in place.
101
+ * No-op when `document` is unavailable (SSR).
102
+ */
103
+ declare function applyTheme(theme: ResolvedTheme, options?: GenerateThemeCSSOptions): void;
104
+ /** Remove an injected theme stylesheet. No-op during SSR. */
105
+ declare function removeTheme(themeId: string): void;
106
+ /** Remove all injected theme stylesheets. No-op during SSR. */
107
+ declare function removeAllThemes(): void;
108
+
109
+ declare const DEFAULT_FONT_SIZES: Record<FontSizeKey, string>;
110
+ declare const DEFAULT_FONT_FAMILIES: Record<FontFamilyKey, string>;
111
+ declare const DEFAULT_SPACING = "0.25rem";
112
+ declare const DEFAULT_RADII: Record<RadiusKey, string>;
113
+ declare const DEFAULT_COLORS: {
114
+ readonly background: "#ffffff";
115
+ readonly foreground: "#1a1a1a";
116
+ readonly primary: "#3b82f6";
117
+ readonly secondary: "#6b7280";
118
+ readonly accent: "#10b981";
119
+ readonly muted: "#f3f4f6";
120
+ readonly destructive: "#ef4444";
121
+ readonly mutedForeground: "#6b7280";
122
+ };
123
+ declare const DEFAULT_THEME_ID = "default";
124
+ declare const DEFAULT_THEME_NAME = "Default Theme";
125
+ /**
126
+ * Build a fresh ThemeDefinition populated with all defaults.
127
+ * Returns a new object each call because Color instances are mutable — do not cache the result.
128
+ */
129
+ declare function getDefaultThemeDefinition(): ThemeDefinition;
2679
130
 
2680
- export { BUILT_IN_THEMES, CORE_COLOR_KEYS, CORE_FONT_KEYS, CORE_NON_COLOR_KEYS, CORE_SPACING_KEYS, type CoreColors, type CoreNonColorFields, DEFAULT_CORE_COLORS, DEFAULT_CORE_COLORS_CONFIG, DEFAULT_FONT, DEFAULT_SPACING, FONT_OPTIONS, type Font, type Oklch, type Spacing, THEME_MODES, ThemeConfig, type ThemeMode, allThemes, catppuccinMocha, christmas, clampChroma, coreColorsToConfig, defaultTheme, detectThemeMode, dracula, everforest, findThemeByIdentifier, fontConfigToCoreFont, forest, generateColorSwatches, generateDualTheme, generateSmartDualTheme, generateTheme, generateThemeCssVars, getForegroundColor, getThemeIdentifier, globalCSSOverride, gruvbox, highContrast, isSameTheme, mod, monokai, neon, nord, nordifiedCatppuccin, ocean, oklchString, parseOklch, pastel, rosePine, rotateHue, rotateSoft, separatedThemeConfig, shadeColor, solarized, spacingConfigToCoreSpacing, sunset, themeConfigToCoreColors, themeConfigToCoreNonColorFields, toDarkMode, toLightMode, tokyoNight };
131
+ export { DEFAULT_COLORS, DEFAULT_FONT_FAMILIES, DEFAULT_FONT_SIZES, DEFAULT_RADII, DEFAULT_SPACING, DEFAULT_THEME_ID, DEFAULT_THEME_NAME, FontFamilyKey, FontSizeKey, type GenerateThemeCSSOptions, RadiusKey, type RawApiTheme, ResolvedTheme, SemanticColorName, ShadeStep, ThemeColorInput, ThemeDefinition, ThemePayload, applyTheme, buildThemeDefinition, deriveDarkVariant, deserialiseTheme, generateShades, generateThemeCSS, getActiveThemeId, getDefaultThemeDefinition, getForegroundColor, mergeDarkOverrides, parseColor, removeAllThemes, removeTheme, resolveTheme, serialiseTheme, transformThemes };