loading-state-zoo 0.3.0 → 0.4.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # loading-state-zoo
2
2
 
3
- **32 loading patterns, one tiny package.** Dots, spinners, orbs, shapes, bars, music and skeletons that tell the user "please wait" — made silky smooth and ready to use in **React**, **plain websites**, and **iOS / Android apps**.
3
+ **30 loading patterns, one tiny package.** Dots, spinners, orbs, AI, shapes, bars, music and skeletons that tell the user "please wait" — made silky smooth and ready to use in **React**, **plain websites**, and **iOS / Android apps**.
4
4
 
5
5
  Think of it as a small zoo of loading animals. You pick an animal, put it in your app's cage, and it starts moving right away. You can even change its **color**, **size** and **speed** — no scissors or glue required.
6
6
 
@@ -28,12 +28,11 @@ Think of it as a small zoo of loading animals. You pick an animal, put it in you
28
28
  | [Scan sweep](#scan-sweep) | Spinner | Radar/sonar, scanning, searching |
29
29
  | [Orbit dots](#orbit-dots) | Spinner | Floaty, lightweight loading |
30
30
  | [Orbit ring dots](#orbit-ring-dots) | Spinner | Cosmetic ring, data-heavy load |
31
- | [Pulsing orb](#pulsing-orb) | Orbs | Ambient loads, hero panels, splash |
32
- | [Morphing orb](#morphing-orb) | Orbs | Creative waits, brand moments |
33
- | [Siri orb](#siri-orb) | Orbs | Voice assistants, AI thinking |
34
- | [Dot orb](#dot-orb) | Orbs | Orbit waits, spatial loading |
35
- | [Planet orb](#planet-orb) | Orbs | Space motifs, sci-fi waits |
36
- | [Aura orb](#aura-orb) | Orbs | Gradient waits, brand palettes |
31
+ | [Sonar](#sonar) | Spinner | Radar pings, location detection |
32
+ | [iOS 27 orb](#ios-27-orb) | Orbs | Voice assistants, AI thinking, holographic waits |
33
+ | [AI orb](#ai-orb) | AI | AI assistants, generative waits |
34
+ | [AI thinking](#ai-thinking) | AI | Chat completions, waiting on answers |
35
+ | [AI neural](#ai-neural) | AI | Neural nets, model training |
37
36
  | [Eyes](#eyes) | Shape | Fun state, "watching" waiting |
38
37
  | [Morphing square](#morphing-square) | Shape | Modern brand moments |
39
38
  | [Breathing pulse](#breathing-pulse) | Shape | Subtle, gentle "alive" loading |
@@ -44,7 +43,6 @@ Think of it as a small zoo of loading animals. You pick an animal, put it in you
44
43
  | [Activity rings](#activity-rings) | Bars & rings | Fitness, health, Apple Watch style |
45
44
  | [Waveform](#waveform) | Music | Audio apps, playing states |
46
45
  | [Vinyl](#vinyl) | Music | Music apps, retro feels |
47
- | [Sonar](#sonar) | Music | Audio pulses, location pings |
48
46
  | [Music note](#music-note) | Music | Music players, playful waits |
49
47
  | [Skeleton shimmer](#skeleton-shimmer) | Skeleton | Placeholder while real content loads |
50
48
  | [Skeleton card](#skeleton-card) | Skeleton | Composite card/feed placeholders |
@@ -85,7 +83,7 @@ export function MyLoader() {
85
83
  }
86
84
  ```
87
85
 
88
- That's it. Importing the package **automatically registers** all 32 elements for you (it's safe to import in many places — duplicates are skipped). It is also safe on the server (SSR/Next.js): on Node there is no browser, so nothing registers and nothing breaks.
86
+ That's it. Importing the package **automatically registers** all 30 elements for you (it's safe to import in many places — duplicates are skipped). It is also safe on the server (SSR/Next.js): on Node there is no browser, so nothing registers and nothing breaks.
89
87
 
90
88
  If you prefer to register manually:
91
89
 
@@ -113,7 +111,7 @@ Add the package from a CDN (or bundle it) and write the tags directly in your HT
113
111
  </div>
114
112
  ```
115
113
 
116
- Mix and match any of the 32 tags — see the full list below.
114
+ Mix and match any of the 30 tags — see the full list below.
117
115
 
118
116
  ---
119
117
 
@@ -237,9 +235,9 @@ Every number inside every animation is also a CSS variable. Change how far dots
237
235
  | `--lz-eq-min` | Equalizer | Shortest bar height | `0.3` |
238
236
  | `--lz-slide-from` | Indeterminate bar | Slider start position | `-100%` |
239
237
  | `--lz-slide-to` | Indeterminate bar | Slider end position | `300%` |
240
- | `--lz-orb-scale` | Pulsing orb | Peak breathe scale | `1.16` |
241
- | `--lz-orb-fade` | Pulsing orb / dot orb | Mid-breathe opacity (dot orb rests at `0.14`) | `0.88` |
242
- | `--lz-dot-min` | Dot orb | Resting dot scale | `0.7` |
238
+ | `--lz-ios-fade` | iOS 27 orb | Resting dot opacity | `0.2` |
239
+ | `--lz-ios-min` | iOS 27 orb | Resting dot scale | `0.5` |
240
+ | `--lz-ios-peak` | iOS 27 orb | Glowing dot scale | `1.25` |
243
241
  | `--lz-wf-min` | Waveform | Resting bar scale | `0.22` |
244
242
  | `--lz-sonar-fade` | Sonar | Ring start opacity | `0.9` |
245
243
  | `--lz-note-bob` | Music note | Note bob height | `0.35em` |
@@ -397,7 +395,7 @@ Variables: `--lz-stroke` · `--lz-color-weak`.
397
395
 
398
396
  ### Scan sweep
399
397
 
400
- **What it is:** concentric rings with a sweeping beam — like radar. **Good for:** scanning, searching, syncing data.
398
+ **What it is:** concentric rings with crosshair ticks, a counter-rotating dial and a sweeping beam — like a radar. **Good for:** scanning, searching, syncing data.
401
399
 
402
400
  ```html
403
401
  <lz-scan-sweep size="64" color="#30d158"></lz-scan-sweep>
@@ -446,101 +444,70 @@ Variables: `--lz-dot-size` · `--lz-orbit-fade`.
446
444
 
447
445
  ---
448
446
 
449
- ### Pulsing orb
447
+ ### iOS 27 orb
450
448
 
451
- **What it is:** a glowing gradient orb that breathes in and out. **Good for:** ambient loads, hero panels, app splash screens.
449
+ **What it is:** an orb of 27 dots where a bright glow travels from the dot being "touched" to the next, spiraling inward like an iOS listening animation. **Good for:** voice assistants, AI thinking, holographic waits.
452
450
 
453
451
  ```html
454
- <lz-pulsing-orb size="64" accent="#ff375f"></lz-pulsing-orb>
452
+ <lz-ios-27-orb size="64" accent="#64d2ff" color="#bf5af2"></lz-ios-27-orb>
455
453
  ```
456
454
 
457
455
  ```tsx
458
- <PulsingOrb size={64} accent="#ff375f" />
456
+ <Ios27Orb size={64} accent="#64d2ff" color="#bf5af2" />
459
457
  ```
460
458
 
461
- Attributes: `size` (default `44`) · `accent` (default `#0a84ff`) · `speed`.
462
- Variables: `--lz-orb-scale` · `--lz-orb-fade`.
463
-
464
- ---
465
-
466
- ### Morphing orb
467
-
468
- **What it is:** a blob that endlessly morphs its silhouette between rounded shapes. **Good for:** creative waits, brand moments, game loading.
469
-
470
- ```html
471
- <lz-morphing-orb size="64" accent="#30d158"></lz-morphing-orb>
472
- ```
473
-
474
- ```tsx
475
- <MorphingOrb size={64} accent="#30d158" />
476
- ```
477
-
478
- Attributes: `size` (default `44`) · `accent` (default `#0a84ff`) · `speed`.
459
+ Attributes: `size` (default `44`) · `accent` (warm pole hue, default `#0a84ff`) · `color` (cool pole hue, default `#f5f5f7`) · `speed`.
460
+ Variables: `--lz-ios-fade` · `--lz-ios-min` · `--lz-ios-peak`.
479
461
 
480
462
  ---
481
463
 
482
- ### Siri orb
464
+ ### AI orb
483
465
 
484
- **What it is:** a Siri-style orb with a multicolored sheen swirling inside a clipped circle. **Good for:** voice assistants, AI "thinking", smart waits.
466
+ **What it is:** a breathing gradient sphere with an orbiting light dot and twinkling sparkles. **Good for:** AI assistants, generative waits, "smart" ready states.
485
467
 
486
468
  ```html
487
- <lz-siri-orb size="72" accent="#64d2ff"></lz-siri-orb>
469
+ <lz-ai-orb size="64" accent="#bf5af2"></lz-ai-orb>
488
470
  ```
489
471
 
490
472
  ```tsx
491
- <SiriOrb size={72} accent="#64d2ff" />
473
+ <AiOrb size={64} accent="#bf5af2" />
492
474
  ```
493
475
 
494
- Attributes: `size` (default `44`) · `accent` (default `#0a84ff`) · `speed`.
476
+ Attributes: `size` (default `44`) · `accent` (default `#0a84ff`) · `color` (sparkles) · `speed`.
495
477
 
496
478
  ---
497
479
 
498
- ### Dot orb
480
+ ### AI thinking
499
481
 
500
- **What it is:** a ring of shimmering dots arranged into an orb silhouette. **Good for:** orbit waits, spatial loading, gaming screens.
482
+ **What it is:** a rounded thinking field with typing dots wrapped in a rotating accent ring. **Good for:** chat completions, AI replies, waiting on answers.
501
483
 
502
484
  ```html
503
- <lz-dot-orb count="12" color="#ff9f0a"></lz-dot-orb>
485
+ <lz-ai-thinking size="44" accent="#30d158"></lz-ai-thinking>
504
486
  ```
505
487
 
506
488
  ```tsx
507
- <DotOrb count={12} color="#ff9f0a" />
489
+ <AiThinking size={44} accent="#30d158" />
508
490
  ```
509
491
 
510
- Attributes: `size` (default `44`) · `count` (default `8`) · `color` · `speed`.
511
- Variables: `--lz-dot-min` · `--lz-orb-fade`.
492
+ Attributes: `size` (default `40`) · `accent` (default `#0a84ff`) · `color` (typing dots) · `speed`.
493
+ Variables: `--lz-surface` (field background).
512
494
 
513
495
  ---
514
496
 
515
- ### Planet orb
497
+ ### AI neural
516
498
 
517
- **What it is:** a glowing planet core with small moons orbiting it. **Good for:** space motifs, science apps, sci-fi waits.
499
+ **What it is:** a grid of dots pulsing like an artificial neural network with a diagonal activation wave. **Good for:** neural nets, model training, data pipelines.
518
500
 
519
501
  ```html
520
- <lz-planet-orb count="3" accent="#bf5af2" color="#64d2ff"></lz-planet-orb>
502
+ <lz-ai-neural rows="4" cols="7" accent="#fa114f"></lz-ai-neural>
521
503
  ```
522
504
 
523
505
  ```tsx
524
- <PlanetOrb count={3} accent="#bf5af2" color="#64d2ff" />
506
+ <AiNeural rows={4} cols={7} accent="#fa114f" />
525
507
  ```
526
508
 
527
- Attributes: `size` (default `44`) · `accent` (default `#0a84ff`) · `color` · `count` (moons, default `2`) · `speed`.
528
-
529
- ---
530
-
531
- ### Aura orb
532
-
533
- **What it is:** two tinted orbs counter-rotating in overlapping orbits. **Good for:** gradient waits, brand palettes, hero backgrounds.
534
-
535
- ```html
536
- <lz-aura-orb accent="#ff375f" color="#64d2ff"></lz-aura-orb>
537
- ```
538
-
539
- ```tsx
540
- <AuraOrb accent="#ff375f" color="#64d2ff" />
541
- ```
542
-
543
- Attributes: `size` (default `44`) · `accent` (default `#0a84ff`) · `color` · `speed`.
509
+ Attributes: `size` (default `6`) · `rows` (default `3`) · `cols` (default `5`) · `gap` (default `10`) · `accent` (checking neurons) · `color` (resting neurons) · `speed`.
510
+ Variables: `--lz-grid-gap` · `--lz-grid-min` · `--lz-grid-fade`.
544
511
 
545
512
  ---
546
513
 
@@ -703,7 +670,7 @@ Variables: `--lz-bar-width` · `--lz-gap` · `--lz-wf-min`.
703
670
 
704
671
  ### Vinyl
705
672
 
706
- **What it is:** a spinning record with a gently bobbing tonearm. **Good for:** music apps, retro waits, album screens.
673
+ **What it is:** a spinning record with a light sheen, label, spindle and a gently bobbing tonearm. **Good for:** music apps, retro waits, album screens.
707
674
 
708
675
  ```html
709
676
  <lz-vinyl accent="#fa114f"></lz-vinyl>
@@ -719,7 +686,7 @@ Attributes: `size` (default `48`) · `accent` (label/stylus, default `#0a84ff`)
719
686
 
720
687
  ### Sonar
721
688
 
722
- **What it is:** a pulsing core emitting expanding sonar rings. **Good for:** audio pulses, location pings, motion waits.
689
+ **What it is:** a pulsing core emitting expanding sonar rings. **Good for:** radar pings, location detection, motion waits.
723
690
 
724
691
  ```html
725
692
  <lz-sonar count="4" accent="#30d158"></lz-sonar>
@@ -736,7 +703,7 @@ Variables: `--lz-sonar-fade`.
736
703
 
737
704
  ### Music note
738
705
 
739
- **What it is:** musical note glyphs bobbing in a sing-song rhythm. **Good for:** music players, karaoke, playful waits.
706
+ **What it is:** drawn musical notes with heads, stems and flags bobbing in a sing-song rhythm. **Good for:** music players, karaoke, playful waits.
740
707
 
741
708
  ```html
742
709
  <lz-music-note count="3" color="#bf5af2"></lz-music-note>