PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / trunk
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO vtrunk
2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 1.27.0 1.26.0 1.25.0 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.10.0 1.11.0 All 47 releases
thinkrank / static / css / admin-columns.css

admin-columns.css in ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO trunk, at static/css/admin-columns.css

331 lines 6.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * ThinkRank Post List Column Styles
3 *
4 * Styles for the SEO Overview column in WordPress post list (edit.php).
5 * This file lives in static/ to survive webpack builds.
6 *
7 * @package ThinkRank
8 * @since 1.0.0
9 */
10
11 .column-thinkrank_seo_overview {
12 width: 220px;
13 box-sizing: border-box;
14 }
15
16 /*
17 * Row-layout safety net.
18 *
19 * WordPress list tables use auto table layout: a column with an explicit width
20 * (ours) reserves its space first, and any shortfall is taken out of the
21 * flexible, no-width primary Title column. When several plugins each add a
22 * column (e.g. BetterLinks "Auto Share" + two chart columns alongside this SEO
23 * Overview column), the Title column can be squeezed below its minimum, and
24 * because core applies `word-wrap: break-word` to cells the title then wraps
25 * one character per line (a vertical sliver of text).
26 *
27 * Give the primary column a floor so it can never collapse that far, and let
28 * our own column shrink toward a sensible minimum before the row overflows.
29 * This file is only enqueued on edit.php (post-list) screens, so these rules
30 * stay scoped there. Guarded to the desktop table view — below 783px WordPress
31 * switches to its stacked single-column layout.
32 */
33 @media screen and (min-width: 783px) {
34
35 .wp-list-table .column-title,
36 .wp-list-table .column-name {
37 min-width: 160px;
38 }
39
40 .column-thinkrank_seo_overview {
41 min-width: 180px;
42 }
43 }
44
45 .thinkrank-seo-overview {
46 font-size: 13px;
47 line-height: 1.4;
48 display: flex;
49 flex-direction: column;
50 gap: 6px;
51 }
52
53 .thinkrank-seo-row {
54 display: flex;
55 align-items: center;
56 flex-wrap: wrap;
57 }
58
59 .thinkrank-seo-separator {
60 margin: 0 6px;
61 color: #c3c4c7;
62 font-size: 10px;
63 }
64
65 /* Top Row: Badges */
66 .thinkrank-seo-badge {
67 border-radius: 12px;
68 padding: 2px 8px;
69 font-weight: 600;
70 font-size: 12px;
71 display: inline-flex;
72 align-items: center;
73 white-space: nowrap;
74 position: relative;
75 }
76
77 .thinkrank-seo-badge::after,
78 .thinkrank-seo-metric::after {
79 content: attr(title);
80 position: absolute;
81 bottom: calc(100% + 11px);
82 left: 50%;
83 transform: translateX(-50%);
84 background: #00043d;
85 border-radius: 8px;
86 padding: 4px 8px;
87 color: #fff;
88 font-weight: 400;
89 box-shadow: 0 1px 2px rgba(17, 17, 17, 0.1);
90 visibility: hidden;
91 white-space: nowrap;
92 z-index: 20;
93 }
94
95 .thinkrank-seo-badge::before,
96 .thinkrank-seo-metric::before {
97 content: "";
98 position: absolute;
99 bottom: calc(100% + 7px);
100 left: calc(50% - 5px);
101 transform: rotate(45deg);
102 background: #00043d;
103 width: 10px;
104 height: 10px;
105 border-radius: 2px;
106 box-shadow: 0 1px 2px rgba(17, 17, 17, 0.1);
107 visibility: hidden;
108 z-index: 19;
109 }
110
111 .thinkrank-seo-badge:hover::before,
112 .thinkrank-seo-badge:hover::after {
113 visibility: visible;
114 }
115
116 /* Apply Z-Index for metric too */
117 .thinkrank-seo-metric:hover::before,
118 .thinkrank-seo-metric:hover::after {
119 visibility: visible;
120 }
121
122 .thinkrank-score-great {
123 background-color: #d1fae5;
124 color: #065f46;
125 }
126
127 .thinkrank-score-good {
128 background-color: #dbeafe;
129 color: #1e40af;
130 }
131
132 .thinkrank-score-medium {
133 background-color: #fef3c7;
134 color: #92400e;
135 }
136
137 .thinkrank-score-poor {
138 background-color: #fee2e2;
139 color: #b91c1c;
140 }
141
142 .thinkrank-status-good {
143 background-color: #e5fff6;
144 color: #117953;
145 }
146
147 .thinkrank-status-ok {
148 background-color: #ebf0ff;
149 color: #1b42c2;
150 }
151
152 .thinkrank-status-not-analyzed,
153 .thinkrank-seo-badge.thinkrank-not-set {
154 background-color: #e5ebf0;
155 color: #58677d;
156 border-radius: 12px;
157 padding: 2px 8px;
158 }
159
160 .thinkrank-status-needs-improvement {
161 background-color: #fff7eb;
162 color: #865a13;
163 }
164
165 .thinkrank-status-no-content {
166 background-color: #ffebee;
167 color: #ec113a;
168 }
169
170 .thinkrank-pillar-icon {
171 background-color: #f0f0f1;
172 color: #2271b1;
173 padding: 4px;
174 line-height: 20px;
175 }
176
177 /* Middle Row: Focus Keyword */
178 .thinkrank-focus-keyword-item {
179 width: 100%;
180 position: relative;
181 display: flex;
182 align-items: center;
183 background-color: #eceeee;
184 border-radius: 4px;
185 border: 1px solid #e4e6ec;
186 padding: 0 8px;
187 min-height: 24px;
188 }
189
190 .thinkrank-focus-keyword-display {
191 cursor: pointer;
192 flex-grow: 1;
193 white-space: nowrap;
194 overflow: hidden;
195 text-overflow: ellipsis;
196 color: #1d2327;
197 font-weight: 500;
198 }
199
200 .thinkrank-focus-keyword-display.thinkrank-not-set {
201 color: #646970;
202 font-style: italic;
203 }
204
205 .thinkrank-edit-icon {
206 font-size: 16px;
207 width: 16px;
208 height: 16px;
209 pointer-events: none;
210 position: absolute;
211 right: 8px;
212
213 path {
214 stroke: #a5aaac;
215 }
216 }
217
218 .thinkrank-focus-keyword-item .thinkrank-success-icon {
219 position: absolute;
220 right: 8px;
221 visibility: hidden;
222 }
223
224 .thinkrank-focus-keyword-item:hover .thinkrank-edit-icon path {
225 stroke: #4451ff;
226 }
227
228 .thinkrank-focus-keyword-input[type="text"] {
229 width: 100%;
230 padding: 0 8px;
231 border: none;
232 border-radius: 4px;
233 font-size: 13px;
234 margin: 0;
235 min-height: 24px;
236 line-height: normal;
237 }
238
239 .thinkrank-focus-keyword-item.is-editing {
240 padding: 0;
241 background: transparent;
242 border-color: #5c91fe;
243 }
244
245 .thinkrank-focus-keyword-item.is-editing .thinkrank-focus-keyword-display,
246 .thinkrank-focus-keyword-item.is-editing .thinkrank-edit-icon {
247 display: none;
248 }
249
250 .thinkrank-focus-keyword-item.is-editing .thinkrank-success-icon {
251 visibility: visible;
252 }
253
254 .thinkrank-focus-keyword-item.is-editing.is-saving .thinkrank-success-icon {
255 visibility: hidden;
256 }
257
258 /* Bottom Row: Metrics */
259 .thinkrank-seo-metric {
260 display: flex;
261 align-items: center;
262 gap: 4px;
263 color: #646970;
264 font-size: 12px;
265 line-height: 20px;
266 position: relative;
267 }
268
269
270 .thinkrank-metric-value {
271 white-space: nowrap;
272 color: #505272;
273 }
274
275 /* Animations */
276 .thinkrank-focus-keyword-display.thinkrank-feedback-success {
277 animation: thinkrank-success-flash 0.5s ease-in-out;
278 }
279
280 .thinkrank-focus-keyword-display.thinkrank-feedback-error {
281 animation: thinkrank-error-flash 0.5s ease-in-out;
282 }
283
284 @keyframes thinkrank-success-flash {
285
286 0%,
287 100% {
288 background-color: transparent;
289 }
290
291 50% {
292 background-color: #d1fae5;
293 }
294 }
295
296 @keyframes thinkrank-error-flash {
297
298 0%,
299 100% {
300 background-color: transparent;
301 }
302
303 50% {
304 background-color: #fee2e2;
305 }
306 }
307
308 .thinkrank-inline-error {
309 position: absolute;
310 top: 100%;
311 left: 0;
312 z-index: 10;
313 color: #fff;
314 font-size: 11px;
315 margin-top: 4px;
316 padding: 4px 8px;
317 background-color: #d63638;
318 border-radius: 4px;
319 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
320 }
321
322 .thinkrank-inline-error::after {
323 content: "";
324 position: absolute;
325 bottom: 100%;
326 left: 10px;
327 border-width: 5px;
328 border-style: solid;
329 border-color: transparent transparent #d63638 transparent;
330 }
331