loading-state-zoo 0.2.0 → 0.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.
- package/README.md +276 -3
- package/dist/index.cjs +270 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +36 -3
- package/dist/index.d.ts +36 -3
- package/dist/index.js +268 -32
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +267 -31
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +123 -1
- package/dist/react.d.ts +123 -1
- package/dist/react.js +267 -31
- package/dist/react.js.map +1 -1
- package/dist/theme.css +451 -0
- package/docs/AI.md +16 -8
- package/docs/components.json +297 -2
- package/package.json +2 -2
package/dist/theme.css
CHANGED
|
@@ -151,6 +151,96 @@
|
|
|
151
151
|
transform: scale(var(--lz-ellipsis-min, 0.8));
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
+
@keyframes lz-orb-breathe {
|
|
155
|
+
0%, 100% {
|
|
156
|
+
transform: scale(1);
|
|
157
|
+
opacity: 1;
|
|
158
|
+
}
|
|
159
|
+
50% {
|
|
160
|
+
transform: scale(var(--lz-orb-scale, 1.16));
|
|
161
|
+
opacity: var(--lz-orb-fade, 0.88);
|
|
162
|
+
}
|
|
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
|
+
@keyframes lz-waveform {
|
|
205
|
+
0%, 100% {
|
|
206
|
+
transform: scaleY(var(--lz-wf-min, 0.22));
|
|
207
|
+
}
|
|
208
|
+
50% {
|
|
209
|
+
transform: scaleY(1);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
@keyframes lz-sonar-ring {
|
|
213
|
+
0% {
|
|
214
|
+
transform: scale(0.18);
|
|
215
|
+
opacity: var(--lz-sonar-fade, 0.9);
|
|
216
|
+
}
|
|
217
|
+
100% {
|
|
218
|
+
transform: scale(1);
|
|
219
|
+
opacity: 0;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
@keyframes lz-note-bob {
|
|
223
|
+
0%, 100% {
|
|
224
|
+
transform: translateY(0);
|
|
225
|
+
}
|
|
226
|
+
45% {
|
|
227
|
+
transform: translateY(var(--lz-note-bob, 0.35em));
|
|
228
|
+
}
|
|
229
|
+
60% {
|
|
230
|
+
transform: rotate(4deg) translateY(var(--lz-note-bob, 0.35em));
|
|
231
|
+
}
|
|
232
|
+
75% {
|
|
233
|
+
transform: rotate(-4deg) translateY(var(--lz-note-bob, 0.35em));
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
@keyframes lz-needle-bob {
|
|
237
|
+
0%, 100% {
|
|
238
|
+
transform: rotate(38deg);
|
|
239
|
+
}
|
|
240
|
+
50% {
|
|
241
|
+
transform: rotate(43deg);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
154
244
|
.lz-bouncing-dots {
|
|
155
245
|
display: flex;
|
|
156
246
|
gap: 0.7em;
|
|
@@ -665,3 +755,364 @@
|
|
|
665
755
|
transparent);
|
|
666
756
|
animation: lz-skeleton-sheen calc(1.4s * var(--lz-speed, 1)) linear infinite;
|
|
667
757
|
}
|
|
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
|
+
.lz-waveform {
|
|
963
|
+
display: flex;
|
|
964
|
+
align-items: center;
|
|
965
|
+
gap: var(--lz-gap, 4px);
|
|
966
|
+
}
|
|
967
|
+
.lz-waveform .lz-bar {
|
|
968
|
+
width: var(--lz-bar-width, 4px);
|
|
969
|
+
height: var(--lz-size, 32px);
|
|
970
|
+
border-radius: 2px;
|
|
971
|
+
transform-origin: center;
|
|
972
|
+
background: var(--lz-color, #f5f5f7);
|
|
973
|
+
animation: lz-waveform calc(1.6s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
974
|
+
}
|
|
975
|
+
.lz-waveform .lz-bar.accent {
|
|
976
|
+
background: var(--lz-accent, #0a84ff);
|
|
977
|
+
}
|
|
978
|
+
.lz-vinyl {
|
|
979
|
+
position: relative;
|
|
980
|
+
width: 2.2em;
|
|
981
|
+
height: 2.2em;
|
|
982
|
+
font-size: var(--lz-size, 48px);
|
|
983
|
+
}
|
|
984
|
+
.lz-vinyl .lz-disc {
|
|
985
|
+
position: absolute;
|
|
986
|
+
inset: 0;
|
|
987
|
+
border-radius: 50%;
|
|
988
|
+
background:
|
|
989
|
+
repeating-radial-gradient(
|
|
990
|
+
circle at 50% 50%,
|
|
991
|
+
rgba(255, 255, 255, 0.06) 0 1px,
|
|
992
|
+
transparent 1px 4px),
|
|
993
|
+
radial-gradient(
|
|
994
|
+
circle at 50% 50%,
|
|
995
|
+
var(--lz-accent, #0a84ff) 0 13%,
|
|
996
|
+
rgba(0, 0, 0, 0.88) 14% 100%);
|
|
997
|
+
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
|
|
998
|
+
animation: lz-spin calc(3.5s * var(--lz-speed, 1)) linear infinite;
|
|
999
|
+
}
|
|
1000
|
+
.lz-vinyl .lz-needle {
|
|
1001
|
+
position: absolute;
|
|
1002
|
+
top: 0.08em;
|
|
1003
|
+
right: 0.18em;
|
|
1004
|
+
width: 0.06em;
|
|
1005
|
+
height: 0.7em;
|
|
1006
|
+
border-radius: 3px;
|
|
1007
|
+
background: linear-gradient(var(--lz-color, #f5f5f7), color-mix(in srgb, var(--lz-color, #f5f5f7) 30%, transparent));
|
|
1008
|
+
transform: rotate(38deg);
|
|
1009
|
+
transform-origin: top right;
|
|
1010
|
+
animation: lz-needle-bob calc(1.8s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
1011
|
+
}
|
|
1012
|
+
.lz-vinyl .lz-needle .lz-tip {
|
|
1013
|
+
position: absolute;
|
|
1014
|
+
bottom: 0;
|
|
1015
|
+
left: 50%;
|
|
1016
|
+
width: 0.1em;
|
|
1017
|
+
height: 0.1em;
|
|
1018
|
+
margin-left: -0.05em;
|
|
1019
|
+
transform: translateY(0.1em);
|
|
1020
|
+
border-radius: 50%;
|
|
1021
|
+
background: var(--lz-accent, #0a84ff);
|
|
1022
|
+
}
|
|
1023
|
+
.lz-sonar {
|
|
1024
|
+
position: relative;
|
|
1025
|
+
width: var(--lz-size, 44px);
|
|
1026
|
+
height: var(--lz-size, 44px);
|
|
1027
|
+
}
|
|
1028
|
+
.lz-sonar .lz-core {
|
|
1029
|
+
position: absolute;
|
|
1030
|
+
left: 50%;
|
|
1031
|
+
top: 50%;
|
|
1032
|
+
width: 0.18em;
|
|
1033
|
+
height: 0.18em;
|
|
1034
|
+
margin: -0.09em 0 0 -0.09em;
|
|
1035
|
+
border-radius: 50%;
|
|
1036
|
+
background: var(--lz-color, #f5f5f7);
|
|
1037
|
+
box-shadow: 0 0 calc(0.2em) color-mix(in srgb, var(--lz-color, #f5f5f7) 50%, transparent);
|
|
1038
|
+
}
|
|
1039
|
+
.lz-sonar .lz-ring {
|
|
1040
|
+
position: absolute;
|
|
1041
|
+
inset: 0.14em;
|
|
1042
|
+
border-radius: 50%;
|
|
1043
|
+
border: 1px solid var(--lz-accent, #0a84ff);
|
|
1044
|
+
animation: lz-sonar-ring calc(3.6s * var(--lz-speed, 1)) cubic-bezier(0.2, 0.6, 0.35, 1) infinite;
|
|
1045
|
+
}
|
|
1046
|
+
.lz-sonar .lz-ring:nth-child(2) {
|
|
1047
|
+
animation-delay: -1.2s;
|
|
1048
|
+
}
|
|
1049
|
+
.lz-sonar .lz-ring:nth-child(3) {
|
|
1050
|
+
animation-delay: -2.4s;
|
|
1051
|
+
}
|
|
1052
|
+
.lz-sonar .lz-ring:nth-child(4) {
|
|
1053
|
+
animation-delay: -0.9s;
|
|
1054
|
+
}
|
|
1055
|
+
.lz-music-note {
|
|
1056
|
+
display: flex;
|
|
1057
|
+
align-items: baseline;
|
|
1058
|
+
gap: 0.45em;
|
|
1059
|
+
font-size: var(--lz-size, 32px);
|
|
1060
|
+
line-height: 1;
|
|
1061
|
+
}
|
|
1062
|
+
.lz-music-note .lz-note {
|
|
1063
|
+
display: inline-block;
|
|
1064
|
+
line-height: 1;
|
|
1065
|
+
color: var(--lz-color, #f5f5f7);
|
|
1066
|
+
animation: lz-note-bob calc(1.4s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
1067
|
+
}
|
|
1068
|
+
.lz-music-note .lz-note:nth-child(2) {
|
|
1069
|
+
animation-delay: -0.5s;
|
|
1070
|
+
}
|
|
1071
|
+
.lz-music-note .lz-note:nth-child(3) {
|
|
1072
|
+
animation-delay: -0.9s;
|
|
1073
|
+
}
|
|
1074
|
+
.lz-music-note .lz-note:nth-child(4) {
|
|
1075
|
+
animation-delay: -0.3s;
|
|
1076
|
+
}
|
|
1077
|
+
.lz-activity-rings {
|
|
1078
|
+
width: var(--lz-size, 44px);
|
|
1079
|
+
height: var(--lz-size, 44px);
|
|
1080
|
+
}
|
|
1081
|
+
.lz-activity-rings svg {
|
|
1082
|
+
width: 100%;
|
|
1083
|
+
height: 100%;
|
|
1084
|
+
display: block;
|
|
1085
|
+
}
|
|
1086
|
+
.lz-activity-rings .lz-g {
|
|
1087
|
+
animation: lz-spin calc(2.8s * var(--lz-speed, 1)) linear infinite;
|
|
1088
|
+
transform-origin: center;
|
|
1089
|
+
}
|
|
1090
|
+
.lz-activity-rings .lz-g.mid {
|
|
1091
|
+
animation-duration: calc(3.6s * var(--lz-speed, 1));
|
|
1092
|
+
animation-direction: reverse;
|
|
1093
|
+
}
|
|
1094
|
+
.lz-activity-rings .lz-g.inner {
|
|
1095
|
+
animation-duration: calc(2.1s * var(--lz-speed, 1));
|
|
1096
|
+
}
|
|
1097
|
+
.lz-activity-rings .lz-track {
|
|
1098
|
+
fill: none;
|
|
1099
|
+
stroke: var(--lz-track, rgba(255, 255, 255, 0.08));
|
|
1100
|
+
stroke-width: 5;
|
|
1101
|
+
}
|
|
1102
|
+
.lz-activity-rings .lz-ring {
|
|
1103
|
+
fill: none;
|
|
1104
|
+
stroke-linecap: round;
|
|
1105
|
+
stroke-width: 5;
|
|
1106
|
+
}
|
|
1107
|
+
.lz-activity-rings .lz-outer {
|
|
1108
|
+
stroke: var(--lz-accent, #fa114f);
|
|
1109
|
+
stroke-dasharray: 209 58;
|
|
1110
|
+
}
|
|
1111
|
+
.lz-activity-rings .lz-mid {
|
|
1112
|
+
stroke: var(--lz-color, #30d158);
|
|
1113
|
+
stroke-dasharray: 169 48;
|
|
1114
|
+
}
|
|
1115
|
+
.lz-activity-rings .lz-inner {
|
|
1116
|
+
stroke: var(--lz-color-weak, #32d7ff);
|
|
1117
|
+
stroke-dasharray: 128 39;
|
|
1118
|
+
}
|
package/docs/AI.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
## Package identity
|
|
6
6
|
|
|
7
7
|
- Package name: `loading-state-zoo`
|
|
8
|
-
- Version: `0.
|
|
9
|
-
-
|
|
8
|
+
- Version: `0.3.0`
|
|
9
|
+
- 32 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
11
|
|
|
12
12
|
## Entry points (exact import strings)
|
|
@@ -38,17 +38,25 @@
|
|
|
38
38
|
- Dots: dot diameter (default 8 → Helix/Grid 6).
|
|
39
39
|
- Spinners/shapes: the square bounding box (default 44 → Breathing 36).
|
|
40
40
|
- Bars/skeletons: use `width` + `height` instead (Indeterminate 160×6, Skeleton 120×28), Equalizer uses `size` = bar height (22).
|
|
41
|
-
7. **Progress ring
|
|
41
|
+
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
42
|
|
|
43
|
-
## Component registry (
|
|
43
|
+
## Component registry (32)
|
|
44
44
|
|
|
45
|
-
Dots: `lz-bouncing-dots`, `lz-typing-dots`, `lz-wave-dots`, `lz-helix-dots`, `lz-dot-grid-wave`
|
|
45
|
+
Dots: `lz-bouncing-dots`, `lz-typing-dots`, `lz-wave-dots`, `lz-helix-dots`, `lz-dot-grid-wave`, `lz-ellipsis`
|
|
46
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
48
|
Shapes: `lz-eyes`, `lz-morphing-square`, `lz-breathing-pulse`
|
|
48
|
-
Bars & rings: `lz-equalizer`, `lz-progress-ring`, `lz-indeterminate-progress-bar`
|
|
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-sonar`, `lz-music-note`
|
|
51
|
+
Skeletons: `lz-skeleton-shimmer`, `lz-skeleton-card`, `lz-skeleton-list`
|
|
50
52
|
|
|
51
|
-
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)`.
|
|
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. New families:
|
|
54
|
+
|
|
55
|
+
- **Orbs** use `accent` as their primary hue (default `#0a84ff`); `lz-dot-orb` and `lz-planet-orb` also accept `count`; `lz-planet-orb`/`lz-aura-orb` use `color` for moons/second orb.
|
|
56
|
+
- **Music** patterns: `lz-waveform` (`count`, `bar-width`, `gap`), `lz-vinyl` (`accent` = label/stylus, `color` = tonearm), `lz-sonar` (`count` rings, `accent` = ring, `color` = core), `lz-music-note` (`count` notes).
|
|
57
|
+
- **`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
|
+
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.
|
|
52
60
|
|
|
53
61
|
## Minimal valid usage
|
|
54
62
|
|