alexui 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.
Files changed (124) hide show
  1. package/README.md +57 -0
  2. package/components/ActionTable.tsx +307 -0
  3. package/components/AlertBanner.tsx +124 -0
  4. package/components/AnimatedAccordion.tsx +95 -0
  5. package/components/Autocomplete.tsx +144 -0
  6. package/components/Avatar.tsx +123 -0
  7. package/components/Badge.tsx +80 -0
  8. package/components/Breadcrumb.tsx +74 -0
  9. package/components/Calendar.tsx +340 -0
  10. package/components/Card3D.tsx +117 -0
  11. package/components/Carousel3D.tsx +193 -0
  12. package/components/CascadeSelect.tsx +232 -0
  13. package/components/ChartShowcase.tsx +700 -0
  14. package/components/Checkbox.tsx +212 -0
  15. package/components/ChipsInput.tsx +152 -0
  16. package/components/CircularKnob.tsx +240 -0
  17. package/components/CodeVisualizer.tsx +67 -0
  18. package/components/Collapsible.tsx +72 -0
  19. package/components/ColorThemeManager.tsx +458 -0
  20. package/components/CommandMenu.tsx +191 -0
  21. package/components/ConfirmDialog.tsx +152 -0
  22. package/components/ContextMenu.tsx +192 -0
  23. package/components/DashboardLayout.tsx +115 -0
  24. package/components/DatePicker.tsx +108 -0
  25. package/components/Divider.tsx +67 -0
  26. package/components/Dock.tsx +93 -0
  27. package/components/DragDropLists.tsx +160 -0
  28. package/components/Drawer.tsx +161 -0
  29. package/components/DropdownPlus.tsx +304 -0
  30. package/components/EmptyState.tsx +49 -0
  31. package/components/ErrorPage.tsx +62 -0
  32. package/components/FileDropzone.tsx +206 -0
  33. package/components/ForgotPassword.tsx +137 -0
  34. package/components/FormField.tsx +81 -0
  35. package/components/GlassButton.tsx +56 -0
  36. package/components/GlassCard.tsx +82 -0
  37. package/components/GlassInput.tsx +96 -0
  38. package/components/GlassmorphicModal.tsx +108 -0
  39. package/components/GlowInput.tsx +111 -0
  40. package/components/GlowSelect.tsx +203 -0
  41. package/components/GlowTextArea.tsx +105 -0
  42. package/components/HorizontalTimeline.tsx +121 -0
  43. package/components/HoverCard.tsx +105 -0
  44. package/components/ImageLightbox.tsx +259 -0
  45. package/components/InputGroup.tsx +118 -0
  46. package/components/InputOTP.tsx +147 -0
  47. package/components/InteractiveNavbar.tsx +266 -0
  48. package/components/InteractiveSidebar.tsx +211 -0
  49. package/components/Kbd.tsx +51 -0
  50. package/components/LiteYouTube.tsx +118 -0
  51. package/components/LoaderCollection.tsx +368 -0
  52. package/components/LoginForm.tsx +192 -0
  53. package/components/MagneticButton.tsx +101 -0
  54. package/components/MaskedInput.tsx +79 -0
  55. package/components/MentionInput.tsx +413 -0
  56. package/components/MorphingSwitch.tsx +86 -0
  57. package/components/MultiSelect.tsx +158 -0
  58. package/components/NumberInput.tsx +203 -0
  59. package/components/Panel.tsx +104 -0
  60. package/components/PasswordInput.tsx +203 -0
  61. package/components/Popover.tsx +91 -0
  62. package/components/PricingTable.tsx +113 -0
  63. package/components/ProgressBar.tsx +152 -0
  64. package/components/RadioButton.tsx +211 -0
  65. package/components/Rating.tsx +82 -0
  66. package/components/ResizablePanel.tsx +114 -0
  67. package/components/ScrollPanel.tsx +103 -0
  68. package/components/SettingsPage.tsx +154 -0
  69. package/components/SignupForm.tsx +182 -0
  70. package/components/Skeleton.tsx +41 -0
  71. package/components/Slider.tsx +95 -0
  72. package/components/SlidingTabs.tsx +54 -0
  73. package/components/SortableList.tsx +91 -0
  74. package/components/SpeedDial.tsx +134 -0
  75. package/components/Spinner.tsx +40 -0
  76. package/components/Stepper.tsx +124 -0
  77. package/components/TabMenu.tsx +72 -0
  78. package/components/TableControls.tsx +77 -0
  79. package/components/TablePagination.tsx +88 -0
  80. package/components/TextEditor.tsx +329 -0
  81. package/components/TextReveal.tsx +99 -0
  82. package/components/ThemeSwitcher.tsx +133 -0
  83. package/components/TimelineGSAP.tsx +164 -0
  84. package/components/ToastSystem.tsx +110 -0
  85. package/components/ToggleButton.tsx +79 -0
  86. package/components/Tooltip.tsx +121 -0
  87. package/components/Tree.tsx +138 -0
  88. package/dist/commands/add.d.ts +7 -0
  89. package/dist/commands/add.js +110 -0
  90. package/dist/commands/init.d.ts +5 -0
  91. package/dist/commands/init.js +76 -0
  92. package/dist/commands/list.d.ts +1 -0
  93. package/dist/commands/list.js +32 -0
  94. package/dist/index.d.ts +2 -0
  95. package/dist/index.js +60 -0
  96. package/dist/registry.d.ts +6 -0
  97. package/dist/registry.js +38 -0
  98. package/dist/tui/browse.d.ts +3 -0
  99. package/dist/tui/browse.js +139 -0
  100. package/dist/tui/format.d.ts +11 -0
  101. package/dist/tui/format.js +52 -0
  102. package/dist/tui/main.d.ts +1 -0
  103. package/dist/tui/main.js +86 -0
  104. package/dist/tui/panels.d.ts +9 -0
  105. package/dist/tui/panels.js +50 -0
  106. package/dist/tui/theme.d.ts +28 -0
  107. package/dist/tui/theme.js +76 -0
  108. package/dist/types.d.ts +28 -0
  109. package/dist/types.js +1 -0
  110. package/dist/utils/config.d.ts +6 -0
  111. package/dist/utils/config.js +24 -0
  112. package/dist/utils/copy.d.ts +9 -0
  113. package/dist/utils/copy.js +43 -0
  114. package/dist/utils/cwd.d.ts +6 -0
  115. package/dist/utils/cwd.js +30 -0
  116. package/dist/utils/deps.d.ts +1 -0
  117. package/dist/utils/deps.js +19 -0
  118. package/dist/utils/project.d.ts +5 -0
  119. package/dist/utils/project.js +30 -0
  120. package/dist/utils/theme.d.ts +1 -0
  121. package/dist/utils/theme.js +24 -0
  122. package/package.json +52 -0
  123. package/registry.json +1133 -0
  124. package/templates/theme.css +81 -0
