loading-state-zoo 0.1.2 → 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 +347 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -3
- package/dist/index.d.ts +48 -3
- package/dist/index.js +345 -28
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +347 -30
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +181 -1
- package/dist/react.d.ts +181 -1
- package/dist/react.js +347 -30
- package/dist/react.js.map +1 -1
- package/dist/theme.css +593 -0
- package/docs/AI.md +16 -8
- package/docs/components.json +414 -1
- package/package.json +2 -2
package/dist/theme.css
CHANGED
|
@@ -137,6 +137,110 @@
|
|
|
137
137
|
opacity: var(--lz-grid-fade, 0.15);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
+
@keyframes lz-ellipsis-dot {
|
|
141
|
+
0%, 20% {
|
|
142
|
+
opacity: var(--lz-ellipsis-fade, 0.15);
|
|
143
|
+
transform: scale(var(--lz-ellipsis-min, 0.8));
|
|
144
|
+
}
|
|
145
|
+
40%, 80% {
|
|
146
|
+
opacity: 1;
|
|
147
|
+
transform: scale(1);
|
|
148
|
+
}
|
|
149
|
+
100% {
|
|
150
|
+
opacity: var(--lz-ellipsis-fade, 0.15);
|
|
151
|
+
transform: scale(var(--lz-ellipsis-min, 0.8));
|
|
152
|
+
}
|
|
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
|
+
}
|
|
140
244
|
.lz-bouncing-dots {
|
|
141
245
|
display: flex;
|
|
142
246
|
gap: 0.7em;
|
|
@@ -523,3 +627,492 @@
|
|
|
523
627
|
transparent);
|
|
524
628
|
animation: lz-skeleton-sheen calc(1.4s * var(--lz-speed, 1)) linear infinite;
|
|
525
629
|
}
|
|
630
|
+
.lz-ellipsis {
|
|
631
|
+
display: flex;
|
|
632
|
+
gap: 0.2em;
|
|
633
|
+
align-items: center;
|
|
634
|
+
font-size: var(--lz-size, 8px);
|
|
635
|
+
line-height: 1;
|
|
636
|
+
}
|
|
637
|
+
.lz-ellipsis .lz-dot {
|
|
638
|
+
width: 1em;
|
|
639
|
+
height: 1em;
|
|
640
|
+
border-radius: 50%;
|
|
641
|
+
background: var(--lz-color, #f5f5f7);
|
|
642
|
+
animation: lz-ellipsis-dot calc(1.4s * var(--lz-speed, 1)) ease-in-out infinite;
|
|
643
|
+
}
|
|
644
|
+
.lz-ellipsis .lz-dot:nth-child(2) {
|
|
645
|
+
animation-delay: -0.45s;
|
|
646
|
+
}
|
|
647
|
+
.lz-ellipsis .lz-dot:nth-child(3) {
|
|
648
|
+
animation-delay: -0.9s;
|
|
649
|
+
}
|
|
650
|
+
.lz-progress-bar {
|
|
651
|
+
position: relative;
|
|
652
|
+
overflow: hidden;
|
|
653
|
+
width: var(--lz-width, 160px);
|
|
654
|
+
height: var(--lz-height, 6px);
|
|
655
|
+
border-radius: calc(var(--lz-height, 6px) / 2);
|
|
656
|
+
background: var(--lz-track, rgba(255, 255, 255, 0.15));
|
|
657
|
+
}
|
|
658
|
+
.lz-progress-bar .lz-fill {
|
|
659
|
+
position: absolute;
|
|
660
|
+
top: 0;
|
|
661
|
+
bottom: 0;
|
|
662
|
+
left: 0;
|
|
663
|
+
width: 100%;
|
|
664
|
+
transform-origin: left;
|
|
665
|
+
border-radius: inherit;
|
|
666
|
+
background: var(--lz-color, #f5f5f7);
|
|
667
|
+
transform: scaleX(calc(var(--lz-percent, 0) / 100));
|
|
668
|
+
}
|
|
669
|
+
.lz-skeleton-card {
|
|
670
|
+
position: relative;
|
|
671
|
+
overflow: hidden;
|
|
672
|
+
width: var(--lz-width, 200px);
|
|
673
|
+
height: var(--lz-height, 64px);
|
|
674
|
+
border-radius: var(--lz-radius, 10px);
|
|
675
|
+
background: var(--lz-surface, #1c1c1e);
|
|
676
|
+
}
|
|
677
|
+
.lz-skeleton-card .lz-card-row {
|
|
678
|
+
display: flex;
|
|
679
|
+
gap: 10px;
|
|
680
|
+
padding: 12px;
|
|
681
|
+
}
|
|
682
|
+
.lz-skeleton-card .lz-avatar {
|
|
683
|
+
width: 40px;
|
|
684
|
+
height: 40px;
|
|
685
|
+
border-radius: 50%;
|
|
686
|
+
background: rgba(255, 255, 255, 0.08);
|
|
687
|
+
flex-shrink: 0;
|
|
688
|
+
}
|
|
689
|
+
.lz-skeleton-card .lz-lines {
|
|
690
|
+
display: flex;
|
|
691
|
+
flex-direction: column;
|
|
692
|
+
gap: 6px;
|
|
693
|
+
flex: 1;
|
|
694
|
+
min-width: 0;
|
|
695
|
+
}
|
|
696
|
+
.lz-skeleton-card .lz-line {
|
|
697
|
+
height: 8px;
|
|
698
|
+
border-radius: 4px;
|
|
699
|
+
background: rgba(255, 255, 255, 0.08);
|
|
700
|
+
}
|
|
701
|
+
.lz-skeleton-card .lz-line-short {
|
|
702
|
+
width: 60%;
|
|
703
|
+
}
|
|
704
|
+
.lz-skeleton-card .lz-sheen {
|
|
705
|
+
position: absolute;
|
|
706
|
+
top: 0;
|
|
707
|
+
bottom: 0;
|
|
708
|
+
left: 0;
|
|
709
|
+
width: 50%;
|
|
710
|
+
background:
|
|
711
|
+
linear-gradient(
|
|
712
|
+
to right,
|
|
713
|
+
transparent,
|
|
714
|
+
rgba(255, 255, 255, 0.06),
|
|
715
|
+
transparent);
|
|
716
|
+
animation: lz-skeleton-sheen calc(1.4s * var(--lz-speed, 1)) linear infinite;
|
|
717
|
+
}
|
|
718
|
+
.lz-skeleton-list {
|
|
719
|
+
position: relative;
|
|
720
|
+
overflow: hidden;
|
|
721
|
+
width: var(--lz-width, 180px);
|
|
722
|
+
border-radius: var(--lz-radius, 10px);
|
|
723
|
+
background: var(--lz-surface, #1c1c1e);
|
|
724
|
+
}
|
|
725
|
+
.lz-skeleton-list .lz-list-row {
|
|
726
|
+
display: flex;
|
|
727
|
+
align-items: center;
|
|
728
|
+
gap: 8px;
|
|
729
|
+
padding: 8px 12px;
|
|
730
|
+
}
|
|
731
|
+
.lz-skeleton-list .lz-list-avatar {
|
|
732
|
+
width: 28px;
|
|
733
|
+
height: 28px;
|
|
734
|
+
border-radius: 50%;
|
|
735
|
+
background: rgba(255, 255, 255, 0.08);
|
|
736
|
+
flex-shrink: 0;
|
|
737
|
+
}
|
|
738
|
+
.lz-skeleton-list .lz-list-line {
|
|
739
|
+
height: 8px;
|
|
740
|
+
border-radius: 4px;
|
|
741
|
+
background: rgba(255, 255, 255, 0.08);
|
|
742
|
+
flex: 1;
|
|
743
|
+
}
|
|
744
|
+
.lz-skeleton-list .lz-sheen {
|
|
745
|
+
position: absolute;
|
|
746
|
+
top: 0;
|
|
747
|
+
bottom: 0;
|
|
748
|
+
left: 0;
|
|
749
|
+
width: 50%;
|
|
750
|
+
background:
|
|
751
|
+
linear-gradient(
|
|
752
|
+
to right,
|
|
753
|
+
transparent,
|
|
754
|
+
rgba(255, 255, 255, 0.06),
|
|
755
|
+
transparent);
|
|
756
|
+
animation: lz-skeleton-sheen calc(1.4s * var(--lz-speed, 1)) linear infinite;
|
|
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
|
|