PluginProbe
404 Solution / 4.3.0
404 Solution v4.3.0
4.3.5 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.2.0 4.1.19 4.1.18 4.1.17 4.1.16 4.1.15 4.1.13 4.1.12 4.1.11 4.1.10 4.1.9 4.1.8 4.1.7 4.1.6 4.1.5 4.1.4 4.1.3 trunk 2.30.0 All 109 releases
404-solution / includes / css / suggestions-loading.css

suggestions-loading.css in 404 Solution 4.3.0, at includes/css/suggestions-loading.css

85 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Loading skeleton animation for async 404 suggestions.
3 * Displays placeholder animation while suggestions are being computed.
4 *
5 * This stylesheet is enqueued by the [abj404] shortcode on the user-facing
6 * (front-end) site. The plugin's admin theme variables (--abj404-*) defined
7 * in adminThemes.css are admin-only and are NOT available here, so the
8 * skeleton/text colors below must remain literal. The values are designed to
9 * read neutrally on any host theme (light + dark via prefers-color-scheme).
10 */
11
12 /* Container for loading state */
13 .abj404-loading {
14 list-style: none;
15 padding: 0;
16 margin: 0;
17 }
18
19 /* Individual skeleton item */
20 .abj404-skeleton {
21 /* allow-hardcoded-color: frontend shortcode CSS; admin theme vars are not loaded on the user site, and skeleton shimmer must read on any host theme. */
22 background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
23 background-size: 200% 100%;
24 animation: abj404-shimmer 1.5s infinite;
25 height: 20px;
26 margin: 10px 0;
27 border-radius: 4px;
28 list-style: none;
29 }
30
31 /* Vary widths for more natural look */
32 .abj404-skeleton:nth-child(1) { width: 85%; }
33 .abj404-skeleton:nth-child(2) { width: 70%; }
34 .abj404-skeleton:nth-child(3) { width: 90%; }
35 .abj404-skeleton:nth-child(4) { width: 75%; }
36 .abj404-skeleton:nth-child(5) { width: 80%; }
37 .abj404-skeleton:nth-child(n+6) { width: 78%; }
38
39 /* Shimmer animation */
40 @keyframes abj404-shimmer {
41 0% {
42 background-position: -200% 0;
43 }
44 100% {
45 background-position: 200% 0;
46 }
47 }
48
49 /* Loading text message */
50 .abj404-loading-text {
51 /* allow-hardcoded-color: frontend shortcode CSS, theme vars unavailable; mid-gray reads on light host themes. */
52 color: #666;
53 font-style: italic;
54 margin: 5px 0 10px;
55 font-size: 0.95em;
56 }
57
58 /* No suggestions fallback message */
59 .abj404-no-suggestions {
60 /* allow-hardcoded-color: frontend shortcode CSS, theme vars unavailable; mid-gray reads on light host themes. */
61 color: #666;
62 font-style: italic;
63 list-style: none;
64 padding: 10px 0;
65 }
66
67 /* Dark mode support */
68 @media (prefers-color-scheme: dark) {
69 .abj404-skeleton {
70 /* allow-hardcoded-color: frontend shortcode CSS, theme vars unavailable; dark-mode shimmer tuned for dark host themes. */
71 background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);
72 background-size: 200% 100%;
73 }
74
75 .abj404-loading-text {
76 /* allow-hardcoded-color: frontend shortcode CSS, theme vars unavailable; light gray reads on dark host themes. */
77 color: #aaa;
78 }
79
80 .abj404-no-suggestions {
81 /* allow-hardcoded-color: frontend shortcode CSS, theme vars unavailable; light gray reads on dark host themes. */
82 color: #aaa;
83 }
84 }
85