fancy-ui-svelte 0.4.0 → 0.5.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 +18 -4
- package/dist/fancy-ui/animated-beam/README.md +0 -21
- package/dist/fancy-ui/confetti/Confetti.svelte +3 -3
- package/dist/fancy-ui/confetti/Confetti.svelte.d.ts +1 -1
- package/dist/fancy-ui/confetti/README.md +1 -1
- package/dist/fancy-ui/fluid-cursor/FluidCursor.svelte +240 -37
- package/dist/fancy-ui/fluid-cursor/FluidCursor.svelte.d.ts +11 -1
- package/dist/fancy-ui/fluid-cursor/FluidCursor.test.js +69 -9
- package/dist/fancy-ui/fluid-cursor/README.md +25 -0
- package/dist/fancy-ui/fluid-cursor/index.d.ts +4 -0
- package/dist/fancy-ui/fluid-cursor/index.js +4 -0
- package/dist/fancy-ui/index.d.ts +2 -0
- package/dist/fancy-ui/index.js +2 -0
- package/dist/fancy-ui/number-ticker/NumberTicker.svelte +1 -4
- package/dist/fancy-ui/registry.js +1473 -0
- package/dist/fancy-ui/shimmer-button/ShimmerButton.svelte +1 -1
- package/dist/fancy-ui/tailwind.css +2 -2
- package/dist/types.d.ts +35 -0
- package/package.json +8 -1
|
@@ -77,6 +77,15 @@ export const registry = {
|
|
|
77
77
|
url: "https://ui.aceternity.com/components/apple-cards-carousel",
|
|
78
78
|
},
|
|
79
79
|
],
|
|
80
|
+
tags: ["carousel", "cards", "animation", "spring", "scroll"],
|
|
81
|
+
props: [
|
|
82
|
+
{
|
|
83
|
+
name: "cards",
|
|
84
|
+
type: "AppleCardData[]",
|
|
85
|
+
description: "Cards to display in the carousel",
|
|
86
|
+
required: true,
|
|
87
|
+
},
|
|
88
|
+
],
|
|
80
89
|
},
|
|
81
90
|
"animated-beam": {
|
|
82
91
|
name: "AnimatedBeam",
|
|
@@ -85,6 +94,95 @@ export const registry = {
|
|
|
85
94
|
category: "effects",
|
|
86
95
|
status: "done",
|
|
87
96
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/animated-beam" }],
|
|
97
|
+
tags: ["animation", "svg", "beam", "gradient", "connection"],
|
|
98
|
+
props: [
|
|
99
|
+
{
|
|
100
|
+
name: "containerRef",
|
|
101
|
+
type: "HTMLElement",
|
|
102
|
+
description: "Reference to the container element that holds both endpoints",
|
|
103
|
+
required: true,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "fromRef",
|
|
107
|
+
type: "HTMLElement",
|
|
108
|
+
description: "Reference to the source element",
|
|
109
|
+
required: true,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "toRef",
|
|
113
|
+
type: "HTMLElement",
|
|
114
|
+
description: "Reference to the destination element",
|
|
115
|
+
required: true,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "curvature",
|
|
119
|
+
type: "number",
|
|
120
|
+
default: "0",
|
|
121
|
+
description: "Vertical curvature of the beam path",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: "reverse",
|
|
125
|
+
type: "boolean",
|
|
126
|
+
default: "false",
|
|
127
|
+
description: "Reverse the animation direction",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "pathColor",
|
|
131
|
+
type: "string",
|
|
132
|
+
default: '"gray"',
|
|
133
|
+
description: "Color of the static background path",
|
|
134
|
+
},
|
|
135
|
+
{ name: "pathWidth", type: "number", default: "2", description: "Stroke width of the path" },
|
|
136
|
+
{
|
|
137
|
+
name: "pathOpacity",
|
|
138
|
+
type: "number",
|
|
139
|
+
default: "0.2",
|
|
140
|
+
description: "Opacity of the background path",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
name: "gradientStartColor",
|
|
144
|
+
type: "string",
|
|
145
|
+
default: '"#FFAA40"',
|
|
146
|
+
description: "Start color of the animated gradient",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: "gradientStopColor",
|
|
150
|
+
type: "string",
|
|
151
|
+
default: '"#9C40FF"',
|
|
152
|
+
description: "End color of the animated gradient",
|
|
153
|
+
},
|
|
154
|
+
{ name: "delay", type: "number", default: "0", description: "Animation delay in seconds" },
|
|
155
|
+
{
|
|
156
|
+
name: "duration",
|
|
157
|
+
type: "number",
|
|
158
|
+
default: "random 4-7",
|
|
159
|
+
description: "Animation duration in seconds",
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: "startXOffset",
|
|
163
|
+
type: "number",
|
|
164
|
+
default: "0",
|
|
165
|
+
description: "Horizontal offset for the start point",
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: "startYOffset",
|
|
169
|
+
type: "number",
|
|
170
|
+
default: "0",
|
|
171
|
+
description: "Vertical offset for the start point",
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: "endXOffset",
|
|
175
|
+
type: "number",
|
|
176
|
+
default: "0",
|
|
177
|
+
description: "Horizontal offset for the end point",
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: "endYOffset",
|
|
181
|
+
type: "number",
|
|
182
|
+
default: "0",
|
|
183
|
+
description: "Vertical offset for the end point",
|
|
184
|
+
},
|
|
185
|
+
],
|
|
88
186
|
},
|
|
89
187
|
"animated-testimonials": {
|
|
90
188
|
name: "AnimatedTestimonials",
|
|
@@ -92,6 +190,27 @@ export const registry = {
|
|
|
92
190
|
description: "Testimonial carousel with smooth slide animations and optional autoplay",
|
|
93
191
|
category: "data-display",
|
|
94
192
|
status: "done",
|
|
193
|
+
tags: ["testimonials", "carousel", "animation", "social-proof"],
|
|
194
|
+
props: [
|
|
195
|
+
{
|
|
196
|
+
name: "testimonials",
|
|
197
|
+
type: "Testimonial[]",
|
|
198
|
+
description: "Array of testimonials to display",
|
|
199
|
+
required: true,
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: "autoplay",
|
|
203
|
+
type: "boolean",
|
|
204
|
+
default: "false",
|
|
205
|
+
description: "Auto-advance testimonials",
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
name: "interval",
|
|
209
|
+
type: "number",
|
|
210
|
+
default: "5000",
|
|
211
|
+
description: "Interval between auto-advances in ms",
|
|
212
|
+
},
|
|
213
|
+
],
|
|
95
214
|
},
|
|
96
215
|
"bg-falling-stars": {
|
|
97
216
|
name: "FallingStarsBg",
|
|
@@ -99,6 +218,11 @@ export const registry = {
|
|
|
99
218
|
description: "Canvas-based 3D starfield with perspective projection, motion trails, and glow",
|
|
100
219
|
category: "backgrounds",
|
|
101
220
|
status: "done",
|
|
221
|
+
tags: ["background", "stars", "canvas", "animation", "3d", "space"],
|
|
222
|
+
props: [
|
|
223
|
+
{ name: "color", type: "string", default: '"#FFF"', description: "Star color as hex string" },
|
|
224
|
+
{ name: "count", type: "number", default: "200", description: "Number of stars" },
|
|
225
|
+
],
|
|
102
226
|
},
|
|
103
227
|
"animated-tooltip": {
|
|
104
228
|
name: "AnimatedTooltip",
|
|
@@ -109,6 +233,15 @@ export const registry = {
|
|
|
109
233
|
credits: [
|
|
110
234
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/animated-tooltip" },
|
|
111
235
|
],
|
|
236
|
+
tags: ["tooltip", "avatar", "animation", "hover", "team"],
|
|
237
|
+
props: [
|
|
238
|
+
{
|
|
239
|
+
name: "items",
|
|
240
|
+
type: "TooltipItem[]",
|
|
241
|
+
description: "Array of items with id, name, designation, and image URL",
|
|
242
|
+
required: true,
|
|
243
|
+
},
|
|
244
|
+
],
|
|
112
245
|
},
|
|
113
246
|
"blur-reveal": {
|
|
114
247
|
name: "BlurReveal",
|
|
@@ -117,6 +250,36 @@ export const registry = {
|
|
|
117
250
|
category: "text",
|
|
118
251
|
status: "done",
|
|
119
252
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/blur-fade" }],
|
|
253
|
+
tags: ["animation", "reveal", "blur", "scroll", "stagger"],
|
|
254
|
+
props: [
|
|
255
|
+
{
|
|
256
|
+
name: "duration",
|
|
257
|
+
type: "number",
|
|
258
|
+
default: "1",
|
|
259
|
+
description: "Animation duration in seconds",
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: "delay",
|
|
263
|
+
type: "number",
|
|
264
|
+
default: "0.2",
|
|
265
|
+
description: "Stagger delay between children in seconds",
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: "blur",
|
|
269
|
+
type: "string",
|
|
270
|
+
default: '"20px"',
|
|
271
|
+
description: "Initial blur amount (CSS value)",
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: "yOffset",
|
|
275
|
+
type: "number",
|
|
276
|
+
default: "20",
|
|
277
|
+
description: "Initial vertical offset in pixels",
|
|
278
|
+
},
|
|
279
|
+
],
|
|
280
|
+
slots: [
|
|
281
|
+
{ name: "children", description: "Content elements to reveal with staggered animation" },
|
|
282
|
+
],
|
|
120
283
|
},
|
|
121
284
|
"border-beam": {
|
|
122
285
|
name: "BorderBeam",
|
|
@@ -125,6 +288,31 @@ export const registry = {
|
|
|
125
288
|
category: "effects",
|
|
126
289
|
status: "done",
|
|
127
290
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/border-beam" }],
|
|
291
|
+
tags: ["animation", "border", "gradient", "beam"],
|
|
292
|
+
props: [
|
|
293
|
+
{ name: "size", type: "number", default: "200", description: "Size of the beam in pixels" },
|
|
294
|
+
{
|
|
295
|
+
name: "duration",
|
|
296
|
+
type: "number",
|
|
297
|
+
default: "15",
|
|
298
|
+
description: "Animation duration in seconds",
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
name: "borderWidth",
|
|
302
|
+
type: "number",
|
|
303
|
+
default: "1.5",
|
|
304
|
+
description: "Border width in pixels",
|
|
305
|
+
},
|
|
306
|
+
{ name: "anchor", type: "number", default: "90", description: "Anchor position (0-100)" },
|
|
307
|
+
{
|
|
308
|
+
name: "colorFrom",
|
|
309
|
+
type: "string",
|
|
310
|
+
default: '"#ffaa40"',
|
|
311
|
+
description: "Gradient start color",
|
|
312
|
+
},
|
|
313
|
+
{ name: "colorTo", type: "string", default: '"#9c40ff"', description: "Gradient end color" },
|
|
314
|
+
{ name: "delay", type: "number", default: "0", description: "Animation delay in seconds" },
|
|
315
|
+
],
|
|
128
316
|
},
|
|
129
317
|
compare: {
|
|
130
318
|
name: "Compare",
|
|
@@ -133,6 +321,86 @@ export const registry = {
|
|
|
133
321
|
category: "media",
|
|
134
322
|
status: "done",
|
|
135
323
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/compare" }],
|
|
324
|
+
tags: ["media", "image", "slider", "comparison", "before-after", "interactive"],
|
|
325
|
+
props: [
|
|
326
|
+
{
|
|
327
|
+
name: "firstImage",
|
|
328
|
+
type: "string",
|
|
329
|
+
default: '""',
|
|
330
|
+
description: "URL of the first (left) image",
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
name: "secondImage",
|
|
334
|
+
type: "string",
|
|
335
|
+
default: '""',
|
|
336
|
+
description: "URL of the second (right) image",
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
name: "firstImageAlt",
|
|
340
|
+
type: "string",
|
|
341
|
+
default: '"First image"',
|
|
342
|
+
description: "Alt text for the first image",
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
name: "secondImageAlt",
|
|
346
|
+
type: "string",
|
|
347
|
+
default: '"Second image"',
|
|
348
|
+
description: "Alt text for the second image",
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
name: "firstContentClass",
|
|
352
|
+
type: "string",
|
|
353
|
+
default: '""',
|
|
354
|
+
description: "CSS classes for the first content container",
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
name: "secondContentClass",
|
|
358
|
+
type: "string",
|
|
359
|
+
default: '""',
|
|
360
|
+
description: "CSS classes for the second content container",
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
name: "initialSliderPercentage",
|
|
364
|
+
type: "number",
|
|
365
|
+
default: "50",
|
|
366
|
+
description: "Initial slider position (0-100)",
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
name: "slideMode",
|
|
370
|
+
type: '"hover" | "drag"',
|
|
371
|
+
default: '"hover"',
|
|
372
|
+
description: "How the slider is controlled",
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
name: "showHandlebar",
|
|
376
|
+
type: "boolean",
|
|
377
|
+
default: "true",
|
|
378
|
+
description: "Show the drag handle bar",
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
name: "autoplay",
|
|
382
|
+
type: "boolean",
|
|
383
|
+
default: "false",
|
|
384
|
+
description: "Automatically animate the slider back and forth",
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
name: "autoplayDuration",
|
|
388
|
+
type: "number",
|
|
389
|
+
default: "5000",
|
|
390
|
+
description: "Duration of one autoplay cycle in ms",
|
|
391
|
+
},
|
|
392
|
+
],
|
|
393
|
+
slots: [
|
|
394
|
+
{
|
|
395
|
+
name: "firstContent",
|
|
396
|
+
description: "Custom content to render in the first (left) panel instead of an image",
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
name: "secondContent",
|
|
400
|
+
description: "Custom content to render in the second (right) panel instead of an image",
|
|
401
|
+
},
|
|
402
|
+
{ name: "handle", description: "Custom drag handle element" },
|
|
403
|
+
],
|
|
136
404
|
},
|
|
137
405
|
"image-trail-cursor": {
|
|
138
406
|
name: "ImageTrailCursor",
|
|
@@ -140,6 +408,21 @@ export const registry = {
|
|
|
140
408
|
description: "Cursor-following image trail with 8 animation variants",
|
|
141
409
|
category: "effects",
|
|
142
410
|
status: "done",
|
|
411
|
+
tags: ["cursor", "animation", "images", "trail", "interactive"],
|
|
412
|
+
props: [
|
|
413
|
+
{
|
|
414
|
+
name: "images",
|
|
415
|
+
type: "string[]",
|
|
416
|
+
default: "[]",
|
|
417
|
+
description: "Array of image URLs to show in the trail",
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: "variant",
|
|
421
|
+
type: '"type1" | "type2" | ... | "type8"',
|
|
422
|
+
default: '"type1"',
|
|
423
|
+
description: "Animation variant controlling how images appear and move",
|
|
424
|
+
},
|
|
425
|
+
],
|
|
143
426
|
},
|
|
144
427
|
"interactive-grid-pattern": {
|
|
145
428
|
name: "InteractiveGridPattern",
|
|
@@ -153,6 +436,32 @@ export const registry = {
|
|
|
153
436
|
url: "https://magicui.design/docs/components/interactive-grid-pattern",
|
|
154
437
|
},
|
|
155
438
|
],
|
|
439
|
+
tags: ["grid", "pattern", "interactive", "hover", "svg", "background"],
|
|
440
|
+
props: [
|
|
441
|
+
{
|
|
442
|
+
name: "squaresClassName",
|
|
443
|
+
type: "string",
|
|
444
|
+
description: "Additional CSS classes for individual squares",
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
name: "width",
|
|
448
|
+
type: "number",
|
|
449
|
+
default: "40",
|
|
450
|
+
description: "Width of each square in pixels",
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
name: "height",
|
|
454
|
+
type: "number",
|
|
455
|
+
default: "40",
|
|
456
|
+
description: "Height of each square in pixels",
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
name: "squares",
|
|
460
|
+
type: "[number, number]",
|
|
461
|
+
default: "[24, 24]",
|
|
462
|
+
description: "Grid dimensions as [columns, rows]",
|
|
463
|
+
},
|
|
464
|
+
],
|
|
156
465
|
},
|
|
157
466
|
"line-hover-link": {
|
|
158
467
|
name: "LineHoverLink",
|
|
@@ -161,6 +470,20 @@ export const registry = {
|
|
|
161
470
|
category: "navigation",
|
|
162
471
|
status: "done",
|
|
163
472
|
credits: [{ source: "VengenceUI", url: "https://www.vengence-ui.com/docs/line-hover-link" }],
|
|
473
|
+
tags: ["link", "navigation", "hover", "animation", "underline", "css"],
|
|
474
|
+
props: [
|
|
475
|
+
{
|
|
476
|
+
name: "variant",
|
|
477
|
+
type: '"slide" | "double" | "grow" | "strike" | "fade" | "pulse" | "swap" | "sweep" | "bounce" | "arc" | "scribble"',
|
|
478
|
+
default: '"slide"',
|
|
479
|
+
description: "The animation variant",
|
|
480
|
+
},
|
|
481
|
+
{ name: "href", type: "string", default: '"#"', description: "Link href" },
|
|
482
|
+
{ name: "target", type: "string", description: "Link target attribute" },
|
|
483
|
+
{ name: "rel", type: "string", description: "Link rel attribute" },
|
|
484
|
+
{ name: "aria-label", type: "string", description: "Accessible label" },
|
|
485
|
+
],
|
|
486
|
+
slots: [{ name: "children", description: "Link text content" }],
|
|
164
487
|
},
|
|
165
488
|
"logo-cloud": {
|
|
166
489
|
name: "LogoCloud",
|
|
@@ -169,6 +492,16 @@ export const registry = {
|
|
|
169
492
|
category: "data-display",
|
|
170
493
|
status: "done",
|
|
171
494
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/marquee" }],
|
|
495
|
+
tags: ["logos", "marquee", "brands", "animation", "scrolling"],
|
|
496
|
+
props: [
|
|
497
|
+
{ name: "title", type: "string", description: "Optional title displayed above the logos" },
|
|
498
|
+
{
|
|
499
|
+
name: "logos",
|
|
500
|
+
type: "Logo[]",
|
|
501
|
+
default: "[]",
|
|
502
|
+
description: "Array of logos with name and image path",
|
|
503
|
+
},
|
|
504
|
+
],
|
|
172
505
|
},
|
|
173
506
|
"direction-aware-hover": {
|
|
174
507
|
name: "DirectionAwareHover",
|
|
@@ -182,6 +515,34 @@ export const registry = {
|
|
|
182
515
|
url: "https://ui.aceternity.com/components/direction-aware-hover",
|
|
183
516
|
},
|
|
184
517
|
],
|
|
518
|
+
tags: ["card", "hover", "image", "animation", "direction", "interactive"],
|
|
519
|
+
props: [
|
|
520
|
+
{
|
|
521
|
+
name: "imageUrl",
|
|
522
|
+
type: "string",
|
|
523
|
+
description: "URL of the background image",
|
|
524
|
+
required: true,
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
name: "imageAlt",
|
|
528
|
+
type: "string",
|
|
529
|
+
default: '"image"',
|
|
530
|
+
description: "Alt text for the image",
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
name: "childrenClass",
|
|
534
|
+
type: "string",
|
|
535
|
+
default: '""',
|
|
536
|
+
description: "CSS classes for the overlay content wrapper",
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
name: "imageClass",
|
|
540
|
+
type: "string",
|
|
541
|
+
default: '""',
|
|
542
|
+
description: "CSS classes for the image element",
|
|
543
|
+
},
|
|
544
|
+
],
|
|
545
|
+
slots: [{ name: "children", description: "Content shown in the overlay when hovered" }],
|
|
185
546
|
},
|
|
186
547
|
"rainbow-button": {
|
|
187
548
|
name: "RainbowButton",
|
|
@@ -190,6 +551,12 @@ export const registry = {
|
|
|
190
551
|
category: "buttons",
|
|
191
552
|
status: "done",
|
|
192
553
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/rainbow-button" }],
|
|
554
|
+
tags: ["button", "animation", "rainbow", "gradient", "cta"],
|
|
555
|
+
props: [
|
|
556
|
+
{ name: "speed", type: "number", default: "2", description: "Animation speed in seconds" },
|
|
557
|
+
{ name: "href", type: "string", description: "Render as anchor element when provided" },
|
|
558
|
+
],
|
|
559
|
+
slots: [{ name: "children", description: "Button label content" }],
|
|
193
560
|
},
|
|
194
561
|
"ripple-button": {
|
|
195
562
|
name: "RippleButton",
|
|
@@ -198,6 +565,22 @@ export const registry = {
|
|
|
198
565
|
category: "buttons",
|
|
199
566
|
status: "done",
|
|
200
567
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/ripple-button" }],
|
|
568
|
+
tags: ["button", "ripple", "click", "animation", "material"],
|
|
569
|
+
props: [
|
|
570
|
+
{
|
|
571
|
+
name: "rippleColor",
|
|
572
|
+
type: "string",
|
|
573
|
+
default: '"#ADD8E6"',
|
|
574
|
+
description: "Color of the ripple effect",
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
name: "duration",
|
|
578
|
+
type: "number",
|
|
579
|
+
default: "600",
|
|
580
|
+
description: "Animation duration in milliseconds",
|
|
581
|
+
},
|
|
582
|
+
],
|
|
583
|
+
slots: [{ name: "children", description: "Button content" }],
|
|
201
584
|
},
|
|
202
585
|
"shimmer-button": {
|
|
203
586
|
name: "ShimmerButton",
|
|
@@ -206,6 +589,40 @@ export const registry = {
|
|
|
206
589
|
category: "buttons",
|
|
207
590
|
status: "done",
|
|
208
591
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/shimmer-button" }],
|
|
592
|
+
tags: ["button", "shimmer", "gradient", "animation", "cta"],
|
|
593
|
+
props: [
|
|
594
|
+
{
|
|
595
|
+
name: "shimmerColor",
|
|
596
|
+
type: "string",
|
|
597
|
+
default: '"#ffffff"',
|
|
598
|
+
description: "Shimmer highlight color",
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
name: "shimmerSize",
|
|
602
|
+
type: "string",
|
|
603
|
+
default: '"0.05em"',
|
|
604
|
+
description: "Thickness of the shimmer border",
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
name: "borderRadius",
|
|
608
|
+
type: "string",
|
|
609
|
+
default: '"100px"',
|
|
610
|
+
description: "Button border radius",
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
name: "shimmerDuration",
|
|
614
|
+
type: "string",
|
|
615
|
+
default: '"3s"',
|
|
616
|
+
description: "Duration of the shimmer animation cycle",
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
name: "background",
|
|
620
|
+
type: "string",
|
|
621
|
+
default: '"rgba(0, 0, 0, 1)"',
|
|
622
|
+
description: "Button background color",
|
|
623
|
+
},
|
|
624
|
+
],
|
|
625
|
+
slots: [{ name: "children", description: "Button content" }],
|
|
209
626
|
},
|
|
210
627
|
timeline: {
|
|
211
628
|
name: "Timeline",
|
|
@@ -214,6 +631,23 @@ export const registry = {
|
|
|
214
631
|
category: "navigation",
|
|
215
632
|
status: "done",
|
|
216
633
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/timeline" }],
|
|
634
|
+
tags: ["timeline", "scroll", "navigation", "progress", "vertical"],
|
|
635
|
+
props: [
|
|
636
|
+
{
|
|
637
|
+
name: "items",
|
|
638
|
+
type: "TimelineItem[]",
|
|
639
|
+
default: "[]",
|
|
640
|
+
description: "Timeline entries with id and label",
|
|
641
|
+
},
|
|
642
|
+
{ name: "title", type: "string", description: "Heading text" },
|
|
643
|
+
{ name: "description", type: "string", description: "Subheading text" },
|
|
644
|
+
],
|
|
645
|
+
slots: [
|
|
646
|
+
{
|
|
647
|
+
name: "content",
|
|
648
|
+
description: "Content snippet called for each timeline item, receives the item as argument",
|
|
649
|
+
},
|
|
650
|
+
],
|
|
217
651
|
},
|
|
218
652
|
"bg-stars": {
|
|
219
653
|
name: "StarsBackground",
|
|
@@ -224,6 +658,35 @@ export const registry = {
|
|
|
224
658
|
credits: [
|
|
225
659
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/stars-background" },
|
|
226
660
|
],
|
|
661
|
+
tags: ["background", "stars", "parallax", "animation", "space", "mouse"],
|
|
662
|
+
props: [
|
|
663
|
+
{
|
|
664
|
+
name: "factor",
|
|
665
|
+
type: "number",
|
|
666
|
+
default: "0.05",
|
|
667
|
+
description: "Parallax factor for mouse movement",
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
name: "speed",
|
|
671
|
+
type: "number",
|
|
672
|
+
default: "50",
|
|
673
|
+
description: "Base animation speed in seconds",
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
name: "stiffness",
|
|
677
|
+
type: "number",
|
|
678
|
+
default: "50",
|
|
679
|
+
description: "Spring stiffness for parallax",
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
name: "damping",
|
|
683
|
+
type: "number",
|
|
684
|
+
default: "20",
|
|
685
|
+
description: "Spring damping for parallax",
|
|
686
|
+
},
|
|
687
|
+
{ name: "starColor", type: "string", default: '"#fff"', description: "Color of the stars" },
|
|
688
|
+
],
|
|
689
|
+
slots: [{ name: "children", description: "Child content to render over the stars" }],
|
|
227
690
|
},
|
|
228
691
|
dock: {
|
|
229
692
|
name: "Dock",
|
|
@@ -232,6 +695,34 @@ export const registry = {
|
|
|
232
695
|
category: "navigation",
|
|
233
696
|
status: "done",
|
|
234
697
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/dock" }],
|
|
698
|
+
tags: ["dock", "navigation", "macos", "magnification", "hover"],
|
|
699
|
+
props: [
|
|
700
|
+
{
|
|
701
|
+
name: "magnification",
|
|
702
|
+
type: "number",
|
|
703
|
+
default: "60",
|
|
704
|
+
description: "Maximum icon size in pixels when magnified",
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
name: "distance",
|
|
708
|
+
type: "number",
|
|
709
|
+
default: "140",
|
|
710
|
+
description: "Distance in pixels over which magnification takes effect",
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
name: "direction",
|
|
714
|
+
type: '"top" | "middle" | "bottom"',
|
|
715
|
+
default: '"middle"',
|
|
716
|
+
description: "Vertical alignment of icons relative to the dock bar",
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
name: "orientation",
|
|
720
|
+
type: '"horizontal" | "vertical"',
|
|
721
|
+
default: '"horizontal"',
|
|
722
|
+
description: "Dock orientation",
|
|
723
|
+
},
|
|
724
|
+
],
|
|
725
|
+
slots: [{ name: "children", description: "DockIcon and DockSeparator elements" }],
|
|
235
726
|
},
|
|
236
727
|
"fluid-cursor": {
|
|
237
728
|
name: "FluidCursor",
|
|
@@ -242,6 +733,138 @@ export const registry = {
|
|
|
242
733
|
credits: [
|
|
243
734
|
{ source: "Inspira UI", url: "https://inspira-ui.com/components/cursor/fluid-cursor" },
|
|
244
735
|
],
|
|
736
|
+
tags: ["cursor", "webgl", "fluid", "simulation", "interactive"],
|
|
737
|
+
props: [
|
|
738
|
+
{
|
|
739
|
+
name: "simResolution",
|
|
740
|
+
type: "number",
|
|
741
|
+
default: "128",
|
|
742
|
+
description: "Simulation grid resolution",
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
name: "dyeResolution",
|
|
746
|
+
type: "number",
|
|
747
|
+
default: "1440",
|
|
748
|
+
description: "Dye/color buffer resolution",
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
name: "captureResolution",
|
|
752
|
+
type: "number",
|
|
753
|
+
default: "512",
|
|
754
|
+
description: "Capture buffer resolution",
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
name: "densityDissipation",
|
|
758
|
+
type: "number",
|
|
759
|
+
default: "3.5",
|
|
760
|
+
description: "Rate at which density fades",
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
name: "velocityDissipation",
|
|
764
|
+
type: "number",
|
|
765
|
+
default: "2",
|
|
766
|
+
description: "Rate at which velocity fades",
|
|
767
|
+
},
|
|
768
|
+
{ name: "pressure", type: "number", default: "0.1", description: "Pressure solver strength" },
|
|
769
|
+
{
|
|
770
|
+
name: "pressureIterations",
|
|
771
|
+
type: "number",
|
|
772
|
+
default: "20",
|
|
773
|
+
description: "Number of pressure solver iterations",
|
|
774
|
+
},
|
|
775
|
+
{ name: "curl", type: "number", default: "3", description: "Amount of curl/vorticity" },
|
|
776
|
+
{
|
|
777
|
+
name: "splatRadius",
|
|
778
|
+
type: "number",
|
|
779
|
+
default: "0.2",
|
|
780
|
+
description: "Radius of fluid splats",
|
|
781
|
+
},
|
|
782
|
+
{ name: "splatForce", type: "number", default: "6000", description: "Force of fluid splats" },
|
|
783
|
+
{ name: "shading", type: "boolean", default: "true", description: "Enable fluid shading" },
|
|
784
|
+
{
|
|
785
|
+
name: "colorUpdateSpeed",
|
|
786
|
+
type: "number",
|
|
787
|
+
default: "10",
|
|
788
|
+
description: "Speed of color changes",
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
name: "backColor",
|
|
792
|
+
type: "ColorRGB | string",
|
|
793
|
+
default: "{ r: 0.5, g: 0, b: 0 }",
|
|
794
|
+
description: "Background color",
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
name: "transparent",
|
|
798
|
+
type: "boolean",
|
|
799
|
+
default: "true",
|
|
800
|
+
description: "Transparent background",
|
|
801
|
+
},
|
|
802
|
+
{ name: "fluidColor", type: "string", description: "Override all fluid with a single color" },
|
|
803
|
+
{
|
|
804
|
+
name: "fluidColors",
|
|
805
|
+
type: "string[]",
|
|
806
|
+
description: "Array of colors to cycle through for fluid splats",
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
name: "colorIntensity",
|
|
810
|
+
type: "number",
|
|
811
|
+
default: "0.15",
|
|
812
|
+
description: "Intensity of color mixing",
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
name: "autoSplat",
|
|
816
|
+
type: "boolean",
|
|
817
|
+
default: "false",
|
|
818
|
+
description: "Automatically create random splats",
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
name: "autoSplatInterval",
|
|
822
|
+
type: "number",
|
|
823
|
+
default: "1500",
|
|
824
|
+
description: "Interval between auto-splats in ms",
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
name: "interactive",
|
|
828
|
+
type: "boolean",
|
|
829
|
+
default: "true",
|
|
830
|
+
description: "React to mouse/touch input",
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
name: "pauseWhenHidden",
|
|
834
|
+
type: "boolean",
|
|
835
|
+
default: "true",
|
|
836
|
+
description: "Pause simulation when tab is hidden",
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
name: "splatOnMount",
|
|
840
|
+
type: "boolean",
|
|
841
|
+
default: "false",
|
|
842
|
+
description: "Create a splat on mount",
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
name: "allowMultiple",
|
|
846
|
+
type: "boolean",
|
|
847
|
+
default: "false",
|
|
848
|
+
description: "Allow multiple instances simultaneously",
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
name: "contained",
|
|
852
|
+
type: "boolean",
|
|
853
|
+
default: "true",
|
|
854
|
+
description: "Confine simulation to parent container",
|
|
855
|
+
},
|
|
856
|
+
],
|
|
857
|
+
},
|
|
858
|
+
"fluid-cursor-advanced": {
|
|
859
|
+
name: "FluidCursorAdvanced",
|
|
860
|
+
slug: "fluid-cursor-advanced",
|
|
861
|
+
description: "WebGL fluid simulation confined to a parent container element",
|
|
862
|
+
category: "effects",
|
|
863
|
+
status: "done",
|
|
864
|
+
credits: [
|
|
865
|
+
{ source: "Inspira UI", url: "https://inspira-ui.com/components/cursor/fluid-cursor" },
|
|
866
|
+
],
|
|
867
|
+
tags: ["cursor", "webgl", "fluid", "simulation", "interactive", "contained"],
|
|
245
868
|
},
|
|
246
869
|
"glow-border": {
|
|
247
870
|
name: "GlowBorder",
|
|
@@ -252,6 +875,28 @@ export const registry = {
|
|
|
252
875
|
credits: [
|
|
253
876
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/background-gradient" },
|
|
254
877
|
],
|
|
878
|
+
tags: ["border", "glow", "animation", "gradient", "decoration"],
|
|
879
|
+
props: [
|
|
880
|
+
{
|
|
881
|
+
name: "borderRadius",
|
|
882
|
+
type: "number",
|
|
883
|
+
default: "10",
|
|
884
|
+
description: "Border radius in pixels",
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
name: "color",
|
|
888
|
+
type: "string | string[]",
|
|
889
|
+
default: '"#FFF"',
|
|
890
|
+
description: "Glow color or array of colors for gradient",
|
|
891
|
+
},
|
|
892
|
+
{ name: "borderWidth", type: "number", default: "2", description: "Border width in pixels" },
|
|
893
|
+
{
|
|
894
|
+
name: "duration",
|
|
895
|
+
type: "number",
|
|
896
|
+
default: "10",
|
|
897
|
+
description: "Animation duration in seconds",
|
|
898
|
+
},
|
|
899
|
+
],
|
|
255
900
|
},
|
|
256
901
|
"gradient-button": {
|
|
257
902
|
name: "GradientButton",
|
|
@@ -262,6 +907,41 @@ export const registry = {
|
|
|
262
907
|
credits: [
|
|
263
908
|
{ source: "Inspira UI", url: "https://inspira-ui.com/components/buttons/gradient-button" },
|
|
264
909
|
],
|
|
910
|
+
tags: ["button", "gradient", "animation", "rainbow", "border", "cta"],
|
|
911
|
+
props: [
|
|
912
|
+
{
|
|
913
|
+
name: "colors",
|
|
914
|
+
type: "string[]",
|
|
915
|
+
default: '["#FF0000","#FFA500","#FFFF00","#008000","#0000FF","#4B0082","#EE82EE","#FF0000"]',
|
|
916
|
+
description: "Gradient colors for the conic-gradient border",
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
name: "duration",
|
|
920
|
+
type: "number",
|
|
921
|
+
default: "2500",
|
|
922
|
+
description: "Animation duration in milliseconds",
|
|
923
|
+
},
|
|
924
|
+
{ name: "borderWidth", type: "number", default: "2", description: "Border width in pixels" },
|
|
925
|
+
{
|
|
926
|
+
name: "borderRadius",
|
|
927
|
+
type: "number",
|
|
928
|
+
default: "8",
|
|
929
|
+
description: "Border radius in pixels",
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
name: "blur",
|
|
933
|
+
type: "number",
|
|
934
|
+
default: "4",
|
|
935
|
+
description: "Blur amount for the gradient in pixels",
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
name: "bgColor",
|
|
939
|
+
type: "string",
|
|
940
|
+
default: '"#000"',
|
|
941
|
+
description: "Background color of the button content area",
|
|
942
|
+
},
|
|
943
|
+
],
|
|
944
|
+
slots: [{ name: "children", description: "Button content" }],
|
|
265
945
|
},
|
|
266
946
|
"interactive-hover-button": {
|
|
267
947
|
name: "InteractiveHoverButton",
|
|
@@ -275,6 +955,16 @@ export const registry = {
|
|
|
275
955
|
url: "https://magicui.design/docs/components/interactive-hover-button",
|
|
276
956
|
},
|
|
277
957
|
],
|
|
958
|
+
tags: ["button", "hover", "animation", "interactive", "reveal"],
|
|
959
|
+
props: [
|
|
960
|
+
{
|
|
961
|
+
name: "text",
|
|
962
|
+
type: "string",
|
|
963
|
+
default: '"Button"',
|
|
964
|
+
description: "Button label text (used when children slot is not provided)",
|
|
965
|
+
},
|
|
966
|
+
],
|
|
967
|
+
slots: [{ name: "children", description: "Button content (overrides text prop)" }],
|
|
278
968
|
},
|
|
279
969
|
marquee: {
|
|
280
970
|
name: "Marquee",
|
|
@@ -283,6 +973,34 @@ export const registry = {
|
|
|
283
973
|
category: "layout",
|
|
284
974
|
status: "done",
|
|
285
975
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/marquee" }],
|
|
976
|
+
tags: ["marquee", "scrolling", "animation", "layout", "infinite"],
|
|
977
|
+
props: [
|
|
978
|
+
{
|
|
979
|
+
name: "reverse",
|
|
980
|
+
type: "boolean",
|
|
981
|
+
default: "false",
|
|
982
|
+
description: "Reverse the scroll direction",
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
name: "pauseOnHover",
|
|
986
|
+
type: "boolean",
|
|
987
|
+
default: "false",
|
|
988
|
+
description: "Pause animation on hover",
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
name: "vertical",
|
|
992
|
+
type: "boolean",
|
|
993
|
+
default: "false",
|
|
994
|
+
description: "Scroll vertically instead of horizontally",
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
name: "repeat",
|
|
998
|
+
type: "number",
|
|
999
|
+
default: "4",
|
|
1000
|
+
description: "Number of times to repeat children for seamless loop",
|
|
1001
|
+
},
|
|
1002
|
+
],
|
|
1003
|
+
slots: [{ name: "children", description: "Content to repeat and scroll" }],
|
|
286
1004
|
},
|
|
287
1005
|
meteors: {
|
|
288
1006
|
name: "Meteors",
|
|
@@ -291,6 +1009,10 @@ export const registry = {
|
|
|
291
1009
|
category: "effects",
|
|
292
1010
|
status: "done",
|
|
293
1011
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/meteors" }],
|
|
1012
|
+
tags: ["animation", "meteors", "particles", "decoration", "space"],
|
|
1013
|
+
props: [
|
|
1014
|
+
{ name: "count", type: "number", default: "20", description: "Number of meteors to render" },
|
|
1015
|
+
],
|
|
294
1016
|
},
|
|
295
1017
|
"flickering-grid": {
|
|
296
1018
|
name: "FlickeringGrid",
|
|
@@ -301,6 +1023,49 @@ export const registry = {
|
|
|
301
1023
|
credits: [
|
|
302
1024
|
{ source: "Magic UI", url: "https://magicui.design/docs/components/flickering-grid" },
|
|
303
1025
|
],
|
|
1026
|
+
tags: ["background", "grid", "canvas", "animation", "pattern"],
|
|
1027
|
+
props: [
|
|
1028
|
+
{
|
|
1029
|
+
name: "squareSize",
|
|
1030
|
+
type: "number",
|
|
1031
|
+
default: "4",
|
|
1032
|
+
description: "Size of each grid square in pixels",
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
name: "gridGap",
|
|
1036
|
+
type: "number",
|
|
1037
|
+
default: "6",
|
|
1038
|
+
description: "Gap between squares in pixels",
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
name: "flickerChance",
|
|
1042
|
+
type: "number",
|
|
1043
|
+
default: "0.3",
|
|
1044
|
+
description: "Probability of a square changing opacity each second (0-1)",
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
name: "color",
|
|
1048
|
+
type: "string",
|
|
1049
|
+
default: '"#000000"',
|
|
1050
|
+
description: "Color of the squares (hex format)",
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
name: "maxOpacity",
|
|
1054
|
+
type: "number",
|
|
1055
|
+
default: "0.3",
|
|
1056
|
+
description: "Maximum opacity of squares (0-1)",
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
name: "width",
|
|
1060
|
+
type: "number",
|
|
1061
|
+
description: "Fixed width in pixels (defaults to container width)",
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
name: "height",
|
|
1065
|
+
type: "number",
|
|
1066
|
+
description: "Fixed height in pixels (defaults to container height)",
|
|
1067
|
+
},
|
|
1068
|
+
],
|
|
304
1069
|
},
|
|
305
1070
|
"neon-border": {
|
|
306
1071
|
name: "NeonBorder",
|
|
@@ -311,6 +1076,26 @@ export const registry = {
|
|
|
311
1076
|
credits: [
|
|
312
1077
|
{ source: "Magic UI", url: "https://magicui.design/docs/components/neon-gradient-card" },
|
|
313
1078
|
],
|
|
1079
|
+
tags: ["border", "neon", "glow", "animation", "gradient", "decoration"],
|
|
1080
|
+
props: [
|
|
1081
|
+
{ name: "color1", type: "string", default: '"#0496ff"', description: "First neon color" },
|
|
1082
|
+
{ name: "color2", type: "string", default: '"#ff0a54"', description: "Second neon color" },
|
|
1083
|
+
{
|
|
1084
|
+
name: "animationType",
|
|
1085
|
+
type: '"none" | "half" | "full"',
|
|
1086
|
+
default: '"half"',
|
|
1087
|
+
description: "Animation type: none (static), half (50% coverage), full (100% coverage)",
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
name: "duration",
|
|
1091
|
+
type: "number",
|
|
1092
|
+
default: "6",
|
|
1093
|
+
description: "Animation duration in seconds",
|
|
1094
|
+
},
|
|
1095
|
+
],
|
|
1096
|
+
slots: [
|
|
1097
|
+
{ name: "children", description: "Content to display inside the neon border container" },
|
|
1098
|
+
],
|
|
314
1099
|
},
|
|
315
1100
|
"colourful-text": {
|
|
316
1101
|
name: "ColourfulText",
|
|
@@ -321,6 +1106,28 @@ export const registry = {
|
|
|
321
1106
|
credits: [
|
|
322
1107
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/colourful-text" },
|
|
323
1108
|
],
|
|
1109
|
+
tags: ["text", "animation", "color", "gradient", "typography"],
|
|
1110
|
+
props: [
|
|
1111
|
+
{ name: "text", type: "string", description: "Text to animate", required: true },
|
|
1112
|
+
{
|
|
1113
|
+
name: "colors",
|
|
1114
|
+
type: "string[]",
|
|
1115
|
+
default: "[10 preset colors]",
|
|
1116
|
+
description: "Array of colors to cycle through",
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
name: "startColor",
|
|
1120
|
+
type: "string",
|
|
1121
|
+
default: '"rgb(255, 255, 255)"',
|
|
1122
|
+
description: "Initial color before animation",
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
name: "duration",
|
|
1126
|
+
type: "number",
|
|
1127
|
+
default: "0.5",
|
|
1128
|
+
description: "Transition duration in seconds for each character",
|
|
1129
|
+
},
|
|
1130
|
+
],
|
|
324
1131
|
},
|
|
325
1132
|
"flip-words": {
|
|
326
1133
|
name: "FlipWords",
|
|
@@ -329,6 +1136,21 @@ export const registry = {
|
|
|
329
1136
|
category: "text",
|
|
330
1137
|
status: "done",
|
|
331
1138
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/flip-words" }],
|
|
1139
|
+
tags: ["text", "animation", "words", "cycling", "typography", "blur"],
|
|
1140
|
+
props: [
|
|
1141
|
+
{
|
|
1142
|
+
name: "words",
|
|
1143
|
+
type: "string[]",
|
|
1144
|
+
description: "Array of words to cycle through",
|
|
1145
|
+
required: true,
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
name: "duration",
|
|
1149
|
+
type: "number",
|
|
1150
|
+
default: "3000",
|
|
1151
|
+
description: "Time each word stays visible in ms",
|
|
1152
|
+
},
|
|
1153
|
+
],
|
|
332
1154
|
},
|
|
333
1155
|
"hyper-text": {
|
|
334
1156
|
name: "HyperText",
|
|
@@ -337,6 +1159,22 @@ export const registry = {
|
|
|
337
1159
|
category: "text",
|
|
338
1160
|
status: "done",
|
|
339
1161
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/hyper-text" }],
|
|
1162
|
+
tags: ["text", "animation", "scramble", "hover", "glitch", "typography"],
|
|
1163
|
+
props: [
|
|
1164
|
+
{ name: "text", type: "string", description: "Text to display and scramble", required: true },
|
|
1165
|
+
{
|
|
1166
|
+
name: "duration",
|
|
1167
|
+
type: "number",
|
|
1168
|
+
default: "800",
|
|
1169
|
+
description: "Total animation duration in ms",
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
name: "animateOnLoad",
|
|
1173
|
+
type: "boolean",
|
|
1174
|
+
default: "false",
|
|
1175
|
+
description: "Whether to animate on initial load",
|
|
1176
|
+
},
|
|
1177
|
+
],
|
|
340
1178
|
},
|
|
341
1179
|
"letter-pullup": {
|
|
342
1180
|
name: "LetterPullup",
|
|
@@ -345,6 +1183,21 @@ export const registry = {
|
|
|
345
1183
|
category: "text",
|
|
346
1184
|
status: "done",
|
|
347
1185
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/letter-pullup" }],
|
|
1186
|
+
tags: ["text", "animation", "letters", "stagger", "entrance", "typography"],
|
|
1187
|
+
props: [
|
|
1188
|
+
{
|
|
1189
|
+
name: "words",
|
|
1190
|
+
type: "string",
|
|
1191
|
+
description: "Text to animate (each character gets its own animation)",
|
|
1192
|
+
required: true,
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
name: "delay",
|
|
1196
|
+
type: "number",
|
|
1197
|
+
default: "0.05",
|
|
1198
|
+
description: "Delay between each letter animation in seconds",
|
|
1199
|
+
},
|
|
1200
|
+
],
|
|
348
1201
|
},
|
|
349
1202
|
"number-ticker": {
|
|
350
1203
|
name: "NumberTicker",
|
|
@@ -353,6 +1206,34 @@ export const registry = {
|
|
|
353
1206
|
category: "text",
|
|
354
1207
|
status: "done",
|
|
355
1208
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/number-ticker" }],
|
|
1209
|
+
tags: ["text", "counter", "animation", "number", "scroll", "statistics"],
|
|
1210
|
+
props: [
|
|
1211
|
+
{ name: "value", type: "number", default: "0", description: "Target number to animate to" },
|
|
1212
|
+
{
|
|
1213
|
+
name: "direction",
|
|
1214
|
+
type: '"up" | "down"',
|
|
1215
|
+
default: '"up"',
|
|
1216
|
+
description: 'Animation direction: "up" counts 0→value, "down" counts value→0',
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
name: "duration",
|
|
1220
|
+
type: "number",
|
|
1221
|
+
default: "1000",
|
|
1222
|
+
description: "Animation duration in ms",
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
name: "delay",
|
|
1226
|
+
type: "number",
|
|
1227
|
+
default: "0",
|
|
1228
|
+
description: "Delay before animation starts in ms",
|
|
1229
|
+
},
|
|
1230
|
+
{
|
|
1231
|
+
name: "decimalPlaces",
|
|
1232
|
+
type: "number",
|
|
1233
|
+
default: "0",
|
|
1234
|
+
description: "Number of decimal places to display",
|
|
1235
|
+
},
|
|
1236
|
+
],
|
|
356
1237
|
},
|
|
357
1238
|
"sparkles-text": {
|
|
358
1239
|
name: "SparklesText",
|
|
@@ -361,6 +1242,22 @@ export const registry = {
|
|
|
361
1242
|
category: "text",
|
|
362
1243
|
status: "done",
|
|
363
1244
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/sparkles" }],
|
|
1245
|
+
tags: ["text", "sparkles", "animation", "stars", "decoration", "typography"],
|
|
1246
|
+
props: [
|
|
1247
|
+
{ name: "text", type: "string", description: "Text to display", required: true },
|
|
1248
|
+
{
|
|
1249
|
+
name: "sparklesCount",
|
|
1250
|
+
type: "number",
|
|
1251
|
+
default: "10",
|
|
1252
|
+
description: "Number of sparkle stars",
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
name: "colors",
|
|
1256
|
+
type: "{ first: string; second: string }",
|
|
1257
|
+
default: '{ first: "#9E7AFF", second: "#FE8BBB" }',
|
|
1258
|
+
description: "Two colors for sparkle stars",
|
|
1259
|
+
},
|
|
1260
|
+
],
|
|
364
1261
|
},
|
|
365
1262
|
"box-reveal": {
|
|
366
1263
|
name: "BoxReveal",
|
|
@@ -369,6 +1266,28 @@ export const registry = {
|
|
|
369
1266
|
category: "text",
|
|
370
1267
|
status: "done",
|
|
371
1268
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/box-reveal" }],
|
|
1269
|
+
tags: ["text", "animation", "reveal", "scroll", "entrance"],
|
|
1270
|
+
props: [
|
|
1271
|
+
{
|
|
1272
|
+
name: "color",
|
|
1273
|
+
type: "string",
|
|
1274
|
+
default: '"#5046e6"',
|
|
1275
|
+
description: "Color of the reveal box",
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
name: "duration",
|
|
1279
|
+
type: "number",
|
|
1280
|
+
default: "0.5",
|
|
1281
|
+
description: "Animation duration in seconds",
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
name: "delay",
|
|
1285
|
+
type: "number",
|
|
1286
|
+
default: "0.25",
|
|
1287
|
+
description: "Delay before animation starts in seconds",
|
|
1288
|
+
},
|
|
1289
|
+
],
|
|
1290
|
+
slots: [{ name: "children", description: "Content to reveal" }],
|
|
372
1291
|
},
|
|
373
1292
|
"card-3d": {
|
|
374
1293
|
name: "Card3D",
|
|
@@ -379,6 +1298,16 @@ export const registry = {
|
|
|
379
1298
|
credits: [
|
|
380
1299
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/3d-card-effect" },
|
|
381
1300
|
],
|
|
1301
|
+
tags: ["card", "3d", "perspective", "hover", "animation", "interactive"],
|
|
1302
|
+
props: [
|
|
1303
|
+
{
|
|
1304
|
+
name: "containerClass",
|
|
1305
|
+
type: "string",
|
|
1306
|
+
default: '""',
|
|
1307
|
+
description: "CSS classes for the outer perspective wrapper",
|
|
1308
|
+
},
|
|
1309
|
+
],
|
|
1310
|
+
slots: [{ name: "children", description: "CardBody and CardItem elements" }],
|
|
382
1311
|
},
|
|
383
1312
|
"card-spotlight": {
|
|
384
1313
|
name: "CardSpotlight",
|
|
@@ -389,6 +1318,34 @@ export const registry = {
|
|
|
389
1318
|
credits: [
|
|
390
1319
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/card-spotlight" },
|
|
391
1320
|
],
|
|
1321
|
+
tags: ["card", "spotlight", "mouse", "gradient", "interactive", "hover"],
|
|
1322
|
+
props: [
|
|
1323
|
+
{
|
|
1324
|
+
name: "slotClass",
|
|
1325
|
+
type: "string",
|
|
1326
|
+
default: '""',
|
|
1327
|
+
description: "CSS classes for the inner content wrapper",
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
name: "gradientSize",
|
|
1331
|
+
type: "number",
|
|
1332
|
+
default: "200",
|
|
1333
|
+
description: "Size of the spotlight gradient in pixels",
|
|
1334
|
+
},
|
|
1335
|
+
{
|
|
1336
|
+
name: "gradientColor",
|
|
1337
|
+
type: "string",
|
|
1338
|
+
default: '"#262626"',
|
|
1339
|
+
description: "Color of the spotlight gradient",
|
|
1340
|
+
},
|
|
1341
|
+
{
|
|
1342
|
+
name: "gradientOpacity",
|
|
1343
|
+
type: "number",
|
|
1344
|
+
default: "0.8",
|
|
1345
|
+
description: "Opacity of the spotlight gradient",
|
|
1346
|
+
},
|
|
1347
|
+
],
|
|
1348
|
+
slots: [{ name: "children", description: "Card content" }],
|
|
392
1349
|
},
|
|
393
1350
|
"bento-grid": {
|
|
394
1351
|
name: "BentoGrid",
|
|
@@ -397,6 +1354,8 @@ export const registry = {
|
|
|
397
1354
|
category: "cards",
|
|
398
1355
|
status: "done",
|
|
399
1356
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/bento-grid" }],
|
|
1357
|
+
tags: ["grid", "layout", "bento", "cards", "dashboard"],
|
|
1358
|
+
slots: [{ name: "children", description: "BentoGridItem components to arrange in the grid" }],
|
|
400
1359
|
},
|
|
401
1360
|
"flip-card": {
|
|
402
1361
|
name: "FlipCard",
|
|
@@ -404,6 +1363,19 @@ export const registry = {
|
|
|
404
1363
|
description: "Card that flips to reveal back content on hover using CSS 3D transforms",
|
|
405
1364
|
category: "cards",
|
|
406
1365
|
status: "done",
|
|
1366
|
+
tags: ["card", "flip", "3d", "hover", "animation", "interactive"],
|
|
1367
|
+
props: [
|
|
1368
|
+
{
|
|
1369
|
+
name: "rotate",
|
|
1370
|
+
type: '"x" | "y"',
|
|
1371
|
+
default: '"y"',
|
|
1372
|
+
description: "Axis of rotation for the flip effect",
|
|
1373
|
+
},
|
|
1374
|
+
],
|
|
1375
|
+
slots: [
|
|
1376
|
+
{ name: "children", description: "Front face content" },
|
|
1377
|
+
{ name: "back", description: "Back face content revealed on hover" },
|
|
1378
|
+
],
|
|
407
1379
|
},
|
|
408
1380
|
book: {
|
|
409
1381
|
name: "Book",
|
|
@@ -412,6 +1384,36 @@ export const registry = {
|
|
|
412
1384
|
category: "cards",
|
|
413
1385
|
status: "done",
|
|
414
1386
|
credits: [{ source: "Inspira UI", url: "https://inspira-ui.com/components/cards/book" }],
|
|
1387
|
+
tags: ["card", "book", "3d", "hover", "animation"],
|
|
1388
|
+
props: [
|
|
1389
|
+
{
|
|
1390
|
+
name: "duration",
|
|
1391
|
+
type: "number",
|
|
1392
|
+
default: "1000",
|
|
1393
|
+
description: "Hover animation duration in ms",
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
name: "color",
|
|
1397
|
+
type: "BookColor",
|
|
1398
|
+
default: '"zinc"',
|
|
1399
|
+
description: "Color theme for the book cover gradient",
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
name: "isStatic",
|
|
1403
|
+
type: "boolean",
|
|
1404
|
+
default: "false",
|
|
1405
|
+
description: "Show book in open position without hover animation",
|
|
1406
|
+
},
|
|
1407
|
+
{ name: "size", type: "BookSize", default: '"md"', description: "Size variant of the book" },
|
|
1408
|
+
{ name: "radius", type: "BookRadius", default: '"md"', description: "Border radius variant" },
|
|
1409
|
+
{
|
|
1410
|
+
name: "shadowSize",
|
|
1411
|
+
type: "BookShadowSize",
|
|
1412
|
+
default: '"lg"',
|
|
1413
|
+
description: "Drop shadow size variant",
|
|
1414
|
+
},
|
|
1415
|
+
],
|
|
1416
|
+
slots: [{ name: "children", description: "Content rendered on the book cover (front face)" }],
|
|
415
1417
|
},
|
|
416
1418
|
"glare-card": {
|
|
417
1419
|
name: "GlareCard",
|
|
@@ -420,6 +1422,10 @@ export const registry = {
|
|
|
420
1422
|
category: "cards",
|
|
421
1423
|
status: "done",
|
|
422
1424
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/glare-card" }],
|
|
1425
|
+
tags: ["card", "glare", "holographic", "mouse", "3d", "foil", "interactive"],
|
|
1426
|
+
slots: [
|
|
1427
|
+
{ name: "children", description: "Card content rendered inside the holographic surface" },
|
|
1428
|
+
],
|
|
423
1429
|
},
|
|
424
1430
|
"text-reveal-card": {
|
|
425
1431
|
name: "TextRevealCard",
|
|
@@ -430,6 +1436,26 @@ export const registry = {
|
|
|
430
1436
|
credits: [
|
|
431
1437
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/text-reveal-card" },
|
|
432
1438
|
],
|
|
1439
|
+
tags: ["card", "text", "reveal", "drag", "interactive", "particles"],
|
|
1440
|
+
props: [
|
|
1441
|
+
{
|
|
1442
|
+
name: "starsCount",
|
|
1443
|
+
type: "number",
|
|
1444
|
+
default: "130",
|
|
1445
|
+
description: "Number of star particles in the background",
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
name: "starsClass",
|
|
1449
|
+
type: "string",
|
|
1450
|
+
default: '""',
|
|
1451
|
+
description: "CSS classes for the stars container",
|
|
1452
|
+
},
|
|
1453
|
+
],
|
|
1454
|
+
slots: [
|
|
1455
|
+
{ name: "children", description: "Content rendered above the reveal area (e.g., title)" },
|
|
1456
|
+
{ name: "text", description: "Text shown in the revealed layer (dragged to reveal)" },
|
|
1457
|
+
{ name: "revealText", description: "Text visible in the background star layer" },
|
|
1458
|
+
],
|
|
433
1459
|
},
|
|
434
1460
|
"container-scroll": {
|
|
435
1461
|
name: "ContainerScroll",
|
|
@@ -443,6 +1469,17 @@ export const registry = {
|
|
|
443
1469
|
url: "https://ui.aceternity.com/components/container-scroll-animation",
|
|
444
1470
|
},
|
|
445
1471
|
],
|
|
1472
|
+
tags: ["layout", "scroll", "animation", "3d", "perspective"],
|
|
1473
|
+
slots: [
|
|
1474
|
+
{
|
|
1475
|
+
name: "titleContent",
|
|
1476
|
+
description: "Header/title content that translates upward on scroll",
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
name: "cardContent",
|
|
1480
|
+
description: "Content inside the animated card that tilts flat on scroll",
|
|
1481
|
+
},
|
|
1482
|
+
],
|
|
446
1483
|
},
|
|
447
1484
|
"container-text-flip": {
|
|
448
1485
|
name: "ContainerTextFlip",
|
|
@@ -451,6 +1488,33 @@ export const registry = {
|
|
|
451
1488
|
category: "text",
|
|
452
1489
|
status: "done",
|
|
453
1490
|
credits: [{ source: "Inspira UI", url: "https://inspira-ui.com/components/text/text-flip" }],
|
|
1491
|
+
tags: ["text", "animation", "words", "cycling", "blur", "typography"],
|
|
1492
|
+
props: [
|
|
1493
|
+
{
|
|
1494
|
+
name: "words",
|
|
1495
|
+
type: "string[]",
|
|
1496
|
+
default: '["better","modern","beautiful","awesome"]',
|
|
1497
|
+
description: "Array of words to cycle through",
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
name: "interval",
|
|
1501
|
+
type: "number",
|
|
1502
|
+
default: "3000",
|
|
1503
|
+
description: "Time between word changes in ms",
|
|
1504
|
+
},
|
|
1505
|
+
{
|
|
1506
|
+
name: "animationDuration",
|
|
1507
|
+
type: "number",
|
|
1508
|
+
default: "700",
|
|
1509
|
+
description: "Per-character animation duration in ms",
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
name: "textClass",
|
|
1513
|
+
type: "string",
|
|
1514
|
+
default: '""',
|
|
1515
|
+
description: "CSS classes for the text content span",
|
|
1516
|
+
},
|
|
1517
|
+
],
|
|
454
1518
|
},
|
|
455
1519
|
focus: {
|
|
456
1520
|
name: "Focus",
|
|
@@ -459,6 +1523,45 @@ export const registry = {
|
|
|
459
1523
|
category: "text",
|
|
460
1524
|
status: "done",
|
|
461
1525
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/focus-cards" }],
|
|
1526
|
+
tags: ["text", "animation", "focus", "blur", "words", "typography"],
|
|
1527
|
+
props: [
|
|
1528
|
+
{
|
|
1529
|
+
name: "sentence",
|
|
1530
|
+
type: "string",
|
|
1531
|
+
default: '"Fancy Focus"',
|
|
1532
|
+
description: "Space-separated words to cycle focus through",
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
name: "manualMode",
|
|
1536
|
+
type: "boolean",
|
|
1537
|
+
default: "false",
|
|
1538
|
+
description: "Enable manual control via mouse hover instead of auto-cycling",
|
|
1539
|
+
},
|
|
1540
|
+
{
|
|
1541
|
+
name: "blurAmount",
|
|
1542
|
+
type: "number",
|
|
1543
|
+
default: "5",
|
|
1544
|
+
description: "Blur amount in pixels for unfocused words",
|
|
1545
|
+
},
|
|
1546
|
+
{
|
|
1547
|
+
name: "borderColor",
|
|
1548
|
+
type: "string",
|
|
1549
|
+
default: '"green"',
|
|
1550
|
+
description: "Color of the corner frame border",
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
name: "animationDuration",
|
|
1554
|
+
type: "number",
|
|
1555
|
+
default: "0.5",
|
|
1556
|
+
description: "Transition duration in seconds",
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
name: "pauseBetweenAnimations",
|
|
1560
|
+
type: "number",
|
|
1561
|
+
default: "1",
|
|
1562
|
+
description: "Pause between word cycles in seconds",
|
|
1563
|
+
},
|
|
1564
|
+
],
|
|
462
1565
|
},
|
|
463
1566
|
"liquid-glass": {
|
|
464
1567
|
name: "LiquidGlass",
|
|
@@ -472,6 +1575,79 @@ export const registry = {
|
|
|
472
1575
|
url: "https://inspira-ui.com/components/special-effects/liquid-glass",
|
|
473
1576
|
},
|
|
474
1577
|
],
|
|
1578
|
+
tags: ["glass", "effect", "svg", "filter", "chromatic", "displacement", "blur"],
|
|
1579
|
+
props: [
|
|
1580
|
+
{ name: "radius", type: "number", default: "16", description: "Border radius in pixels" },
|
|
1581
|
+
{
|
|
1582
|
+
name: "border",
|
|
1583
|
+
type: "number",
|
|
1584
|
+
default: "0.07",
|
|
1585
|
+
description: "Border thickness as fraction of min dimension",
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
name: "lightness",
|
|
1589
|
+
type: "number",
|
|
1590
|
+
default: "50",
|
|
1591
|
+
description: "Background lightness percentage",
|
|
1592
|
+
},
|
|
1593
|
+
{
|
|
1594
|
+
name: "displace",
|
|
1595
|
+
type: "number",
|
|
1596
|
+
description: "Optional Gaussian blur on the displacement output",
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
name: "blend",
|
|
1600
|
+
type: "string",
|
|
1601
|
+
default: '"difference"',
|
|
1602
|
+
description: "SVG blend mode for the displacement channels",
|
|
1603
|
+
},
|
|
1604
|
+
{
|
|
1605
|
+
name: "xChannel",
|
|
1606
|
+
type: '"R" | "G" | "B"',
|
|
1607
|
+
default: '"R"',
|
|
1608
|
+
description: "X displacement channel selector",
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
name: "yChannel",
|
|
1612
|
+
type: '"R" | "G" | "B"',
|
|
1613
|
+
default: '"B"',
|
|
1614
|
+
description: "Y displacement channel selector",
|
|
1615
|
+
},
|
|
1616
|
+
{ name: "alpha", type: "number", default: "0.93", description: "Background fill alpha" },
|
|
1617
|
+
{
|
|
1618
|
+
name: "blur",
|
|
1619
|
+
type: "number",
|
|
1620
|
+
default: "11",
|
|
1621
|
+
description: "Blur applied to the background fill layer",
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
name: "rOffset",
|
|
1625
|
+
type: "number",
|
|
1626
|
+
default: "0",
|
|
1627
|
+
description: "Red channel displacement offset",
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
name: "gOffset",
|
|
1631
|
+
type: "number",
|
|
1632
|
+
default: "10",
|
|
1633
|
+
description: "Green channel displacement offset",
|
|
1634
|
+
},
|
|
1635
|
+
{
|
|
1636
|
+
name: "bOffset",
|
|
1637
|
+
type: "number",
|
|
1638
|
+
default: "20",
|
|
1639
|
+
description: "Blue channel displacement offset",
|
|
1640
|
+
},
|
|
1641
|
+
{ name: "scale", type: "number", default: "-180", description: "Displacement scale" },
|
|
1642
|
+
{ name: "frost", type: "number", default: "0.05", description: "Frosted glass opacity" },
|
|
1643
|
+
{
|
|
1644
|
+
name: "containerClass",
|
|
1645
|
+
type: "string",
|
|
1646
|
+
default: '""',
|
|
1647
|
+
description: "CSS classes for the outer container",
|
|
1648
|
+
},
|
|
1649
|
+
],
|
|
1650
|
+
slots: [{ name: "children", description: "Content rendered inside the glass effect" }],
|
|
475
1651
|
},
|
|
476
1652
|
"smooth-cursor": {
|
|
477
1653
|
name: "SmoothCursor",
|
|
@@ -482,6 +1658,16 @@ export const registry = {
|
|
|
482
1658
|
credits: [
|
|
483
1659
|
{ source: "Inspira UI", url: "https://inspira-ui.com/components/cursor/smooth-cursor" },
|
|
484
1660
|
],
|
|
1661
|
+
tags: ["cursor", "animation", "spring", "physics", "interactive"],
|
|
1662
|
+
props: [
|
|
1663
|
+
{
|
|
1664
|
+
name: "springConfig",
|
|
1665
|
+
type: "SpringConfig",
|
|
1666
|
+
default: "{}",
|
|
1667
|
+
description: "Spring physics configuration with damping, stiffness, and mass",
|
|
1668
|
+
},
|
|
1669
|
+
],
|
|
1670
|
+
slots: [{ name: "cursor", description: "Custom cursor element (defaults to arrow SVG)" }],
|
|
485
1671
|
},
|
|
486
1672
|
"glowing-effect": {
|
|
487
1673
|
name: "GlowingEffect",
|
|
@@ -490,6 +1676,58 @@ export const registry = {
|
|
|
490
1676
|
category: "effects",
|
|
491
1677
|
status: "done",
|
|
492
1678
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/glowing-effect" }],
|
|
1679
|
+
tags: ["border", "glow", "mouse", "gradient", "conic", "animation"],
|
|
1680
|
+
props: [
|
|
1681
|
+
{
|
|
1682
|
+
name: "blur",
|
|
1683
|
+
type: "number",
|
|
1684
|
+
default: "0",
|
|
1685
|
+
description: "Blur amount applied to the glow layer",
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
name: "inactiveZone",
|
|
1689
|
+
type: "number",
|
|
1690
|
+
default: "0.7",
|
|
1691
|
+
description: "Fraction of element radius where glow is inactive",
|
|
1692
|
+
},
|
|
1693
|
+
{
|
|
1694
|
+
name: "proximity",
|
|
1695
|
+
type: "number",
|
|
1696
|
+
default: "0",
|
|
1697
|
+
description: "Extra pixel range outside element bounds where glow activates",
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
name: "spread",
|
|
1701
|
+
type: "number",
|
|
1702
|
+
default: "20",
|
|
1703
|
+
description: "Angular spread of the conic gradient in degrees",
|
|
1704
|
+
},
|
|
1705
|
+
{
|
|
1706
|
+
name: "variant",
|
|
1707
|
+
type: '"default" | "white"',
|
|
1708
|
+
default: '"default"',
|
|
1709
|
+
description: "Color variant of the glow",
|
|
1710
|
+
},
|
|
1711
|
+
{
|
|
1712
|
+
name: "glow",
|
|
1713
|
+
type: "boolean",
|
|
1714
|
+
default: "false",
|
|
1715
|
+
description: "Always show glow regardless of mouse position",
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
name: "disabled",
|
|
1719
|
+
type: "boolean",
|
|
1720
|
+
default: "true",
|
|
1721
|
+
description: "Disable the glowing effect",
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
name: "movementDuration",
|
|
1725
|
+
type: "number",
|
|
1726
|
+
default: "2",
|
|
1727
|
+
description: "Duration of the angle lerp animation",
|
|
1728
|
+
},
|
|
1729
|
+
{ name: "borderWidth", type: "number", default: "1", description: "Border width in pixels" },
|
|
1730
|
+
],
|
|
493
1731
|
},
|
|
494
1732
|
sparkles: {
|
|
495
1733
|
name: "Sparkles",
|
|
@@ -498,6 +1736,40 @@ export const registry = {
|
|
|
498
1736
|
category: "backgrounds",
|
|
499
1737
|
status: "done",
|
|
500
1738
|
credits: [{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/sparkles" }],
|
|
1739
|
+
tags: ["background", "particles", "canvas", "animation", "sparkles"],
|
|
1740
|
+
props: [
|
|
1741
|
+
{
|
|
1742
|
+
name: "background",
|
|
1743
|
+
type: "string",
|
|
1744
|
+
default: '"#0d47a1"',
|
|
1745
|
+
description: "Background color of the canvas container",
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
name: "particleColor",
|
|
1749
|
+
type: "string",
|
|
1750
|
+
default: '"#ffffff"',
|
|
1751
|
+
description: "Color of the particles",
|
|
1752
|
+
},
|
|
1753
|
+
{
|
|
1754
|
+
name: "minSize",
|
|
1755
|
+
type: "number",
|
|
1756
|
+
default: "1",
|
|
1757
|
+
description: "Minimum particle radius in pixels",
|
|
1758
|
+
},
|
|
1759
|
+
{
|
|
1760
|
+
name: "maxSize",
|
|
1761
|
+
type: "number",
|
|
1762
|
+
default: "3",
|
|
1763
|
+
description: "Maximum particle radius in pixels",
|
|
1764
|
+
},
|
|
1765
|
+
{ name: "speed", type: "number", default: "4", description: "Particle speed multiplier" },
|
|
1766
|
+
{
|
|
1767
|
+
name: "particleDensity",
|
|
1768
|
+
type: "number",
|
|
1769
|
+
default: "120",
|
|
1770
|
+
description: "Number of particles",
|
|
1771
|
+
},
|
|
1772
|
+
],
|
|
501
1773
|
},
|
|
502
1774
|
confetti: {
|
|
503
1775
|
name: "Confetti",
|
|
@@ -506,6 +1778,28 @@ export const registry = {
|
|
|
506
1778
|
category: "effects",
|
|
507
1779
|
status: "done",
|
|
508
1780
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/confetti" }],
|
|
1781
|
+
tags: ["confetti", "celebration", "animation", "canvas", "particles"],
|
|
1782
|
+
props: [
|
|
1783
|
+
{
|
|
1784
|
+
name: "options",
|
|
1785
|
+
type: "ConfettiOptions",
|
|
1786
|
+
default: "{}",
|
|
1787
|
+
description: "canvas-confetti options passed to each fire() call",
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
name: "globalOptions",
|
|
1791
|
+
type: "ConfettiGlobalOptions",
|
|
1792
|
+
default: "{}",
|
|
1793
|
+
description: "Global canvas-confetti initialization options",
|
|
1794
|
+
},
|
|
1795
|
+
{
|
|
1796
|
+
name: "manualStart",
|
|
1797
|
+
type: "boolean",
|
|
1798
|
+
default: "false",
|
|
1799
|
+
description: "Prevent auto-firing on mount; call fire() manually",
|
|
1800
|
+
},
|
|
1801
|
+
],
|
|
1802
|
+
slots: [{ name: "children", description: "ConfettiButton or other trigger elements" }],
|
|
509
1803
|
},
|
|
510
1804
|
ripple: {
|
|
511
1805
|
name: "Ripple",
|
|
@@ -514,6 +1808,51 @@ export const registry = {
|
|
|
514
1808
|
category: "effects",
|
|
515
1809
|
status: "done",
|
|
516
1810
|
credits: [{ source: "Magic UI", url: "https://magicui.design/docs/components/ripple" }],
|
|
1811
|
+
tags: ["animation", "ripple", "circles", "decoration", "pulse"],
|
|
1812
|
+
props: [
|
|
1813
|
+
{
|
|
1814
|
+
name: "baseCircleSize",
|
|
1815
|
+
type: "number",
|
|
1816
|
+
default: "210",
|
|
1817
|
+
description: "Diameter of the smallest (innermost) circle in pixels",
|
|
1818
|
+
},
|
|
1819
|
+
{
|
|
1820
|
+
name: "baseCircleOpacity",
|
|
1821
|
+
type: "number",
|
|
1822
|
+
default: "0.24",
|
|
1823
|
+
description: "Opacity of the innermost circle",
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
name: "spaceBetweenCircle",
|
|
1827
|
+
type: "number",
|
|
1828
|
+
default: "70",
|
|
1829
|
+
description: "Extra pixels added to each successive circle",
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
name: "circleOpacityDowngradeRatio",
|
|
1833
|
+
type: "number",
|
|
1834
|
+
default: "0.03",
|
|
1835
|
+
description: "Opacity reduction per circle outward",
|
|
1836
|
+
},
|
|
1837
|
+
{
|
|
1838
|
+
name: "circleClass",
|
|
1839
|
+
type: "string",
|
|
1840
|
+
default: '""',
|
|
1841
|
+
description: "Additional CSS classes applied to each circle",
|
|
1842
|
+
},
|
|
1843
|
+
{
|
|
1844
|
+
name: "waveSpeed",
|
|
1845
|
+
type: "number",
|
|
1846
|
+
default: "80",
|
|
1847
|
+
description: "Animation delay between circles in ms",
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
name: "numberOfCircles",
|
|
1851
|
+
type: "number",
|
|
1852
|
+
default: "7",
|
|
1853
|
+
description: "Total number of concentric circles",
|
|
1854
|
+
},
|
|
1855
|
+
],
|
|
517
1856
|
},
|
|
518
1857
|
"text-generate-effect": {
|
|
519
1858
|
name: "TextGenerateEffect",
|
|
@@ -524,6 +1863,34 @@ export const registry = {
|
|
|
524
1863
|
credits: [
|
|
525
1864
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/text-generate-effect" },
|
|
526
1865
|
],
|
|
1866
|
+
tags: ["text", "animation", "typewriter", "reveal", "blur", "typography"],
|
|
1867
|
+
props: [
|
|
1868
|
+
{ name: "words", type: "string", description: "Text to reveal word by word", required: true },
|
|
1869
|
+
{
|
|
1870
|
+
name: "filter",
|
|
1871
|
+
type: "boolean",
|
|
1872
|
+
default: "true",
|
|
1873
|
+
description: "Apply blur filter during reveal animation",
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
name: "duration",
|
|
1877
|
+
type: "number",
|
|
1878
|
+
default: "0.7",
|
|
1879
|
+
description: "Fade-in duration per word in seconds",
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
name: "delay",
|
|
1883
|
+
type: "number",
|
|
1884
|
+
default: "0",
|
|
1885
|
+
description: "Initial delay before animation starts in ms",
|
|
1886
|
+
},
|
|
1887
|
+
{
|
|
1888
|
+
name: "stagger",
|
|
1889
|
+
type: "number",
|
|
1890
|
+
default: "200",
|
|
1891
|
+
description: "Delay between each word in ms",
|
|
1892
|
+
},
|
|
1893
|
+
],
|
|
527
1894
|
},
|
|
528
1895
|
"line-shadow-text": {
|
|
529
1896
|
name: "LineShadowText",
|
|
@@ -534,6 +1901,22 @@ export const registry = {
|
|
|
534
1901
|
credits: [
|
|
535
1902
|
{ source: "Magic UI", url: "https://magicui.design/docs/components/line-shadow-text" },
|
|
536
1903
|
],
|
|
1904
|
+
tags: ["text", "animation", "shadow", "pattern", "typography", "decoration"],
|
|
1905
|
+
props: [
|
|
1906
|
+
{ name: "text", type: "string", description: "Text content to display", required: true },
|
|
1907
|
+
{
|
|
1908
|
+
name: "shadowColor",
|
|
1909
|
+
type: "string",
|
|
1910
|
+
default: '"black"',
|
|
1911
|
+
description: "Color of the diagonal line shadow",
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
name: "as",
|
|
1915
|
+
type: '"span" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "div"',
|
|
1916
|
+
default: '"span"',
|
|
1917
|
+
description: "HTML element to render as",
|
|
1918
|
+
},
|
|
1919
|
+
],
|
|
537
1920
|
},
|
|
538
1921
|
"tracing-beam": {
|
|
539
1922
|
name: "TracingBeam",
|
|
@@ -544,6 +1927,10 @@ export const registry = {
|
|
|
544
1927
|
credits: [
|
|
545
1928
|
{ source: "Aceternity UI", url: "https://ui.aceternity.com/components/tracing-beam" },
|
|
546
1929
|
],
|
|
1930
|
+
tags: ["scroll", "animation", "svg", "beam", "progress", "sidebar"],
|
|
1931
|
+
slots: [
|
|
1932
|
+
{ name: "children", description: "Long-form content rendered alongside the tracing beam" },
|
|
1933
|
+
],
|
|
547
1934
|
},
|
|
548
1935
|
"displacement-text": {
|
|
549
1936
|
name: "DisplacementText",
|
|
@@ -552,6 +1939,25 @@ export const registry = {
|
|
|
552
1939
|
category: "text",
|
|
553
1940
|
status: "done",
|
|
554
1941
|
credits: [{ source: "VengenceUI", url: "https://vengenceui.com/docs/liquid-text" }],
|
|
1942
|
+
tags: ["text", "webgl", "3d", "displacement", "cursor", "shader", "threejs"],
|
|
1943
|
+
props: [
|
|
1944
|
+
{ name: "text", type: "string", default: '"Hover Me"', description: "Text to display" },
|
|
1945
|
+
{ name: "fontSize", type: "number", default: "200", description: "Font size in pixels" },
|
|
1946
|
+
{ name: "font", type: "string", default: '"Inter, sans-serif"', description: "Font family" },
|
|
1947
|
+
{ name: "color", type: "string", description: "Fixed text color (overrides theme colors)" },
|
|
1948
|
+
{
|
|
1949
|
+
name: "lightColor",
|
|
1950
|
+
type: "string",
|
|
1951
|
+
default: '"#000000"',
|
|
1952
|
+
description: "Text color in light mode",
|
|
1953
|
+
},
|
|
1954
|
+
{
|
|
1955
|
+
name: "darkColor",
|
|
1956
|
+
type: "string",
|
|
1957
|
+
default: '"#ffffff"',
|
|
1958
|
+
description: "Text color in dark mode",
|
|
1959
|
+
},
|
|
1960
|
+
],
|
|
555
1961
|
},
|
|
556
1962
|
"matrix-rain": {
|
|
557
1963
|
name: "MatrixRain",
|
|
@@ -559,6 +1965,34 @@ export const registry = {
|
|
|
559
1965
|
description: "Canvas-based Matrix-style falling glyph rain with configurable color, speed, and density",
|
|
560
1966
|
category: "backgrounds",
|
|
561
1967
|
status: "done",
|
|
1968
|
+
tags: ["background", "matrix", "canvas", "animation", "glyphs", "cyberpunk"],
|
|
1969
|
+
props: [
|
|
1970
|
+
{
|
|
1971
|
+
name: "color",
|
|
1972
|
+
type: "string",
|
|
1973
|
+
default: '"#00ff41"',
|
|
1974
|
+
description: "Glyph color (the classic Matrix green)",
|
|
1975
|
+
},
|
|
1976
|
+
{
|
|
1977
|
+
name: "speed",
|
|
1978
|
+
type: "number",
|
|
1979
|
+
default: "1.0",
|
|
1980
|
+
description: "Fall speed multiplier (< 1 slower, > 1 faster)",
|
|
1981
|
+
},
|
|
1982
|
+
{ name: "density", type: "number", default: "1.0", description: "Column density multiplier" },
|
|
1983
|
+
{
|
|
1984
|
+
name: "glyphSize",
|
|
1985
|
+
type: "number",
|
|
1986
|
+
default: "16",
|
|
1987
|
+
description: "Font size of each glyph in pixels",
|
|
1988
|
+
},
|
|
1989
|
+
{
|
|
1990
|
+
name: "fadeOpacity",
|
|
1991
|
+
type: "number",
|
|
1992
|
+
default: "0.05",
|
|
1993
|
+
description: "Opacity of the black overlay used to create trailing fade effect",
|
|
1994
|
+
},
|
|
1995
|
+
],
|
|
562
1996
|
},
|
|
563
1997
|
"terminal-text": {
|
|
564
1998
|
name: "TerminalText",
|
|
@@ -566,6 +2000,45 @@ export const registry = {
|
|
|
566
2000
|
description: "Terminal-style text streamer with per-character animation, blinking cursor, and glitch effect",
|
|
567
2001
|
category: "text",
|
|
568
2002
|
status: "done",
|
|
2003
|
+
tags: ["text", "terminal", "animation", "typewriter", "glitch", "code"],
|
|
2004
|
+
props: [
|
|
2005
|
+
{
|
|
2006
|
+
name: "lines",
|
|
2007
|
+
type: "string[]",
|
|
2008
|
+
description: "Array of lines to stream character by character",
|
|
2009
|
+
required: true,
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
name: "speed",
|
|
2013
|
+
type: "number",
|
|
2014
|
+
default: "40",
|
|
2015
|
+
description: "Delay between each character in ms",
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
name: "delay",
|
|
2019
|
+
type: "number",
|
|
2020
|
+
default: "0",
|
|
2021
|
+
description: "Initial delay before streaming starts in ms",
|
|
2022
|
+
},
|
|
2023
|
+
{ name: "cursor", type: "boolean", default: "true", description: "Show blinking cursor" },
|
|
2024
|
+
{
|
|
2025
|
+
name: "cursorChar",
|
|
2026
|
+
type: "string",
|
|
2027
|
+
default: '"█"',
|
|
2028
|
+
description: "Character used as the cursor",
|
|
2029
|
+
},
|
|
2030
|
+
{
|
|
2031
|
+
name: "glitch",
|
|
2032
|
+
type: "boolean",
|
|
2033
|
+
default: "false",
|
|
2034
|
+
description: "Enable random character glitch effect after streaming",
|
|
2035
|
+
},
|
|
2036
|
+
{
|
|
2037
|
+
name: "onComplete",
|
|
2038
|
+
type: "() => void",
|
|
2039
|
+
description: "Callback fired when all lines finish streaming",
|
|
2040
|
+
},
|
|
2041
|
+
],
|
|
569
2042
|
},
|
|
570
2043
|
};
|
|
571
2044
|
// =============================================================================
|