react-loadly 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +473 -11
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.d.ts +119 -46
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/styles.css +1 -1
  8. package/dist/styles.css.map +1 -1
  9. package/dist/types/@types/index.d.ts +15 -0
  10. package/dist/types/@types/index.d.ts.map +1 -1
  11. package/dist/types/@types/interfaces/IBarsLoaderProps.d.ts +7 -0
  12. package/dist/types/@types/interfaces/IBarsLoaderProps.d.ts.map +1 -0
  13. package/dist/types/@types/interfaces/IBaseLoaderProps.d.ts +0 -2
  14. package/dist/types/@types/interfaces/IBaseLoaderProps.d.ts.map +1 -1
  15. package/dist/types/@types/interfaces/IBounceLoaderProps.d.ts +7 -0
  16. package/dist/types/@types/interfaces/IBounceLoaderProps.d.ts.map +1 -0
  17. package/dist/types/@types/interfaces/IDotsLoaderProps.d.ts +7 -0
  18. package/dist/types/@types/interfaces/IDotsLoaderProps.d.ts.map +1 -0
  19. package/dist/types/@types/interfaces/IFluidLoaderProps.d.ts +1 -0
  20. package/dist/types/@types/interfaces/IFluidLoaderProps.d.ts.map +1 -1
  21. package/dist/types/@types/interfaces/IGeometricLoaderProps.d.ts +2 -0
  22. package/dist/types/@types/interfaces/IGeometricLoaderProps.d.ts.map +1 -1
  23. package/dist/types/@types/interfaces/IHashtagLoaderProps.d.ts +7 -0
  24. package/dist/types/@types/interfaces/IHashtagLoaderProps.d.ts.map +1 -0
  25. package/dist/types/@types/interfaces/IOrbitLoaderProps.d.ts +7 -0
  26. package/dist/types/@types/interfaces/IOrbitLoaderProps.d.ts.map +1 -0
  27. package/dist/types/@types/interfaces/IPlaneLoaderProps.d.ts +7 -0
  28. package/dist/types/@types/interfaces/IPlaneLoaderProps.d.ts.map +1 -0
  29. package/dist/types/@types/interfaces/IProgressRingLoaderProps.d.ts +2 -0
  30. package/dist/types/@types/interfaces/IProgressRingLoaderProps.d.ts.map +1 -1
  31. package/dist/types/@types/interfaces/IRippleLoaderProps.d.ts +7 -0
  32. package/dist/types/@types/interfaces/IRippleLoaderProps.d.ts.map +1 -0
  33. package/dist/types/@types/interfaces/IRotateLoaderProps.d.ts +7 -0
  34. package/dist/types/@types/interfaces/IRotateLoaderProps.d.ts.map +1 -0
  35. package/dist/types/@types/interfaces/ISnakeLoaderProps.d.ts +7 -0
  36. package/dist/types/@types/interfaces/ISnakeLoaderProps.d.ts.map +1 -0
  37. package/dist/types/@types/interfaces/ISquaresLoaderProps.d.ts +7 -0
  38. package/dist/types/@types/interfaces/ISquaresLoaderProps.d.ts.map +1 -0
  39. package/dist/types/@types/interfaces/IStairLoaderProps.d.ts +7 -0
  40. package/dist/types/@types/interfaces/IStairLoaderProps.d.ts.map +1 -0
  41. package/dist/types/@types/interfaces/index.d.ts +11 -0
  42. package/dist/types/@types/interfaces/index.d.ts.map +1 -1
  43. package/dist/types/components/organisms/BarsLoader.d.ts +2 -2
  44. package/dist/types/components/organisms/BarsLoader.d.ts.map +1 -1
  45. package/dist/types/components/organisms/BounceLoader.d.ts +2 -2
  46. package/dist/types/components/organisms/BounceLoader.d.ts.map +1 -1
  47. package/dist/types/components/organisms/DotsLoader.d.ts +2 -2
  48. package/dist/types/components/organisms/DotsLoader.d.ts.map +1 -1
  49. package/dist/types/components/organisms/ElementLoader.d.ts.map +1 -1
  50. package/dist/types/components/organisms/HashtagLoader.d.ts +4 -0
  51. package/dist/types/components/organisms/HashtagLoader.d.ts.map +1 -0
  52. package/dist/types/components/organisms/OrbitLoader.d.ts +4 -0
  53. package/dist/types/components/organisms/OrbitLoader.d.ts.map +1 -0
  54. package/dist/types/components/organisms/PlaneLoader.d.ts +4 -0
  55. package/dist/types/components/organisms/PlaneLoader.d.ts.map +1 -0
  56. package/dist/types/components/organisms/ProgressRingLoader.d.ts.map +1 -1
  57. package/dist/types/components/organisms/RippleLoader.d.ts +4 -0
  58. package/dist/types/components/organisms/RippleLoader.d.ts.map +1 -0
  59. package/dist/types/components/organisms/RotateLoader.d.ts +2 -2
  60. package/dist/types/components/organisms/RotateLoader.d.ts.map +1 -1
  61. package/dist/types/components/organisms/SnakeLoader.d.ts +4 -0
  62. package/dist/types/components/organisms/SnakeLoader.d.ts.map +1 -0
  63. package/dist/types/components/organisms/SquaresLoader.d.ts +4 -0
  64. package/dist/types/components/organisms/SquaresLoader.d.ts.map +1 -0
  65. package/dist/types/components/organisms/StairLoader.d.ts +4 -0
  66. package/dist/types/components/organisms/StairLoader.d.ts.map +1 -0
  67. package/dist/types/components/organisms/index.d.ts +8 -1
  68. package/dist/types/components/organisms/index.d.ts.map +1 -1
  69. package/dist/types/examples/AutoSkeletonAPIExample.d.ts +3 -0
  70. package/dist/types/examples/AutoSkeletonAPIExample.d.ts.map +1 -0
  71. package/dist/types/examples/AutoSkeletonExample.d.ts.map +1 -0
  72. package/dist/types/examples/BarsExample.d.ts +3 -0
  73. package/dist/types/examples/BarsExample.d.ts.map +1 -0
  74. package/dist/types/examples/BounceExample.d.ts +3 -0
  75. package/dist/types/examples/BounceExample.d.ts.map +1 -0
  76. package/dist/types/examples/DotsExample.d.ts +3 -0
  77. package/dist/types/examples/DotsExample.d.ts.map +1 -0
  78. package/dist/types/examples/ElementExample.d.ts +3 -0
  79. package/dist/types/examples/ElementExample.d.ts.map +1 -0
  80. package/dist/types/examples/HashtagExample.d.ts +3 -0
  81. package/dist/types/examples/HashtagExample.d.ts.map +1 -0
  82. package/dist/types/examples/OrbitExample.d.ts +3 -0
  83. package/dist/types/examples/OrbitExample.d.ts.map +1 -0
  84. package/dist/types/examples/PlaneExample.d.ts +3 -0
  85. package/dist/types/examples/PlaneExample.d.ts.map +1 -0
  86. package/dist/types/examples/ProgressRingExample.d.ts +3 -0
  87. package/dist/types/examples/ProgressRingExample.d.ts.map +1 -0
  88. package/dist/types/examples/RippleExample.d.ts +3 -0
  89. package/dist/types/examples/RippleExample.d.ts.map +1 -0
  90. package/dist/types/examples/RotateExample.d.ts +3 -0
  91. package/dist/types/examples/RotateExample.d.ts.map +1 -0
  92. package/dist/types/examples/SnakeExample.d.ts +3 -0
  93. package/dist/types/examples/SnakeExample.d.ts.map +1 -0
  94. package/dist/types/examples/SquaresExample.d.ts +3 -0
  95. package/dist/types/examples/SquaresExample.d.ts.map +1 -0
  96. package/dist/types/examples/StairExample.d.ts +3 -0
  97. package/dist/types/examples/StairExample.d.ts.map +1 -0
  98. package/package.json +2 -2
  99. package/dist/types/AutoSkeletonExample.d.ts.map +0 -1
  100. /package/dist/types/{AutoSkeletonExample.d.ts → examples/AutoSkeletonExample.d.ts} +0 -0
