loading-state-zoo 0.3.0 → 0.4.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/README.md +10 -115
- package/dist/index.cjs +153 -199
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -21
- package/dist/index.d.ts +3 -21
- package/dist/index.js +152 -198
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +149 -195
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -64
- package/dist/react.d.ts +1 -64
- package/dist/react.js +149 -195
- package/dist/react.js.map +1 -1
- package/dist/theme.css +207 -284
- package/docs/AI.md +10 -11
- package/docs/components.json +1504 -428
- package/package.json +2 -2
package/dist/theme.css
CHANGED
|
@@ -161,46 +161,6 @@
|
|
|
161
161
|
opacity: var(--lz-orb-fade, 0.88);
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
@keyframes lz-blob-morph {
|
|
165
|
-
0% {
|
|
166
|
-
border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
|
|
167
|
-
transform: rotate(0deg) scale(1);
|
|
168
|
-
}
|
|
169
|
-
25% {
|
|
170
|
-
border-radius: 58% 42% 55% 45% / 55% 48% 52% 45%;
|
|
171
|
-
transform: rotate(6deg) scale(1.06);
|
|
172
|
-
}
|
|
173
|
-
50% {
|
|
174
|
-
border-radius: 46% 54% 48% 52% / 48% 55% 45% 52%;
|
|
175
|
-
transform: rotate(-5deg) scale(0.95);
|
|
176
|
-
}
|
|
177
|
-
75% {
|
|
178
|
-
border-radius: 55% 45% 52% 48% / 46% 52% 48% 55%;
|
|
179
|
-
transform: rotate(3deg) scale(1.05);
|
|
180
|
-
}
|
|
181
|
-
100% {
|
|
182
|
-
border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
|
|
183
|
-
transform: rotate(0deg) scale(1);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
@keyframes lz-siri-sheen {
|
|
187
|
-
0% {
|
|
188
|
-
transform: translate3d(-24%, -14%, 0) rotate(0deg);
|
|
189
|
-
}
|
|
190
|
-
100% {
|
|
191
|
-
transform: translate3d(24%, 14%, 0) rotate(360deg);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
@keyframes lz-dot-orb {
|
|
195
|
-
0%, 100% {
|
|
196
|
-
opacity: var(--lz-orb-fade, 0.14);
|
|
197
|
-
transform: scale(var(--lz-dot-min, 0.7));
|
|
198
|
-
}
|
|
199
|
-
50% {
|
|
200
|
-
opacity: 1;
|
|
201
|
-
transform: scale(1);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
164
|
@keyframes lz-waveform {
|
|
205
165
|
0%, 100% {
|
|
206
166
|
transform: scaleY(var(--lz-wf-min, 0.22));
|
|
@@ -235,10 +195,10 @@
|
|
|
235
195
|
}
|
|
236
196
|
@keyframes lz-needle-bob {
|
|
237
197
|
0%, 100% {
|
|
238
|
-
transform: rotate(
|
|
198
|
+
transform: rotate(22deg);
|
|
239
199
|
}
|
|
240
200
|
50% {
|
|
241
|
-
transform: rotate(
|
|
201
|
+
transform: rotate(27deg);
|
|
242
202
|
}
|
|
243
203
|
}
|
|
244
204
|
.lz-bouncing-dots {
|
|
@@ -396,20 +356,57 @@
|
|
|
396
356
|
border-radius: 50%;
|
|
397
357
|
border: 1px solid var(--lz-track, rgba(255, 255, 255, 0.12));
|
|
398
358
|
}
|
|
359
|
+
.lz-scan-sweep .lz-dial {
|
|
360
|
+
position: absolute;
|
|
361
|
+
inset: 0.075em;
|
|
362
|
+
border-radius: 50%;
|
|
363
|
+
border: 1px dashed rgba(255, 255, 255, 0.1);
|
|
364
|
+
animation: lz-spin-reverse calc(12s * var(--lz-speed, 1)) linear infinite;
|
|
365
|
+
}
|
|
399
366
|
.lz-scan-sweep .lz-ring-inner {
|
|
400
367
|
position: absolute;
|
|
401
|
-
inset: 0.
|
|
368
|
+
inset: 0.27em;
|
|
402
369
|
border-radius: 50%;
|
|
403
370
|
border: 1px solid var(--lz-track-weak, rgba(255, 255, 255, 0.08));
|
|
404
371
|
}
|
|
405
|
-
.lz-scan-sweep .lz-
|
|
372
|
+
.lz-scan-sweep .lz-tick-slot {
|
|
406
373
|
position: absolute;
|
|
407
|
-
|
|
374
|
+
left: 50%;
|
|
375
|
+
top: 50%;
|
|
376
|
+
width: 0;
|
|
377
|
+
height: 0;
|
|
378
|
+
}
|
|
379
|
+
.lz-scan-sweep .lz-tick {
|
|
380
|
+
position: absolute;
|
|
381
|
+
left: -0.025em;
|
|
382
|
+
top: 0;
|
|
383
|
+
width: 0.05em;
|
|
408
384
|
height: 0.14em;
|
|
409
|
-
|
|
410
|
-
|
|
385
|
+
border-radius: 1px;
|
|
386
|
+
background: var(--lz-color-weak, rgba(245, 245, 247, 0.8));
|
|
387
|
+
}
|
|
388
|
+
.lz-scan-sweep .lz-tick.short {
|
|
389
|
+
height: 0.09em;
|
|
390
|
+
}
|
|
391
|
+
.lz-scan-sweep .lz-core-ring {
|
|
392
|
+
position: absolute;
|
|
393
|
+
left: 50%;
|
|
394
|
+
top: 50%;
|
|
395
|
+
width: 0.26em;
|
|
396
|
+
height: 0.26em;
|
|
397
|
+
margin: -0.13em 0 0 -0.13em;
|
|
398
|
+
border-radius: 50%;
|
|
399
|
+
border: 1px solid var(--lz-track-weak, rgba(255, 255, 255, 0.08));
|
|
400
|
+
}
|
|
401
|
+
.lz-scan-sweep .lz-core {
|
|
402
|
+
position: absolute;
|
|
403
|
+
width: 0.1em;
|
|
404
|
+
height: 0.1em;
|
|
405
|
+
left: 0.45em;
|
|
406
|
+
top: 0.45em;
|
|
411
407
|
border-radius: 50%;
|
|
412
408
|
background: var(--lz-color-weak, rgba(245, 245, 247, 0.8));
|
|
409
|
+
box-shadow: 0 0 0.18em 0.03em color-mix(in srgb, var(--lz-color, #f5f5f7) 45%, transparent);
|
|
413
410
|
}
|
|
414
411
|
.lz-scan-sweep .lz-sweep {
|
|
415
412
|
position: absolute;
|
|
@@ -419,11 +416,33 @@
|
|
|
419
416
|
conic-gradient(
|
|
420
417
|
from 0deg,
|
|
421
418
|
var(--lz-color, #f5f5f7) 0deg,
|
|
422
|
-
var(--lz-color-sweep, rgba(245, 245, 247, 0.08))
|
|
423
|
-
transparent
|
|
419
|
+
var(--lz-color-sweep, rgba(245, 245, 247, 0.08)) 8deg,
|
|
420
|
+
color-mix(in srgb, var(--lz-color, #f5f5f7) 5%, transparent) 55deg,
|
|
421
|
+
transparent 95deg);
|
|
424
422
|
-webkit-mask: radial-gradient(closest-side, #000 100%);
|
|
425
423
|
mask: radial-gradient(closest-side, #000 100%);
|
|
426
|
-
animation: lz-spin calc(
|
|
424
|
+
animation: lz-spin calc(4s * var(--lz-speed, 1)) linear infinite;
|
|
425
|
+
}
|
|
426
|
+
.lz-scan-sweep .lz-sweep-edge {
|
|
427
|
+
position: absolute;
|
|
428
|
+
inset: 0;
|
|
429
|
+
border-radius: 50%;
|
|
430
|
+
background:
|
|
431
|
+
conic-gradient(
|
|
432
|
+
from 0deg,
|
|
433
|
+
var(--lz-color, #f5f5f7) 0deg,
|
|
434
|
+
transparent 5deg);
|
|
435
|
+
-webkit-mask:
|
|
436
|
+
radial-gradient(
|
|
437
|
+
farthest-side,
|
|
438
|
+
transparent calc(100% - 0.07em),
|
|
439
|
+
#000 calc(100% - 0.07em));
|
|
440
|
+
mask:
|
|
441
|
+
radial-gradient(
|
|
442
|
+
farthest-side,
|
|
443
|
+
transparent calc(100% - 0.07em),
|
|
444
|
+
#000 calc(100% - 0.07em));
|
|
445
|
+
animation: lz-spin calc(4s * var(--lz-speed, 1)) linear infinite;
|
|
427
446
|
}
|
|
428
447
|
.lz-orbit-dots {
|
|
429
448
|
position: relative;
|
|
@@ -755,210 +774,6 @@
|
|
|
755
774
|
transparent);
|
|
756
775
|
animation: lz-skeleton-sheen calc(1.4s * var(--lz-speed, 1)) linear infinite;
|
|
757
776
|
}
|
|
758
|
-
.lz-pulsing-orb {
|
|
759
|
-
width: var(--lz-size, 44px);
|
|
760
|
-
height: var(--lz-size, 44px);
|
|
761
|
-
border-radius: 50%;
|
|
762
|
-
background:
|
|
763
|
-
radial-gradient(
|
|
764
|
-
circle at 35% 32%,
|
|
765
|
-
var(--lz-accent, #0a84ff) 0%,
|
|
766
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 45%, transparent) 55%,
|
|
767
|
-
transparent 72%);
|
|
768
|
-
box-shadow: 0 0 calc(0.5 * var(--lz-size, 44px)) color-mix(in srgb, var(--lz-accent, #0a84ff) 40%, transparent);
|
|
769
|
-
animation: lz-orb-breathe calc(2.2s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
770
|
-
}
|
|
771
|
-
.lz-morphing-orb {
|
|
772
|
-
width: var(--lz-size, 44px);
|
|
773
|
-
height: var(--lz-size, 44px);
|
|
774
|
-
background:
|
|
775
|
-
radial-gradient(
|
|
776
|
-
circle at 34% 30%,
|
|
777
|
-
var(--lz-accent, #0a84ff) 0%,
|
|
778
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 60%, transparent) 62%,
|
|
779
|
-
transparent 78%);
|
|
780
|
-
box-shadow: 0 0 calc(0.55 * var(--lz-size, 44px)) color-mix(in srgb, var(--lz-accent, #0a84ff) 35%, transparent);
|
|
781
|
-
animation: lz-blob-morph calc(3.4s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
782
|
-
}
|
|
783
|
-
.lz-siri-orb {
|
|
784
|
-
position: relative;
|
|
785
|
-
overflow: hidden;
|
|
786
|
-
width: var(--lz-size, 44px);
|
|
787
|
-
height: var(--lz-size, 44px);
|
|
788
|
-
border-radius: 50%;
|
|
789
|
-
background:
|
|
790
|
-
radial-gradient(
|
|
791
|
-
circle at 30% 28%,
|
|
792
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 75%, white) 0%,
|
|
793
|
-
transparent 60%);
|
|
794
|
-
animation: lz-orb-breathe calc(2.6s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
795
|
-
}
|
|
796
|
-
.lz-siri-orb .lz-sheen {
|
|
797
|
-
position: absolute;
|
|
798
|
-
width: calc(2.4 * var(--lz-size, 44px));
|
|
799
|
-
height: calc(2.4 * var(--lz-size, 44px));
|
|
800
|
-
left: 50%;
|
|
801
|
-
top: 50%;
|
|
802
|
-
margin: -1.2em 0 0 -1.2em;
|
|
803
|
-
background:
|
|
804
|
-
conic-gradient(
|
|
805
|
-
from 0deg at 50% 50%,
|
|
806
|
-
transparent 0deg,
|
|
807
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 55%, transparent) 40deg,
|
|
808
|
-
transparent 90deg,
|
|
809
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 35%, transparent) 150deg,
|
|
810
|
-
transparent 200deg,
|
|
811
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 50%, transparent) 270deg,
|
|
812
|
-
transparent 360deg);
|
|
813
|
-
animation: lz-siri-sheen calc(5s * var(--lz-speed, 1)) linear infinite;
|
|
814
|
-
opacity: 0.9;
|
|
815
|
-
}
|
|
816
|
-
.lz-dot-orb {
|
|
817
|
-
position: relative;
|
|
818
|
-
width: var(--lz-size, 44px);
|
|
819
|
-
height: var(--lz-size, 44px);
|
|
820
|
-
}
|
|
821
|
-
.lz-dot-orb .lz-slot {
|
|
822
|
-
position: absolute;
|
|
823
|
-
left: 50%;
|
|
824
|
-
top: 50%;
|
|
825
|
-
width: 0;
|
|
826
|
-
height: 0;
|
|
827
|
-
}
|
|
828
|
-
.lz-dot-orb .lz-dot {
|
|
829
|
-
position: absolute;
|
|
830
|
-
left: -0.08em;
|
|
831
|
-
top: -0.08em;
|
|
832
|
-
width: 0.16em;
|
|
833
|
-
height: 0.16em;
|
|
834
|
-
border-radius: 50%;
|
|
835
|
-
background: var(--lz-color, #f5f5f7);
|
|
836
|
-
animation: lz-dot-orb calc(2s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
837
|
-
}
|
|
838
|
-
.lz-dot-orb .lz-slot:nth-child(1) {
|
|
839
|
-
transform: rotate(0deg) translateY(-0.32em);
|
|
840
|
-
}
|
|
841
|
-
.lz-dot-orb .lz-slot:nth-child(2) {
|
|
842
|
-
transform: rotate(45deg) translateY(-0.32em);
|
|
843
|
-
}
|
|
844
|
-
.lz-dot-orb .lz-slot:nth-child(3) {
|
|
845
|
-
transform: rotate(90deg) translateY(-0.32em);
|
|
846
|
-
}
|
|
847
|
-
.lz-dot-orb .lz-slot:nth-child(4) {
|
|
848
|
-
transform: rotate(135deg) translateY(-0.32em);
|
|
849
|
-
}
|
|
850
|
-
.lz-dot-orb .lz-slot:nth-child(5) {
|
|
851
|
-
transform: rotate(180deg) translateY(-0.32em);
|
|
852
|
-
}
|
|
853
|
-
.lz-dot-orb .lz-slot:nth-child(6) {
|
|
854
|
-
transform: rotate(225deg) translateY(-0.32em);
|
|
855
|
-
}
|
|
856
|
-
.lz-dot-orb .lz-slot:nth-child(7) {
|
|
857
|
-
transform: rotate(270deg) translateY(-0.32em);
|
|
858
|
-
}
|
|
859
|
-
.lz-dot-orb .lz-slot:nth-child(8) {
|
|
860
|
-
transform: rotate(315deg) translateY(-0.32em);
|
|
861
|
-
}
|
|
862
|
-
.lz-dot-orb .lz-slot:nth-child(odd) .lz-dot {
|
|
863
|
-
animation-delay: -0.25s;
|
|
864
|
-
}
|
|
865
|
-
.lz-planet-orb {
|
|
866
|
-
position: relative;
|
|
867
|
-
width: var(--lz-size, 44px);
|
|
868
|
-
height: var(--lz-size, 44px);
|
|
869
|
-
}
|
|
870
|
-
.lz-planet-orb .lz-core {
|
|
871
|
-
position: absolute;
|
|
872
|
-
left: 50%;
|
|
873
|
-
top: 50%;
|
|
874
|
-
width: 0.42em;
|
|
875
|
-
height: 0.42em;
|
|
876
|
-
margin: -0.21em 0 0 -0.21em;
|
|
877
|
-
border-radius: 50%;
|
|
878
|
-
background:
|
|
879
|
-
radial-gradient(
|
|
880
|
-
circle at 35% 30%,
|
|
881
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 45%, white) 0%,
|
|
882
|
-
var(--lz-accent, #0a84ff) 50%,
|
|
883
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 40%, transparent) 100%);
|
|
884
|
-
box-shadow: 0 0 calc(0.3em) color-mix(in srgb, var(--lz-accent, #0a84ff) 45%, transparent);
|
|
885
|
-
animation: lz-orb-breathe calc(2.4s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
886
|
-
}
|
|
887
|
-
.lz-planet-orb .lz-orbit {
|
|
888
|
-
position: absolute;
|
|
889
|
-
inset: 0;
|
|
890
|
-
animation: lz-spin calc(2.2s * var(--lz-speed, 1)) linear infinite;
|
|
891
|
-
}
|
|
892
|
-
.lz-planet-orb .lz-moon {
|
|
893
|
-
position: absolute;
|
|
894
|
-
left: 50%;
|
|
895
|
-
top: 50%;
|
|
896
|
-
width: 0.14em;
|
|
897
|
-
height: 0.14em;
|
|
898
|
-
margin: -0.07em 0 0 -0.07em;
|
|
899
|
-
border-radius: 50%;
|
|
900
|
-
background: var(--lz-color, #f5f5f7);
|
|
901
|
-
box-shadow: 0 0 calc(0.16em) color-mix(in srgb, var(--lz-color, #f5f5f7) 50%, transparent);
|
|
902
|
-
}
|
|
903
|
-
.lz-planet-orb .lz-moon:nth-child(1) {
|
|
904
|
-
transform: rotate(0deg) translateX(0.36em);
|
|
905
|
-
}
|
|
906
|
-
.lz-planet-orb .lz-moon:nth-child(2) {
|
|
907
|
-
transform: rotate(180deg) translateX(0.36em);
|
|
908
|
-
}
|
|
909
|
-
.lz-planet-orb .lz-moon:nth-child(3) {
|
|
910
|
-
transform: rotate(120deg) translateX(0.36em);
|
|
911
|
-
}
|
|
912
|
-
.lz-planet-orb .lz-moon:nth-child(4) {
|
|
913
|
-
transform: rotate(240deg) translateX(0.36em);
|
|
914
|
-
}
|
|
915
|
-
.lz-planet-orb .lz-moon:nth-child(5) {
|
|
916
|
-
transform: rotate(72deg) translateX(0.36em);
|
|
917
|
-
}
|
|
918
|
-
.lz-aura-orb {
|
|
919
|
-
position: relative;
|
|
920
|
-
width: var(--lz-size, 44px);
|
|
921
|
-
height: var(--lz-size, 44px);
|
|
922
|
-
}
|
|
923
|
-
.lz-aura-orb .lz-layer {
|
|
924
|
-
position: absolute;
|
|
925
|
-
inset: 0;
|
|
926
|
-
animation: lz-spin calc(3s * var(--lz-speed, 1)) linear infinite;
|
|
927
|
-
}
|
|
928
|
-
.lz-aura-orb .lz-layer.a {
|
|
929
|
-
animation-duration: calc(2.6s * var(--lz-speed, 1));
|
|
930
|
-
}
|
|
931
|
-
.lz-aura-orb .lz-layer.b {
|
|
932
|
-
animation-name: lz-spin-reverse;
|
|
933
|
-
animation-duration: calc(3.4s * var(--lz-speed, 1));
|
|
934
|
-
}
|
|
935
|
-
.lz-aura-orb .lz-orb {
|
|
936
|
-
position: absolute;
|
|
937
|
-
left: 50%;
|
|
938
|
-
top: 50%;
|
|
939
|
-
width: 0.78em;
|
|
940
|
-
height: 0.78em;
|
|
941
|
-
margin: -0.39em 0 0 -0.39em;
|
|
942
|
-
border-radius: 50%;
|
|
943
|
-
transform: translateX(0.14em);
|
|
944
|
-
}
|
|
945
|
-
.lz-aura-orb .lz-layer.a .lz-orb {
|
|
946
|
-
background:
|
|
947
|
-
radial-gradient(
|
|
948
|
-
circle at 35% 30%,
|
|
949
|
-
color-mix(in srgb, var(--lz-color, #f5f5f7) 90%, transparent) 0%,
|
|
950
|
-
color-mix(in srgb, var(--lz-color, #f5f5f7) 40%, transparent) 62%,
|
|
951
|
-
transparent 76%);
|
|
952
|
-
}
|
|
953
|
-
.lz-aura-orb .lz-layer.b .lz-orb {
|
|
954
|
-
background:
|
|
955
|
-
radial-gradient(
|
|
956
|
-
circle at 35% 30%,
|
|
957
|
-
var(--lz-accent, #0a84ff) 0%,
|
|
958
|
-
color-mix(in srgb, var(--lz-accent, #0a84ff) 45%, transparent) 62%,
|
|
959
|
-
transparent 76%);
|
|
960
|
-
opacity: 0.9;
|
|
961
|
-
}
|
|
962
777
|
.lz-waveform {
|
|
963
778
|
display: flex;
|
|
964
779
|
align-items: center;
|
|
@@ -985,40 +800,122 @@
|
|
|
985
800
|
position: absolute;
|
|
986
801
|
inset: 0;
|
|
987
802
|
border-radius: 50%;
|
|
803
|
+
overflow: hidden;
|
|
988
804
|
background:
|
|
989
805
|
repeating-radial-gradient(
|
|
990
806
|
circle at 50% 50%,
|
|
991
|
-
rgba(255, 255, 255, 0.
|
|
807
|
+
rgba(255, 255, 255, 0.055) 0 1px,
|
|
992
808
|
transparent 1px 4px),
|
|
993
809
|
radial-gradient(
|
|
994
810
|
circle at 50% 50%,
|
|
995
|
-
|
|
996
|
-
rgba(0, 0, 0, 0.
|
|
811
|
+
rgba(255, 255, 255, 0.05) 0 17%,
|
|
812
|
+
rgba(0, 0, 0, 0.22) 17% 18%,
|
|
813
|
+
transparent 18% 20%,
|
|
814
|
+
rgba(255, 255, 255, 0.045) 20% 21%,
|
|
815
|
+
transparent 21% 100%),
|
|
816
|
+
radial-gradient(circle at 50% 50%, #141216 0 100%);
|
|
997
817
|
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
|
|
998
|
-
animation: lz-spin calc(
|
|
818
|
+
animation: lz-spin calc(7s * var(--lz-speed, 1)) linear infinite;
|
|
999
819
|
}
|
|
1000
|
-
.lz-vinyl .lz-
|
|
820
|
+
.lz-vinyl .lz-disc::before {
|
|
821
|
+
content: "";
|
|
1001
822
|
position: absolute;
|
|
1002
|
-
|
|
1003
|
-
|
|
823
|
+
inset: 0;
|
|
824
|
+
border-radius: 50%;
|
|
825
|
+
background:
|
|
826
|
+
linear-gradient(
|
|
827
|
+
112deg,
|
|
828
|
+
transparent 26%,
|
|
829
|
+
rgba(255, 255, 255, 0.17) 40%,
|
|
830
|
+
rgba(255, 255, 255, 0.04) 49%,
|
|
831
|
+
transparent 62%);
|
|
832
|
+
}
|
|
833
|
+
.lz-vinyl .lz-label {
|
|
834
|
+
position: absolute;
|
|
835
|
+
left: 50%;
|
|
836
|
+
top: 50%;
|
|
837
|
+
width: 0.5em;
|
|
838
|
+
height: 0.5em;
|
|
839
|
+
margin: -0.25em 0 0 -0.25em;
|
|
840
|
+
border-radius: 50%;
|
|
841
|
+
background:
|
|
842
|
+
radial-gradient(
|
|
843
|
+
circle at 36% 30%,
|
|
844
|
+
rgba(255, 255, 255, 0.35) 0 5%,
|
|
845
|
+
transparent 6%),
|
|
846
|
+
radial-gradient(
|
|
847
|
+
circle at 63% 68%,
|
|
848
|
+
rgba(0, 0, 0, 0.4) 0 7%,
|
|
849
|
+
transparent 8%),
|
|
850
|
+
var(--lz-accent, #0a84ff);
|
|
851
|
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.4);
|
|
852
|
+
}
|
|
853
|
+
.lz-vinyl .lz-spindle {
|
|
854
|
+
position: absolute;
|
|
855
|
+
left: 50%;
|
|
856
|
+
top: 50%;
|
|
857
|
+
width: 0.09em;
|
|
858
|
+
height: 0.09em;
|
|
859
|
+
margin: -0.045em 0 0 -0.045em;
|
|
860
|
+
border-radius: 50%;
|
|
861
|
+
background: rgba(0, 0, 0, 0.9);
|
|
862
|
+
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
|
|
863
|
+
}
|
|
864
|
+
.lz-vinyl .lz-arm {
|
|
865
|
+
position: absolute;
|
|
866
|
+
top: 0.05em;
|
|
867
|
+
right: 0.06em;
|
|
868
|
+
width: 0.8em;
|
|
869
|
+
height: 0.8em;
|
|
870
|
+
transform-origin: top right;
|
|
871
|
+
animation: lz-needle-bob calc(2.4s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
872
|
+
}
|
|
873
|
+
.lz-vinyl .lz-post {
|
|
874
|
+
position: absolute;
|
|
875
|
+
right: -0.01em;
|
|
876
|
+
top: -0.01em;
|
|
877
|
+
width: 0.13em;
|
|
878
|
+
height: 0.13em;
|
|
879
|
+
border-radius: 50%;
|
|
880
|
+
background:
|
|
881
|
+
radial-gradient(
|
|
882
|
+
circle at 35% 30%,
|
|
883
|
+
var(--lz-color, #f5f5f7) 0 42%,
|
|
884
|
+
color-mix(in srgb, var(--lz-color, #f5f5f7) 45%, transparent) 100%);
|
|
885
|
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3);
|
|
886
|
+
}
|
|
887
|
+
.lz-vinyl .lz-shaft {
|
|
888
|
+
position: absolute;
|
|
889
|
+
right: 0.045em;
|
|
890
|
+
top: 0.02em;
|
|
1004
891
|
width: 0.06em;
|
|
1005
|
-
height: 0.
|
|
892
|
+
height: 0.48em;
|
|
1006
893
|
border-radius: 3px;
|
|
1007
|
-
background: linear-gradient(var(--lz-color, #f5f5f7), color-mix(in srgb, var(--lz-color, #f5f5f7)
|
|
1008
|
-
|
|
1009
|
-
transform-origin: top
|
|
1010
|
-
|
|
894
|
+
background: linear-gradient(var(--lz-color, #f5f5f7), color-mix(in srgb, var(--lz-color, #f5f5f7) 35%, transparent));
|
|
895
|
+
box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.25);
|
|
896
|
+
transform-origin: top center;
|
|
897
|
+
transform: rotate(24deg);
|
|
1011
898
|
}
|
|
1012
|
-
.lz-vinyl .lz-
|
|
899
|
+
.lz-vinyl .lz-shaft::before {
|
|
900
|
+
content: "";
|
|
1013
901
|
position: absolute;
|
|
1014
|
-
|
|
1015
|
-
left:
|
|
1016
|
-
width: 0.
|
|
1017
|
-
height: 0.
|
|
1018
|
-
margin-left: -0.05em;
|
|
1019
|
-
transform: translateY(0.1em);
|
|
902
|
+
top: -0.035em;
|
|
903
|
+
left: -0.04em;
|
|
904
|
+
width: 0.14em;
|
|
905
|
+
height: 0.14em;
|
|
1020
906
|
border-radius: 50%;
|
|
1021
|
-
background: var(--lz-
|
|
907
|
+
background: var(--lz-color, #f5f5f7);
|
|
908
|
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
|
|
909
|
+
}
|
|
910
|
+
.lz-vinyl .lz-shaft::after {
|
|
911
|
+
content: "";
|
|
912
|
+
position: absolute;
|
|
913
|
+
bottom: -0.05em;
|
|
914
|
+
left: 0.005em;
|
|
915
|
+
width: 0.05em;
|
|
916
|
+
height: 0.1em;
|
|
917
|
+
border-radius: 0 0 3px 3px;
|
|
918
|
+
background: color-mix(in srgb, var(--lz-accent, #0a84ff) 75%, white);
|
|
1022
919
|
}
|
|
1023
920
|
.lz-sonar {
|
|
1024
921
|
position: relative;
|
|
@@ -1054,25 +951,51 @@
|
|
|
1054
951
|
}
|
|
1055
952
|
.lz-music-note {
|
|
1056
953
|
display: flex;
|
|
1057
|
-
align-items:
|
|
1058
|
-
gap: 0.
|
|
954
|
+
align-items: center;
|
|
955
|
+
gap: 0.5em;
|
|
1059
956
|
font-size: var(--lz-size, 32px);
|
|
1060
957
|
line-height: 1;
|
|
1061
958
|
}
|
|
1062
959
|
.lz-music-note .lz-note {
|
|
960
|
+
position: relative;
|
|
1063
961
|
display: inline-block;
|
|
1064
|
-
|
|
1065
|
-
|
|
962
|
+
width: 0.42em;
|
|
963
|
+
height: 0.88em;
|
|
1066
964
|
animation: lz-note-bob calc(1.4s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
1067
965
|
}
|
|
1068
|
-
.lz-music-note .lz-
|
|
1069
|
-
|
|
966
|
+
.lz-music-note .lz-head {
|
|
967
|
+
position: absolute;
|
|
968
|
+
left: 0;
|
|
969
|
+
bottom: 0.06em;
|
|
970
|
+
width: 0.3em;
|
|
971
|
+
height: 0.24em;
|
|
972
|
+
border-radius: 55% 45% 50% 50%;
|
|
973
|
+
background: var(--lz-color, #f5f5f7);
|
|
974
|
+
box-shadow: inset -0.045em -0.02em 0 color-mix(in srgb, var(--lz-color, #f5f5f7) 55%, #000);
|
|
975
|
+
transform: rotate(-18deg);
|
|
1070
976
|
}
|
|
1071
|
-
.lz-music-note .lz-
|
|
1072
|
-
|
|
977
|
+
.lz-music-note .lz-stem {
|
|
978
|
+
position: absolute;
|
|
979
|
+
left: 0.175em;
|
|
980
|
+
bottom: 0.13em;
|
|
981
|
+
width: 0.045em;
|
|
982
|
+
height: 0.6em;
|
|
983
|
+
border-radius: 2px;
|
|
984
|
+
background: var(--lz-color, #f5f5f7);
|
|
1073
985
|
}
|
|
1074
|
-
.lz-music-note .lz-
|
|
1075
|
-
|
|
986
|
+
.lz-music-note .lz-flag {
|
|
987
|
+
position: absolute;
|
|
988
|
+
left: 0.22em;
|
|
989
|
+
bottom: 0.61em;
|
|
990
|
+
width: 0.24em;
|
|
991
|
+
height: 0.2em;
|
|
992
|
+
border: 0.045em solid var(--lz-color, #f5f5f7);
|
|
993
|
+
border-left: none;
|
|
994
|
+
border-top: none;
|
|
995
|
+
border-radius: 0 0 0.14em 0.02em / 0 0 0.26em 0.02em;
|
|
996
|
+
}
|
|
997
|
+
.lz-music-note .lz-note.second .lz-head {
|
|
998
|
+
background: color-mix(in srgb, var(--lz-color, #f5f5f7) 45%, var(--lz-accent, #0a84ff));
|
|
1076
999
|
}
|
|
1077
1000
|
.lz-activity-rings {
|
|
1078
1001
|
width: var(--lz-size, 44px);
|
package/docs/AI.md
CHANGED
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
## Package identity
|
|
6
6
|
|
|
7
7
|
- Package name: `loading-state-zoo`
|
|
8
|
-
- Version: `0.
|
|
9
|
-
-
|
|
8
|
+
- Version: `0.4.1`
|
|
9
|
+
- 26 loading-pattern UI components. All are *web components* (custom elements) with a thin React wrapper plus a standalone CSS theme.
|
|
10
10
|
- License: MIT. No data collection of any kind.
|
|
11
|
+
- **Recommended production version:** `^0.4.1` is the stable line; use it for production installs.
|
|
11
12
|
|
|
12
13
|
## Entry points (exact import strings)
|
|
13
14
|
|
|
@@ -40,24 +41,22 @@
|
|
|
40
41
|
- Bars/skeletons: use `width` + `height` instead (Indeterminate 160×6, Skeleton 120×28), Equalizer uses `size` = bar height (22).
|
|
41
42
|
7. **Progress ring and progress bar are static** (driven by `percent` 0–100, clamped; `role="progressbar"` with live `aria-valuenow`). They do not animate by themselves.
|
|
42
43
|
|
|
43
|
-
## Component registry (
|
|
44
|
+
## Component registry (26)
|
|
44
45
|
|
|
45
46
|
Dots: `lz-bouncing-dots`, `lz-typing-dots`, `lz-wave-dots`, `lz-helix-dots`, `lz-dot-grid-wave`, `lz-ellipsis`
|
|
46
|
-
Spinners: `lz-arc-spinner`, `lz-material-double-arc`, `lz-scan-sweep`, `lz-orbit-dots`, `lz-orbit-ring-dots`
|
|
47
|
-
Orbs: `lz-pulsing-orb`, `lz-morphing-orb`, `lz-siri-orb`, `lz-dot-orb`, `lz-planet-orb`, `lz-aura-orb`
|
|
47
|
+
Spinners: `lz-arc-spinner`, `lz-material-double-arc`, `lz-scan-sweep`, `lz-orbit-dots`, `lz-orbit-ring-dots`, `lz-sonar`
|
|
48
48
|
Shapes: `lz-eyes`, `lz-morphing-square`, `lz-breathing-pulse`
|
|
49
49
|
Bars & rings: `lz-equalizer`, `lz-progress-ring`, `lz-progress-bar`, `lz-indeterminate-progress-bar`, `lz-activity-rings`
|
|
50
|
-
Music: `lz-waveform`, `lz-vinyl`, `lz-
|
|
50
|
+
Music: `lz-waveform`, `lz-vinyl`, `lz-music-note`
|
|
51
51
|
Skeletons: `lz-skeleton-shimmer`, `lz-skeleton-card`, `lz-skeleton-list`
|
|
52
52
|
|
|
53
|
-
Every element: shadow DOM (`mode:"open"`), inline `<style>` per element (shared keyframes string), geometry in `em` relative to host `font-size: var(--lz-size, 44px)`. Sized elements (progress bars, skeletons) take explicit `width`/`height` instead.
|
|
53
|
+
Every element: shadow DOM (`mode:"open"`), inline `<style>` per element (shared keyframes string), geometry in `em` relative to host `font-size: var(--lz-size, 44px)`. Sized elements (progress bars, skeletons) take explicit `width`/`height` instead. Family notes:
|
|
54
54
|
|
|
55
|
-
-
|
|
56
|
-
- **Music** patterns: `lz-waveform` (`count`, `bar-width`, `gap`), `lz-vinyl` (`accent` = label/stylus, `color` = tonearm
|
|
55
|
+
- **`lz-sonar`** lives in the Spinners family (radar use).
|
|
56
|
+
- **Music** patterns: `lz-waveform` (`count`, `bar-width`, `gap`), `lz-vinyl` (label/spindle/sheen rotate with a slow-spinning disc; `accent` = label/stylus, `color` = tonearm — disc spins over 7s so the motion reads as a record turning, not a blur), `lz-music-note` (drawn note = head + stem + flag, `count` notes).
|
|
57
|
+
- **`lz-scan-sweep`** radar sweep rotates over 4s (dial counter-rotates over 12s). Slower means calmer — the sweep stays legible instead of whipping round.
|
|
57
58
|
- **`lz-activity-rings`** is SVG-based (role `img`), defaults to Apple watch hues: outer `accent` `#fa114f`, middle `color` `#30d158`, inner `color-weak` `#32d7ff`; three rings rotate via `lz-spin` / reverse at distinct durations.
|
|
58
59
|
|
|
59
|
-
Every element: shadow DOM (`mode:"open"`), inline `<style>` per element (shared keyframes string), geometry in `em` relative to host `font-size: var(--lz-size, 44px)`. Sized elements (progress bars, skeletons) take explicit `width`/`height` instead.
|
|
60
|
-
|
|
61
60
|
## Minimal valid usage
|
|
62
61
|
|
|
63
62
|
Web:
|