@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.
Files changed (76) hide show
  1. package/dist/components/Button/index.d.ts +6 -0
  2. package/dist/components/Button/index.d.ts.map +1 -1
  3. package/dist/components/Button/index.js +3 -0
  4. package/dist/components/Button/index.js.map +1 -1
  5. package/dist/components/ControlGroup/index.d.ts.map +1 -1
  6. package/dist/components/ControlGroup/index.js +15 -3
  7. package/dist/components/ControlGroup/index.js.map +1 -1
  8. package/dist/components/DatePicker/index.d.ts.map +1 -1
  9. package/dist/components/DatePicker/index.js +1 -1
  10. package/dist/components/DatePicker/index.js.map +1 -1
  11. package/dist/components/Drawer/backdrop.d.ts.map +1 -1
  12. package/dist/components/Drawer/backdrop.js +1 -1
  13. package/dist/components/Drawer/backdrop.js.map +1 -1
  14. package/dist/components/Drawer/index.d.ts.map +1 -1
  15. package/dist/components/Drawer/index.js +2 -2
  16. package/dist/components/Drawer/index.js.map +1 -1
  17. package/dist/components/Dropdown/index.d.ts +1 -1
  18. package/dist/components/Dropdown/index.d.ts.map +1 -1
  19. package/dist/components/Dropdown/index.js +2 -2
  20. package/dist/components/Dropdown/index.js.map +1 -1
  21. package/dist/components/InternalPopover/index.d.ts +3 -0
  22. package/dist/components/InternalPopover/index.d.ts.map +1 -1
  23. package/dist/components/InternalPopover/index.js +33 -8
  24. package/dist/components/InternalPopover/index.js.map +1 -1
  25. package/dist/components/Menu/index.d.ts +4 -1
  26. package/dist/components/Menu/index.d.ts.map +1 -1
  27. package/dist/components/Panel/index.d.ts +3 -0
  28. package/dist/components/Panel/index.d.ts.map +1 -1
  29. package/dist/components/Panel/index.js +18 -3
  30. package/dist/components/Panel/index.js.map +1 -1
  31. package/dist/components/Popover/index.d.ts +3 -0
  32. package/dist/components/Popover/index.d.ts.map +1 -1
  33. package/dist/components/Popover/index.js +152 -43
  34. package/dist/components/Popover/index.js.map +1 -1
  35. package/dist/components/Table/index.d.ts.map +1 -1
  36. package/dist/components/Table/index.js +101 -81
  37. package/dist/components/Table/index.js.map +1 -1
  38. package/dist/components/Textarea/index.d.ts.map +1 -1
  39. package/dist/components/Textarea/index.js +1 -1
  40. package/dist/components/Textarea/index.js.map +1 -1
  41. package/dist/constants/sizes.d.ts +64 -2
  42. package/dist/constants/sizes.d.ts.map +1 -1
  43. package/dist/constants/sizes.js +99 -39
  44. package/dist/constants/sizes.js.map +1 -1
  45. package/dist/containers/ReqoreProvider.d.ts.map +1 -1
  46. package/dist/containers/ReqoreProvider.js +35 -21
  47. package/dist/containers/ReqoreProvider.js.map +1 -1
  48. package/dist/containers/UIProvider.d.ts +6 -0
  49. package/dist/containers/UIProvider.d.ts.map +1 -1
  50. package/dist/containers/UIProvider.js +4 -1
  51. package/dist/containers/UIProvider.js.map +1 -1
  52. package/dist/helpers/utils.d.ts.map +1 -1
  53. package/dist/helpers/utils.js +6 -0
  54. package/dist/helpers/utils.js.map +1 -1
  55. package/dist/hooks/useLatestZIndex.d.ts.map +1 -1
  56. package/dist/hooks/useLatestZIndex.js +1 -1
  57. package/dist/hooks/useLatestZIndex.js.map +1 -1
  58. package/dist/hooks/useReqoreContext.d.ts.map +1 -1
  59. package/dist/hooks/useReqoreContext.js +1 -2
  60. package/dist/hooks/useReqoreContext.js.map +1 -1
  61. package/dist/index.d.ts +5 -5
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +2 -2
  64. package/dist/index.js.map +1 -1
  65. package/docs/docs/components/button.mdx +391 -0
  66. package/docs/docs/components/input.mdx +328 -0
  67. package/docs/docs/components/panel.mdx +442 -0
  68. package/docs/docs/components/table.mdx +872 -0
  69. package/docs/docs/guides/effects.mdx +586 -0
  70. package/docs/docs/guides/getting-started.mdx +164 -0
  71. package/docs/docs/guides/theming.mdx +252 -0
  72. package/docs/docs/intro.md +98 -0
  73. package/docs/sidebars.js +23 -0
  74. package/package.json +11 -3
  75. package/tests.json +1 -1
  76. 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