package/README.md CHANGED
@@ -25,6 +25,28 @@ Perfect for building **React apps, dashboards, forms, and data-driven UIs** wher
25
25
 
26
26
  ---
27
27
 
28
+ ## 🆕 What's New
29
+
30
+ We've added **7 exciting new loaders** to expand your loading animation options:
31
+
32
+ 1. **OrbitLoader** - Beautiful orbiting elements around a central point
33
+ 2. **PlaneLoader** - 3D rotating cube with perspective transforms
34
+ 3. **RippleLoader** - Expanding ripple rings from a central point
35
+ 4. **SquaresLoader** - Multiple rotating squares with dynamic grid effect
36
+ 5. **StairLoader** - Cascading stair steps with progress-like effect
37
+ 6. **HashtagLoader** - Animated hashtag with progressive drawing
38
+ 7. **SnakeLoader** - Snake-like slithering animation with flowing segments
39
+
40
+ All new loaders support:
41
+
42
+ - ✅ Customizable colors with `secondaryColor` prop
43
+ - ✅ Adjustable element count (where applicable)
44
+ - ✅ Fullscreen mode support
45
+ - ✅ Accessibility features (ARIA labels, reduced motion)
46
+ - ✅ Performance optimizations with hardware acceleration
47
+
48
+ ---
49
+
28
50
  ## 🚀 Getting Started
