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,1629 @@
|
|
|
1
|
+
"""React Bits - Text 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__ = ['ASCIIText', 'BlurText', 'CircularText', 'CountUp', 'CurvedLoop', 'DecryptedText', 'DepthText', 'EchoText', 'FallingText', 'FoldText', 'FuzzyText', 'GlitchText', 'GradientText', 'MaskedHeading', 'ParticleText', 'RotatingText', 'ScrambledText', 'ScrollFloat', 'ScrollReveal', 'ScrollVelocity', 'ShinyText', 'Shuffle', 'SplitFlapText', 'SplitText', 'StrokeText', 'TextCursor', 'TextLoop', 'TextPressure', 'TextType', 'TrueFocus', 'VariableProximity', 'WarpText', 'ascii_text', 'blur_text', 'circular_text', 'count_up', 'curved_loop', 'decrypted_text', 'depth_text', 'echo_text', 'falling_text', 'fold_text', 'fuzzy_text', 'glitch_text', 'gradient_text', 'masked_heading', 'particle_text', 'rotating_text', 'scrambled_text', 'scroll_float', 'scroll_reveal', 'scroll_velocity', 'shiny_text', 'shuffle', 'split_flap_text', 'split_text', 'stroke_text', 'text_cursor', 'text_loop', 'text_pressure', 'text_type', 'true_focus', 'variable_proximity', 'warp_text']
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ASCIIText(ReactBitsComponent):
|
|
21
|
+
"""Renders text with an animated ASCII background for a retro feel.
|
|
22
|
+
|
|
23
|
+
Docs: https://reactbits.dev/text-animations/ascii-text
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
tag = "ASCIIText"
|
|
27
|
+
alias = "ReactBitsASCIIText"
|
|
28
|
+
is_default = True
|
|
29
|
+
_rb_category = "TextAnimations"
|
|
30
|
+
_rb_name = "ASCIIText"
|
|
31
|
+
_rb_files = ('ASCIIText.jsx',)
|
|
32
|
+
lib_dependencies: list[str] = ['three@0.180.0']
|
|
33
|
+
|
|
34
|
+
text: rx.Var[str] = field(
|
|
35
|
+
doc="The text displayed on the plane in the ASCII scene. Default: 'David!'."
|
|
36
|
+
)
|
|
37
|
+
ascii_font_size: rx.Var[int | float] = field(
|
|
38
|
+
doc="Size of the ASCII glyphs in the overlay. Default: 8."
|
|
39
|
+
)
|
|
40
|
+
text_font_size: rx.Var[int | float] = field(
|
|
41
|
+
doc="Pixel size for the text that's drawn onto the plane texture. Default: 200."
|
|
42
|
+
)
|
|
43
|
+
text_color: rx.Var[str] = field(
|
|
44
|
+
doc="The color of the text drawn onto the plane texture. Default: '#fdf9f3'."
|
|
45
|
+
)
|
|
46
|
+
plane_base_height: rx.Var[int | float] = field(
|
|
47
|
+
doc="How tall the plane is in 3D. The plane width is auto-based on text aspect. Default: 8."
|
|
48
|
+
)
|
|
49
|
+
enable_waves: rx.Var[bool] = field(
|
|
50
|
+
doc="If false, disables the wavy text animation. Default: true."
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class BlurText(ReactBitsComponent):
|
|
55
|
+
"""Text starts blurred then crisply resolves for a soft-focus reveal effect.
|
|
56
|
+
|
|
57
|
+
Docs: https://reactbits.dev/text-animations/blur-text
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
tag = "BlurText"
|
|
61
|
+
alias = "ReactBitsBlurText"
|
|
62
|
+
is_default = True
|
|
63
|
+
_rb_category = "TextAnimations"
|
|
64
|
+
_rb_name = "BlurText"
|
|
65
|
+
_rb_files = ('BlurText.jsx',)
|
|
66
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
67
|
+
|
|
68
|
+
text: rx.Var[str] = field(
|
|
69
|
+
doc="The text content to animate."
|
|
70
|
+
)
|
|
71
|
+
delay: rx.Var[int | float] = field(
|
|
72
|
+
doc="Delay between animations for each word/letter (in ms). Default: 200."
|
|
73
|
+
)
|
|
74
|
+
animate_by: rx.Var[str] = field(
|
|
75
|
+
doc="Determines whether to animate by 'words' or 'letters'. Default: 'words'."
|
|
76
|
+
)
|
|
77
|
+
direction: rx.Var[str] = field(
|
|
78
|
+
doc="Direction from which the words/letters appear ('top' or 'bottom'). Default: 'top'."
|
|
79
|
+
)
|
|
80
|
+
threshold: rx.Var[int | float] = field(
|
|
81
|
+
doc="Intersection threshold for triggering the animation. Default: 0.1."
|
|
82
|
+
)
|
|
83
|
+
root_margin: rx.Var[str] = field(
|
|
84
|
+
doc="Root margin for the intersection observer. Default: '0px'."
|
|
85
|
+
)
|
|
86
|
+
animation_from: rx.Var[Any] = field(
|
|
87
|
+
doc="The `animationFrom` prop."
|
|
88
|
+
)
|
|
89
|
+
animation_to: rx.Var[Any] = field(
|
|
90
|
+
doc="The `animationTo` prop."
|
|
91
|
+
)
|
|
92
|
+
easing: rx.Var[Any] = field(
|
|
93
|
+
doc="The `easing` prop. Default: t => t. Pass a JS function with rx.Var('(...) => ...')."
|
|
94
|
+
)
|
|
95
|
+
step_duration: rx.Var[int | float] = field(
|
|
96
|
+
doc="The time taken for each letter/word to animate (in seconds). Default: 0.35."
|
|
97
|
+
)
|
|
98
|
+
on_animation_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
99
|
+
doc="Callback function triggered when all animations complete."
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class CircularText(ReactBitsComponent):
|
|
104
|
+
"""Layouts characters around a circle with optional rotation animation.
|
|
105
|
+
|
|
106
|
+
Docs: https://reactbits.dev/text-animations/circular-text
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
tag = "CircularText"
|
|
110
|
+
alias = "ReactBitsCircularText"
|
|
111
|
+
is_default = True
|
|
112
|
+
_rb_category = "TextAnimations"
|
|
113
|
+
_rb_name = "CircularText"
|
|
114
|
+
_rb_files = ('CircularText.css', 'CircularText.jsx')
|
|
115
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
116
|
+
|
|
117
|
+
text: rx.Var[str] = field(
|
|
118
|
+
doc="The text to display in a circular layout."
|
|
119
|
+
)
|
|
120
|
+
spin_duration: rx.Var[int | float] = field(
|
|
121
|
+
doc="The duration (in seconds) for one full rotation. Default: 20."
|
|
122
|
+
)
|
|
123
|
+
on_hover: rx.Var[Literal["slowDown", "speedUp", "pause", "goBonkers"]] = field(
|
|
124
|
+
doc="Specifies the hover behavior variant. Options include 'slowDown', 'speedUp', 'pause', and 'goBonkers'. Default: 'speedUp'."
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class CountUp(ReactBitsComponent):
|
|
129
|
+
"""Animated number counter supporting formatting and decimals.
|
|
130
|
+
|
|
131
|
+
Docs: https://reactbits.dev/text-animations/count-up
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
tag = "CountUp"
|
|
135
|
+
alias = "ReactBitsCountUp"
|
|
136
|
+
is_default = True
|
|
137
|
+
_rb_category = "TextAnimations"
|
|
138
|
+
_rb_name = "CountUp"
|
|
139
|
+
_rb_files = ('CountUp.jsx',)
|
|
140
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
141
|
+
|
|
142
|
+
to: rx.Var[int | float] = field(
|
|
143
|
+
doc="The target number to count up to. Default: \u2014."
|
|
144
|
+
)
|
|
145
|
+
from_: rx.Var[int | float] = field(
|
|
146
|
+
doc="The initial number from which the count starts. Default: 0."
|
|
147
|
+
)
|
|
148
|
+
direction: rx.Var[str] = field(
|
|
149
|
+
doc="Direction of the count; can be \"up\" or \"down\". When this is set to \"down\", \"from\" and \"to\" become reversed, in order to count down. Default: 'up'."
|
|
150
|
+
)
|
|
151
|
+
delay: rx.Var[int | float] = field(
|
|
152
|
+
doc="Delay in seconds before the counting starts. Default: 0."
|
|
153
|
+
)
|
|
154
|
+
duration: rx.Var[int | float] = field(
|
|
155
|
+
doc="Duration of the count animation - based on the damping and stiffness configured inside the component. Default: 2."
|
|
156
|
+
)
|
|
157
|
+
start_when: rx.Var[bool] = field(
|
|
158
|
+
doc="A boolean to control whether the animation should start when the component is in view. It basically works like an if statement, if this is true, the count will start. Default: true."
|
|
159
|
+
)
|
|
160
|
+
separator: rx.Var[str] = field(
|
|
161
|
+
doc="Character to use as a thousands separator in the displayed number."
|
|
162
|
+
)
|
|
163
|
+
on_start: rx.EventHandler[no_args_event_spec] = field(
|
|
164
|
+
doc="Callback function that is called when the count animation starts."
|
|
165
|
+
)
|
|
166
|
+
on_end: rx.EventHandler[no_args_event_spec] = field(
|
|
167
|
+
doc="Callback function that is called when the count animation ends."
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
class CurvedLoop(ReactBitsComponent):
|
|
172
|
+
"""Flowing looping text path along a customizable curve with drag interaction.
|
|
173
|
+
|
|
174
|
+
Docs: https://reactbits.dev/text-animations/curved-loop
|
|
175
|
+
"""
|
|
176
|
+
|
|
177
|
+
tag = "CurvedLoop"
|
|
178
|
+
alias = "ReactBitsCurvedLoop"
|
|
179
|
+
is_default = True
|
|
180
|
+
_rb_category = "TextAnimations"
|
|
181
|
+
_rb_name = "CurvedLoop"
|
|
182
|
+
_rb_files = ('CurvedLoop.css', 'CurvedLoop.jsx')
|
|
183
|
+
|
|
184
|
+
marquee_text: rx.Var[str] = field(
|
|
185
|
+
doc="The text to display in the curved marquee."
|
|
186
|
+
)
|
|
187
|
+
speed: rx.Var[int | float] = field(
|
|
188
|
+
doc="Animation speed of the marquee text. Default: 2."
|
|
189
|
+
)
|
|
190
|
+
curve_amount: rx.Var[int | float] = field(
|
|
191
|
+
doc="Amount of curve in the text path. Default: 400."
|
|
192
|
+
)
|
|
193
|
+
direction: rx.Var[Literal["left", "right"]] = field(
|
|
194
|
+
doc="Initial direction of the marquee animation. Default: 'left'."
|
|
195
|
+
)
|
|
196
|
+
interactive: rx.Var[bool] = field(
|
|
197
|
+
doc="Whether the marquee can be dragged by the user. Default: true."
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class DecryptedText(ReactBitsComponent):
|
|
202
|
+
"""Hacker-style decryption cycling random glyphs until resolving to real text.
|
|
203
|
+
|
|
204
|
+
Docs: https://reactbits.dev/text-animations/decrypted-text
|
|
205
|
+
"""
|
|
206
|
+
|
|
207
|
+
tag = "DecryptedText"
|
|
208
|
+
alias = "ReactBitsDecryptedText"
|
|
209
|
+
is_default = True
|
|
210
|
+
_rb_category = "TextAnimations"
|
|
211
|
+
_rb_name = "DecryptedText"
|
|
212
|
+
_rb_files = ('DecryptedText.jsx',)
|
|
213
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
214
|
+
|
|
215
|
+
text: rx.Var[str] = field(
|
|
216
|
+
doc="The text content to decrypt."
|
|
217
|
+
)
|
|
218
|
+
speed: rx.Var[int | float] = field(
|
|
219
|
+
doc="Time in ms between each iteration. Default: 50."
|
|
220
|
+
)
|
|
221
|
+
max_iterations: rx.Var[int | float] = field(
|
|
222
|
+
doc="Max # of random iterations (non-sequential mode). Default: 10."
|
|
223
|
+
)
|
|
224
|
+
sequential: rx.Var[bool] = field(
|
|
225
|
+
doc="Whether to reveal one character at a time in sequence. Default: false."
|
|
226
|
+
)
|
|
227
|
+
reveal_direction: rx.Var[Literal["start", "end", "center"]] = field(
|
|
228
|
+
doc="From which position characters begin to reveal in sequential mode. Default: 'start'."
|
|
229
|
+
)
|
|
230
|
+
use_original_chars_only: rx.Var[bool] = field(
|
|
231
|
+
doc="Restrict scrambling to only the characters already in the text. Default: false."
|
|
232
|
+
)
|
|
233
|
+
characters: rx.Var[str] = field(
|
|
234
|
+
doc="The `characters` prop. Default: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$...."
|
|
235
|
+
)
|
|
236
|
+
parent_class_name: rx.Var[str] = field(
|
|
237
|
+
doc="CSS class for the main characters container."
|
|
238
|
+
)
|
|
239
|
+
encrypted_class_name: rx.Var[str] = field(
|
|
240
|
+
doc="CSS class for encrypted characters."
|
|
241
|
+
)
|
|
242
|
+
animate_on: rx.Var[Literal["view", "hover", "inViewHover", "click"]] = field(
|
|
243
|
+
doc="Trigger scrambling on hover or scroll-into-view. Default: 'hover'."
|
|
244
|
+
)
|
|
245
|
+
click_mode: rx.Var[Literal["once", "toggle"]] = field(
|
|
246
|
+
doc="Controls click behavior; only applies when animateOn is \"click\". Default: 'once'."
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
class DepthText(ReactBitsComponent):
|
|
251
|
+
"""Layered extruded type with parallax that shifts against the pointer.
|
|
252
|
+
|
|
253
|
+
Docs: https://reactbits.dev/text-animations/depth-text
|
|
254
|
+
"""
|
|
255
|
+
|
|
256
|
+
tag = "DepthText"
|
|
257
|
+
alias = "ReactBitsDepthText"
|
|
258
|
+
is_default = True
|
|
259
|
+
_rb_category = "TextAnimations"
|
|
260
|
+
_rb_name = "DepthText"
|
|
261
|
+
_rb_files = ('DepthText.css', 'DepthText.jsx')
|
|
262
|
+
|
|
263
|
+
text: rx.Var[str] = field(
|
|
264
|
+
doc="The word or short phrase rendered as extruded type. Default: 'Elevate'."
|
|
265
|
+
)
|
|
266
|
+
layers: rx.Var[int | float] = field(
|
|
267
|
+
doc="Number of stacked copies that form the extrusion. Clamped to protect the DOM. Default: 34."
|
|
268
|
+
)
|
|
269
|
+
depth: rx.Var[int | float] = field(
|
|
270
|
+
doc="Spacing in pixels between each layer of the extrusion. Default: 2.4."
|
|
271
|
+
)
|
|
272
|
+
face_color: rx.Var[str] = field(
|
|
273
|
+
doc="Color of the crisp front face of the text. Default: '#f8fafc'."
|
|
274
|
+
)
|
|
275
|
+
depth_color: rx.Var[str] = field(
|
|
276
|
+
doc="Tint used for the back of the extrusion and its shadow. Default: '#7c3aed'."
|
|
277
|
+
)
|
|
278
|
+
tilt: rx.Var[int | float] = field(
|
|
279
|
+
doc="Maximum pointer-driven rotation in degrees. Default: 7.5."
|
|
280
|
+
)
|
|
281
|
+
pointer_tracking: rx.Var[bool] = field(
|
|
282
|
+
doc="Enables smoothed pointer parallax on fine pointer devices. Default: true."
|
|
283
|
+
)
|
|
284
|
+
smoothing: rx.Var[int | float] = field(
|
|
285
|
+
doc="Damping amount used to ease rotation toward the pointer target. Default: 0.14."
|
|
286
|
+
)
|
|
287
|
+
perspective: rx.Var[int | float] = field(
|
|
288
|
+
doc="Perspective distance in pixels for the 3D stack. Default: 900."
|
|
289
|
+
)
|
|
290
|
+
auto_orbit: rx.Var[bool] = field(
|
|
291
|
+
doc="Adds a subtle orbit when pointer tracking is unavailable or idle. Default: true."
|
|
292
|
+
)
|
|
293
|
+
orbit_speed: rx.Var[int | float] = field(
|
|
294
|
+
doc="Speed of the fallback orbit in cycles per second. Default: 0.35."
|
|
295
|
+
)
|
|
296
|
+
font_size: rx.Var[str] = field(
|
|
297
|
+
doc="CSS font-size value for the display word. Default: 'clamp(3rem, 12vw, 7rem)'."
|
|
298
|
+
)
|
|
299
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
300
|
+
doc="Font weight used for every layer. Default: 900."
|
|
301
|
+
)
|
|
302
|
+
shadow: rx.Var[bool] = field(
|
|
303
|
+
doc="Adds a soft colored drop shadow to the front face. Default: true."
|
|
304
|
+
)
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
class EchoText(ReactBitsComponent):
|
|
308
|
+
"""Ghosted copies trail behind the text and settle into a single word.
|
|
309
|
+
|
|
310
|
+
Docs: https://reactbits.dev/text-animations/echo-text
|
|
311
|
+
"""
|
|
312
|
+
|
|
313
|
+
tag = "EchoText"
|
|
314
|
+
alias = "ReactBitsEchoText"
|
|
315
|
+
is_default = True
|
|
316
|
+
_rb_category = "TextAnimations"
|
|
317
|
+
_rb_name = "EchoText"
|
|
318
|
+
_rb_files = ('EchoText.css', 'EchoText.jsx')
|
|
319
|
+
|
|
320
|
+
text: rx.Var[str] = field(
|
|
321
|
+
doc="Text rendered by the crisp front copy and every echo layer. Default: 'Motion Echo'."
|
|
322
|
+
)
|
|
323
|
+
echoes: rx.Var[int | float] = field(
|
|
324
|
+
doc="Number of ghost copies behind the front text. Default: 12."
|
|
325
|
+
)
|
|
326
|
+
lag: rx.Var[int | float] = field(
|
|
327
|
+
doc="How slowly deeper echoes chase the current target. Default: 0.24."
|
|
328
|
+
)
|
|
329
|
+
offset: rx.Var[int | float] = field(
|
|
330
|
+
doc="Pixel travel used by the entrance spread and pointer response. Default: 36."
|
|
331
|
+
)
|
|
332
|
+
direction: rx.Var[Literal["right", "left", "up", "down", "diagonal"]] = field(
|
|
333
|
+
doc="Direction the entrance trail collapses from. Default: 'right'."
|
|
334
|
+
)
|
|
335
|
+
fade: rx.Var[int | float] = field(
|
|
336
|
+
doc="Opacity falloff applied from one echo to the next. Default: 0.72."
|
|
337
|
+
)
|
|
338
|
+
blur: rx.Var[int | float] = field(
|
|
339
|
+
doc="Maximum blur in pixels on the deepest echo. Default: 3."
|
|
340
|
+
)
|
|
341
|
+
tint: rx.Var[bool | str] = field(
|
|
342
|
+
doc="Optional chromatic tint blended into the echo layers. Default: '#7dd3fc'."
|
|
343
|
+
)
|
|
344
|
+
mode: rx.Var[Literal["entrance", "pointer", "both"]] = field(
|
|
345
|
+
doc="Whether to run the entrance, pointer smear, or both. Default: 'both'."
|
|
346
|
+
)
|
|
347
|
+
cursor_radius: rx.Var[int | float] = field(
|
|
348
|
+
doc="Distance in pixels over which the cursor pulls the text to full offset. Larger values react from further away and arrive later. Default: 320."
|
|
349
|
+
)
|
|
350
|
+
duration: rx.Var[int | float] = field(
|
|
351
|
+
doc="Entrance convergence duration in milliseconds. Default: 900."
|
|
352
|
+
)
|
|
353
|
+
ease: rx.Var[Literal["linear", "ease-out", "ease-in-out", "snappy"]] = field(
|
|
354
|
+
doc="Timing curve used for the entrance convergence. Default: 'ease-out'."
|
|
355
|
+
)
|
|
356
|
+
font_size: rx.Var[int | float | str] = field(
|
|
357
|
+
doc="Font size applied to the text stack. Default: 'clamp(3rem, 9vw, 7rem)'."
|
|
358
|
+
)
|
|
359
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
360
|
+
doc="Font weight applied to all copies. Default: 800."
|
|
361
|
+
)
|
|
362
|
+
color: rx.Var[str] = field(
|
|
363
|
+
doc="Color of the crisp front copy. Default: '#f8fafc'."
|
|
364
|
+
)
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
class FallingText(ReactBitsComponent):
|
|
368
|
+
"""Characters fall with gravity + bounce creating a playful entrance.
|
|
369
|
+
|
|
370
|
+
Docs: https://reactbits.dev/text-animations/falling-text
|
|
371
|
+
"""
|
|
372
|
+
|
|
373
|
+
tag = "FallingText"
|
|
374
|
+
alias = "ReactBitsFallingText"
|
|
375
|
+
is_default = True
|
|
376
|
+
_rb_category = "TextAnimations"
|
|
377
|
+
_rb_name = "FallingText"
|
|
378
|
+
_rb_files = ('FallingText.css', 'FallingText.jsx')
|
|
379
|
+
lib_dependencies: list[str] = ['matter-js@0.20.0']
|
|
380
|
+
|
|
381
|
+
text: rx.Var[str] = field(
|
|
382
|
+
doc="The text content to display and eventually animate."
|
|
383
|
+
)
|
|
384
|
+
highlight_words: rx.Var[list[str]] = field(
|
|
385
|
+
doc="List of words or substrings to apply a highlight style. Default: []."
|
|
386
|
+
)
|
|
387
|
+
highlight_class: rx.Var[str] = field(
|
|
388
|
+
doc="CSS class name for highlighted words. Default: 'highlighted'."
|
|
389
|
+
)
|
|
390
|
+
trigger: rx.Var[Literal["click", "hover", "auto", "scroll"]] = field(
|
|
391
|
+
doc="Defines how the falling effect is activated. Default: 'auto'."
|
|
392
|
+
)
|
|
393
|
+
background_color: rx.Var[str] = field(
|
|
394
|
+
doc="Canvas background color for the physics world. Default: 'transparent'."
|
|
395
|
+
)
|
|
396
|
+
wireframes: rx.Var[bool] = field(
|
|
397
|
+
doc="Whether to render the physics bodies in wireframe mode. Default: false."
|
|
398
|
+
)
|
|
399
|
+
gravity: rx.Var[int | float] = field(
|
|
400
|
+
doc="Vertical gravity factor for the physics engine. Default: 1."
|
|
401
|
+
)
|
|
402
|
+
mouse_constraint_stiffness: rx.Var[int | float] = field(
|
|
403
|
+
doc="Stiffness for the mouse drag constraint. Default: 0.2."
|
|
404
|
+
)
|
|
405
|
+
font_size: rx.Var[str] = field(
|
|
406
|
+
doc="Font size applied to the text before it falls. Default: '1rem'."
|
|
407
|
+
)
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
class FoldText(ReactBitsComponent):
|
|
411
|
+
"""Lines unfold into place like creased paper opening flat.
|
|
412
|
+
|
|
413
|
+
Docs: https://reactbits.dev/text-animations/fold-text
|
|
414
|
+
"""
|
|
415
|
+
|
|
416
|
+
tag = "FoldText"
|
|
417
|
+
alias = "ReactBitsFoldText"
|
|
418
|
+
is_default = True
|
|
419
|
+
_rb_category = "TextAnimations"
|
|
420
|
+
_rb_name = "FoldText"
|
|
421
|
+
_rb_files = ('FoldText.css', 'FoldText.jsx')
|
|
422
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
423
|
+
|
|
424
|
+
text: rx.Var[str] = field(
|
|
425
|
+
doc="The text content to split and fold into place. Default: 'Design unfolds'."
|
|
426
|
+
)
|
|
427
|
+
split_by: rx.Var[Literal["char", "word", "line"]] = field(
|
|
428
|
+
doc="Controls whether each character, word, or explicit line folds as a panel. Default: 'char'."
|
|
429
|
+
)
|
|
430
|
+
hinge: rx.Var[Literal["top", "bottom", "left", "right"]] = field(
|
|
431
|
+
doc="The edge that acts as the 3D fold hinge. Default: 'top'."
|
|
432
|
+
)
|
|
433
|
+
duration: rx.Var[int | float] = field(
|
|
434
|
+
doc="Duration in seconds for each panel to unfold. Default: 0.65."
|
|
435
|
+
)
|
|
436
|
+
stagger: rx.Var[int | float] = field(
|
|
437
|
+
doc="Delay in seconds between panels; 0.03\u20130.08 keeps the cascade crisp. Default: 0.045."
|
|
438
|
+
)
|
|
439
|
+
ease: rx.Var[str] = field(
|
|
440
|
+
doc="GSAP easing curve used by the unfold timeline. Default: 'power3.out'."
|
|
441
|
+
)
|
|
442
|
+
perspective: rx.Var[int | float] = field(
|
|
443
|
+
doc="Perspective distance applied to each panel parent. Default: 700."
|
|
444
|
+
)
|
|
445
|
+
crease_shading: rx.Var[int | float] = field(
|
|
446
|
+
doc="Strength of the gradient shade while panels are folded. Default: 0.55."
|
|
447
|
+
)
|
|
448
|
+
trigger: rx.Var[Literal["mount", "hover", "scroll", "loop"]] = field(
|
|
449
|
+
doc="Determines when the unfold animation starts. Default: 'mount'."
|
|
450
|
+
)
|
|
451
|
+
font_size: rx.Var[int | float | str] = field(
|
|
452
|
+
doc="Font size applied to the root text. Default: 80."
|
|
453
|
+
)
|
|
454
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
455
|
+
doc="Font weight applied to the root text. Default: 800."
|
|
456
|
+
)
|
|
457
|
+
color: rx.Var[str] = field(
|
|
458
|
+
doc="Text color of the folded panels. Default: '#f7f2e8'."
|
|
459
|
+
)
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
class FuzzyText(ReactBitsComponent):
|
|
463
|
+
"""Vibrating fuzzy text with controllable hover intensity.
|
|
464
|
+
|
|
465
|
+
Docs: https://reactbits.dev/text-animations/fuzzy-text
|
|
466
|
+
"""
|
|
467
|
+
|
|
468
|
+
tag = "FuzzyText"
|
|
469
|
+
alias = "ReactBitsFuzzyText"
|
|
470
|
+
is_default = True
|
|
471
|
+
_rb_category = "TextAnimations"
|
|
472
|
+
_rb_name = "FuzzyText"
|
|
473
|
+
_rb_files = ('FuzzyText.jsx',)
|
|
474
|
+
|
|
475
|
+
font_size: rx.Var[int | float | str] = field(
|
|
476
|
+
doc="Specifies the font size of the text. Accepts any valid CSS font-size value or a number (interpreted as pixels). Default: 'clamp(2rem, 8vw, 8rem)'."
|
|
477
|
+
)
|
|
478
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
479
|
+
doc="Specifies the font weight of the text. Default: 900."
|
|
480
|
+
)
|
|
481
|
+
font_family: rx.Var[str] = field(
|
|
482
|
+
doc="Specifies the font family of the text. 'inherit' uses the computed style from the parent. Default: 'inherit'."
|
|
483
|
+
)
|
|
484
|
+
color: rx.Var[str] = field(
|
|
485
|
+
doc="Specifies the text color. Default: '#fff'."
|
|
486
|
+
)
|
|
487
|
+
enable_hover: rx.Var[bool] = field(
|
|
488
|
+
doc="Enables the hover effect for the fuzzy text. Default: true."
|
|
489
|
+
)
|
|
490
|
+
base_intensity: rx.Var[int | float] = field(
|
|
491
|
+
doc="The fuzz intensity when the text is not hovered. Default: 0.18."
|
|
492
|
+
)
|
|
493
|
+
hover_intensity: rx.Var[int | float] = field(
|
|
494
|
+
doc="The fuzz intensity when the text is hovered. Default: 0.5."
|
|
495
|
+
)
|
|
496
|
+
fuzz_range: rx.Var[int | float] = field(
|
|
497
|
+
doc="Maximum pixel displacement for the fuzzy effect. Default: 30."
|
|
498
|
+
)
|
|
499
|
+
fps: rx.Var[int | float] = field(
|
|
500
|
+
doc="Frame rate cap for the animation. Lower values reduce CPU usage. Default: 60."
|
|
501
|
+
)
|
|
502
|
+
direction: rx.Var[Literal["horizontal", "vertical", "both"]] = field(
|
|
503
|
+
doc="The axis/axes for the fuzzy displacement effect. Default: 'horizontal'."
|
|
504
|
+
)
|
|
505
|
+
transition_duration: rx.Var[int | float] = field(
|
|
506
|
+
doc="Number of frames to ease between intensity states for smooth transitions. Default: 0."
|
|
507
|
+
)
|
|
508
|
+
click_effect: rx.Var[bool] = field(
|
|
509
|
+
doc="Enables a momentary burst of maximum intensity on click. Default: false."
|
|
510
|
+
)
|
|
511
|
+
glitch_mode: rx.Var[bool] = field(
|
|
512
|
+
doc="Enables periodic random intensity spikes for a glitch effect. Default: false."
|
|
513
|
+
)
|
|
514
|
+
glitch_interval: rx.Var[int | float] = field(
|
|
515
|
+
doc="Milliseconds between glitch bursts when glitchMode is enabled. Default: 2000."
|
|
516
|
+
)
|
|
517
|
+
glitch_duration: rx.Var[int | float] = field(
|
|
518
|
+
doc="Milliseconds duration of each glitch burst. Default: 200."
|
|
519
|
+
)
|
|
520
|
+
gradient: rx.Var[list[str]] = field(
|
|
521
|
+
doc="Array of colors to create a gradient text effect (e.g. [\"#ff0000\", \"#00ff00\"])."
|
|
522
|
+
)
|
|
523
|
+
letter_spacing: rx.Var[int | float] = field(
|
|
524
|
+
doc="Extra pixels between characters. Default: 0."
|
|
525
|
+
)
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
class GlitchText(ReactBitsComponent):
|
|
529
|
+
"""RGB split and distortion glitch effect with jitter effects.
|
|
530
|
+
|
|
531
|
+
Docs: https://reactbits.dev/text-animations/glitch-text
|
|
532
|
+
"""
|
|
533
|
+
|
|
534
|
+
tag = "GlitchText"
|
|
535
|
+
alias = "ReactBitsGlitchText"
|
|
536
|
+
is_default = True
|
|
537
|
+
_rb_category = "TextAnimations"
|
|
538
|
+
_rb_name = "GlitchText"
|
|
539
|
+
_rb_files = ('GlitchText.css', 'GlitchText.jsx')
|
|
540
|
+
|
|
541
|
+
speed: rx.Var[int | float] = field(
|
|
542
|
+
doc="Multiplier for the animation speed. Higher values slow down the glitch effect. Default: 0.5."
|
|
543
|
+
)
|
|
544
|
+
enable_shadows: rx.Var[bool] = field(
|
|
545
|
+
doc="Toggle the colored text shadows on the glitch pseudo-elements. Default: true."
|
|
546
|
+
)
|
|
547
|
+
enable_on_hover: rx.Var[bool] = field(
|
|
548
|
+
doc="If true, the glitch animation is only activated on hover. Default: false."
|
|
549
|
+
)
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
class GradientText(ReactBitsComponent):
|
|
553
|
+
"""Animated gradient sweep across live text with speed and color control.
|
|
554
|
+
|
|
555
|
+
Docs: https://reactbits.dev/text-animations/gradient-text
|
|
556
|
+
"""
|
|
557
|
+
|
|
558
|
+
tag = "GradientText"
|
|
559
|
+
alias = "ReactBitsGradientText"
|
|
560
|
+
is_default = True
|
|
561
|
+
_rb_category = "TextAnimations"
|
|
562
|
+
_rb_name = "GradientText"
|
|
563
|
+
_rb_files = ('GradientText.css', 'GradientText.jsx')
|
|
564
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
565
|
+
|
|
566
|
+
colors: rx.Var[list[str]] = field(
|
|
567
|
+
doc="Array of colors for the gradient effect. Default: ['#5227FF', '#FF9FFC', '#B497CF']."
|
|
568
|
+
)
|
|
569
|
+
animation_speed: rx.Var[int | float] = field(
|
|
570
|
+
doc="Duration of one animation cycle in seconds. Default: 8."
|
|
571
|
+
)
|
|
572
|
+
show_border: rx.Var[bool] = field(
|
|
573
|
+
doc="Displays a gradient border around the text. Default: false."
|
|
574
|
+
)
|
|
575
|
+
direction: rx.Var[Literal["horizontal", "vertical", "diagonal"]] = field(
|
|
576
|
+
doc="Direction of the gradient animation. Default: 'horizontal'."
|
|
577
|
+
)
|
|
578
|
+
pause_on_hover: rx.Var[bool] = field(
|
|
579
|
+
doc="Pauses the animation when hovering over the text. Default: false."
|
|
580
|
+
)
|
|
581
|
+
yoyo: rx.Var[bool] = field(
|
|
582
|
+
doc="Reverses animation direction at the end instead of looping. Default: true."
|
|
583
|
+
)
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
class MaskedHeading(ReactBitsComponent):
|
|
587
|
+
"""A large headline with a drifting colour mesh or image showing through the glyphs, revealed word by word.
|
|
588
|
+
|
|
589
|
+
Docs: https://reactbits.dev/text-animations/masked-heading
|
|
590
|
+
"""
|
|
591
|
+
|
|
592
|
+
tag = "MaskedHeading"
|
|
593
|
+
alias = "ReactBitsMaskedHeading"
|
|
594
|
+
is_default = True
|
|
595
|
+
_rb_category = "TextAnimations"
|
|
596
|
+
_rb_name = "MaskedHeading"
|
|
597
|
+
_rb_files = ('MaskedHeading.css', 'MaskedHeading.jsx')
|
|
598
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
599
|
+
|
|
600
|
+
text: rx.Var[str] = field(
|
|
601
|
+
doc="Heading copy. Default: 'Designed in the details'."
|
|
602
|
+
)
|
|
603
|
+
tag_: rx.Var[str] = field(
|
|
604
|
+
doc="Element the heading renders as, so it can carry the right semantics. Default: 'h2'."
|
|
605
|
+
)
|
|
606
|
+
media_type: rx.Var[Literal["image", "video"]] = field(
|
|
607
|
+
doc="Whether the source showing through the letters is an image or a looping muted video. Default: 'image'."
|
|
608
|
+
)
|
|
609
|
+
src: rx.Var[str] = field(
|
|
610
|
+
doc="Image or video URL."
|
|
611
|
+
)
|
|
612
|
+
poster: rx.Var[str] = field(
|
|
613
|
+
doc="Poster frame used while a video loads."
|
|
614
|
+
)
|
|
615
|
+
fill_scale: rx.Var[int | float] = field(
|
|
616
|
+
doc="How far the media is zoomed past the heading. The overscan is what parallax travels into. Default: 1.25."
|
|
617
|
+
)
|
|
618
|
+
parallax: rx.Var[int | float] = field(
|
|
619
|
+
doc="How far the media slides under the letters as the pointer moves, in px. Default: 26."
|
|
620
|
+
)
|
|
621
|
+
drift: rx.Var[int | float] = field(
|
|
622
|
+
doc="Amplitude of the slow idle motion, in px. 0 holds the media still. Default: 18."
|
|
623
|
+
)
|
|
624
|
+
brightness: rx.Var[int | float] = field(
|
|
625
|
+
doc="Brightness of the media. Default: 1."
|
|
626
|
+
)
|
|
627
|
+
saturation: rx.Var[int | float] = field(
|
|
628
|
+
doc="Saturation of the media. Default: 1."
|
|
629
|
+
)
|
|
630
|
+
grayscale: rx.Var[bool] = field(
|
|
631
|
+
doc="Render the media in black and white. Default: false."
|
|
632
|
+
)
|
|
633
|
+
reveal: rx.Var[Literal["rise", "wipe", "fade", "none"]] = field(
|
|
634
|
+
doc="Entrance style: words rise into place, a wipe sweeps across, or the whole block fades up. Default: 'rise'."
|
|
635
|
+
)
|
|
636
|
+
duration: rx.Var[int | float] = field(
|
|
637
|
+
doc="Entrance duration, in seconds. Default: 1.1."
|
|
638
|
+
)
|
|
639
|
+
stagger: rx.Var[int | float] = field(
|
|
640
|
+
doc="Delay between words, in seconds. Used by the rise reveal. Default: 0.09."
|
|
641
|
+
)
|
|
642
|
+
trigger: rx.Var[Literal["view", "mount", "hover"]] = field(
|
|
643
|
+
doc="When the entrance runs. Default: 'view'."
|
|
644
|
+
)
|
|
645
|
+
align: rx.Var[Literal["left", "center", "right"]] = field(
|
|
646
|
+
doc="Text alignment. Default: 'center'."
|
|
647
|
+
)
|
|
648
|
+
weight: rx.Var[int | float] = field(
|
|
649
|
+
doc="Font weight. Default: 700."
|
|
650
|
+
)
|
|
651
|
+
tracking: rx.Var[int | float] = field(
|
|
652
|
+
doc="Letter spacing, in em. Default: -0.03."
|
|
653
|
+
)
|
|
654
|
+
line_height: rx.Var[int | float] = field(
|
|
655
|
+
doc="Line height. Default: 1.06."
|
|
656
|
+
)
|
|
657
|
+
text_scale: rx.Var[int | float] = field(
|
|
658
|
+
doc="Type size as a fraction of the container width, so the heading stays responsive. Default: 0.115."
|
|
659
|
+
)
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
class ParticleText(ReactBitsComponent):
|
|
663
|
+
"""Text assembles from drifting particles that scatter and reform on demand.
|
|
664
|
+
|
|
665
|
+
Docs: https://reactbits.dev/text-animations/particle-text
|
|
666
|
+
"""
|
|
667
|
+
|
|
668
|
+
tag = "ParticleText"
|
|
669
|
+
alias = "ReactBitsParticleText"
|
|
670
|
+
is_default = True
|
|
671
|
+
_rb_category = "TextAnimations"
|
|
672
|
+
_rb_name = "ParticleText"
|
|
673
|
+
_rb_files = ('ParticleText.css', 'ParticleText.jsx')
|
|
674
|
+
|
|
675
|
+
text: rx.Var[str] = field(
|
|
676
|
+
doc="The words sampled into particle targets. Default: 'React Bits'."
|
|
677
|
+
)
|
|
678
|
+
particle_size: rx.Var[int | float] = field(
|
|
679
|
+
doc="Rendered size of each particle in CSS pixels. Default: 2."
|
|
680
|
+
)
|
|
681
|
+
density: rx.Var[int | float] = field(
|
|
682
|
+
doc="Pixel sampling step for the offscreen glyph canvas. Lower values create more particles. Default: 4."
|
|
683
|
+
)
|
|
684
|
+
color: rx.Var[str] = field(
|
|
685
|
+
doc="Primary particle color. Default: '#ffffff'."
|
|
686
|
+
)
|
|
687
|
+
highlight_color: rx.Var[str] = field(
|
|
688
|
+
doc="Secondary color blended through the particle field. Default: '#8b5cf6'."
|
|
689
|
+
)
|
|
690
|
+
scatter: rx.Var[int | float] = field(
|
|
691
|
+
doc="How far particles begin from their final glyph targets. Default: 180."
|
|
692
|
+
)
|
|
693
|
+
gather_duration: rx.Var[int | float] = field(
|
|
694
|
+
doc="Milliseconds for particles to converge into the text. Default: 1600."
|
|
695
|
+
)
|
|
696
|
+
stagger: rx.Var[int | float] = field(
|
|
697
|
+
doc="Maximum per-particle delay in milliseconds before gathering. Default: 420."
|
|
698
|
+
)
|
|
699
|
+
pointer_repel: rx.Var[int | float] = field(
|
|
700
|
+
doc="Strength of the cursor pushback. Default: 40."
|
|
701
|
+
)
|
|
702
|
+
repel_radius: rx.Var[int | float] = field(
|
|
703
|
+
doc="Cursor influence radius in pixels. Default: 120."
|
|
704
|
+
)
|
|
705
|
+
idle_drift: rx.Var[int | float] = field(
|
|
706
|
+
doc="Subtle resting motion after the text has formed. Default: 0.7."
|
|
707
|
+
)
|
|
708
|
+
trigger: rx.Var[Literal["mount", "hover", "click"]] = field(
|
|
709
|
+
doc="How the scatter-and-reform sequence can replay after the first formation. Default: 'mount'."
|
|
710
|
+
)
|
|
711
|
+
font_size: rx.Var[int | float | str] = field(
|
|
712
|
+
doc="Canvas text size used for glyph sampling. Default: 'clamp(3rem, 12vw, 8rem)'."
|
|
713
|
+
)
|
|
714
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
715
|
+
doc="Font weight used for sampling. Default: 800."
|
|
716
|
+
)
|
|
717
|
+
font_family: rx.Var[str] = field(
|
|
718
|
+
doc="Font family used for sampling. Inherit waits for the surrounding font before sampling. Default: 'inherit'."
|
|
719
|
+
)
|
|
720
|
+
glow: rx.Var[bool] = field(
|
|
721
|
+
doc="Adds a soft particle bloom in the highlight color. Default: true."
|
|
722
|
+
)
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
class RotatingText(ReactBitsComponent):
|
|
726
|
+
"""Cycles through multiple phrases with 3D rotate / flip transitions.
|
|
727
|
+
|
|
728
|
+
Docs: https://reactbits.dev/text-animations/rotating-text
|
|
729
|
+
"""
|
|
730
|
+
|
|
731
|
+
tag = "RotatingText"
|
|
732
|
+
alias = "ReactBitsRotatingText"
|
|
733
|
+
is_default = True
|
|
734
|
+
_rb_category = "TextAnimations"
|
|
735
|
+
_rb_name = "RotatingText"
|
|
736
|
+
_rb_files = ('RotatingText.css', 'RotatingText.jsx')
|
|
737
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
738
|
+
|
|
739
|
+
texts: rx.Var[list[str]] = field(
|
|
740
|
+
doc="An array of text strings to be rotated. Default: []."
|
|
741
|
+
)
|
|
742
|
+
transition: rx.Var[dict[str, Any]] = field(
|
|
743
|
+
doc="Transition settings for the animations. Default: { type: 'spring', damping: 25, stiffness: 300 }."
|
|
744
|
+
)
|
|
745
|
+
initial: rx.Var[dict[str, Any]] = field(
|
|
746
|
+
doc="Initial animation state for each element. Default: { y: '100%', opacity: 0 }."
|
|
747
|
+
)
|
|
748
|
+
animate: rx.Var[dict[str, Any]] = field(
|
|
749
|
+
doc="Animation state when elements enter. Default: { y: 0, opacity: 1 }."
|
|
750
|
+
)
|
|
751
|
+
exit: rx.Var[dict[str, Any]] = field(
|
|
752
|
+
doc="Exit animation state for elements. Default: { y: '-120%', opacity: 0 }."
|
|
753
|
+
)
|
|
754
|
+
animate_presence_mode: rx.Var[str] = field(
|
|
755
|
+
doc="Mode for AnimatePresence; for example, 'wait' to finish exit animations before entering. Default: 'wait'."
|
|
756
|
+
)
|
|
757
|
+
animate_presence_initial: rx.Var[bool] = field(
|
|
758
|
+
doc="Determines whether the AnimatePresence component should run its initial animation. Default: false."
|
|
759
|
+
)
|
|
760
|
+
rotation_interval: rx.Var[int | float] = field(
|
|
761
|
+
doc="The interval (in milliseconds) between text rotations. Default: 2000."
|
|
762
|
+
)
|
|
763
|
+
stagger_duration: rx.Var[int | float] = field(
|
|
764
|
+
doc="Delay between each character's animation. Default: 0."
|
|
765
|
+
)
|
|
766
|
+
stagger_from: rx.Var[str] = field(
|
|
767
|
+
doc="Specifies the order from which the stagger starts. Default: 'first'."
|
|
768
|
+
)
|
|
769
|
+
loop: rx.Var[bool] = field(
|
|
770
|
+
doc="Determines if the rotation should loop back to the first text after the last one. Default: true."
|
|
771
|
+
)
|
|
772
|
+
auto: rx.Var[bool] = field(
|
|
773
|
+
doc="If true, the text rotation starts automatically. Default: true."
|
|
774
|
+
)
|
|
775
|
+
split_by: rx.Var[str] = field(
|
|
776
|
+
doc="Determines how the text is split into animatable elements (e.g., by characters, words, or lines). Default: 'characters'."
|
|
777
|
+
)
|
|
778
|
+
main_class_name: rx.Var[str] = field(
|
|
779
|
+
doc="Additional class names for the main container element."
|
|
780
|
+
)
|
|
781
|
+
split_level_class_name: rx.Var[str] = field(
|
|
782
|
+
doc="Additional class names for the container wrapping each split group (e.g., a word)."
|
|
783
|
+
)
|
|
784
|
+
element_level_class_name: rx.Var[str] = field(
|
|
785
|
+
doc="Additional class names for each individual animated element."
|
|
786
|
+
)
|
|
787
|
+
on_next: rx.EventHandler[lambda new_index: [safe(new_index)]] = field(
|
|
788
|
+
doc="Callback function invoked when the text rotates to the next item. Handler receives: new_index."
|
|
789
|
+
)
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
class ScrambledText(ReactBitsComponent):
|
|
793
|
+
"""Detects cursor position and applies a distortion effect to text.
|
|
794
|
+
|
|
795
|
+
Docs: https://reactbits.dev/text-animations/scrambled-text
|
|
796
|
+
"""
|
|
797
|
+
|
|
798
|
+
tag = "ScrambledText"
|
|
799
|
+
alias = "ReactBitsScrambledText"
|
|
800
|
+
is_default = True
|
|
801
|
+
_rb_category = "TextAnimations"
|
|
802
|
+
_rb_name = "ScrambledText"
|
|
803
|
+
_rb_files = ('ScrambledText.css', 'ScrambledText.jsx')
|
|
804
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
805
|
+
|
|
806
|
+
radius: rx.Var[int | float] = field(
|
|
807
|
+
doc="The radius around the mouse pointer within which characters will scramble. Default: 100."
|
|
808
|
+
)
|
|
809
|
+
duration: rx.Var[int | float] = field(
|
|
810
|
+
doc="The duration of the scramble effect on a character. Default: 1.2."
|
|
811
|
+
)
|
|
812
|
+
speed: rx.Var[int | float] = field(
|
|
813
|
+
doc="The speed of the scramble animation. Default: 0.5."
|
|
814
|
+
)
|
|
815
|
+
scramble_chars: rx.Var[str] = field(
|
|
816
|
+
doc="The characters used for scrambling. Default: '.:'."
|
|
817
|
+
)
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
class ScrollFloat(ReactBitsComponent):
|
|
821
|
+
"""Text gently floats / parallax shifts on scroll.
|
|
822
|
+
|
|
823
|
+
Docs: https://reactbits.dev/text-animations/scroll-float
|
|
824
|
+
"""
|
|
825
|
+
|
|
826
|
+
tag = "ScrollFloat"
|
|
827
|
+
alias = "ReactBitsScrollFloat"
|
|
828
|
+
is_default = True
|
|
829
|
+
_rb_category = "TextAnimations"
|
|
830
|
+
_rb_name = "ScrollFloat"
|
|
831
|
+
_rb_files = ('ScrollFloat.css', 'ScrollFloat.jsx')
|
|
832
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
833
|
+
|
|
834
|
+
scroll_container_ref: rx.Var[Any] = field(
|
|
835
|
+
doc="Optional ref to the scroll container. Defaults to window if not provided. Default: window."
|
|
836
|
+
)
|
|
837
|
+
container_class_name: rx.Var[str] = field(
|
|
838
|
+
doc="Additional Tailwind classes for the container element."
|
|
839
|
+
)
|
|
840
|
+
text_class_name: rx.Var[str] = field(
|
|
841
|
+
doc="Additional Tailwind classes for the text element."
|
|
842
|
+
)
|
|
843
|
+
animation_duration: rx.Var[int | float] = field(
|
|
844
|
+
doc="Duration (in seconds) of the animation. Default: 1."
|
|
845
|
+
)
|
|
846
|
+
ease: rx.Var[str] = field(
|
|
847
|
+
doc="Easing function used for the animation. Default: 'back.inOut(2)'."
|
|
848
|
+
)
|
|
849
|
+
scroll_start: rx.Var[str] = field(
|
|
850
|
+
doc="The scroll trigger start position. Default: 'center bottom+=50%'."
|
|
851
|
+
)
|
|
852
|
+
scroll_end: rx.Var[str] = field(
|
|
853
|
+
doc="The scroll trigger end position. Default: 'bottom bottom-=40%'."
|
|
854
|
+
)
|
|
855
|
+
stagger: rx.Var[int | float] = field(
|
|
856
|
+
doc="Delay between the animation start of each character. Default: 0.03."
|
|
857
|
+
)
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
class ScrollReveal(ReactBitsComponent):
|
|
861
|
+
"""Text gently unblurs and reveals on scroll.
|
|
862
|
+
|
|
863
|
+
Docs: https://reactbits.dev/text-animations/scroll-reveal
|
|
864
|
+
"""
|
|
865
|
+
|
|
866
|
+
tag = "ScrollReveal"
|
|
867
|
+
alias = "ReactBitsScrollReveal"
|
|
868
|
+
is_default = True
|
|
869
|
+
_rb_category = "TextAnimations"
|
|
870
|
+
_rb_name = "ScrollReveal"
|
|
871
|
+
_rb_files = ('ScrollReveal.css', 'ScrollReveal.jsx')
|
|
872
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
873
|
+
|
|
874
|
+
scroll_container_ref: rx.Var[Any] = field(
|
|
875
|
+
doc="Optional ref for the scroll container. If provided, GSAP will use this container for scroll triggers; otherwise, it defaults to the window. Default: window."
|
|
876
|
+
)
|
|
877
|
+
enable_blur: rx.Var[bool] = field(
|
|
878
|
+
doc="Enables the blur animation effect on the words. Default: true."
|
|
879
|
+
)
|
|
880
|
+
base_opacity: rx.Var[int | float] = field(
|
|
881
|
+
doc="The initial opacity value for the words before the animation. Default: 0.1."
|
|
882
|
+
)
|
|
883
|
+
base_rotation: rx.Var[int | float] = field(
|
|
884
|
+
doc="The starting rotation (in degrees) for the container before it animates to 0. Default: 3."
|
|
885
|
+
)
|
|
886
|
+
blur_strength: rx.Var[int | float] = field(
|
|
887
|
+
doc="The strength of the blur effect (in pixels) applied at the start of the animation. Default: 4."
|
|
888
|
+
)
|
|
889
|
+
container_class_name: rx.Var[str] = field(
|
|
890
|
+
doc="Additional CSS class(es) to apply to the container element."
|
|
891
|
+
)
|
|
892
|
+
text_class_name: rx.Var[str] = field(
|
|
893
|
+
doc="Additional CSS class(es) to apply to the text element."
|
|
894
|
+
)
|
|
895
|
+
rotation_end: rx.Var[str] = field(
|
|
896
|
+
doc="The scroll trigger end point for the container rotation animation. Default: 'bottom bottom'."
|
|
897
|
+
)
|
|
898
|
+
word_animation_end: rx.Var[str] = field(
|
|
899
|
+
doc="The scroll trigger end point for the word opacity and blur animations. The animation will complete when the bottom of the text reaches the bottom of the container. Default: 'bottom bottom'."
|
|
900
|
+
)
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
class ScrollVelocity(ReactBitsComponent):
|
|
904
|
+
"""Text marquee animatio - speed and distortion scale with user's scroll velocity.
|
|
905
|
+
|
|
906
|
+
Docs: https://reactbits.dev/text-animations/scroll-velocity
|
|
907
|
+
"""
|
|
908
|
+
|
|
909
|
+
tag = "ScrollVelocity"
|
|
910
|
+
alias = "ReactBitsScrollVelocity"
|
|
911
|
+
is_default = True
|
|
912
|
+
_rb_category = "TextAnimations"
|
|
913
|
+
_rb_name = "ScrollVelocity"
|
|
914
|
+
_rb_files = ('ScrollVelocity.css', 'ScrollVelocity.jsx')
|
|
915
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
916
|
+
|
|
917
|
+
scroll_container_ref: rx.Var[Any] = field(
|
|
918
|
+
doc="Optional ref for a custom scroll container to track scroll position."
|
|
919
|
+
)
|
|
920
|
+
texts: rx.Var[list[Any]] = field(
|
|
921
|
+
doc="Array of items to display as scrolling content. Accepts strings, JSX elements, icons, or any valid React node. Default: []."
|
|
922
|
+
)
|
|
923
|
+
velocity: rx.Var[int | float] = field(
|
|
924
|
+
doc="Base velocity for scrolling; sign is flipped for odd indexed texts. Default: 100."
|
|
925
|
+
)
|
|
926
|
+
damping: rx.Var[int | float] = field(
|
|
927
|
+
doc="Damping value for the spring animation. Default: 50."
|
|
928
|
+
)
|
|
929
|
+
stiffness: rx.Var[int | float] = field(
|
|
930
|
+
doc="Stiffness value for the spring animation. Default: 400."
|
|
931
|
+
)
|
|
932
|
+
num_copies: rx.Var[int | float] = field(
|
|
933
|
+
doc="Number of copies of the text rendered for a continuous scrolling effect. Default: 6."
|
|
934
|
+
)
|
|
935
|
+
velocity_mapping: rx.Var[list[Any]] = field(
|
|
936
|
+
doc="Mapping from scroll velocity to a movement multiplier for dynamic scrolling. Default: { input: [0, 1000], output: [0, 5] }."
|
|
937
|
+
)
|
|
938
|
+
parallax_class_name: rx.Var[str] = field(
|
|
939
|
+
doc="CSS class for the parallax container. Default: 'parallax'."
|
|
940
|
+
)
|
|
941
|
+
scroller_class_name: rx.Var[str] = field(
|
|
942
|
+
doc="CSS class for the scroller container. Default: 'scroller'."
|
|
943
|
+
)
|
|
944
|
+
parallax_style: rx.Var[dict[str, Any]] = field(
|
|
945
|
+
doc="Inline styles for the parallax container."
|
|
946
|
+
)
|
|
947
|
+
scroller_style: rx.Var[dict[str, Any]] = field(
|
|
948
|
+
doc="Inline styles for the scroller container."
|
|
949
|
+
)
|
|
950
|
+
|
|
951
|
+
|
|
952
|
+
class ShinyText(ReactBitsComponent):
|
|
953
|
+
"""Metallic sheen sweeps across text producing a reflective highlight.
|
|
954
|
+
|
|
955
|
+
Docs: https://reactbits.dev/text-animations/shiny-text
|
|
956
|
+
"""
|
|
957
|
+
|
|
958
|
+
tag = "ShinyText"
|
|
959
|
+
alias = "ReactBitsShinyText"
|
|
960
|
+
is_default = True
|
|
961
|
+
_rb_category = "TextAnimations"
|
|
962
|
+
_rb_name = "ShinyText"
|
|
963
|
+
_rb_files = ('ShinyText.css', 'ShinyText.jsx')
|
|
964
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
965
|
+
|
|
966
|
+
text: rx.Var[str] = field(
|
|
967
|
+
doc="The text to be displayed with the shiny effect. Default: -."
|
|
968
|
+
)
|
|
969
|
+
disabled: rx.Var[bool] = field(
|
|
970
|
+
doc="Disables the shiny effect when set to true. Default: false."
|
|
971
|
+
)
|
|
972
|
+
speed: rx.Var[int | float] = field(
|
|
973
|
+
doc="Duration of one animation cycle in seconds. Default: 2."
|
|
974
|
+
)
|
|
975
|
+
color: rx.Var[str] = field(
|
|
976
|
+
doc="The base color of the text. Default: '#b5b5b5'."
|
|
977
|
+
)
|
|
978
|
+
shine_color: rx.Var[str] = field(
|
|
979
|
+
doc="The color of the shine/highlight effect. Default: '#ffffff'."
|
|
980
|
+
)
|
|
981
|
+
spread: rx.Var[int | float] = field(
|
|
982
|
+
doc="The angle (in degrees) of the gradient spread. Default: 120."
|
|
983
|
+
)
|
|
984
|
+
yoyo: rx.Var[bool] = field(
|
|
985
|
+
doc="If true, the animation reverses direction instead of looping. Default: false."
|
|
986
|
+
)
|
|
987
|
+
pause_on_hover: rx.Var[bool] = field(
|
|
988
|
+
doc="Pauses the animation when the user hovers over the text. Default: false."
|
|
989
|
+
)
|
|
990
|
+
direction: rx.Var[Literal["left", "right"]] = field(
|
|
991
|
+
doc="The direction the shine moves across the text. Default: 'left'."
|
|
992
|
+
)
|
|
993
|
+
delay: rx.Var[int | float] = field(
|
|
994
|
+
doc="Pause duration (in seconds) between animation cycles. Default: 0."
|
|
995
|
+
)
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
class Shuffle(ReactBitsComponent):
|
|
999
|
+
"""Animated text reveal where characters shuffle before settling.
|
|
1000
|
+
|
|
1001
|
+
Docs: https://reactbits.dev/text-animations/shuffle
|
|
1002
|
+
"""
|
|
1003
|
+
|
|
1004
|
+
tag = "Shuffle"
|
|
1005
|
+
alias = "ReactBitsShuffle"
|
|
1006
|
+
is_default = True
|
|
1007
|
+
_rb_category = "TextAnimations"
|
|
1008
|
+
_rb_name = "Shuffle"
|
|
1009
|
+
_rb_files = ('Shuffle.css', 'Shuffle.jsx')
|
|
1010
|
+
lib_dependencies: list[str] = ['@gsap/react@2.1.2', 'gsap@3.13.0']
|
|
1011
|
+
|
|
1012
|
+
text: rx.Var[str] = field(
|
|
1013
|
+
doc="The text content to shuffle."
|
|
1014
|
+
)
|
|
1015
|
+
shuffle_direction: rx.Var[Literal["left", "right", "up", "down"]] = field(
|
|
1016
|
+
doc="Direction the per-letter strip slides to reveal the final character. Default: 'right'."
|
|
1017
|
+
)
|
|
1018
|
+
duration: rx.Var[int | float] = field(
|
|
1019
|
+
doc="Duration (s) of the strip slide per letter. Default: 0.35."
|
|
1020
|
+
)
|
|
1021
|
+
max_delay: rx.Var[int | float] = field(
|
|
1022
|
+
doc="Max random delay per strip when animationMode = \"random\". Default: 0."
|
|
1023
|
+
)
|
|
1024
|
+
ease: rx.Var[Any] = field(
|
|
1025
|
+
doc="GSAP ease for sliding and color tween. Default: 'power3.out'."
|
|
1026
|
+
)
|
|
1027
|
+
threshold: rx.Var[int | float] = field(
|
|
1028
|
+
doc="Portion of the element that must enter view before starting. Default: 0.1."
|
|
1029
|
+
)
|
|
1030
|
+
root_margin: rx.Var[str] = field(
|
|
1031
|
+
doc="ScrollTrigger start offset (px, %, etc.). Default: '-100px'."
|
|
1032
|
+
)
|
|
1033
|
+
tag_: rx.Var[Literal["h1", "h2", "h3", "h4", "h5", "h6", "p", "span"]] = field(
|
|
1034
|
+
doc="HTML tag to render for the text container. Default: 'p'."
|
|
1035
|
+
)
|
|
1036
|
+
text_align: rx.Var[str] = field(
|
|
1037
|
+
doc="Text alignment applied via inline style. Default: 'center'."
|
|
1038
|
+
)
|
|
1039
|
+
shuffle_times: rx.Var[int | float] = field(
|
|
1040
|
+
doc="How many interim scrambled glyphs to scroll past before the final char. Default: 1."
|
|
1041
|
+
)
|
|
1042
|
+
animation_mode: rx.Var[Literal["evenodd", "random"]] = field(
|
|
1043
|
+
doc="Odd/even staggered strips or random per-strip delays. Default: 'evenodd'."
|
|
1044
|
+
)
|
|
1045
|
+
loop: rx.Var[bool] = field(
|
|
1046
|
+
doc="Repeat the shuffle indefinitely. Default: false."
|
|
1047
|
+
)
|
|
1048
|
+
loop_delay: rx.Var[int | float] = field(
|
|
1049
|
+
doc="Delay (s) between loop repeats. Default: 0."
|
|
1050
|
+
)
|
|
1051
|
+
stagger: rx.Var[int | float] = field(
|
|
1052
|
+
doc="Stagger (s) for strips in \"evenodd\" mode. Default: 0.03."
|
|
1053
|
+
)
|
|
1054
|
+
scramble_charset: rx.Var[str] = field(
|
|
1055
|
+
doc="Characters to use for interim scrambles; empty keeps original copies."
|
|
1056
|
+
)
|
|
1057
|
+
color_from: rx.Var[str] = field(
|
|
1058
|
+
doc="Optional starting text color while shuffling."
|
|
1059
|
+
)
|
|
1060
|
+
color_to: rx.Var[str] = field(
|
|
1061
|
+
doc="Optional final text color to tween to."
|
|
1062
|
+
)
|
|
1063
|
+
trigger_once: rx.Var[bool] = field(
|
|
1064
|
+
doc="Auto-run only on first scroll into view. Default: true."
|
|
1065
|
+
)
|
|
1066
|
+
respect_reduced_motion: rx.Var[bool] = field(
|
|
1067
|
+
doc="Skip animation if user prefers reduced motion. Default: true."
|
|
1068
|
+
)
|
|
1069
|
+
trigger_on_hover: rx.Var[bool] = field(
|
|
1070
|
+
doc="Allow re-playing the animation on hover after it completes. Default: true."
|
|
1071
|
+
)
|
|
1072
|
+
on_shuffle_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
1073
|
+
doc="Called after a full run completes (and on each loop repeat)."
|
|
1074
|
+
)
|
|
1075
|
+
|
|
1076
|
+
|
|
1077
|
+
class SplitFlapText(ReactBitsComponent):
|
|
1078
|
+
"""Mechanical split-flap departure board that clacks through to each new phrase.
|
|
1079
|
+
|
|
1080
|
+
Docs: https://reactbits.dev/text-animations/split-flap-text
|
|
1081
|
+
"""
|
|
1082
|
+
|
|
1083
|
+
tag = "SplitFlapText"
|
|
1084
|
+
alias = "ReactBitsSplitFlapText"
|
|
1085
|
+
is_default = True
|
|
1086
|
+
_rb_category = "TextAnimations"
|
|
1087
|
+
_rb_name = "SplitFlapText"
|
|
1088
|
+
_rb_files = ('SplitFlapText.css', 'SplitFlapText.jsx')
|
|
1089
|
+
|
|
1090
|
+
words: rx.Var[list[str]] = field(
|
|
1091
|
+
doc="Phrases to cycle through like a departure board. Default: ['LAUNCH READY', 'SYNC ONLINE', 'SIGNAL LIVE']."
|
|
1092
|
+
)
|
|
1093
|
+
text: rx.Var[str] = field(
|
|
1094
|
+
doc="Optional single phrase. When set, it takes precedence over words."
|
|
1095
|
+
)
|
|
1096
|
+
flip_duration: rx.Var[int | float] = field(
|
|
1097
|
+
doc="Duration, in seconds, of each individual flap turn. Default: 0.12."
|
|
1098
|
+
)
|
|
1099
|
+
stagger: rx.Var[int | float] = field(
|
|
1100
|
+
doc="Delay, in seconds, between each tile starting its cascade. Default: 0.06."
|
|
1101
|
+
)
|
|
1102
|
+
cycle_delay: rx.Var[int | float] = field(
|
|
1103
|
+
doc="Hold time, in milliseconds, before cycling to the next phrase. Default: 2400."
|
|
1104
|
+
)
|
|
1105
|
+
charset: rx.Var[str] = field(
|
|
1106
|
+
doc="Characters used for the intermediate flip glyphs. Default: 'alphanumeric'."
|
|
1107
|
+
)
|
|
1108
|
+
flips_per_char: rx.Var[int | float] = field(
|
|
1109
|
+
doc="Number of intermediate glyphs each changed tile flips through. Default: 8."
|
|
1110
|
+
)
|
|
1111
|
+
tile_color: rx.Var[str] = field(
|
|
1112
|
+
doc="Base color of each mechanical tile. Default: '#111827'."
|
|
1113
|
+
)
|
|
1114
|
+
text_color: rx.Var[str] = field(
|
|
1115
|
+
doc="Color of the glyphs on every flap. Default: '#f8fafc'."
|
|
1116
|
+
)
|
|
1117
|
+
tile_radius: rx.Var[int | float | str] = field(
|
|
1118
|
+
doc="Corner radius for each tile. Default: 8."
|
|
1119
|
+
)
|
|
1120
|
+
gap: rx.Var[int | float | str] = field(
|
|
1121
|
+
doc="Space between adjacent flap tiles. Default: 6."
|
|
1122
|
+
)
|
|
1123
|
+
font_size: rx.Var[int | float | str] = field(
|
|
1124
|
+
doc="Tile type size. Numeric values are treated as pixels. Default: 52."
|
|
1125
|
+
)
|
|
1126
|
+
loop: rx.Var[bool] = field(
|
|
1127
|
+
doc="Whether the phrase array repeats after the final phrase. Default: true."
|
|
1128
|
+
)
|
|
1129
|
+
pad_to: rx.Var[int | float] = field(
|
|
1130
|
+
doc="Fixed tile count used to keep the board width stable. Default: 12."
|
|
1131
|
+
)
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
class SplitText(ReactBitsComponent):
|
|
1135
|
+
"""Splits text into characters / words for staggered entrance animation.
|
|
1136
|
+
|
|
1137
|
+
Docs: https://reactbits.dev/text-animations/split-text
|
|
1138
|
+
"""
|
|
1139
|
+
|
|
1140
|
+
tag = "SplitText"
|
|
1141
|
+
alias = "ReactBitsSplitText"
|
|
1142
|
+
is_default = True
|
|
1143
|
+
_rb_category = "TextAnimations"
|
|
1144
|
+
_rb_name = "SplitText"
|
|
1145
|
+
_rb_files = ('SplitText.jsx',)
|
|
1146
|
+
lib_dependencies: list[str] = ['@gsap/react@2.1.2', 'gsap@3.13.0']
|
|
1147
|
+
|
|
1148
|
+
text: rx.Var[str] = field(
|
|
1149
|
+
doc="The text content to animate."
|
|
1150
|
+
)
|
|
1151
|
+
delay: rx.Var[int | float] = field(
|
|
1152
|
+
doc="Delay between animations for each letter (in ms). Default: 50."
|
|
1153
|
+
)
|
|
1154
|
+
duration: rx.Var[int | float] = field(
|
|
1155
|
+
doc="Duration of each letter animation (in seconds). Default: 1.25."
|
|
1156
|
+
)
|
|
1157
|
+
ease: rx.Var[str] = field(
|
|
1158
|
+
doc="GSAP easing function for the animation. Default: 'power3.out'."
|
|
1159
|
+
)
|
|
1160
|
+
split_type: rx.Var[str] = field(
|
|
1161
|
+
doc="Split type: \"chars\", \"words\", \"lines\", or \"words, chars\". Default: 'chars'."
|
|
1162
|
+
)
|
|
1163
|
+
from_: rx.Var[dict[str, Any]] = field(
|
|
1164
|
+
doc="Initial GSAP properties for each letter/word. Default: { opacity: 0, y: 40 }."
|
|
1165
|
+
)
|
|
1166
|
+
to: rx.Var[dict[str, Any]] = field(
|
|
1167
|
+
doc="Target GSAP properties for each letter/word. Default: { opacity: 1, y: 0 }."
|
|
1168
|
+
)
|
|
1169
|
+
threshold: rx.Var[int | float] = field(
|
|
1170
|
+
doc="Intersection threshold to trigger the animation (0-1). Default: 0.1."
|
|
1171
|
+
)
|
|
1172
|
+
root_margin: rx.Var[str] = field(
|
|
1173
|
+
doc="Root margin for the ScrollTrigger. Default: '-100px'."
|
|
1174
|
+
)
|
|
1175
|
+
text_align: rx.Var[str] = field(
|
|
1176
|
+
doc="Text alignment: 'left', 'center', 'right', etc. Default: 'center'."
|
|
1177
|
+
)
|
|
1178
|
+
tag_: rx.Var[str] = field(
|
|
1179
|
+
doc="HTML tag to render: \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"p\",. Default: 'p'."
|
|
1180
|
+
)
|
|
1181
|
+
on_letter_animation_complete: rx.EventHandler[no_args_event_spec] = field(
|
|
1182
|
+
doc="Callback function when all animations complete."
|
|
1183
|
+
)
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
class StrokeText(ReactBitsComponent):
|
|
1187
|
+
"""Outlined letterforms draw themselves on, then flood with fill.
|
|
1188
|
+
|
|
1189
|
+
Docs: https://reactbits.dev/text-animations/stroke-text
|
|
1190
|
+
"""
|
|
1191
|
+
|
|
1192
|
+
tag = "StrokeText"
|
|
1193
|
+
alias = "ReactBitsStrokeText"
|
|
1194
|
+
is_default = True
|
|
1195
|
+
_rb_category = "TextAnimations"
|
|
1196
|
+
_rb_name = "StrokeText"
|
|
1197
|
+
_rb_files = ('StrokeText.css', 'StrokeText.jsx')
|
|
1198
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
1199
|
+
|
|
1200
|
+
text: rx.Var[str] = field(
|
|
1201
|
+
doc="The heading copy rendered as measured SVG glyphs. Default: DEFAULT_TEXT."
|
|
1202
|
+
)
|
|
1203
|
+
stroke_color: rx.Var[str] = field(
|
|
1204
|
+
doc="Color used for the drawing outline. Default: '#A78BFA'."
|
|
1205
|
+
)
|
|
1206
|
+
fill_color: rx.Var[str] = field(
|
|
1207
|
+
doc="Color that floods into the glyphs after the outline draw. Default: '#F8FAFC'."
|
|
1208
|
+
)
|
|
1209
|
+
stroke_width: rx.Var[int | float] = field(
|
|
1210
|
+
doc="Width of the SVG text outline. Default: 1.4."
|
|
1211
|
+
)
|
|
1212
|
+
draw_duration: rx.Var[int | float] = field(
|
|
1213
|
+
doc="Seconds each character outline spends drawing on. Default: 1.6."
|
|
1214
|
+
)
|
|
1215
|
+
fill_delay: rx.Var[int | float] = field(
|
|
1216
|
+
doc="Seconds to wait after the outline draw before the fill begins. Default: 0.2."
|
|
1217
|
+
)
|
|
1218
|
+
stagger: rx.Var[int | float] = field(
|
|
1219
|
+
doc="Delay in seconds between each character animation. Default: 0.05."
|
|
1220
|
+
)
|
|
1221
|
+
ease: rx.Var[str] = field(
|
|
1222
|
+
doc="GSAP easing used for the outline draw. Default: 'power2.out'."
|
|
1223
|
+
)
|
|
1224
|
+
trigger: rx.Var[Literal["mount", "hover", "scroll", "loop"]] = field(
|
|
1225
|
+
doc="Chooses when the draw timeline starts. Default: 'mount'."
|
|
1226
|
+
)
|
|
1227
|
+
fill_mode: rx.Var[Literal["fade", "wipe", "none"]] = field(
|
|
1228
|
+
doc="Controls whether fill appears with a fade, left-to-right wipe, or not at all. Default: 'wipe'."
|
|
1229
|
+
)
|
|
1230
|
+
font_size: rx.Var[int | float | str] = field(
|
|
1231
|
+
doc="SVG font size before the responsive viewBox scales the wordmark. Default: 128."
|
|
1232
|
+
)
|
|
1233
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
1234
|
+
doc="Weight of the rendered letterforms. Default: 800."
|
|
1235
|
+
)
|
|
1236
|
+
letter_spacing: rx.Var[int | float | str] = field(
|
|
1237
|
+
doc="Tracking applied during measurement and rendering. Default: -4."
|
|
1238
|
+
)
|
|
1239
|
+
reverse: rx.Var[bool] = field(
|
|
1240
|
+
doc="Draws the stagger from the final character back to the first. Default: false."
|
|
1241
|
+
)
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
class TextCursor(ReactBitsComponent):
|
|
1245
|
+
"""Make any text element follow your cursor, leaving a trail of copies behind it.
|
|
1246
|
+
|
|
1247
|
+
Docs: https://reactbits.dev/text-animations/text-cursor
|
|
1248
|
+
"""
|
|
1249
|
+
|
|
1250
|
+
tag = "TextCursor"
|
|
1251
|
+
alias = "ReactBitsTextCursor"
|
|
1252
|
+
is_default = True
|
|
1253
|
+
_rb_category = "TextAnimations"
|
|
1254
|
+
_rb_name = "TextCursor"
|
|
1255
|
+
_rb_files = ('TextCursor.css', 'TextCursor.jsx')
|
|
1256
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
1257
|
+
|
|
1258
|
+
text: rx.Var[str] = field(
|
|
1259
|
+
doc="The text string to display as the trail. Default: '\u269b\ufe0f'."
|
|
1260
|
+
)
|
|
1261
|
+
spacing: rx.Var[int | float] = field(
|
|
1262
|
+
doc="The spacing in pixels between each trail point. Default: 100."
|
|
1263
|
+
)
|
|
1264
|
+
follow_mouse_direction: rx.Var[bool] = field(
|
|
1265
|
+
doc="If true, each text rotates to follow the mouse direction. Default: true."
|
|
1266
|
+
)
|
|
1267
|
+
random_float: rx.Var[bool] = field(
|
|
1268
|
+
doc="If true, enables random floating offsets in position and rotation for a dynamic effect. Default: true."
|
|
1269
|
+
)
|
|
1270
|
+
exit_duration: rx.Var[int | float] = field(
|
|
1271
|
+
doc="The duration in seconds for the exit animation of each trail item. Default: 0.5."
|
|
1272
|
+
)
|
|
1273
|
+
removal_interval: rx.Var[int | float] = field(
|
|
1274
|
+
doc="The interval in milliseconds between removing trail items when the mouse stops moving. Default: 30."
|
|
1275
|
+
)
|
|
1276
|
+
max_points: rx.Var[int | float] = field(
|
|
1277
|
+
doc="The maximum number of trail points to display. Default: 5."
|
|
1278
|
+
)
|
|
1279
|
+
|
|
1280
|
+
|
|
1281
|
+
class TextLoop(ReactBitsComponent):
|
|
1282
|
+
"""A seamless text marquee that flows along curved SVG paths.
|
|
1283
|
+
|
|
1284
|
+
Docs: https://reactbits.dev/text-animations/text-loop
|
|
1285
|
+
"""
|
|
1286
|
+
|
|
1287
|
+
tag = "TextLoop"
|
|
1288
|
+
alias = "ReactBitsTextLoop"
|
|
1289
|
+
is_default = True
|
|
1290
|
+
_rb_category = "TextAnimations"
|
|
1291
|
+
_rb_name = "TextLoop"
|
|
1292
|
+
_rb_files = ('TextLoop.css', 'TextLoop.jsx')
|
|
1293
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
1294
|
+
|
|
1295
|
+
text: rx.Var[str] = field(
|
|
1296
|
+
doc="The phrase repeated along the curve. Default: 'React \u2726 Bits'."
|
|
1297
|
+
)
|
|
1298
|
+
shape: rx.Var[Literal["wave", "circle", "infinity", "arch", "line"]] = field(
|
|
1299
|
+
doc="Built-in curve the text flows along. Default: 'wave'."
|
|
1300
|
+
)
|
|
1301
|
+
path: rx.Var[str] = field(
|
|
1302
|
+
doc="Custom SVG path data, drawn in a 1200x400 viewBox. Overrides shape when provided."
|
|
1303
|
+
)
|
|
1304
|
+
speed: rx.Var[int | float] = field(
|
|
1305
|
+
doc="Travel speed along the path, in units per second. Default: 90."
|
|
1306
|
+
)
|
|
1307
|
+
direction: rx.Var[Literal["forward", "reverse"]] = field(
|
|
1308
|
+
doc="Direction the text scrolls around the curve. Default: 'forward'."
|
|
1309
|
+
)
|
|
1310
|
+
separator: rx.Var[str] = field(
|
|
1311
|
+
doc="Glyph placed between each repetition. Default: '\u2726'."
|
|
1312
|
+
)
|
|
1313
|
+
curviness: rx.Var[int | float] = field(
|
|
1314
|
+
doc="Amplitude of the wave, or the radius of the closed shapes. Default: 90."
|
|
1315
|
+
)
|
|
1316
|
+
font_size: rx.Var[int | float] = field(
|
|
1317
|
+
doc="Font size of the looping text. Default: 46."
|
|
1318
|
+
)
|
|
1319
|
+
font_weight: rx.Var[int | float] = field(
|
|
1320
|
+
doc="Font weight of the looping text. Default: 800."
|
|
1321
|
+
)
|
|
1322
|
+
letter_spacing: rx.Var[int | float] = field(
|
|
1323
|
+
doc="Extra tracking between letters. Default: 2."
|
|
1324
|
+
)
|
|
1325
|
+
uppercase: rx.Var[bool] = field(
|
|
1326
|
+
doc="Renders the phrase in uppercase. Default: true."
|
|
1327
|
+
)
|
|
1328
|
+
color: rx.Var[str] = field(
|
|
1329
|
+
doc="Fill color of the text. Default: '#ffffff'."
|
|
1330
|
+
)
|
|
1331
|
+
ribbon: rx.Var[bool] = field(
|
|
1332
|
+
doc="Draws a solid band behind the text along the path. Default: true."
|
|
1333
|
+
)
|
|
1334
|
+
ribbon_color: rx.Var[str] = field(
|
|
1335
|
+
doc="Color of the band behind the text. Default: '#5227FF'."
|
|
1336
|
+
)
|
|
1337
|
+
ribbon_width: rx.Var[int | float] = field(
|
|
1338
|
+
doc="Thickness of the band behind the text. Default: 86."
|
|
1339
|
+
)
|
|
1340
|
+
pause_on_hover: rx.Var[bool] = field(
|
|
1341
|
+
doc="Pauses the loop while the pointer is over it. Default: true."
|
|
1342
|
+
)
|
|
1343
|
+
|
|
1344
|
+
|
|
1345
|
+
class TextPressure(ReactBitsComponent):
|
|
1346
|
+
"""Characters scale / warp interactively based on pointer pressure zone.
|
|
1347
|
+
|
|
1348
|
+
Docs: https://reactbits.dev/text-animations/text-pressure
|
|
1349
|
+
"""
|
|
1350
|
+
|
|
1351
|
+
tag = "TextPressure"
|
|
1352
|
+
alias = "ReactBitsTextPressure"
|
|
1353
|
+
is_default = True
|
|
1354
|
+
_rb_category = "TextAnimations"
|
|
1355
|
+
_rb_name = "TextPressure"
|
|
1356
|
+
_rb_files = ('TextPressure.jsx',)
|
|
1357
|
+
|
|
1358
|
+
text: rx.Var[str] = field(
|
|
1359
|
+
doc="Text content that will be displayed and animated. Default: 'Compressa'."
|
|
1360
|
+
)
|
|
1361
|
+
font_family: rx.Var[str] = field(
|
|
1362
|
+
doc="Name of the variable font family. Default: 'Roboto Flex'."
|
|
1363
|
+
)
|
|
1364
|
+
font_url: rx.Var[str] = field(
|
|
1365
|
+
doc="URL for the variable font file (needed). Default: 'https://fonts.googleapis.com/css2?family=Roboto+Flex:ops...."
|
|
1366
|
+
)
|
|
1367
|
+
width: rx.Var[bool] = field(
|
|
1368
|
+
doc="If true, varies the variable-font \"width\" axis. Default: true."
|
|
1369
|
+
)
|
|
1370
|
+
weight: rx.Var[bool] = field(
|
|
1371
|
+
doc="If true, varies the variable-font \"weight\" axis. Default: true."
|
|
1372
|
+
)
|
|
1373
|
+
italic: rx.Var[bool] = field(
|
|
1374
|
+
doc="If true, varies the variable-font \"italics\" axis. Default: true."
|
|
1375
|
+
)
|
|
1376
|
+
alpha: rx.Var[bool] = field(
|
|
1377
|
+
doc="If true, applies an opacity effect based on cursor distance. Default: false."
|
|
1378
|
+
)
|
|
1379
|
+
flex: rx.Var[bool] = field(
|
|
1380
|
+
doc="Whether the characters are spaced using flex layout. Default: true."
|
|
1381
|
+
)
|
|
1382
|
+
stroke: rx.Var[bool] = field(
|
|
1383
|
+
doc="If true, adds a stroke effect around characters. Default: false."
|
|
1384
|
+
)
|
|
1385
|
+
scale: rx.Var[bool] = field(
|
|
1386
|
+
doc="If true, vertically scales the text to fill its container height. Default: false."
|
|
1387
|
+
)
|
|
1388
|
+
text_color: rx.Var[str] = field(
|
|
1389
|
+
doc="The fill color of the text. Default: '#FFFFFF'."
|
|
1390
|
+
)
|
|
1391
|
+
stroke_color: rx.Var[str] = field(
|
|
1392
|
+
doc="The stroke color that will be applied to the text when \"stroke\" is set to true. Default: '#FF0000'."
|
|
1393
|
+
)
|
|
1394
|
+
min_font_size: rx.Var[int | float] = field(
|
|
1395
|
+
doc="Sets a minimum font-size to avoid overly tiny text on smaller screens. Default: 24."
|
|
1396
|
+
)
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
class TextType(ReactBitsComponent):
|
|
1400
|
+
"""Typewriter effect with blinking cursor and adjustable typing cadence.
|
|
1401
|
+
|
|
1402
|
+
Docs: https://reactbits.dev/text-animations/text-type
|
|
1403
|
+
"""
|
|
1404
|
+
|
|
1405
|
+
tag = "TextType"
|
|
1406
|
+
alias = "ReactBitsTextType"
|
|
1407
|
+
is_default = True
|
|
1408
|
+
_rb_category = "TextAnimations"
|
|
1409
|
+
_rb_name = "TextType"
|
|
1410
|
+
_rb_files = ('TextType.css', 'TextType.jsx')
|
|
1411
|
+
lib_dependencies: list[str] = ['gsap@3.13.0']
|
|
1412
|
+
|
|
1413
|
+
text: rx.Var[str | list[str]] = field(
|
|
1414
|
+
doc="Text or array of texts to type out. Default: -."
|
|
1415
|
+
)
|
|
1416
|
+
as_: rx.Var[rx.Component | str] = field(
|
|
1417
|
+
doc="HTML tag to render the component as. Default: 'div'."
|
|
1418
|
+
)
|
|
1419
|
+
typing_speed: rx.Var[int | float] = field(
|
|
1420
|
+
doc="Speed of typing in milliseconds. Default: 50."
|
|
1421
|
+
)
|
|
1422
|
+
initial_delay: rx.Var[int | float] = field(
|
|
1423
|
+
doc="Initial delay before typing starts. Default: 0."
|
|
1424
|
+
)
|
|
1425
|
+
pause_duration: rx.Var[int | float] = field(
|
|
1426
|
+
doc="Time to wait between typing and deleting. Default: 2000."
|
|
1427
|
+
)
|
|
1428
|
+
deleting_speed: rx.Var[int | float] = field(
|
|
1429
|
+
doc="Speed of deleting characters. Default: 30."
|
|
1430
|
+
)
|
|
1431
|
+
loop: rx.Var[bool] = field(
|
|
1432
|
+
doc="Whether to loop through texts array. Default: true."
|
|
1433
|
+
)
|
|
1434
|
+
show_cursor: rx.Var[bool] = field(
|
|
1435
|
+
doc="Whether to show the cursor. Default: true."
|
|
1436
|
+
)
|
|
1437
|
+
hide_cursor_while_typing: rx.Var[bool] = field(
|
|
1438
|
+
doc="Hide cursor while typing. Default: false."
|
|
1439
|
+
)
|
|
1440
|
+
cursor_character: rx.Var[rx.Component | str] = field(
|
|
1441
|
+
doc="Character or React node to use as cursor. Default: '|'."
|
|
1442
|
+
)
|
|
1443
|
+
cursor_class_name: rx.Var[str] = field(
|
|
1444
|
+
doc="Optional class name for cursor styling."
|
|
1445
|
+
)
|
|
1446
|
+
cursor_blink_duration: rx.Var[int | float] = field(
|
|
1447
|
+
doc="Animation duration for cursor blinking. Default: 0.5."
|
|
1448
|
+
)
|
|
1449
|
+
text_colors: rx.Var[list[str]] = field(
|
|
1450
|
+
doc="Array of colors for each sentence. Default: []."
|
|
1451
|
+
)
|
|
1452
|
+
variable_speed: rx.Var[dict[str, Any]] = field(
|
|
1453
|
+
doc="Random typing speed within range for human-like feel."
|
|
1454
|
+
)
|
|
1455
|
+
start_on_visible: rx.Var[bool] = field(
|
|
1456
|
+
doc="Start typing when component is visible in viewport. Default: false."
|
|
1457
|
+
)
|
|
1458
|
+
reverse_mode: rx.Var[bool] = field(
|
|
1459
|
+
doc="Type backwards (right to left). Default: false."
|
|
1460
|
+
)
|
|
1461
|
+
on_sentence_complete: rx.EventHandler[lambda sentence, index: [safe(sentence), safe(index)]] = field(
|
|
1462
|
+
doc="Callback fired after each sentence is finished Handler receives: sentence, index."
|
|
1463
|
+
)
|
|
1464
|
+
|
|
1465
|
+
|
|
1466
|
+
class TrueFocus(ReactBitsComponent):
|
|
1467
|
+
"""Applies dynamic blur / clarity based over a series of words in order.
|
|
1468
|
+
|
|
1469
|
+
Docs: https://reactbits.dev/text-animations/true-focus
|
|
1470
|
+
"""
|
|
1471
|
+
|
|
1472
|
+
tag = "TrueFocus"
|
|
1473
|
+
alias = "ReactBitsTrueFocus"
|
|
1474
|
+
is_default = True
|
|
1475
|
+
_rb_category = "TextAnimations"
|
|
1476
|
+
_rb_name = "TrueFocus"
|
|
1477
|
+
_rb_files = ('TrueFocus.css', 'TrueFocus.jsx')
|
|
1478
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
1479
|
+
|
|
1480
|
+
sentence: rx.Var[str] = field(
|
|
1481
|
+
doc="The text to display with the focus animation. Default: 'True Focus'."
|
|
1482
|
+
)
|
|
1483
|
+
separator: rx.Var[str] = field(
|
|
1484
|
+
doc="Optional string used to separate words in the sentence. Default: ' '."
|
|
1485
|
+
)
|
|
1486
|
+
manual_mode: rx.Var[bool] = field(
|
|
1487
|
+
doc="Disables automatic animation when set to true. Default: false."
|
|
1488
|
+
)
|
|
1489
|
+
blur_amount: rx.Var[int | float] = field(
|
|
1490
|
+
doc="The amount of blur applied to non-active words. Default: 5."
|
|
1491
|
+
)
|
|
1492
|
+
border_color: rx.Var[str] = field(
|
|
1493
|
+
doc="The color of the focus borders. Default: 'green'."
|
|
1494
|
+
)
|
|
1495
|
+
glow_color: rx.Var[str] = field(
|
|
1496
|
+
doc="The color of the glowing effect on the borders. Default: 'rgba(0, 255, 0, 0.6)'."
|
|
1497
|
+
)
|
|
1498
|
+
animation_duration: rx.Var[int | float] = field(
|
|
1499
|
+
doc="The duration of the animation for each word. Default: 0.5."
|
|
1500
|
+
)
|
|
1501
|
+
pause_between_animations: rx.Var[int | float] = field(
|
|
1502
|
+
doc="Time to pause between focusing on each word (in auto mode). Default: 1."
|
|
1503
|
+
)
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
class VariableProximity(ReactBitsComponent):
|
|
1507
|
+
"""Letter styling changes continuously with pointer distance mapping.
|
|
1508
|
+
|
|
1509
|
+
Docs: https://reactbits.dev/text-animations/variable-proximity
|
|
1510
|
+
"""
|
|
1511
|
+
|
|
1512
|
+
tag = "VariableProximity"
|
|
1513
|
+
alias = "ReactBitsVariableProximity"
|
|
1514
|
+
is_default = True
|
|
1515
|
+
_rb_category = "TextAnimations"
|
|
1516
|
+
_rb_name = "VariableProximity"
|
|
1517
|
+
_rb_files = ('VariableProximity.css', 'VariableProximity.jsx')
|
|
1518
|
+
lib_dependencies: list[str] = ['motion@12.23.21']
|
|
1519
|
+
|
|
1520
|
+
label: rx.Var[str] = field(
|
|
1521
|
+
doc="The text content to display."
|
|
1522
|
+
)
|
|
1523
|
+
from_font_variation_settings: rx.Var[str] = field(
|
|
1524
|
+
doc="The starting variation settings. Default: 'wght' 400, 'opsz' 9."
|
|
1525
|
+
)
|
|
1526
|
+
to_font_variation_settings: rx.Var[str] = field(
|
|
1527
|
+
doc="The variation settings to reach at cursor proximity. Default: 'wght' 800, 'opsz' 40."
|
|
1528
|
+
)
|
|
1529
|
+
container_ref: rx.Var[Any] = field(
|
|
1530
|
+
doc="Reference to container for relative calculations."
|
|
1531
|
+
)
|
|
1532
|
+
radius: rx.Var[int | float] = field(
|
|
1533
|
+
doc="Proximity radius to influence the effect. Default: 50."
|
|
1534
|
+
)
|
|
1535
|
+
falloff: rx.Var[Literal["linear", "exponential", "gaussian"]] = field(
|
|
1536
|
+
doc="Type of falloff for the effect. Default: 'linear'."
|
|
1537
|
+
)
|
|
1538
|
+
|
|
1539
|
+
|
|
1540
|
+
class WarpText(ReactBitsComponent):
|
|
1541
|
+
"""WebGL warp that bends and refracts the text around the pointer.
|
|
1542
|
+
|
|
1543
|
+
Docs: https://reactbits.dev/text-animations/warp-text
|
|
1544
|
+
"""
|
|
1545
|
+
|
|
1546
|
+
tag = "WarpText"
|
|
1547
|
+
alias = "ReactBitsWarpText"
|
|
1548
|
+
is_default = True
|
|
1549
|
+
_rb_category = "TextAnimations"
|
|
1550
|
+
_rb_name = "WarpText"
|
|
1551
|
+
_rb_files = ('WarpText.css', 'WarpText.jsx')
|
|
1552
|
+
lib_dependencies: list[str] = ['ogl@1.0.11']
|
|
1553
|
+
|
|
1554
|
+
text: rx.Var[str] = field(
|
|
1555
|
+
doc="The headline text rendered into the WebGL texture. Default: 'Bend the moment'."
|
|
1556
|
+
)
|
|
1557
|
+
color: rx.Var[str] = field(
|
|
1558
|
+
doc="Text fill color before the glass refraction pass. Default: '#f8f5ff'."
|
|
1559
|
+
)
|
|
1560
|
+
warp_strength: rx.Var[int | float] = field(
|
|
1561
|
+
doc="Amount of ambient glass distortion at rest. Default: 0.08."
|
|
1562
|
+
)
|
|
1563
|
+
warp_scale: rx.Var[int | float] = field(
|
|
1564
|
+
doc="Size of the moving distortion cells. Default: 1.7."
|
|
1565
|
+
)
|
|
1566
|
+
speed: rx.Var[int | float] = field(
|
|
1567
|
+
doc="Speed of the ambient undulation. Default: 0.55."
|
|
1568
|
+
)
|
|
1569
|
+
pointer_influence: rx.Var[int | float] = field(
|
|
1570
|
+
doc="Radius of the cursor lensing area. Default: 0.42."
|
|
1571
|
+
)
|
|
1572
|
+
pointer_strength: rx.Var[int | float] = field(
|
|
1573
|
+
doc="Strength of cursor-driven bending and magnification. Default: 0.38."
|
|
1574
|
+
)
|
|
1575
|
+
refraction: rx.Var[int | float] = field(
|
|
1576
|
+
doc="Subtle RGB channel split for the glass edge. Default: 0.018."
|
|
1577
|
+
)
|
|
1578
|
+
ripple: rx.Var[bool] = field(
|
|
1579
|
+
doc="Adds a soft ripple to the pointer lens. Default: true."
|
|
1580
|
+
)
|
|
1581
|
+
font_size: rx.Var[int | float | str] = field(
|
|
1582
|
+
doc="Canvas raster font size. Numbers are pixels. Default: 'clamp(3rem, 10vw, 9rem)'."
|
|
1583
|
+
)
|
|
1584
|
+
font_weight: rx.Var[int | float | str] = field(
|
|
1585
|
+
doc="Font weight used when rasterising the text texture. Default: 800."
|
|
1586
|
+
)
|
|
1587
|
+
font_family: rx.Var[str] = field(
|
|
1588
|
+
doc="Font family used when rasterising the text texture. Default: 'inherit'."
|
|
1589
|
+
)
|
|
1590
|
+
letter_spacing: rx.Var[int | float | str] = field(
|
|
1591
|
+
doc="Tracking applied while drawing the text into the texture. Default: '-0.06em'."
|
|
1592
|
+
)
|
|
1593
|
+
line_height: rx.Var[int | float | str] = field(
|
|
1594
|
+
doc="Line height for multi-line text. Default: 0.9."
|
|
1595
|
+
)
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
ascii_text = ASCIIText.create
|
|
1599
|
+
blur_text = BlurText.create
|
|
1600
|
+
circular_text = CircularText.create
|
|
1601
|
+
count_up = CountUp.create
|
|
1602
|
+
curved_loop = CurvedLoop.create
|
|
1603
|
+
decrypted_text = DecryptedText.create
|
|
1604
|
+
depth_text = DepthText.create
|
|
1605
|
+
echo_text = EchoText.create
|
|
1606
|
+
falling_text = FallingText.create
|
|
1607
|
+
fold_text = FoldText.create
|
|
1608
|
+
fuzzy_text = FuzzyText.create
|
|
1609
|
+
glitch_text = GlitchText.create
|
|
1610
|
+
gradient_text = GradientText.create
|
|
1611
|
+
masked_heading = MaskedHeading.create
|
|
1612
|
+
particle_text = ParticleText.create
|
|
1613
|
+
rotating_text = RotatingText.create
|
|
1614
|
+
scrambled_text = ScrambledText.create
|
|
1615
|
+
scroll_float = ScrollFloat.create
|
|
1616
|
+
scroll_reveal = ScrollReveal.create
|
|
1617
|
+
scroll_velocity = ScrollVelocity.create
|
|
1618
|
+
shiny_text = ShinyText.create
|
|
1619
|
+
shuffle = Shuffle.create
|
|
1620
|
+
split_flap_text = SplitFlapText.create
|
|
1621
|
+
split_text = SplitText.create
|
|
1622
|
+
stroke_text = StrokeText.create
|
|
1623
|
+
text_cursor = TextCursor.create
|
|
1624
|
+
text_loop = TextLoop.create
|
|
1625
|
+
text_pressure = TextPressure.create
|
|
1626
|
+
text_type = TextType.create
|
|
1627
|
+
true_focus = TrueFocus.create
|
|
1628
|
+
variable_proximity = VariableProximity.create
|
|
1629
|
+
warp_text = WarpText.create
|