@qoretechnologies/reqore 0.55.13 → 0.56.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button/index.d.ts +6 -0
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +3 -0
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/ControlGroup/index.d.ts.map +1 -1
- package/dist/components/ControlGroup/index.js +15 -3
- package/dist/components/ControlGroup/index.js.map +1 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +1 -1
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/Drawer/backdrop.d.ts.map +1 -1
- package/dist/components/Drawer/backdrop.js +1 -1
- package/dist/components/Drawer/backdrop.js.map +1 -1
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +2 -2
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/Dropdown/index.d.ts +1 -1
- package/dist/components/Dropdown/index.d.ts.map +1 -1
- package/dist/components/Dropdown/index.js +2 -2
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/InternalPopover/index.d.ts +3 -0
- package/dist/components/InternalPopover/index.d.ts.map +1 -1
- package/dist/components/InternalPopover/index.js +33 -8
- package/dist/components/InternalPopover/index.js.map +1 -1
- package/dist/components/Menu/index.d.ts +4 -1
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Panel/index.d.ts +3 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +18 -3
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/Popover/index.d.ts +3 -0
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +152 -43
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +101 -81
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +1 -1
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/constants/sizes.d.ts +64 -2
- package/dist/constants/sizes.d.ts.map +1 -1
- package/dist/constants/sizes.js +99 -39
- package/dist/constants/sizes.js.map +1 -1
- package/dist/containers/ReqoreProvider.d.ts.map +1 -1
- package/dist/containers/ReqoreProvider.js +35 -21
- package/dist/containers/ReqoreProvider.js.map +1 -1
- package/dist/containers/UIProvider.d.ts +6 -0
- package/dist/containers/UIProvider.d.ts.map +1 -1
- package/dist/containers/UIProvider.js +4 -1
- package/dist/containers/UIProvider.js.map +1 -1
- package/dist/helpers/utils.d.ts.map +1 -1
- package/dist/helpers/utils.js +6 -0
- package/dist/helpers/utils.js.map +1 -1
- package/dist/hooks/useLatestZIndex.d.ts.map +1 -1
- package/dist/hooks/useLatestZIndex.js +1 -1
- package/dist/hooks/useLatestZIndex.js.map +1 -1
- package/dist/hooks/useReqoreContext.d.ts.map +1 -1
- package/dist/hooks/useReqoreContext.js +1 -2
- package/dist/hooks/useReqoreContext.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/docs/docs/components/button.mdx +391 -0
- package/docs/docs/components/input.mdx +328 -0
- package/docs/docs/components/panel.mdx +442 -0
- package/docs/docs/components/table.mdx +872 -0
- package/docs/docs/guides/effects.mdx +586 -0
- package/docs/docs/guides/getting-started.mdx +164 -0
- package/docs/docs/guides/theming.mdx +252 -0
- package/docs/docs/intro.md +98 -0
- package/docs/sidebars.js +23 -0
- package/package.json +11 -3
- package/tests.json +1 -1
- package/typedoc.json +10 -0
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
import LiveDemo from '../../src/components/LiveDemo';
|
|
6
|
+
import { ReqoreButton, ReqoreControlGroup } from '../../../src';
|
|
7
|
+
|
|
8
|
+
# Visual Effects
|
|
9
|
+
|
|
10
|
+
Reqore provides a powerful effects system that allows you to add advanced visual styling to components including gradients, animations, glows, and text transformations.
|
|
11
|
+
|
|
12
|
+
## What are Effects?
|
|
13
|
+
|
|
14
|
+
Effects are a way to apply advanced styling to components through the `effect` prop. They can include:
|
|
15
|
+
|
|
16
|
+
- Gradient backgrounds
|
|
17
|
+
- Text transformations
|
|
18
|
+
- Glow effects
|
|
19
|
+
- Animations
|
|
20
|
+
- And more
|
|
21
|
+
|
|
22
|
+
## Basic Effect
|
|
23
|
+
|
|
24
|
+
The simplest effect is a gradient:
|
|
25
|
+
|
|
26
|
+
<LiveDemo>
|
|
27
|
+
<ReqoreButton
|
|
28
|
+
effect={{
|
|
29
|
+
gradient: {
|
|
30
|
+
colors: {
|
|
31
|
+
0: '#3b82f6',
|
|
32
|
+
100: '#8b5cf6',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
}}
|
|
36
|
+
>
|
|
37
|
+
Gradient Button
|
|
38
|
+
</ReqoreButton>
|
|
39
|
+
</LiveDemo>
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
import { ReqoreButton } from '@qoretechnologies/reqore';
|
|
43
|
+
|
|
44
|
+
function GradientButton() {
|
|
45
|
+
return (
|
|
46
|
+
<ReqoreButton
|
|
47
|
+
effect={{
|
|
48
|
+
gradient: {
|
|
49
|
+
colors: {
|
|
50
|
+
0: '#3b82f6',
|
|
51
|
+
100: '#8b5cf6',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
}}
|
|
55
|
+
>
|
|
56
|
+
Gradient Button
|
|
57
|
+
</ReqoreButton>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Gradient Types
|
|
63
|
+
|
|
64
|
+
### Linear Gradients
|
|
65
|
+
|
|
66
|
+
<LiveDemo>
|
|
67
|
+
<ReqoreButton
|
|
68
|
+
effect={{
|
|
69
|
+
gradient: {
|
|
70
|
+
type: 'linear',
|
|
71
|
+
direction: 'to right',
|
|
72
|
+
colors: {
|
|
73
|
+
0: '#3b82f6',
|
|
74
|
+
50: '#8b5cf6',
|
|
75
|
+
100: '#ec4899',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
}}
|
|
79
|
+
>
|
|
80
|
+
Linear Gradient
|
|
81
|
+
</ReqoreButton>
|
|
82
|
+
</LiveDemo>
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
<ReqoreButton
|
|
86
|
+
effect={{
|
|
87
|
+
gradient: {
|
|
88
|
+
type: 'linear',
|
|
89
|
+
direction: 'to right',
|
|
90
|
+
colors: {
|
|
91
|
+
0: '#3b82f6',
|
|
92
|
+
50: '#8b5cf6',
|
|
93
|
+
100: '#ec4899',
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
}}
|
|
97
|
+
>
|
|
98
|
+
Linear Gradient
|
|
99
|
+
</ReqoreButton>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Radial Gradients
|
|
103
|
+
|
|
104
|
+
<LiveDemo>
|
|
105
|
+
<ReqoreButton
|
|
106
|
+
effect={{
|
|
107
|
+
gradient: {
|
|
108
|
+
type: 'radial',
|
|
109
|
+
shape: 'circle',
|
|
110
|
+
direction: 'at center',
|
|
111
|
+
colors: {
|
|
112
|
+
0: '#3b82f6',
|
|
113
|
+
100: '#1e40af',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
}}
|
|
117
|
+
>
|
|
118
|
+
Radial Gradient
|
|
119
|
+
</ReqoreButton>
|
|
120
|
+
</LiveDemo>
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
<ReqoreButton
|
|
124
|
+
effect={{
|
|
125
|
+
gradient: {
|
|
126
|
+
type: 'radial',
|
|
127
|
+
shape: 'circle',
|
|
128
|
+
direction: 'at center',
|
|
129
|
+
colors: {
|
|
130
|
+
0: '#3b82f6',
|
|
131
|
+
100: '#1e40af',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
}}
|
|
135
|
+
>
|
|
136
|
+
Radial Gradient
|
|
137
|
+
</ReqoreButton>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Using Intent Colors
|
|
141
|
+
|
|
142
|
+
You can reference theme intent colors in gradients:
|
|
143
|
+
|
|
144
|
+
<LiveDemo>
|
|
145
|
+
<ReqoreButton
|
|
146
|
+
effect={{
|
|
147
|
+
gradient: {
|
|
148
|
+
colors: {
|
|
149
|
+
0: 'info',
|
|
150
|
+
100: 'success',
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
}}
|
|
154
|
+
>
|
|
155
|
+
Intent Gradient
|
|
156
|
+
</ReqoreButton>
|
|
157
|
+
</LiveDemo>
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
<ReqoreButton
|
|
161
|
+
effect={{
|
|
162
|
+
gradient: {
|
|
163
|
+
colors: {
|
|
164
|
+
0: 'info',
|
|
165
|
+
100: 'success',
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
}}
|
|
169
|
+
>
|
|
170
|
+
Intent Gradient
|
|
171
|
+
</ReqoreButton>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Color Modifiers
|
|
175
|
+
|
|
176
|
+
Modify intent colors on the fly:
|
|
177
|
+
|
|
178
|
+
<LiveDemo>
|
|
179
|
+
<ReqoreButton
|
|
180
|
+
effect={{
|
|
181
|
+
gradient: {
|
|
182
|
+
colors: {
|
|
183
|
+
0: 'info:darken:2:1',
|
|
184
|
+
100: 'success:lighten:1:0.8',
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
}}
|
|
188
|
+
>
|
|
189
|
+
Modified Colors
|
|
190
|
+
</ReqoreButton>
|
|
191
|
+
</LiveDemo>
|
|
192
|
+
|
|
193
|
+
```tsx
|
|
194
|
+
<ReqoreButton
|
|
195
|
+
effect={{
|
|
196
|
+
gradient: {
|
|
197
|
+
// Format: 'intent:operation:amount:opacity'
|
|
198
|
+
colors: {
|
|
199
|
+
0: 'info:darken:2:1', // Darken info color by 0.2
|
|
200
|
+
100: 'success:lighten:1:0.8', // Lighten success, 80% opacity
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
}}
|
|
204
|
+
>
|
|
205
|
+
Modified Colors
|
|
206
|
+
</ReqoreButton>
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Animated Gradients
|
|
210
|
+
|
|
211
|
+
Add animation to gradients:
|
|
212
|
+
|
|
213
|
+
<LiveDemo>
|
|
214
|
+
<ReqoreControlGroup>
|
|
215
|
+
<ReqoreButton
|
|
216
|
+
effect={{
|
|
217
|
+
gradient: {
|
|
218
|
+
colors: { 0: '#3b82f6', 100: '#8b5cf6' },
|
|
219
|
+
animate: 'hover',
|
|
220
|
+
animationSpeed: 3,
|
|
221
|
+
},
|
|
222
|
+
}}
|
|
223
|
+
>
|
|
224
|
+
Hover to Animate
|
|
225
|
+
</ReqoreButton>
|
|
226
|
+
<ReqoreButton
|
|
227
|
+
effect={{
|
|
228
|
+
gradient: {
|
|
229
|
+
colors: { 0: 'info', 100: 'success' },
|
|
230
|
+
animate: 'always',
|
|
231
|
+
},
|
|
232
|
+
}}
|
|
233
|
+
>
|
|
234
|
+
Always Animated
|
|
235
|
+
</ReqoreButton>
|
|
236
|
+
</ReqoreControlGroup>
|
|
237
|
+
</LiveDemo>
|
|
238
|
+
|
|
239
|
+
```tsx
|
|
240
|
+
<ReqoreButton
|
|
241
|
+
effect={{
|
|
242
|
+
gradient: {
|
|
243
|
+
colors: {
|
|
244
|
+
0: '#3b82f6',
|
|
245
|
+
100: '#8b5cf6',
|
|
246
|
+
},
|
|
247
|
+
animate: 'hover', // Animate on hover
|
|
248
|
+
animationSpeed: 3, // Speed from 1-5
|
|
249
|
+
},
|
|
250
|
+
}}
|
|
251
|
+
>
|
|
252
|
+
Hover to Animate
|
|
253
|
+
</ReqoreButton>
|
|
254
|
+
|
|
255
|
+
<ReqoreButton
|
|
256
|
+
effect={{
|
|
257
|
+
gradient: {
|
|
258
|
+
colors: { 0: 'info', 100: 'success' },
|
|
259
|
+
animate: 'always', // Always animating
|
|
260
|
+
},
|
|
261
|
+
}}
|
|
262
|
+
>
|
|
263
|
+
Always Animated
|
|
264
|
+
</ReqoreButton>
|
|
265
|
+
|
|
266
|
+
<ReqoreButton
|
|
267
|
+
effect={{
|
|
268
|
+
gradient: {
|
|
269
|
+
colors: { 0: 'info', 100: 'success' },
|
|
270
|
+
animate: 'active', // Animate when active
|
|
271
|
+
},
|
|
272
|
+
}}
|
|
273
|
+
active
|
|
274
|
+
>
|
|
275
|
+
Active Animation
|
|
276
|
+
</ReqoreButton>
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
## Text Transformations
|
|
280
|
+
|
|
281
|
+
### Uppercase
|
|
282
|
+
|
|
283
|
+
<LiveDemo>
|
|
284
|
+
<ReqoreButton
|
|
285
|
+
effect={{
|
|
286
|
+
uppercase: true,
|
|
287
|
+
}}
|
|
288
|
+
>
|
|
289
|
+
uppercase text
|
|
290
|
+
</ReqoreButton>
|
|
291
|
+
</LiveDemo>
|
|
292
|
+
|
|
293
|
+
```tsx
|
|
294
|
+
<ReqoreButton
|
|
295
|
+
effect={{
|
|
296
|
+
uppercase: true,
|
|
297
|
+
}}
|
|
298
|
+
>
|
|
299
|
+
uppercase text
|
|
300
|
+
</ReqoreButton>
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Letter Spacing
|
|
304
|
+
|
|
305
|
+
<LiveDemo>
|
|
306
|
+
<ReqoreButton
|
|
307
|
+
effect={{
|
|
308
|
+
spaced: 2,
|
|
309
|
+
}}
|
|
310
|
+
>
|
|
311
|
+
S P A C E D
|
|
312
|
+
</ReqoreButton>
|
|
313
|
+
</LiveDemo>
|
|
314
|
+
|
|
315
|
+
```tsx
|
|
316
|
+
<ReqoreButton
|
|
317
|
+
effect={{
|
|
318
|
+
spaced: 2, // Letter spacing in pixels
|
|
319
|
+
}}
|
|
320
|
+
>
|
|
321
|
+
S P A C E D
|
|
322
|
+
</ReqoreButton>
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Font Weight
|
|
326
|
+
|
|
327
|
+
```tsx
|
|
328
|
+
<ReqoreControlGroup>
|
|
329
|
+
<ReqoreButton effect={{ weight: 'thin' }}>Thin</ReqoreButton>
|
|
330
|
+
<ReqoreButton effect={{ weight: 'light' }}>Light</ReqoreButton>
|
|
331
|
+
<ReqoreButton effect={{ weight: 'normal' }}>Normal</ReqoreButton>
|
|
332
|
+
<ReqoreButton effect={{ weight: 'bold' }}>Bold</ReqoreButton>
|
|
333
|
+
<ReqoreButton effect={{ weight: 'thick' }}>Thick</ReqoreButton>
|
|
334
|
+
</ReqoreControlGroup>
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Text Decorations
|
|
338
|
+
|
|
339
|
+
```tsx
|
|
340
|
+
<ReqoreControlGroup vertical>
|
|
341
|
+
<ReqoreSpan effect={{ underline: true }}>Underlined text</ReqoreSpan>
|
|
342
|
+
<ReqoreSpan effect={{ lineThrough: true }}>Strikethrough text</ReqoreSpan>
|
|
343
|
+
<ReqoreSpan effect={{ italic: true }}>Italic text</ReqoreSpan>
|
|
344
|
+
</ReqoreControlGroup>
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Custom Text Size
|
|
348
|
+
|
|
349
|
+
```tsx
|
|
350
|
+
<ReqoreButton effect={{ textSize: 'big' }}>
|
|
351
|
+
Bigger Text
|
|
352
|
+
</ReqoreButton>
|
|
353
|
+
|
|
354
|
+
<ReqoreButton effect={{ textSize: '20px' }}>
|
|
355
|
+
Custom Size
|
|
356
|
+
</ReqoreButton>
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
## Glow Effects
|
|
360
|
+
|
|
361
|
+
Add glow to components:
|
|
362
|
+
|
|
363
|
+
```tsx
|
|
364
|
+
<ReqoreButton
|
|
365
|
+
effect={{
|
|
366
|
+
glow: {
|
|
367
|
+
color: '#3b82f6',
|
|
368
|
+
size: 10,
|
|
369
|
+
blur: 20,
|
|
370
|
+
},
|
|
371
|
+
}}
|
|
372
|
+
>
|
|
373
|
+
Glowing Button
|
|
374
|
+
</ReqoreButton>
|
|
375
|
+
|
|
376
|
+
<ReqoreButton
|
|
377
|
+
effect={{
|
|
378
|
+
glow: {
|
|
379
|
+
color: 'success',
|
|
380
|
+
size: 5,
|
|
381
|
+
inset: true, // Inner glow
|
|
382
|
+
},
|
|
383
|
+
}}
|
|
384
|
+
>
|
|
385
|
+
Inner Glow
|
|
386
|
+
</ReqoreButton>
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
## Custom Colors
|
|
390
|
+
|
|
391
|
+
Override text and border colors:
|
|
392
|
+
|
|
393
|
+
```tsx
|
|
394
|
+
<ReqoreButton
|
|
395
|
+
effect={{
|
|
396
|
+
gradient: {
|
|
397
|
+
colors: { 0: '#1e1e1e', 100: '#3e3e3e' },
|
|
398
|
+
},
|
|
399
|
+
color: '#fbbf24', // Text color
|
|
400
|
+
}}
|
|
401
|
+
>
|
|
402
|
+
Custom Colors
|
|
403
|
+
</ReqoreButton>
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
## Text Alignment
|
|
407
|
+
|
|
408
|
+
```tsx
|
|
409
|
+
<ReqorePanel
|
|
410
|
+
label='Panel'
|
|
411
|
+
effect={{
|
|
412
|
+
textAlign: 'center',
|
|
413
|
+
}}
|
|
414
|
+
>
|
|
415
|
+
Centered text content
|
|
416
|
+
</ReqorePanel>
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
## Combining Effects
|
|
420
|
+
|
|
421
|
+
You can combine multiple effects:
|
|
422
|
+
|
|
423
|
+
```tsx
|
|
424
|
+
<ReqoreButton
|
|
425
|
+
effect={{
|
|
426
|
+
gradient: {
|
|
427
|
+
colors: { 0: 'info', 100: 'success' },
|
|
428
|
+
animate: 'hover',
|
|
429
|
+
},
|
|
430
|
+
uppercase: true,
|
|
431
|
+
spaced: 2,
|
|
432
|
+
weight: 'bold',
|
|
433
|
+
glow: {
|
|
434
|
+
color: 'info',
|
|
435
|
+
size: 5,
|
|
436
|
+
},
|
|
437
|
+
}}
|
|
438
|
+
>
|
|
439
|
+
Fully Styled
|
|
440
|
+
</ReqoreButton>
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
## Interactive Effects
|
|
444
|
+
|
|
445
|
+
Effects can respond to component state:
|
|
446
|
+
|
|
447
|
+
```tsx
|
|
448
|
+
<ReqoreButton
|
|
449
|
+
effect={{
|
|
450
|
+
gradient: {
|
|
451
|
+
colors: { 0: 'info', 100: 'success' },
|
|
452
|
+
},
|
|
453
|
+
interactive: true, // Brighten on hover
|
|
454
|
+
}}
|
|
455
|
+
>
|
|
456
|
+
Interactive
|
|
457
|
+
</ReqoreButton>
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
## Examples
|
|
461
|
+
|
|
462
|
+
### Premium Button
|
|
463
|
+
|
|
464
|
+
```tsx
|
|
465
|
+
<ReqoreButton
|
|
466
|
+
effect={{
|
|
467
|
+
gradient: {
|
|
468
|
+
type: 'linear',
|
|
469
|
+
direction: 'to right',
|
|
470
|
+
colors: {
|
|
471
|
+
0: '#f59e0b',
|
|
472
|
+
100: '#d97706',
|
|
473
|
+
},
|
|
474
|
+
animate: 'hover',
|
|
475
|
+
},
|
|
476
|
+
uppercase: true,
|
|
477
|
+
weight: 'bold',
|
|
478
|
+
spaced: 1,
|
|
479
|
+
glow: {
|
|
480
|
+
color: '#f59e0b',
|
|
481
|
+
size: 8,
|
|
482
|
+
},
|
|
483
|
+
}}
|
|
484
|
+
size='big'
|
|
485
|
+
>
|
|
486
|
+
Premium Feature
|
|
487
|
+
</ReqoreButton>
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Alert Panel
|
|
491
|
+
|
|
492
|
+
```tsx
|
|
493
|
+
<ReqorePanel
|
|
494
|
+
label='Warning'
|
|
495
|
+
icon='AlertLine'
|
|
496
|
+
effect={{
|
|
497
|
+
gradient: {
|
|
498
|
+
colors: {
|
|
499
|
+
0: 'warning:darken:1',
|
|
500
|
+
100: 'danger:darken:1',
|
|
501
|
+
},
|
|
502
|
+
},
|
|
503
|
+
weight: 'bold',
|
|
504
|
+
}}
|
|
505
|
+
>
|
|
506
|
+
Important warning message
|
|
507
|
+
</ReqorePanel>
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### Neon Text
|
|
511
|
+
|
|
512
|
+
```tsx
|
|
513
|
+
<ReqoreH1
|
|
514
|
+
effect={{
|
|
515
|
+
color: '#00ff88',
|
|
516
|
+
uppercase: true,
|
|
517
|
+
weight: 'thick',
|
|
518
|
+
spaced: 3,
|
|
519
|
+
glow: {
|
|
520
|
+
color: '#00ff88',
|
|
521
|
+
size: 10,
|
|
522
|
+
blur: 30,
|
|
523
|
+
},
|
|
524
|
+
}}
|
|
525
|
+
>
|
|
526
|
+
NEON TITLE
|
|
527
|
+
</ReqoreH1>
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
### Animated Heading
|
|
531
|
+
|
|
532
|
+
```tsx
|
|
533
|
+
<ReqoreH2
|
|
534
|
+
effect={{
|
|
535
|
+
gradient: {
|
|
536
|
+
type: 'linear',
|
|
537
|
+
direction: 'to right',
|
|
538
|
+
colors: {
|
|
539
|
+
0: '#3b82f6',
|
|
540
|
+
50: '#8b5cf6',
|
|
541
|
+
100: '#ec4899',
|
|
542
|
+
},
|
|
543
|
+
animate: 'always',
|
|
544
|
+
animationSpeed: 2,
|
|
545
|
+
},
|
|
546
|
+
uppercase: true,
|
|
547
|
+
weight: 'bold',
|
|
548
|
+
}}
|
|
549
|
+
>
|
|
550
|
+
Animated Header
|
|
551
|
+
</ReqoreH2>
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
## Effect Props Reference
|
|
555
|
+
|
|
556
|
+
| Property | Type | Description |
|
|
557
|
+
| ------------------------- | --------- | ----------------------- | -------------- | ----------------- |
|
|
558
|
+
| `gradient` | `object` | Gradient configuration |
|
|
559
|
+
| `gradient.type` | `'linear' | 'radial'` | Gradient type |
|
|
560
|
+
| `gradient.colors` | `object` | Color stops (0-100) |
|
|
561
|
+
| `gradient.direction` | `string` | Gradient direction |
|
|
562
|
+
| `gradient.animate` | `'hover' | 'active' | 'always'` | Animation trigger |
|
|
563
|
+
| `gradient.animationSpeed` | `1-5` | Animation speed |
|
|
564
|
+
| `color` | `string` | Text color |
|
|
565
|
+
| `uppercase` | `boolean` | Transform to uppercase |
|
|
566
|
+
| `spaced` | `number` | Letter spacing |
|
|
567
|
+
| `weight` | `string | number` | Font weight |
|
|
568
|
+
| `textSize` | `string` | Text size |
|
|
569
|
+
| `textAlign` | `'left' | 'center' | 'right'` | Text alignment |
|
|
570
|
+
| `italic` | `boolean` | Italic text |
|
|
571
|
+
| `underline` | `boolean | string` | Underline text |
|
|
572
|
+
| `lineThrough` | `boolean | string` | Strikethrough |
|
|
573
|
+
| `glow` | `object` | Glow effect config |
|
|
574
|
+
| `glow.color` | `string` | Glow color |
|
|
575
|
+
| `glow.size` | `number` | Glow size |
|
|
576
|
+
| `glow.blur` | `number` | Blur amount |
|
|
577
|
+
| `glow.inset` | `boolean` | Inner glow |
|
|
578
|
+
| `interactive` | `boolean` | Brighten on interaction |
|
|
579
|
+
|
|
580
|
+
## Tips
|
|
581
|
+
|
|
582
|
+
1. **Performance**: Animated gradients can impact performance. Use sparingly.
|
|
583
|
+
2. **Readability**: Ensure text remains readable when applying effects
|
|
584
|
+
3. **Consistency**: Use similar effects across related components
|
|
585
|
+
4. **Accessibility**: Test effects with different color vision modes
|
|
586
|
+
5. **Subtle is Better**: Often subtle effects work better than extreme ones
|