29
51
 
30
52
  ### Installation
@@ -84,16 +106,23 @@ function App() {
84
106
 
85
107
  ### Geometric Loaders
86
108
 
87
- | Component | Description |
88
- | -------------- | ------------------------------------------------ |
89
- | `SpinLoader` | A classic spinner with a minimalist design. |
90
- | `PulseLoader` | A dynamic animation of pulsing dots. |
91
- | `WaveLoader` | A series of bars creating a wave-like effect. |
92
- | `GridLoader` | A grid of squares that animate in sequence. |
93
- | `RingLoader` | A sophisticated ring spinner with dual rotation. |
94
- | `BarsLoader` | Animated bars with staggered timing. |
95
- | `BounceLoader` | Bouncing dots with elastic animation. |
96
- | `RotateLoader` | 3D rotating elements with depth. |
109
+ | Component | Description |
110
+ | --------------- | ---------------------------------------------------------------------------- |
111
+ | `SpinLoader` | A classic spinner with a minimalist design. |
112
+ | `PulseLoader` | A dynamic animation of pulsing dots. |
113
+ | `WaveLoader` | A series of bars creating a wave-like effect. |
114
+ | `GridLoader` | A grid of squares that animate in sequence. |
115
+ | `RingLoader` | A sophisticated ring spinner with dual rotation. |
116
+ | `BarsLoader` | Animated bars with staggered timing. |
117
+ | `BounceLoader` | Bouncing dots with elastic animation. |
118
+ | `RotateLoader` | 3D rotating elements with depth. |
119
+ | `OrbitLoader` | Orbiting elements around a central point with customizable count and colors. |
120
+ | `PlaneLoader` | 3D rotating cube with perspective transforms. |
121
+ | `SquaresLoader` | Multiple rotating squares with varying delays and scales. |
122
+ | `StairLoader` | Cascading stair steps creating a progress effect. |
123
+ | `HashtagLoader` | Animated hashtag symbol with progressive drawing effect. |
124
+ | `SnakeLoader` | Snake-like slithering animation with flowing segments. |
125
+ | `RippleLoader` | Expanding ripple rings from a central point. |
97
126
 
98
127
  ---
99
128
 
@@ -358,6 +387,278 @@ All other props are inherited from `IBaseLoaderProps`.
358
387
 
359
388
  ---
360
389
 
390
+ ### OrbitLoader Component
391
+
392
+ The `OrbitLoader` creates a beautiful orbital animation with elements rotating around a central point, similar to planets orbiting a star.
393
+
394
+ #### Basic Usage
395
+
396
+ ```jsx
397
+ import { OrbitLoader } from "react-loadly";
398
+
399
+ function App() {
400
+ return (
401
+ <div>
402
+ {/* Default with 3 orbiting elements */}
403
+ <OrbitLoader />
404
+
405
+ {/* Custom number of orbiting elements */}
406
+ <OrbitLoader count={5} />
407
+
408
+ {/* With secondary color */}
409
+ <OrbitLoader count={4} color="#3b82f6" secondaryColor="#f59e0b" />
410
+ </div>
411
+ );
412
+ }
413
+ ```
414
+
415
+ #### OrbitLoader Props
416
+
417
+ | Prop | Type | Default | Description |
418
+ | ---------------- | ---------------- | --------- | ---------------------------------------- |
419
+ | `count` | number | 3 | Number of orbiting elements |
420
+ | `secondaryColor` | string | undefined | Secondary color for alternating elements |
421
+ | `size` | number \| string | 60 | Size of the loader |
422
+ | `color` | string | "#6366f1" | Primary color of the orbit elements |
423
+ | `speed` | number | 1 | Animation speed multiplier |
424
+
425
+ All other props are inherited from `IBaseLoaderProps`.
426
+
427
+ ---
428
+
429
+ ### PlaneLoader Component
430
+
431
+ The `PlaneLoader` displays a 3D rotating cube with perspective transforms, creating a modern 3D loading experience.
432
+
433
+ #### Basic Usage
434
+
435
+ ```jsx
436
+ import { PlaneLoader } from "react-loadly";
437
+
438
+ function App() {
439
+ return (
440
+ <div>
441
+ {/* Default cube */}
442
+ <PlaneLoader />
443
+
444
+ {/* Custom size and color */}
445
+ <PlaneLoader size={60} color="#10b981" />
446
+
447
+ {/* With secondary color for cube faces */}
448
+ <PlaneLoader size={70} color="#3b82f6" secondaryColor="#8b5cf6" />
449
+ </div>
450
+ );
451
+ }
452
+ ```
453
+
454
+ #### PlaneLoader Props
455
+
456
+ | Prop | Type | Default | Description |
457
+ | ---------------- | ---------------- | --------- | ----------------------------------- |
458
+ | `secondaryColor` | string | undefined | Color for the cube face backgrounds |
459
+ | `size` | number \| string | 50 | Size of the loader |
460
+ | `color` | string | "#6366f1" | Primary color of the cube edges |
461
+ | `speed` | number | 1 | Animation speed multiplier |
462
+
463
+ All other props are inherited from `IBaseLoaderProps`.
464
+
465
+ ---
466
+
467
+ ### RippleLoader Component
468
+
469
+ The `RippleLoader` creates expanding ripple rings from a central point, similar to water ripples.
470
+
471
+ #### Basic Usage
472
+
473
+ ```jsx
474
+ import { RippleLoader } from "react-loadly";
475
+
476
+ function App() {
477
+ return (
478
+ <div>
479
+ {/* Default with 3 ripples */}
480
+ <RippleLoader />
481
+
482
+ {/* Custom number of ripples */}
483
+ <RippleLoader count={5} />
484
+
485
+ {/* With secondary color and custom border width */}
486
+ <RippleLoader count={4} color="#3b82f6" secondaryColor="#8b5cf6" borderWidth={3} />
487
+ </div>
488
+ );
489
+ }
490
+ ```
491
+
492
+ #### RippleLoader Props
493
+
494
+ | Prop | Type | Default | Description |
495
+ | ---------------- | ---------------- | --------- | --------------------------------------- |
496
+ | `count` | number | 3 | Number of ripple rings |
497
+ | `secondaryColor` | string | undefined | Secondary color for alternating ripples |
498
+ | `borderWidth` | number | 2 | Width of the ripple border |
499
+ | `size` | number \| string | 50 | Size of the loader |
500
+ | `color` | string | "#6366f1" | Primary color of the ripples |
501
+ | `speed` | number | 1 | Animation speed multiplier |
502
+
503
+ All other props are inherited from `IBaseLoaderProps`.
504
+
505
+ ---
506
+
507
+ ### SquaresLoader Component
508
+
509
+ The `SquaresLoader` displays multiple rotating squares with varying delays and scales for a dynamic grid effect.
510
+
511
+ #### Basic Usage
512
+
513
+ ```jsx
514
+ import { SquaresLoader } from "react-loadly";
515
+
516
+ function App() {
517
+ return (
518
+ <div>
519
+ {/* Default with 4 squares */}
520
+ <SquaresLoader />
521
+
522
+ {/* Custom number of squares */}
523
+ <SquaresLoader count={6} />
524
+
525
+ {/* With secondary color */}
526
+ <SquaresLoader count={9} color="#3b82f6" secondaryColor="#f59e0b" />
527
+ </div>
528
+ );
529
+ }
530
+ ```
531
+
532
+ #### SquaresLoader Props
533
+
534
+ | Prop | Type | Default | Description |
535
+ | ---------------- | ---------------- | --------- | --------------------------------------- |
536
+ | `count` | number | 4 | Number of squares |
537
+ | `secondaryColor` | string | undefined | Secondary color for alternating squares |
538
+ | `size` | number \| string | 40 | Size of the loader |
539
+ | `color` | string | "#6366f1" | Primary color of the squares |
540
+ | `speed` | number | 1 | Animation speed multiplier |
541
+
542
+ All other props are inherited from `IBaseLoaderProps`.
543
+
544
+ ---
545
+
546
+ ### StairLoader Component
547
+
548
+ The `StairLoader` creates cascading stair steps that animate in sequence, creating a progress-like effect.
549
+
550
+ #### Basic Usage
551
+
552
+ ```jsx
553
+ import { StairLoader } from "react-loadly";
554
+
555
+ function App() {
556
+ return (
557
+ <div>
558
+ {/* Default with 5 steps */}
559
+ <StairLoader />
560
+
561
+ {/* Custom number of steps */}
562
+ <StairLoader count={7} />
563
+
564
+ {/* With secondary color */}
565
+ <StairLoader count={6} color="#3b82f6" secondaryColor="#8b5cf6" />
566
+ </div>
567
+ );
568
+ }
569
+ ```
570
+
571
+ #### StairLoader Props
572
+
573
+ | Prop | Type | Default | Description |
574
+ | ---------------- | ---------------- | --------- | ------------------------------------- |
575
+ | `count` | number | 5 | Number of stair steps |
576
+ | `secondaryColor` | string | undefined | Secondary color for alternating steps |
577
+ | `size` | number \| string | 35 | Size of the loader |
578
+ | `color` | string | "#6366f1" | Primary color of the steps |
579
+ | `speed` | number | 1 | Animation speed multiplier |
580
+
581
+ All other props are inherited from `IBaseLoaderProps`.
582
+
583
+ ---
584
+
585
+ ### HashtagLoader Component
586
+
587
+ The `HashtagLoader` animates a hashtag symbol with a progressive drawing effect.
588
+
589
+ #### Basic Usage
590
+
591
+ ```jsx
592
+ import { HashtagLoader } from "react-loadly";
593
+
594
+ function App() {
595
+ return (
596
+ <div>
597
+ {/* Default hashtag */}
598
+ <HashtagLoader />
599
+
600
+ {/* Custom size and color */}
601
+ <HashtagLoader size={60} color="#10b981" />
602
+
603
+ {/* With secondary color */}
604
+ <HashtagLoader size={70} color="#3b82f6" secondaryColor="#8b5cf6" />
605
+ </div>
606
+ );
607
+ }
608
+ ```
609
+
610
+ #### HashtagLoader Props
611
+
612
+ | Prop | Type | Default | Description |
613
+ | ---------------- | ---------------- | --------- | --------------------------------------------- |
614
+ | `secondaryColor` | string | undefined | Secondary color for alternating path segments |
615
+ | `size` | number \| string | 50 | Size of the loader |
616
+ | `color` | string | "#6366f1" | Primary color of the hashtag stroke |
617
+ | `speed` | number | 1 | Animation speed multiplier |
618
+
619
+ All other props are inherited from `IBaseLoaderProps`.
620
+
621
+ ---
622
+
623
+ ### SnakeLoader Component
624
+
625
+ The `SnakeLoader` creates a snake-like animation with flowing segments that move in a wave pattern.
626
+
627
+ #### Basic Usage
628
+
629
+ ```jsx
630
+ import { SnakeLoader } from "react-loadly";
631
+
632
+ function App() {
633
+ return (
634
+ <div>
635
+ {/* Default with 6 segments */}
636
+ <SnakeLoader />
637
+
638
+ {/* Custom number of segments */}
639
+ <SnakeLoader count={8} />
640
+
641
+ {/* With secondary color */}
642
+ <SnakeLoader count={10} color="#3b82f6" secondaryColor="#f59e0b" />
643
+ </div>
644
+ );
645
+ }
646
+ ```
647
+
648
+ #### SnakeLoader Props
649
+
650
+ | Prop | Type | Default | Description |
651
+ | ---------------- | ---------------- | --------- | ---------------------------------------- |
652
+ | `count` | number | 6 | Number of snake segments |
653
+ | `secondaryColor` | string | undefined | Secondary color for alternating segments |
654
+ | `size` | number \| string | 60 | Size of the loader |
655
+ | `color` | string | "#6366f1" | Primary color of the snake segments |
656
+ | `speed` | number | 1 | Animation speed multiplier |
657
+
658
+ All other props are inherited from `IBaseLoaderProps`.
659
+
660
+ ---
661
+
361
662
  ## 🦴 SkeletonLoader Component
362
663
 
363
664
  The `SkeletonLoader` is perfect for modern loading states, creating placeholder content that mimics the actual content structure.
@@ -575,6 +876,88 @@ All other props are inherited from `IBaseLoaderProps`.
575
876
 
576
877
  ---
577
878
 
879
+ ## 🎨 New Loaders Feature Guide
880
+
881
+ ### Using Multiple New Loaders Together
882
+
883
+ Here's how to combine the new loaders for amazing visual effects:
884
+
885
+ ```jsx
886
+ import { OrbitLoader, PlaneLoader, RippleLoader, SquaresLoader, StairLoader, HashtagLoader, SnakeLoader } from "react-loadly";
887
+
888
+ function MultiLoaderShowcase() {
889
+ return (
890
+ <div style={{ display: "grid", gridTemplateColumns: "repeat(2, 1fr)", gap: "40px", padding: "40px" }}>
891
+ {/* Orbital system animation */}
892
+ <div style={{ textAlign: "center" }}>
893
+ <h3>OrbitLoader - Space Theme</h3>
894
+ <OrbitLoader size={80} count={5} color="#0ea5e9" secondaryColor="#fbbf24" />
895
+ </div>
896
+
897
+ {/* 3D cube for tech products */}
898
+ <div style={{ textAlign: "center" }}>
899
+ <h3>PlaneLoader - 3D Effect</h3>
900
+ <PlaneLoader size={70} color="#6366f1" secondaryColor="#8b5cf6" />
901
+ </div>
902
+
903
+ {/* Ripple for notifications */}
904
+ <div style={{ textAlign: "center" }}>
905
+ <h3>RippleLoader - Pulse Effect</h3>
906
+ <RippleLoader size={60} count={4} color="#10b981" borderWidth={3} />
907
+ </div>
908
+
909
+ {/* Dynamic grid */}
910
+ <div style={{ textAlign: "center" }}>
911
+ <h3>SquaresLoader - Grid Animation</h3>
912
+ <SquaresLoader size={50} count={6} color="#3b82f6" />
913
+ </div>
914
+
915
+ {/* Progress stairs */}
916
+ <div style={{ textAlign: "center" }}>
917
+ <h3>StairLoader - Step Effect</h3>
918
+ <StairLoader size={45} count={7} color="#f59e0b" />
919
+ </div>
920
+
921
+ {/* Social media hashtag */}
922
+ <div style={{ textAlign: "center" }}>
923
+ <h3>HashtagLoader - Social Media</h3>
924
+ <HashtagLoader size={65} color="#1da1f2" speed={1.5} />
925
+ </div>
926
+
927
+ {/* Flowing snake */}
928
+ <div style={{ textAlign: "center" }}>
929
+ <h3>SnakeLoader - Organic Motion</h3>
930
+ <SnakeLoader size={70} count={8} color="#ec4899" secondaryColor="#8b5cf6" />
931
+ </div>
932
+ </div>
933
+ );
934
+ }
935
+ ```
936
+
937
+ ### Color Themes for New Loaders
938
+
939
+ All new loaders support `secondaryColor` for beautiful gradient and alternating color effects:
940
+
941
+ ```jsx
942
+ // Ocean theme
943
+ <OrbitLoader color="#0ea5e9" secondaryColor="#06b6d4" />
944
+ <RippleLoader color="#0891b2" borderWidth={2} />
945
+
946
+ // Fire theme
947
+ <SnakeLoader color="#f97316" secondaryColor="#ef4444" />
948
+ <StairLoader color="#ff9500" secondaryColor="#ff6b00" />
949
+
950
+ // Purple theme
951
+ <PlaneLoader color="#7c3aed" secondaryColor="#a78bfa" />
952
+ <SquaresLoader color="#8b5cf6" secondaryColor="#c4b5fd" />
953
+
954
+ // Social media theme
955
+ <HashtagLoader color="#1da1f2" /> // Twitter blue
956
+ <HashtagLoader color="#E1306C" /> // Instagram pink
957
+ ```
958
+
959
+ ---
960
+
578
961
  ## ⚡ Performance & Best Practices
579
962
 
580
963
  ### Performance Optimization
@@ -713,7 +1096,15 @@ React Loadly provides comprehensive TypeScript definitions for all components an
713
1096
  import type { IBaseLoaderProps, ISkeletonLoaderProps } from "react-loadly";
714
1097
 
715
1098
  // For component-specific props
716
- import type { CircleProps } from "react-loadly/components";
1099
+ import type {
1100
+ IOrbitLoaderProps,
1101
+ IPlaneLoaderProps,
1102
+ IRippleLoaderProps,
1103
+ ISquaresLoaderProps,
1104
+ IStairLoaderProps,
1105
+ IHashtagLoaderProps,
1106
+ ISnakeLoaderProps
1107
+ } from "react-loadly";
717
1108
 
718
1109
  // For hook return types
719
1110
  import type { IUseLoaderStateReturn } from "react-loadly/hooks";
@@ -725,6 +1116,12 @@ import type { AnimationDirectionType } from "react-loadly";
725
1116
 
726
1117
  All types are properly exported and can be used in your TypeScript projects for better type safety and autocompletion.
727
1118
 
1119
+ **Available Interface Exports:**
1120
+ - `IBaseLoaderProps` - Base props for all loaders
1121
+ - `IGeometricLoaderProps` - Base props for geometric loaders (includes `count`, `secondaryColor`, etc.)
1122
+ - `IOrbitLoaderProps`, `IPlaneLoaderProps`, `IRippleLoaderProps`, etc. - Specific loader props
1123
+ - `ISkeletonLoaderProps`, `IProgressRingLoaderProps`, `IMorphLoaderProps` - Specialized loader props
1124
+
728
1125
  Avoid importing directly from internal paths like `react-loadly/types` or `react-loadly/interfaces` as these are not part of the public API and may change.
729
1126
 
730
1127
  ### Fullscreen Mode
@@ -878,6 +1275,71 @@ function ImageGallery({ images, loading }) {
878
1275
  }
879
1276
  ```
880
1277
 
1278
+ ### Social Media Feed Loading
1279
+
1280
+ ``jsx
1281
+ function SocialFeed({ posts, loading }) {
1282
+ if (loading) {
1283
+ return (
1284
+ <div className="social-feed">
1285
+ {Array.from({ length: 5 }).map((_, i) => (
1286
+ <div key={i} className="feed-card">
1287
+ <div style={{ display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '12px' }}>
1288
+ <SkeletonLoader variant="avatar" size={40} />
1289
+ <SkeletonLoader lines={2} width="80%" />
1290
+ </div>
1291
+ <SkeletonLoader variant="card" width="100%" height={200} />
1292
+ <div style={{ display: 'flex', gap: '8px', marginTop: '12px' }}>
1293
+ <SnakeLoader size={20} count={4} />
1294
+ <span>Processing...</span>
1295
+ </div>
1296
+ </div>
1297
+ ))}
1298
+ </div>
1299
+ );
1300
+ }
1301
+
1302
+ return <div className="social-feed">{posts.map(renderPost)}</div>;
1303
+ }
1304
+ ```
1305
+
1306
+ ### Gaming/Entertainment Loading States
1307
+
1308
+ ``jsx
1309
+ function GameLoader() {
1310
+ return (
1311
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '20px', alignItems: 'center' }}>
1312
+ {/* Futuristic game loading */}
1313
+ <OrbitLoader size={80} count={6} color="#00f5ff" secondaryColor="#ff0080" />
1314
+
1315
+ {/* Social media hashtag */}
1316
+ <HashtagLoader size={60} color="#1da1f2" speed={1.5} />
1317
+
1318
+ {/* Snake game effect */}
1319
+ <SnakeLoader size={70} count={8} color="#10b981" secondaryColor="#f59e0b" />
1320
+ </div>
1321
+ );
1322
+ }
1323
+ ```
1324
+
1325
+ ### 3D and Modern UI Loading
1326
+
1327
+ ``jsx
1328
+ function ModernDashboardLoader() {
1329
+ return (
1330
+ <div className="dashboard-loader">
1331
+ {/* 3D rotating cube for tech products */}
1332
+ <PlaneLoader size={60} color="#6366f1" secondaryColor="#8b5cf6" />
1333
+
1334
+ {/* Ripple effect for notifications */}
1335
+ <RippleLoader size={50} count={4} color="#3b82f6" borderWidth={3} />
1336
+
1337
+ {/* Staircase for progress indication */}
1338
+ <StairLoader count={7} size={40} color="#10b981" />
1339
+ </div>
1340
+ );
1341
+ }
1342
+
881
1343
  ---
882
1344
 
883
1345
  ## 🧩 Advanced Usage