reflex-reactbits 0.1.1__py3-none-any.whl
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.
- reflex_reactbits/__init__.py +12 -0
- reflex_reactbits/animations.py +2128 -0
- reflex_reactbits/animations.pyi +2043 -0
- reflex_reactbits/backgrounds.py +3503 -0
- reflex_reactbits/backgrounds.pyi +3149 -0
- reflex_reactbits/base.py +97 -0
- reflex_reactbits/base.pyi +58 -0
- reflex_reactbits/catalog.json +26580 -0
- reflex_reactbits/catalog.py +23 -0
- reflex_reactbits/cli.py +125 -0
- reflex_reactbits/components.py +2383 -0
- reflex_reactbits/components.pyi +2430 -0
- reflex_reactbits/micro.py +2336 -0
- reflex_reactbits/micro.pyi +1858 -0
- reflex_reactbits/py.typed +0 -0
- reflex_reactbits/source.py +236 -0
- reflex_reactbits/text_animations.py +1629 -0
- reflex_reactbits/text_animations.pyi +1671 -0
- reflex_reactbits-0.1.1.dist-info/METADATA +223 -0
- reflex_reactbits-0.1.1.dist-info/RECORD +24 -0
- reflex_reactbits-0.1.1.dist-info/WHEEL +5 -0
- reflex_reactbits-0.1.1.dist-info/entry_points.txt +2 -0
- reflex_reactbits-0.1.1.dist-info/licenses/LICENSE +21 -0
- reflex_reactbits-0.1.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,2128 @@
|
|
|
1
|
+
"""React Bits - Animations.
|
|
2
|
+
|
|
3
|
+
AUTO-GENERATED by scripts/generate_wrappers.py - do not edit by hand.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# ruff: noqa: E501
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
from typing import Any, Literal
|
|
10
|
+
|
|
11
|
+
import reflex as rx
|
|
12
|
+
from reflex.event import no_args_event_spec
|
|
13
|
+
from reflex_base.components.component import field
|
|
14
|
+
|
|
15
|
+
from .base import ReactBitsComponent, safe
|
|
16
|
+
|
|
17
|
+
__all__ = ['AnimatedContent', 'Antigravity', 'BlobCursor', 'ClickSpark', 'Crosshair', 'Cubes', 'CursorGrid', 'ElasticMesh', 'ElectricBorder', 'FadeContent', 'GhostCursor', 'GlareHover', 'GlowCursor', 'GradualBlur', 'HalftoneReveal', 'ImageTrail', 'LaserFlow', 'LogoLoop', 'MagicRings', 'Magnet', 'MagnetLines', 'MetaBalls', 'MetallicPaint', 'Noise', 'OrbitImages', 'PixelSwap', 'PixelTrail', 'PixelTransition', 'Ribbons', 'RippleDistortion', 'ScrollExpand', 'ShapeBlur', 'SplashCursor', 'StarBorder', 'StickerPeel', 'Strands', 'SwarmCursor', 'TargetCursor', 'animated_content', 'antigravity', 'blob_cursor', 'click_spark', 'crosshair', 'cubes', 'cursor_grid', 'elastic_mesh', 'electric_border', 'fade_content', 'ghost_cursor', 'glare_hover', 'glow_cursor', 'gradual_blur', 'halftone_reveal', 'image_trail', 'laser_flow', 'logo_loop', 'magic_rings', 'magnet', 'magnet_lines', 'meta_balls', 'metallic_paint', 'noise', 'orbit_images', 'pixel_swap', 'pixel_trail', 'pixel_transition', 'ribbons', 'ripple_distortion', 'scroll_expand', 'shape_blur', 'splash_cursor', 'star_border', 'sticker_peel', 'strands', 'swarm_cursor', 'target_cursor']
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class AnimatedContent(ReactBitsComponent):
|
|
21
|
+
"""Wrapper that animates any children on scroll or mount with configurable direction, distance, duration, easing and disappear options.
|
|
22
|
+
|
|
23
|
+
Docs: https://reactbits.dev/animations/animated-content
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
tag = "AnimatedContent"
|
|
27
|
+
alias = "ReactBitsAnimatedContent"
|
|
28
|
+
is_default = True
|
|
29
|
+
_rb_category = "Animations"
|
|
30
|
+
_rb_name = "AnimatedContent"
|
|
31
|
+
_rb_files = ('AnimatedContent.jsx',)
|
|
32
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
33
|
+
|
|
34
|
+
container: rx.Var[Any] = field(
|
|
35
|
+
doc="The scroll container to use for ScrollTrigger. Can be a selector string or an HTMLElement. Defaults to main container. Uses auto-detection (for snap-main-container id) if not provided."
|
|
36
|
+
)
|
|
37
|
+
distance: rx.Var[int | float] = field(
|
|
38
|
+
doc="Distance (in pixels) the component moves during animation. Default: 100."
|
|
39
|
+
)
|
|
40
|
+
direction: rx.Var[str] = field(
|
|
41
|
+
doc="Animation direction. Can be \"vertical\" or \"horizontal\". Default: 'vertical'."
|
|
42
|
+
)
|
|
43
|
+
reverse: rx.Var[bool] = field(
|
|
44
|
+
doc="Whether the animation moves in the reverse direction. Default: false."
|
|
45
|
+
)
|
|
46
|
+
duration: rx.Var[int | float] = field(
|
|
47
|
+
doc="Duration of the animation in seconds. Default: 0.8."
|
|
48
|
+
)
|
|
49
|
+
ease: rx.Var[str] = field(
|
|
50
|
+
doc="GSAP easing function for the animation. Default: 'power3.out'."
|
|
51
|
+
)
|
|
52
|
+
initial_opacity: rx.Var[int | float] = field(
|
|
53
|
+
doc="Initial opacity before animation begins. Default: 0."
|
|
54
|
+
)
|
|
55
|
+
animate_opacity: rx.Var[bool] = field(
|
|
56
|
+
doc="Whether to animate opacity during transition. Default: true."
|
|
57
|
+
)
|
|
58
|
+
scale: rx.Var[int | float] = field(
|
|
59
|
+
doc="Initial scale of the component. Default: 1."
|
|
60
|
+
)
|
|
61
|
+
threshold: rx.Var[int | float] = field(
|
|
62
|
+
doc="Intersection threshold to trigger animation (0-1). Default: 0.1."
|
|
63
|
+
)
|
|
64
|
+
delay: rx.Var[int | float] = field(
|
|
65
|
+
doc="Delay before animation starts (in seconds). Default: 0."
|
|
66
|
+
)
|
|
67
|
+
disappear_after: rx.Var[int | float] = field(
|
|
68
|
+
doc="The `disappearAfter` prop. Default: 0."
|
|
69
|
+
)
|
|
70
|
+
disappear_duration: rx.Var[int | float] = field(
|
|
71
|
+
doc="Duration of the disappearance animation in seconds. Default: 0.5."
|
|
72
|
+
)
|
|
73
|
+
disappear_ease: rx.Var[str] = field(
|
|
74
|
+
doc="GSAP easing function for the disappearance animation. Default: 'power3.in'."
|
|
75
|
+
)
|
|
76
|
+
on_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
77
|
+
doc="Callback function called when animation completes."
|
|
78
|
+
)
|
|
79
|
+
on_disappearance_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
80
|
+
doc="Callback function called when disappearance animation completes."
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class Antigravity(ReactBitsComponent):
|
|
85
|
+
"""3D antigravity particle field that repels from the cursor with smooth motion.
|
|
86
|
+
|
|
87
|
+
Docs: https://reactbits.dev/animations/antigravity
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
tag = "Antigravity"
|
|
91
|
+
alias = "ReactBitsAntigravity"
|
|
92
|
+
is_default = True
|
|
93
|
+
_rb_category = "Animations"
|
|
94
|
+
_rb_name = "Antigravity"
|
|
95
|
+
_rb_files = ('Antigravity.jsx',)
|
|
96
|
+
lib_dependencies: list[str] = ['@react-three/fiber@9.3.0', 'three@0.180.0']
|
|
97
|
+
|
|
98
|
+
count: rx.Var[int | float] = field(
|
|
99
|
+
doc="Number of particles. Default: 300."
|
|
100
|
+
)
|
|
101
|
+
magnet_radius: rx.Var[int | float] = field(
|
|
102
|
+
doc="Radius of the magnetic field. Default: 10."
|
|
103
|
+
)
|
|
104
|
+
ring_radius: rx.Var[int | float] = field(
|
|
105
|
+
doc="Radius of the formed ring. Default: 10."
|
|
106
|
+
)
|
|
107
|
+
wave_speed: rx.Var[int | float] = field(
|
|
108
|
+
doc="Speed of the wave animation. Default: 0.4."
|
|
109
|
+
)
|
|
110
|
+
wave_amplitude: rx.Var[int | float] = field(
|
|
111
|
+
doc="Intensity of the wave (0 for perfect circle). Default: 1."
|
|
112
|
+
)
|
|
113
|
+
particle_size: rx.Var[int | float] = field(
|
|
114
|
+
doc="Scale multiplier for particles. Default: 2."
|
|
115
|
+
)
|
|
116
|
+
lerp_speed: rx.Var[int | float] = field(
|
|
117
|
+
doc="How fast particles move to the ring. Default: 0.1."
|
|
118
|
+
)
|
|
119
|
+
color: rx.Var[str] = field(
|
|
120
|
+
doc="Color of the particles. Default: '#FF9FFC'."
|
|
121
|
+
)
|
|
122
|
+
auto_animate: rx.Var[bool] = field(
|
|
123
|
+
doc="Automatically animate when idle. Default: false."
|
|
124
|
+
)
|
|
125
|
+
particle_variance: rx.Var[int | float] = field(
|
|
126
|
+
doc="Variance in particle size (0-1). Default: 1."
|
|
127
|
+
)
|
|
128
|
+
rotation_speed: rx.Var[int | float] = field(
|
|
129
|
+
doc="Rotation speed of the ring. Default: 0."
|
|
130
|
+
)
|
|
131
|
+
depth_factor: rx.Var[int | float] = field(
|
|
132
|
+
doc="Z-axis depth multiplier. Default: 1."
|
|
133
|
+
)
|
|
134
|
+
pulse_speed: rx.Var[int | float] = field(
|
|
135
|
+
doc="Speed of particle size pulsation. Default: 3."
|
|
136
|
+
)
|
|
137
|
+
particle_shape: rx.Var[str] = field(
|
|
138
|
+
doc="Shape of the particles. Default: 'capsule'."
|
|
139
|
+
)
|
|
140
|
+
field_strength: rx.Var[int | float] = field(
|
|
141
|
+
doc="Tightness of the ring formation. Default: 10."
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class BlobCursor(ReactBitsComponent):
|
|
146
|
+
"""Organic blob cursor that smoothly follows the pointer with inertia and elastic morphing.
|
|
147
|
+
|
|
148
|
+
Docs: https://reactbits.dev/animations/blob-cursor
|
|
149
|
+
"""
|
|
150
|
+
|
|
151
|
+
tag = "BlobCursor"
|
|
152
|
+
alias = "ReactBitsBlobCursor"
|
|
153
|
+
is_default = True
|
|
154
|
+
_rb_category = "Animations"
|
|
155
|
+
_rb_name = "BlobCursor"
|
|
156
|
+
_rb_files = ('BlobCursor.css', 'BlobCursor.jsx')
|
|
157
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
158
|
+
|
|
159
|
+
blob_type: rx.Var[Literal["circle", "square"]] = field(
|
|
160
|
+
doc="Shape of the blobs. Default: 'circle'."
|
|
161
|
+
)
|
|
162
|
+
fill_color: rx.Var[str] = field(
|
|
163
|
+
doc="Background color of each blob. Default: '#5227FF'."
|
|
164
|
+
)
|
|
165
|
+
trail_count: rx.Var[int | float] = field(
|
|
166
|
+
doc="How many trailing blobs. Default: 3."
|
|
167
|
+
)
|
|
168
|
+
sizes: rx.Var[list[int | float]] = field(
|
|
169
|
+
doc="Sizes (px) of each blob. Length must be \u2265 trailCount. Default: [60, 125, 75]."
|
|
170
|
+
)
|
|
171
|
+
inner_sizes: rx.Var[list[int | float]] = field(
|
|
172
|
+
doc="Sizes (px) of inner dots. Length must be \u2265 trailCount. Default: [20, 35, 25]."
|
|
173
|
+
)
|
|
174
|
+
inner_color: rx.Var[str] = field(
|
|
175
|
+
doc="Background color of the inner dot. Default: 'rgba(255,255,255,0.8)'."
|
|
176
|
+
)
|
|
177
|
+
opacities: rx.Var[list[int | float]] = field(
|
|
178
|
+
doc="Opacity of each blob. Length \u2265 trailCount. Default: [0.6, 0.6, 0.6]."
|
|
179
|
+
)
|
|
180
|
+
shadow_color: rx.Var[str] = field(
|
|
181
|
+
doc="Box-shadow color. Default: 'rgba(0,0,0,0.75)'."
|
|
182
|
+
)
|
|
183
|
+
shadow_blur: rx.Var[int | float] = field(
|
|
184
|
+
doc="Box-shadow blur radius (px). Default: 5."
|
|
185
|
+
)
|
|
186
|
+
shadow_offset_x: rx.Var[int | float] = field(
|
|
187
|
+
doc="Box-shadow X offset (px). Default: 10."
|
|
188
|
+
)
|
|
189
|
+
shadow_offset_y: rx.Var[int | float] = field(
|
|
190
|
+
doc="Box-shadow Y offset (px). Default: 10."
|
|
191
|
+
)
|
|
192
|
+
filter_id: rx.Var[str] = field(
|
|
193
|
+
doc="Optional custom filter ID (for multiple instances). Default: 'blob'."
|
|
194
|
+
)
|
|
195
|
+
filter_std_deviation: rx.Var[int | float] = field(
|
|
196
|
+
doc="feGaussianBlur stdDeviation for SVG filter. Default: 30."
|
|
197
|
+
)
|
|
198
|
+
filter_color_matrix_values: rx.Var[str] = field(
|
|
199
|
+
doc="feColorMatrix values for SVG filter. Default: '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 35 -10'."
|
|
200
|
+
)
|
|
201
|
+
use_filter: rx.Var[bool] = field(
|
|
202
|
+
doc="Enable the SVG filter. Default: true."
|
|
203
|
+
)
|
|
204
|
+
fast_duration: rx.Var[int | float] = field(
|
|
205
|
+
doc="GSAP duration for the lead blob. Default: 0.1."
|
|
206
|
+
)
|
|
207
|
+
slow_duration: rx.Var[int | float] = field(
|
|
208
|
+
doc="GSAP duration for the following blobs. Default: 0.5."
|
|
209
|
+
)
|
|
210
|
+
fast_ease: rx.Var[str] = field(
|
|
211
|
+
doc="GSAP ease for the lead blob. Default: 'power3.out'."
|
|
212
|
+
)
|
|
213
|
+
slow_ease: rx.Var[str] = field(
|
|
214
|
+
doc="GSAP ease for the following blobs. Default: 'power1.out'."
|
|
215
|
+
)
|
|
216
|
+
z_index: rx.Var[int | float] = field(
|
|
217
|
+
doc="CSS z-index of the whole component. Default: 100."
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class ClickSpark(ReactBitsComponent):
|
|
222
|
+
"""Creates particle spark bursts at click position.
|
|
223
|
+
|
|
224
|
+
Docs: https://reactbits.dev/animations/click-spark
|
|
225
|
+
"""
|
|
226
|
+
|
|
227
|
+
tag = "ClickSpark"
|
|
228
|
+
alias = "ReactBitsClickSpark"
|
|
229
|
+
is_default = True
|
|
230
|
+
_rb_category = "Animations"
|
|
231
|
+
_rb_name = "ClickSpark"
|
|
232
|
+
_rb_files = ('ClickSpark.jsx',)
|
|
233
|
+
|
|
234
|
+
spark_color: rx.Var[str] = field(
|
|
235
|
+
doc="Color of each spark line. Default: '#fff'."
|
|
236
|
+
)
|
|
237
|
+
spark_size: rx.Var[int | float] = field(
|
|
238
|
+
doc="Initial length of each spark line. Default: 10."
|
|
239
|
+
)
|
|
240
|
+
spark_radius: rx.Var[int | float] = field(
|
|
241
|
+
doc="How far sparks travel from the click center. Default: 15."
|
|
242
|
+
)
|
|
243
|
+
spark_count: rx.Var[int | float] = field(
|
|
244
|
+
doc="Number of spark lines that appear on each click. Default: 8."
|
|
245
|
+
)
|
|
246
|
+
duration: rx.Var[int | float] = field(
|
|
247
|
+
doc="Animation duration in milliseconds. Default: 400."
|
|
248
|
+
)
|
|
249
|
+
easing: rx.Var[str] = field(
|
|
250
|
+
doc="Easing function used for the spark animation. Default: 'ease-out'."
|
|
251
|
+
)
|
|
252
|
+
extra_scale: rx.Var[int | float] = field(
|
|
253
|
+
doc="Additional multiplier for spark distance. Default: 1.0."
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
class Crosshair(ReactBitsComponent):
|
|
258
|
+
"""Custom crosshair cursor with tracking, and link hover effects.
|
|
259
|
+
|
|
260
|
+
Docs: https://reactbits.dev/animations/crosshair
|
|
261
|
+
"""
|
|
262
|
+
|
|
263
|
+
tag = "Crosshair"
|
|
264
|
+
alias = "ReactBitsCrosshair"
|
|
265
|
+
is_default = True
|
|
266
|
+
_rb_category = "Animations"
|
|
267
|
+
_rb_name = "Crosshair"
|
|
268
|
+
_rb_files = ('Crosshair.jsx',)
|
|
269
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
270
|
+
|
|
271
|
+
color: rx.Var[str] = field(
|
|
272
|
+
doc="Color of the crosshair lines. Default: 'white'."
|
|
273
|
+
)
|
|
274
|
+
container_ref: rx.Var[Any] = field(
|
|
275
|
+
doc="Optional container ref to limit crosshair to specific element. If null, crosshair will be active on entire viewport."
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
class Cubes(ReactBitsComponent):
|
|
280
|
+
"""3D rotating cube cluster. Supports auto-rotation or hover interaction.
|
|
281
|
+
|
|
282
|
+
Docs: https://reactbits.dev/animations/cubes
|
|
283
|
+
"""
|
|
284
|
+
|
|
285
|
+
tag = "Cubes"
|
|
286
|
+
alias = "ReactBitsCubes"
|
|
287
|
+
is_default = True
|
|
288
|
+
_rb_category = "Animations"
|
|
289
|
+
_rb_name = "Cubes"
|
|
290
|
+
_rb_files = ('Cubes.css', 'Cubes.jsx')
|
|
291
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
292
|
+
|
|
293
|
+
grid_size: rx.Var[int | float] = field(
|
|
294
|
+
doc="The size of the grid (number of cubes per row/column). Default: 10."
|
|
295
|
+
)
|
|
296
|
+
cube_size: rx.Var[int | float] = field(
|
|
297
|
+
doc="Fixed size of each cube in pixels. If not provided, cubes will be responsive."
|
|
298
|
+
)
|
|
299
|
+
max_angle: rx.Var[int | float] = field(
|
|
300
|
+
doc="Maximum rotation angle for the tilt effect in degrees. Default: 45."
|
|
301
|
+
)
|
|
302
|
+
radius: rx.Var[int | float] = field(
|
|
303
|
+
doc="Radius of the tilt effect (how many cubes around the cursor are affected). Default: 3."
|
|
304
|
+
)
|
|
305
|
+
easing: rx.Var[str] = field(
|
|
306
|
+
doc="GSAP easing function for the tilt animation. Default: 'power3.out'."
|
|
307
|
+
)
|
|
308
|
+
duration: rx.Var[dict[str, Any]] = field(
|
|
309
|
+
doc="Animation duration for enter and leave effects. Default: { enter: 0.3, leave: 0.6 }."
|
|
310
|
+
)
|
|
311
|
+
cell_gap: rx.Var[int | float | dict[str, Any]] = field(
|
|
312
|
+
doc="Gap between cubes. Can be a number or object with row/col properties."
|
|
313
|
+
)
|
|
314
|
+
border_style: rx.Var[str] = field(
|
|
315
|
+
doc="CSS border style for cube faces. Default: '1px solid #fff'."
|
|
316
|
+
)
|
|
317
|
+
face_color: rx.Var[str] = field(
|
|
318
|
+
doc="Background color for cube faces. Default: '#120F17'."
|
|
319
|
+
)
|
|
320
|
+
shadow: rx.Var[bool | str] = field(
|
|
321
|
+
doc="Shadow effect for cubes. Can be boolean or custom CSS shadow. Default: false."
|
|
322
|
+
)
|
|
323
|
+
auto_animate: rx.Var[bool] = field(
|
|
324
|
+
doc="Whether to automatically animate when user is idle. Default: true."
|
|
325
|
+
)
|
|
326
|
+
ripple_on_click: rx.Var[bool] = field(
|
|
327
|
+
doc="Whether to show ripple effect on click. Default: true."
|
|
328
|
+
)
|
|
329
|
+
ripple_color: rx.Var[str] = field(
|
|
330
|
+
doc="Color of the ripple effect. Default: '#fff'."
|
|
331
|
+
)
|
|
332
|
+
ripple_speed: rx.Var[int | float] = field(
|
|
333
|
+
doc="Speed multiplier for the ripple animation. Default: 2."
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
class CursorGrid(ReactBitsComponent):
|
|
338
|
+
"""Canvas grid whose cells light up around the cursor with configurable radius, falloff and click pulses.
|
|
339
|
+
|
|
340
|
+
Docs: https://reactbits.dev/animations/cursor-grid
|
|
341
|
+
"""
|
|
342
|
+
|
|
343
|
+
tag = "CursorGrid"
|
|
344
|
+
alias = "ReactBitsCursorGrid"
|
|
345
|
+
is_default = True
|
|
346
|
+
_rb_category = "Animations"
|
|
347
|
+
_rb_name = "CursorGrid"
|
|
348
|
+
_rb_files = ('CursorGrid.css', 'CursorGrid.jsx')
|
|
349
|
+
|
|
350
|
+
cell_size: rx.Var[int | float] = field(
|
|
351
|
+
doc="Size of each grid cell in pixels. Default: 70."
|
|
352
|
+
)
|
|
353
|
+
color: rx.Var[str] = field(
|
|
354
|
+
doc="Color of the cell strokes, fills and pulses. Default: '#D946EF'."
|
|
355
|
+
)
|
|
356
|
+
radius: rx.Var[int | float] = field(
|
|
357
|
+
doc="Radius in pixels around the cursor within which cells light up. Default: 140."
|
|
358
|
+
)
|
|
359
|
+
falloff: rx.Var[Literal["linear", "smooth", "sharp"]] = field(
|
|
360
|
+
doc="Curve mapping distance from the cursor to cell brightness. Default: 'smooth'."
|
|
361
|
+
)
|
|
362
|
+
hold_time: rx.Var[int | float] = field(
|
|
363
|
+
doc="How long in milliseconds a cell stays lit before it starts fading. Default: 400."
|
|
364
|
+
)
|
|
365
|
+
fade_duration: rx.Var[int | float] = field(
|
|
366
|
+
doc="How long in milliseconds a fully lit cell takes to fade out. Default: 800."
|
|
367
|
+
)
|
|
368
|
+
line_width: rx.Var[int | float] = field(
|
|
369
|
+
doc="Stroke width of the cell outlines. Default: 1.2."
|
|
370
|
+
)
|
|
371
|
+
max_opacity: rx.Var[int | float] = field(
|
|
372
|
+
doc="Peak opacity of a cell at the cursor position. Default: 1."
|
|
373
|
+
)
|
|
374
|
+
fill_opacity: rx.Var[int | float] = field(
|
|
375
|
+
doc="Translucent fill of lit cells; 0 disables the fill. Default: 0."
|
|
376
|
+
)
|
|
377
|
+
grid_opacity: rx.Var[int | float] = field(
|
|
378
|
+
doc="Opacity of a faint always-visible lattice; 0 hides it. Default: 0."
|
|
379
|
+
)
|
|
380
|
+
cell_radius: rx.Var[int | float] = field(
|
|
381
|
+
doc="Corner radius of the cells in pixels. Default: 0."
|
|
382
|
+
)
|
|
383
|
+
click_pulse: rx.Var[bool] = field(
|
|
384
|
+
doc="Emit an expanding ring of lit cells on click. Default: true."
|
|
385
|
+
)
|
|
386
|
+
pulse_speed: rx.Var[int | float] = field(
|
|
387
|
+
doc="Expansion speed of the click ring in pixels per second. Default: 600."
|
|
388
|
+
)
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
class ElasticMesh(ReactBitsComponent):
|
|
392
|
+
"""Spring-mesh surface that stretches under the pointer and settles back with damped physics.
|
|
393
|
+
|
|
394
|
+
Docs: https://reactbits.dev/animations/elastic-mesh
|
|
395
|
+
"""
|
|
396
|
+
|
|
397
|
+
tag = "ElasticMesh"
|
|
398
|
+
alias = "ReactBitsElasticMesh"
|
|
399
|
+
is_default = True
|
|
400
|
+
_rb_category = "Animations"
|
|
401
|
+
_rb_name = "ElasticMesh"
|
|
402
|
+
_rb_files = ('ElasticMesh.css', 'ElasticMesh.jsx')
|
|
403
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
404
|
+
|
|
405
|
+
image: rx.Var[str] = field(
|
|
406
|
+
doc="Optional image URL to warp. When empty, a color gradient surface is rendered instead."
|
|
407
|
+
)
|
|
408
|
+
color1: rx.Var[str] = field(
|
|
409
|
+
doc="Top color of the gradient surface. Default: '#5227FF'."
|
|
410
|
+
)
|
|
411
|
+
color2: rx.Var[str] = field(
|
|
412
|
+
doc="Bottom color of the gradient surface. Default: '#B19EEF'."
|
|
413
|
+
)
|
|
414
|
+
highlight: rx.Var[str] = field(
|
|
415
|
+
doc="Specular highlight color used by the shading. Default: '#ffffff'."
|
|
416
|
+
)
|
|
417
|
+
show_grid: rx.Var[bool] = field(
|
|
418
|
+
doc="Draw the mesh lattice over the surface. Default: true."
|
|
419
|
+
)
|
|
420
|
+
grid_density: rx.Var[int | float] = field(
|
|
421
|
+
doc="Number of lattice cells across the sheet. Default: 20."
|
|
422
|
+
)
|
|
423
|
+
grid_opacity: rx.Var[int | float] = field(
|
|
424
|
+
doc="Opacity of the lattice lines. Default: 0.28."
|
|
425
|
+
)
|
|
426
|
+
grid_color: rx.Var[str] = field(
|
|
427
|
+
doc="Color of the lattice lines. Default: '#ffffff'."
|
|
428
|
+
)
|
|
429
|
+
border_radius: rx.Var[int | float] = field(
|
|
430
|
+
doc="Corner radius of the sheet in pixels. Default: 25."
|
|
431
|
+
)
|
|
432
|
+
stiffness: rx.Var[int | float] = field(
|
|
433
|
+
doc="How hard the mesh springs back to flat. Higher settles faster. Default: 0.05."
|
|
434
|
+
)
|
|
435
|
+
damping: rx.Var[int | float] = field(
|
|
436
|
+
doc="How quickly wobbles die out. Higher damping settles faster with fewer oscillations. Default: 0.2."
|
|
437
|
+
)
|
|
438
|
+
grab_radius: rx.Var[int | float] = field(
|
|
439
|
+
doc="How much of the sheet the pointer grabs (fraction of the surface). Default: 0.6."
|
|
440
|
+
)
|
|
441
|
+
pull: rx.Var[int | float] = field(
|
|
442
|
+
doc="How far the surface stretches toward the pointer. Default: 0.4."
|
|
443
|
+
)
|
|
444
|
+
wobble: rx.Var[int | float] = field(
|
|
445
|
+
doc="Neighbor coupling \u2014 higher spreads the deformation into more visible ripples. Default: 5."
|
|
446
|
+
)
|
|
447
|
+
tilt: rx.Var[int | float] = field(
|
|
448
|
+
doc="Perspective tilt of the sheet in degrees. Default: 14."
|
|
449
|
+
)
|
|
450
|
+
shading: rx.Var[int | float] = field(
|
|
451
|
+
doc="Fake lighting strength that gives the warp depth. Keep above 0 to read the deformation. Default: 0.5."
|
|
452
|
+
)
|
|
453
|
+
resolution: rx.Var[int | float] = field(
|
|
454
|
+
doc="Mesh grid density (nodes per side). Default: 25."
|
|
455
|
+
)
|
|
456
|
+
interaction: rx.Var[Literal["hover", "drag"]] = field(
|
|
457
|
+
doc="Whether the mesh reacts to hover or only while dragging. Default: 'hover'."
|
|
458
|
+
)
|
|
459
|
+
enabled: rx.Var[bool] = field(
|
|
460
|
+
doc="Enables or disables the pointer interaction. Default: true."
|
|
461
|
+
)
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
class ElectricBorder(ReactBitsComponent):
|
|
465
|
+
"""Jittery electric energy border with animated arcs, glow and adjustable intensity.
|
|
466
|
+
|
|
467
|
+
Docs: https://reactbits.dev/animations/electric-border
|
|
468
|
+
"""
|
|
469
|
+
|
|
470
|
+
tag = "ElectricBorder"
|
|
471
|
+
alias = "ReactBitsElectricBorder"
|
|
472
|
+
is_default = True
|
|
473
|
+
_rb_category = "Animations"
|
|
474
|
+
_rb_name = "ElectricBorder"
|
|
475
|
+
_rb_files = ('ElectricBorder.css', 'ElectricBorder.jsx')
|
|
476
|
+
|
|
477
|
+
color: rx.Var[str] = field(
|
|
478
|
+
doc="Stroke/glow color. Any CSS color (hex, rgb, hsl). Default: '#5227FF'."
|
|
479
|
+
)
|
|
480
|
+
speed: rx.Var[int | float] = field(
|
|
481
|
+
doc="Animation speed multiplier (higher = faster). Default: 1."
|
|
482
|
+
)
|
|
483
|
+
chaos: rx.Var[int | float] = field(
|
|
484
|
+
doc="Distortion intensity (0 = no distortion, higher = more chaotic). Default: 0.12."
|
|
485
|
+
)
|
|
486
|
+
border_radius: rx.Var[int | float] = field(
|
|
487
|
+
doc="Border radius in pixels for the electric border path. Default: 24."
|
|
488
|
+
)
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
class FadeContent(ReactBitsComponent):
|
|
492
|
+
"""Simple directional fade / slide entrance / exit wrapper with threshold-based activation.
|
|
493
|
+
|
|
494
|
+
Docs: https://reactbits.dev/animations/fade-content
|
|
495
|
+
"""
|
|
496
|
+
|
|
497
|
+
tag = "FadeContent"
|
|
498
|
+
alias = "ReactBitsFadeContent"
|
|
499
|
+
is_default = True
|
|
500
|
+
_rb_category = "Animations"
|
|
501
|
+
_rb_name = "FadeContent"
|
|
502
|
+
_rb_files = ('FadeContent.jsx',)
|
|
503
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
504
|
+
|
|
505
|
+
container: rx.Var[Any] = field(
|
|
506
|
+
doc="The `container` prop."
|
|
507
|
+
)
|
|
508
|
+
blur: rx.Var[bool] = field(
|
|
509
|
+
doc="Enables a blur effect during the animation. Default: false."
|
|
510
|
+
)
|
|
511
|
+
duration: rx.Var[int | float] = field(
|
|
512
|
+
doc="Specifies the duration of the fade animation in seconds. Default: 1000."
|
|
513
|
+
)
|
|
514
|
+
ease: rx.Var[str] = field(
|
|
515
|
+
doc="GSAP easing function for the fade animation. Default: 'power2.out'."
|
|
516
|
+
)
|
|
517
|
+
delay: rx.Var[int | float] = field(
|
|
518
|
+
doc="Adds a delay in seconds before triggering the animation. Default: 0."
|
|
519
|
+
)
|
|
520
|
+
threshold: rx.Var[int | float] = field(
|
|
521
|
+
doc="IntersectionObserver threshold for triggering the fade animation. Default: 0.1."
|
|
522
|
+
)
|
|
523
|
+
initial_opacity: rx.Var[int | float] = field(
|
|
524
|
+
doc="The starting opacity of the component before it enters the viewport. Default: 0."
|
|
525
|
+
)
|
|
526
|
+
disappear_after: rx.Var[int | float] = field(
|
|
527
|
+
doc="Time in seconds after which the content will start to disappear. Disables if set to 0. Default: 0."
|
|
528
|
+
)
|
|
529
|
+
disappear_duration: rx.Var[int | float] = field(
|
|
530
|
+
doc="Duration of the disappearance animation in seconds. Default: 0.5."
|
|
531
|
+
)
|
|
532
|
+
disappear_ease: rx.Var[str] = field(
|
|
533
|
+
doc="GSAP easing function for the disappearance animation. Default: 'power2.in'."
|
|
534
|
+
)
|
|
535
|
+
on_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
536
|
+
doc="Fired by the component's onComplete callback."
|
|
537
|
+
)
|
|
538
|
+
on_disappearance_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
539
|
+
doc="Fired by the component's onDisappearanceComplete callback."
|
|
540
|
+
)
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
class GhostCursor(ReactBitsComponent):
|
|
544
|
+
"""Semi-transparent ghost cursor that smoothly follows the real cursor with a trailing effect.
|
|
545
|
+
|
|
546
|
+
Docs: https://reactbits.dev/animations/ghost-cursor
|
|
547
|
+
"""
|
|
548
|
+
|
|
549
|
+
tag = "GhostCursor"
|
|
550
|
+
alias = "ReactBitsGhostCursor"
|
|
551
|
+
is_default = True
|
|
552
|
+
_rb_category = "Animations"
|
|
553
|
+
_rb_name = "GhostCursor"
|
|
554
|
+
_rb_files = ('GhostCursor.css', 'GhostCursor.jsx')
|
|
555
|
+
lib_dependencies: list[str] = ['three@0.180.0']
|
|
556
|
+
|
|
557
|
+
trail_length: rx.Var[int | float] = field(
|
|
558
|
+
doc="Number of points stored for the cursor trail (longer = longer smear). Default: 50."
|
|
559
|
+
)
|
|
560
|
+
inertia: rx.Var[int | float] = field(
|
|
561
|
+
doc="Velocity retention when the pointer stops. Higher values make the cursor glide longer. Default: 0.5."
|
|
562
|
+
)
|
|
563
|
+
grain_intensity: rx.Var[int | float] = field(
|
|
564
|
+
doc="Strength of the film grain post-processing pass. Default: 0.05."
|
|
565
|
+
)
|
|
566
|
+
bloom_strength: rx.Var[int | float] = field(
|
|
567
|
+
doc="UnrealBloom effect strength. Default: 0.1."
|
|
568
|
+
)
|
|
569
|
+
bloom_radius: rx.Var[int | float] = field(
|
|
570
|
+
doc="UnrealBloom radius controlling spread of glow. Default: 1.0."
|
|
571
|
+
)
|
|
572
|
+
bloom_threshold: rx.Var[int | float] = field(
|
|
573
|
+
doc="UnrealBloom threshold; lower includes more pixels in bloom. Default: 0.025."
|
|
574
|
+
)
|
|
575
|
+
brightness: rx.Var[int | float] = field(
|
|
576
|
+
doc="Final brightness multiplier applied to the effect color. Default: 1."
|
|
577
|
+
)
|
|
578
|
+
color: rx.Var[str] = field(
|
|
579
|
+
doc="Base color of the ghost cursor effect. Default: '#B497CF'."
|
|
580
|
+
)
|
|
581
|
+
mix_blend_mode: rx.Var[str] = field(
|
|
582
|
+
doc="Blend mode used when compositing with page content. Default: 'screen'."
|
|
583
|
+
)
|
|
584
|
+
edge_intensity: rx.Var[int | float] = field(
|
|
585
|
+
doc="Darkening near edges of the canvas. 0 = none, 1 = strongest. Default: 0."
|
|
586
|
+
)
|
|
587
|
+
max_device_pixel_ratio: rx.Var[int | float] = field(
|
|
588
|
+
doc="Upper cap for devicePixelRatio to control render cost on high-DPR displays. Default: 0.5."
|
|
589
|
+
)
|
|
590
|
+
target_pixels: rx.Var[int | float] = field(
|
|
591
|
+
doc="Pixel budget. Resolution is dynamically scaled to keep total pixel count under this budget. Default: auto (~1.3e6 desktop, ~0.9e6 touch)."
|
|
592
|
+
)
|
|
593
|
+
fade_delay_ms: rx.Var[int | float] = field(
|
|
594
|
+
doc="Idle delay before the trail starts to fade after pointer leaves/stops. Default: auto (1000 desktop, 500 touch)."
|
|
595
|
+
)
|
|
596
|
+
fade_duration_ms: rx.Var[int | float] = field(
|
|
597
|
+
doc="Duration of the trail fade-out once the delay has elapsed. Default: auto (1500 desktop, 1000 touch)."
|
|
598
|
+
)
|
|
599
|
+
z_index: rx.Var[int | float] = field(
|
|
600
|
+
doc="z-index applied to the canvas for layering above/below content. Default: 10."
|
|
601
|
+
)
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
class GlareHover(ReactBitsComponent):
|
|
605
|
+
"""Adds a realistic moving glare highlight on hover over any element.
|
|
606
|
+
|
|
607
|
+
Docs: https://reactbits.dev/animations/glare-hover
|
|
608
|
+
"""
|
|
609
|
+
|
|
610
|
+
tag = "GlareHover"
|
|
611
|
+
alias = "ReactBitsGlareHover"
|
|
612
|
+
is_default = True
|
|
613
|
+
_rb_category = "Animations"
|
|
614
|
+
_rb_name = "GlareHover"
|
|
615
|
+
_rb_files = ('GlareHover.css', 'GlareHover.jsx')
|
|
616
|
+
|
|
617
|
+
width: rx.Var[str] = field(
|
|
618
|
+
doc="The width of the hover element. Default: '500px'."
|
|
619
|
+
)
|
|
620
|
+
height: rx.Var[str] = field(
|
|
621
|
+
doc="The height of the hover element. Default: '500px'."
|
|
622
|
+
)
|
|
623
|
+
background: rx.Var[str] = field(
|
|
624
|
+
doc="The background color of the element. Default: '#000'."
|
|
625
|
+
)
|
|
626
|
+
border_radius: rx.Var[str] = field(
|
|
627
|
+
doc="The border radius of the element. Default: '10px'."
|
|
628
|
+
)
|
|
629
|
+
border_color: rx.Var[str] = field(
|
|
630
|
+
doc="The border color of the element. Default: '#333'."
|
|
631
|
+
)
|
|
632
|
+
glare_color: rx.Var[str] = field(
|
|
633
|
+
doc="The color of the glare effect (hex format). Default: '#ffffff'."
|
|
634
|
+
)
|
|
635
|
+
glare_opacity: rx.Var[int | float] = field(
|
|
636
|
+
doc="The opacity of the glare effect (0-1). Default: 0.5."
|
|
637
|
+
)
|
|
638
|
+
glare_angle: rx.Var[int | float] = field(
|
|
639
|
+
doc="The angle of the glare effect in degrees. Default: -45."
|
|
640
|
+
)
|
|
641
|
+
glare_size: rx.Var[int | float] = field(
|
|
642
|
+
doc="The size of the glare effect as a percentage (e.g. 250 = 250%). Default: 250."
|
|
643
|
+
)
|
|
644
|
+
transition_duration: rx.Var[int | float] = field(
|
|
645
|
+
doc="The duration of the transition in milliseconds. Default: 650."
|
|
646
|
+
)
|
|
647
|
+
play_once: rx.Var[bool] = field(
|
|
648
|
+
doc="If true, the glare only animates on hover and doesn't return on mouse leave. Default: false."
|
|
649
|
+
)
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
class GlowCursor(ReactBitsComponent):
|
|
653
|
+
"""Shader-powered light trail that smoothly follows the pointer with customizable glow, color, taper and pulse.
|
|
654
|
+
|
|
655
|
+
Docs: https://reactbits.dev/animations/glow-cursor
|
|
656
|
+
"""
|
|
657
|
+
|
|
658
|
+
tag = "GlowCursor"
|
|
659
|
+
alias = "ReactBitsGlowCursor"
|
|
660
|
+
is_default = True
|
|
661
|
+
_rb_category = "Animations"
|
|
662
|
+
_rb_name = "GlowCursor"
|
|
663
|
+
_rb_files = ('GlowCursor.css', 'GlowCursor.jsx')
|
|
664
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
665
|
+
|
|
666
|
+
color: rx.Var[str] = field(
|
|
667
|
+
doc="Color at the bright head of the trail. Default: '#67E8F9'."
|
|
668
|
+
)
|
|
669
|
+
secondary_color: rx.Var[str] = field(
|
|
670
|
+
doc="Color blended into the end of the trail. Default: '#A78BFA'."
|
|
671
|
+
)
|
|
672
|
+
trail_length: rx.Var[int | float] = field(
|
|
673
|
+
doc="Number of smoothed points used to build the trail, from 2 to 64. Default: 40."
|
|
674
|
+
)
|
|
675
|
+
trail_width: rx.Var[int | float] = field(
|
|
676
|
+
doc="Width of the luminous trail core in pixels. Default: 8."
|
|
677
|
+
)
|
|
678
|
+
trail_taper: rx.Var[int | float] = field(
|
|
679
|
+
doc="How strongly the trail narrows and dims toward its tail. Default: 0.8."
|
|
680
|
+
)
|
|
681
|
+
follow_speed: rx.Var[int | float] = field(
|
|
682
|
+
doc="How quickly the glowing head catches the pointer. Default: 0.16."
|
|
683
|
+
)
|
|
684
|
+
glow_intensity: rx.Var[int | float] = field(
|
|
685
|
+
doc="Strength of the soft inverse-square halo around the trail. Default: 1.9."
|
|
686
|
+
)
|
|
687
|
+
glow_spread: rx.Var[int | float] = field(
|
|
688
|
+
doc="Distance the outer glow spreads from the trail core. Default: 1.2."
|
|
689
|
+
)
|
|
690
|
+
hotspot: rx.Var[int | float] = field(
|
|
691
|
+
doc="Amount of white-hot color added to the brightest part of the trail. Default: 0.65."
|
|
692
|
+
)
|
|
693
|
+
brightness: rx.Var[int | float] = field(
|
|
694
|
+
doc="Final luminance multiplier for the shader. Default: 1.25."
|
|
695
|
+
)
|
|
696
|
+
opacity: rx.Var[int | float] = field(
|
|
697
|
+
doc="Overall trail opacity. Default: 1."
|
|
698
|
+
)
|
|
699
|
+
pulse_speed: rx.Var[int | float] = field(
|
|
700
|
+
doc="Speed of the energy pulse travelling through the trail. Set to 0 to stop it. Default: 1.1."
|
|
701
|
+
)
|
|
702
|
+
noise_strength: rx.Var[int | float] = field(
|
|
703
|
+
doc="Amount of fine animated texture in the glow. Default: 0.035."
|
|
704
|
+
)
|
|
705
|
+
idle_fade: rx.Var[bool] = field(
|
|
706
|
+
doc="Fade the effect when the pointer stops or leaves the container. Default: true."
|
|
707
|
+
)
|
|
708
|
+
idle_timeout: rx.Var[int | float] = field(
|
|
709
|
+
doc="Idle time in milliseconds before fading begins. Default: 700."
|
|
710
|
+
)
|
|
711
|
+
fade_duration: rx.Var[int | float] = field(
|
|
712
|
+
doc="Approximate duration of the idle fade in milliseconds. Default: 900."
|
|
713
|
+
)
|
|
714
|
+
blend_mode: rx.Var[Literal["normal", "screen", "plus-lighter"]] = field(
|
|
715
|
+
doc="CSS blend mode used to composite the canvas over its content. Default: 'screen'."
|
|
716
|
+
)
|
|
717
|
+
max_device_pixel_ratio: rx.Var[int | float] = field(
|
|
718
|
+
doc="Render-resolution cap for balancing sharpness and GPU cost. Default: 1.5."
|
|
719
|
+
)
|
|
720
|
+
enabled: rx.Var[bool] = field(
|
|
721
|
+
doc="Enable or fade out the cursor effect. Default: true."
|
|
722
|
+
)
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
class GradualBlur(ReactBitsComponent):
|
|
726
|
+
"""Progressively un-blurs content based on scroll or trigger creating a cinematic reveal.
|
|
727
|
+
|
|
728
|
+
Docs: https://reactbits.dev/animations/gradual-blur
|
|
729
|
+
"""
|
|
730
|
+
|
|
731
|
+
tag = "GradualBlur"
|
|
732
|
+
alias = "ReactBitsGradualBlur"
|
|
733
|
+
is_default = True
|
|
734
|
+
_rb_category = "Animations"
|
|
735
|
+
_rb_name = "GradualBlur"
|
|
736
|
+
_rb_files = ('GradualBlur.css', 'GradualBlur.jsx')
|
|
737
|
+
|
|
738
|
+
position: rx.Var[Literal["top", "bottom", "left", "right"]] = field(
|
|
739
|
+
doc="Edge to attach the blur overlay. Default: 'bottom'."
|
|
740
|
+
)
|
|
741
|
+
strength: rx.Var[int | float] = field(
|
|
742
|
+
doc="Base blur strength multiplier (affects each layer). Default: 2."
|
|
743
|
+
)
|
|
744
|
+
height: rx.Var[str] = field(
|
|
745
|
+
doc="Overlay height (for top / bottom positions). Default: '6rem'."
|
|
746
|
+
)
|
|
747
|
+
div_count: rx.Var[int | float] = field(
|
|
748
|
+
doc="Number of stacked blur layers (higher = smoother gradient). Default: 5."
|
|
749
|
+
)
|
|
750
|
+
exponential: rx.Var[bool] = field(
|
|
751
|
+
doc="Use exponential progression for stronger end blur. Default: false."
|
|
752
|
+
)
|
|
753
|
+
z_index: rx.Var[int | float] = field(
|
|
754
|
+
doc="Base z-index (page target adds +100). Default: 1000."
|
|
755
|
+
)
|
|
756
|
+
animated: rx.Var[Literal["boolean", "scroll"]] = field(
|
|
757
|
+
doc="Fade in (true) or reveal on scroll (\"scroll\"). Default: false."
|
|
758
|
+
)
|
|
759
|
+
duration: rx.Var[str] = field(
|
|
760
|
+
doc="Animation duration (when animated). Default: '0.3s'."
|
|
761
|
+
)
|
|
762
|
+
easing: rx.Var[str] = field(
|
|
763
|
+
doc="Animation easing (opacity / backdrop-filter). Default: 'ease-out'."
|
|
764
|
+
)
|
|
765
|
+
opacity: rx.Var[int | float] = field(
|
|
766
|
+
doc="Opacity applied to each blur layer. Default: 1."
|
|
767
|
+
)
|
|
768
|
+
curve: rx.Var[Literal["linear", "bezier", "ease-in"]] = field(
|
|
769
|
+
doc="Distribution curve applied to layer progression. Default: 'linear'."
|
|
770
|
+
)
|
|
771
|
+
responsive: rx.Var[bool] = field(
|
|
772
|
+
doc="Enable internal responsive recalculation (experimental). Default: false."
|
|
773
|
+
)
|
|
774
|
+
target: rx.Var[Literal["parent", "page"]] = field(
|
|
775
|
+
doc="Position relative to parent container or the entire page (fixed). Default: 'parent'."
|
|
776
|
+
)
|
|
777
|
+
width: rx.Var[str] = field(
|
|
778
|
+
doc="Custom width (optional). Defaults to 100% for vertical positions or matches height for horizontal positions. Default: \u2014."
|
|
779
|
+
)
|
|
780
|
+
hover_intensity: rx.Var[int | float] = field(
|
|
781
|
+
doc="Multiplier applied to strength while hovered. Default: \u2014."
|
|
782
|
+
)
|
|
783
|
+
preset: rx.Var[Literal["top", "bottom", "left", "right"]] = field(
|
|
784
|
+
doc="Apply a predefined configuration bundle. Default: \u2014."
|
|
785
|
+
)
|
|
786
|
+
on_animation_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
787
|
+
doc="Callback fired after animated reveal completes."
|
|
788
|
+
)
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
class HalftoneReveal(ReactBitsComponent):
|
|
792
|
+
"""Print-style halftone dot matrix that resolves into sharp content around the cursor.
|
|
793
|
+
|
|
794
|
+
Docs: https://reactbits.dev/animations/halftone-reveal
|
|
795
|
+
"""
|
|
796
|
+
|
|
797
|
+
tag = "HalftoneReveal"
|
|
798
|
+
alias = "ReactBitsHalftoneReveal"
|
|
799
|
+
is_default = True
|
|
800
|
+
_rb_category = "Animations"
|
|
801
|
+
_rb_name = "HalftoneReveal"
|
|
802
|
+
_rb_files = ('HalftoneReveal.css', 'HalftoneReveal.jsx')
|
|
803
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
804
|
+
|
|
805
|
+
src: rx.Var[str] = field(
|
|
806
|
+
doc="Image URL rendered as a halftone print. Default: DEFAULT_SRC."
|
|
807
|
+
)
|
|
808
|
+
ink_color: rx.Var[str] = field(
|
|
809
|
+
doc="Colour of the printed dots (hex). Default: '#141414'."
|
|
810
|
+
)
|
|
811
|
+
paper_color: rx.Var[str] = field(
|
|
812
|
+
doc="Colour of the paper behind the ink (hex). Default: '#fff7e6'."
|
|
813
|
+
)
|
|
814
|
+
mode: rx.Var[Literal["mono", "duotone", "color"]] = field(
|
|
815
|
+
doc="Screen model: single ink, two-ink riso, or a CMYK rosette. Default: 'mono'."
|
|
816
|
+
)
|
|
817
|
+
dot_size: rx.Var[int | float] = field(
|
|
818
|
+
doc="Overall scale of each ink dot. Default: 1."
|
|
819
|
+
)
|
|
820
|
+
dot_density: rx.Var[int | float] = field(
|
|
821
|
+
doc="Number of dot cells across the frame. Default: 71."
|
|
822
|
+
)
|
|
823
|
+
angle: rx.Var[int | float] = field(
|
|
824
|
+
doc="Rotation of the halftone screen, in degrees. Default: 45."
|
|
825
|
+
)
|
|
826
|
+
shape: rx.Var[Literal["circle", "square", "diamond", "line"]] = field(
|
|
827
|
+
doc="Shape of each printed dot. Default: 'circle'."
|
|
828
|
+
)
|
|
829
|
+
contrast: rx.Var[int | float] = field(
|
|
830
|
+
doc="Tonal contrast applied before screening. Default: 1.15."
|
|
831
|
+
)
|
|
832
|
+
invert: rx.Var[bool] = field(
|
|
833
|
+
doc="Invert the tones (negative print). Default: false."
|
|
834
|
+
)
|
|
835
|
+
reveal_radius: rx.Var[int | float] = field(
|
|
836
|
+
doc="Radius of the sharp loupe around the cursor. Default: 0.4."
|
|
837
|
+
)
|
|
838
|
+
edge: rx.Var[int | float] = field(
|
|
839
|
+
doc="Hardness of the loupe boundary (0 soft, 1 hard). Default: 0.8."
|
|
840
|
+
)
|
|
841
|
+
follow: rx.Var[int | float] = field(
|
|
842
|
+
doc="Loupe follow time in seconds (lower = snappier). Default: 0.37."
|
|
843
|
+
)
|
|
844
|
+
idle_reveal: rx.Var[int | float] = field(
|
|
845
|
+
doc="Baseline sharpness applied everywhere with no cursor. Default: 0."
|
|
846
|
+
)
|
|
847
|
+
trigger: rx.Var[Literal["hover", "always", "off"]] = field(
|
|
848
|
+
doc="When the loupe is active. Default: 'hover'."
|
|
849
|
+
)
|
|
850
|
+
border_radius: rx.Var[str] = field(
|
|
851
|
+
doc="Corner radius of the frame. Default: '16px'."
|
|
852
|
+
)
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
class ImageTrail(ReactBitsComponent):
|
|
856
|
+
"""Cursor-based image trail with several built-in variants.
|
|
857
|
+
|
|
858
|
+
Docs: https://reactbits.dev/animations/image-trail
|
|
859
|
+
"""
|
|
860
|
+
|
|
861
|
+
tag = "ImageTrail"
|
|
862
|
+
alias = "ReactBitsImageTrail"
|
|
863
|
+
is_default = True
|
|
864
|
+
_rb_category = "Animations"
|
|
865
|
+
_rb_name = "ImageTrail"
|
|
866
|
+
_rb_files = ('ImageTrail.css', 'ImageTrail.jsx')
|
|
867
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
868
|
+
|
|
869
|
+
items: rx.Var[list[str]] = field(
|
|
870
|
+
doc="An array of image URLs which will be animated in the trail. Default: []."
|
|
871
|
+
)
|
|
872
|
+
variant: rx.Var[int | float] = field(
|
|
873
|
+
doc="A number from 1 to 8 - all different animation styles. Default: 1."
|
|
874
|
+
)
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
class LaserFlow(ReactBitsComponent):
|
|
878
|
+
"""Dynamic laser light that flows onto a surface, customizable effect.
|
|
879
|
+
|
|
880
|
+
Docs: https://reactbits.dev/animations/laser-flow
|
|
881
|
+
"""
|
|
882
|
+
|
|
883
|
+
tag = "LaserFlow"
|
|
884
|
+
alias = "ReactBitsLaserFlow"
|
|
885
|
+
is_default = True
|
|
886
|
+
_rb_category = "Animations"
|
|
887
|
+
_rb_name = "LaserFlow"
|
|
888
|
+
_rb_files = ('LaserFlow.css', 'LaserFlow.jsx')
|
|
889
|
+
lib_dependencies: list[str] = ['three@0.180.0']
|
|
890
|
+
|
|
891
|
+
wisp_density: rx.Var[int | float] = field(
|
|
892
|
+
doc="Density of micro-streak wisps. Default: 1."
|
|
893
|
+
)
|
|
894
|
+
dpr: rx.Var[int | float] = field(
|
|
895
|
+
doc="Device pixel ratio override (defaults to window.devicePixelRatio). Default: auto."
|
|
896
|
+
)
|
|
897
|
+
mouse_smooth_time: rx.Var[int | float] = field(
|
|
898
|
+
doc="Pointer smoothing time (seconds). Default: 0.0."
|
|
899
|
+
)
|
|
900
|
+
mouse_tilt_strength: rx.Var[int | float] = field(
|
|
901
|
+
doc="How much mouse x tilts the fog volume. Default: 0.01."
|
|
902
|
+
)
|
|
903
|
+
horizontal_beam_offset: rx.Var[int | float] = field(
|
|
904
|
+
doc="Horizontal offset of the beam (0\u20131 of canvas width). Default: 0.1."
|
|
905
|
+
)
|
|
906
|
+
vertical_beam_offset: rx.Var[int | float] = field(
|
|
907
|
+
doc="Vertical offset of the beam (0\u20131 of canvas height). Default: 0.0."
|
|
908
|
+
)
|
|
909
|
+
flow_speed: rx.Var[int | float] = field(
|
|
910
|
+
doc="Speed of the beam\u2019s flow modulation. Default: 0.35."
|
|
911
|
+
)
|
|
912
|
+
vertical_sizing: rx.Var[int | float] = field(
|
|
913
|
+
doc="Vertical sizing factor of the beam footprint. Default: 2.0."
|
|
914
|
+
)
|
|
915
|
+
horizontal_sizing: rx.Var[int | float] = field(
|
|
916
|
+
doc="Horizontal sizing factor of the beam footprint. Default: 0.5."
|
|
917
|
+
)
|
|
918
|
+
fog_intensity: rx.Var[int | float] = field(
|
|
919
|
+
doc="Overall volumetric fog intensity. Default: 0.45."
|
|
920
|
+
)
|
|
921
|
+
fog_scale: rx.Var[int | float] = field(
|
|
922
|
+
doc="Spatial scale for the fog noise. Default: 0.3."
|
|
923
|
+
)
|
|
924
|
+
wisp_speed: rx.Var[int | float] = field(
|
|
925
|
+
doc="Speed of wisp motion. Default: 15.0."
|
|
926
|
+
)
|
|
927
|
+
wisp_intensity: rx.Var[int | float] = field(
|
|
928
|
+
doc="Brightness of wisps. Default: 5.0."
|
|
929
|
+
)
|
|
930
|
+
flow_strength: rx.Var[int | float] = field(
|
|
931
|
+
doc="Strength of the beam\u2019s flow modulation. Default: 0.25."
|
|
932
|
+
)
|
|
933
|
+
decay: rx.Var[int | float] = field(
|
|
934
|
+
doc="Beam decay shaping for sampling envelope. Default: 1.1."
|
|
935
|
+
)
|
|
936
|
+
falloff_start: rx.Var[int | float] = field(
|
|
937
|
+
doc="Falloff start radius used in inverse-square blending. Default: 1.2."
|
|
938
|
+
)
|
|
939
|
+
fog_fall_speed: rx.Var[int | float] = field(
|
|
940
|
+
doc="Drift speed for the fog field. Default: 0.6."
|
|
941
|
+
)
|
|
942
|
+
color: rx.Var[str] = field(
|
|
943
|
+
doc="Beam color (hex). Default: '#FF79C6'."
|
|
944
|
+
)
|
|
945
|
+
background_color: rx.Var[str] = field(
|
|
946
|
+
doc="Canvas background color used for theme-aware compositing. Default: '#000000'."
|
|
947
|
+
)
|
|
948
|
+
|
|
949
|
+
|
|
950
|
+
class LogoLoop(ReactBitsComponent):
|
|
951
|
+
"""Continuously looping marquee of brand or tech logos with seamless repeat and hover pause.
|
|
952
|
+
|
|
953
|
+
Docs: https://reactbits.dev/animations/logo-loop
|
|
954
|
+
"""
|
|
955
|
+
|
|
956
|
+
tag = "LogoLoop"
|
|
957
|
+
alias = "ReactBitsLogoLoop"
|
|
958
|
+
is_default = True
|
|
959
|
+
_rb_category = "Animations"
|
|
960
|
+
_rb_name = "LogoLoop"
|
|
961
|
+
_rb_files = ('LogoLoop.css', 'LogoLoop.jsx')
|
|
962
|
+
|
|
963
|
+
logos: rx.Var[list[Any]] = field(
|
|
964
|
+
doc="Array of logo items to display. Each item can be either a React node or an image src. Default: required."
|
|
965
|
+
)
|
|
966
|
+
speed: rx.Var[int | float] = field(
|
|
967
|
+
doc="Animation speed in pixels per second. Positive values move based on direction, negative values reverse direction. Default: 120."
|
|
968
|
+
)
|
|
969
|
+
direction: rx.Var[Literal["left", "right", "up", "down"]] = field(
|
|
970
|
+
doc="Direction of the logo animation loop. Supports horizontal (left/right) and vertical (up/down) scrolling. Default: 'left'."
|
|
971
|
+
)
|
|
972
|
+
width: rx.Var[int | float | str] = field(
|
|
973
|
+
doc="Width of the logo loop container. Default: '100%'."
|
|
974
|
+
)
|
|
975
|
+
logo_height: rx.Var[int | float] = field(
|
|
976
|
+
doc="Height of the logos in pixels. Default: 28."
|
|
977
|
+
)
|
|
978
|
+
gap: rx.Var[int | float] = field(
|
|
979
|
+
doc="Gap between logos in pixels. Default: 32."
|
|
980
|
+
)
|
|
981
|
+
pause_on_hover: rx.Var[Any] = field(
|
|
982
|
+
doc="The `pauseOnHover` prop."
|
|
983
|
+
)
|
|
984
|
+
hover_speed: rx.Var[int | float] = field(
|
|
985
|
+
doc="Speed when hovering over the component. Set to 0 to pause, or a lower value for deceleration effect. Default: 0."
|
|
986
|
+
)
|
|
987
|
+
fade_out: rx.Var[bool] = field(
|
|
988
|
+
doc="Whether to apply fade-out effect at the edges of the container. Default: false."
|
|
989
|
+
)
|
|
990
|
+
fade_out_color: rx.Var[str] = field(
|
|
991
|
+
doc="Color used for the fade-out effect. Only applies when fadeOut is true."
|
|
992
|
+
)
|
|
993
|
+
scale_on_hover: rx.Var[bool] = field(
|
|
994
|
+
doc="Whether to scale logos on hover. Default: false."
|
|
995
|
+
)
|
|
996
|
+
render_item: rx.Var[Any] = field(
|
|
997
|
+
doc="Custom render function for each logo item. Allows full control over item rendering for animations, tooltips, etc. Pass a JS function with rx.Var('(...) => ...')."
|
|
998
|
+
)
|
|
999
|
+
aria_label: rx.Var[str] = field(
|
|
1000
|
+
doc="Accessibility label for the logo loop component. Default: 'Partner logos'."
|
|
1001
|
+
)
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
class MagicRings(ReactBitsComponent):
|
|
1005
|
+
"""Interactive magic rings effect with customizable parameters.
|
|
1006
|
+
|
|
1007
|
+
Docs: https://reactbits.dev/animations/magic-rings
|
|
1008
|
+
"""
|
|
1009
|
+
|
|
1010
|
+
tag = "MagicRings"
|
|
1011
|
+
alias = "ReactBitsMagicRings"
|
|
1012
|
+
is_default = True
|
|
1013
|
+
_rb_category = "Animations"
|
|
1014
|
+
_rb_name = "MagicRings"
|
|
1015
|
+
_rb_files = ('MagicRings.css', 'MagicRings.jsx')
|
|
1016
|
+
lib_dependencies: list[str] = ['three@0.180.0']
|
|
1017
|
+
|
|
1018
|
+
color: rx.Var[str] = field(
|
|
1019
|
+
doc="Hex color for the rings. Default: '#fc42ff'."
|
|
1020
|
+
)
|
|
1021
|
+
color_two: rx.Var[str] = field(
|
|
1022
|
+
doc="Second color \u2014 rings interpolate from color to colorTwo. Default: '#42fcff'."
|
|
1023
|
+
)
|
|
1024
|
+
speed: rx.Var[int | float] = field(
|
|
1025
|
+
doc="Animation speed multiplier. Default: 1."
|
|
1026
|
+
)
|
|
1027
|
+
ring_count: rx.Var[int | float] = field(
|
|
1028
|
+
doc="Number of concentric rings to draw (1\u201310). Default: 6."
|
|
1029
|
+
)
|
|
1030
|
+
attenuation: rx.Var[int | float] = field(
|
|
1031
|
+
doc="Glow falloff \u2014 higher values produce tighter glow. Default: 10."
|
|
1032
|
+
)
|
|
1033
|
+
line_thickness: rx.Var[int | float] = field(
|
|
1034
|
+
doc="Thickness of each ring line. Default: 2."
|
|
1035
|
+
)
|
|
1036
|
+
base_radius: rx.Var[int | float] = field(
|
|
1037
|
+
doc="Radius of the innermost ring (normalized). Default: 0.35."
|
|
1038
|
+
)
|
|
1039
|
+
radius_step: rx.Var[int | float] = field(
|
|
1040
|
+
doc="Spacing between successive rings. Default: 0.1."
|
|
1041
|
+
)
|
|
1042
|
+
scale_rate: rx.Var[int | float] = field(
|
|
1043
|
+
doc="How much rings expand over time. Default: 0.1."
|
|
1044
|
+
)
|
|
1045
|
+
opacity: rx.Var[int | float] = field(
|
|
1046
|
+
doc="Overall opacity of the effect (0\u20131). Default: 1."
|
|
1047
|
+
)
|
|
1048
|
+
blur: rx.Var[int | float] = field(
|
|
1049
|
+
doc="CSS blur in px \u2014 creates a bloom/glow effect. Default: 0."
|
|
1050
|
+
)
|
|
1051
|
+
noise_amount: rx.Var[int | float] = field(
|
|
1052
|
+
doc="Film-grain noise intensity. Default: 0.1."
|
|
1053
|
+
)
|
|
1054
|
+
rotation: rx.Var[int | float] = field(
|
|
1055
|
+
doc="Static rotation of the pattern in degrees. Default: 0."
|
|
1056
|
+
)
|
|
1057
|
+
ring_gap: rx.Var[int | float] = field(
|
|
1058
|
+
doc="Exponential base for angular cutaway per ring. Default: 1.5."
|
|
1059
|
+
)
|
|
1060
|
+
fade_in: rx.Var[int | float] = field(
|
|
1061
|
+
doc="Duration of ring fade-in within cycle. Default: 0.7."
|
|
1062
|
+
)
|
|
1063
|
+
fade_out: rx.Var[int | float] = field(
|
|
1064
|
+
doc="Start time of ring fade-out within cycle. Default: 0.5."
|
|
1065
|
+
)
|
|
1066
|
+
follow_mouse: rx.Var[bool] = field(
|
|
1067
|
+
doc="Rings shift toward the mouse cursor. Default: false."
|
|
1068
|
+
)
|
|
1069
|
+
mouse_influence: rx.Var[int | float] = field(
|
|
1070
|
+
doc="Strength of mouse follow (when followMouse is true). Default: 0.2."
|
|
1071
|
+
)
|
|
1072
|
+
hover_scale: rx.Var[int | float] = field(
|
|
1073
|
+
doc="Scale multiplier on hover. Default: 1.2."
|
|
1074
|
+
)
|
|
1075
|
+
parallax: rx.Var[int | float] = field(
|
|
1076
|
+
doc="Per-ring depth offset based on mouse position. Default: 0.05."
|
|
1077
|
+
)
|
|
1078
|
+
click_burst: rx.Var[bool] = field(
|
|
1079
|
+
doc="Click triggers a brightness flash and scale pulse. Default: false."
|
|
1080
|
+
)
|
|
1081
|
+
alpha_mode: rx.Var[Literal["luminance", "coverage"]] = field(
|
|
1082
|
+
doc="Uses emissive luminance alpha on dark surfaces or geometry coverage alpha for dark colors on light surfaces. Default: 'luminance'."
|
|
1083
|
+
)
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
class Magnet(ReactBitsComponent):
|
|
1087
|
+
"""Elements magnetically ease toward the cursor then settle back with spring physics.
|
|
1088
|
+
|
|
1089
|
+
Docs: https://reactbits.dev/animations/magnet
|
|
1090
|
+
"""
|
|
1091
|
+
|
|
1092
|
+
tag = "Magnet"
|
|
1093
|
+
alias = "ReactBitsMagnet"
|
|
1094
|
+
is_default = True
|
|
1095
|
+
_rb_category = "Animations"
|
|
1096
|
+
_rb_name = "Magnet"
|
|
1097
|
+
_rb_files = ('Magnet.jsx',)
|
|
1098
|
+
|
|
1099
|
+
padding: rx.Var[int | float] = field(
|
|
1100
|
+
doc="Specifies the distance (in pixels) around the element that activates the magnet pull. Default: 100."
|
|
1101
|
+
)
|
|
1102
|
+
disabled: rx.Var[bool] = field(
|
|
1103
|
+
doc="Disables the magnet effect when set to true. Default: false."
|
|
1104
|
+
)
|
|
1105
|
+
magnet_strength: rx.Var[int | float] = field(
|
|
1106
|
+
doc="Controls the strength of the pull; higher values reduce movement, lower values increase it. Default: 2."
|
|
1107
|
+
)
|
|
1108
|
+
active_transition: rx.Var[str] = field(
|
|
1109
|
+
doc="CSS transition applied to the element when the magnet is active. Default: 'transform 0.3s ease-out'."
|
|
1110
|
+
)
|
|
1111
|
+
inactive_transition: rx.Var[str] = field(
|
|
1112
|
+
doc="CSS transition applied when the magnet is inactive (mouse out of range). Default: 'transform 0.5s ease-in-out'."
|
|
1113
|
+
)
|
|
1114
|
+
wrapper_class_name: rx.Var[str] = field(
|
|
1115
|
+
doc="Optional CSS class name for the outermost wrapper element."
|
|
1116
|
+
)
|
|
1117
|
+
inner_class_name: rx.Var[str] = field(
|
|
1118
|
+
doc="Optional CSS class name for the moving (inner) element."
|
|
1119
|
+
)
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
class MagnetLines(ReactBitsComponent):
|
|
1123
|
+
"""Animated field lines bend toward the cursor.
|
|
1124
|
+
|
|
1125
|
+
Docs: https://reactbits.dev/animations/magnet-lines
|
|
1126
|
+
"""
|
|
1127
|
+
|
|
1128
|
+
tag = "MagnetLines"
|
|
1129
|
+
alias = "ReactBitsMagnetLines"
|
|
1130
|
+
is_default = True
|
|
1131
|
+
_rb_category = "Animations"
|
|
1132
|
+
_rb_name = "MagnetLines"
|
|
1133
|
+
_rb_files = ('MagnetLines.css', 'MagnetLines.jsx')
|
|
1134
|
+
|
|
1135
|
+
rows: rx.Var[int | float] = field(
|
|
1136
|
+
doc="Number of grid rows. Default: 9."
|
|
1137
|
+
)
|
|
1138
|
+
columns: rx.Var[int | float] = field(
|
|
1139
|
+
doc="Number of grid columns. Default: 9."
|
|
1140
|
+
)
|
|
1141
|
+
container_size: rx.Var[str] = field(
|
|
1142
|
+
doc="Specifies the width and height of the entire grid container. Default: '80vmin'."
|
|
1143
|
+
)
|
|
1144
|
+
line_color: rx.Var[str] = field(
|
|
1145
|
+
doc="Color for each line (the <span> elements). Default: '#efefef'."
|
|
1146
|
+
)
|
|
1147
|
+
line_width: rx.Var[str] = field(
|
|
1148
|
+
doc="Specifies each line\u2019s thickness. Default: '1vmin'."
|
|
1149
|
+
)
|
|
1150
|
+
line_height: rx.Var[str] = field(
|
|
1151
|
+
doc="Specifies each line\u2019s length. Default: '6vmin'."
|
|
1152
|
+
)
|
|
1153
|
+
base_angle: rx.Var[int | float] = field(
|
|
1154
|
+
doc="Initial rotation angle (in degrees) before pointer movement. Default: -10."
|
|
1155
|
+
)
|
|
1156
|
+
|
|
1157
|
+
|
|
1158
|
+
class MetaBalls(ReactBitsComponent):
|
|
1159
|
+
"""Liquid metaball blobs that merge and separate with smooth implicit surface animation.
|
|
1160
|
+
|
|
1161
|
+
Docs: https://reactbits.dev/animations/meta-balls
|
|
1162
|
+
"""
|
|
1163
|
+
|
|
1164
|
+
tag = "MetaBalls"
|
|
1165
|
+
alias = "ReactBitsMetaBalls"
|
|
1166
|
+
is_default = True
|
|
1167
|
+
_rb_category = "Animations"
|
|
1168
|
+
_rb_name = "MetaBalls"
|
|
1169
|
+
_rb_files = ('MetaBalls.css', 'MetaBalls.jsx')
|
|
1170
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
1171
|
+
|
|
1172
|
+
color: rx.Var[str] = field(
|
|
1173
|
+
doc="The base color of the metaballs. Default: '#ffffff'."
|
|
1174
|
+
)
|
|
1175
|
+
speed: rx.Var[int | float] = field(
|
|
1176
|
+
doc="Speed multiplier for the animation. Default: 0.3."
|
|
1177
|
+
)
|
|
1178
|
+
enable_mouse_interaction: rx.Var[bool] = field(
|
|
1179
|
+
doc="Enables or disables the ball following the mouse. Default: true."
|
|
1180
|
+
)
|
|
1181
|
+
hover_smoothness: rx.Var[int | float] = field(
|
|
1182
|
+
doc="Smoothness factor for the cursor ball when following the mouse. Default: 0.05."
|
|
1183
|
+
)
|
|
1184
|
+
animation_size: rx.Var[int | float] = field(
|
|
1185
|
+
doc="The size of the world for the animation. Default: 30."
|
|
1186
|
+
)
|
|
1187
|
+
ball_count: rx.Var[int | float] = field(
|
|
1188
|
+
doc="Number of metaballs rendered. Default: 15."
|
|
1189
|
+
)
|
|
1190
|
+
clump_factor: rx.Var[int | float] = field(
|
|
1191
|
+
doc="Determines how close together the balls are rendered. Default: 1."
|
|
1192
|
+
)
|
|
1193
|
+
cursor_ball_size: rx.Var[int | float] = field(
|
|
1194
|
+
doc="Size of the cursor-controlled ball. Default: 3."
|
|
1195
|
+
)
|
|
1196
|
+
cursor_ball_color: rx.Var[str] = field(
|
|
1197
|
+
doc="Color of the cursor ball. Default: '#ffffff'."
|
|
1198
|
+
)
|
|
1199
|
+
enable_transparency: rx.Var[bool] = field(
|
|
1200
|
+
doc="Enables or disables transparency for the container of the animation. Default: false."
|
|
1201
|
+
)
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
class MetallicPaint(ReactBitsComponent):
|
|
1205
|
+
"""Liquid metallic paint shader which can be applied to SVG elements.
|
|
1206
|
+
|
|
1207
|
+
Docs: https://reactbits.dev/animations/metallic-paint
|
|
1208
|
+
"""
|
|
1209
|
+
|
|
1210
|
+
tag = "MetallicPaint"
|
|
1211
|
+
alias = "ReactBitsMetallicPaint"
|
|
1212
|
+
is_default = True
|
|
1213
|
+
_rb_category = "Animations"
|
|
1214
|
+
_rb_name = "MetallicPaint"
|
|
1215
|
+
_rb_files = ('MetallicPaint.css', 'MetallicPaint.jsx')
|
|
1216
|
+
|
|
1217
|
+
image_src: rx.Var[str] = field(
|
|
1218
|
+
doc="URL or path to the image used for the metallic paint effect. The image is processed internally. Default: none (required)."
|
|
1219
|
+
)
|
|
1220
|
+
seed: rx.Var[int | float] = field(
|
|
1221
|
+
doc="Random seed for pattern generation. Different values create different pattern variations. Default: 42."
|
|
1222
|
+
)
|
|
1223
|
+
scale: rx.Var[int | float] = field(
|
|
1224
|
+
doc="Scale of the metallic pattern. Higher values create more repetitions. Default: 4."
|
|
1225
|
+
)
|
|
1226
|
+
refraction: rx.Var[int | float] = field(
|
|
1227
|
+
doc="Amount of chromatic aberration (color separation). Creates the rainbow edge effect. Default: 0.01."
|
|
1228
|
+
)
|
|
1229
|
+
blur: rx.Var[int | float] = field(
|
|
1230
|
+
doc="Blur amount for the pattern transitions. Higher values create softer gradients. Default: 0.015."
|
|
1231
|
+
)
|
|
1232
|
+
liquid: rx.Var[int | float] = field(
|
|
1233
|
+
doc="Amount of liquid/wavy animation applied to the pattern. Default: 0.75."
|
|
1234
|
+
)
|
|
1235
|
+
speed: rx.Var[int | float] = field(
|
|
1236
|
+
doc="Animation speed multiplier. Set to 0 to disable animation. Default: 0.3."
|
|
1237
|
+
)
|
|
1238
|
+
brightness: rx.Var[int | float] = field(
|
|
1239
|
+
doc="Overall brightness of the metallic effect. Values above 1 increase brightness. Default: 2."
|
|
1240
|
+
)
|
|
1241
|
+
contrast: rx.Var[int | float] = field(
|
|
1242
|
+
doc="Color contrast of the effect. Higher values create more distinct light/dark areas. Default: 0.5."
|
|
1243
|
+
)
|
|
1244
|
+
angle: rx.Var[int | float] = field(
|
|
1245
|
+
doc="Rotation angle of the pattern in degrees. Default: 0."
|
|
1246
|
+
)
|
|
1247
|
+
fresnel: rx.Var[int | float] = field(
|
|
1248
|
+
doc="Fresnel effect intensity. Controls edge highlighting based on viewing angle. Default: 1."
|
|
1249
|
+
)
|
|
1250
|
+
light_color: rx.Var[str] = field(
|
|
1251
|
+
doc="Hex color for the bright/highlight areas of the metallic effect. Default: '#ffffff'."
|
|
1252
|
+
)
|
|
1253
|
+
dark_color: rx.Var[str] = field(
|
|
1254
|
+
doc="Hex color for the dark/shadow areas of the metallic effect. Default: '#000000'."
|
|
1255
|
+
)
|
|
1256
|
+
pattern_sharpness: rx.Var[int | float] = field(
|
|
1257
|
+
doc="Controls the sharpness of metallic band transitions. Higher = sharper edges. Default: 1."
|
|
1258
|
+
)
|
|
1259
|
+
wave_amplitude: rx.Var[int | float] = field(
|
|
1260
|
+
doc="Intensity of the wave distortion effect. Default: 1."
|
|
1261
|
+
)
|
|
1262
|
+
noise_scale: rx.Var[int | float] = field(
|
|
1263
|
+
doc="Scale of the noise pattern. Higher = more detailed noise. Default: 0.5."
|
|
1264
|
+
)
|
|
1265
|
+
chromatic_spread: rx.Var[int | float] = field(
|
|
1266
|
+
doc="Multiplier for chromatic aberration spread between RGB channels. Default: 2."
|
|
1267
|
+
)
|
|
1268
|
+
mouse_animation: rx.Var[bool] = field(
|
|
1269
|
+
doc="When true, mouse position controls wave animation instead of auto-loop. Default: false."
|
|
1270
|
+
)
|
|
1271
|
+
distortion: rx.Var[int | float] = field(
|
|
1272
|
+
doc="Amount of noise-based distortion applied to the pattern flow (0-1). Default: 1."
|
|
1273
|
+
)
|
|
1274
|
+
contour: rx.Var[int | float] = field(
|
|
1275
|
+
doc="Intensity of edge contour effect that warps the pattern along shape boundaries (0-1). Default: 0.2."
|
|
1276
|
+
)
|
|
1277
|
+
tint_color: rx.Var[str] = field(
|
|
1278
|
+
doc="Hex color for color burn tint effect. White = no tint. Default: '#feb3ff'."
|
|
1279
|
+
)
|
|
1280
|
+
|
|
1281
|
+
|
|
1282
|
+
class Noise(ReactBitsComponent):
|
|
1283
|
+
"""Animated film grain / noise overlay adding subtle texture and motion.
|
|
1284
|
+
|
|
1285
|
+
Docs: https://reactbits.dev/animations/noise
|
|
1286
|
+
"""
|
|
1287
|
+
|
|
1288
|
+
tag = "Noise"
|
|
1289
|
+
alias = "ReactBitsNoise"
|
|
1290
|
+
is_default = True
|
|
1291
|
+
_rb_category = "Animations"
|
|
1292
|
+
_rb_name = "Noise"
|
|
1293
|
+
_rb_files = ('Noise.css', 'Noise.jsx')
|
|
1294
|
+
|
|
1295
|
+
pattern_size: rx.Var[int | float] = field(
|
|
1296
|
+
doc="Defines the size of the grain pattern. Default: 250."
|
|
1297
|
+
)
|
|
1298
|
+
pattern_scale_x: rx.Var[int | float] = field(
|
|
1299
|
+
doc="Scaling factor for the X-axis of the grain pattern. Default: 1."
|
|
1300
|
+
)
|
|
1301
|
+
pattern_scale_y: rx.Var[int | float] = field(
|
|
1302
|
+
doc="Scaling factor for the Y-axis of the grain pattern. Default: 1."
|
|
1303
|
+
)
|
|
1304
|
+
pattern_refresh_interval: rx.Var[int | float] = field(
|
|
1305
|
+
doc="Number of frames before the grain pattern refreshes. Default: 2."
|
|
1306
|
+
)
|
|
1307
|
+
pattern_alpha: rx.Var[int | float] = field(
|
|
1308
|
+
doc="Opacity of the grain pattern (0-255). Default: 15."
|
|
1309
|
+
)
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
class OrbitImages(ReactBitsComponent):
|
|
1313
|
+
"""SVG Path customizable orbiting images effect
|
|
1314
|
+
|
|
1315
|
+
Docs: https://reactbits.dev/animations/orbit-images
|
|
1316
|
+
"""
|
|
1317
|
+
|
|
1318
|
+
tag = "OrbitImages"
|
|
1319
|
+
alias = "ReactBitsOrbitImages"
|
|
1320
|
+
is_default = True
|
|
1321
|
+
_rb_category = "Animations"
|
|
1322
|
+
_rb_name = "OrbitImages"
|
|
1323
|
+
_rb_files = ('OrbitImages.css', 'OrbitImages.jsx')
|
|
1324
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
1325
|
+
|
|
1326
|
+
images: rx.Var[list[str]] = field(
|
|
1327
|
+
doc="Array of image URLs to orbit along the path. Default: []."
|
|
1328
|
+
)
|
|
1329
|
+
alt_prefix: rx.Var[str] = field(
|
|
1330
|
+
doc="Prefix for auto-generated alt attributes. Default: 'Orbiting image'."
|
|
1331
|
+
)
|
|
1332
|
+
shape: rx.Var[str] = field(
|
|
1333
|
+
doc="Preset shape: ellipse, circle, square, rectangle, triangle, star, heart, infinity, wave, or custom. Default: 'ellipse'."
|
|
1334
|
+
)
|
|
1335
|
+
custom_path: rx.Var[str] = field(
|
|
1336
|
+
doc="Custom SVG path string (used when shape=\"custom\")."
|
|
1337
|
+
)
|
|
1338
|
+
base_width: rx.Var[int | float] = field(
|
|
1339
|
+
doc="Base width for the design coordinate space used for responsive scaling. Default: 1400."
|
|
1340
|
+
)
|
|
1341
|
+
radius_x: rx.Var[int | float] = field(
|
|
1342
|
+
doc="Horizontal radius for ellipse/rectangle shapes. Default: 700."
|
|
1343
|
+
)
|
|
1344
|
+
radius_y: rx.Var[int | float] = field(
|
|
1345
|
+
doc="Vertical radius for ellipse/rectangle shapes. Default: 170."
|
|
1346
|
+
)
|
|
1347
|
+
radius: rx.Var[int | float] = field(
|
|
1348
|
+
doc="Radius for circle, square, triangle, star, heart shapes. Default: 300."
|
|
1349
|
+
)
|
|
1350
|
+
star_points: rx.Var[int | float] = field(
|
|
1351
|
+
doc="Number of points for star shape. Default: 5."
|
|
1352
|
+
)
|
|
1353
|
+
star_inner_ratio: rx.Var[int | float] = field(
|
|
1354
|
+
doc="Inner radius ratio for star (0-1). Default: 0.5."
|
|
1355
|
+
)
|
|
1356
|
+
rotation: rx.Var[int | float] = field(
|
|
1357
|
+
doc="Rotation angle of the entire orbit path in degrees. Default: -8."
|
|
1358
|
+
)
|
|
1359
|
+
duration: rx.Var[int | float] = field(
|
|
1360
|
+
doc="Duration of one complete orbit in seconds. Default: 40."
|
|
1361
|
+
)
|
|
1362
|
+
item_size: rx.Var[int | float] = field(
|
|
1363
|
+
doc="Width/height of each orbiting item in pixels. Default: 64."
|
|
1364
|
+
)
|
|
1365
|
+
direction: rx.Var[str] = field(
|
|
1366
|
+
doc="Animation direction: \"normal\" or \"reverse\". Default: 'normal'."
|
|
1367
|
+
)
|
|
1368
|
+
fill: rx.Var[bool] = field(
|
|
1369
|
+
doc="Whether to distribute items evenly around the orbit. Default: true."
|
|
1370
|
+
)
|
|
1371
|
+
width: rx.Var[int | float | str] = field(
|
|
1372
|
+
doc="Container width in pixels or \"100%\". Default: 100."
|
|
1373
|
+
)
|
|
1374
|
+
height: rx.Var[int | float | str] = field(
|
|
1375
|
+
doc="Container height in pixels or \"auto\". Default: 100."
|
|
1376
|
+
)
|
|
1377
|
+
show_path: rx.Var[bool] = field(
|
|
1378
|
+
doc="Whether to show the orbit path for debugging. Default: false."
|
|
1379
|
+
)
|
|
1380
|
+
path_color: rx.Var[str] = field(
|
|
1381
|
+
doc="Stroke color when showPath is true. Default: 'rgba(0,0,0,0.1)'."
|
|
1382
|
+
)
|
|
1383
|
+
path_width: rx.Var[int | float] = field(
|
|
1384
|
+
doc="Stroke width when showPath is true. Default: 2."
|
|
1385
|
+
)
|
|
1386
|
+
easing: rx.Var[str] = field(
|
|
1387
|
+
doc="Animation easing: linear, easeIn, easeOut, easeInOut. Default: 'linear'."
|
|
1388
|
+
)
|
|
1389
|
+
paused: rx.Var[bool] = field(
|
|
1390
|
+
doc="Whether the animation is paused. Default: false."
|
|
1391
|
+
)
|
|
1392
|
+
center_content: rx.Var[rx.Component | str] = field(
|
|
1393
|
+
doc="Custom content rendered at the center of the orbit."
|
|
1394
|
+
)
|
|
1395
|
+
responsive: rx.Var[bool] = field(
|
|
1396
|
+
doc="Enable responsive scaling based on container width. Default: false."
|
|
1397
|
+
)
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
class PixelSwap(ReactBitsComponent):
|
|
1401
|
+
"""Pixel fragments assemble into a full cover, swap arbitrary content, then dissolve away with reversible colors and triggers.
|
|
1402
|
+
|
|
1403
|
+
Docs: https://reactbits.dev/animations/pixel-swap
|
|
1404
|
+
"""
|
|
1405
|
+
|
|
1406
|
+
tag = "PixelSwap"
|
|
1407
|
+
alias = "ReactBitsPixelSwap"
|
|
1408
|
+
is_default = True
|
|
1409
|
+
_rb_category = "Animations"
|
|
1410
|
+
_rb_name = "PixelSwap"
|
|
1411
|
+
_rb_files = ('PixelSwap.css', 'PixelSwap.jsx')
|
|
1412
|
+
|
|
1413
|
+
first_content: rx.Var[rx.Component | str] = field(
|
|
1414
|
+
doc="Content shown in the initial state. Default: \u2014."
|
|
1415
|
+
)
|
|
1416
|
+
second_content: rx.Var[rx.Component | str] = field(
|
|
1417
|
+
doc="Content revealed after the pixel cover. Default: \u2014."
|
|
1418
|
+
)
|
|
1419
|
+
pixel_size: rx.Var[int | float] = field(
|
|
1420
|
+
doc="Square pixel edge length in pixels. Grown automatically when the grid would exceed 320 pixels. Default: 64."
|
|
1421
|
+
)
|
|
1422
|
+
gap: rx.Var[int | float] = field(
|
|
1423
|
+
doc="Space between pixels in pixels. Default: 0."
|
|
1424
|
+
)
|
|
1425
|
+
pixel_radius: rx.Var[int | float] = field(
|
|
1426
|
+
doc="Corner rounding of each pixel as a percentage (0 = square, 50 = circle). Default: 0."
|
|
1427
|
+
)
|
|
1428
|
+
pixel_spin: rx.Var[int | float] = field(
|
|
1429
|
+
doc="Degrees each pixel rotates as it opens. Default: 0."
|
|
1430
|
+
)
|
|
1431
|
+
pixel_scale: rx.Var[int | float] = field(
|
|
1432
|
+
doc="Size each pixel starts at, relative to its final size. Default: 0.35."
|
|
1433
|
+
)
|
|
1434
|
+
fade: rx.Var[bool] = field(
|
|
1435
|
+
doc="Fade each pixel in as it opens. Disable for a hard pixel pop. Default: true."
|
|
1436
|
+
)
|
|
1437
|
+
duration: rx.Var[int | float] = field(
|
|
1438
|
+
doc="Total transition duration in milliseconds. Default: 1400."
|
|
1439
|
+
)
|
|
1440
|
+
pixel_duration: rx.Var[int | float] = field(
|
|
1441
|
+
doc="Time a single pixel takes to open, in milliseconds. Default: 450."
|
|
1442
|
+
)
|
|
1443
|
+
pattern: rx.Var[Literal["random", "center", "edges", "left-to-right", "right-to-left", "top-to-bottom", "bottom-to-top", "diagonal", "spiral"]] = field(
|
|
1444
|
+
doc="Order in which pixels animate. Default: 'random'."
|
|
1445
|
+
)
|
|
1446
|
+
randomness: rx.Var[int | float] = field(
|
|
1447
|
+
doc="Noise mixed into the pattern order, from 0 (strict) to 1 (fully scattered). Default: 0."
|
|
1448
|
+
)
|
|
1449
|
+
easing: rx.Var[str] = field(
|
|
1450
|
+
doc="Easing applied to each pixel as it opens. Default: 'cubic-bezier(0.22, 1, 0.36, 1)'."
|
|
1451
|
+
)
|
|
1452
|
+
trigger: rx.Var[Literal["hover", "click", "manual"]] = field(
|
|
1453
|
+
doc="Interaction that requests a content swap. Default: 'hover'."
|
|
1454
|
+
)
|
|
1455
|
+
initial_active: rx.Var[bool] = field(
|
|
1456
|
+
doc="Whether the second content is initially visible. Default: false."
|
|
1457
|
+
)
|
|
1458
|
+
active: rx.Var[bool] = field(
|
|
1459
|
+
doc="Controlled active state. Use with trigger=\"manual\" for external control. Default: \u2014."
|
|
1460
|
+
)
|
|
1461
|
+
aspect_ratio: rx.Var[str] = field(
|
|
1462
|
+
doc="CSS aspect-ratio value for the wrapper. Default: '16 / 10'."
|
|
1463
|
+
)
|
|
1464
|
+
on_active_change: rx.EventHandler[lambda active: [safe(active)]] = field(
|
|
1465
|
+
doc="Called whenever an interaction requests a state change. Handler receives: active."
|
|
1466
|
+
)
|
|
1467
|
+
on_complete: rx.EventHandler[lambda active: [safe(active)]] = field(
|
|
1468
|
+
doc="Called once the incoming content is fully revealed. Handler receives: active."
|
|
1469
|
+
)
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
class PixelTrail(ReactBitsComponent):
|
|
1473
|
+
"""Pixelated cursor trail emitting fading squares with retro digital feel.
|
|
1474
|
+
|
|
1475
|
+
Docs: https://reactbits.dev/animations/pixel-trail
|
|
1476
|
+
"""
|
|
1477
|
+
|
|
1478
|
+
tag = "PixelTrail"
|
|
1479
|
+
alias = "ReactBitsPixelTrail"
|
|
1480
|
+
is_default = True
|
|
1481
|
+
_rb_category = "Animations"
|
|
1482
|
+
_rb_name = "PixelTrail"
|
|
1483
|
+
_rb_files = ('PixelTrail.css', 'PixelTrail.jsx')
|
|
1484
|
+
lib_dependencies: list[str] = ['@react-three/drei@10.7.6', '@react-three/fiber@9.3.0', 'three@0.180.0']
|
|
1485
|
+
|
|
1486
|
+
grid_size: rx.Var[int | float] = field(
|
|
1487
|
+
doc="Number of pixels in grid. Default: 40."
|
|
1488
|
+
)
|
|
1489
|
+
trail_size: rx.Var[int | float] = field(
|
|
1490
|
+
doc="Size of each trail dot. Default: 0.1."
|
|
1491
|
+
)
|
|
1492
|
+
max_age: rx.Var[int | float] = field(
|
|
1493
|
+
doc="Duration of the trail effect. Default: 250."
|
|
1494
|
+
)
|
|
1495
|
+
interpolate: rx.Var[int | float] = field(
|
|
1496
|
+
doc="Interpolation factor for pointer movement. Default: 5."
|
|
1497
|
+
)
|
|
1498
|
+
easing_function: rx.Var[Any] = field(
|
|
1499
|
+
doc="The `easingFunction` prop. Default: identityEase. Pass a JS function with rx.Var('(...) => ...')."
|
|
1500
|
+
)
|
|
1501
|
+
canvas_props: rx.Var[dict[str, Any]] = field(
|
|
1502
|
+
doc="The `canvasProps` prop. Default: {}."
|
|
1503
|
+
)
|
|
1504
|
+
gl_props: rx.Var[dict[str, Any]] = field(
|
|
1505
|
+
doc="The `glProps` prop. Default: { antialias: false, powerPreference: 'high-performance', ...."
|
|
1506
|
+
)
|
|
1507
|
+
gooey_filter: rx.Var[dict[str, Any]] = field(
|
|
1508
|
+
doc="Configuration for gooey filter. Default: { id: 'custom-goo-filter', strength: 5 }."
|
|
1509
|
+
)
|
|
1510
|
+
color: rx.Var[str] = field(
|
|
1511
|
+
doc="Pixel color. Default: '#ffffff'."
|
|
1512
|
+
)
|
|
1513
|
+
|
|
1514
|
+
|
|
1515
|
+
class PixelTransition(ReactBitsComponent):
|
|
1516
|
+
"""Pixel dissolve transition for content reveal on hover.
|
|
1517
|
+
|
|
1518
|
+
Docs: https://reactbits.dev/animations/pixel-transition
|
|
1519
|
+
"""
|
|
1520
|
+
|
|
1521
|
+
tag = "PixelTransition"
|
|
1522
|
+
alias = "ReactBitsPixelTransition"
|
|
1523
|
+
is_default = True
|
|
1524
|
+
_rb_category = "Animations"
|
|
1525
|
+
_rb_name = "PixelTransition"
|
|
1526
|
+
_rb_files = ('PixelTransition.css', 'PixelTransition.jsx')
|
|
1527
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
1528
|
+
|
|
1529
|
+
first_content: rx.Var[rx.Component | str] = field(
|
|
1530
|
+
doc="Content to show by default (e.g., an <img> or text). Default: \u2014."
|
|
1531
|
+
)
|
|
1532
|
+
second_content: rx.Var[rx.Component | str] = field(
|
|
1533
|
+
doc="Content revealed upon hover or click. Default: \u2014."
|
|
1534
|
+
)
|
|
1535
|
+
grid_size: rx.Var[int | float] = field(
|
|
1536
|
+
doc="Number of rows/columns in the pixel grid. Default: 7."
|
|
1537
|
+
)
|
|
1538
|
+
pixel_color: rx.Var[str] = field(
|
|
1539
|
+
doc="Background color used for each pixel block. Default: 'currentColor'."
|
|
1540
|
+
)
|
|
1541
|
+
animation_step_duration: rx.Var[int | float] = field(
|
|
1542
|
+
doc="Length of the pixel reveal/hide in seconds. Default: 0.3."
|
|
1543
|
+
)
|
|
1544
|
+
once: rx.Var[bool] = field(
|
|
1545
|
+
doc="If true, the transition will not revert on mouse leave or subsequent clicks. Default: false."
|
|
1546
|
+
)
|
|
1547
|
+
aspect_ratio: rx.Var[str] = field(
|
|
1548
|
+
doc="Sets the 'padding-top' (or aspect-ratio) for the container. Default: '100%'."
|
|
1549
|
+
)
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
class Ribbons(ReactBitsComponent):
|
|
1553
|
+
"""Flowing responsive ribbons/cursor trail driven by physics and pointer motion.
|
|
1554
|
+
|
|
1555
|
+
Docs: https://reactbits.dev/animations/ribbons
|
|
1556
|
+
"""
|
|
1557
|
+
|
|
1558
|
+
tag = "Ribbons"
|
|
1559
|
+
alias = "ReactBitsRibbons"
|
|
1560
|
+
is_default = True
|
|
1561
|
+
_rb_category = "Animations"
|
|
1562
|
+
_rb_name = "Ribbons"
|
|
1563
|
+
_rb_files = ('Ribbons.css', 'Ribbons.jsx')
|
|
1564
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
1565
|
+
|
|
1566
|
+
colors: rx.Var[list[str]] = field(
|
|
1567
|
+
doc="An array of color strings to be used for the ribbons. Default: ['#FC8EAC']."
|
|
1568
|
+
)
|
|
1569
|
+
base_spring: rx.Var[int | float] = field(
|
|
1570
|
+
doc="Base spring factor for the physics controlling ribbon motion. Default: 0.03."
|
|
1571
|
+
)
|
|
1572
|
+
base_friction: rx.Var[int | float] = field(
|
|
1573
|
+
doc="Base friction factor that dampens the ribbon motion. Default: 0.9."
|
|
1574
|
+
)
|
|
1575
|
+
base_thickness: rx.Var[int | float] = field(
|
|
1576
|
+
doc="The base thickness of the ribbons. Default: 30."
|
|
1577
|
+
)
|
|
1578
|
+
offset_factor: rx.Var[int | float] = field(
|
|
1579
|
+
doc="A factor to horizontally offset the starting positions of the ribbons. Default: 0.05."
|
|
1580
|
+
)
|
|
1581
|
+
max_age: rx.Var[int | float] = field(
|
|
1582
|
+
doc="Delay in milliseconds controlling how long the ribbon trails extend. Default: 500."
|
|
1583
|
+
)
|
|
1584
|
+
point_count: rx.Var[int | float] = field(
|
|
1585
|
+
doc="The number of points that make up each ribbon. Default: 50."
|
|
1586
|
+
)
|
|
1587
|
+
speed_multiplier: rx.Var[int | float] = field(
|
|
1588
|
+
doc="Multiplier that adjusts how fast trailing points interpolate towards the head. Default: 0.6."
|
|
1589
|
+
)
|
|
1590
|
+
enable_fade: rx.Var[bool] = field(
|
|
1591
|
+
doc="If true, a fade effect is applied along the length of the ribbon. Default: false."
|
|
1592
|
+
)
|
|
1593
|
+
enable_shader_effect: rx.Var[bool] = field(
|
|
1594
|
+
doc="If true, an additional sine-wave shader effect is applied to the ribbons. Default: false."
|
|
1595
|
+
)
|
|
1596
|
+
effect_amplitude: rx.Var[int | float] = field(
|
|
1597
|
+
doc="The amplitude of the shader displacement effect. Default: 2."
|
|
1598
|
+
)
|
|
1599
|
+
background_color: rx.Var[list[int | float]] = field(
|
|
1600
|
+
doc="An RGBA array specifying the clear color for the renderer. Default: [0, 0, 0, 0]."
|
|
1601
|
+
)
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
class RippleDistortion(ReactBitsComponent):
|
|
1605
|
+
"""Pointer-driven water displacement that warps content and leaves a decaying wake.
|
|
1606
|
+
|
|
1607
|
+
Docs: https://reactbits.dev/animations/ripple-distortion
|
|
1608
|
+
"""
|
|
1609
|
+
|
|
1610
|
+
tag = "RippleDistortion"
|
|
1611
|
+
alias = "ReactBitsRippleDistortion"
|
|
1612
|
+
is_default = True
|
|
1613
|
+
_rb_category = "Animations"
|
|
1614
|
+
_rb_name = "RippleDistortion"
|
|
1615
|
+
_rb_files = ('RippleDistortion.css', 'RippleDistortion.jsx')
|
|
1616
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
1617
|
+
|
|
1618
|
+
src: rx.Var[str] = field(
|
|
1619
|
+
doc="Image URL the ripples distort. Cover fitted to the container. Default: 'https://images.unsplash.com/photo-1782977389500-dd7adad3...."
|
|
1620
|
+
)
|
|
1621
|
+
brush_size: rx.Var[int | float] = field(
|
|
1622
|
+
doc="Diameter of each ripple the pointer lays down, in px. Default: 150."
|
|
1623
|
+
)
|
|
1624
|
+
strength: rx.Var[int | float] = field(
|
|
1625
|
+
doc="How far the image is pushed, as a fraction of its size. Default: 0.2."
|
|
1626
|
+
)
|
|
1627
|
+
swirl: rx.Var[int | float] = field(
|
|
1628
|
+
doc="Full turns the push direction sweeps through as a ripple builds. 0 gives a flat push, higher folds the image into caustics. Default: 1."
|
|
1629
|
+
)
|
|
1630
|
+
rings: rx.Var[int | float] = field(
|
|
1631
|
+
doc="Concentric swells inside each ripple. 0 is a single plain blob. Default: 4."
|
|
1632
|
+
)
|
|
1633
|
+
spread: rx.Var[int | float] = field(
|
|
1634
|
+
doc="How many times its own size a ripple grows to before it dies. Default: 5."
|
|
1635
|
+
)
|
|
1636
|
+
fade: rx.Var[int | float] = field(
|
|
1637
|
+
doc="How long a ripple survives, in seconds. Default: 3."
|
|
1638
|
+
)
|
|
1639
|
+
spacing: rx.Var[int | float] = field(
|
|
1640
|
+
doc="Pointer travel between ripples, in px. Higher leaves a sparser trail. Default: 15."
|
|
1641
|
+
)
|
|
1642
|
+
dispersion: rx.Var[int | float] = field(
|
|
1643
|
+
doc="Chromatic split between the red and blue channels as they refract. Default: 0."
|
|
1644
|
+
)
|
|
1645
|
+
glint: rx.Var[int | float] = field(
|
|
1646
|
+
doc="Sheen riding the shoulders of each ripple. Default: 0."
|
|
1647
|
+
)
|
|
1648
|
+
tint: rx.Var[str] = field(
|
|
1649
|
+
doc="Colour the disturbed water takes on. Default: '#a855f7'."
|
|
1650
|
+
)
|
|
1651
|
+
tint_amount: rx.Var[int | float] = field(
|
|
1652
|
+
doc="How strongly the tint colours the disturbed water. Default: 0.1."
|
|
1653
|
+
)
|
|
1654
|
+
grayscale: rx.Var[bool] = field(
|
|
1655
|
+
doc="Drain the colour out of the image so the folds read on tone alone. Default: true."
|
|
1656
|
+
)
|
|
1657
|
+
highlight_color: rx.Var[str] = field(
|
|
1658
|
+
doc="Colour of the sheen. Default: '#ffffff'."
|
|
1659
|
+
)
|
|
1660
|
+
trigger: rx.Var[Literal["hover", "click", "both"]] = field(
|
|
1661
|
+
doc="What disturbs the surface: motion, clicks, or both. Default: 'hover'."
|
|
1662
|
+
)
|
|
1663
|
+
click_strength: rx.Var[int | float] = field(
|
|
1664
|
+
doc="How much larger a click ripple starts than a hover one. Default: 2."
|
|
1665
|
+
)
|
|
1666
|
+
quality: rx.Var[Literal["low", "medium", "high"]] = field(
|
|
1667
|
+
doc="Resolution of the displacement buffer. Lower trades crispness for fill rate. Default: 'low'."
|
|
1668
|
+
)
|
|
1669
|
+
enabled: rx.Var[bool] = field(
|
|
1670
|
+
doc="Toggle the effect on or off. Default: true."
|
|
1671
|
+
)
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
class ScrollExpand(ReactBitsComponent):
|
|
1675
|
+
"""A rounded media frame that grows to full bleed as it scrolls through the viewport.
|
|
1676
|
+
|
|
1677
|
+
Docs: https://reactbits.dev/animations/scroll-expand
|
|
1678
|
+
"""
|
|
1679
|
+
|
|
1680
|
+
tag = "ScrollExpand"
|
|
1681
|
+
alias = "ReactBitsScrollExpand"
|
|
1682
|
+
is_default = True
|
|
1683
|
+
_rb_category = "Animations"
|
|
1684
|
+
_rb_name = "ScrollExpand"
|
|
1685
|
+
_rb_files = ('ScrollExpand.css', 'ScrollExpand.jsx')
|
|
1686
|
+
|
|
1687
|
+
src: rx.Var[str] = field(
|
|
1688
|
+
doc="Image or video URL shown inside the frame."
|
|
1689
|
+
)
|
|
1690
|
+
media_type: rx.Var[Literal["image", "video"]] = field(
|
|
1691
|
+
doc="Whether the source is an image or a looping muted video. Default: 'image'."
|
|
1692
|
+
)
|
|
1693
|
+
poster: rx.Var[str] = field(
|
|
1694
|
+
doc="Poster frame used while a video loads."
|
|
1695
|
+
)
|
|
1696
|
+
alt: rx.Var[str] = field(
|
|
1697
|
+
doc="Alt text for the image."
|
|
1698
|
+
)
|
|
1699
|
+
title: rx.Var[str] = field(
|
|
1700
|
+
doc="Headline held over the frame that lifts away as the media takes over."
|
|
1701
|
+
)
|
|
1702
|
+
scroll_hint: rx.Var[str] = field(
|
|
1703
|
+
doc="Small cue shown under the resting frame that fades away as soon as the scroll begins."
|
|
1704
|
+
)
|
|
1705
|
+
start_width: rx.Var[int | float] = field(
|
|
1706
|
+
doc="Frame width before expanding, as a percentage of the stage. Default: 42."
|
|
1707
|
+
)
|
|
1708
|
+
start_height: rx.Var[int | float] = field(
|
|
1709
|
+
doc="Frame height before expanding, as a percentage of the stage. Default: 58."
|
|
1710
|
+
)
|
|
1711
|
+
start_radius: rx.Var[int | float] = field(
|
|
1712
|
+
doc="Corner radius of the resting frame, in px. Default: 24."
|
|
1713
|
+
)
|
|
1714
|
+
end_radius: rx.Var[int | float] = field(
|
|
1715
|
+
doc="Corner radius once fully expanded, in px. Default: 0."
|
|
1716
|
+
)
|
|
1717
|
+
media_zoom: rx.Var[int | float] = field(
|
|
1718
|
+
doc="How far the media is zoomed in at rest. It eases back to 1 as the frame opens up. Default: 1.35."
|
|
1719
|
+
)
|
|
1720
|
+
scroll_distance: rx.Var[int | float] = field(
|
|
1721
|
+
doc="Scroll length of the expansion, in multiples of the stage height. Default: 1.2."
|
|
1722
|
+
)
|
|
1723
|
+
hold_distance: rx.Var[int | float] = field(
|
|
1724
|
+
doc="Extra scroll the frame stays pinned at full bleed before releasing. Default: 0.35."
|
|
1725
|
+
)
|
|
1726
|
+
smoothing: rx.Var[int | float] = field(
|
|
1727
|
+
doc="Follow time in seconds. 0 locks the frame exactly to the scrollbar. Default: 0.1."
|
|
1728
|
+
)
|
|
1729
|
+
overlay_scrim: rx.Var[int | float] = field(
|
|
1730
|
+
doc="Strength of the gradient scrim that fades in to keep overlay content readable. Default: 0.45."
|
|
1731
|
+
)
|
|
1732
|
+
use_window_scroll: rx.Var[bool] = field(
|
|
1733
|
+
doc="Drive the expansion from the page scroll instead of the component\u2019s own scroller. Default: false."
|
|
1734
|
+
)
|
|
1735
|
+
enabled: rx.Var[bool] = field(
|
|
1736
|
+
doc="Enable or disable the expansion. Default: true."
|
|
1737
|
+
)
|
|
1738
|
+
|
|
1739
|
+
|
|
1740
|
+
class ShapeBlur(ReactBitsComponent):
|
|
1741
|
+
"""Morphing blurred geometric shape. The effect occurs on hover.
|
|
1742
|
+
|
|
1743
|
+
Docs: https://reactbits.dev/animations/shape-blur
|
|
1744
|
+
"""
|
|
1745
|
+
|
|
1746
|
+
tag = "ShapeBlur"
|
|
1747
|
+
alias = "ReactBitsShapeBlur"
|
|
1748
|
+
is_default = True
|
|
1749
|
+
_rb_category = "Animations"
|
|
1750
|
+
_rb_name = "ShapeBlur"
|
|
1751
|
+
_rb_files = ('ShapeBlur.jsx',)
|
|
1752
|
+
lib_dependencies: list[str] = ['three@0.180.0']
|
|
1753
|
+
|
|
1754
|
+
variation: rx.Var[int | float] = field(
|
|
1755
|
+
doc="Selects the shape variation (0-3) used by the shader. Default: 0."
|
|
1756
|
+
)
|
|
1757
|
+
pixel_ratio_prop: rx.Var[int | float] = field(
|
|
1758
|
+
doc="Overrides the pixel ratio, typically set to the device pixel ratio. Default: 2."
|
|
1759
|
+
)
|
|
1760
|
+
shape_size: rx.Var[int | float] = field(
|
|
1761
|
+
doc="Controls the size of the shape. Default: 1.2."
|
|
1762
|
+
)
|
|
1763
|
+
roundness: rx.Var[int | float] = field(
|
|
1764
|
+
doc="Determines the roundness of the shape's corners. Default: 0.4."
|
|
1765
|
+
)
|
|
1766
|
+
border_size: rx.Var[int | float] = field(
|
|
1767
|
+
doc="Sets the thickness of the border. Default: 0.05."
|
|
1768
|
+
)
|
|
1769
|
+
circle_size: rx.Var[int | float] = field(
|
|
1770
|
+
doc="Determines the size of the hover circle effect. Default: 0.3."
|
|
1771
|
+
)
|
|
1772
|
+
circle_edge: rx.Var[int | float] = field(
|
|
1773
|
+
doc="Controls the edge softness of the hover circle. Default: 0.5."
|
|
1774
|
+
)
|
|
1775
|
+
|
|
1776
|
+
|
|
1777
|
+
class SplashCursor(ReactBitsComponent):
|
|
1778
|
+
"""Liquid splash burst at cursor with curling ripples and waves.
|
|
1779
|
+
|
|
1780
|
+
Docs: https://reactbits.dev/animations/splash-cursor
|
|
1781
|
+
"""
|
|
1782
|
+
|
|
1783
|
+
tag = "SplashCursor"
|
|
1784
|
+
alias = "ReactBitsSplashCursor"
|
|
1785
|
+
is_default = True
|
|
1786
|
+
_rb_category = "Animations"
|
|
1787
|
+
_rb_name = "SplashCursor"
|
|
1788
|
+
_rb_files = ('SplashCursor.jsx',)
|
|
1789
|
+
_rename_props = {'simResolution': 'SIM_RESOLUTION', 'dyeResolution': 'DYE_RESOLUTION', 'captureResolution': 'CAPTURE_RESOLUTION', 'densityDissipation': 'DENSITY_DISSIPATION', 'velocityDissipation': 'VELOCITY_DISSIPATION', 'pressure': 'PRESSURE', 'pressureIterations': 'PRESSURE_ITERATIONS', 'curl': 'CURL', 'splatRadius': 'SPLAT_RADIUS', 'splatForce': 'SPLAT_FORCE', 'shading': 'SHADING', 'colorUpdateSpeed': 'COLOR_UPDATE_SPEED', 'backColor': 'BACK_COLOR', 'transparent': 'TRANSPARENT', 'rainbowMode': 'RAINBOW_MODE', 'color': 'COLOR'}
|
|
1790
|
+
|
|
1791
|
+
sim_resolution: rx.Var[int | float] = field(
|
|
1792
|
+
doc="Fluid simulation resolution for velocity fields. Default: 128."
|
|
1793
|
+
)
|
|
1794
|
+
dye_resolution: rx.Var[int | float] = field(
|
|
1795
|
+
doc="Resolution of the color/dye texture. Default: 1440."
|
|
1796
|
+
)
|
|
1797
|
+
capture_resolution: rx.Var[int | float] = field(
|
|
1798
|
+
doc="Resolution used for certain capture operations (rarely changed). Default: 512."
|
|
1799
|
+
)
|
|
1800
|
+
density_dissipation: rx.Var[int | float] = field(
|
|
1801
|
+
doc="Rate at which color/density dissipates over time. Default: 3.5."
|
|
1802
|
+
)
|
|
1803
|
+
velocity_dissipation: rx.Var[int | float] = field(
|
|
1804
|
+
doc="Rate at which velocity dissipates over time. Default: 2."
|
|
1805
|
+
)
|
|
1806
|
+
pressure: rx.Var[int | float] = field(
|
|
1807
|
+
doc="Base pressure for the fluid simulation. Default: 0.1."
|
|
1808
|
+
)
|
|
1809
|
+
pressure_iterations: rx.Var[int | float] = field(
|
|
1810
|
+
doc="Number of Jacobi iterations used for the pressure solver. Default: 20."
|
|
1811
|
+
)
|
|
1812
|
+
curl: rx.Var[int | float] = field(
|
|
1813
|
+
doc="Amount of vorticity/curl to apply for swirling effects. Default: 3."
|
|
1814
|
+
)
|
|
1815
|
+
splat_radius: rx.Var[int | float] = field(
|
|
1816
|
+
doc="Radius of the 'splat' effect when user interacts. Default: 0.2."
|
|
1817
|
+
)
|
|
1818
|
+
splat_force: rx.Var[int | float] = field(
|
|
1819
|
+
doc="Force of the fluid 'splat' on each interaction. Default: 6000."
|
|
1820
|
+
)
|
|
1821
|
+
shading: rx.Var[bool] = field(
|
|
1822
|
+
doc="Toggles simple lighting/shading on the fluid. Default: true."
|
|
1823
|
+
)
|
|
1824
|
+
color_update_speed: rx.Var[int | float] = field(
|
|
1825
|
+
doc="Frequency at which pointer colors are re-randomized. Default: 10."
|
|
1826
|
+
)
|
|
1827
|
+
back_color: rx.Var[dict[str, Any]] = field(
|
|
1828
|
+
doc="Base background color for the fluid. Not always used if TRANSPARENT is true. Default: { r: 0.5, g: 0, b: 0 }."
|
|
1829
|
+
)
|
|
1830
|
+
transparent: rx.Var[bool] = field(
|
|
1831
|
+
doc="The `TRANSPARENT` prop. Default: true."
|
|
1832
|
+
)
|
|
1833
|
+
rainbow_mode: rx.Var[bool] = field(
|
|
1834
|
+
doc="When true, uses randomly cycling rainbow colors. When false, uses the COLOR prop. Default: true."
|
|
1835
|
+
)
|
|
1836
|
+
color: rx.Var[str] = field(
|
|
1837
|
+
doc="Hex color for the cursor effect when RAINBOW_MODE is false. Default: '#ff0000'."
|
|
1838
|
+
)
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
class StarBorder(ReactBitsComponent):
|
|
1842
|
+
"""Animated star / sparkle border orbiting content with twinkle pulses.
|
|
1843
|
+
|
|
1844
|
+
Docs: https://reactbits.dev/animations/star-border
|
|
1845
|
+
"""
|
|
1846
|
+
|
|
1847
|
+
tag = "StarBorder"
|
|
1848
|
+
alias = "ReactBitsStarBorder"
|
|
1849
|
+
is_default = True
|
|
1850
|
+
_rb_category = "Animations"
|
|
1851
|
+
_rb_name = "StarBorder"
|
|
1852
|
+
_rb_files = ('StarBorder.css', 'StarBorder.jsx')
|
|
1853
|
+
|
|
1854
|
+
as_: rx.Var[str] = field(
|
|
1855
|
+
doc="Allows specifying the type of the parent component to be rendered. Default: 'button'."
|
|
1856
|
+
)
|
|
1857
|
+
color: rx.Var[str] = field(
|
|
1858
|
+
doc="Changes the main color of the border (fades to transparent). Default: 'white'."
|
|
1859
|
+
)
|
|
1860
|
+
speed: rx.Var[str] = field(
|
|
1861
|
+
doc="Changes the speed of the animation. Default: '6s'."
|
|
1862
|
+
)
|
|
1863
|
+
thickness: rx.Var[int | float] = field(
|
|
1864
|
+
doc="Controls the thickness of the star border effect. Default: 1."
|
|
1865
|
+
)
|
|
1866
|
+
background_color: rx.Var[str] = field(
|
|
1867
|
+
doc="Background color of the button surface. Default: '#000000'."
|
|
1868
|
+
)
|
|
1869
|
+
text_color: rx.Var[str] = field(
|
|
1870
|
+
doc="Text color of the button content. Default: '#ffffff'."
|
|
1871
|
+
)
|
|
1872
|
+
border_color: rx.Var[str] = field(
|
|
1873
|
+
doc="Static border color around the button surface. Default: '#222222'."
|
|
1874
|
+
)
|
|
1875
|
+
|
|
1876
|
+
|
|
1877
|
+
class StickerPeel(ReactBitsComponent):
|
|
1878
|
+
"""Sticker corner lift + peel interaction using 3D transform and shadow depth.
|
|
1879
|
+
|
|
1880
|
+
Docs: https://reactbits.dev/animations/sticker-peel
|
|
1881
|
+
"""
|
|
1882
|
+
|
|
1883
|
+
tag = "StickerPeel"
|
|
1884
|
+
alias = "ReactBitsStickerPeel"
|
|
1885
|
+
is_default = True
|
|
1886
|
+
_rb_category = "Animations"
|
|
1887
|
+
_rb_name = "StickerPeel"
|
|
1888
|
+
_rb_files = ('StickerPeel.css', 'StickerPeel.jsx')
|
|
1889
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
1890
|
+
|
|
1891
|
+
image_src: rx.Var[str] = field(
|
|
1892
|
+
doc="The source URL for the sticker image. Default: required."
|
|
1893
|
+
)
|
|
1894
|
+
rotate: rx.Var[int | float] = field(
|
|
1895
|
+
doc="The rotation angle in degrees when dragging. Default: 30."
|
|
1896
|
+
)
|
|
1897
|
+
peel_back_hover_pct: rx.Var[int | float] = field(
|
|
1898
|
+
doc="Percentage of peel effect on hover (0-100). Default: 30."
|
|
1899
|
+
)
|
|
1900
|
+
peel_back_active_pct: rx.Var[int | float] = field(
|
|
1901
|
+
doc="Percentage of peel effect when active/clicked (0-100). Default: 40."
|
|
1902
|
+
)
|
|
1903
|
+
peel_easing: rx.Var[str] = field(
|
|
1904
|
+
doc="GSAP easing function for peel animations. Default: 'power3.out'."
|
|
1905
|
+
)
|
|
1906
|
+
peel_hover_easing: rx.Var[str] = field(
|
|
1907
|
+
doc="GSAP easing function for hover transitions. Default: 'power2.out'."
|
|
1908
|
+
)
|
|
1909
|
+
width: rx.Var[int | float] = field(
|
|
1910
|
+
doc="Width of the sticker in pixels. Default: 200."
|
|
1911
|
+
)
|
|
1912
|
+
shadow_intensity: rx.Var[int | float] = field(
|
|
1913
|
+
doc="Intensity of the shadow effect (0-1). Default: 0.6."
|
|
1914
|
+
)
|
|
1915
|
+
lighting_intensity: rx.Var[int | float] = field(
|
|
1916
|
+
doc="Intensity of the lighting effect (0-1). Default: 0.1."
|
|
1917
|
+
)
|
|
1918
|
+
initial_position: rx.Var[str | dict[str, Any]] = field(
|
|
1919
|
+
doc="Initial position of the sticker ('center', 'top-left', 'top-right', 'bottom-left', 'bottom-right'). Default: 'center'."
|
|
1920
|
+
)
|
|
1921
|
+
peel_direction: rx.Var[int | float] = field(
|
|
1922
|
+
doc="Direction of the peel effect in degrees (0-360). Default: 0."
|
|
1923
|
+
)
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
class Strands(ReactBitsComponent):
|
|
1927
|
+
"""Glowing ribbon-like strands that ripple and weave across a transparent canvas.
|
|
1928
|
+
|
|
1929
|
+
Docs: https://reactbits.dev/animations/strands
|
|
1930
|
+
"""
|
|
1931
|
+
|
|
1932
|
+
tag = "Strands"
|
|
1933
|
+
alias = "ReactBitsStrands"
|
|
1934
|
+
is_default = True
|
|
1935
|
+
_rb_category = "Animations"
|
|
1936
|
+
_rb_name = "Strands"
|
|
1937
|
+
_rb_files = ('Strands.css', 'Strands.jsx')
|
|
1938
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
1939
|
+
|
|
1940
|
+
colors: rx.Var[list[str]] = field(
|
|
1941
|
+
doc="Palette of hex colors cycled across the strands. Pass an empty array to use the built-in rainbow spectrum. Default: ['#FF4242', '#7C3AED', '#06B6D4', '#EAB308']."
|
|
1942
|
+
)
|
|
1943
|
+
count: rx.Var[int | float] = field(
|
|
1944
|
+
doc="Number of strands woven through the animation. Default: 3."
|
|
1945
|
+
)
|
|
1946
|
+
speed: rx.Var[int | float] = field(
|
|
1947
|
+
doc="How quickly the strands ripple and flow. Default: 0.5."
|
|
1948
|
+
)
|
|
1949
|
+
amplitude: rx.Var[int | float] = field(
|
|
1950
|
+
doc="Vertical reach of each strand as it waves up and down. Default: 1."
|
|
1951
|
+
)
|
|
1952
|
+
waviness: rx.Var[int | float] = field(
|
|
1953
|
+
doc="Density of the curves along each strand. Default: 1."
|
|
1954
|
+
)
|
|
1955
|
+
thickness: rx.Var[int | float] = field(
|
|
1956
|
+
doc="Width of each glowing strand. Default: 0.7."
|
|
1957
|
+
)
|
|
1958
|
+
glow: rx.Var[int | float] = field(
|
|
1959
|
+
doc="Strength of the luminous bloom around the strands. Default: 2.6."
|
|
1960
|
+
)
|
|
1961
|
+
taper: rx.Var[int | float] = field(
|
|
1962
|
+
doc="How sharply the strands fade out toward the edges. Default: 3."
|
|
1963
|
+
)
|
|
1964
|
+
spread: rx.Var[int | float] = field(
|
|
1965
|
+
doc="Separation between strands so they fan out instead of overlapping. Default: 1."
|
|
1966
|
+
)
|
|
1967
|
+
hue_shift: rx.Var[int | float] = field(
|
|
1968
|
+
doc="Rotates the colors around the strands for variation. Default: 0."
|
|
1969
|
+
)
|
|
1970
|
+
intensity: rx.Var[int | float] = field(
|
|
1971
|
+
doc="Overall brightness and energy of the effect. Default: 0.6."
|
|
1972
|
+
)
|
|
1973
|
+
saturation: rx.Var[int | float] = field(
|
|
1974
|
+
doc="Vibrance of the colors. Above 1 makes them more intense, below 1 fades to grayscale. Default: 1.5."
|
|
1975
|
+
)
|
|
1976
|
+
opacity: rx.Var[int | float] = field(
|
|
1977
|
+
doc="Overall transparency of the rendered strands. Default: 1."
|
|
1978
|
+
)
|
|
1979
|
+
scale: rx.Var[int | float] = field(
|
|
1980
|
+
doc="Zooms the whole effect in or out to make the strands bigger or smaller. Default: 1.5."
|
|
1981
|
+
)
|
|
1982
|
+
glass: rx.Var[bool] = field(
|
|
1983
|
+
doc="Renders the strands inside a refractive glass ball. Default: false."
|
|
1984
|
+
)
|
|
1985
|
+
refraction: rx.Var[int | float] = field(
|
|
1986
|
+
doc="How strongly the glass ball bends the light passing through it. Default: 1."
|
|
1987
|
+
)
|
|
1988
|
+
dispersion: rx.Var[int | float] = field(
|
|
1989
|
+
doc="Amount of rainbow color separation along the edges of the glass ball. Default: 1."
|
|
1990
|
+
)
|
|
1991
|
+
glass_size: rx.Var[int | float] = field(
|
|
1992
|
+
doc="Size of the glass ball relative to the canvas. Default: 1."
|
|
1993
|
+
)
|
|
1994
|
+
|
|
1995
|
+
|
|
1996
|
+
class SwarmCursor(ReactBitsComponent):
|
|
1997
|
+
"""Flocking particle swarm that chases the pointer, jostles for space and drifts apart at rest.
|
|
1998
|
+
|
|
1999
|
+
Docs: https://reactbits.dev/animations/swarm-cursor
|
|
2000
|
+
"""
|
|
2001
|
+
|
|
2002
|
+
tag = "SwarmCursor"
|
|
2003
|
+
alias = "ReactBitsSwarmCursor"
|
|
2004
|
+
is_default = True
|
|
2005
|
+
_rb_category = "Animations"
|
|
2006
|
+
_rb_name = "SwarmCursor"
|
|
2007
|
+
_rb_files = ('SwarmCursor.css', 'SwarmCursor.jsx')
|
|
2008
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
2009
|
+
|
|
2010
|
+
color: rx.Var[str] = field(
|
|
2011
|
+
doc="Base color of the swarm. Default: '#ffffff'."
|
|
2012
|
+
)
|
|
2013
|
+
accent_color: rx.Var[str] = field(
|
|
2014
|
+
doc="Color where the swarm is densest. Default: '#ffffff'."
|
|
2015
|
+
)
|
|
2016
|
+
count: rx.Var[int | float] = field(
|
|
2017
|
+
doc="Number of particles in the swarm. Default: 10."
|
|
2018
|
+
)
|
|
2019
|
+
size: rx.Var[int | float] = field(
|
|
2020
|
+
doc="Radius of each particle, in pixels. Default: 10."
|
|
2021
|
+
)
|
|
2022
|
+
merge: rx.Var[int | float] = field(
|
|
2023
|
+
doc="How readily nearby particles fuse into a single body. Lower is gooier. Default: 0.77."
|
|
2024
|
+
)
|
|
2025
|
+
glow: rx.Var[int | float] = field(
|
|
2026
|
+
doc="Strength of the soft halo around the swarm. Default: 0.75."
|
|
2027
|
+
)
|
|
2028
|
+
opacity: rx.Var[int | float] = field(
|
|
2029
|
+
doc="Overall opacity of the effect. Default: 1."
|
|
2030
|
+
)
|
|
2031
|
+
spread: rx.Var[int | float] = field(
|
|
2032
|
+
doc="Radius of the cloud the swarm orbits the cursor at. Default: 100."
|
|
2033
|
+
)
|
|
2034
|
+
separation: rx.Var[int | float] = field(
|
|
2035
|
+
doc="How strongly particles push each other apart. Default: 0.15."
|
|
2036
|
+
)
|
|
2037
|
+
speed: rx.Var[int | float] = field(
|
|
2038
|
+
doc="Travel speed and turn rate of the swarm, on a 1-10 dial. Default: 2.5."
|
|
2039
|
+
)
|
|
2040
|
+
wander: rx.Var[int | float] = field(
|
|
2041
|
+
doc="How strongly the drifting flow field pulls particles off their chase. Default: 0.25."
|
|
2042
|
+
)
|
|
2043
|
+
trail: rx.Var[int | float] = field(
|
|
2044
|
+
doc="Length of the motion trail each particle leaves behind. Default: 0.75."
|
|
2045
|
+
)
|
|
2046
|
+
scatter_on_click: rx.Var[bool] = field(
|
|
2047
|
+
doc="Burst the swarm outward on click, then let it regroup. Default: true."
|
|
2048
|
+
)
|
|
2049
|
+
enabled: rx.Var[bool] = field(
|
|
2050
|
+
doc="Enable or disable the effect. Default: true."
|
|
2051
|
+
)
|
|
2052
|
+
|
|
2053
|
+
|
|
2054
|
+
class TargetCursor(ReactBitsComponent):
|
|
2055
|
+
"""A cursor follow animation with 4 corners that lock onto targets.
|
|
2056
|
+
|
|
2057
|
+
Docs: https://reactbits.dev/animations/target-cursor
|
|
2058
|
+
"""
|
|
2059
|
+
|
|
2060
|
+
tag = "TargetCursor"
|
|
2061
|
+
alias = "ReactBitsTargetCursor"
|
|
2062
|
+
is_default = True
|
|
2063
|
+
_rb_category = "Animations"
|
|
2064
|
+
_rb_name = "TargetCursor"
|
|
2065
|
+
_rb_files = ('TargetCursor.css', 'TargetCursor.jsx')
|
|
2066
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
2067
|
+
|
|
2068
|
+
target_selector: rx.Var[str] = field(
|
|
2069
|
+
doc="CSS selector for elements that should trigger the cursor targeting effect. Default: '.cursor-target'."
|
|
2070
|
+
)
|
|
2071
|
+
spin_duration: rx.Var[int | float] = field(
|
|
2072
|
+
doc="Duration in seconds for the cursor's spinning animation when not targeting. Default: 2."
|
|
2073
|
+
)
|
|
2074
|
+
hide_default_cursor: rx.Var[bool] = field(
|
|
2075
|
+
doc="Whether to hide the default browser cursor when the component is active. Default: true."
|
|
2076
|
+
)
|
|
2077
|
+
hover_duration: rx.Var[int | float] = field(
|
|
2078
|
+
doc="Duration in seconds for the transition when the cursor locks onto a target. Default: 0.2."
|
|
2079
|
+
)
|
|
2080
|
+
parallax_on: rx.Var[bool] = field(
|
|
2081
|
+
doc="Enables a subtle parallax effect on the corners when moving over a target. Default: true."
|
|
2082
|
+
)
|
|
2083
|
+
cursor_color: rx.Var[str] = field(
|
|
2084
|
+
doc="Color of the cursor dot and corner brackets at rest. Default: '#ffffff'."
|
|
2085
|
+
)
|
|
2086
|
+
cursor_color_on_target: rx.Var[str] = field(
|
|
2087
|
+
doc="Optional color the cursor smoothly transitions to while locked onto a target."
|
|
2088
|
+
)
|
|
2089
|
+
|
|
2090
|
+
|
|
2091
|
+
animated_content = AnimatedContent.create
|
|
2092
|
+
antigravity = Antigravity.create
|
|
2093
|
+
blob_cursor = BlobCursor.create
|
|
2094
|
+
click_spark = ClickSpark.create
|
|
2095
|
+
crosshair = Crosshair.create
|
|
2096
|
+
cubes = Cubes.create
|
|
2097
|
+
cursor_grid = CursorGrid.create
|
|
2098
|
+
elastic_mesh = ElasticMesh.create
|
|
2099
|
+
electric_border = ElectricBorder.create
|
|
2100
|
+
fade_content = FadeContent.create
|
|
2101
|
+
ghost_cursor = GhostCursor.create
|
|
2102
|
+
glare_hover = GlareHover.create
|
|
2103
|
+
glow_cursor = GlowCursor.create
|
|
2104
|
+
gradual_blur = GradualBlur.create
|
|
2105
|
+
halftone_reveal = HalftoneReveal.create
|
|
2106
|
+
image_trail = ImageTrail.create
|
|
2107
|
+
laser_flow = LaserFlow.create
|
|
2108
|
+
logo_loop = LogoLoop.create
|
|
2109
|
+
magic_rings = MagicRings.create
|
|
2110
|
+
magnet = Magnet.create
|
|
2111
|
+
magnet_lines = MagnetLines.create
|
|
2112
|
+
meta_balls = MetaBalls.create
|
|
2113
|
+
metallic_paint = MetallicPaint.create
|
|
2114
|
+
noise = Noise.create
|
|
2115
|
+
orbit_images = OrbitImages.create
|
|
2116
|
+
pixel_swap = PixelSwap.create
|
|
2117
|
+
pixel_trail = PixelTrail.create
|
|
2118
|
+
pixel_transition = PixelTransition.create
|
|
2119
|
+
ribbons = Ribbons.create
|
|
2120
|
+
ripple_distortion = RippleDistortion.create
|
|
2121
|
+
scroll_expand = ScrollExpand.create
|
|
2122
|
+
shape_blur = ShapeBlur.create
|
|
2123
|
+
splash_cursor = SplashCursor.create
|
|
2124
|
+
star_border = StarBorder.create
|
|
2125
|
+
sticker_peel = StickerPeel.create
|
|
2126
|
+
strands = Strands.create
|
|
2127
|
+
swarm_cursor = SwarmCursor.create
|
|
2128
|
+
target_cursor = TargetCursor.create
|