galaxy-design 0.2.69 → 0.2.71

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.
@@ -2,442 +2,972 @@
2
2
  "components": {
3
3
  "button": {
4
4
  "name": "Button",
5
- "selector": "gButton",
6
5
  "type": "form",
7
- "description": "Versatile button with 6 status variants and 5 sizes",
8
- "files": ["button/button.component.ts"],
9
- "dependencies": [],
10
- "peerDependencies": ["lucide-angular"],
11
- "exports": ["ButtonDirective"]
6
+ "description": "Displays a button or a component that looks like a button",
7
+ "category": "form",
8
+ "frameworks": [
9
+ "react",
10
+ "nextjs",
11
+ "vue",
12
+ "nuxtjs",
13
+ "angular",
14
+ "react-native",
15
+ "flutter"
16
+ ]
12
17
  },
13
18
  "input": {
14
19
  "name": "Input",
15
- "selector": "g-input",
16
20
  "type": "form",
17
- "description": "Text input with label, hints, and error messages",
18
- "files": ["input/input.component.ts"],
19
- "dependencies": [],
20
- "peerDependencies": ["lucide-angular"],
21
- "exports": ["InputComponent"]
21
+ "description": "Displays a form input field or a component that looks like an input field",
22
+ "category": "form",
23
+ "frameworks": [
24
+ "react",
25
+ "nextjs",
26
+ "vue",
27
+ "nuxtjs",
28
+ "angular",
29
+ "react-native",
30
+ "flutter"
31
+ ]
22
32
  },
23
- "checkbox": {
24
- "name": "Checkbox",
25
- "selector": "g-checkbox",
33
+ "label": {
34
+ "name": "Label",
26
35
  "type": "form",
27
- "description": "Checkbox with indeterminate state support",
28
- "files": ["checkbox/checkbox.component.ts"],
29
- "dependencies": [],
30
- "peerDependencies": ["lucide-angular"],
31
- "exports": ["CheckboxComponent"]
36
+ "description": "Renders an accessible label associated with controls",
37
+ "category": "form",
38
+ "frameworks": [
39
+ "react",
40
+ "nextjs",
41
+ "vue",
42
+ "nuxtjs",
43
+ "angular",
44
+ "react-native",
45
+ "flutter"
46
+ ]
32
47
  },
33
48
  "select": {
34
49
  "name": "Select",
35
- "selector": "g-select",
36
50
  "type": "form",
37
- "description": "Custom dropdown with search functionality",
38
- "files": ["select/select.component.ts"],
39
- "dependencies": [],
40
- "peerDependencies": ["lucide-angular"],
41
- "exports": ["SelectComponent", "OptionComponent"]
51
+ "description": "Displays a list of options for the user to pick from triggered by a button",
52
+ "category": "form",
53
+ "frameworks": [
54
+ "react",
55
+ "nextjs",
56
+ "vue",
57
+ "nuxtjs",
58
+ "angular",
59
+ "react-native",
60
+ "flutter"
61
+ ]
42
62
  },
43
- "calendar": {
44
- "name": "Calendar",
45
- "selector": "g-calendar",
63
+ "checkbox": {
64
+ "name": "Checkbox",
46
65
  "type": "form",
47
- "description": "Full-featured date picker",
48
- "files": ["calendar/calendar.component.ts"],
49
- "dependencies": [],
50
- "peerDependencies": [],
51
- "exports": ["CalendarComponent"]
52
- },
53
- "radio": {
54
- "name": "Radio",
55
- "selector": "g-radio",
66
+ "description": "A control that allows the user to toggle between checked and not checked",
67
+ "category": "form",
68
+ "frameworks": [
69
+ "react",
70
+ "nextjs",
71
+ "vue",
72
+ "nuxtjs",
73
+ "angular",
74
+ "react-native",
75
+ "flutter"
76
+ ]
77
+ },
78
+ "radio-group": {
79
+ "name": "Radio Group",
56
80
  "type": "form",
57
- "description": "Radio button group with single/multiple selection",
58
- "files": ["radio/radio.component.ts"],
59
- "dependencies": [],
60
- "peerDependencies": [],
61
- "exports": ["RadioComponent"]
81
+ "description": "A set of checkable buttons where only one can be selected at a time",
82
+ "category": "form",
83
+ "frameworks": [
84
+ "react",
85
+ "nextjs",
86
+ "vue",
87
+ "nuxtjs",
88
+ "angular",
89
+ "react-native",
90
+ "flutter"
91
+ ]
62
92
  },
63
93
  "switch": {
64
94
  "name": "Switch",
65
- "selector": "g-switch",
66
95
  "type": "form",
67
- "description": "Toggle switch with smooth animation",
68
- "files": ["switch/switch.component.ts"],
69
- "dependencies": [],
70
- "peerDependencies": [],
71
- "exports": ["SwitchComponent"]
96
+ "description": "A control that allows the user to toggle between checked and not checked",
97
+ "category": "form",
98
+ "frameworks": [
99
+ "react",
100
+ "nextjs",
101
+ "vue",
102
+ "nuxtjs",
103
+ "angular",
104
+ "react-native",
105
+ "flutter"
106
+ ]
72
107
  },
73
108
  "slider": {
74
109
  "name": "Slider",
75
- "selector": "g-slider",
76
110
  "type": "form",
77
- "description": "Range slider with min/max and step support",
78
- "files": ["slider/slider.component.ts"],
79
- "dependencies": [],
80
- "peerDependencies": [],
81
- "exports": ["SliderComponent"]
111
+ "description": "An input where the user selects a value from within a given range",
112
+ "category": "form",
113
+ "frameworks": [
114
+ "react",
115
+ "nextjs",
116
+ "vue",
117
+ "nuxtjs",
118
+ "angular",
119
+ "react-native",
120
+ "flutter"
121
+ ]
122
+ },
123
+ "textarea": {
124
+ "name": "Textarea",
125
+ "type": "form",
126
+ "description": "Displays a form textarea or a component that looks like a textarea",
127
+ "category": "form",
128
+ "frameworks": [
129
+ "react",
130
+ "nextjs",
131
+ "vue",
132
+ "nuxtjs",
133
+ "angular",
134
+ "react-native",
135
+ "flutter"
136
+ ]
137
+ },
138
+ "form": {
139
+ "name": "Form",
140
+ "type": "form",
141
+ "description": "Building forms with proper validation and accessibility",
142
+ "category": "form",
143
+ "frameworks": [
144
+ "react",
145
+ "nextjs",
146
+ "vue",
147
+ "nuxtjs",
148
+ "angular"
149
+ ]
82
150
  },
83
151
  "rate": {
84
152
  "name": "Rate",
85
- "selector": "g-rate",
86
153
  "type": "form",
87
154
  "description": "Star rating with half star support",
88
- "files": ["rate/rate.component.ts"],
89
- "dependencies": [],
90
- "peerDependencies": ["lucide-angular"],
91
- "exports": ["RateComponent"]
155
+ "category": "form",
156
+ "frameworks": []
92
157
  },
93
158
  "button-group": {
94
159
  "name": "Button Group",
95
- "selector": "g-button-group",
96
160
  "type": "form",
97
161
  "description": "Button group with single/multiple selection",
98
- "files": ["button-group/button-group.component.ts"],
99
- "dependencies": [],
100
- "peerDependencies": [],
101
- "exports": ["ButtonGroupComponent", "ButtonGroupItemComponent"]
162
+ "category": "form",
163
+ "frameworks": []
102
164
  },
103
165
  "autocomplete": {
104
166
  "name": "Autocomplete",
105
- "selector": "g-autocomplete",
106
167
  "type": "form",
107
168
  "description": "Autocomplete input with search and suggestions",
108
- "files": ["autocomplete/autocomplete.component.ts"],
109
- "dependencies": [],
110
- "peerDependencies": ["lucide-angular"],
111
- "exports": ["AutocompleteComponent"]
169
+ "category": "form",
170
+ "frameworks": []
171
+ },
172
+ "calendar": {
173
+ "name": "Calendar",
174
+ "type": "form",
175
+ "description": "Full-featured date picker",
176
+ "category": "form",
177
+ "frameworks": [
178
+ "react",
179
+ "nextjs",
180
+ "vue",
181
+ "nuxtjs",
182
+ "angular"
183
+ ]
112
184
  },
113
185
  "calendar-range": {
114
186
  "name": "Calendar Range",
115
- "selector": "g-calendar-range",
116
187
  "type": "form",
117
188
  "description": "Date range picker with start and end dates",
118
- "files": ["calendar-range/calendar-range.component.ts"],
119
- "dependencies": [],
120
- "peerDependencies": [],
121
- "exports": ["CalendarRangeComponent"]
189
+ "category": "form",
190
+ "frameworks": [
191
+ "react",
192
+ "nextjs",
193
+ "vue",
194
+ "nuxtjs",
195
+ "angular"
196
+ ]
197
+ },
198
+ "date-picker": {
199
+ "name": "Date Picker",
200
+ "type": "form",
201
+ "description": "A date picker component with popover and calendar",
202
+ "category": "form",
203
+ "frameworks": [
204
+ "react",
205
+ "nextjs",
206
+ "react-native",
207
+ "flutter"
208
+ ]
209
+ },
210
+ "date-range-picker": {
211
+ "name": "Date Range Picker",
212
+ "type": "form",
213
+ "description": "A date range picker component with popover and calendar range",
214
+ "category": "form",
215
+ "frameworks": [
216
+ "react",
217
+ "nextjs"
218
+ ]
219
+ },
220
+ "time-picker": {
221
+ "name": "Time Picker",
222
+ "type": "form",
223
+ "description": "A time picker component with popover and select inputs for hours and minutes",
224
+ "category": "form",
225
+ "frameworks": [
226
+ "react",
227
+ "nextjs"
228
+ ]
229
+ },
230
+ "date-time-picker": {
231
+ "name": "Date Time Picker",
232
+ "type": "form",
233
+ "description": "A combined date and time picker component",
234
+ "category": "form",
235
+ "frameworks": [
236
+ "react",
237
+ "nextjs"
238
+ ]
239
+ },
240
+ "tags-input": {
241
+ "name": "Tags Input",
242
+ "type": "form",
243
+ "description": "Input field for entering multiple tags or values",
244
+ "category": "form",
245
+ "frameworks": [
246
+ "react",
247
+ "nextjs",
248
+ "vue",
249
+ "nuxtjs",
250
+ "angular"
251
+ ]
122
252
  },
123
253
  "card": {
124
254
  "name": "Card",
125
- "selector": "g-card",
126
255
  "type": "layout",
127
- "description": "Container with header, body, and footer sections",
128
- "files": ["card/card.component.ts"],
129
- "dependencies": [],
130
- "peerDependencies": [],
131
- "exports": [
132
- "CardComponent",
133
- "CardHeaderComponent",
134
- "CardBodyComponent",
135
- "CardFooterComponent"
256
+ "description": "Displays a card with header, content, and footer",
257
+ "category": "layout",
258
+ "frameworks": [
259
+ "react",
260
+ "nextjs",
261
+ "vue",
262
+ "nuxtjs",
263
+ "angular",
264
+ "react-native",
265
+ "flutter"
266
+ ]
267
+ },
268
+ "separator": {
269
+ "name": "Separator",
270
+ "type": "layout",
271
+ "description": "Visually or semantically separates content",
272
+ "category": "layout",
273
+ "frameworks": [
274
+ "react",
275
+ "nextjs",
276
+ "vue",
277
+ "nuxtjs",
278
+ "angular",
279
+ "react-native",
280
+ "flutter"
136
281
  ]
137
282
  },
138
283
  "accordion": {
139
284
  "name": "Accordion",
140
- "selector": "g-accordion",
141
285
  "type": "layout",
142
- "description": "Collapsible sections with expand/collapse",
143
- "files": ["accordion/accordion.component.ts"],
144
- "dependencies": [],
145
- "peerDependencies": ["lucide-angular"],
146
- "exports": ["AccordionComponent", "AccordionItemComponent"]
286
+ "description": "A vertically stacked set of interactive headings that each reveal a section of content",
287
+ "category": "layout",
288
+ "frameworks": [
289
+ "react",
290
+ "nextjs",
291
+ "vue",
292
+ "nuxtjs",
293
+ "angular",
294
+ "react-native",
295
+ "flutter"
296
+ ]
147
297
  },
148
- "separator": {
149
- "name": "Separator",
150
- "selector": "g-divider",
298
+ "tabs": {
299
+ "name": "Tabs",
151
300
  "type": "layout",
152
- "description": "Horizontal or vertical separator",
153
- "files": ["divider/divider.component.ts"],
154
- "dependencies": [],
155
- "peerDependencies": [],
156
- "exports": ["DividerComponent"]
157
- },
158
- "splitter": {
159
- "name": "Splitter",
160
- "selector": "g-splitter",
301
+ "description": "A set of layered sections of content known as tab panels that are displayed one at a time",
302
+ "category": "layout",
303
+ "frameworks": [
304
+ "react",
305
+ "nextjs",
306
+ "vue",
307
+ "nuxtjs",
308
+ "angular",
309
+ "react-native",
310
+ "flutter"
311
+ ]
312
+ },
313
+ "dialog": {
314
+ "name": "Dialog",
161
315
  "type": "layout",
162
- "description": "Resizable split panes with drag handles",
163
- "files": ["splitter/splitter.component.ts"],
164
- "dependencies": [],
165
- "peerDependencies": ["lucide-angular"],
166
- "exports": ["SplitterComponent", "SplitterPanelComponent"]
316
+ "description": "A window overlaid on either the primary window or another dialog window",
317
+ "category": "layout",
318
+ "frameworks": [
319
+ "react",
320
+ "nextjs",
321
+ "vue",
322
+ "nuxtjs",
323
+ "angular",
324
+ "react-native",
325
+ "flutter"
326
+ ]
167
327
  },
168
- "menubar": {
169
- "name": "Menubar",
170
- "selector": "g-menu",
328
+ "collapsible": {
329
+ "name": "Collapsible",
330
+ "type": "layout",
331
+ "description": "An interactive component which expands/collapses a panel",
332
+ "category": "layout",
333
+ "frameworks": [
334
+ "react",
335
+ "nextjs",
336
+ "vue",
337
+ "nuxtjs",
338
+ "angular",
339
+ "react-native",
340
+ "flutter"
341
+ ]
342
+ },
343
+ "aspect-ratio": {
344
+ "name": "Aspect Ratio",
345
+ "type": "layout",
346
+ "description": "Displays content within a desired aspect ratio",
347
+ "category": "layout",
348
+ "frameworks": [
349
+ "react",
350
+ "nextjs",
351
+ "vue",
352
+ "nuxtjs",
353
+ "angular",
354
+ "react-native",
355
+ "flutter"
356
+ ]
357
+ },
358
+ "scroll-area": {
359
+ "name": "Scroll Area",
360
+ "type": "layout",
361
+ "description": "Augments native scroll functionality for custom, cross-browser styling",
362
+ "category": "layout",
363
+ "frameworks": [
364
+ "react",
365
+ "nextjs",
366
+ "vue",
367
+ "nuxtjs",
368
+ "angular"
369
+ ]
370
+ },
371
+ "resizable": {
372
+ "name": "Resizable",
373
+ "type": "layout",
374
+ "description": "Accessible resizable panel groups and layouts with keyboard support",
375
+ "category": "layout",
376
+ "frameworks": [
377
+ "react",
378
+ "nextjs",
379
+ "vue",
380
+ "nuxtjs",
381
+ "angular"
382
+ ]
383
+ },
384
+ "sheet": {
385
+ "name": "Sheet",
386
+ "type": "layout",
387
+ "description": "Slide-over panel that slides in from the edge of the screen",
388
+ "category": "layout",
389
+ "frameworks": [
390
+ "react",
391
+ "nextjs",
392
+ "vue",
393
+ "nuxtjs",
394
+ "angular",
395
+ "react-native",
396
+ "flutter"
397
+ ]
398
+ },
399
+ "toolbar": {
400
+ "name": "Toolbar",
401
+ "type": "layout",
402
+ "description": "A container for grouping a set of controls",
403
+ "category": "layout",
404
+ "frameworks": [
405
+ "react",
406
+ "nextjs",
407
+ "vue",
408
+ "nuxtjs",
409
+ "angular"
410
+ ]
411
+ },
412
+ "alert-dialog": {
413
+ "name": "Alert Dialog",
414
+ "type": "feedback",
415
+ "description": "A modal dialog that interrupts the user with important content and expects a response",
416
+ "category": "feedback",
417
+ "frameworks": [
418
+ "react",
419
+ "nextjs",
420
+ "vue",
421
+ "nuxtjs",
422
+ "angular",
423
+ "react-native",
424
+ "flutter"
425
+ ]
426
+ },
427
+ "alert": {
428
+ "name": "Alert",
429
+ "type": "feedback",
430
+ "description": "Displays a callout for user attention",
431
+ "category": "feedback",
432
+ "frameworks": [
433
+ "react",
434
+ "nextjs",
435
+ "vue",
436
+ "nuxtjs",
437
+ "angular",
438
+ "react-native",
439
+ "flutter"
440
+ ]
441
+ },
442
+ "progress": {
443
+ "name": "Progress",
444
+ "type": "feedback",
445
+ "description": "Displays an indicator showing the completion progress of a task",
446
+ "category": "feedback",
447
+ "frameworks": [
448
+ "react",
449
+ "nextjs",
450
+ "vue",
451
+ "nuxtjs",
452
+ "angular",
453
+ "react-native",
454
+ "flutter"
455
+ ]
456
+ },
457
+ "avatar": {
458
+ "name": "Avatar",
459
+ "type": "data-display",
460
+ "description": "An image element with a fallback for representing the user",
461
+ "category": "data-display",
462
+ "frameworks": [
463
+ "react",
464
+ "nextjs",
465
+ "vue",
466
+ "nuxtjs",
467
+ "angular",
468
+ "react-native",
469
+ "flutter"
470
+ ]
471
+ },
472
+ "hover-card": {
473
+ "name": "Hover Card",
474
+ "type": "data-display",
475
+ "description": "For sighted users to preview content available behind a link",
476
+ "category": "data-display",
477
+ "frameworks": [
478
+ "react",
479
+ "nextjs",
480
+ "vue",
481
+ "nuxtjs",
482
+ "angular",
483
+ "react-native",
484
+ "flutter"
485
+ ]
486
+ },
487
+ "dropdown-menu": {
488
+ "name": "Dropdown Menu",
171
489
  "type": "navigation",
172
- "description": "Sidebar navigation with icons and badges",
173
- "files": ["menu/menu.component.ts"],
174
- "dependencies": [],
175
- "peerDependencies": ["lucide-angular"],
176
- "exports": ["MenuComponent", "MenuItemComponent", "MenuGroupComponent"]
490
+ "description": "Displays a menu to the user triggered by a button",
491
+ "category": "navigation",
492
+ "frameworks": [
493
+ "react",
494
+ "nextjs",
495
+ "vue",
496
+ "nuxtjs",
497
+ "angular",
498
+ "react-native",
499
+ "flutter"
500
+ ]
501
+ },
502
+ "navigation-menu": {
503
+ "name": "Navigation Menu",
504
+ "type": "navigation",
505
+ "description": "A collection of links for navigating websites",
506
+ "category": "navigation",
507
+ "frameworks": [
508
+ "react",
509
+ "nextjs",
510
+ "vue",
511
+ "nuxtjs",
512
+ "angular",
513
+ "react-native",
514
+ "flutter"
515
+ ]
177
516
  },
178
517
  "breadcrumb": {
179
518
  "name": "Breadcrumb",
180
- "selector": "g-breadcrumb",
181
519
  "type": "navigation",
182
- "description": "Page location navigation trail",
183
- "files": ["breadcrumb/breadcrumb.component.ts"],
184
- "dependencies": [],
185
- "peerDependencies": ["lucide-angular"],
186
- "exports": ["BreadcrumbComponent", "BreadcrumbItemComponent"]
520
+ "description": "Displays the path to the current resource using a hierarchy of links",
521
+ "category": "navigation",
522
+ "frameworks": [
523
+ "react",
524
+ "nextjs",
525
+ "vue",
526
+ "nuxtjs",
527
+ "angular"
528
+ ]
187
529
  },
188
- "tabs": {
189
- "name": "Tabs",
190
- "selector": "g-tabs",
530
+ "menubar": {
531
+ "name": "Menubar",
191
532
  "type": "navigation",
192
- "description": "Tabbed content organization",
193
- "files": ["tabs/tabs.component.ts"],
194
- "dependencies": [],
195
- "peerDependencies": ["lucide-angular"],
196
- "exports": ["TabsComponent", "TabComponent", "TabPanelComponent"]
533
+ "description": "A visually persistent menu common in desktop applications",
534
+ "category": "navigation",
535
+ "frameworks": [
536
+ "react",
537
+ "nextjs",
538
+ "vue",
539
+ "nuxtjs",
540
+ "angular",
541
+ "react-native",
542
+ "flutter"
543
+ ]
197
544
  },
198
- "dropdown-menu": {
199
- "name": "Dropdown Menu",
200
- "selector": "g-dropdown",
545
+ "context-menu": {
546
+ "name": "Context Menu",
547
+ "type": "navigation",
548
+ "description": "Displays a menu to the user triggered by right-click or long-press",
549
+ "category": "navigation",
550
+ "frameworks": [
551
+ "react",
552
+ "nextjs",
553
+ "vue",
554
+ "nuxtjs",
555
+ "angular",
556
+ "react-native",
557
+ "flutter"
558
+ ]
559
+ },
560
+ "popover": {
561
+ "name": "Popover",
562
+ "type": "navigation",
563
+ "description": "Displays rich content in a portal, triggered by a button",
564
+ "category": "navigation",
565
+ "frameworks": [
566
+ "react",
567
+ "nextjs",
568
+ "vue",
569
+ "nuxtjs",
570
+ "angular",
571
+ "react-native",
572
+ "flutter"
573
+ ]
574
+ },
575
+ "tooltip": {
576
+ "name": "Tooltip",
577
+ "type": "navigation",
578
+ "description": "A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it",
579
+ "category": "navigation",
580
+ "frameworks": [
581
+ "react",
582
+ "nextjs",
583
+ "vue",
584
+ "nuxtjs",
585
+ "angular",
586
+ "react-native",
587
+ "flutter"
588
+ ]
589
+ },
590
+ "pagination": {
591
+ "name": "Pagination",
201
592
  "type": "navigation",
202
- "description": "Action menus and context menus",
203
- "files": ["dropdown/dropdown.component.ts"],
204
- "dependencies": [],
205
- "peerDependencies": ["lucide-angular"],
206
- "exports": [
207
- "DropdownComponent",
208
- "DropdownMenuComponent",
209
- "DropdownItemComponent"
593
+ "description": "Page navigation with previous, next, and page numbers",
594
+ "category": "navigation",
595
+ "frameworks": [
596
+ "react",
597
+ "nextjs",
598
+ "vue",
599
+ "nuxtjs",
600
+ "angular",
601
+ "react-native",
602
+ "flutter"
603
+ ]
604
+ },
605
+ "command": {
606
+ "name": "Command",
607
+ "type": "navigation",
608
+ "description": "Command palette for keyboard-first navigation and search",
609
+ "category": "navigation",
610
+ "frameworks": [
611
+ "react",
612
+ "nextjs",
613
+ "vue",
614
+ "nuxtjs",
615
+ "angular"
616
+ ]
617
+ },
618
+ "line-chart": {
619
+ "name": "LineChart",
620
+ "type": "chart",
621
+ "description": "Display data as a responsive line chart with smooth curves and customizable styling",
622
+ "category": "charts",
623
+ "frameworks": [
624
+ "react",
625
+ "nextjs",
626
+ "vue",
627
+ "nuxtjs",
628
+ "angular",
629
+ "react-native",
630
+ "flutter"
631
+ ]
632
+ },
633
+ "bar-chart": {
634
+ "name": "BarChart",
635
+ "type": "chart",
636
+ "description": "Display data as vertical or horizontal bars with support for stacked and grouped layouts",
637
+ "category": "charts",
638
+ "frameworks": [
639
+ "react",
640
+ "nextjs",
641
+ "vue",
642
+ "nuxtjs",
643
+ "angular",
644
+ "react-native",
645
+ "flutter"
646
+ ]
647
+ },
648
+ "pie-chart": {
649
+ "name": "PieChart",
650
+ "type": "chart",
651
+ "description": "Display proportional data as a pie or donut chart with customizable labels and legend",
652
+ "category": "charts",
653
+ "frameworks": [
654
+ "react",
655
+ "nextjs",
656
+ "vue",
657
+ "nuxtjs",
658
+ "angular",
659
+ "react-native",
660
+ "flutter"
661
+ ]
662
+ },
663
+ "donut-chart": {
664
+ "name": "DonutChart",
665
+ "type": "chart",
666
+ "description": "Display proportional data as a donut chart with a hollow center",
667
+ "category": "charts",
668
+ "frameworks": [
669
+ "react",
670
+ "nextjs",
671
+ "vue",
672
+ "nuxtjs",
673
+ "angular",
674
+ "react-native",
675
+ "flutter"
676
+ ]
677
+ },
678
+ "area-chart": {
679
+ "name": "AreaChart",
680
+ "type": "chart",
681
+ "description": "Visualize cumulative totals over time with filled areas and gradient support",
682
+ "category": "charts",
683
+ "frameworks": [
684
+ "react",
685
+ "nextjs",
686
+ "vue",
687
+ "nuxtjs",
688
+ "angular",
689
+ "react-native",
690
+ "flutter"
691
+ ]
692
+ },
693
+ "radar-chart": {
694
+ "name": "RadarChart",
695
+ "type": "chart",
696
+ "description": "Display multi-dimensional data comparison on a radial grid",
697
+ "category": "charts",
698
+ "frameworks": [
699
+ "react",
700
+ "nextjs",
701
+ "vue",
702
+ "nuxtjs",
703
+ "angular",
704
+ "react-native",
705
+ "flutter"
706
+ ]
707
+ },
708
+ "scatter-chart": {
709
+ "name": "ScatterChart",
710
+ "type": "chart",
711
+ "description": "Display distribution and correlation analysis with scatter plots",
712
+ "category": "charts",
713
+ "frameworks": [
714
+ "react",
715
+ "nextjs",
716
+ "vue",
717
+ "nuxtjs",
718
+ "angular",
719
+ "react-native",
720
+ "flutter"
721
+ ]
722
+ },
723
+ "mixed-chart": {
724
+ "name": "MixedChart",
725
+ "type": "chart",
726
+ "description": "Combine multiple chart types (line, bar, area) in a single visualization",
727
+ "category": "charts",
728
+ "frameworks": [
729
+ "react",
730
+ "nextjs",
731
+ "vue",
732
+ "nuxtjs",
733
+ "angular",
734
+ "react-native",
735
+ "flutter"
736
+ ]
737
+ },
738
+ "gauge-chart": {
739
+ "name": "GaugeChart",
740
+ "type": "chart",
741
+ "description": "Display data as a gauge chart with customizable ranges and styling",
742
+ "category": "charts",
743
+ "frameworks": [
744
+ "angular",
745
+ "react-native",
746
+ "flutter"
210
747
  ]
211
748
  },
212
749
  "sidebar": {
213
750
  "name": "Sidebar",
214
- "selector": "g-sidebar",
215
751
  "type": "navigation",
216
752
  "description": "Layout with collapsible sidebar",
217
- "files": ["sidebar/sidebar.component.ts"],
218
- "dependencies": [],
219
- "peerDependencies": ["lucide-angular"],
220
- "exports": [
221
- "SidebarComponent",
222
- "SidebarHeaderComponent",
223
- "SidebarContentComponent",
224
- "SidebarFooterComponent"
225
- ]
753
+ "category": "navigation",
754
+ "frameworks": []
226
755
  },
227
756
  "stepper": {
228
757
  "name": "Stepper",
229
- "selector": "g-stepper",
230
758
  "type": "navigation",
231
759
  "description": "Multi-step wizards and forms",
232
- "files": ["stepper/stepper.component.ts"],
233
- "dependencies": [],
234
- "peerDependencies": ["lucide-angular"],
235
- "exports": ["StepperComponent", "StepComponent"]
760
+ "category": "navigation",
761
+ "frameworks": []
236
762
  },
237
763
  "table": {
238
764
  "name": "Table",
239
- "selector": "g-table",
240
765
  "type": "data-display",
241
766
  "description": "Data table with sorting, filtering, and selection",
242
- "files": ["table/table.component.ts"],
243
- "dependencies": [],
244
- "peerDependencies": ["lucide-angular"],
245
- "exports": ["TableComponent"]
246
- },
247
- "pagination": {
248
- "name": "Pagination",
249
- "selector": "g-pagination",
250
- "type": "data-display",
251
- "description": "Pagination controls for data navigation",
252
- "files": ["pagination/pagination.component.ts"],
253
- "dependencies": [],
254
- "peerDependencies": ["lucide-angular"],
255
- "exports": ["PaginationComponent"]
767
+ "category": "data-display",
768
+ "frameworks": [
769
+ "react",
770
+ "nextjs",
771
+ "vue",
772
+ "nuxtjs",
773
+ "angular",
774
+ "react-native",
775
+ "flutter"
776
+ ]
256
777
  },
257
778
  "table-paginated": {
258
779
  "name": "Table Paginated",
259
- "selector": "g-table-paginated",
260
780
  "type": "data-display",
261
781
  "description": "Data table with built-in pagination",
262
- "files": ["table-paginated/table-paginated.component.ts"],
263
- "dependencies": ["table", "pagination"],
264
- "peerDependencies": ["lucide-angular"],
265
- "exports": ["TablePaginatedComponent"]
782
+ "category": "data-display",
783
+ "frameworks": []
266
784
  },
267
785
  "list": {
268
786
  "name": "List",
269
- "selector": "g-list",
270
787
  "type": "data-display",
271
788
  "description": "Versatile list component for displaying data",
272
- "files": ["list/list.component.ts"],
273
- "dependencies": [],
274
- "peerDependencies": [],
275
- "exports": ["ListComponent", "ListItemComponent"]
789
+ "category": "data-display",
790
+ "frameworks": []
276
791
  },
277
792
  "tree": {
278
793
  "name": "Tree",
279
- "selector": "g-tree",
280
794
  "type": "data-display",
281
795
  "description": "Hierarchical tree structure with expand/collapse",
282
- "files": ["tree/tree.component.ts"],
283
- "dependencies": [],
284
- "peerDependencies": ["lucide-angular"],
285
- "exports": ["TreeComponent"]
796
+ "category": "data-display",
797
+ "frameworks": []
286
798
  },
287
799
  "tag": {
288
800
  "name": "Tag",
289
- "selector": "g-tag",
290
801
  "type": "data-display",
291
802
  "description": "Tag component for labels and categorization",
292
- "files": ["tag/tag.component.ts"],
293
- "dependencies": [],
294
- "peerDependencies": ["lucide-angular"],
295
- "exports": ["TagComponent"]
803
+ "category": "data-display",
804
+ "frameworks": []
296
805
  },
297
806
  "timeline": {
298
807
  "name": "Timeline",
299
- "selector": "g-timeline",
300
808
  "type": "data-display",
301
809
  "description": "Timeline component for displaying chronological events",
302
- "files": ["timeline/timeline.component.ts"],
303
- "dependencies": [],
304
- "peerDependencies": ["lucide-angular"],
305
- "exports": ["TimelineComponent"]
306
- },
307
- "popover": {
308
- "name": "Popover",
309
- "selector": "g-popover",
310
- "type": "modal-overlay",
311
- "description": "Popover component for contextual information",
312
- "files": ["popover/popover.component.ts"],
313
- "dependencies": [],
314
- "peerDependencies": [],
315
- "exports": ["PopoverComponent"]
810
+ "category": "data-display",
811
+ "frameworks": []
316
812
  },
317
813
  "drawer": {
318
814
  "name": "Drawer",
319
- "selector": "g-drawer",
320
815
  "type": "modal-overlay",
321
816
  "description": "Drawer component with slide-in animation (shadcn style)",
322
- "files": ["drawer/drawer.component.ts"],
323
- "dependencies": [],
324
- "peerDependencies": ["lucide-angular"],
325
- "exports": ["DrawerComponent"]
817
+ "category": "modal-overlay",
818
+ "frameworks": []
326
819
  },
327
820
  "toast": {
328
821
  "name": "Toast",
329
- "selector": "g-toast",
330
- "type": "modal-overlay",
331
- "description": "Toast notification component with service (antd style)",
332
- "files": ["toast/toast.component.ts"],
333
- "dependencies": [],
334
- "peerDependencies": ["lucide-angular"],
335
- "exports": [
336
- "ToastComponent",
337
- "ToastService",
338
- "ToastItemComponent",
339
- "ToastContainerComponent"
822
+ "type": "feedback",
823
+ "description": "A succinct message that is displayed temporarily",
824
+ "category": "feedback",
825
+ "frameworks": [
826
+ "react",
827
+ "nextjs",
828
+ "vue",
829
+ "nuxtjs",
830
+ "angular"
340
831
  ]
341
832
  },
342
- "tooltip": {
343
- "name": "Tooltip",
344
- "selector": "g-tooltip",
345
- "type": "modal-overlay",
346
- "description": "Tooltip component for hover information (shadcn style)",
347
- "files": ["tooltip/tooltip.component.ts"],
348
- "dependencies": [],
349
- "peerDependencies": [],
350
- "exports": ["TooltipComponent"]
351
- },
352
- "progress": {
353
- "name": "Progress",
354
- "selector": "g-progress",
355
- "type": "modal-overlay",
356
- "description": "Progress bar and circle component (antd style)",
357
- "files": ["progress/progress.component.ts"],
358
- "dependencies": [],
359
- "peerDependencies": ["lucide-angular"],
360
- "exports": ["ProgressComponent"]
361
- },
362
833
  "skeleton": {
363
834
  "name": "Skeleton",
364
- "selector": "g-skeleton",
365
- "type": "modal-overlay",
366
- "description": "Skeleton loading placeholder component (antd style)",
367
- "files": ["skeleton/skeleton.component.ts"],
368
- "dependencies": [],
369
- "peerDependencies": [],
370
- "exports": ["SkeletonComponent"]
371
- },
372
- "popconfirm": {
373
- "name": "Popconfirm",
374
- "selector": "g-popconfirm",
375
- "type": "modal-overlay",
376
- "description": "Popconfirm component for confirmation dialogs (antd style)",
377
- "files": ["popconfirm/popconfirm.component.ts"],
378
- "dependencies": [],
379
- "peerDependencies": ["lucide-angular"],
380
- "exports": ["PopconfirmComponent"]
835
+ "type": "feedback",
836
+ "description": "Use to show a placeholder while content is loading",
837
+ "category": "feedback",
838
+ "frameworks": [
839
+ "react",
840
+ "nextjs",
841
+ "vue",
842
+ "nuxtjs",
843
+ "angular",
844
+ "react-native",
845
+ "flutter"
846
+ ]
381
847
  },
382
- "dialog": {
383
- "name": "Dialog",
384
- "selector": "g-dialog",
385
- "type": "modal-overlay",
386
- "description": "Modal dialog component",
387
- "files": ["dialog/dialog.component.ts"],
388
- "dependencies": [],
389
- "peerDependencies": ["lucide-angular"],
390
- "exports": ["DialogComponent"]
848
+ "empty": {
849
+ "name": "Empty",
850
+ "type": "feedback",
851
+ "description": "Displays an empty state placeholder",
852
+ "category": "feedback",
853
+ "frameworks": [
854
+ "react",
855
+ "nextjs",
856
+ "vue",
857
+ "nuxtjs",
858
+ "angular",
859
+ "react-native",
860
+ "flutter"
861
+ ]
391
862
  },
392
- "spinner": {
393
- "name": "Spinner",
394
- "selector": "g-spinner",
395
- "type": "modal-overlay",
396
- "description": "Loading spinner component with multiple styles",
397
- "files": ["spinner/spinner.component.ts"],
398
- "dependencies": [],
399
- "peerDependencies": ["lucide-angular"],
400
- "exports": ["SpinnerComponent"]
863
+ "kbd": {
864
+ "name": "Kbd",
865
+ "type": "data-display",
866
+ "description": "Displays keyboard key combinations",
867
+ "category": "data-display",
868
+ "frameworks": [
869
+ "react",
870
+ "nextjs",
871
+ "vue",
872
+ "nuxtjs",
873
+ "angular"
874
+ ]
401
875
  },
402
- "avatar": {
403
- "name": "Avatar",
404
- "selector": "g-avatar",
405
- "type": "other",
406
- "description": "Avatar component for user profile pictures",
407
- "files": ["avatar/avatar.component.ts"],
408
- "dependencies": [],
409
- "peerDependencies": ["lucide-angular"],
410
- "exports": ["AvatarComponent", "AvatarGroupComponent"]
876
+ "typography": {
877
+ "name": "Typography",
878
+ "type": "data-display",
879
+ "description": "Text formatting and typography components",
880
+ "category": "data-display",
881
+ "frameworks": [
882
+ "react",
883
+ "nextjs",
884
+ "vue",
885
+ "nuxtjs",
886
+ "angular",
887
+ "react-native",
888
+ "flutter"
889
+ ]
411
890
  },
412
891
  "badge": {
413
892
  "name": "Badge",
414
- "selector": "g-badge",
415
- "type": "other",
416
- "description": "Badge component for counts and status indicators",
417
- "files": ["badge/badge.component.ts"],
418
- "dependencies": [],
419
- "peerDependencies": [],
420
- "exports": ["BadgeComponent", "BadgeRibbonComponent"]
893
+ "type": "feedback",
894
+ "description": "Displays a badge or a component that looks like a badge",
895
+ "category": "feedback",
896
+ "frameworks": [
897
+ "react",
898
+ "nextjs",
899
+ "vue",
900
+ "nuxtjs",
901
+ "angular",
902
+ "react-native",
903
+ "flutter"
904
+ ]
905
+ },
906
+ "toggle": {
907
+ "name": "Toggle",
908
+ "type": "interactive",
909
+ "description": "A two-state button that can be either on or off",
910
+ "category": "interactive",
911
+ "frameworks": [
912
+ "react",
913
+ "nextjs",
914
+ "vue",
915
+ "nuxtjs",
916
+ "angular",
917
+ "react-native",
918
+ "flutter"
919
+ ]
920
+ },
921
+ "toggle-group": {
922
+ "name": "Toggle Group",
923
+ "type": "interactive",
924
+ "description": "A set of two-state buttons that can be toggled on or off",
925
+ "category": "interactive",
926
+ "frameworks": [
927
+ "react",
928
+ "nextjs",
929
+ "vue",
930
+ "nuxtjs",
931
+ "angular",
932
+ "react-native",
933
+ "flutter"
934
+ ]
935
+ },
936
+ "spinner": {
937
+ "name": "Spinner",
938
+ "type": "feedback",
939
+ "description": "Animated loading spinner.",
940
+ "category": "feedback",
941
+ "frameworks": [
942
+ "react",
943
+ "nextjs",
944
+ "vue",
945
+ "nuxtjs",
946
+ "angular",
947
+ "react-native",
948
+ "flutter"
949
+ ]
950
+ },
951
+ "popconfirm": {
952
+ "name": "Popconfirm",
953
+ "type": "modal-overlay",
954
+ "description": "Popconfirm component for confirmation dialogs (antd style)",
955
+ "category": "modal-overlay",
956
+ "frameworks": []
421
957
  },
422
958
  "tour": {
423
959
  "name": "Tour",
424
- "selector": "g-tour",
425
960
  "type": "other",
426
961
  "description": "Tour component for user onboarding (antd style)",
427
- "files": ["tour/tour.component.ts"],
428
- "dependencies": [],
429
- "peerDependencies": ["lucide-angular"],
430
- "exports": ["TourComponent"]
962
+ "category": "other",
963
+ "frameworks": []
431
964
  },
432
965
  "carousel": {
433
966
  "name": "Carousel",
434
- "selector": "g-carousel",
435
967
  "type": "other",
436
968
  "description": "Carousel component for image/content slides (antd style)",
437
- "files": ["carousel/carousel.component.ts"],
438
- "dependencies": [],
439
- "peerDependencies": ["lucide-angular"],
440
- "exports": ["CarouselComponent", "CarouselItemComponent"]
969
+ "category": "other",
970
+ "frameworks": []
441
971
  }
442
972
  },
443
973
  "groups": {
@@ -446,29 +976,54 @@
446
976
  "components": [
447
977
  "button",
448
978
  "input",
449
- "checkbox",
979
+ "label",
450
980
  "select",
451
- "calendar",
452
- "radio",
981
+ "checkbox",
982
+ "radio-group",
453
983
  "switch",
454
984
  "slider",
985
+ "textarea",
986
+ "form",
455
987
  "rate",
456
988
  "button-group",
457
989
  "autocomplete",
458
- "calendar-range"
990
+ "calendar",
991
+ "calendar-range",
992
+ "date-picker",
993
+ "date-range-picker",
994
+ "time-picker",
995
+ "date-time-picker",
996
+ "tags-input"
459
997
  ]
460
998
  },
461
999
  "layout": {
462
1000
  "name": "Layout Components",
463
- "components": ["card", "accordion", "separator", "splitter"]
1001
+ "components": [
1002
+ "card",
1003
+ "separator",
1004
+ "accordion",
1005
+ "tabs",
1006
+ "dialog",
1007
+ "collapsible",
1008
+ "aspect-ratio",
1009
+ "scroll-area",
1010
+ "resizable",
1011
+ "sheet",
1012
+ "toolbar"
1013
+ ]
464
1014
  },
465
1015
  "navigation": {
466
1016
  "name": "Navigation Components",
467
1017
  "components": [
468
- "menubar",
469
- "breadcrumb",
470
- "tabs",
471
1018
  "dropdown-menu",
1019
+ "navigation-menu",
1020
+ "breadcrumb",
1021
+ "menubar",
1022
+ "context-menu",
1023
+ "popover",
1024
+ "tooltip",
1025
+ "pagination",
1026
+ "command",
472
1027
  "sidebar",
473
1028
  "stepper"
474
1029
  ]
@@ -476,32 +1031,65 @@
476
1031
  "data-display": {
477
1032
  "name": "Data Display Components",
478
1033
  "components": [
1034
+ "avatar",
1035
+ "hover-card",
479
1036
  "table",
480
- "pagination",
481
1037
  "table-paginated",
482
1038
  "list",
483
1039
  "tree",
484
1040
  "tag",
485
- "timeline"
1041
+ "timeline",
1042
+ "kbd",
1043
+ "typography"
1044
+ ]
1045
+ },
1046
+ "feedback": {
1047
+ "name": "Feedback Components",
1048
+ "components": [
1049
+ "alert-dialog",
1050
+ "alert",
1051
+ "progress",
1052
+ "toast",
1053
+ "skeleton",
1054
+ "empty",
1055
+ "badge"
486
1056
  ]
487
1057
  },
488
1058
  "modal-overlay": {
489
1059
  "name": "Modal & Overlay Components",
490
1060
  "components": [
491
- "popover",
492
1061
  "drawer",
493
- "toast",
494
- "tooltip",
495
- "progress",
496
- "skeleton",
497
- "popconfirm",
498
- "dialog",
499
- "spinner"
1062
+ "spinner",
1063
+ "popconfirm"
1064
+ ]
1065
+ },
1066
+ "interactive": {
1067
+ "name": "Interactive Components",
1068
+ "components": [
1069
+ "toggle",
1070
+ "toggle-group"
1071
+ ]
1072
+ },
1073
+ "charts": {
1074
+ "name": "Chart Components",
1075
+ "components": [
1076
+ "line-chart",
1077
+ "bar-chart",
1078
+ "pie-chart",
1079
+ "donut-chart",
1080
+ "area-chart",
1081
+ "radar-chart",
1082
+ "scatter-chart",
1083
+ "mixed-chart",
1084
+ "gauge-chart"
500
1085
  ]
501
1086
  },
502
1087
  "other": {
503
1088
  "name": "Other Components",
504
- "components": ["avatar", "badge", "tour", "carousel"]
1089
+ "components": [
1090
+ "tour",
1091
+ "carousel"
1092
+ ]
505
1093
  }
506
1094
  }
507
1095
  }