package/registry.json ADDED
@@ -0,0 +1,1133 @@
1
+ {
2
+ "version": "3.2",
3
+ "componentCount": 86,
4
+ "components": [
5
+ {
6
+ "id": "actiontable",
7
+ "title": "Action Table & Actions Menu",
8
+ "group": "completos",
9
+ "category": "tablas",
10
+ "description": "Tabla de datos interactiva ampliada con avatares de fotos de gran tamaño, búsqueda en tiempo real, filtrado por estado y paginación modular integrada.",
11
+ "file": "ActionTable.tsx",
12
+ "npmDependencies": [
13
+ "framer-motion",
14
+ "lucide-react"
15
+ ],
16
+ "internalDependencies": [
17
+ "skeleton",
18
+ "tablecontrols",
19
+ "tablepagination"
20
+ ]
21
+ },
22
+ {
23
+ "id": "alertbanner",
24
+ "title": "Dismissible Alert Banners",
25
+ "group": "individuales",
26
+ "category": "feedback",
27
+ "description": "Alertas glassmorphic con iconos semánticos, título opcional, cierre manual y stack animado con AnimatePresence.",
28
+ "file": "AlertBanner.tsx",
29
+ "npmDependencies": [
30
+ "framer-motion",
31
+ "lucide-react"
32
+ ],
33
+ "internalDependencies": []
34
+ },
35
+ {
36
+ "id": "animatedaccordion",
37
+ "title": "Animated dynamic Accordion",
38
+ "group": "individuales",
39
+ "category": "estructura",
40
+ "description": "Acordeón colapsable para menús o preguntas frecuentes que se adapta suavemente a contenidos con alturas variables.",
41
+ "file": "AnimatedAccordion.tsx",
42
+ "npmDependencies": [
43
+ "framer-motion",
44
+ "lucide-react"
45
+ ],
46
+ "internalDependencies": []
47
+ },
48
+ {
49
+ "id": "autocomplete",
50
+ "title": "Smart Autocomplete Suggestions",
51
+ "group": "individuales",
52
+ "category": "entradas",
53
+ "description": "Caja de texto combinada con dropdown de sugerencias que se filtran al escribir para autocompletar rápidamente.",
54
+ "file": "Autocomplete.tsx",
55
+ "npmDependencies": [
56
+ "framer-motion"
57
+ ],
58
+ "internalDependencies": []
59
+ },
60
+ {
61
+ "id": "avatar",
62
+ "title": "Avatar & Avatar Group",
63
+ "group": "individuales",
64
+ "category": "estructura",
65
+ "description": "Avatares con fallback de iniciales, anillo de acento, indicador de estado online/offline y grupo apilado con overflow.",
66
+ "file": "Avatar.tsx",
67
+ "npmDependencies": [
68
+ "framer-motion"
69
+ ],
70
+ "internalDependencies": []
71
+ },
72
+ {
73
+ "id": "badge",
74
+ "title": "Animated Status Badges",
75
+ "group": "individuales",
76
+ "category": "feedback",
77
+ "description": "Etiquetas de estado con variantes semánticas, punto indicador opcional y animación de entrada elástica.",
78
+ "file": "Badge.tsx",
79
+ "npmDependencies": [
80
+ "framer-motion"
81
+ ],
82
+ "internalDependencies": []
83
+ },
84
+ {
85
+ "id": "breadcrumb",
86
+ "title": "Animated Breadcrumb Trail",
87
+ "group": "individuales",
88
+ "category": "estructura",
89
+ "description": "Rastro de navegación con ícono de inicio, separadores personalizables y resaltado elástico del ítem activo.",
90
+ "file": "Breadcrumb.tsx",
91
+ "npmDependencies": [
92
+ "framer-motion",
93
+ "lucide-react"
94
+ ],
95
+ "internalDependencies": []
96
+ },
97
+ {
98
+ "id": "calendar",
99
+ "title": "Premium Calendar & DatePicker",
100
+ "group": "individuales",
101
+ "category": "estructura",
102
+ "description": "Calendario mensual interactivo con selección de fecha única, rangos, bloqueos de fechas, navegación y versión popover Datepicker.",
103
+ "file": "Calendar.tsx",
104
+ "npmDependencies": [
105
+ "framer-motion",
106
+ "lucide-react"
107
+ ],
108
+ "internalDependencies": []
109
+ },
110
+ {
111
+ "id": "card3d",
112
+ "title": "3D Hover Card & Gloss Effect",
113
+ "group": "individuales",
114
+ "category": "animaciones",
115
+ "description": "Tarjeta tridimensional con física de inclinación al pasar el cursor y un spotlight de brillo dinámico que sigue la posición del puntero.",
116
+ "file": "Card3D.tsx",
117
+ "npmDependencies": [
118
+ "framer-motion"
119
+ ],
120
+ "internalDependencies": [
121
+ "skeleton"
122
+ ]
123
+ },
124
+ {
125
+ "id": "carousel3d",
126
+ "title": "Infinite 3D Carousel",
127
+ "group": "completos",
128
+ "category": "multimedia",
129
+ "description": "Carrusel infinito en 3D. Las tarjetas laterales se curvan hacia atrás en profundidad, bajando su escala y opacidad.",
130
+ "file": "Carousel3D.tsx",
131
+ "npmDependencies": [
132
+ "framer-motion",
133
+ "lucide-react"
134
+ ],
135
+ "internalDependencies": []
136
+ },
137
+ {
138
+ "id": "cascadeselect",
139
+ "title": "Hierarchical Cascade Select",
140
+ "group": "individuales",
141
+ "category": "entradas",
142
+ "description": "Selector jerárquico multinivel en cascada que abre paneles laterales dinámicos con spinners de carga específicos por nivel.",
143
+ "file": "CascadeSelect.tsx",
144
+ "npmDependencies": [
145
+ "framer-motion",
146
+ "lucide-react"
147
+ ],
148
+ "internalDependencies": []
149
+ },
150
+ {
151
+ "id": "chartshowcase",
152
+ "title": "Interactive SVG Native Charts",
153
+ "group": "completos",
154
+ "category": "complejos",
155
+ "description": "Gráficos interactivos SVG nativos hiper-animados de Línea, Barra y Dona con tooltips dinámicos elásticos y hovers elásticos.",
156
+ "file": "ChartShowcase.tsx",
157
+ "npmDependencies": [
158
+ "framer-motion"
159
+ ],
160
+ "internalDependencies": []
161
+ },
162
+ {
163
+ "id": "checkbox",
164
+ "title": "Interactive Checkbox Suites",
165
+ "group": "individuales",
166
+ "category": "entradas",
167
+ "description": "Checkboxes animados con Framer Motion. Soporta modo individual, grupos de selección y listas de tareas con tachado.",
168
+ "file": "Checkbox.tsx",
169
+ "npmDependencies": [
170
+ "framer-motion",
171
+ "lucide-react"
172
+ ],
173
+ "internalDependencies": []
174
+ },
175
+ {
176
+ "id": "chipsinput",
177
+ "title": "Interactive Tag Chips Input",
178
+ "group": "individuales",
179
+ "category": "entradas",
180
+ "description": "Entrada para agregar múltiples etiquetas (tags/chips) usando Enter o Coma, con remoción y filtros de palabras prohibidas.",
181
+ "file": "ChipsInput.tsx",
182
+ "npmDependencies": [
183
+ "framer-motion",
184
+ "lucide-react"
185
+ ],
186
+ "internalDependencies": []
187
+ },
188
+ {
189
+ "id": "circularknob",
190
+ "title": "Rotary Circular Dial & Meter",
191
+ "group": "individuales",
192
+ "category": "entradas",
193
+ "description": "Perilla dial circular interactiva basada en gestos de arrastre físico de mouse o toque. Modos 360 y medidor semicircular de 270 grados.",
194
+ "file": "CircularKnob.tsx",
195
+ "npmDependencies": [
196
+ "framer-motion"
197
+ ],
198
+ "internalDependencies": []
199
+ },
200
+ {
201
+ "id": "codevisualizer",
202
+ "title": "Syntax Highlight Visualizer",
203
+ "group": "individuales",
204
+ "category": "feedback",
205
+ "description": "Visualizador de código con lexer regex custom para TSX/JSX. Resalta keywords, strings, componentes y props.",
206
+ "file": "CodeVisualizer.tsx",
207
+ "npmDependencies": [],
208
+ "internalDependencies": []
209
+ },
210
+ {
211
+ "id": "collapsible",
212
+ "title": "Collapsible",
213
+ "group": "individuales",
214
+ "category": "estructura",
215
+ "description": "Expand/collapse ligero con trigger custom, modo controlado y animación spring.",
216
+ "file": "Collapsible.tsx",
217
+ "npmDependencies": [
218
+ "framer-motion",
219
+ "lucide-react"
220
+ ],
221
+ "internalDependencies": []
222
+ },
223
+ {
224
+ "id": "colorthememanager",
225
+ "title": "Live Color Theme Engine",
226
+ "group": "completos",
227
+ "category": "complejos",
228
+ "description": "Motor de temas dinámicos con 10 presets, editor de paleta custom, preview en vivo y exportación CSS.",
229
+ "file": "ColorThemeManager.tsx",
230
+ "npmDependencies": [
231
+ "framer-motion",
232
+ "lucide-react"
233
+ ],
234
+ "internalDependencies": []
235
+ },
236
+ {
237
+ "id": "commandmenu",
238
+ "title": "Command Menu (Cmd+K)",
239
+ "group": "completos",
240
+ "category": "estructura",
241
+ "description": "Buscador y paleta de comandos global invocada mediante atajos de teclado. Navegación por teclado y desenfoque profundo.",
242
+ "file": "CommandMenu.tsx",
243
+ "npmDependencies": [
244
+ "framer-motion",
245
+ "lucide-react"
246
+ ],
247
+ "internalDependencies": []
248
+ },
249
+ {
250
+ "id": "confirmdialog",
251
+ "title": "Confirm Action Dialog",
252
+ "group": "individuales",
253
+ "category": "feedback",
254
+ "description": "Diálogo de confirmación glassmorphic con variantes semánticas danger/warning/info, portal y bloqueo de scroll.",
255
+ "file": "ConfirmDialog.tsx",
256
+ "npmDependencies": [
257
+ "framer-motion",
258
+ "lucide-react"
259
+ ],
260
+ "internalDependencies": []
261
+ },
262
+ {
263
+ "id": "contextmenu",
264
+ "title": "Custom Context Menu",
265
+ "group": "completos",
266
+ "category": "estructura",
267
+ "description": "Menú de clic derecho personalizado, renderizado exactamente en el cursor. Reemplaza el menú gris aburrido del sistema operativo.",
268
+ "file": "ContextMenu.tsx",
269
+ "npmDependencies": [
270
+ "framer-motion",
271
+ "lucide-react"
272
+ ],
273
+ "internalDependencies": []
274
+ },
275
+ {
276
+ "id": "dashboardlayout",
277
+ "title": "Dashboard Layout",
278
+ "group": "completos",
279
+ "category": "complejos",
280
+ "description": "Plantilla de dashboard con métricas, gráfico de barras y tabla de acciones integrada.",
281
+ "file": "DashboardLayout.tsx",
282
+ "npmDependencies": [
283
+ "framer-motion",
284
+ "lucide-react"
285
+ ],
286
+ "internalDependencies": [
287
+ "glasscard",
288
+ "chartshowcase",
289
+ "actiontable",
290
+ "badge",
291
+ "skeleton"
292
+ ]
293
+ },
294
+ {
295
+ "id": "datepicker",
296
+ "title": "Date Picker Popover",
297
+ "group": "individuales",
298
+ "category": "entradas",
299
+ "description": "Input de fecha con popover calendario. Soporta fecha única o rango con cierre automático.",
300
+ "file": "DatePicker.tsx",
301
+ "npmDependencies": [
302
+ "framer-motion",
303
+ "lucide-react"
304
+ ],
305
+ "internalDependencies": [
306
+ "calendar"
307
+ ]
308
+ },
309
+ {
310
+ "id": "divider",
311
+ "title": "Animated Section Divider",
312
+ "group": "individuales",
313
+ "category": "estructura",
314
+ "description": "Separador horizontal o vertical con variantes solid, dashed y gradient, más etiqueta central opcional.",
315
+ "file": "Divider.tsx",
316
+ "npmDependencies": [
317
+ "framer-motion"
318
+ ],
319
+ "internalDependencies": []
320
+ },
321
+ {
322
+ "id": "dock",
323
+ "title": "macOS Dock Magnification",
324
+ "group": "individuales",
325
+ "category": "animaciones",
326
+ "description": "Menú flotante estilo macOS altamente interactivo. Los iconos se magnifican fluidamente al acercar el puntero del mouse utilizando física de resortes.",
327
+ "file": "Dock.tsx",
328
+ "npmDependencies": [
329
+ "framer-motion",
330
+ "lucide-react"
331
+ ],
332
+ "internalDependencies": [
333
+ "skeleton"
334
+ ]
335
+ },
336
+ {
337
+ "id": "dragdroplists",
338
+ "title": "Dual List Drag & Drop",
339
+ "group": "completos",
340
+ "category": "complejos",
341
+ "description": "Transferencia interactiva de elementos entre dos listas mediante arrastrar y soltar con animaciones físicas de reordenamiento.",
342
+ "file": "DragDropLists.tsx",
343
+ "npmDependencies": [
344
+ "framer-motion",
345
+ "lucide-react"
346
+ ],
347
+ "internalDependencies": []
348
+ },
349
+ {
350
+ "id": "drawer",
351
+ "title": "Slide-out Drawer Panel",
352
+ "group": "completos",
353
+ "category": "estructura",
354
+ "description": "Panel deslizante lateral o inferior ideal para opciones densas de navegación o filtros.",
355
+ "file": "Drawer.tsx",
356
+ "npmDependencies": [
357
+ "framer-motion",
358
+ "lucide-react"
359
+ ],
360
+ "internalDependencies": []
361
+ },
362
+ {
363
+ "id": "dropdownplus",
364
+ "title": "Multi-Select Categorized Dropdown",
365
+ "group": "individuales",
366
+ "category": "entradas",
367
+ "description": "Selector desplegable expandido con soporte para selección múltiple con chips, filtro de búsqueda interno y grupos categorizados.",
368
+ "file": "DropdownPlus.tsx",
369
+ "npmDependencies": [
370
+ "framer-motion",
371
+ "lucide-react"
372
+ ],
373
+ "internalDependencies": []
374
+ },
375
+ {
376
+ "id": "emptystate",
377
+ "title": "Empty State",
378
+ "group": "individuales",
379
+ "category": "feedback",
380
+ "description": "Estado vacío con icono, título, descripción y slot de acción para listas y dashboards.",
381
+ "file": "EmptyState.tsx",
382
+ "npmDependencies": [
383
+ "framer-motion",
384
+ "lucide-react"
385
+ ],
386
+ "internalDependencies": []
387
+ },
388
+ {
389
+ "id": "errorpage",
390
+ "title": "Error Page",
391
+ "group": "completos",
392
+ "category": "feedback",
393
+ "description": "Página de error 404/500 glassmorphic con código grande, mensaje y acciones de navegación.",
394
+ "file": "ErrorPage.tsx",
395
+ "npmDependencies": [
396
+ "framer-motion",
397
+ "lucide-react"
398
+ ],
399
+ "internalDependencies": [
400
+ "glassbutton"
401
+ ]
402
+ },
403
+ {
404
+ "id": "filedropzone",
405
+ "title": "Interactive File Dropzone",
406
+ "group": "individuales",
407
+ "category": "entradas",
408
+ "description": "Zona de arrastrar y soltar (Drag & Drop) para subir archivos con validación visual reactiva.",
409
+ "file": "FileDropzone.tsx",
410
+ "npmDependencies": [
411
+ "framer-motion",
412
+ "lucide-react"
413
+ ],
414
+ "internalDependencies": []
415
+ },
416
+ {
417
+ "id": "forgotpassword",
418
+ "title": "Forgot Password Form",
419
+ "group": "completos",
420
+ "category": "complejos",
421
+ "description": "Flujo de recuperación de contraseña con estado de éxito y navegación de vuelta al login.",
422
+ "file": "ForgotPassword.tsx",
423
+ "npmDependencies": [
424
+ "framer-motion",
425
+ "lucide-react"
426
+ ],
427
+ "internalDependencies": [
428
+ "glowinput",
429
+ "magneticbutton",
430
+ "skeleton"
431
+ ]
432
+ },
433
+ {
434
+ "id": "formfield",
435
+ "title": "Label & Form Field",
436
+ "group": "individuales",
437
+ "category": "entradas",
438
+ "description": "Wrapper de campo con label, descripción, error animado y enlace automático al input hijo.",
439
+ "file": "FormField.tsx",
440
+ "npmDependencies": [
441
+ "framer-motion"
442
+ ],
443
+ "internalDependencies": []
444
+ },
445
+ {
446
+ "id": "glassbutton",
447
+ "title": "Atomic Glassmorphic Button",
448
+ "group": "individuales",
449
+ "category": "entradas",
450
+ "description": "Botón glassmorphic atómico con múltiples variantes (primary, secondary, ghost), escala de toque elástica y soporte de iconos.",
451
+ "file": "GlassButton.tsx",
452
+ "npmDependencies": [
453
+ "framer-motion"
454
+ ],
455
+ "internalDependencies": []
456
+ },
457
+ {
458
+ "id": "glasscard",
459
+ "title": "Glass Card",
460
+ "group": "individuales",
461
+ "category": "estructura",
462
+ "description": "Card glassmorphic reutilizable con header, footer, variantes de elevación y hover opcional.",
463
+ "file": "GlassCard.tsx",
464
+ "npmDependencies": [
465
+ "framer-motion"
466
+ ],
467
+ "internalDependencies": []
468
+ },
469
+ {
470
+ "id": "glassinput",
471
+ "title": "Atomic Glassmorphic Input",
472
+ "group": "individuales",
473
+ "category": "entradas",
474
+ "description": "Campo de texto glassmorphic atómico y limpio, con anillo brillante de foco y soporte nativo para iconos de acompañamiento.",
475
+ "file": "GlassInput.tsx",
476
+ "npmDependencies": [
477
+ "framer-motion"
478
+ ],
479
+ "internalDependencies": []
480
+ },
481
+ {
482
+ "id": "glassmorphicmodal",
483
+ "title": "Glassmorphic Overlay Dialog",
484
+ "group": "individuales",
485
+ "category": "feedback",
486
+ "description": "Ventana emergente modal que no se cierra al cliquear el fondo (solo por ESC, cruz o botones) y posee animaciones elásticas.",
487
+ "file": "GlassmorphicModal.tsx",
488
+ "npmDependencies": [
489
+ "framer-motion",
490
+ "lucide-react"
491
+ ],
492
+ "internalDependencies": []
493
+ },
494
+ {
495
+ "id": "glowinput",
496
+ "title": "Glow Border Input & Floating Label",
497
+ "group": "individuales",
498
+ "category": "entradas",
499
+ "description": "Campo de texto con animación inteligente. Al ganar foco, desplaza la etiqueta y activa un trazado brillante alrededor del campo.",
500
+ "file": "GlowInput.tsx",
501
+ "npmDependencies": [
502
+ "framer-motion"
503
+ ],
504
+ "internalDependencies": []
505
+ },
506
+ {
507
+ "id": "glowselect",
508
+ "title": "Glow Select Dropdown",
509
+ "group": "individuales",
510
+ "category": "entradas",
511
+ "description": "Selector de menú desplegable personalizado con animaciones de apertura fluidas de sus opciones y soporte para bordes activos de gradientes.",
512
+ "file": "GlowSelect.tsx",
513
+ "npmDependencies": [
514
+ "framer-motion",
515
+ "lucide-react"
516
+ ],
517
+ "internalDependencies": []
518
+ },
519
+ {
520
+ "id": "glowtextarea",
521
+ "title": "Glow Border Text Area",
522
+ "group": "individuales",
523
+ "category": "entradas",
524
+ "description": "Área de texto de entrada multilínea que comparte las mismas físicas de borde brillante y label flotante que GlowInput.",
525
+ "file": "GlowTextArea.tsx",
526
+ "npmDependencies": [
527
+ "framer-motion"
528
+ ],
529
+ "internalDependencies": []
530
+ },
531
+ {
532
+ "id": "horizontaltimeline",
533
+ "title": "Interactive Horizontal Timeline",
534
+ "group": "individuales",
535
+ "category": "estructura",
536
+ "description": "Línea de tiempo horizontal interactiva con hitos cliqueables y barra de progreso que se llena fluidamente.",
537
+ "file": "HorizontalTimeline.tsx",
538
+ "npmDependencies": [
539
+ "framer-motion",
540
+ "lucide-react"
541
+ ],
542
+ "internalDependencies": []
543
+ },
544
+ {
545
+ "id": "hovercard",
546
+ "title": "Rich Hover Card",
547
+ "group": "individuales",
548
+ "category": "feedback",
549
+ "description": "Previsualización elegante de contenido extra cuando se pasa el cursor sobre un elemento de interés.",
550
+ "file": "HoverCard.tsx",
551
+ "npmDependencies": [
552
+ "framer-motion"
553
+ ],
554
+ "internalDependencies": []
555
+ },
556
+ {
557
+ "id": "imagelightbox",
558
+ "title": "Image Lightbox Grid Gallery",
559
+ "group": "completos",
560
+ "category": "multimedia",
561
+ "description": "Galería de fotos interactiva. Se expande a pantalla completa (Lightbox) y permite navegar de forma fluida mediante gestos y flechas.",
562
+ "file": "ImageLightbox.tsx",
563
+ "npmDependencies": [
564
+ "framer-motion",
565
+ "lucide-react"
566
+ ],
567
+ "internalDependencies": [
568
+ "skeleton"
569
+ ]
570
+ },
571
+ {
572
+ "id": "inputgroup",
573
+ "title": "Unified Input Adornments",
574
+ "group": "individuales",
575
+ "category": "entradas",
576
+ "description": "Caja contenedora de unión para adosar iconos, botones, textos fijos, o checks a los lados de un campo de texto de forma fluida.",
577
+ "file": "InputGroup.tsx",
578
+ "npmDependencies": [],
579
+ "internalDependencies": []
580
+ },
581
+ {
582
+ "id": "inputotp",
583
+ "title": "Consecutive Input OTP",
584
+ "group": "individuales",
585
+ "category": "entradas",
586
+ "description": "Campos de entrada consecutivos para códigos de verificación (One-Time Password) de 4 o 6 dígitos, con foco automático y pegado.",
587
+ "file": "InputOTP.tsx",
588
+ "npmDependencies": [
589
+ "framer-motion"
590
+ ],
591
+ "internalDependencies": []
592
+ },
593
+ {
594
+ "id": "interactivenavbar",
595
+ "title": "Interactive Modular Navbar",
596
+ "group": "completos",
597
+ "category": "estructura",
598
+ "description": "Barra de navegación responsiva glassmorphic de altura fija. Cuenta con menús desplegables elásticos de notificaciones y sesión de usuario.",
599
+ "file": "InteractiveNavbar.tsx",
600
+ "npmDependencies": [
601
+ "framer-motion",
602
+ "lucide-react"
603
+ ],
604
+ "internalDependencies": [
605
+ "themeswitcher"
606
+ ]
607
+ },
608
+ {
609
+ "id": "interactivesidebar",
610
+ "title": "Interactive Elastic Sidebar",
611
+ "group": "completos",
612
+ "category": "estructura",
613
+ "description": "Barra lateral de navegación colapsable glassmorphic. Ajusta su ancho dinámicamente y expone sesión de usuario y control de temas.",
614
+ "file": "InteractiveSidebar.tsx",
615
+ "npmDependencies": [
616
+ "framer-motion",
617
+ "lucide-react"
618
+ ],
619
+ "internalDependencies": [
620
+ "themeswitcher"
621
+ ]
622
+ },
623
+ {
624
+ "id": "kbd",
625
+ "title": "Keyboard Key",
626
+ "group": "individuales",
627
+ "category": "feedback",
628
+ "description": "Tecla estilizada para mostrar atajos de teclado. Incluye KbdGroup para combinaciones.",
629
+ "file": "Kbd.tsx",
630
+ "npmDependencies": [],
631
+ "internalDependencies": []
632
+ },
633
+ {
634
+ "id": "liteyoutube",
635
+ "title": "Lite YouTube Player (Zero Initial Burden)",
636
+ "group": "completos",
637
+ "category": "multimedia",
638
+ "description": "Reproductor ligero de YouTube. Descarga la miniatura en HD y inyecta el iframe real al hacer clic, ahorrando megabytes de carga.",
639
+ "file": "LiteYouTube.tsx",
640
+ "npmDependencies": [
641
+ "framer-motion",
642
+ "lucide-react"
643
+ ],
644
+ "internalDependencies": [
645
+ "skeleton"
646
+ ]
647
+ },
648
+ {
649
+ "id": "loadercollection",
650
+ "title": "Elite Elastic Loader Collection",
651
+ "group": "individuales",
652
+ "category": "feedback",
653
+ "description": "Colección de 6 micro-cargadores elásticos premium alternativos al spinner clásico (Barras de pulso, puntos rebotadores, malla, etc).",
654
+ "file": "LoaderCollection.tsx",
655
+ "npmDependencies": [
656
+ "framer-motion"
657
+ ],
658
+ "internalDependencies": []
659
+ },
660
+ {
661
+ "id": "loginform",
662
+ "title": "Staggered Login Form Template",
663
+ "group": "completos",
664
+ "category": "complejos",
665
+ "description": "Plantilla de Login glassmorphic avanzada. Staggereará la entrada de todos sus componentes (inputs, toggle switch, botón magnético) para dar una gran bienvenida.",
666
+ "file": "LoginForm.tsx",
667
+ "npmDependencies": [
668
+ "framer-motion",
669
+ "lucide-react"
670
+ ],
671
+ "internalDependencies": [
672
+ "glowinput",
673
+ "morphingswitch",
674
+ "magneticbutton",
675
+ "skeleton"
676
+ ]
677
+ },
678
+ {
679
+ "id": "magneticbutton",
680
+ "title": "Magnetic Button & Parallax Text",
681
+ "group": "individuales",
682
+ "category": "entradas",
683
+ "description": "Botón con atracción magnética hacia el cursor del mouse que genera un efecto de paralaje tridimensional interactivo con su texto interno.",
684
+ "file": "MagneticButton.tsx",
685
+ "npmDependencies": [
686
+ "framer-motion"
687
+ ],
688
+ "internalDependencies": []
689
+ },
690
+ {
691
+ "id": "maskedinput",
692
+ "title": "Live Masked Input Formatter",
693
+ "group": "individuales",
694
+ "category": "entradas",
695
+ "description": "Entrada de texto con máscara de formateo interactiva en vivo para Teléfonos, CUIT, DNI y Tarjetas de Crédito.",
696
+ "file": "MaskedInput.tsx",
697
+ "npmDependencies": [],
698
+ "internalDependencies": [
699
+ "glassinput"
700
+ ]
701
+ },
702
+ {
703
+ "id": "mentioninput",
704
+ "title": "Live Mentions Suggestion Input",
705
+ "group": "individuales",
706
+ "category": "entradas",
707
+ "description": "Entrada de texto y comentarios que despliega un dropdown elástico de sugerencias al detectar el carácter @.",
708
+ "file": "MentionInput.tsx",
709
+ "npmDependencies": [
710
+ "framer-motion"
711
+ ],
712
+ "internalDependencies": []
713
+ },
714
+ {
715
+ "id": "morphingswitch",
716
+ "title": "Morphing Knob Elastic Switch",
717
+ "group": "individuales",
718
+ "category": "entradas",
719
+ "description": "Interruptor de palanca táctil que deforma el knob deslizador elásticamente en la dirección de la aceleración mientras cambia de estado.",
720
+ "file": "MorphingSwitch.tsx",
721
+ "npmDependencies": [
722
+ "framer-motion"
723
+ ],
724
+ "internalDependencies": []
725
+ },
726
+ {
727
+ "id": "multiselect",
728
+ "title": "Multi Select",
729
+ "group": "individuales",
730
+ "category": "entradas",
731
+ "description": "Selector múltiple con chips removibles, límite máximo y lista desplegable con checks.",
732
+ "file": "MultiSelect.tsx",
733
+ "npmDependencies": [
734
+ "framer-motion",
735
+ "lucide-react"
736
+ ],
737
+ "internalDependencies": []
738
+ },
739
+ {
740
+ "id": "numberinput",
741
+ "title": "Formatted Multi-Currency Number Input",
742
+ "group": "individuales",
743
+ "category": "entradas",
744
+ "description": "Campo numérico controlado con botones de incremento laterales o verticales, formateo de divisas y límites numéricos estrictos.",
745
+ "file": "NumberInput.tsx",
746
+ "npmDependencies": [
747
+ "lucide-react"
748
+ ],
749
+ "internalDependencies": []
750
+ },
751
+ {
752
+ "id": "panel",
753
+ "title": "Collapsible Glass Panel",
754
+ "group": "individuales",
755
+ "category": "estructura",
756
+ "description": "Panel glassmorphic colapsable con header, subtítulo, ícono y animación de altura. Incluye Fieldset para formularios.",
757
+ "file": "Panel.tsx",
758
+ "npmDependencies": [
759
+ "framer-motion",
760
+ "lucide-react"
761
+ ],
762
+ "internalDependencies": []
763
+ },
764
+ {
765
+ "id": "passwordinput",
766
+ "title": "Secure Strength Password Input",
767
+ "group": "individuales",
768
+ "category": "entradas",
769
+ "description": "Campo de contraseña premium con indicador visual de seguridad de clave y checklist de requisitos de validación en tiempo real.",
770
+ "file": "PasswordInput.tsx",
771
+ "npmDependencies": [
772
+ "framer-motion",
773
+ "lucide-react"
774
+ ],
775
+ "internalDependencies": []
776
+ },
777
+ {
778
+ "id": "popover",
779
+ "title": "Click-Triggered Popover",
780
+ "group": "individuales",
781
+ "category": "feedback",
782
+ "description": "Panel flotante activado por clic con cierre al hacer clic fuera, placement configurable y modo controlado.",
783
+ "file": "Popover.tsx",
784
+ "npmDependencies": [
785
+ "framer-motion"
786
+ ],
787
+ "internalDependencies": []
788
+ },
789
+ {
790
+ "id": "pricingtable",
791
+ "title": "Pricing Table",
792
+ "group": "completos",
793
+ "category": "estructura",
794
+ "description": "Tabla de precios de 3 columnas con plan destacado, features y CTAs glassmorphic.",
795
+ "file": "PricingTable.tsx",
796
+ "npmDependencies": [
797
+ "framer-motion",
798
+ "lucide-react"
799
+ ],
800
+ "internalDependencies": [
801
+ "glasscard",
802
+ "glassbutton",
803
+ "badge"
804
+ ]
805
+ },
806
+ {
807
+ "id": "progressbar",
808
+ "title": "Dynamic Glowing ProgressBar",
809
+ "group": "individuales",
810
+ "category": "feedback",
811
+ "description": "Barra de progreso con porcentajes, variantes de color de tema, efecto de flujo brillante, rayas animadas y modo indeterminado.",
812
+ "file": "ProgressBar.tsx",
813
+ "npmDependencies": [
814
+ "framer-motion"
815
+ ],
816
+ "internalDependencies": []
817
+ },
818
+ {
819
+ "id": "radiobutton",
820
+ "title": "Elastic Radio Button Groups",
821
+ "group": "individuales",
822
+ "category": "entradas",
823
+ "description": "Botón de radio interactivo con knob elástico y deslizamiento compartido por layoutId. Variantes clásica y tarjeta glassmorphic.",
824
+ "file": "RadioButton.tsx",
825
+ "npmDependencies": [
826
+ "framer-motion"
827
+ ],
828
+ "internalDependencies": []
829
+ },
830
+ {
831
+ "id": "rating",
832
+ "title": "Interactive Star Rating",
833
+ "group": "individuales",
834
+ "category": "entradas",
835
+ "description": "Calificación por estrellas con hover preview, animación de resorte al interactuar y modo solo lectura.",
836
+ "file": "Rating.tsx",
837
+ "npmDependencies": [
838
+ "framer-motion",
839
+ "lucide-react"
840
+ ],
841
+ "internalDependencies": []
842
+ },
843
+ {
844
+ "id": "resizablepanel",
845
+ "title": "Resizable Split Panels",
846
+ "group": "completos",
847
+ "category": "estructura",
848
+ "description": "Paneles ajustables arrastrando una manija central (Drag Handle). Estilo VSCode o Arc Browser.",
849
+ "file": "ResizablePanel.tsx",
850
+ "npmDependencies": [
851
+ "framer-motion",
852
+ "lucide-react"
853
+ ],
854
+ "internalDependencies": []
855
+ },
856
+ {
857
+ "id": "scrollpanel",
858
+ "title": "Custom Scroll Panel",
859
+ "group": "individuales",
860
+ "category": "estructura",
861
+ "description": "Área de scroll con thumb personalizado arrastrable, métricas sincronizadas y altura configurable.",
862
+ "file": "ScrollPanel.tsx",
863
+ "npmDependencies": [
864
+ "framer-motion"
865
+ ],
866
+ "internalDependencies": []
867
+ },
868
+ {
869
+ "id": "settingspage",
870
+ "title": "Settings Page",
871
+ "group": "completos",
872
+ "category": "complejos",
873
+ "description": "Página de ajustes con navegación lateral y secciones de perfil, notificaciones, seguridad y apariencia.",
874
+ "file": "SettingsPage.tsx",
875
+ "npmDependencies": [
876
+ "framer-motion",
877
+ "lucide-react"
878
+ ],
879
+ "internalDependencies": [
880
+ "panel",
881
+ "glowinput",
882
+ "morphingswitch",
883
+ "glassbutton",
884
+ "skeleton"
885
+ ]
886
+ },
887
+ {
888
+ "id": "signupform",
889
+ "title": "Staggered Signup Form",
890
+ "group": "completos",
891
+ "category": "complejos",
892
+ "description": "Plantilla de registro glassmorphic con validación, términos y animación staggered.",
893
+ "file": "SignupForm.tsx",
894
+ "npmDependencies": [
895
+ "framer-motion",
896
+ "lucide-react"
897
+ ],
898
+ "internalDependencies": [
899
+ "glowinput",
900
+ "morphingswitch",
901
+ "magneticbutton",
902
+ "skeleton"
903
+ ]
904
+ },
905
+ {
906
+ "id": "skeleton",
907
+ "title": "Skeleton Loader Shimmer",
908
+ "group": "individuales",
909
+ "category": "feedback",
910
+ "description": "Cajas de carga temporal (Skeleton loader) con sweeps de brillos de gradiente y variantes de formas.",
911
+ "file": "Skeleton.tsx",
912
+ "npmDependencies": [
913
+ "framer-motion"
914
+ ],
915
+ "internalDependencies": []
916
+ },
917
+ {
918
+ "id": "slider",
919
+ "title": "Elastic Range Slider",
920
+ "group": "individuales",
921
+ "category": "entradas",
922
+ "description": "Control deslizante con track relleno animado, thumb elástico y soporte de variantes de color semánticas.",
923
+ "file": "Slider.tsx",
924
+ "npmDependencies": [
925
+ "framer-motion"
926
+ ],
927
+ "internalDependencies": []
928
+ },
929
+ {
930
+ "id": "slidingtabs",
931
+ "title": "Sliding Active Tabs",
932
+ "group": "individuales",
933
+ "category": "estructura",
934
+ "description": "Selector de pestañas deslizantes que utiliza layout animado para desplazar un pill de fondo detrás de la pestaña seleccionada.",
935
+ "file": "SlidingTabs.tsx",
936
+ "npmDependencies": [
937
+ "framer-motion"
938
+ ],
939
+ "internalDependencies": []
940
+ },
941
+ {
942
+ "id": "sortablelist",
943
+ "title": "Framer Drag & Drop",
944
+ "group": "completos",
945
+ "category": "complejos",
946
+ "description": "Listas y grillas arrastrables y reordenables. Usando Framer Motion Reorder, sin dependencias pesadas.",
947
+ "file": "SortableList.tsx",
948
+ "npmDependencies": [
949
+ "framer-motion",
950
+ "lucide-react"
951
+ ],
952
+ "internalDependencies": []
953
+ },
954
+ {
955
+ "id": "speeddial",
956
+ "title": "Radial Speed Dial FAB",
957
+ "group": "individuales",
958
+ "category": "feedback",
959
+ "description": "Botón flotante que despliega acciones radiales en 4 direcciones con etiquetas y animación escalonada.",
960
+ "file": "SpeedDial.tsx",
961
+ "npmDependencies": [
962
+ "framer-motion",
963
+ "lucide-react"
964
+ ],
965
+ "internalDependencies": []
966
+ },
967
+ {
968
+ "id": "spinner",
969
+ "title": "Glow Loading Spinner",
970
+ "group": "individuales",
971
+ "category": "feedback",
972
+ "description": "Spinner circular continuo elástico con núcleo brillante difuminado para retroalimentación visual de procesamiento.",
973
+ "file": "Spinner.tsx",
974
+ "npmDependencies": [
975
+ "framer-motion"
976
+ ],
977
+ "internalDependencies": []
978
+ },
979
+ {
980
+ "id": "stepper",
981
+ "title": "Animated Stepper Wizard",
982
+ "group": "individuales",
983
+ "category": "estructura",
984
+ "description": "Indicador de pasos interactivo para formularios multi-paso. Línea de progreso SVG que se llena animada.",
985
+ "file": "Stepper.tsx",
986
+ "npmDependencies": [
987
+ "framer-motion",
988
+ "lucide-react"
989
+ ],
990
+ "internalDependencies": []
991
+ },
992
+ {
993
+ "id": "tablecontrols",
994
+ "title": "Atomic Table Controls",
995
+ "group": "individuales",
996
+ "category": "tablas",
997
+ "description": "Controles atómicos de tabla. Proporciona una barra de búsqueda rápida y filtro por estados en un contenedor glassmorphic.",
998
+ "file": "TableControls.tsx",
999
+ "npmDependencies": [
1000
+ "lucide-react"
1001
+ ],
1002
+ "internalDependencies": [
1003
+ "glowselect"
1004
+ ]
1005
+ },
1006
+ {
1007
+ "id": "tablepagination",
1008
+ "title": "Atomic Table Pagination",
1009
+ "group": "individuales",
1010
+ "category": "tablas",
1011
+ "description": "Controles de paginación atómicos con botones interactivos glassmorphic y selección directa por páginas.",
1012
+ "file": "TablePagination.tsx",
1013
+ "npmDependencies": [
1014
+ "framer-motion",
1015
+ "lucide-react"
1016
+ ],
1017
+ "internalDependencies": []
1018
+ },
1019
+ {
1020
+ "id": "tabmenu",
1021
+ "title": "Elastic Sliding Tab Menu",
1022
+ "group": "individuales",
1023
+ "category": "estructura",
1024
+ "description": "Menú de pestañas con un indicador deslizante elástico debajo o detrás de la pestaña seleccionada mediante layoutId.",
1025
+ "file": "TabMenu.tsx",
1026
+ "npmDependencies": [
1027
+ "framer-motion"
1028
+ ],
1029
+ "internalDependencies": []
1030
+ },
1031
+ {
1032
+ "id": "texteditor",
1033
+ "title": "Native WYSIWYG Rich Text Editor",
1034
+ "group": "completos",
1035
+ "category": "complejos",
1036
+ "description": "Editor de texto enriquecido ligero basado en contentEditable nativo, con barra de herramientas de formato, inserción de links/imágenes y conteos.",
1037
+ "file": "TextEditor.tsx",
1038
+ "npmDependencies": [
1039
+ "framer-motion",
1040
+ "lucide-react"
1041
+ ],
1042
+ "internalDependencies": []
1043
+ },
1044
+ {
1045
+ "id": "textreveal",
1046
+ "title": "GSAP Scroll-Trigger Text Reveal",
1047
+ "group": "individuales",
1048
+ "category": "animaciones",
1049
+ "description": "Efecto de revelado de texto letra por letra o palabra por palabra gatillado al hacer scroll por el viewport usando el motor GSAP ScrollTrigger.",
1050
+ "file": "TextReveal.tsx",
1051
+ "npmDependencies": [
1052
+ "gsap"
1053
+ ],
1054
+ "internalDependencies": []
1055
+ },
1056
+ {
1057
+ "id": "themeswitcher",
1058
+ "title": "Theme Mode Switcher Dropdown",
1059
+ "group": "individuales",
1060
+ "category": "feedback",
1061
+ "description": "Selector de modo de color (Claro, Oscuro, Sistema) mediante un botón interactivo y un menú de opciones con transiciones de resorte.",
1062
+ "file": "ThemeSwitcher.tsx",
1063
+ "npmDependencies": [
1064
+ "framer-motion",
1065
+ "lucide-react"
1066
+ ],
1067
+ "internalDependencies": []
1068
+ },
1069
+ {
1070
+ "id": "timelinegsap",
1071
+ "title": "Scroll Timeline (GSAP)",
1072
+ "group": "completos",
1073
+ "category": "estructura",
1074
+ "description": "Línea de tiempo conectada al scroll de la página. Rellena una línea de progreso y revela tarjetas de forma asíncrona mediante GSAP ScrollTrigger.",
1075
+ "file": "TimelineGSAP.tsx",
1076
+ "npmDependencies": [
1077
+ "gsap"
1078
+ ],
1079
+ "internalDependencies": []
1080
+ },
1081
+ {
1082
+ "id": "toastsystem",
1083
+ "title": "Interactive Toast Notification System",
1084
+ "group": "individuales",
1085
+ "category": "feedback",
1086
+ "description": "Sistema ligero de notificaciones Toast de éxito, error o informativos, que se apilan de forma ordenada y se descartan automáticamente.",
1087
+ "file": "ToastSystem.tsx",
1088
+ "npmDependencies": [
1089
+ "framer-motion",
1090
+ "lucide-react"
1091
+ ],
1092
+ "internalDependencies": []
1093
+ },
1094
+ {
1095
+ "id": "togglebutton",
1096
+ "title": "Segmented Toggle Button",
1097
+ "group": "individuales",
1098
+ "category": "entradas",
1099
+ "description": "Grupo de botones tipo segmented control con indicador deslizante elástico (layoutId) y soporte de íconos.",
1100
+ "file": "ToggleButton.tsx",
1101
+ "npmDependencies": [
1102
+ "framer-motion",
1103
+ "lucide-react"
1104
+ ],
1105
+ "internalDependencies": []
1106
+ },
1107
+ {
1108
+ "id": "tooltip",
1109
+ "title": "Reactive Placement Tooltip",
1110
+ "group": "individuales",
1111
+ "category": "feedback",
1112
+ "description": "Tooltip flotante premium con orientación estática y opción auto que recalcula el espacio en pantalla para no desbordar.",
1113
+ "file": "Tooltip.tsx",
1114
+ "npmDependencies": [
1115
+ "framer-motion"
1116
+ ],
1117
+ "internalDependencies": []
1118
+ },
1119
+ {
1120
+ "id": "tree",
1121
+ "title": "Expandable File Tree",
1122
+ "group": "individuales",
1123
+ "category": "estructura",
1124
+ "description": "Árbol jerárquico con carpetas/archivos, expansión animada, selección activa e íconos personalizables.",
1125
+ "file": "Tree.tsx",
1126
+ "npmDependencies": [
1127
+ "framer-motion",
1128
+ "lucide-react"
1129
+ ],
1130
+ "internalDependencies": []
1131
+ }
1132
+ ]
1133
+ }