@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/LICENSE +196 -17
- package/dist/index.d.ts +1309 -3
- package/dist/index.js +10642 -523
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,1309 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 };
|