@vertz/theme-shadcn 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs.d.ts +14 -0
- package/dist/configs.js +8 -0
- package/dist/index.d.ts +1082 -0
- package/dist/index.js +5296 -0
- package/dist/shared/chunk-qvb3evv2.js +191 -0
- package/package.json +51 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1082 @@
|
|
|
1
|
+
import { GlobalCSSOutput, Theme, VariantFunction as VariantFunction5 } from "@vertz/ui";
|
|
2
|
+
import { CheckboxElements, CheckboxOptions, CheckboxState, ProgressElements, ProgressOptions, ProgressState, RadioOptions as RadioOptions2, SliderElements, SliderOptions, SliderState, SwitchElements as SwitchElements2, SwitchState as SwitchState2, ToastOptions as ToastOptions2 } from "@vertz/ui-primitives";
|
|
3
|
+
import { ChildValue } from "@vertz/ui";
|
|
4
|
+
interface AlertProps {
|
|
5
|
+
variant?: "default" | "destructive";
|
|
6
|
+
class?: string;
|
|
7
|
+
children?: ChildValue;
|
|
8
|
+
}
|
|
9
|
+
interface AlertComponents {
|
|
10
|
+
Alert: (props: AlertProps) => HTMLDivElement;
|
|
11
|
+
AlertTitle: (props: AlertProps) => HTMLHeadingElement;
|
|
12
|
+
AlertDescription: (props: AlertProps) => HTMLDivElement;
|
|
13
|
+
}
|
|
14
|
+
import { ChildValue as ChildValue2 } from "@vertz/ui";
|
|
15
|
+
interface AvatarProps {
|
|
16
|
+
class?: string;
|
|
17
|
+
children?: ChildValue2;
|
|
18
|
+
}
|
|
19
|
+
interface AvatarImageProps {
|
|
20
|
+
src: string;
|
|
21
|
+
alt: string;
|
|
22
|
+
class?: string;
|
|
23
|
+
}
|
|
24
|
+
interface AvatarComponents {
|
|
25
|
+
Avatar: (props: AvatarProps) => HTMLDivElement;
|
|
26
|
+
AvatarImage: (props: AvatarImageProps) => HTMLImageElement;
|
|
27
|
+
AvatarFallback: (props: AvatarProps) => HTMLDivElement;
|
|
28
|
+
}
|
|
29
|
+
import { ChildValue as ChildValue3 } from "@vertz/ui";
|
|
30
|
+
interface BadgeProps {
|
|
31
|
+
color?: string;
|
|
32
|
+
class?: string;
|
|
33
|
+
children?: ChildValue3;
|
|
34
|
+
}
|
|
35
|
+
interface BreadcrumbItem {
|
|
36
|
+
label: string;
|
|
37
|
+
href?: string;
|
|
38
|
+
}
|
|
39
|
+
interface BreadcrumbProps {
|
|
40
|
+
items: BreadcrumbItem[];
|
|
41
|
+
separator?: string;
|
|
42
|
+
class?: string;
|
|
43
|
+
}
|
|
44
|
+
type BreadcrumbComponents = (props: BreadcrumbProps) => HTMLElement;
|
|
45
|
+
import { ChildValue as ChildValue4 } from "@vertz/ui";
|
|
46
|
+
interface ButtonProps {
|
|
47
|
+
intent?: string;
|
|
48
|
+
size?: string;
|
|
49
|
+
class?: string;
|
|
50
|
+
children?: ChildValue4;
|
|
51
|
+
disabled?: boolean;
|
|
52
|
+
type?: "button" | "submit" | "reset";
|
|
53
|
+
[key: string]: unknown;
|
|
54
|
+
}
|
|
55
|
+
import { ChildValue as ChildValue5 } from "@vertz/ui";
|
|
56
|
+
interface CardProps {
|
|
57
|
+
class?: string;
|
|
58
|
+
children?: ChildValue5;
|
|
59
|
+
}
|
|
60
|
+
interface CardComponents {
|
|
61
|
+
Card: (props: CardProps) => HTMLDivElement;
|
|
62
|
+
CardHeader: (props: CardProps) => HTMLDivElement;
|
|
63
|
+
CardTitle: (props: CardProps) => HTMLHeadingElement;
|
|
64
|
+
CardDescription: (props: CardProps) => HTMLParagraphElement;
|
|
65
|
+
CardContent: (props: CardProps) => HTMLDivElement;
|
|
66
|
+
CardFooter: (props: CardProps) => HTMLDivElement;
|
|
67
|
+
CardAction: (props: CardProps) => HTMLDivElement;
|
|
68
|
+
}
|
|
69
|
+
import { ChildValue as ChildValue6 } from "@vertz/ui";
|
|
70
|
+
interface FormGroupProps {
|
|
71
|
+
class?: string;
|
|
72
|
+
children?: ChildValue6;
|
|
73
|
+
}
|
|
74
|
+
interface FormErrorProps {
|
|
75
|
+
class?: string;
|
|
76
|
+
children?: ChildValue6;
|
|
77
|
+
}
|
|
78
|
+
interface FormGroupComponents {
|
|
79
|
+
FormGroup: (props: FormGroupProps) => HTMLDivElement;
|
|
80
|
+
FormError: (props: FormErrorProps) => HTMLSpanElement;
|
|
81
|
+
}
|
|
82
|
+
interface InputProps {
|
|
83
|
+
class?: string;
|
|
84
|
+
name?: string;
|
|
85
|
+
placeholder?: string;
|
|
86
|
+
type?: string;
|
|
87
|
+
disabled?: boolean;
|
|
88
|
+
value?: string;
|
|
89
|
+
[key: string]: unknown;
|
|
90
|
+
}
|
|
91
|
+
import { ChildValue as ChildValue7 } from "@vertz/ui";
|
|
92
|
+
interface LabelProps {
|
|
93
|
+
class?: string;
|
|
94
|
+
for?: string;
|
|
95
|
+
children?: ChildValue7;
|
|
96
|
+
}
|
|
97
|
+
interface PaginationProps {
|
|
98
|
+
currentPage: number;
|
|
99
|
+
totalPages: number;
|
|
100
|
+
onPageChange: (page: number) => void;
|
|
101
|
+
siblingCount?: number;
|
|
102
|
+
class?: string;
|
|
103
|
+
}
|
|
104
|
+
type PaginationComponents = (props: PaginationProps) => HTMLElement;
|
|
105
|
+
import { ChildValue as ChildValue8 } from "@vertz/ui";
|
|
106
|
+
interface AccordionRootProps {
|
|
107
|
+
type?: "single" | "multiple";
|
|
108
|
+
defaultValue?: string[];
|
|
109
|
+
children?: ChildValue8;
|
|
110
|
+
}
|
|
111
|
+
interface AccordionSlotProps {
|
|
112
|
+
children?: ChildValue8;
|
|
113
|
+
class?: string;
|
|
114
|
+
}
|
|
115
|
+
interface AccordionItemProps {
|
|
116
|
+
value: string;
|
|
117
|
+
children?: ChildValue8;
|
|
118
|
+
class?: string;
|
|
119
|
+
}
|
|
120
|
+
interface ThemedAccordionComponent {
|
|
121
|
+
(props: AccordionRootProps): HTMLDivElement;
|
|
122
|
+
Item: (props: AccordionItemProps) => HTMLDivElement;
|
|
123
|
+
Trigger: (props: AccordionSlotProps) => HTMLElement;
|
|
124
|
+
Content: (props: AccordionSlotProps) => HTMLElement;
|
|
125
|
+
}
|
|
126
|
+
import { ChildValue as ChildValue9 } from "@vertz/ui";
|
|
127
|
+
import { DialogOptions } from "@vertz/ui-primitives";
|
|
128
|
+
interface AlertDialogRootProps extends DialogOptions {
|
|
129
|
+
children?: ChildValue9;
|
|
130
|
+
}
|
|
131
|
+
interface AlertDialogSlotProps {
|
|
132
|
+
children?: ChildValue9;
|
|
133
|
+
class?: string;
|
|
134
|
+
}
|
|
135
|
+
interface ThemedAlertDialogComponent {
|
|
136
|
+
(props: AlertDialogRootProps): HTMLElement;
|
|
137
|
+
Trigger: (props: AlertDialogSlotProps) => HTMLElement;
|
|
138
|
+
Content: (props: AlertDialogSlotProps) => HTMLElement;
|
|
139
|
+
Title: (props: AlertDialogSlotProps) => HTMLHeadingElement;
|
|
140
|
+
Description: (props: AlertDialogSlotProps) => HTMLParagraphElement;
|
|
141
|
+
Footer: (props: AlertDialogSlotProps) => HTMLDivElement;
|
|
142
|
+
Cancel: (props: AlertDialogSlotProps) => HTMLButtonElement;
|
|
143
|
+
Action: (props: AlertDialogSlotProps) => HTMLButtonElement;
|
|
144
|
+
}
|
|
145
|
+
import { CalendarElements, CalendarOptions, CalendarState } from "@vertz/ui-primitives";
|
|
146
|
+
interface CalendarStyleClasses {
|
|
147
|
+
readonly root: string;
|
|
148
|
+
readonly header: string;
|
|
149
|
+
readonly title: string;
|
|
150
|
+
readonly navButton: string;
|
|
151
|
+
readonly grid: string;
|
|
152
|
+
readonly headCell: string;
|
|
153
|
+
readonly cell: string;
|
|
154
|
+
readonly dayButton: string;
|
|
155
|
+
}
|
|
156
|
+
declare function createThemedCalendar(styles: CalendarStyleClasses): (options?: CalendarOptions) => CalendarElements & {
|
|
157
|
+
state: CalendarState;
|
|
158
|
+
};
|
|
159
|
+
import { CarouselElements, CarouselOptions, CarouselState } from "@vertz/ui-primitives";
|
|
160
|
+
interface CarouselStyleClasses {
|
|
161
|
+
readonly root: string;
|
|
162
|
+
readonly viewport: string;
|
|
163
|
+
readonly slide: string;
|
|
164
|
+
readonly prevButton: string;
|
|
165
|
+
readonly nextButton: string;
|
|
166
|
+
}
|
|
167
|
+
interface ThemedCarouselResult extends CarouselElements {
|
|
168
|
+
state: CarouselState;
|
|
169
|
+
Slide: () => HTMLDivElement;
|
|
170
|
+
goTo: (index: number) => void;
|
|
171
|
+
goNext: () => void;
|
|
172
|
+
goPrev: () => void;
|
|
173
|
+
}
|
|
174
|
+
declare function createThemedCarousel(styles: CarouselStyleClasses): (options?: CarouselOptions) => ThemedCarouselResult;
|
|
175
|
+
import { CollapsibleElements, CollapsibleOptions, CollapsibleState } from "@vertz/ui-primitives";
|
|
176
|
+
interface CollapsibleStyleClasses {
|
|
177
|
+
readonly content: string;
|
|
178
|
+
}
|
|
179
|
+
declare function createThemedCollapsible(styles: CollapsibleStyleClasses): (options?: CollapsibleOptions) => CollapsibleElements & {
|
|
180
|
+
state: CollapsibleState;
|
|
181
|
+
};
|
|
182
|
+
import { CommandElements, CommandOptions, CommandState } from "@vertz/ui-primitives";
|
|
183
|
+
interface CommandStyleClasses {
|
|
184
|
+
readonly root: string;
|
|
185
|
+
readonly input: string;
|
|
186
|
+
readonly list: string;
|
|
187
|
+
readonly item: string;
|
|
188
|
+
readonly group: string;
|
|
189
|
+
readonly groupHeading: string;
|
|
190
|
+
readonly separator: string;
|
|
191
|
+
readonly empty: string;
|
|
192
|
+
}
|
|
193
|
+
interface ThemedCommandResult extends CommandElements {
|
|
194
|
+
state: CommandState;
|
|
195
|
+
Item: (value: string, label?: string, keywords?: string[]) => HTMLDivElement;
|
|
196
|
+
Group: (label: string) => {
|
|
197
|
+
el: HTMLDivElement;
|
|
198
|
+
Item: (value: string, label?: string, keywords?: string[]) => HTMLDivElement;
|
|
199
|
+
};
|
|
200
|
+
Separator: () => HTMLHRElement;
|
|
201
|
+
}
|
|
202
|
+
declare function createThemedCommand(styles: CommandStyleClasses): (options?: CommandOptions) => ThemedCommandResult;
|
|
203
|
+
import { ContextMenuElements, ContextMenuOptions, ContextMenuState } from "@vertz/ui-primitives";
|
|
204
|
+
interface ContextMenuStyleClasses {
|
|
205
|
+
readonly content: string;
|
|
206
|
+
readonly item: string;
|
|
207
|
+
readonly group: string;
|
|
208
|
+
readonly label: string;
|
|
209
|
+
readonly separator: string;
|
|
210
|
+
}
|
|
211
|
+
interface ThemedContextMenuResult extends ContextMenuElements {
|
|
212
|
+
state: ContextMenuState;
|
|
213
|
+
Item: (value: string, label?: string) => HTMLDivElement;
|
|
214
|
+
Group: (label: string) => {
|
|
215
|
+
el: HTMLDivElement;
|
|
216
|
+
Item: (value: string, label?: string) => HTMLDivElement;
|
|
217
|
+
};
|
|
218
|
+
Separator: () => HTMLHRElement;
|
|
219
|
+
Label: (text: string) => HTMLDivElement;
|
|
220
|
+
}
|
|
221
|
+
declare function createThemedContextMenu(styles: ContextMenuStyleClasses): (options?: ContextMenuOptions) => ThemedContextMenuResult;
|
|
222
|
+
import { DatePickerElements, DatePickerOptions, DatePickerState } from "@vertz/ui-primitives";
|
|
223
|
+
interface DatePickerStyleClasses {
|
|
224
|
+
readonly trigger: string;
|
|
225
|
+
readonly content: string;
|
|
226
|
+
}
|
|
227
|
+
declare function createThemedDatePicker(styles: DatePickerStyleClasses): (options?: DatePickerOptions) => DatePickerElements & {
|
|
228
|
+
state: DatePickerState;
|
|
229
|
+
show: () => void;
|
|
230
|
+
hide: () => void;
|
|
231
|
+
};
|
|
232
|
+
import { ChildValue as ChildValue10 } from "@vertz/ui";
|
|
233
|
+
import { DialogOptions as DialogOptions2 } from "@vertz/ui-primitives";
|
|
234
|
+
interface DialogRootProps extends DialogOptions2 {
|
|
235
|
+
children?: ChildValue10;
|
|
236
|
+
}
|
|
237
|
+
interface DialogSlotProps {
|
|
238
|
+
children?: ChildValue10;
|
|
239
|
+
class?: string;
|
|
240
|
+
}
|
|
241
|
+
interface ThemedDialogComponent {
|
|
242
|
+
(props: DialogRootProps): HTMLElement;
|
|
243
|
+
Trigger: (props: DialogSlotProps) => HTMLElement;
|
|
244
|
+
Content: (props: DialogSlotProps) => HTMLElement;
|
|
245
|
+
Header: (props: DialogSlotProps) => HTMLDivElement;
|
|
246
|
+
Title: (props: DialogSlotProps) => HTMLHeadingElement;
|
|
247
|
+
Description: (props: DialogSlotProps) => HTMLParagraphElement;
|
|
248
|
+
Footer: (props: DialogSlotProps) => HTMLDivElement;
|
|
249
|
+
}
|
|
250
|
+
import { DialogElements, DialogOptions as DialogOptions3, DialogState } from "@vertz/ui-primitives";
|
|
251
|
+
type DrawerSide = "left" | "right" | "top" | "bottom";
|
|
252
|
+
interface ThemedDrawerOptions extends DialogOptions3 {
|
|
253
|
+
side?: DrawerSide;
|
|
254
|
+
}
|
|
255
|
+
interface DrawerStyleClasses {
|
|
256
|
+
readonly overlay: string;
|
|
257
|
+
readonly panelLeft: string;
|
|
258
|
+
readonly panelRight: string;
|
|
259
|
+
readonly panelTop: string;
|
|
260
|
+
readonly panelBottom: string;
|
|
261
|
+
readonly title: string;
|
|
262
|
+
readonly description: string;
|
|
263
|
+
readonly handle: string;
|
|
264
|
+
readonly close: string;
|
|
265
|
+
}
|
|
266
|
+
declare function createThemedDrawer(styles: DrawerStyleClasses): (options?: ThemedDrawerOptions) => DialogElements & {
|
|
267
|
+
state: DialogState;
|
|
268
|
+
handle: HTMLDivElement;
|
|
269
|
+
description: HTMLParagraphElement;
|
|
270
|
+
};
|
|
271
|
+
import { ChildValue as ChildValue11 } from "@vertz/ui";
|
|
272
|
+
import { MenuOptions } from "@vertz/ui-primitives";
|
|
273
|
+
interface DropdownMenuRootProps extends MenuOptions {
|
|
274
|
+
children?: ChildValue11;
|
|
275
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
276
|
+
}
|
|
277
|
+
interface DropdownMenuSlotProps {
|
|
278
|
+
children?: ChildValue11;
|
|
279
|
+
class?: string;
|
|
280
|
+
}
|
|
281
|
+
interface DropdownMenuItemProps {
|
|
282
|
+
value: string;
|
|
283
|
+
children?: ChildValue11;
|
|
284
|
+
class?: string;
|
|
285
|
+
}
|
|
286
|
+
interface DropdownMenuGroupProps {
|
|
287
|
+
label: string;
|
|
288
|
+
children?: ChildValue11;
|
|
289
|
+
class?: string;
|
|
290
|
+
}
|
|
291
|
+
interface DropdownMenuLabelProps {
|
|
292
|
+
children?: ChildValue11;
|
|
293
|
+
class?: string;
|
|
294
|
+
}
|
|
295
|
+
interface ThemedDropdownMenuComponent {
|
|
296
|
+
(props: DropdownMenuRootProps): HTMLElement;
|
|
297
|
+
Trigger: (props: DropdownMenuSlotProps) => HTMLElement;
|
|
298
|
+
Content: (props: DropdownMenuSlotProps) => HTMLElement;
|
|
299
|
+
Item: (props: DropdownMenuItemProps) => HTMLDivElement;
|
|
300
|
+
Group: (props: DropdownMenuGroupProps) => HTMLDivElement;
|
|
301
|
+
Label: (props: DropdownMenuLabelProps) => HTMLDivElement;
|
|
302
|
+
Separator: () => HTMLHRElement;
|
|
303
|
+
}
|
|
304
|
+
import { HoverCardElements, HoverCardOptions, HoverCardState } from "@vertz/ui-primitives";
|
|
305
|
+
interface HoverCardStyleClasses {
|
|
306
|
+
readonly content: string;
|
|
307
|
+
}
|
|
308
|
+
declare function createThemedHoverCard(styles: HoverCardStyleClasses): (options?: HoverCardOptions) => HoverCardElements & {
|
|
309
|
+
state: HoverCardState;
|
|
310
|
+
};
|
|
311
|
+
import { MenubarElements, MenubarOptions, MenubarState } from "@vertz/ui-primitives";
|
|
312
|
+
interface MenubarStyleClasses {
|
|
313
|
+
readonly root: string;
|
|
314
|
+
readonly trigger: string;
|
|
315
|
+
readonly content: string;
|
|
316
|
+
readonly item: string;
|
|
317
|
+
readonly separator: string;
|
|
318
|
+
readonly label: string;
|
|
319
|
+
}
|
|
320
|
+
interface ThemedMenubarResult extends MenubarElements {
|
|
321
|
+
state: MenubarState;
|
|
322
|
+
Menu: (value: string, label?: string) => {
|
|
323
|
+
trigger: HTMLButtonElement;
|
|
324
|
+
content: HTMLDivElement;
|
|
325
|
+
Item: (value: string, label?: string) => HTMLDivElement;
|
|
326
|
+
Group: (label: string) => {
|
|
327
|
+
el: HTMLDivElement;
|
|
328
|
+
Item: (value: string, label?: string) => HTMLDivElement;
|
|
329
|
+
};
|
|
330
|
+
Separator: () => HTMLHRElement;
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
declare function createThemedMenubar(styles: MenubarStyleClasses): (options?: MenubarOptions) => ThemedMenubarResult;
|
|
334
|
+
import { NavigationMenuElements, NavigationMenuOptions, NavigationMenuState } from "@vertz/ui-primitives";
|
|
335
|
+
interface NavigationMenuStyleClasses {
|
|
336
|
+
readonly root: string;
|
|
337
|
+
readonly list: string;
|
|
338
|
+
readonly trigger: string;
|
|
339
|
+
readonly content: string;
|
|
340
|
+
readonly link: string;
|
|
341
|
+
readonly viewport: string;
|
|
342
|
+
}
|
|
343
|
+
interface ThemedNavigationMenuResult extends NavigationMenuElements {
|
|
344
|
+
state: NavigationMenuState;
|
|
345
|
+
Item: (value: string, label?: string) => {
|
|
346
|
+
trigger: HTMLButtonElement;
|
|
347
|
+
content: HTMLDivElement;
|
|
348
|
+
};
|
|
349
|
+
Link: (href: string, label: string) => HTMLAnchorElement;
|
|
350
|
+
}
|
|
351
|
+
declare function createThemedNavigationMenu(styles: NavigationMenuStyleClasses): (options?: NavigationMenuOptions) => ThemedNavigationMenuResult;
|
|
352
|
+
import { ChildValue as ChildValue12 } from "@vertz/ui";
|
|
353
|
+
import { PopoverOptions } from "@vertz/ui-primitives";
|
|
354
|
+
interface PopoverRootProps extends PopoverOptions {
|
|
355
|
+
children?: ChildValue12;
|
|
356
|
+
}
|
|
357
|
+
interface PopoverSlotProps {
|
|
358
|
+
children?: ChildValue12;
|
|
359
|
+
class?: string;
|
|
360
|
+
}
|
|
361
|
+
interface ThemedPopoverComponent {
|
|
362
|
+
(props: PopoverRootProps): HTMLElement;
|
|
363
|
+
Trigger: (props: PopoverSlotProps) => HTMLElement;
|
|
364
|
+
Content: (props: PopoverSlotProps) => HTMLElement;
|
|
365
|
+
}
|
|
366
|
+
import { RadioElements, RadioState } from "@vertz/ui-primitives";
|
|
367
|
+
interface ThemedRadioGroupResult extends RadioElements {
|
|
368
|
+
state: RadioState;
|
|
369
|
+
Item: (value: string, label?: string) => HTMLDivElement;
|
|
370
|
+
}
|
|
371
|
+
import { PanelOptions, ResizablePanelElements, ResizablePanelOptions, ResizablePanelState } from "@vertz/ui-primitives";
|
|
372
|
+
interface ResizablePanelStyleClasses {
|
|
373
|
+
readonly root: string;
|
|
374
|
+
readonly panel: string;
|
|
375
|
+
readonly handle: string;
|
|
376
|
+
}
|
|
377
|
+
declare function createThemedResizablePanel(styles: ResizablePanelStyleClasses): (options?: ResizablePanelOptions) => ResizablePanelElements & {
|
|
378
|
+
state: ResizablePanelState;
|
|
379
|
+
Panel: (panelOptions?: PanelOptions) => HTMLDivElement;
|
|
380
|
+
Handle: () => HTMLDivElement;
|
|
381
|
+
};
|
|
382
|
+
import { ScrollAreaElements, ScrollAreaOptions, ScrollAreaState } from "@vertz/ui-primitives";
|
|
383
|
+
interface ScrollAreaStyleClasses {
|
|
384
|
+
readonly root: string;
|
|
385
|
+
readonly viewport: string;
|
|
386
|
+
readonly scrollbar: string;
|
|
387
|
+
readonly thumb: string;
|
|
388
|
+
}
|
|
389
|
+
declare function createThemedScrollArea(styles: ScrollAreaStyleClasses): (options?: ScrollAreaOptions) => ScrollAreaElements & {
|
|
390
|
+
state: ScrollAreaState;
|
|
391
|
+
update: () => void;
|
|
392
|
+
};
|
|
393
|
+
import { ChildValue as ChildValue13 } from "@vertz/ui";
|
|
394
|
+
import { SelectOptions } from "@vertz/ui-primitives";
|
|
395
|
+
interface SelectRootProps extends SelectOptions {
|
|
396
|
+
children?: ChildValue13;
|
|
397
|
+
}
|
|
398
|
+
interface SelectSlotProps {
|
|
399
|
+
children?: ChildValue13;
|
|
400
|
+
class?: string;
|
|
401
|
+
}
|
|
402
|
+
interface SelectItemProps {
|
|
403
|
+
value: string;
|
|
404
|
+
children?: ChildValue13;
|
|
405
|
+
class?: string;
|
|
406
|
+
}
|
|
407
|
+
interface SelectGroupProps {
|
|
408
|
+
label: string;
|
|
409
|
+
children?: ChildValue13;
|
|
410
|
+
class?: string;
|
|
411
|
+
}
|
|
412
|
+
interface ThemedSelectComponent {
|
|
413
|
+
(props: SelectRootProps): HTMLElement;
|
|
414
|
+
Trigger: (props: SelectSlotProps) => HTMLElement;
|
|
415
|
+
Content: (props: SelectSlotProps) => HTMLElement;
|
|
416
|
+
Item: (props: SelectItemProps) => HTMLDivElement;
|
|
417
|
+
Group: (props: SelectGroupProps) => HTMLDivElement;
|
|
418
|
+
Separator: (props: SelectSlotProps) => HTMLHRElement;
|
|
419
|
+
}
|
|
420
|
+
import { ChildValue as ChildValue14 } from "@vertz/ui";
|
|
421
|
+
import { DialogOptions as DialogOptions4 } from "@vertz/ui-primitives";
|
|
422
|
+
type SheetSide = "left" | "right" | "top" | "bottom";
|
|
423
|
+
interface SheetRootProps extends DialogOptions4 {
|
|
424
|
+
side?: SheetSide;
|
|
425
|
+
children?: ChildValue14;
|
|
426
|
+
}
|
|
427
|
+
interface SheetSlotProps {
|
|
428
|
+
children?: ChildValue14;
|
|
429
|
+
class?: string;
|
|
430
|
+
}
|
|
431
|
+
interface ThemedSheetComponent {
|
|
432
|
+
(props: SheetRootProps): HTMLElement;
|
|
433
|
+
Trigger: (props: SheetSlotProps) => HTMLElement;
|
|
434
|
+
Content: (props: SheetSlotProps) => HTMLElement;
|
|
435
|
+
Title: (props: SheetSlotProps) => HTMLHeadingElement;
|
|
436
|
+
Description: (props: SheetSlotProps) => HTMLParagraphElement;
|
|
437
|
+
Close: (props: SheetSlotProps) => HTMLButtonElement;
|
|
438
|
+
}
|
|
439
|
+
import { SwitchOptions } from "@vertz/ui-primitives";
|
|
440
|
+
interface ThemedSwitchOptions extends SwitchOptions {
|
|
441
|
+
size?: "default" | "sm";
|
|
442
|
+
}
|
|
443
|
+
import { ChildValue as ChildValue15 } from "@vertz/ui";
|
|
444
|
+
interface TabsRootProps {
|
|
445
|
+
defaultValue?: string;
|
|
446
|
+
variant?: "default" | "line";
|
|
447
|
+
children?: ChildValue15;
|
|
448
|
+
}
|
|
449
|
+
interface TabsSlotProps {
|
|
450
|
+
children?: ChildValue15;
|
|
451
|
+
class?: string;
|
|
452
|
+
}
|
|
453
|
+
interface TabsTriggerProps {
|
|
454
|
+
value: string;
|
|
455
|
+
children?: ChildValue15;
|
|
456
|
+
class?: string;
|
|
457
|
+
}
|
|
458
|
+
interface TabsContentProps {
|
|
459
|
+
value: string;
|
|
460
|
+
children?: ChildValue15;
|
|
461
|
+
class?: string;
|
|
462
|
+
}
|
|
463
|
+
interface ThemedTabsComponent {
|
|
464
|
+
(props: TabsRootProps): HTMLDivElement;
|
|
465
|
+
List: (props: TabsSlotProps) => HTMLDivElement;
|
|
466
|
+
Trigger: (props: TabsTriggerProps) => HTMLButtonElement;
|
|
467
|
+
Content: (props: TabsContentProps) => HTMLDivElement;
|
|
468
|
+
}
|
|
469
|
+
import { ToastElements, ToastMessage, ToastState } from "@vertz/ui-primitives";
|
|
470
|
+
type ThemedToastResult = ToastElements & {
|
|
471
|
+
state: ToastState;
|
|
472
|
+
announce: (content: string) => ToastMessage;
|
|
473
|
+
dismiss: (id: string) => void;
|
|
474
|
+
};
|
|
475
|
+
import { ToggleElements, ToggleOptions, ToggleState } from "@vertz/ui-primitives";
|
|
476
|
+
interface ToggleStyleClasses {
|
|
477
|
+
readonly root: string;
|
|
478
|
+
}
|
|
479
|
+
declare function createThemedToggle(styles: ToggleStyleClasses): (options?: ToggleOptions) => ToggleElements & {
|
|
480
|
+
state: ToggleState;
|
|
481
|
+
};
|
|
482
|
+
import { ToggleGroupElements, ToggleGroupOptions, ToggleGroupState } from "@vertz/ui-primitives";
|
|
483
|
+
interface ToggleGroupStyleClasses {
|
|
484
|
+
readonly root: string;
|
|
485
|
+
readonly item: string;
|
|
486
|
+
}
|
|
487
|
+
declare function createThemedToggleGroup(styles: ToggleGroupStyleClasses): (options?: ToggleGroupOptions) => ToggleGroupElements & {
|
|
488
|
+
state: ToggleGroupState;
|
|
489
|
+
Item: (value: string) => HTMLButtonElement;
|
|
490
|
+
};
|
|
491
|
+
import { ChildValue as ChildValue16 } from "@vertz/ui";
|
|
492
|
+
import { TooltipOptions } from "@vertz/ui-primitives";
|
|
493
|
+
interface TooltipRootProps extends TooltipOptions {
|
|
494
|
+
children?: ChildValue16;
|
|
495
|
+
}
|
|
496
|
+
interface TooltipSlotProps {
|
|
497
|
+
children?: ChildValue16;
|
|
498
|
+
class?: string;
|
|
499
|
+
}
|
|
500
|
+
interface ThemedTooltipComponent {
|
|
501
|
+
(props: TooltipRootProps): HTMLElement;
|
|
502
|
+
Trigger: (props: TooltipSlotProps) => HTMLElement;
|
|
503
|
+
Content: (props: TooltipSlotProps) => HTMLElement;
|
|
504
|
+
}
|
|
505
|
+
interface SeparatorProps {
|
|
506
|
+
class?: string;
|
|
507
|
+
}
|
|
508
|
+
interface SkeletonProps {
|
|
509
|
+
class?: string;
|
|
510
|
+
width?: string;
|
|
511
|
+
height?: string;
|
|
512
|
+
}
|
|
513
|
+
interface SkeletonComponents {
|
|
514
|
+
Skeleton: (props?: SkeletonProps) => HTMLDivElement;
|
|
515
|
+
}
|
|
516
|
+
import { ChildValue as ChildValue17 } from "@vertz/ui";
|
|
517
|
+
interface TableProps {
|
|
518
|
+
class?: string;
|
|
519
|
+
children?: ChildValue17;
|
|
520
|
+
}
|
|
521
|
+
interface TableComponents {
|
|
522
|
+
Table: (props: TableProps) => HTMLDivElement;
|
|
523
|
+
TableHeader: (props: TableProps) => HTMLTableSectionElement;
|
|
524
|
+
TableBody: (props: TableProps) => HTMLTableSectionElement;
|
|
525
|
+
TableRow: (props: TableProps) => HTMLTableRowElement;
|
|
526
|
+
TableHead: (props: TableProps) => HTMLTableCellElement;
|
|
527
|
+
TableCell: (props: TableProps) => HTMLTableCellElement;
|
|
528
|
+
TableCaption: (props: TableProps) => HTMLTableCaptionElement;
|
|
529
|
+
TableFooter: (props: TableProps) => HTMLTableSectionElement;
|
|
530
|
+
}
|
|
531
|
+
interface TextareaProps {
|
|
532
|
+
class?: string;
|
|
533
|
+
name?: string;
|
|
534
|
+
placeholder?: string;
|
|
535
|
+
disabled?: boolean;
|
|
536
|
+
value?: string;
|
|
537
|
+
rows?: number;
|
|
538
|
+
[key: string]: unknown;
|
|
539
|
+
}
|
|
540
|
+
import { CSSOutput as CSSOutput15, StyleEntry as StyleEntry6 } from "@vertz/ui";
|
|
541
|
+
type BreadcrumbBlocks = {
|
|
542
|
+
nav: StyleEntry6[];
|
|
543
|
+
list: StyleEntry6[];
|
|
544
|
+
item: StyleEntry6[];
|
|
545
|
+
link: StyleEntry6[];
|
|
546
|
+
page: StyleEntry6[];
|
|
547
|
+
separator: StyleEntry6[];
|
|
548
|
+
};
|
|
549
|
+
/** Create breadcrumb css() styles. */
|
|
550
|
+
declare function createBreadcrumbStyles(): CSSOutput15<BreadcrumbBlocks>;
|
|
551
|
+
import { CSSOutput as CSSOutput16, StyleEntry as StyleEntry8 } from "@vertz/ui";
|
|
552
|
+
type CalendarBlocks = {
|
|
553
|
+
root: StyleEntry8[];
|
|
554
|
+
header: StyleEntry8[];
|
|
555
|
+
title: StyleEntry8[];
|
|
556
|
+
navButton: StyleEntry8[];
|
|
557
|
+
grid: StyleEntry8[];
|
|
558
|
+
headCell: StyleEntry8[];
|
|
559
|
+
cell: StyleEntry8[];
|
|
560
|
+
dayButton: StyleEntry8[];
|
|
561
|
+
};
|
|
562
|
+
/** Create calendar css() styles. */
|
|
563
|
+
declare function createCalendarStyles(): CSSOutput16<CalendarBlocks>;
|
|
564
|
+
import { CSSOutput as CSSOutput18, StyleEntry as StyleEntry9 } from "@vertz/ui";
|
|
565
|
+
type CarouselBlocks = {
|
|
566
|
+
root: StyleEntry9[];
|
|
567
|
+
viewport: StyleEntry9[];
|
|
568
|
+
slide: StyleEntry9[];
|
|
569
|
+
prevButton: StyleEntry9[];
|
|
570
|
+
nextButton: StyleEntry9[];
|
|
571
|
+
};
|
|
572
|
+
/** Create carousel css() styles following shadcn conventions. */
|
|
573
|
+
declare function createCarouselStyles(): CSSOutput18<CarouselBlocks>;
|
|
574
|
+
import { CSSOutput as CSSOutput20, StyleEntry as StyleEntry11 } from "@vertz/ui";
|
|
575
|
+
type CollapsibleBlocks = {
|
|
576
|
+
content: StyleEntry11[];
|
|
577
|
+
};
|
|
578
|
+
/** Create collapsible css() styles. */
|
|
579
|
+
declare function createCollapsibleStyles(): CSSOutput20<CollapsibleBlocks>;
|
|
580
|
+
import { CSSOutput as CSSOutput21, StyleEntry as StyleEntry12 } from "@vertz/ui";
|
|
581
|
+
type CommandBlocks = {
|
|
582
|
+
root: StyleEntry12[];
|
|
583
|
+
input: StyleEntry12[];
|
|
584
|
+
list: StyleEntry12[];
|
|
585
|
+
item: StyleEntry12[];
|
|
586
|
+
group: StyleEntry12[];
|
|
587
|
+
groupHeading: StyleEntry12[];
|
|
588
|
+
separator: StyleEntry12[];
|
|
589
|
+
empty: StyleEntry12[];
|
|
590
|
+
};
|
|
591
|
+
/** Create command css() styles. */
|
|
592
|
+
declare function createCommandStyles(): CSSOutput21<CommandBlocks>;
|
|
593
|
+
import { CSSOutput as CSSOutput22, StyleEntry as StyleEntry13 } from "@vertz/ui";
|
|
594
|
+
type ContextMenuBlocks = {
|
|
595
|
+
content: StyleEntry13[];
|
|
596
|
+
item: StyleEntry13[];
|
|
597
|
+
group: StyleEntry13[];
|
|
598
|
+
label: StyleEntry13[];
|
|
599
|
+
separator: StyleEntry13[];
|
|
600
|
+
};
|
|
601
|
+
/** Create context-menu css() styles. */
|
|
602
|
+
declare function createContextMenuStyles(): CSSOutput22<ContextMenuBlocks>;
|
|
603
|
+
import { CSSOutput as CSSOutput23, StyleEntry as StyleEntry14 } from "@vertz/ui";
|
|
604
|
+
type DatePickerBlocks = {
|
|
605
|
+
trigger: StyleEntry14[];
|
|
606
|
+
content: StyleEntry14[];
|
|
607
|
+
};
|
|
608
|
+
/** Create date-picker css() styles. */
|
|
609
|
+
declare function createDatePickerStyles(): CSSOutput23<DatePickerBlocks>;
|
|
610
|
+
import { CSSOutput as CSSOutput25, StyleEntry as StyleEntry16 } from "@vertz/ui";
|
|
611
|
+
type DrawerBlocks = {
|
|
612
|
+
overlay: StyleEntry16[];
|
|
613
|
+
panelLeft: StyleEntry16[];
|
|
614
|
+
panelRight: StyleEntry16[];
|
|
615
|
+
panelTop: StyleEntry16[];
|
|
616
|
+
panelBottom: StyleEntry16[];
|
|
617
|
+
title: StyleEntry16[];
|
|
618
|
+
description: StyleEntry16[];
|
|
619
|
+
handle: StyleEntry16[];
|
|
620
|
+
close: StyleEntry16[];
|
|
621
|
+
};
|
|
622
|
+
/** Create drawer css() styles. */
|
|
623
|
+
declare function createDrawerStyles(): CSSOutput25<DrawerBlocks>;
|
|
624
|
+
import { CSSOutput as CSSOutput28, StyleEntry as StyleEntry18 } from "@vertz/ui";
|
|
625
|
+
type HoverCardBlocks = {
|
|
626
|
+
content: StyleEntry18[];
|
|
627
|
+
};
|
|
628
|
+
/** Create hover card css() styles. */
|
|
629
|
+
declare function createHoverCardStyles(): CSSOutput28<HoverCardBlocks>;
|
|
630
|
+
import { CSSOutput as CSSOutput31, StyleEntry as StyleEntry21 } from "@vertz/ui";
|
|
631
|
+
type MenubarBlocks = {
|
|
632
|
+
root: StyleEntry21[];
|
|
633
|
+
trigger: StyleEntry21[];
|
|
634
|
+
content: StyleEntry21[];
|
|
635
|
+
item: StyleEntry21[];
|
|
636
|
+
separator: StyleEntry21[];
|
|
637
|
+
label: StyleEntry21[];
|
|
638
|
+
};
|
|
639
|
+
/** Create menubar css() styles. */
|
|
640
|
+
declare function createMenubarStyles(): CSSOutput31<MenubarBlocks>;
|
|
641
|
+
import { CSSOutput as CSSOutput32, StyleEntry as StyleEntry22 } from "@vertz/ui";
|
|
642
|
+
type NavigationMenuBlocks = {
|
|
643
|
+
root: StyleEntry22[];
|
|
644
|
+
list: StyleEntry22[];
|
|
645
|
+
trigger: StyleEntry22[];
|
|
646
|
+
content: StyleEntry22[];
|
|
647
|
+
link: StyleEntry22[];
|
|
648
|
+
viewport: StyleEntry22[];
|
|
649
|
+
};
|
|
650
|
+
/** Create navigation menu css() styles. */
|
|
651
|
+
declare function createNavigationMenuStyles(): CSSOutput32<NavigationMenuBlocks>;
|
|
652
|
+
import { CSSOutput as CSSOutput33, StyleEntry as StyleEntry23 } from "@vertz/ui";
|
|
653
|
+
type PaginationBlocks = {
|
|
654
|
+
nav: StyleEntry23[];
|
|
655
|
+
list: StyleEntry23[];
|
|
656
|
+
item: StyleEntry23[];
|
|
657
|
+
link: StyleEntry23[];
|
|
658
|
+
linkActive: StyleEntry23[];
|
|
659
|
+
ellipsis: StyleEntry23[];
|
|
660
|
+
};
|
|
661
|
+
/** Create pagination css() styles. */
|
|
662
|
+
declare function createPaginationStyles(): CSSOutput33<PaginationBlocks>;
|
|
663
|
+
import { CSSOutput as CSSOutput37, StyleEntry as StyleEntry27 } from "@vertz/ui";
|
|
664
|
+
type ResizablePanelBlocks = {
|
|
665
|
+
root: StyleEntry27[];
|
|
666
|
+
panel: StyleEntry27[];
|
|
667
|
+
handle: StyleEntry27[];
|
|
668
|
+
};
|
|
669
|
+
/** Create resizable panel css() styles following shadcn conventions. */
|
|
670
|
+
declare function createResizablePanelStyles(): CSSOutput37<ResizablePanelBlocks>;
|
|
671
|
+
import { CSSOutput as CSSOutput38, StyleEntry as StyleEntry28 } from "@vertz/ui";
|
|
672
|
+
type ScrollAreaBlocks = {
|
|
673
|
+
root: StyleEntry28[];
|
|
674
|
+
viewport: StyleEntry28[];
|
|
675
|
+
scrollbar: StyleEntry28[];
|
|
676
|
+
thumb: StyleEntry28[];
|
|
677
|
+
};
|
|
678
|
+
/** Create scroll-area css() styles following shadcn conventions. */
|
|
679
|
+
declare function createScrollAreaStyles(): CSSOutput38<ScrollAreaBlocks>;
|
|
680
|
+
import { CSSOutput as CSSOutput49, StyleEntry as StyleEntry39 } from "@vertz/ui";
|
|
681
|
+
type ToggleBlocks = {
|
|
682
|
+
root: StyleEntry39[];
|
|
683
|
+
};
|
|
684
|
+
/** Create toggle css() styles. */
|
|
685
|
+
declare function createToggleStyles(): CSSOutput49<ToggleBlocks>;
|
|
686
|
+
import { CSSOutput as CSSOutput50, StyleEntry as StyleEntry40 } from "@vertz/ui";
|
|
687
|
+
type ToggleGroupBlocks = {
|
|
688
|
+
root: StyleEntry40[];
|
|
689
|
+
item: StyleEntry40[];
|
|
690
|
+
};
|
|
691
|
+
/** Create toggle group css() styles. */
|
|
692
|
+
declare function createToggleGroupStyles(): CSSOutput50<ToggleGroupBlocks>;
|
|
693
|
+
type PaletteName = "zinc" | "slate" | "stone" | "neutral" | "gray";
|
|
694
|
+
/**
|
|
695
|
+
* Visual style preset. Each style applies different spacing, border-radius,
|
|
696
|
+
* colors, and visual treatment to all components.
|
|
697
|
+
*
|
|
698
|
+
* Currently only 'nova' is implemented. The architecture supports adding
|
|
699
|
+
* additional styles (e.g., 'default', 'vega', 'maia', 'mira', 'lyra')
|
|
700
|
+
* in the future — each style factory accepts this parameter.
|
|
701
|
+
*/
|
|
702
|
+
type ThemeStyle = "nova";
|
|
703
|
+
/** Configuration options for the shadcn theme. */
|
|
704
|
+
interface ThemeConfig {
|
|
705
|
+
/** Color palette base. Default: 'zinc'. */
|
|
706
|
+
palette?: PaletteName;
|
|
707
|
+
/** Border radius preset. Default: 'md'. */
|
|
708
|
+
radius?: "sm" | "md" | "lg";
|
|
709
|
+
/** Visual style preset. Default: 'nova'. */
|
|
710
|
+
style?: ThemeStyle;
|
|
711
|
+
/** Token overrides — deep-merged into the selected palette. */
|
|
712
|
+
overrides?: {
|
|
713
|
+
tokens?: {
|
|
714
|
+
colors?: Record<string, Record<string, string> | undefined>;
|
|
715
|
+
};
|
|
716
|
+
};
|
|
717
|
+
}
|
|
718
|
+
/** Pre-built style definitions returned by configureTheme(). */
|
|
719
|
+
interface ThemeStyles {
|
|
720
|
+
/** Button variant function: `button({ intent: 'primary', size: 'md' })` */
|
|
721
|
+
button: VariantFunction5<{
|
|
722
|
+
intent: Record<string, string[]>;
|
|
723
|
+
size: Record<string, string[]>;
|
|
724
|
+
}>;
|
|
725
|
+
/** Alert css() result with root, destructive, title, description. */
|
|
726
|
+
alert: {
|
|
727
|
+
readonly root: string;
|
|
728
|
+
readonly destructive: string;
|
|
729
|
+
readonly title: string;
|
|
730
|
+
readonly description: string;
|
|
731
|
+
readonly css: string;
|
|
732
|
+
};
|
|
733
|
+
/** Badge variant function: `badge({ color: 'blue' })` */
|
|
734
|
+
badge: VariantFunction5<{
|
|
735
|
+
color: Record<string, string[]>;
|
|
736
|
+
}>;
|
|
737
|
+
/** Card css() result with root, header, title, description, content, footer. */
|
|
738
|
+
card: {
|
|
739
|
+
readonly root: string;
|
|
740
|
+
readonly header: string;
|
|
741
|
+
readonly title: string;
|
|
742
|
+
readonly description: string;
|
|
743
|
+
readonly content: string;
|
|
744
|
+
readonly footer: string;
|
|
745
|
+
readonly action: string;
|
|
746
|
+
readonly css: string;
|
|
747
|
+
};
|
|
748
|
+
/** Input css() result. */
|
|
749
|
+
input: {
|
|
750
|
+
readonly base: string;
|
|
751
|
+
readonly css: string;
|
|
752
|
+
};
|
|
753
|
+
/** Textarea css() result. */
|
|
754
|
+
textarea: {
|
|
755
|
+
readonly base: string;
|
|
756
|
+
readonly css: string;
|
|
757
|
+
};
|
|
758
|
+
/** Label css() result. */
|
|
759
|
+
label: {
|
|
760
|
+
readonly base: string;
|
|
761
|
+
readonly css: string;
|
|
762
|
+
};
|
|
763
|
+
/** Separator css() result. */
|
|
764
|
+
separator: {
|
|
765
|
+
readonly base: string;
|
|
766
|
+
readonly css: string;
|
|
767
|
+
};
|
|
768
|
+
/** Form group css() result with base and error. */
|
|
769
|
+
formGroup: {
|
|
770
|
+
readonly base: string;
|
|
771
|
+
readonly error: string;
|
|
772
|
+
readonly css: string;
|
|
773
|
+
};
|
|
774
|
+
/** Dialog css() styles. */
|
|
775
|
+
dialog: {
|
|
776
|
+
readonly overlay: string;
|
|
777
|
+
readonly panel: string;
|
|
778
|
+
readonly title: string;
|
|
779
|
+
readonly description: string;
|
|
780
|
+
readonly close: string;
|
|
781
|
+
readonly footer: string;
|
|
782
|
+
readonly css: string;
|
|
783
|
+
};
|
|
784
|
+
/** DropdownMenu css() styles. */
|
|
785
|
+
dropdownMenu: {
|
|
786
|
+
readonly content: string;
|
|
787
|
+
readonly item: string;
|
|
788
|
+
readonly group: string;
|
|
789
|
+
readonly label: string;
|
|
790
|
+
readonly separator: string;
|
|
791
|
+
readonly css: string;
|
|
792
|
+
};
|
|
793
|
+
/** Select css() styles. */
|
|
794
|
+
select: {
|
|
795
|
+
readonly trigger: string;
|
|
796
|
+
readonly content: string;
|
|
797
|
+
readonly item: string;
|
|
798
|
+
readonly group: string;
|
|
799
|
+
readonly label: string;
|
|
800
|
+
readonly separator: string;
|
|
801
|
+
readonly scrollButton: string;
|
|
802
|
+
readonly css: string;
|
|
803
|
+
};
|
|
804
|
+
/** Tabs css() styles. */
|
|
805
|
+
tabs: {
|
|
806
|
+
readonly list: string;
|
|
807
|
+
readonly trigger: string;
|
|
808
|
+
readonly panel: string;
|
|
809
|
+
readonly listLine: string;
|
|
810
|
+
readonly triggerLine: string;
|
|
811
|
+
readonly css: string;
|
|
812
|
+
};
|
|
813
|
+
/** Checkbox css() styles. */
|
|
814
|
+
checkbox: {
|
|
815
|
+
readonly root: string;
|
|
816
|
+
readonly indicator: string;
|
|
817
|
+
readonly css: string;
|
|
818
|
+
};
|
|
819
|
+
/** Switch css() styles. */
|
|
820
|
+
switch: {
|
|
821
|
+
readonly root: string;
|
|
822
|
+
readonly thumb: string;
|
|
823
|
+
readonly rootSm: string;
|
|
824
|
+
readonly thumbSm: string;
|
|
825
|
+
readonly css: string;
|
|
826
|
+
};
|
|
827
|
+
/** Popover css() styles. */
|
|
828
|
+
popover: {
|
|
829
|
+
readonly content: string;
|
|
830
|
+
readonly css: string;
|
|
831
|
+
};
|
|
832
|
+
/** Progress css() styles. */
|
|
833
|
+
progress: {
|
|
834
|
+
readonly root: string;
|
|
835
|
+
readonly indicator: string;
|
|
836
|
+
readonly css: string;
|
|
837
|
+
};
|
|
838
|
+
/** RadioGroup css() styles. */
|
|
839
|
+
radioGroup: {
|
|
840
|
+
readonly root: string;
|
|
841
|
+
readonly item: string;
|
|
842
|
+
readonly indicator: string;
|
|
843
|
+
readonly indicatorIcon: string;
|
|
844
|
+
readonly css: string;
|
|
845
|
+
};
|
|
846
|
+
/** Slider css() styles. */
|
|
847
|
+
slider: {
|
|
848
|
+
readonly root: string;
|
|
849
|
+
readonly track: string;
|
|
850
|
+
readonly range: string;
|
|
851
|
+
readonly thumb: string;
|
|
852
|
+
readonly css: string;
|
|
853
|
+
};
|
|
854
|
+
/** AlertDialog css() styles. */
|
|
855
|
+
alertDialog: {
|
|
856
|
+
readonly overlay: string;
|
|
857
|
+
readonly panel: string;
|
|
858
|
+
readonly title: string;
|
|
859
|
+
readonly description: string;
|
|
860
|
+
readonly footer: string;
|
|
861
|
+
readonly cancel: string;
|
|
862
|
+
readonly action: string;
|
|
863
|
+
readonly css: string;
|
|
864
|
+
};
|
|
865
|
+
/** Accordion css() styles. */
|
|
866
|
+
accordion: {
|
|
867
|
+
readonly item: string;
|
|
868
|
+
readonly trigger: string;
|
|
869
|
+
readonly content: string;
|
|
870
|
+
readonly css: string;
|
|
871
|
+
};
|
|
872
|
+
/** Toast css() styles. */
|
|
873
|
+
toast: {
|
|
874
|
+
readonly viewport: string;
|
|
875
|
+
readonly root: string;
|
|
876
|
+
readonly title: string;
|
|
877
|
+
readonly description: string;
|
|
878
|
+
readonly action: string;
|
|
879
|
+
readonly close: string;
|
|
880
|
+
readonly css: string;
|
|
881
|
+
};
|
|
882
|
+
/** Tooltip css() styles. */
|
|
883
|
+
tooltip: {
|
|
884
|
+
readonly content: string;
|
|
885
|
+
readonly css: string;
|
|
886
|
+
};
|
|
887
|
+
/** Avatar css() styles. */
|
|
888
|
+
avatar: {
|
|
889
|
+
readonly root: string;
|
|
890
|
+
readonly image: string;
|
|
891
|
+
readonly fallback: string;
|
|
892
|
+
readonly rootSm: string;
|
|
893
|
+
readonly rootLg: string;
|
|
894
|
+
readonly rootXl: string;
|
|
895
|
+
readonly fallbackSm: string;
|
|
896
|
+
readonly fallbackLg: string;
|
|
897
|
+
readonly fallbackXl: string;
|
|
898
|
+
readonly css: string;
|
|
899
|
+
};
|
|
900
|
+
/** Skeleton css() styles. */
|
|
901
|
+
skeleton: {
|
|
902
|
+
readonly base: string;
|
|
903
|
+
readonly css: string;
|
|
904
|
+
};
|
|
905
|
+
/** Table css() styles. */
|
|
906
|
+
table: {
|
|
907
|
+
readonly root: string;
|
|
908
|
+
readonly header: string;
|
|
909
|
+
readonly body: string;
|
|
910
|
+
readonly row: string;
|
|
911
|
+
readonly head: string;
|
|
912
|
+
readonly cell: string;
|
|
913
|
+
readonly caption: string;
|
|
914
|
+
readonly footer: string;
|
|
915
|
+
readonly css: string;
|
|
916
|
+
};
|
|
917
|
+
/** Sheet css() styles. */
|
|
918
|
+
sheet: {
|
|
919
|
+
readonly overlay: string;
|
|
920
|
+
readonly panelLeft: string;
|
|
921
|
+
readonly panelRight: string;
|
|
922
|
+
readonly panelTop: string;
|
|
923
|
+
readonly panelBottom: string;
|
|
924
|
+
readonly title: string;
|
|
925
|
+
readonly description: string;
|
|
926
|
+
readonly close: string;
|
|
927
|
+
readonly css: string;
|
|
928
|
+
};
|
|
929
|
+
/** Breadcrumb css() styles. */
|
|
930
|
+
breadcrumb: ReturnType<typeof createBreadcrumbStyles>;
|
|
931
|
+
/** Calendar css() styles. */
|
|
932
|
+
calendar: ReturnType<typeof createCalendarStyles>;
|
|
933
|
+
/** Carousel css() styles. */
|
|
934
|
+
carousel: ReturnType<typeof createCarouselStyles>;
|
|
935
|
+
/** Collapsible css() styles. */
|
|
936
|
+
collapsible: ReturnType<typeof createCollapsibleStyles>;
|
|
937
|
+
/** Command css() styles. */
|
|
938
|
+
command: ReturnType<typeof createCommandStyles>;
|
|
939
|
+
/** ContextMenu css() styles. */
|
|
940
|
+
contextMenu: ReturnType<typeof createContextMenuStyles>;
|
|
941
|
+
/** DatePicker css() styles. */
|
|
942
|
+
datePicker: ReturnType<typeof createDatePickerStyles>;
|
|
943
|
+
/** Drawer css() styles. */
|
|
944
|
+
drawer: ReturnType<typeof createDrawerStyles>;
|
|
945
|
+
/** HoverCard css() styles. */
|
|
946
|
+
hoverCard: ReturnType<typeof createHoverCardStyles>;
|
|
947
|
+
/** Menubar css() styles. */
|
|
948
|
+
menubar: ReturnType<typeof createMenubarStyles>;
|
|
949
|
+
/** NavigationMenu css() styles. */
|
|
950
|
+
navigationMenu: ReturnType<typeof createNavigationMenuStyles>;
|
|
951
|
+
/** Pagination css() styles. */
|
|
952
|
+
pagination: ReturnType<typeof createPaginationStyles>;
|
|
953
|
+
/** ResizablePanel css() styles. */
|
|
954
|
+
resizablePanel: ReturnType<typeof createResizablePanelStyles>;
|
|
955
|
+
/** ScrollArea css() styles. */
|
|
956
|
+
scrollArea: ReturnType<typeof createScrollAreaStyles>;
|
|
957
|
+
/** Toggle css() styles. */
|
|
958
|
+
toggle: ReturnType<typeof createToggleStyles>;
|
|
959
|
+
/** ToggleGroup css() styles. */
|
|
960
|
+
toggleGroup: ReturnType<typeof createToggleGroupStyles>;
|
|
961
|
+
}
|
|
962
|
+
/** Themed primitive factories returned by configureTheme(). */
|
|
963
|
+
interface ThemedPrimitives {
|
|
964
|
+
/** Themed AlertDialog — composable JSX component with AlertDialog.Trigger, AlertDialog.Content, etc. */
|
|
965
|
+
AlertDialog: ThemedAlertDialogComponent;
|
|
966
|
+
/** Themed Dialog — composable JSX component with Dialog.Trigger, Dialog.Content, Dialog.Title, Dialog.Description, Dialog.Footer. */
|
|
967
|
+
Dialog: ThemedDialogComponent;
|
|
968
|
+
/** Themed DropdownMenu — composable JSX component with DropdownMenu.Trigger, DropdownMenu.Content, etc. */
|
|
969
|
+
DropdownMenu: ThemedDropdownMenuComponent;
|
|
970
|
+
/** Themed Select — composable JSX component with Select.Content, Select.Item, etc. */
|
|
971
|
+
Select: ThemedSelectComponent;
|
|
972
|
+
/** Themed Tabs — composable JSX component with Tabs.List, Tabs.Trigger, Tabs.Content. */
|
|
973
|
+
Tabs: ThemedTabsComponent;
|
|
974
|
+
/** Themed Checkbox — wraps @vertz/ui-primitives Checkbox with shadcn styles. */
|
|
975
|
+
checkbox: (options?: CheckboxOptions) => CheckboxElements & {
|
|
976
|
+
state: CheckboxState;
|
|
977
|
+
};
|
|
978
|
+
/** Themed Switch — wraps @vertz/ui-primitives Switch with shadcn styles. */
|
|
979
|
+
switch: (options?: ThemedSwitchOptions) => SwitchElements2 & {
|
|
980
|
+
state: SwitchState2;
|
|
981
|
+
};
|
|
982
|
+
/** Themed Popover — composable JSX component with Popover.Trigger, Popover.Content. */
|
|
983
|
+
Popover: ThemedPopoverComponent;
|
|
984
|
+
/** Themed Progress — wraps @vertz/ui-primitives Progress with shadcn styles. */
|
|
985
|
+
progress: (options?: ProgressOptions) => ProgressElements & {
|
|
986
|
+
state: ProgressState;
|
|
987
|
+
setValue: (value: number) => void;
|
|
988
|
+
};
|
|
989
|
+
/** Themed RadioGroup — wraps @vertz/ui-primitives Radio with shadcn styles. */
|
|
990
|
+
radioGroup: (options?: RadioOptions2) => ThemedRadioGroupResult;
|
|
991
|
+
/** Themed Slider — wraps @vertz/ui-primitives Slider with shadcn styles. */
|
|
992
|
+
slider: (options?: SliderOptions) => SliderElements & {
|
|
993
|
+
state: SliderState;
|
|
994
|
+
};
|
|
995
|
+
/** Themed Accordion — composable JSX component with Accordion.Item, Accordion.Trigger, Accordion.Content. */
|
|
996
|
+
Accordion: ThemedAccordionComponent;
|
|
997
|
+
/** Themed Toast — wraps @vertz/ui-primitives Toast with shadcn styles. */
|
|
998
|
+
toast: (options?: ToastOptions2) => ThemedToastResult;
|
|
999
|
+
/** Themed Tooltip — composable JSX component with Tooltip.Trigger, Tooltip.Content. */
|
|
1000
|
+
Tooltip: ThemedTooltipComponent;
|
|
1001
|
+
/** Themed Sheet — composable JSX component with Sheet.Trigger, Sheet.Content, etc. */
|
|
1002
|
+
Sheet: ThemedSheetComponent;
|
|
1003
|
+
/** Themed Calendar — date grid with month navigation. */
|
|
1004
|
+
calendar: ReturnType<typeof createThemedCalendar>;
|
|
1005
|
+
/** Themed Carousel — slide navigation with prev/next controls. */
|
|
1006
|
+
carousel: ReturnType<typeof createThemedCarousel>;
|
|
1007
|
+
/** Themed Collapsible — expandable/collapsible content section. */
|
|
1008
|
+
collapsible: ReturnType<typeof createThemedCollapsible>;
|
|
1009
|
+
/** Themed Command — searchable command palette. */
|
|
1010
|
+
command: ReturnType<typeof createThemedCommand>;
|
|
1011
|
+
/** Themed ContextMenu — right-click context menu. */
|
|
1012
|
+
contextMenu: ReturnType<typeof createThemedContextMenu>;
|
|
1013
|
+
/** Themed DatePicker — date picker composing Calendar + Popover. */
|
|
1014
|
+
datePicker: ReturnType<typeof createThemedDatePicker>;
|
|
1015
|
+
/** Themed Drawer — bottom/side panel wrapping Dialog. */
|
|
1016
|
+
drawer: ReturnType<typeof createThemedDrawer>;
|
|
1017
|
+
/** Themed HoverCard — hover-triggered interactive card. */
|
|
1018
|
+
hoverCard: ReturnType<typeof createThemedHoverCard>;
|
|
1019
|
+
/** Themed Menubar — horizontal menu bar with dropdowns. */
|
|
1020
|
+
menubar: ReturnType<typeof createThemedMenubar>;
|
|
1021
|
+
/** Themed NavigationMenu — site navigation with hover dropdowns. */
|
|
1022
|
+
navigationMenu: ReturnType<typeof createThemedNavigationMenu>;
|
|
1023
|
+
/** Themed ResizablePanel — resizable panel layout with drag handles. */
|
|
1024
|
+
resizablePanel: ReturnType<typeof createThemedResizablePanel>;
|
|
1025
|
+
/** Themed ScrollArea — custom scrollbars. */
|
|
1026
|
+
scrollArea: ReturnType<typeof createThemedScrollArea>;
|
|
1027
|
+
/** Themed Toggle — toggle button with pressed state. */
|
|
1028
|
+
toggle: ReturnType<typeof createThemedToggle>;
|
|
1029
|
+
/** Themed ToggleGroup — group of toggle buttons. */
|
|
1030
|
+
toggleGroup: ReturnType<typeof createThemedToggleGroup>;
|
|
1031
|
+
}
|
|
1032
|
+
/** Component functions returned by configureTheme(). */
|
|
1033
|
+
interface ThemeComponents {
|
|
1034
|
+
/** Alert suite — Alert, AlertTitle, AlertDescription. */
|
|
1035
|
+
Alert: AlertComponents;
|
|
1036
|
+
/** Button component — returns HTMLButtonElement with theme styles. */
|
|
1037
|
+
Button: (props: ButtonProps) => HTMLButtonElement;
|
|
1038
|
+
/** Badge component — returns HTMLSpanElement with theme styles. */
|
|
1039
|
+
Badge: (props: BadgeProps) => HTMLSpanElement;
|
|
1040
|
+
/** Breadcrumb component — navigation breadcrumb trail. */
|
|
1041
|
+
Breadcrumb: BreadcrumbComponents;
|
|
1042
|
+
/** Card suite — Card, CardHeader, CardTitle, etc. */
|
|
1043
|
+
Card: CardComponents;
|
|
1044
|
+
/** Input component — returns HTMLInputElement with theme styles. */
|
|
1045
|
+
Input: (props: InputProps) => HTMLInputElement;
|
|
1046
|
+
/** Textarea component — returns HTMLTextAreaElement with theme styles. */
|
|
1047
|
+
Textarea: (props: TextareaProps) => HTMLTextAreaElement;
|
|
1048
|
+
/** Label component — returns HTMLLabelElement with theme styles. */
|
|
1049
|
+
Label: (props: LabelProps) => HTMLLabelElement;
|
|
1050
|
+
/** Pagination component — page navigation controls. */
|
|
1051
|
+
Pagination: PaginationComponents;
|
|
1052
|
+
/** Separator component — returns HTMLHRElement with theme styles. */
|
|
1053
|
+
Separator: (props: SeparatorProps) => HTMLHRElement;
|
|
1054
|
+
/** FormGroup suite — FormGroup and FormError. */
|
|
1055
|
+
FormGroup: FormGroupComponents;
|
|
1056
|
+
/** Avatar suite — Avatar, AvatarImage, AvatarFallback. */
|
|
1057
|
+
Avatar: AvatarComponents;
|
|
1058
|
+
/** Skeleton component — loading placeholder with pulse animation. */
|
|
1059
|
+
Skeleton: SkeletonComponents;
|
|
1060
|
+
/** Table suite — Table, TableHeader, TableBody, TableRow, etc. */
|
|
1061
|
+
Table: TableComponents;
|
|
1062
|
+
/** Themed primitive factories. */
|
|
1063
|
+
primitives: ThemedPrimitives;
|
|
1064
|
+
}
|
|
1065
|
+
/** Return type of configureTheme(). */
|
|
1066
|
+
interface ResolvedTheme {
|
|
1067
|
+
/** Theme object for compileTheme(). */
|
|
1068
|
+
theme: Theme;
|
|
1069
|
+
/** Global CSS (reset, typography, radius). Auto-injected via globalCss(). */
|
|
1070
|
+
globals: GlobalCSSOutput;
|
|
1071
|
+
/** Pre-built style definitions. */
|
|
1072
|
+
styles: ThemeStyles;
|
|
1073
|
+
/** Component functions — ready-to-use themed elements. */
|
|
1074
|
+
components: ThemeComponents;
|
|
1075
|
+
}
|
|
1076
|
+
/**
|
|
1077
|
+
* Configure the shadcn theme.
|
|
1078
|
+
*
|
|
1079
|
+
* Single entry point — selects palette, applies overrides, builds globals, styles, and components.
|
|
1080
|
+
*/
|
|
1081
|
+
declare function configureTheme(config?: ThemeConfig): ResolvedTheme;
|
|
1082
|
+
export { configureTheme, ThemedPrimitives, ThemeStyles, ThemeConfig, ThemeComponents, ResolvedTheme };
|