@rungalileo/jupiter-ds 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,1309 @@
1
- export * from './lib/design-system';
2
- export * from './lib/components';
3
- //# sourceMappingURL=index.d.ts.map
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as _mantine_core from '@mantine/core';
3
+ import { MantineTheme, MantineProviderProps, ButtonProps as ButtonProps$1, CheckboxProps as CheckboxProps$1, BadgeProps as BadgeProps$1, TextInputProps, RadioProps as RadioProps$1, SwitchProps as SwitchProps$1, TabsProps as TabsProps$1, TextareaProps as TextareaProps$1, TooltipProps as TooltipProps$1, MenuProps, TableProps as TableProps$1, HoverCardProps } from '@mantine/core';
4
+ export { TooltipProps as MantineTooltipProps } from '@mantine/core';
5
+ import * as react from 'react';
6
+ import react__default, { ReactNode, CSSProperties, JSX } from 'react';
7
+ import { CodeHighlightTabsProps } from '@mantine/code-highlight';
8
+ import { LinkProps } from 'next/link';
9
+ import { DatePickerType, DatePickerProps, DateInputProps as DateInputProps$1, DateTimePickerProps as DateTimePickerProps$1 } from '@mantine/dates';
10
+ import { ColumnDef, RowSelectionState, OnChangeFn, SortingState } from '@tanstack/react-table';
11
+ export { ColumnDef, RowSelectionState } from '@tanstack/react-table';
12
+
13
+ /**
14
+ * Component Variants
15
+ * Custom variants and dynamic styling for components
16
+ * THIS FILE IS NOT USED YET
17
+ */
18
+ declare const buttonVariants: {
19
+ readonly 'gray-outline': {
20
+ readonly vars: {
21
+ readonly '--button-color': "#4b5563";
22
+ };
23
+ };
24
+ };
25
+ declare const createButtonVars: (theme: any, props: any) => {
26
+ root: {
27
+ '--button-color': any;
28
+ };
29
+ } | {
30
+ root: {
31
+ '--button-color'?: undefined;
32
+ };
33
+ };
34
+ declare const componentVariantVariables: {
35
+ readonly '--button-gray-outline-color': "#4b5563";
36
+ };
37
+ type ButtonVariant = keyof typeof buttonVariants;
38
+
39
+ /**
40
+ * Design Tokens - Colors
41
+ * Based on existing Mantine theme from client-legacy
42
+ */
43
+ declare const colors: {
44
+ brand: readonly ["#f6f5ff", "#eeebfe", "#ddd7fe", "#bab0fd", "#8674fb", "#644DF9", "#4a2ff9", "#1d06b2", "#130477", "#0a023b", "#0085FF", "#DAEAFD"];
45
+ base: readonly ["#000000", "#ffffff", "#ffffff00"];
46
+ slate: readonly ["#f8fafc", "#f1f5f9", "#e2e8f0", "#cbd5e1", "#94a3b8", "#64748b", "#475569", "#334155", "#1e293b", "#0f172a", "#020617"];
47
+ gray: readonly ["#f9fafb", "#f3f4f6", "#e5e7eb", "#d1d5db", "#9ca3af", "#6b7280", "#4b5563", "#374151", "#1f2937", "#111827", "#030712"];
48
+ zinc: readonly ["#fafafa", "#f4f4f5", "#e4e4e7", "#d4d4d8", "#a1a1aa", "#71717a", "#52525b", "#3f3f46", "#27272a", "#18181b", "#09090b"];
49
+ neutral: readonly ["#fafafa", "#f5f5f5", "#e5e5e5", "#d4d4d4", "#a3a3a3", "#737373", "#525252", "#404040", "#262626", "#171717", "#0a0a0a"];
50
+ stone: readonly ["#fafaf9", "#f5f5f4", "#e7e5e4", "#d6d3d1", "#a8a29e", "#78716c", "#57534e", "#44403c", "#292524", "#1c1917", "#0c0a09"];
51
+ red: readonly ["#fef2f2", "#fee2e2", "#fecaca", "#fca5a5", "#f87171", "#ef4444", "#dc2626", "#b91c1c", "#991b1b", "#7f1d1d", "#450a0a"];
52
+ orange: readonly ["#fff7ed", "#ffedd5", "#fed7aa", "#fdba74", "#fb923c", "#f97316", "#ea580c", "#c2410c", "#9a3412", "#7c2d12", "#431407"];
53
+ amber: readonly ["#fffbeb", "#fef3c7", "#fde68a", "#fcd34d", "#fbbf24", "#f59e0b", "#d97706", "#b45309", "#92400e", "#78350f", "#451a03"];
54
+ yellow: readonly ["#fefce8", "#fef9c3", "#fef08a", "#fde047", "#facc15", "#eab308", "#ca8a04", "#a16207", "#854d0e", "#713f12", "#422006"];
55
+ lime: readonly ["#f7fee7", "#ecfccb", "#d9f99d", "#bef264", "#a3e635", "#84cc16", "#65a30d", "#4d7c0f", "#3f6212", "#365314", "#1a2e05"];
56
+ green: readonly ["#f0fdf4", "#dcfce7", "#bbf7d0", "#86efac", "#4ade80", "#22c55e", "#16a34a", "#15803d", "#166534", "#14532d", "#052e16"];
57
+ emerald: readonly ["#ecfdf5", "#d1fae5", "#a7f3d0", "#6ee7b7", "#34d399", "#10b981", "#059669", "#047857", "#065f46", "#064e3b", "#022c22"];
58
+ teal: readonly ["#f0fdfa", "#ccfbf1", "#99f6e4", "#5eead4", "#2dd4bf", "#14b8a6", "#0d9488", "#0f766e", "#115e59", "#134e4a", "#042f2e"];
59
+ cyan: readonly ["#ecfeff", "#cffafe", "#a5f3fc", "#67e8f9", "#22d3ee", "#06b6d4", "#0891b2", "#0e7490", "#155e75", "#164e63", "#083344"];
60
+ sky: readonly ["#f0f9ff", "#e0f2fe", "#bae6fd", "#7dd3fc", "#38bdf8", "#0ea5e9", "#0284c7", "#0369a1", "#075985", "#0c4a6e", "#082f49"];
61
+ blue: readonly ["#eff6ff", "#dbeafe", "#bfdbfe", "#93c5fd", "#60a5fa", "#3b82f6", "#2563eb", "#1d4ed8", "#1e40af", "#1e3a8a", "#172554"];
62
+ indigo: readonly ["#eef2ff", "#e0e7ff", "#c7d2fe", "#a5b4fc", "#818cf8", "#6366f1", "#4f46e5", "#4338ca", "#3730a3", "#312e81", "#1e1b4b"];
63
+ violet: readonly ["#f5f3ff", "#ede9fe", "#ddd6fe", "#c4b5fd", "#a78bfa", "#8b5cf6", "#7c3aed", "#6d28d9", "#5b21b6", "#4c1d95", "#2e1065"];
64
+ purple: readonly ["#faf5ff", "#f3e8ff", "#e9d5ff", "#d8b4fe", "#c084fc", "#a855f7", "#9333ea", "#7e22ce", "#6b21a8", "#581c87", "#3b0764"];
65
+ fuchsia: readonly ["#fdf4ff", "#fae8ff", "#f5d0fe", "#f0abfc", "#e879f9", "#d946ef", "#c026d3", "#a21caf", "#86198f", "#701a75", "#4a044e"];
66
+ pink: readonly ["#fdf2f8", "#fce7f3", "#fbcfe8", "#f9a8d4", "#f472b6", "#ec4899", "#db2777", "#be185d", "#9d174d", "#831843", "#500724"];
67
+ rose: readonly ["#fff1f2", "#ffe4e6", "#fecdd3", "#fda4af", "#fb7185", "#f43f5e", "#e11d48", "#be123c", "#9f1239", "#881337", "#4c0519"];
68
+ };
69
+
70
+ /**
71
+ * Spacing Configuration
72
+ * Based on Mantine's defaultRadius configuration
73
+ */
74
+ declare const radius: {
75
+ readonly xxs: "0.125rem";
76
+ readonly xs: "0.25rem";
77
+ readonly sm: "0.375rem";
78
+ readonly md: "0.5rem";
79
+ readonly lg: "0.625rem";
80
+ readonly xl: "0.175rem";
81
+ readonly full: "9999px";
82
+ };
83
+ type RadiusToken = keyof typeof radius;
84
+ /**
85
+ * Z-Index & Layout Constants
86
+ * Based on existing client-legacy Z_INDEX constants
87
+ */
88
+ declare const zIndex: {
89
+ readonly negative: "-1";
90
+ readonly zero: "0";
91
+ readonly base: "1";
92
+ readonly overlays: "2";
93
+ readonly stickyContent: "10";
94
+ readonly stickySubHeader: "11";
95
+ readonly stickyHeader: "12";
96
+ readonly dropdowns: "100";
97
+ readonly drawers: "9996";
98
+ readonly subModal: "9997";
99
+ readonly modals: "9998";
100
+ readonly tooltips: "9999";
101
+ };
102
+ type ZIndexToken = keyof typeof zIndex;
103
+ /**
104
+ * Spacing Configuration
105
+ * Based on 4px base unit (0.25rem)
106
+ */
107
+ declare const spacing: {
108
+ readonly xs: "0.5rem";
109
+ readonly sm: "0.75rem";
110
+ readonly md: "1rem";
111
+ readonly lg: "1.25rem";
112
+ readonly xl: "1.5rem";
113
+ readonly 1: "0.25rem";
114
+ readonly 2: "0.375rem";
115
+ readonly 3: "0.75rem";
116
+ readonly 4: "1rem";
117
+ readonly 5: "1.25rem";
118
+ readonly 6: "1.5rem";
119
+ readonly 7: "1.75rem";
120
+ readonly 8: "2rem";
121
+ readonly 9: "2.25rem";
122
+ readonly 10: "2.5rem";
123
+ };
124
+ type SpacingToken = keyof typeof spacing;
125
+ /**
126
+ * Shadow Configuration
127
+ */
128
+ declare const shadows: {
129
+ readonly xs: "0 1px 2px rgba(0, 0, 0, 0.05)";
130
+ readonly sm: "0 1px 3px rgba(0, 0, 0, 0.1)";
131
+ readonly md: "0 4px 6px rgba(0, 0, 0, 0.1)";
132
+ readonly lg: "0 10px 15px rgba(0, 0, 0, 0.1)";
133
+ readonly xl: "0 20px 25px rgba(0, 0, 0, 0.1)";
134
+ };
135
+ type ShadowToken = keyof typeof shadows;
136
+
137
+ /**
138
+ * Typography Configuration
139
+ */
140
+ declare const typography: {
141
+ readonly fontFamily: {
142
+ readonly sans: "Inter, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"";
143
+ readonly mono: "Fira Mono, ui-monospace, SFMono-Regular, \"Menlo\", \"Monaco\", \"Consolas\", \"Liberation Mono\", \"Courier New\", monospace";
144
+ };
145
+ readonly fontSizes: {
146
+ base: string;
147
+ xs: string;
148
+ sm: string;
149
+ lg: string;
150
+ xl: string;
151
+ '2xl': string;
152
+ '3xl': string;
153
+ '4xl': string;
154
+ '5xl': string;
155
+ '6xl': string;
156
+ '7xl': string;
157
+ '8xl': string;
158
+ '9xl': string;
159
+ };
160
+ readonly lineHeights: {
161
+ readonly base: "24px";
162
+ readonly xs: "16px";
163
+ readonly sm: "20px";
164
+ readonly lg: "24px";
165
+ readonly xl: "28px";
166
+ readonly '2xl': "32px";
167
+ readonly '3xl': "36px";
168
+ readonly '4xl': "40px";
169
+ readonly '5xl': "48px";
170
+ readonly '6xl': "60px";
171
+ readonly '7xl': "72px";
172
+ readonly '8xl': "96px";
173
+ readonly '9xl': "128px";
174
+ };
175
+ readonly fontWeights: {
176
+ thin: string;
177
+ extralight: string;
178
+ light: string;
179
+ normal: string;
180
+ medium: string;
181
+ semibold: string;
182
+ bold: string;
183
+ extrabold: string;
184
+ black: string;
185
+ };
186
+ };
187
+ type TypographyToken = keyof typeof typography;
188
+
189
+ /**
190
+ * Jupiter Design System Theme.
191
+ * Main theme configuration for Mantine Provider
192
+ * Supports light/dark color schemes via setColorScheme
193
+ */
194
+ declare const jupiterTheme: {
195
+ focusRing?: "auto" | "always" | "never" | undefined;
196
+ scale?: number | undefined;
197
+ fontSmoothing?: boolean | undefined;
198
+ white?: string | undefined;
199
+ black?: string | undefined;
200
+ colors?: {
201
+ [x: string & {}]: _mantine_core.MantineColorsTuple | undefined;
202
+ dark?: _mantine_core.MantineColorsTuple | undefined;
203
+ gray?: _mantine_core.MantineColorsTuple | undefined;
204
+ red?: _mantine_core.MantineColorsTuple | undefined;
205
+ pink?: _mantine_core.MantineColorsTuple | undefined;
206
+ grape?: _mantine_core.MantineColorsTuple | undefined;
207
+ violet?: _mantine_core.MantineColorsTuple | undefined;
208
+ indigo?: _mantine_core.MantineColorsTuple | undefined;
209
+ blue?: _mantine_core.MantineColorsTuple | undefined;
210
+ cyan?: _mantine_core.MantineColorsTuple | undefined;
211
+ green?: _mantine_core.MantineColorsTuple | undefined;
212
+ lime?: _mantine_core.MantineColorsTuple | undefined;
213
+ yellow?: _mantine_core.MantineColorsTuple | undefined;
214
+ orange?: _mantine_core.MantineColorsTuple | undefined;
215
+ teal?: _mantine_core.MantineColorsTuple | undefined;
216
+ } | undefined;
217
+ primaryShade?: _mantine_core.MantineColorShade | {
218
+ light?: _mantine_core.MantineColorShade | undefined;
219
+ dark?: _mantine_core.MantineColorShade | undefined;
220
+ } | undefined;
221
+ primaryColor?: string | undefined;
222
+ variantColorResolver?: _mantine_core.VariantColorsResolver | undefined;
223
+ autoContrast?: boolean | undefined;
224
+ luminanceThreshold?: number | undefined;
225
+ fontFamily?: string | undefined;
226
+ fontFamilyMonospace?: string | undefined;
227
+ headings?: {
228
+ fontFamily?: string | undefined;
229
+ fontWeight?: string | undefined;
230
+ textWrap?: "balance" | "nowrap" | "wrap" | "stable" | "pretty" | undefined;
231
+ sizes?: {
232
+ h1?: {
233
+ fontSize?: string | undefined;
234
+ fontWeight?: string | undefined;
235
+ lineHeight?: string | undefined;
236
+ } | undefined;
237
+ h2?: {
238
+ fontSize?: string | undefined;
239
+ fontWeight?: string | undefined;
240
+ lineHeight?: string | undefined;
241
+ } | undefined;
242
+ h3?: {
243
+ fontSize?: string | undefined;
244
+ fontWeight?: string | undefined;
245
+ lineHeight?: string | undefined;
246
+ } | undefined;
247
+ h4?: {
248
+ fontSize?: string | undefined;
249
+ fontWeight?: string | undefined;
250
+ lineHeight?: string | undefined;
251
+ } | undefined;
252
+ h5?: {
253
+ fontSize?: string | undefined;
254
+ fontWeight?: string | undefined;
255
+ lineHeight?: string | undefined;
256
+ } | undefined;
257
+ h6?: {
258
+ fontSize?: string | undefined;
259
+ fontWeight?: string | undefined;
260
+ lineHeight?: string | undefined;
261
+ } | undefined;
262
+ } | undefined;
263
+ } | undefined;
264
+ radius?: {
265
+ [x: string & {}]: string | undefined;
266
+ xs?: string | undefined;
267
+ sm?: string | undefined;
268
+ md?: string | undefined;
269
+ lg?: string | undefined;
270
+ xl?: string | undefined;
271
+ } | undefined;
272
+ defaultRadius?: _mantine_core.MantineRadius | undefined;
273
+ spacing?: {
274
+ [x: number]: string | undefined;
275
+ [x: string & {}]: string | undefined;
276
+ xs?: string | undefined;
277
+ sm?: string | undefined;
278
+ md?: string | undefined;
279
+ lg?: string | undefined;
280
+ xl?: string | undefined;
281
+ } | undefined;
282
+ fontSizes?: {
283
+ [x: string & {}]: string | undefined;
284
+ xs?: string | undefined;
285
+ sm?: string | undefined;
286
+ md?: string | undefined;
287
+ lg?: string | undefined;
288
+ xl?: string | undefined;
289
+ } | undefined;
290
+ lineHeights?: {
291
+ [x: string & {}]: string | undefined;
292
+ xs?: string | undefined;
293
+ sm?: string | undefined;
294
+ md?: string | undefined;
295
+ lg?: string | undefined;
296
+ xl?: string | undefined;
297
+ } | undefined;
298
+ breakpoints?: {
299
+ [x: string & {}]: string | undefined;
300
+ xs?: string | undefined;
301
+ sm?: string | undefined;
302
+ md?: string | undefined;
303
+ lg?: string | undefined;
304
+ xl?: string | undefined;
305
+ } | undefined;
306
+ shadows?: {
307
+ [x: string & {}]: string | undefined;
308
+ xs?: string | undefined;
309
+ sm?: string | undefined;
310
+ md?: string | undefined;
311
+ lg?: string | undefined;
312
+ xl?: string | undefined;
313
+ } | undefined;
314
+ respectReducedMotion?: boolean | undefined;
315
+ cursorType?: "default" | "pointer" | undefined;
316
+ defaultGradient?: {
317
+ from?: string | undefined;
318
+ to?: string | undefined;
319
+ deg?: number | undefined;
320
+ } | undefined;
321
+ activeClassName?: string | undefined;
322
+ focusClassName?: string | undefined;
323
+ components?: {
324
+ [x: string]: {
325
+ classNames?: any;
326
+ styles?: any;
327
+ vars?: any;
328
+ defaultProps?: any;
329
+ } | undefined;
330
+ } | undefined;
331
+ other?: {
332
+ [x: string]: any;
333
+ } | undefined;
334
+ };
335
+ /**
336
+ * CSS Variables Resolver for Jupiter DS
337
+ * Defines custom CSS variables that adapt to light/dark themes.
338
+ *
339
+ * Some Mantine CSS variables were recreated with the `--jds-*` prefix to keep
340
+ * Jupiter DS tokens and components isolated and free from style conflicts
341
+ * when used alongside legacy themes/components.
342
+ *
343
+ * Examples:
344
+ * - --mantine-spacing-2 → --jds-spacing-2
345
+ * - --mantine-font-size-sm → --jds-font-size-sm
346
+ * - --color-primary → --jds-color-primary
347
+ */
348
+ declare const jupiterCSSVariablesResolver: (theme: MantineTheme) => {
349
+ variables: {
350
+ '--jds-border-radius-rounded-xl': string;
351
+ '--jds-border-width-border': string;
352
+ '--jds-default-outline': string;
353
+ '--jds-default-outline-offset': string;
354
+ '--jds-color-destructive-outline': string;
355
+ '--jds-input-destructive-outline': string;
356
+ '--jds-input-outline': string;
357
+ '--jds-color-black': "#000000";
358
+ '--jds-color-brand-blue': "#0085FF";
359
+ '--jds-font-family-sans': "Inter, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"";
360
+ '--jds-font-family-mono': "Fira Mono, ui-monospace, SFMono-Regular, \"Menlo\", \"Monaco\", \"Consolas\", \"Liberation Mono\", \"Courier New\", monospace";
361
+ '--jds-spacing-xs': "0.5rem";
362
+ '--jds-spacing-sm': "0.75rem";
363
+ '--jds-spacing-md': "1rem";
364
+ '--jds-spacing-lg': "1.25rem";
365
+ '--jds-spacing-xl': "1.5rem";
366
+ '--jds-spacing-1': "0.25rem";
367
+ '--jds-spacing-2': "0.375rem";
368
+ '--jds-spacing-3': "0.75rem";
369
+ '--jds-spacing-4': "1rem";
370
+ '--jds-spacing-5': "1.25rem";
371
+ '--jds-spacing-6': "1.5rem";
372
+ '--jds-spacing-7': "1.75rem";
373
+ '--jds-spacing-8': "2rem";
374
+ '--jds-spacing-9': "2.25rem";
375
+ '--jds-spacing-10': "2.5rem";
376
+ '--jds-radius-xxs': "0.125rem";
377
+ '--jds-radius-xs': "0.25rem";
378
+ '--jds-radius-sm': "0.375rem";
379
+ '--jds-radius-md': "0.5rem";
380
+ '--jds-radius-lg': "0.625rem";
381
+ '--jds-radius-xl': "0.175rem";
382
+ '--jds-radius-full': "9999px";
383
+ '--jds-font-size-base': string;
384
+ '--jds-font-size-xs': string;
385
+ '--jds-font-size-sm': string;
386
+ '--jds-font-size-md': string;
387
+ '--jds-font-size-lg': string;
388
+ '--jds-font-size-xl': string;
389
+ '--jds-font-size-2xl': string;
390
+ '--jds-font-size-3xl': string;
391
+ '--jds-font-size-4xl': string;
392
+ '--jds-font-size-5xl': string;
393
+ '--jds-font-size-6xl': string;
394
+ '--jds-font-size-7xl': string;
395
+ '--jds-font-size-8xl': string;
396
+ '--jds-font-size-9xl': string;
397
+ '--jds-font-weight-thin': string;
398
+ '--jds-font-weight-extralight': string;
399
+ '--jds-font-weight-light': string;
400
+ '--jds-font-weight-normal': string;
401
+ '--jds-font-weight-medium': string;
402
+ '--jds-font-weight-semibold': string;
403
+ '--jds-font-weight-bold': string;
404
+ '--jds-font-weight-extrabold': string;
405
+ '--jds-font-weight-black': string;
406
+ '--jds-line-height-base': "24px";
407
+ '--jds-line-height-xs': "16px";
408
+ '--jds-line-height-sm': "20px";
409
+ '--jds-line-height-lg': "24px";
410
+ '--jds-line-height-xl': "28px";
411
+ '--jds-line-height-2xl': "32px";
412
+ '--jds-line-height-3xl': "36px";
413
+ '--jds-line-height-4xl': "40px";
414
+ '--jds-line-height-5xl': "48px";
415
+ '--jds-line-height-6xl': "60px";
416
+ '--jds-line-height-7xl': "72px";
417
+ '--jds-line-height-8xl': "96px";
418
+ '--jds-line-height-9xl': "128px";
419
+ '--jds-shadow-xs': "0 1px 2px rgba(0, 0, 0, 0.05)";
420
+ '--jds-shadow-sm': "0 1px 3px rgba(0, 0, 0, 0.1)";
421
+ '--jds-shadow-md': "0 4px 6px rgba(0, 0, 0, 0.1)";
422
+ '--jds-shadow-lg': "0 10px 15px rgba(0, 0, 0, 0.1)";
423
+ '--jds-shadow-xl': "0 20px 25px rgba(0, 0, 0, 0.1)";
424
+ '--jds-z-index-negative': "-1";
425
+ '--jds-z-index-zero': "0";
426
+ '--jds-z-index-base': "1";
427
+ '--jds-z-index-overlays': "2";
428
+ '--jds-z-index-stickyContent': "10";
429
+ '--jds-z-index-stickySubHeader': "11";
430
+ '--jds-z-index-stickyHeader': "12";
431
+ '--jds-z-index-dropdowns': "100";
432
+ '--jds-z-index-drawers': "9996";
433
+ '--jds-z-index-subModal': "9997";
434
+ '--jds-z-index-modals': "9998";
435
+ '--jds-z-index-tooltips': "9999";
436
+ };
437
+ light: {
438
+ '--jds-color-primary': "#9333ea";
439
+ '--jds-color-accent': "#f5f5f5";
440
+ '--jds-color-accent-foreground': "#171717";
441
+ '--jds-color-background': "#ffffff";
442
+ '--jds-color-border': "#e5e5e5";
443
+ '--jds-color-card': "#ffffff";
444
+ '--jds-color-card-foreground': "#0a0a0a";
445
+ '--jds-color-destructive': "#dc2626";
446
+ '--jds-color-destructive-foreground': "#fef2f2";
447
+ '--jds-color-foreground': "#0a0a0a";
448
+ '--jds-color-input': "#e5e5e5";
449
+ '--jds-color-input-background': "#ffffff";
450
+ '--jds-color-muted': "#f5f5f5";
451
+ '--jds-color-muted-foreground': "#737373";
452
+ '--jds-color-popover': "#171717";
453
+ '--jds-color-popover-foreground': "#f5f5f5";
454
+ '--jds-color-checkbox-background': "#ffffff";
455
+ '--jds-color-primary-foreground': "#fafafa";
456
+ '--jds-color-ring': "#a3a3a3";
457
+ '--jds-color-secondary': "#f5f5f5";
458
+ '--jds-color-secondary-foreground': "#171717";
459
+ '--jds-color-radio-input-background': "#ffffff";
460
+ '--jds-color-radio-input-primary': "#ffffff";
461
+ '--jds-color-radio-input-box-background': string;
462
+ '--jds-color-radio-input-box-primary': "#f5f5f5";
463
+ '--jds-color-radio-box-background': "#faf5ff";
464
+ '--jds-color-chart-1': "#ea580c";
465
+ '--jds-color-chart-2': "#0d9488";
466
+ '--jds-color-chart-3': "#164e63";
467
+ '--jds-color-chart-4': "#fbbf24";
468
+ '--jds-color-chart-5': "#f59e0b";
469
+ '--jds-color-codehighlight-background': "#f5f5f5";
470
+ '--jds-color-codehighlight-comment': "#737373";
471
+ '--jds-color-codehighlight-keyword': "#9333ea";
472
+ '--jds-color-codehighlight-tag': "#1d4ed8";
473
+ '--jds-color-codehighlight-literal': "#10b981";
474
+ '--jds-color-codehighlight-string': "#16a34a";
475
+ '--jds-color-codehighlight-variable': "#f3e8ff";
476
+ '--jds-color-codehighlight-class': "#f43f5e";
477
+ '--jds-color-codehighlight-number': "#1d4ed8";
478
+ '--jds-color-codehighlight-header-background': string;
479
+ '--jds-data-pill-number-bg': string;
480
+ '--jds-data-pill-number-color': "#000000";
481
+ '--jds-data-pill-positive-bg': "#dcfce7";
482
+ '--jds-data-pill-positive-color': "#15803d";
483
+ '--jds-data-pill-positive-bg-hover': "#bbf7d0";
484
+ '--jds-data-pill-neutral-bg': "#f3f4f6";
485
+ '--jds-data-pill-neutral-color': "#374151";
486
+ '--jds-data-pill-neutral-bg-hover': "#e5e7eb";
487
+ '--jds-data-pill-negative-bg': "#fee2e2";
488
+ '--jds-data-pill-negative-color': "#b91c1c";
489
+ '--jds-data-pill-negative-bg-hover': "#fecaca";
490
+ '--jds-data-pill-orange-bg': "#ffedd5";
491
+ '--jds-data-pill-orange-color': "#c2410c";
492
+ '--jds-data-pill-orange-bg-hover': "#fed7aa";
493
+ '--jds-data-pill-blue-bg': "#dbeafe";
494
+ '--jds-data-pill-blue-color': "#1d4ed8";
495
+ '--jds-data-pill-blue-bg-hover': "#bfdbfe";
496
+ '--jds-data-pill-purple-bg': "#f3e8ff";
497
+ '--jds-data-pill-purple-color': "#7e22ce";
498
+ '--jds-data-pill-purple-bg-hover': "#e9d5ff";
499
+ '--jds-color-neutral-0': "#fafafa";
500
+ '--jds-color-neutral-1': "#f5f5f5";
501
+ '--jds-color-neutral-2': "#e5e5e5";
502
+ '--jds-color-neutral-3': "#d4d4d4";
503
+ '--jds-color-neutral-4': "#a3a3a3";
504
+ '--jds-color-neutral-5': "#737373";
505
+ '--jds-color-neutral-6': "#525252";
506
+ '--jds-color-neutral-7': "#404040";
507
+ '--jds-color-neutral-8': "#262626";
508
+ '--jds-color-neutral-9': "#171717";
509
+ '--jds-color-menu-hover-bg': string;
510
+ '--jds-color-menu-hover-accent': string;
511
+ '--jds-color-hover-card-bg': "#DAEAFD";
512
+ '--jds-color-hover-card-border': "#0085FF";
513
+ };
514
+ dark: {
515
+ '--jds-color-primary': "#f3e8ff";
516
+ '--jds-color-accent': "#404040";
517
+ '--jds-color-accent-foreground': "#fafafa";
518
+ '--jds-color-background': "#0a0a0a";
519
+ '--jds-color-border': string;
520
+ '--jds-color-card': "#171717";
521
+ '--jds-color-card-foreground': "#fafafa";
522
+ '--jds-color-destructive': string;
523
+ '--jds-color-destructive-foreground': "#fef2f2";
524
+ '--jds-color-foreground': "#fafafa";
525
+ '--jds-color-input': string;
526
+ '--jds-color-input-background': string;
527
+ '--jds-color-muted': "#262626";
528
+ '--jds-color-muted-foreground': "#a3a3a3";
529
+ '--jds-color-popover': "#e5e5e5";
530
+ '--jds-color-popover-foreground': "#262626";
531
+ '--jds-color-checkbox-background': "#262626";
532
+ '--jds-color-primary-foreground': "#262626";
533
+ '--jds-color-ring': "#737373";
534
+ '--jds-color-secondary': "#262626";
535
+ '--jds-color-secondary-foreground': "#fafafa";
536
+ '--jds-color-radio-input-background': string;
537
+ '--jds-color-radio-input-primary': "#ffffff";
538
+ '--jds-color-radio-input-box-background': string;
539
+ '--jds-color-radio-input-box-primary': "#262626";
540
+ '--jds-color-radio-box-background': string;
541
+ '--jds-color-chart-1': "#1d4ed8";
542
+ '--jds-color-chart-2': "#10b981";
543
+ '--jds-color-chart-3': "#f59e0b";
544
+ '--jds-color-chart-4': "#a855f7";
545
+ '--jds-color-chart-5': "#f43f5e";
546
+ '--jds-color-codehighlight-background': "#171717";
547
+ '--jds-color-codehighlight-comment': "#737373";
548
+ '--jds-color-codehighlight-keyword': "#9333ea";
549
+ '--jds-color-codehighlight-tag': "#1d4ed8";
550
+ '--jds-color-codehighlight-literal': "#10b981";
551
+ '--jds-color-codehighlight-string': "#16a34a";
552
+ '--jds-color-codehighlight-variable': "#a855f7";
553
+ '--jds-color-codehighlight-class': "#f43f5e";
554
+ '--jds-color-codehighlight-number': "#1d4ed8";
555
+ '--jds-color-codehighlight-header-background': string;
556
+ '--jds-data-pill-number-bg': string;
557
+ '--jds-data-pill-number-color': "#ffffff";
558
+ '--jds-data-pill-positive-bg': "#1a2e05";
559
+ '--jds-data-pill-positive-color': "#86efac";
560
+ '--jds-data-pill-positive-bg-hover': "#365314";
561
+ '--jds-data-pill-neutral-bg': "#171717";
562
+ '--jds-data-pill-neutral-color': "#cbd5e1";
563
+ '--jds-data-pill-neutral-bg-hover': "#262626";
564
+ '--jds-data-pill-negative-bg': "#450a0a";
565
+ '--jds-data-pill-negative-color': "#fda4af";
566
+ '--jds-data-pill-negative-bg-hover': "#7f1d1d";
567
+ '--jds-data-pill-orange-bg': "#422006";
568
+ '--jds-data-pill-orange-color': "#fcd34d";
569
+ '--jds-data-pill-orange-bg-hover': "#713f12";
570
+ '--jds-data-pill-blue-bg': "#083344";
571
+ '--jds-data-pill-blue-color': "#93c5fd";
572
+ '--jds-data-pill-blue-bg-hover': "#164e63";
573
+ '--jds-data-pill-purple-bg': "#3b0764";
574
+ '--jds-data-pill-purple-color': "#d8b4fe";
575
+ '--jds-data-pill-purple-bg-hover': "#581c87";
576
+ '--jds-color-neutral-0': "#0a0a0a";
577
+ '--jds-color-neutral-1': "#171717";
578
+ '--jds-color-neutral-2': "#262626";
579
+ '--jds-color-neutral-3': "#404040";
580
+ '--jds-color-neutral-4': "#525252";
581
+ '--jds-color-neutral-5': "#737373";
582
+ '--jds-color-neutral-6': "#a3a3a3";
583
+ '--jds-color-neutral-7': "#d4d4d4";
584
+ '--jds-color-neutral-8': "#e5e5e5";
585
+ '--jds-color-neutral-9': "#f5f5f5";
586
+ '--jds-color-menu-hover-bg': string;
587
+ '--jds-color-menu-hover-accent': string;
588
+ '--jds-color-hover-card-bg': string;
589
+ '--jds-color-hover-card-border': "#DAEAFD";
590
+ };
591
+ };
592
+ declare const JupiterThemeProvider: ({ children, ...props }: {
593
+ children: React.ReactNode;
594
+ } & MantineProviderProps) => react_jsx_runtime.JSX.Element;
595
+
596
+ interface BadgeProps {
597
+ /**
598
+ * Badge variant
599
+ * @default 'default'
600
+ */
601
+ variant?: 'default' | 'secondary' | 'outline' | 'destructive';
602
+ /** @default 'md' */
603
+ size?: 'sm' | 'md';
604
+ /**
605
+ * Badge content
606
+ */
607
+ children: ReactNode;
608
+ /**
609
+ * Custom className for additional styling
610
+ */
611
+ className?: string;
612
+ /**
613
+ * Custom style object
614
+ */
615
+ style?: CSSProperties;
616
+ /**
617
+ * Test ID for testing
618
+ */
619
+ 'data-testid'?: string;
620
+ /**
621
+ * Click handler - makes the badge interactive
622
+ */
623
+ onClick?: (event: React.MouseEvent<HTMLSpanElement>) => void;
624
+ /**
625
+ * Tab index for keyboard navigation
626
+ * @default 0 when onClick is provided, -1 otherwise
627
+ */
628
+ tabIndex?: number;
629
+ }
630
+ /**
631
+ * Badge component based on Jupiter Design System
632
+ * A compact UI element used to display status, labels, or categorical information
633
+ */
634
+ declare const Badge: react.NamedExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
635
+
636
+ interface ButtonProps extends Omit<ButtonProps$1, 'color' | 'variant' | 'size'> {
637
+ /**
638
+ * Button variant
639
+ * @default 'filled'
640
+ */
641
+ variant?: 'filled' | 'secondary' | 'destructive' | 'outline' | 'ghost';
642
+ /**
643
+ * Button size
644
+ * @default 'md'
645
+ */
646
+ size?: 'sm' | 'md' | 'lg';
647
+ /**
648
+ * Whether the button is disabled
649
+ * @default false
650
+ */
651
+ disabled?: boolean;
652
+ /**
653
+ * Whether the button is loading. When loading is true, the button will be disabled.
654
+ * @default false
655
+ */
656
+ loading?: boolean;
657
+ /**
658
+ * Whether the button is an icon-only button
659
+ * @default false
660
+ */
661
+ icon?: boolean;
662
+ /**
663
+ * Click handler
664
+ */
665
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
666
+ /**
667
+ * Test ID for testing
668
+ */
669
+ 'data-testid': string;
670
+ }
671
+ /**
672
+ * Button component with polymorphic support
673
+ * Can be rendered as any element using the `component` prop
674
+ * @example
675
+ * <Button component={Link} href="/path">Link Button</Button>
676
+ */
677
+ declare const Button: (<C = "button">(props: _mantine_core.PolymorphicComponentProps<C, ButtonProps>) => React.ReactElement) & Omit<react.FunctionComponent<(ButtonProps & {
678
+ component?: any;
679
+ } & Omit<Omit<any, "ref">, keyof ButtonProps | "component"> & {
680
+ ref?: any;
681
+ renderRoot?: (props: any) => any;
682
+ }) | (ButtonProps & {
683
+ component: React.ElementType;
684
+ renderRoot?: (props: Record<string, any>) => any;
685
+ })>, never> & Record<string, never>;
686
+
687
+ interface CardProps {
688
+ /** Will be hidden if no title is provided */
689
+ title?: string;
690
+ /** Will be hidden if no description is provided */
691
+ description?: string;
692
+ /** Heading level for the title */
693
+ headingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
694
+ /** Content to be displayed inside the card */
695
+ children: ReactNode;
696
+ /** Additional CSS class name */
697
+ className?: string;
698
+ /** Custom CSS variables for dynamic styling */
699
+ style?: react__default.CSSProperties;
700
+ /** Test identifier for testing purposes */
701
+ 'data-testid'?: string;
702
+ /** Click handler - when provided, card becomes a button for semantic accessibility */
703
+ onClick?: () => void;
704
+ }
705
+ /**
706
+ * Card component that provides a container with consistent spacing,
707
+ * border, shadow, and background styling following design system specifications.
708
+ *
709
+ * Uses semantic HTML structure - renders as div by default, but becomes
710
+ * a button when onClick is provided for proper accessibility.
711
+ */
712
+ declare const Card: react__default.NamedExoticComponent<CardProps & react__default.RefAttributes<HTMLButtonElement | HTMLDivElement>>;
713
+
714
+ interface CheckboxProps extends CheckboxProps$1 {
715
+ /** Main label text for the checkbox */
716
+ title?: string;
717
+ /** Optional description text below the title */
718
+ description?: string;
719
+ /** Test identifier for testing purposes */
720
+ 'data-testid'?: string;
721
+ }
722
+ /**
723
+ * Checkbox component that provides a consistent checkbox input with optional
724
+ * title and description text following design system specifications.
725
+ *
726
+ * Uses semantic HTML structure with proper accessibility attributes.
727
+ * Supports both controlled and uncontrolled usage patterns.
728
+ */
729
+ declare const Checkbox: react.NamedExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
730
+
731
+ interface CodeBlockProps {
732
+ code: string | CodeHighlightTabsProps['code'];
733
+ language?: string;
734
+ activeTab?: number;
735
+ onTabChange?: (tab: number) => void;
736
+ /**
737
+ * In case we need line numbers in the future, we can use the following code:
738
+ * https://v3.mantine.dev/others/prism/#line-numbers
739
+ */
740
+ className?: string;
741
+ style?: react__default.CSSProperties;
742
+ 'data-testid'?: string;
743
+ }
744
+ /**
745
+ * CodeBlock component that displays code with syntax highlighting.
746
+ * Supports both single code blocks and multi-tab code blocks.
747
+ * Uses Jupiter Design System variables for consistent theming.
748
+ */
749
+ declare const CodeBlock: react__default.NamedExoticComponent<CodeBlockProps & react__default.RefAttributes<HTMLDivElement>>;
750
+
751
+ interface DataPillProps extends Omit<BadgeProps$1, 'children' | 'leftSection' | 'variant'> {
752
+ /** The value to display in the pill (e.g., percentage, count) */
753
+ value: ReactNode;
754
+ /** The sentiment or category variant @default 'neutral' */
755
+ variant?: 'positive' | 'neutral' | 'negative' | 'orange' | 'blue' | 'purple';
756
+ /** Custom className for additional styling */
757
+ className?: string;
758
+ /** Custom style object */
759
+ style?: CSSProperties;
760
+ /** Test ID for testing */
761
+ 'data-testid'?: string;
762
+ /** Click handler */
763
+ onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
764
+ /** ARIA label for accessibility */
765
+ 'aria-label'?: string;
766
+ /** Left section content (icon, etc.) */
767
+ leftSection?: ReactNode;
768
+ /** Right content (number or text) */
769
+ rightContent?: string | number;
770
+ }
771
+ /**
772
+ * DataPill component for displaying data values with sentiment-based styling
773
+ * Built on top of Mantine Badge with custom variant styling
774
+ * Supports positive, neutral, and negative variants with automatic hover states
775
+ */
776
+ declare const DataPill: react.NamedExoticComponent<DataPillProps & react.RefAttributes<HTMLDivElement>>;
777
+
778
+ interface InputProps extends TextInputProps {
779
+ /** Main label text for the input field */
780
+ label?: string;
781
+ /** Optional description text below the input */
782
+ description?: string;
783
+ /** Position of the label relative to the input */
784
+ labelPosition?: 'above' | 'left';
785
+ /** Test identifier for testing purposes */
786
+ 'data-testid'?: string;
787
+ }
788
+ /**
789
+ * Input component that provides a consistent text input with optional
790
+ * label and description text following design system specifications.
791
+ */
792
+ declare const Input: react.NamedExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
793
+
794
+ type Files = File[] | null;
795
+ interface FileInputProps {
796
+ /** Main label text for the file input field */
797
+ label?: string;
798
+ /** Optional description text below the input */
799
+ description?: string;
800
+ /** Position of the label relative to the input */
801
+ labelPosition?: 'above' | 'left';
802
+ /** Test identifier for testing purposes */
803
+ 'data-testid'?: string;
804
+ /** Accept attribute for file input */
805
+ accept?: string;
806
+ /** Multiple files allowed */
807
+ multiple?: boolean;
808
+ /** File change handler */
809
+ onChange?: (files: Files) => void;
810
+ /** Current selected files */
811
+ value?: Files;
812
+ /** Whether the input is disabled */
813
+ disabled?: boolean;
814
+ /** Error message to display */
815
+ error?: string;
816
+ /** Custom className */
817
+ className?: string;
818
+ /** Custom styles */
819
+ style?: React.CSSProperties;
820
+ /** Input id */
821
+ id?: string;
822
+ /** Name attribute */
823
+ name?: string;
824
+ /** Whether the input is auto focused */
825
+ autoFocus?: boolean;
826
+ }
827
+ /**
828
+ * FileInput component that provides a consistent file input with optional
829
+ * label and description text following design system specifications.
830
+ */
831
+ declare const FileInput: react.NamedExoticComponent<FileInputProps & react.RefAttributes<HTMLInputElement>>;
832
+
833
+ interface InteractiveChipRightSection {
834
+ /** Text to display in the right section */
835
+ text?: string;
836
+ /** Icon to show on hover (defaults to IconArrowUpRight) */
837
+ onHoverIcon?: ReactNode;
838
+ }
839
+ interface InteractiveChipProps extends Omit<BadgeProps$1, 'children' | 'rightSection'> {
840
+ /** The main text content to display */
841
+ children: ReactNode;
842
+ /** Right section content (text and/or hover icon) */
843
+ rightSection?: InteractiveChipRightSection;
844
+ /** Custom className for additional styling */
845
+ className?: string;
846
+ /** Custom style object */
847
+ style?: CSSProperties;
848
+ /** Test ID for testing */
849
+ 'data-testid'?: string;
850
+ /** Click handler */
851
+ onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
852
+ }
853
+ /**
854
+ * InteractiveChip component for displaying interactive chip elements
855
+ * Built on top of Mantine Badge with custom right section functionality
856
+ * Supports text content with optional right section (text and hover icon)
857
+ */
858
+ declare const InteractiveChip: react.NamedExoticComponent<InteractiveChipProps & react.RefAttributes<HTMLDivElement>>;
859
+
860
+ interface JupiterLinkProps {
861
+ /** Type of link component */
862
+ linkType?: 'internal-link' | 'external-link' | 'as-button';
863
+ /** Link destination (href for internal/external, undefined for as-button) */
864
+ href?: LinkProps['href'];
865
+ /** Click handler (primarily for as-button type) */
866
+ onClick?: (event: React.MouseEvent) => void;
867
+ /** Children content */
868
+ children: React.ReactNode;
869
+ /** Whether link is disabled */
870
+ disabled?: boolean;
871
+ /** Additional CSS class */
872
+ className?: string;
873
+ /** CSS variables only */
874
+ style?: React.CSSProperties;
875
+ /** Required test ID */
876
+ 'data-testid': string;
877
+ /** Open in new tab (for external-link) */
878
+ target?: string;
879
+ /** Additional props forwarded to underlying component */
880
+ [key: string]: any;
881
+ }
882
+ /**
883
+ * Link component based on Jupiter Design System
884
+ * Supports three types: internal-link (Next.js), external-link (Mantine Anchor), and as-button (UnstyledButton)
885
+ *
886
+ * **Please always** use the `href` prop to define the link destination, and avoid using a button without an `href` or without an anchor element.
887
+ */
888
+ declare const Link: react.NamedExoticComponent<JupiterLinkProps>;
889
+
890
+ interface RadioProps extends RadioProps$1 {
891
+ /** A radio group is defined by giving each of radio buttons in the group the same name. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/radio#defining_a_radio_group */
892
+ name?: string;
893
+ /** Main label text for the radio button */
894
+ title?: string;
895
+ /** Optional description text below the title */
896
+ description?: string;
897
+ /** Variant of the radio button */
898
+ variant?: 'default' | 'box';
899
+ /** Test identifier for testing purposes */
900
+ 'data-testid'?: string;
901
+ }
902
+ /**
903
+ * Radio component that provides a consistent radio input with optional
904
+ * title and description text following design system specifications.
905
+ *
906
+ * Supports two variants:
907
+ * - default: Standard radio button with label
908
+ * - box: Radio button within a card-like container
909
+ *
910
+ * Supports both controlled and uncontrolled usage patterns.
911
+ */
912
+ declare const Radio: react.NamedExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
913
+
914
+ interface SwitchProps extends Omit<SwitchProps$1, 'description'> {
915
+ /** Switch label */
916
+ label?: ReactNode;
917
+ /** Switch description */
918
+ description?: string;
919
+ /** Switch visual variant */
920
+ variant?: 'switch' | 'box';
921
+ /** Switch alignment */
922
+ alignment?: 'left' | 'right';
923
+ /** Test identifier for testing purposes */
924
+ 'data-testid'?: string;
925
+ }
926
+ /**
927
+ * Switch component that provides a toggle control for binary choices.
928
+ *
929
+ * Built on top of Mantine Switch with custom Jupiter DS styling and variants.
930
+ * Supports controlled and uncontrolled modes.
931
+ */
932
+ declare const Switch: react.NamedExoticComponent<SwitchProps & react.RefAttributes<HTMLInputElement>>;
933
+
934
+ type TabsVariant = 'pills' | 'line';
935
+ interface TabItem {
936
+ /** Unique identifier for the tab */
937
+ value: string;
938
+ /** Tab label text or element */
939
+ label: ReactNode;
940
+ /** Tab content. If not provided, you will need to control the content outside the Tabs component.*/
941
+ children?: ReactNode;
942
+ /** Tab icon (optional) */
943
+ icon?: ReactNode;
944
+ /** Badge content (optional) */
945
+ badge?: string | number;
946
+ /** Whether the tab is disabled */
947
+ disabled?: boolean;
948
+ /** Test identifier for testing purposes */
949
+ 'data-testid'?: string;
950
+ }
951
+ interface TabsProps extends Omit<TabsProps$1, 'children' | 'variant'> {
952
+ /** Variant (supports Mantine and Jupiter DS variants) */
953
+ variant?: TabsProps$1['variant'] | TabsVariant;
954
+ /** Array of tab items */
955
+ items: TabItem[];
956
+ /** Currently active tab value */
957
+ value?: string;
958
+ /** Default active tab value */
959
+ defaultValue?: string;
960
+ /** Callback fired when tab changes */
961
+ onTabChange?: (value: string | null) => void;
962
+ /** Test identifier for testing purposes */
963
+ 'data-testid'?: string;
964
+ }
965
+ /**
966
+ * Tabs component that provides a tabbed interface for organizing content.
967
+ *
968
+ * Built on top of Mantine Tabs with custom Jupiter DS styling.
969
+ * Supports controlled and uncontrolled modes, icons, badges, and accessibility.
970
+ */
971
+ declare const Tabs: react.NamedExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
972
+
973
+ interface TextareaProps extends TextareaProps$1 {
974
+ /** Main label text for the textarea field */
975
+ label?: string;
976
+ /** Optional description text below the textarea */
977
+ description?: string;
978
+ /** Position of the label relative to the textarea */
979
+ labelPosition?: 'above' | 'left';
980
+ /** Test identifier for testing purposes */
981
+ 'data-testid'?: string;
982
+ }
983
+ /**
984
+ * Textarea component that provides a consistent multi-line text input with optional
985
+ * label and description text following design system specifications.
986
+ */
987
+ declare const Textarea: react.NamedExoticComponent<TextareaProps & react.RefAttributes<HTMLTextAreaElement>>;
988
+
989
+ interface TooltipProps extends TooltipProps$1 {
990
+ /**
991
+ * Test ID for testing and automation purposes
992
+ */
993
+ 'data-testid'?: string;
994
+ }
995
+ /**
996
+ * Tooltip atom, wrapper around Mantine Tooltip with Jupiter DS defaults
997
+ */
998
+ declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
999
+
1000
+ interface CalendarProps<Type extends DatePickerType = 'default'> extends DatePickerProps<Type> {
1001
+ /** Additional CSS class name for the calendar wrapper */
1002
+ className?: string;
1003
+ /** Additional inline styles (for CSS variables only) */
1004
+ style?: React.CSSProperties;
1005
+ /** Data test id for testing */
1006
+ 'data-testid'?: string;
1007
+ }
1008
+ /**
1009
+ * Calendar component for date selection using Mantine DatePicker
1010
+ * Supports single (default), range, and multiple date selection with built-in navigation.
1011
+ * NOTE: the onChange will be different based on the type of calendar.
1012
+ */
1013
+ declare function Calendar<Type extends DatePickerType = 'default'>({ className, style, 'data-testid': dataTestId, type, ...props }: CalendarProps<Type>): react_jsx_runtime.JSX.Element;
1014
+ declare namespace Calendar {
1015
+ var displayName: string;
1016
+ }
1017
+
1018
+ interface DateInputProps extends Omit<DateInputProps$1, 'classNames'> {
1019
+ /** Additional CSS class name for the input */
1020
+ className?: string;
1021
+ /** Additional inline styles (for CSS variables only) */
1022
+ style?: React.CSSProperties;
1023
+ /** Data test id for testing */
1024
+ 'data-testid'?: string;
1025
+ }
1026
+ /**
1027
+ * DateInput component for date selection with text input and calendar popup.
1028
+ * Shares calendar styling with Calendar and DateTimePicker components.
1029
+ *
1030
+ * Features:
1031
+ * - Free-form date input with format validation
1032
+ * - Calendar popup for date selection
1033
+ * - Optional clear button
1034
+ * - Min/max date constraints
1035
+ * - Custom date parsing
1036
+ */
1037
+ declare const DateInput: react.NamedExoticComponent<DateInputProps>;
1038
+
1039
+ interface DateTimePickerProps extends Omit<DateTimePickerProps$1, 'classNames'> {
1040
+ /** Additional CSS class name for the input */
1041
+ className?: string;
1042
+ /** Additional inline styles (for CSS variables only) */
1043
+ style?: React.CSSProperties;
1044
+ /** Data test id for testing */
1045
+ 'data-testid'?: string;
1046
+ }
1047
+ /**
1048
+ * DateTimePicker component for date and time selection with text input and calendar popup.
1049
+ * Shares calendar styling with Calendar and DateInput components.
1050
+ *
1051
+ * Features:
1052
+ * - Date and time input with format validation
1053
+ * - Calendar popup for date selection
1054
+ * - Time selection integrated in the input
1055
+ * - Optional clear button
1056
+ * - Min/max date constraints
1057
+ * - Support for seconds
1058
+ */
1059
+ declare const DateTimePicker: react.NamedExoticComponent<DateTimePickerProps>;
1060
+
1061
+ /**
1062
+ * Shared classNames for all calendar-based components.
1063
+ * These classes provide consistent styling across Calendar, DateInput, and DateTimePicker.
1064
+ *
1065
+ * Usage:
1066
+ * ```tsx
1067
+ * <MantineDatePicker classNames={calendarClassNames} />
1068
+ * <MantineDateInput classNames={calendarClassNames} />
1069
+ * ```
1070
+ */
1071
+ declare const calendarClassNames: {
1072
+ readonly calendarHeader: string;
1073
+ readonly calendarHeaderLevel: string;
1074
+ readonly calendarHeaderControl: string;
1075
+ readonly levelsGroup: string;
1076
+ readonly yearsList: string;
1077
+ readonly yearsListCell: string;
1078
+ readonly yearsListControl: string;
1079
+ readonly monthsList: string;
1080
+ readonly monthsListCell: string;
1081
+ readonly monthsListControl: string;
1082
+ readonly month: string;
1083
+ readonly monthThead: string;
1084
+ readonly monthCell: string;
1085
+ readonly day: string;
1086
+ };
1087
+
1088
+ type TimeRangeType = 'last5Mins' | 'last15Mins' | 'last30Mins' | 'lastHour' | 'last3Hours' | 'last6Hours' | 'last12Hours' | 'last24Hours' | 'last2Days' | 'lastWeek' | 'lastMonth' | 'last6Months' | 'lastYear' | 'custom';
1089
+ interface TimeRangeOption {
1090
+ /** Display label for the option */
1091
+ label: string;
1092
+ /** Value identifier */
1093
+ value: TimeRangeType;
1094
+ }
1095
+ interface TimeRangeValue {
1096
+ /** Selected time range type */
1097
+ type: TimeRangeType;
1098
+ /** Custom start date (ISO string) */
1099
+ customStart?: string;
1100
+ /** Custom end date (ISO string) */
1101
+ customEnd?: string;
1102
+ /** Custom start time (HH:mm:ss format) */
1103
+ customFromTime?: string;
1104
+ /** Custom end time (HH:mm:ss format) */
1105
+ customToTime?: string;
1106
+ }
1107
+ interface TimeRangeSwitchProps {
1108
+ /** Current value */
1109
+ value: TimeRangeValue;
1110
+ /** Callback when value changes */
1111
+ onChange: (value: TimeRangeValue) => void;
1112
+ /** Quick segment options (shown as buttons) */
1113
+ segmentOptions?: TimeRangeOption[];
1114
+ /** All time range options for dropdown menu */
1115
+ menuOptions?: TimeRangeOption[];
1116
+ /** Whether the dropdown menu is open */
1117
+ isMenuOpen?: boolean;
1118
+ /** Callback when menu open state changes */
1119
+ onMenuOpenChange?: (isOpen: boolean) => void;
1120
+ /** Maximum selectable date (defaults to today) */
1121
+ maxDate?: Date;
1122
+ /** Minimum time range in milliseconds */
1123
+ minRangeMs?: number;
1124
+ /** Timezone display string */
1125
+ timezone?: string;
1126
+ /** Additional CSS class name */
1127
+ className?: string;
1128
+ /** Additional inline styles (for CSS variables only) */
1129
+ style?: React.CSSProperties;
1130
+ /** Data test id for testing */
1131
+ 'data-testid'?: string;
1132
+ }
1133
+ /**
1134
+ * TimeRangeSwitch component for selecting time ranges.
1135
+ *
1136
+ * Features:
1137
+ * - Quick segment options (12H, 1D, 1W, etc.)
1138
+ * - Dropdown with all relative time options
1139
+ * - Custom absolute date/time range picker
1140
+ * - Timezone display
1141
+ * - Validation for minimum range
1142
+ */
1143
+ declare const TimeRangeSwitch: react.NamedExoticComponent<TimeRangeSwitchProps & react.RefAttributes<HTMLDivElement>>;
1144
+
1145
+ type DropdownMenuItemType = 'checkbox' | 'radio' | 'text' | 'title' | 'link' | 'divider' | 'menu';
1146
+ interface DropdownMenuItem {
1147
+ /** Unique identifier for the item, used for click handling */
1148
+ value: string;
1149
+ /** Type of the menu item */
1150
+ type: DropdownMenuItemType;
1151
+ /** Label text for the item */
1152
+ label?: string | ReactNode;
1153
+ /** URL for link type items */
1154
+ url?: string;
1155
+ /** Left content (icons, radio buttons, checkboxes, etc.) */
1156
+ leftContent?: JSX.Element;
1157
+ /** Whether the item is disabled */
1158
+ disabled?: boolean;
1159
+ /** For checkbox and radio items - whether they are checked */
1160
+ checked?: boolean;
1161
+ /** For radio items - the radio group name */
1162
+ radioGroup?: string;
1163
+ /** For menu type - submenu items */
1164
+ submenu?: DropdownMenuItem[];
1165
+ /** Additional CSS class name */
1166
+ className?: string;
1167
+ /** Whether to close the menu on item click */
1168
+ closeMenuOnClick?: boolean;
1169
+ /** Description for the item */
1170
+ description?: string;
1171
+ /** Whether to truncate the label text. Defaults to true. */
1172
+ truncate?: boolean;
1173
+ /** Whether to allow word wrapping. When true, text will wrap to multiple lines instead of truncating. */
1174
+ wordWrap?: boolean;
1175
+ /** Maximum width of the item label. `IF NOT PROVIDED, THE LABEL MAY NOT BE TRUNCATED`. */
1176
+ maxWidth?: string;
1177
+ }
1178
+ interface DropdownMenuProps extends Omit<MenuProps, 'children'> {
1179
+ /** Array of menu items configuration. Should be memoized for better performance. */
1180
+ items: DropdownMenuItem[];
1181
+ /** Trigger element for the dropdown */
1182
+ children?: ReactNode;
1183
+ /** Label for the default dropdown button */
1184
+ label?: string | ReactNode;
1185
+ /** Handler for checkbox changes. This handler should be memoized. */
1186
+ onCheckboxChange?: (itemValue: string, checked: boolean) => void;
1187
+ /** Handler for radio group changes. This handler should be memoized. */
1188
+ onRadioChange?: (groupName: string, itemValue: string) => void;
1189
+ /** Handler for item clicks (text, link types). This handler should be memoized. */
1190
+ onItemClick?: (itemValue: string, event?: React.MouseEvent<HTMLButtonElement>) => void;
1191
+ /** Enable search functionality in the dropdown */
1192
+ canSearch?: boolean;
1193
+ /** Handler for search input changes. This handler should be memoized. */
1194
+ onChangeSearch?: (value: string) => void;
1195
+ /** Current search value (controlled input) */
1196
+ searchValue?: string;
1197
+ /** Placeholder text for the search input */
1198
+ searchPlaceholder?: string;
1199
+ /** Style for the default button with dots icon */
1200
+ dotsStyle?: 'vertical' | 'horizontal';
1201
+ /** Maximum height of the dropdown menu. Defaults to 300px. Set to 0 to disable. */
1202
+ maxHeight?: number;
1203
+ /** Maximum width of the dropdown menu. */
1204
+ maxWidthDropdown?: number | string;
1205
+ /** Maximum width of the trigger element (default button). */
1206
+ maxWidthTrigger?: number | string;
1207
+ /** Width of the trigger element (default button). */
1208
+ widthTrigger?: number | string;
1209
+ style?: React.CSSProperties;
1210
+ }
1211
+ /**
1212
+ * Flexible dropdown menu component that supports various item types
1213
+ * including checkboxes, radio buttons, links, titles, dividers, and nested menus
1214
+ */
1215
+ declare const DropdownMenu: React.FC<DropdownMenuProps>;
1216
+
1217
+ interface TableProps<T> extends Omit<TableProps$1, 'children' | 'data'> {
1218
+ /** TanStack Table column definitions */
1219
+ columns: ColumnDef<T, any>[];
1220
+ /** Array of data rows */
1221
+ data: T[];
1222
+ /** Table caption */
1223
+ caption?: string;
1224
+ /** Whether to show table footer */
1225
+ showFooter?: boolean;
1226
+ /** Footer content */
1227
+ footerContent?: ReactNode;
1228
+ /** Handler for row click */
1229
+ onRowClick?: (row: T) => void;
1230
+ /** Additional CSS class name */
1231
+ className?: string;
1232
+ /** Whether to use tabular numbers for better alignment */
1233
+ tabularNums?: boolean;
1234
+ /** Whether to highlight rows on hover */
1235
+ highlightOnHover?: boolean;
1236
+ /** Whether to show column borders */
1237
+ withColumnBorders?: boolean;
1238
+ /** Whether to show loading skeleton */
1239
+ isLoading?: boolean;
1240
+ /** Whether to enable row selection with checkboxes */
1241
+ enableRowSelection?: boolean;
1242
+ /** Row selection state (controlled) */
1243
+ rowSelection?: RowSelectionState;
1244
+ /** Handler for row selection change (controlled) */
1245
+ onRowSelectionChange?: OnChangeFn<RowSelectionState>;
1246
+ /** Function to get unique row ID */
1247
+ getRowId?: (row: T, index: number) => string;
1248
+ /** Whether to enable sorting */
1249
+ enableSorting?: boolean;
1250
+ /** Sorting state (controlled) */
1251
+ sorting?: SortingState;
1252
+ /** Handler for sorting change (controlled) */
1253
+ onSortingChange?: OnChangeFn<SortingState>;
1254
+ /** Maximum height of the table (enables vertical scrolling with sticky header) */
1255
+ maxHeight?: number | string;
1256
+ }
1257
+ /**
1258
+ * Flexible table component built with TanStack Table and Mantine.
1259
+ *
1260
+ * Follows Jupiter DS design patterns.
1261
+ *
1262
+ * If you need to set the width of a column, you can do it by setting the `size` property of the column.
1263
+ *
1264
+ * Set the `size` property to `0` to make the column width auto-adjust to the content.
1265
+ */
1266
+ declare const Table: <T>(props: TableProps<T> & {
1267
+ ref?: React.ForwardedRef<HTMLTableElement>;
1268
+ }) => React.ReactElement;
1269
+
1270
+ interface DetailedPopoverProps extends Omit<HoverCardProps, 'children' | 'width'> {
1271
+ /** Node that triggers the popover when hovered */
1272
+ trigger: ReactNode;
1273
+ /** Main title displayed at the top of the dropdown */
1274
+ title?: ReactNode;
1275
+ /** Subtitle displayed under the title */
1276
+ subtitle?: ReactNode;
1277
+ /** Primary body content */
1278
+ body?: ReactNode;
1279
+ /** Footer area rendered at the bottom of the dropdown */
1280
+ footer?: ReactNode;
1281
+ /** Optional class applied to the dropdown container */
1282
+ dropdownClassName?: string;
1283
+ /** Optional class applied to the internal content wrapper */
1284
+ contentClassName?: string;
1285
+ /** Custom dropdown width (number becomes px) */
1286
+ dropdownWidth?: number | string;
1287
+ /** Custom dropdown max-height (number becomes px) */
1288
+ dropdownMaxHeight?: number | string;
1289
+ /** Test id applied to the dropdown element */
1290
+ 'data-testid'?: string;
1291
+ /** Test id applied to the trigger element */
1292
+ triggerTestId?: string;
1293
+ /** Custom inline style applied to the header wrapper */
1294
+ headerInlineStyle?: CSSProperties;
1295
+ /** Custom inline style applied to the body wrapper */
1296
+ bodyInlineStyle?: CSSProperties;
1297
+ /** Custom inline style applied to the footer wrapper */
1298
+ footerInlineStyle?: CSSProperties;
1299
+ }
1300
+ /**
1301
+ * Generic popover that can present titles, subtitles, body, and footer.
1302
+ * Built on Mantine HoverCard with Jupiter DS styling.
1303
+ */
1304
+ declare const DetailedPopover: react.NamedExoticComponent<DetailedPopoverProps>;
1305
+
1306
+ declare const TemporaryFakeOrganism: () => null;
1307
+
1308
+ export { Badge, Button, Calendar, Card, Checkbox, CodeBlock, DataPill, DateInput, DateTimePicker, DetailedPopover, DropdownMenu, FileInput, Input, InteractiveChip, JupiterThemeProvider, Link, Radio, Switch, Table, Tabs, TemporaryFakeOrganism, Textarea, TimeRangeSwitch, Tooltip, buttonVariants, calendarClassNames, colors, componentVariantVariables, createButtonVars, jupiterCSSVariablesResolver, jupiterTheme, radius, shadows, spacing, typography, zIndex };
1309
+ export type { BadgeProps, ButtonProps, ButtonVariant, CalendarProps, CardProps, CheckboxProps, CodeBlockProps, DataPillProps, DateInputProps, DateTimePickerProps, DetailedPopoverProps, DropdownMenuItem, DropdownMenuItemType, DropdownMenuProps, FileInputProps, InputProps, InteractiveChipProps, InteractiveChipRightSection, JupiterLinkProps as LinkProps, RadioProps, RadiusToken, ShadowToken, SpacingToken, SwitchProps, TabItem, TableProps, TabsProps, TabsVariant, TextareaProps, TimeRangeOption, TimeRangeSwitchProps, TimeRangeType, TimeRangeValue, TooltipProps, TypographyToken, ZIndexToken };