grav-svelte 0.1.232 → 0.1.233

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.
@@ -515,32 +515,105 @@
515
515
  margin: 0 auto;
516
516
  width: 100%;
517
517
  padding: 1rem;
518
+ animation: grav-loading-fade-in 0.4s cubic-bezier(0.22, 1, 0.36, 1);
518
519
  }
519
520
 
520
521
  .loading-animation {
521
522
  display: flex;
522
523
  flex-direction: column;
523
524
  width: 100%;
524
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
525
+ gap: 0.6rem;
525
526
  }
526
527
 
527
528
  .loading-line {
528
- height: 1rem;
529
- border-radius: 0.25rem;
530
- background-color: var(--grav-crud-color-border);
531
- margin-bottom: 0.5rem;
529
+ height: 1.1rem;
530
+ border-radius: 0.5rem;
532
531
  width: 100%;
533
- margin: 0 0 0.5rem 0;
534
532
  flex: none;
533
+ margin: 0;
534
+ position: relative;
535
+ overflow: hidden;
536
+ background: linear-gradient(
537
+ 90deg,
538
+ rgba(0, 0, 0, 0.06) 0%,
539
+ rgba(0, 0, 0, 0.12) 50%,
540
+ rgba(0, 0, 0, 0.06) 100%
541
+ );
542
+ background-size: 200% 100%;
543
+ animation:
544
+ grav-shimmer 1.6s linear infinite,
545
+ grav-skeleton-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) backwards;
535
546
  }
536
547
 
537
- @keyframes pulse {
538
- 0%,
539
- 100% {
548
+ .loading-line::after {
549
+ content: "";
550
+ position: absolute;
551
+ inset: 0;
552
+ background: linear-gradient(
553
+ 90deg,
554
+ transparent 0%,
555
+ rgba(255, 255, 255, 0.6) 50%,
556
+ transparent 100%
557
+ );
558
+ transform: translateX(-100%);
559
+ animation: grav-shimmer-sweep 1.6s ease-in-out infinite;
560
+ }
561
+
562
+ .loading-line:nth-child(1) { width: 92%; animation-delay: 0s, 0.00s, 0s; }
563
+ .loading-line:nth-child(2) { width: 96%; animation-delay: 0s, 0.04s, 0.05s; }
564
+ .loading-line:nth-child(3) { width: 88%; animation-delay: 0s, 0.08s, 0.10s; }
565
+ .loading-line:nth-child(4) { width: 94%; animation-delay: 0s, 0.12s, 0.15s; }
566
+ .loading-line:nth-child(5) { width: 90%; animation-delay: 0s, 0.16s, 0.20s; }
567
+ .loading-line:nth-child(6) { width: 95%; animation-delay: 0s, 0.20s, 0.25s; }
568
+ .loading-line:nth-child(7) { width: 87%; animation-delay: 0s, 0.24s, 0.30s; }
569
+ .loading-line:nth-child(8) { width: 93%; animation-delay: 0s, 0.28s, 0.35s; }
570
+ .loading-line:nth-child(9) { width: 91%; animation-delay: 0s, 0.32s, 0.40s; }
571
+ .loading-line:nth-child(10) { width: 96%; animation-delay: 0s, 0.36s, 0.45s; }
572
+ .loading-line:nth-child(11) { width: 89%; animation-delay: 0s, 0.40s, 0.50s; }
573
+ .loading-line:nth-child(12) { width: 94%; animation-delay: 0s, 0.44s, 0.55s; }
574
+ .loading-line:nth-child(13) { width: 90%; animation-delay: 0s, 0.48s, 0.60s; }
575
+ .loading-line:nth-child(14) { width: 92%; animation-delay: 0s, 0.52s, 0.65s; }
576
+ .loading-line:nth-child(15) { width: 88%; animation-delay: 0s, 0.56s, 0.70s; }
577
+
578
+ @keyframes grav-shimmer {
579
+ 0% { background-position: 200% 0; }
580
+ 100% { background-position: -200% 0; }
581
+ }
582
+
583
+ @keyframes grav-shimmer-sweep {
584
+ 0% { transform: translateX(-100%); }
585
+ 60%, 100% { transform: translateX(100%); }
586
+ }
587
+
588
+ @keyframes grav-skeleton-in {
589
+ from {
590
+ opacity: 0;
591
+ transform: translateY(8px) scaleX(0.96);
592
+ }
593
+ to {
540
594
  opacity: 1;
595
+ transform: translateY(0) scaleX(1);
596
+ }
597
+ }
598
+
599
+ @keyframes grav-loading-fade-in {
600
+ from { opacity: 0; }
601
+ to { opacity: 1; }
602
+ }
603
+
604
+ @keyframes pulse {
605
+ 0%, 100% { opacity: 1; }
606
+ 50% { opacity: 0.5; }
607
+ }
608
+
609
+ @media (prefers-reduced-motion: reduce) {
610
+ .loading-line,
611
+ .loading-line::after {
612
+ animation: none;
541
613
  }
542
- 50% {
543
- opacity: 0.5;
614
+ .loading-line {
615
+ background: var(--grav-crud-color-border);
616
+ opacity: 0.7;
544
617
  }
545
618
  }
546
619
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grav-svelte",
3
- "version": "0.1.232",
3
+ "version": "0.1.233",
4
4
  "description": "A collection of Svelte components",
5
5
  "license": "MIT",
6
6
  "scripts": {