vanguard-uikit 1.0.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/README.md +324 -0
- package/dist/README.md +324 -0
- package/dist/index.d.ts +664 -0
- package/dist/index.js +4 -0
- package/dist/package.json +27 -0
- package/dist/vanguard-uikit.jsx +1425 -0
- package/package.json +36 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,664 @@
|
|
|
1
|
+
// TypeScript definitions for Vanguard UIKit
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
|
|
5
|
+
// Theme
|
|
6
|
+
export const theme: {
|
|
7
|
+
radius: {
|
|
8
|
+
base: string;
|
|
9
|
+
large: string;
|
|
10
|
+
xlarge: string;
|
|
11
|
+
card: string;
|
|
12
|
+
full: string;
|
|
13
|
+
};
|
|
14
|
+
glass: string;
|
|
15
|
+
animation: {
|
|
16
|
+
fast: string;
|
|
17
|
+
slow: string;
|
|
18
|
+
slower: string;
|
|
19
|
+
};
|
|
20
|
+
colors: {
|
|
21
|
+
primary: string;
|
|
22
|
+
accent: string;
|
|
23
|
+
success: string;
|
|
24
|
+
danger: string;
|
|
25
|
+
warning: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// Buttons
|
|
30
|
+
export interface VanguardButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
33
|
+
variant?: 'primary' | 'accent' | 'glass' | 'ghost' | 'danger';
|
|
34
|
+
size?: 'sm' | 'md' | 'lg';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const VanguardButton: React.FC<VanguardButtonProps>;
|
|
38
|
+
|
|
39
|
+
export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
40
|
+
icon: React.ComponentType<{ size?: number; className?: string }>;
|
|
41
|
+
variant?: 'glass' | 'primary' | 'ghost';
|
|
42
|
+
size?: 'sm' | 'md' | 'lg';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const IconButton: React.FC<IconButtonProps>;
|
|
46
|
+
|
|
47
|
+
// Cards
|
|
48
|
+
export interface VanguardCardProps {
|
|
49
|
+
children?: React.ReactNode;
|
|
50
|
+
title?: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
53
|
+
tag?: string;
|
|
54
|
+
hoverable?: boolean;
|
|
55
|
+
glass?: boolean;
|
|
56
|
+
className?: string;
|
|
57
|
+
delay?: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export const VanguardCard: React.FC<VanguardCardProps>;
|
|
61
|
+
|
|
62
|
+
export interface StatCardProps {
|
|
63
|
+
title: string;
|
|
64
|
+
value: string;
|
|
65
|
+
change: string;
|
|
66
|
+
trend?: 'up' | 'down';
|
|
67
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
68
|
+
className?: string;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const StatCard: React.FC<StatCardProps>;
|
|
72
|
+
|
|
73
|
+
// Badges
|
|
74
|
+
export interface StatusBadgeProps {
|
|
75
|
+
children: React.ReactNode;
|
|
76
|
+
variant?: 'blue' | 'emerald' | 'rose' | 'amber' | 'purple';
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export const StatusBadge: React.FC<StatusBadgeProps>;
|
|
80
|
+
|
|
81
|
+
export interface BadgeProps {
|
|
82
|
+
children: React.ReactNode;
|
|
83
|
+
variant?: 'default' | 'blue' | 'emerald' | 'rose' | 'amber' | 'purple';
|
|
84
|
+
size?: 'sm' | 'md' | 'lg';
|
|
85
|
+
className?: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export const Badge: React.FC<BadgeProps>;
|
|
89
|
+
|
|
90
|
+
// Form Elements
|
|
91
|
+
export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
92
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export const Input: React.FC<InputProps>;
|
|
96
|
+
|
|
97
|
+
export interface SearchInputProps {
|
|
98
|
+
placeholder?: string;
|
|
99
|
+
className?: string;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export const SearchInput: React.FC<SearchInputProps>;
|
|
103
|
+
|
|
104
|
+
export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
105
|
+
placeholder?: string;
|
|
106
|
+
value?: string;
|
|
107
|
+
onChange?: (value: string) => void;
|
|
108
|
+
rows?: number;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export const Textarea: React.FC<TextareaProps>;
|
|
112
|
+
|
|
113
|
+
export interface SelectProps {
|
|
114
|
+
options: Array<{ label: string; value: string }>;
|
|
115
|
+
value?: string;
|
|
116
|
+
onChange?: (value: string) => void;
|
|
117
|
+
placeholder?: string;
|
|
118
|
+
className?: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export const Select: React.FC<SelectProps>;
|
|
122
|
+
|
|
123
|
+
export interface ToggleProps {
|
|
124
|
+
checked: boolean;
|
|
125
|
+
onChange: (checked: boolean) => void;
|
|
126
|
+
label?: string;
|
|
127
|
+
disabled?: boolean;
|
|
128
|
+
className?: string;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export const Toggle: React.FC<ToggleProps>;
|
|
132
|
+
|
|
133
|
+
export const Switch: React.FC<ToggleProps>;
|
|
134
|
+
|
|
135
|
+
export interface CheckboxProps {
|
|
136
|
+
checked: boolean;
|
|
137
|
+
onChange: (checked: boolean) => void;
|
|
138
|
+
label?: string;
|
|
139
|
+
disabled?: boolean;
|
|
140
|
+
className?: string;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export const Checkbox: React.FC<CheckboxProps>;
|
|
144
|
+
|
|
145
|
+
export interface RadioGroupProps {
|
|
146
|
+
options: Array<{ label: string; value: string }>;
|
|
147
|
+
value: string;
|
|
148
|
+
onChange: (value: string) => void;
|
|
149
|
+
className?: string;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export const RadioGroup: React.FC<RadioGroupProps>;
|
|
153
|
+
|
|
154
|
+
export interface SliderProps {
|
|
155
|
+
value: number;
|
|
156
|
+
onChange: (value: number) => void;
|
|
157
|
+
min?: number;
|
|
158
|
+
max?: number;
|
|
159
|
+
step?: number;
|
|
160
|
+
className?: string;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export const Slider: React.FC<SliderProps>;
|
|
164
|
+
|
|
165
|
+
// Progress
|
|
166
|
+
export interface ProgressBarProps {
|
|
167
|
+
value?: number;
|
|
168
|
+
max?: number;
|
|
169
|
+
size?: 'sm' | 'md' | 'lg';
|
|
170
|
+
variant?: 'blue' | 'emerald' | 'rose' | 'amber' | 'purple' | 'gradient';
|
|
171
|
+
showLabel?: boolean;
|
|
172
|
+
className?: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export const ProgressBar: React.FC<ProgressBarProps>;
|
|
176
|
+
|
|
177
|
+
export interface CircularProgressProps {
|
|
178
|
+
value?: number;
|
|
179
|
+
size?: number;
|
|
180
|
+
strokeWidth?: number;
|
|
181
|
+
variant?: 'blue' | 'emerald' | 'rose' | 'amber' | 'purple';
|
|
182
|
+
showValue?: boolean;
|
|
183
|
+
children?: React.ReactNode;
|
|
184
|
+
className?: string;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export const CircularProgress: React.FC<CircularProgressProps>;
|
|
188
|
+
|
|
189
|
+
// Navigation
|
|
190
|
+
export interface SidebarItemProps {
|
|
191
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
192
|
+
label: string;
|
|
193
|
+
active?: boolean;
|
|
194
|
+
className?: string;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export const SidebarItem: React.FC<SidebarItemProps>;
|
|
198
|
+
|
|
199
|
+
export interface NavTabProps {
|
|
200
|
+
children: React.ReactNode;
|
|
201
|
+
active?: boolean;
|
|
202
|
+
onClick?: () => void;
|
|
203
|
+
className?: string;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export const NavTab: React.FC<NavTabProps>;
|
|
207
|
+
|
|
208
|
+
export interface TabsProps {
|
|
209
|
+
tabs: Array<{ id: string; label: string }>;
|
|
210
|
+
activeTab: string;
|
|
211
|
+
onChange: (id: string) => void;
|
|
212
|
+
variant?: 'pills' | 'line';
|
|
213
|
+
className?: string;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export const Tabs: React.FC<TabsProps>;
|
|
217
|
+
|
|
218
|
+
export interface TabContentProps {
|
|
219
|
+
children: React.ReactNode;
|
|
220
|
+
active?: boolean;
|
|
221
|
+
className?: string;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export const TabContent: React.FC<TabContentProps>;
|
|
225
|
+
|
|
226
|
+
export interface AccordionProps {
|
|
227
|
+
items: Array<{ id: string; title: string; content: React.ReactNode }>;
|
|
228
|
+
allowMultiple?: boolean;
|
|
229
|
+
className?: string;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export const Accordion: React.FC<AccordionProps>;
|
|
233
|
+
|
|
234
|
+
// Lists
|
|
235
|
+
export interface ProjectRowProps {
|
|
236
|
+
name: string;
|
|
237
|
+
status: string;
|
|
238
|
+
progress: number;
|
|
239
|
+
category: string;
|
|
240
|
+
className?: string;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export const ProjectRow: React.FC<ProjectRowProps>;
|
|
244
|
+
|
|
245
|
+
export interface AlertItemProps {
|
|
246
|
+
title: string;
|
|
247
|
+
time: string;
|
|
248
|
+
color?: 'blue' | 'rose' | 'emerald';
|
|
249
|
+
className?: string;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export const AlertItem: React.FC<AlertItemProps>;
|
|
253
|
+
|
|
254
|
+
// Table
|
|
255
|
+
export interface TableColumn {
|
|
256
|
+
header: string;
|
|
257
|
+
accessor: string;
|
|
258
|
+
render?: (value: any, row: any) => React.ReactNode;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export interface TableProps {
|
|
262
|
+
columns: TableColumn[];
|
|
263
|
+
data: any[];
|
|
264
|
+
onRowClick?: (row: any) => void;
|
|
265
|
+
emptyMessage?: string;
|
|
266
|
+
className?: string;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export const Table: React.FC<TableProps>;
|
|
270
|
+
|
|
271
|
+
export interface PaginationProps {
|
|
272
|
+
currentPage: number;
|
|
273
|
+
totalPages: number;
|
|
274
|
+
onPageChange: (page: number) => void;
|
|
275
|
+
className?: string;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export const Pagination: React.FC<PaginationProps>;
|
|
279
|
+
|
|
280
|
+
// Layout
|
|
281
|
+
export interface WorkspaceSelectorProps {
|
|
282
|
+
name?: string;
|
|
283
|
+
plan?: string;
|
|
284
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
285
|
+
className?: string;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export const WorkspaceSelector: React.FC<WorkspaceSelectorProps>;
|
|
289
|
+
|
|
290
|
+
export interface AvatarProps {
|
|
291
|
+
src: string;
|
|
292
|
+
alt?: string;
|
|
293
|
+
size?: 'sm' | 'md' | 'lg';
|
|
294
|
+
className?: string;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
export const Avatar: React.FC<AvatarProps>;
|
|
298
|
+
|
|
299
|
+
export interface UpgradeCardProps {
|
|
300
|
+
version?: string;
|
|
301
|
+
title?: string;
|
|
302
|
+
buttonText?: string;
|
|
303
|
+
className?: string;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
export const UpgradeCard: React.FC<UpgradeCardProps>;
|
|
307
|
+
|
|
308
|
+
export interface BarChartProps {
|
|
309
|
+
data?: number[];
|
|
310
|
+
height?: number;
|
|
311
|
+
className?: string;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export const BarChart: React.FC<BarChartProps>;
|
|
315
|
+
|
|
316
|
+
export interface GlassPanelProps {
|
|
317
|
+
children: React.ReactNode;
|
|
318
|
+
className?: string;
|
|
319
|
+
radius?: 'base' | 'large' | 'xlarge';
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
export const GlassPanel: React.FC<GlassPanelProps>;
|
|
323
|
+
|
|
324
|
+
export const BackgroundDecor: React.FC<{ className?: string }>;
|
|
325
|
+
|
|
326
|
+
// Typography
|
|
327
|
+
export interface HeadingProps {
|
|
328
|
+
children: React.ReactNode;
|
|
329
|
+
level?: 1 | 2 | 3 | 4;
|
|
330
|
+
uppercase?: boolean;
|
|
331
|
+
italic?: boolean;
|
|
332
|
+
className?: string;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
export const Heading: React.FC<HeadingProps>;
|
|
336
|
+
|
|
337
|
+
export interface TextProps {
|
|
338
|
+
children: React.ReactNode;
|
|
339
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
340
|
+
variant?: 'default' | 'muted' | 'subtle' | 'primary' | 'success' | 'danger';
|
|
341
|
+
className?: string;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
export const Text: React.FC<TextProps>;
|
|
345
|
+
|
|
346
|
+
// Form
|
|
347
|
+
export interface LabelProps {
|
|
348
|
+
children: React.ReactNode;
|
|
349
|
+
required?: boolean;
|
|
350
|
+
className?: string;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
export const Label: React.FC<LabelProps>;
|
|
354
|
+
|
|
355
|
+
export interface FormGroupProps {
|
|
356
|
+
children: React.ReactNode;
|
|
357
|
+
label?: string;
|
|
358
|
+
error?: string;
|
|
359
|
+
className?: string;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
export const FormGroup: React.FC<FormGroupProps>;
|
|
363
|
+
|
|
364
|
+
// Social
|
|
365
|
+
export interface SocialLinkProps {
|
|
366
|
+
icon: React.ComponentType<{ size?: number; className?: string }>;
|
|
367
|
+
href?: string;
|
|
368
|
+
className?: string;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
export const SocialLink: React.FC<SocialLinkProps>;
|
|
372
|
+
export const SocialLinks: React.FC<{ className?: string }>;
|
|
373
|
+
|
|
374
|
+
// Navbar
|
|
375
|
+
export interface NavbarProps {
|
|
376
|
+
scrolled?: boolean;
|
|
377
|
+
children: React.ReactNode;
|
|
378
|
+
className?: string;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
export const Navbar: React.FC<NavbarProps>;
|
|
382
|
+
|
|
383
|
+
export interface LogoProps {
|
|
384
|
+
name?: string;
|
|
385
|
+
subtitle?: string;
|
|
386
|
+
className?: string;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
export const Logo: React.FC<LogoProps>;
|
|
390
|
+
|
|
391
|
+
// Footer
|
|
392
|
+
export interface FooterLinkProps {
|
|
393
|
+
children: React.ReactNode;
|
|
394
|
+
href?: string;
|
|
395
|
+
className?: string;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export const FooterLink: React.FC<FooterLinkProps>;
|
|
399
|
+
|
|
400
|
+
export interface FooterSectionProps {
|
|
401
|
+
title: string;
|
|
402
|
+
links?: string[];
|
|
403
|
+
className?: string;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export const FooterSection: React.FC<FooterSectionProps>;
|
|
407
|
+
|
|
408
|
+
// Modal
|
|
409
|
+
export interface ModalProps {
|
|
410
|
+
isOpen: boolean;
|
|
411
|
+
onClose: () => void;
|
|
412
|
+
title?: string;
|
|
413
|
+
children: React.ReactNode;
|
|
414
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
415
|
+
showClose?: boolean;
|
|
416
|
+
className?: string;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
export const Modal: React.FC<ModalProps>;
|
|
420
|
+
export const Dialog: React.FC<ModalProps>;
|
|
421
|
+
|
|
422
|
+
export interface ConfirmDialogProps {
|
|
423
|
+
isOpen: boolean;
|
|
424
|
+
onClose: () => void;
|
|
425
|
+
onConfirm: () => void;
|
|
426
|
+
title?: string;
|
|
427
|
+
message?: string;
|
|
428
|
+
confirmText?: string;
|
|
429
|
+
cancelText?: string;
|
|
430
|
+
variant?: 'danger' | 'primary';
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
export const ConfirmDialog: React.FC<ConfirmDialogProps>;
|
|
434
|
+
|
|
435
|
+
// Dropdown
|
|
436
|
+
export interface DropdownProps {
|
|
437
|
+
trigger: React.ReactNode;
|
|
438
|
+
children: React.ReactNode;
|
|
439
|
+
align?: 'left' | 'right' | 'center';
|
|
440
|
+
className?: string;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
export const Dropdown: React.FC<DropdownProps>;
|
|
444
|
+
|
|
445
|
+
export interface DropdownItemProps {
|
|
446
|
+
children: React.ReactNode;
|
|
447
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
448
|
+
onClick?: () => void;
|
|
449
|
+
danger?: boolean;
|
|
450
|
+
className?: string;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export const DropdownItem: React.FC<DropdownItemProps>;
|
|
454
|
+
export const DropdownDivider: React.FC<{ className?: string }>;
|
|
455
|
+
|
|
456
|
+
// Tooltip
|
|
457
|
+
export interface TooltipProps {
|
|
458
|
+
children: React.ReactNode;
|
|
459
|
+
content: string;
|
|
460
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
461
|
+
className?: string;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
export const Tooltip: React.FC<TooltipProps>;
|
|
465
|
+
|
|
466
|
+
// Toast
|
|
467
|
+
export interface ToastProps {
|
|
468
|
+
title?: string;
|
|
469
|
+
message?: string;
|
|
470
|
+
variant?: 'default' | 'success' | 'error' | 'warning' | 'info';
|
|
471
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
472
|
+
onClose: () => void;
|
|
473
|
+
className?: string;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
export const Toast: React.FC<ToastProps>;
|
|
477
|
+
|
|
478
|
+
export interface ToastProviderProps {
|
|
479
|
+
children: React.ReactNode;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
export const ToastProvider: React.FC<ToastProviderProps>;
|
|
483
|
+
|
|
484
|
+
export interface UseToastReturn {
|
|
485
|
+
addToast: (toast: Omit<ToastProps, 'onClose'>) => void;
|
|
486
|
+
removeToast: (id: number) => void;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export function useToast(): UseToastReturn;
|
|
490
|
+
|
|
491
|
+
// Loaders
|
|
492
|
+
export interface SkeletonProps {
|
|
493
|
+
width?: string | number;
|
|
494
|
+
height?: string | number;
|
|
495
|
+
variant?: 'text' | 'circle' | 'card';
|
|
496
|
+
className?: string;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
export const Skeleton: React.FC<SkeletonProps>;
|
|
500
|
+
export const SkeletonText: React.FC<{ lines?: number; className?: string }>;
|
|
501
|
+
export const SkeletonCard: React.FC<{ className?: string }>;
|
|
502
|
+
|
|
503
|
+
export interface LoaderProps {
|
|
504
|
+
size?: 'sm' | 'md' | 'lg';
|
|
505
|
+
className?: string;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
export const Loader: React.FC<LoaderProps>;
|
|
509
|
+
export const Spinner: React.FC<LoaderProps>;
|
|
510
|
+
|
|
511
|
+
// Empty State
|
|
512
|
+
export interface EmptyStateProps {
|
|
513
|
+
icon?: React.ComponentType<{ size?: number; className?: string }>;
|
|
514
|
+
title?: string;
|
|
515
|
+
description?: string;
|
|
516
|
+
action?: React.ReactNode;
|
|
517
|
+
className?: string;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
export const EmptyState: React.FC<EmptyStateProps>;
|
|
521
|
+
|
|
522
|
+
// Specialized Cards
|
|
523
|
+
export interface PricingCardProps {
|
|
524
|
+
title: string;
|
|
525
|
+
price: string;
|
|
526
|
+
period?: string;
|
|
527
|
+
features?: string[];
|
|
528
|
+
popular?: boolean;
|
|
529
|
+
buttonText?: string;
|
|
530
|
+
className?: string;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
export const PricingCard: React.FC<PricingCardProps>;
|
|
534
|
+
|
|
535
|
+
export interface TestimonialCardProps {
|
|
536
|
+
quote: string;
|
|
537
|
+
author: string;
|
|
538
|
+
role: string;
|
|
539
|
+
avatar?: string;
|
|
540
|
+
className?: string;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
export const TestimonialCard: React.FC<TestimonialCardProps>;
|
|
544
|
+
|
|
545
|
+
export interface FeatureCardProps {
|
|
546
|
+
icon: React.ComponentType<{ size?: number; className?: string }>;
|
|
547
|
+
title: string;
|
|
548
|
+
description: string;
|
|
549
|
+
className?: string;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
export const FeatureCard: React.FC<FeatureCardProps>;
|
|
553
|
+
|
|
554
|
+
// Utilities
|
|
555
|
+
export const Divider: React.FC<{ className?: string }>;
|
|
556
|
+
export const VerticalDivider: React.FC<{ className?: string }>;
|
|
557
|
+
export const Placeholder: React.FC<{ className?: string }>;
|
|
558
|
+
export const Blur: React.FC<{ children: React.ReactNode; className?: string }>;
|
|
559
|
+
export const Fade: React.FC<{ children: React.ReactNode; className?: string }>;
|
|
560
|
+
export const FadeIn: React.FC<{ children: React.ReactNode; delay?: number; className?: string }>;
|
|
561
|
+
export const SlideIn: React.FC<{ children: React.ReactNode; direction?: 'up' | 'down' | 'left' | 'right'; delay?: number; className?: string }>;
|
|
562
|
+
export const ScaleIn: React.FC<{ children: React.ReactNode; delay?: number; className?: string }>;
|
|
563
|
+
|
|
564
|
+
// Layout
|
|
565
|
+
export interface GridProps {
|
|
566
|
+
children: React.ReactNode;
|
|
567
|
+
cols?: number;
|
|
568
|
+
gap?: number;
|
|
569
|
+
className?: string;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
export const Grid: React.FC<GridProps>;
|
|
573
|
+
|
|
574
|
+
export interface StackProps {
|
|
575
|
+
children: React.ReactNode;
|
|
576
|
+
direction?: 'vertical' | 'horizontal';
|
|
577
|
+
gap?: number;
|
|
578
|
+
className?: string;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
export const Stack: React.FC<StackProps>;
|
|
582
|
+
export const Center: React.FC<{ children: React.ReactNode; className?: string }>;
|
|
583
|
+
export const Between: React.FC<{ children: React.ReactNode; className?: string }>;
|
|
584
|
+
|
|
585
|
+
// Icons
|
|
586
|
+
export const Icons: Record<string, React.ComponentType<{ size?: number; className?: string }>>;
|
|
587
|
+
|
|
588
|
+
export default {
|
|
589
|
+
VanguardButton,
|
|
590
|
+
IconButton,
|
|
591
|
+
VanguardCard,
|
|
592
|
+
StatCard,
|
|
593
|
+
StatusBadge,
|
|
594
|
+
Badge,
|
|
595
|
+
Input,
|
|
596
|
+
SearchInput,
|
|
597
|
+
Textarea,
|
|
598
|
+
Select,
|
|
599
|
+
Toggle,
|
|
600
|
+
Switch,
|
|
601
|
+
Checkbox,
|
|
602
|
+
RadioGroup,
|
|
603
|
+
Slider,
|
|
604
|
+
ProgressBar,
|
|
605
|
+
CircularProgress,
|
|
606
|
+
SidebarItem,
|
|
607
|
+
NavTab,
|
|
608
|
+
Tabs,
|
|
609
|
+
TabContent,
|
|
610
|
+
Accordion,
|
|
611
|
+
ProjectRow,
|
|
612
|
+
AlertItem,
|
|
613
|
+
Table,
|
|
614
|
+
Pagination,
|
|
615
|
+
WorkspaceSelector,
|
|
616
|
+
Avatar,
|
|
617
|
+
UpgradeCard,
|
|
618
|
+
BarChart,
|
|
619
|
+
BackgroundDecor,
|
|
620
|
+
GlassPanel,
|
|
621
|
+
Heading,
|
|
622
|
+
Text,
|
|
623
|
+
Label,
|
|
624
|
+
FormGroup,
|
|
625
|
+
SocialLink,
|
|
626
|
+
SocialLinks,
|
|
627
|
+
Navbar,
|
|
628
|
+
Logo,
|
|
629
|
+
FooterLink,
|
|
630
|
+
FooterSection,
|
|
631
|
+
Modal,
|
|
632
|
+
Dialog,
|
|
633
|
+
ConfirmDialog,
|
|
634
|
+
Dropdown,
|
|
635
|
+
DropdownItem,
|
|
636
|
+
DropdownDivider,
|
|
637
|
+
Tooltip,
|
|
638
|
+
Toast,
|
|
639
|
+
ToastProvider,
|
|
640
|
+
useToast,
|
|
641
|
+
Skeleton,
|
|
642
|
+
SkeletonText,
|
|
643
|
+
SkeletonCard,
|
|
644
|
+
Loader,
|
|
645
|
+
Spinner,
|
|
646
|
+
EmptyState,
|
|
647
|
+
PricingCard,
|
|
648
|
+
TestimonialCard,
|
|
649
|
+
FeatureCard,
|
|
650
|
+
Divider,
|
|
651
|
+
VerticalDivider,
|
|
652
|
+
Placeholder,
|
|
653
|
+
Blur,
|
|
654
|
+
Fade,
|
|
655
|
+
FadeIn,
|
|
656
|
+
SlideIn,
|
|
657
|
+
ScaleIn,
|
|
658
|
+
Grid,
|
|
659
|
+
Stack,
|
|
660
|
+
Center,
|
|
661
|
+
Between,
|
|
662
|
+
Icons,
|
|
663
|
+
theme
|
|
664
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vanguard-uikit",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A modern dark-themed UI component library based on the Vanguard Design System",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.esm.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"keywords": [
|
|
12
|
+
"react",
|
|
13
|
+
"ui-kit",
|
|
14
|
+
"components",
|
|
15
|
+
"vanguard",
|
|
16
|
+
"dark-theme",
|
|
17
|
+
"glassmorphism",
|
|
18
|
+
"tailwind"
|
|
19
|
+
],
|
|
20
|
+
"author": "Dream-Pixels-Forge",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"react": ">=16.8.0",
|
|
24
|
+
"react-dom": ">=16.8.0",
|
|
25
|
+
"lucide-react": ">=0.200.0"
|
|
26
|
+
}
|
|
27
|
+
}
|