PluginProbe
WebberZone Top 10 — Popular Posts / 4.5.2
WebberZone Top 10 — Popular Posts v4.5.2
4.5.2 4.5.1 4.5.0 4.4.3 4.4.2 4.4.1 4.4.0 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 trunk 1.0 1.0.1 1.1 1.2 1.3 1.4 1.4.1 1.5 1.5.1 1.5.2 1.5.3 1.6 All 118 releases
top-10 / includes / admin / settings / css / admin-style-rtl.css

admin-style-rtl.css in WebberZone Top 10 — Popular Posts 4.5.2, at includes/admin/settings/css/admin-style-rtl.css

679 lines 13.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* General styles for the repeater wrapper */
2 .wz-repeater-wrapper {
3 position: relative;
4 margin-bottom: 1.5rem;
5 }
6
7 /* Repeater items container */
8 .wz-repeater-wrapper .wz-repeater-item {
9 display: flex;
10 flex-direction: column;
11 background: #f9f9f9;
12 border: 1px solid #ddd;
13 padding: 1rem;
14 margin-bottom: 1rem;
15 border-radius: 4px;
16 }
17
18 .wz-repeater-item .repeater-item-header {
19 display: flex;
20 justify-content: space-between;
21 align-items: center;
22 width: 100%;
23 margin: 0;
24 background: transparent;
25 color: inherit;
26 font: inherit;
27 text-align: start;
28 border-bottom: 1px solid #ddd;
29 border-top: 0;
30 border-left: 0;
31 border-right: 0;
32 padding-bottom: 0.5rem;
33 cursor: pointer;
34 font-weight: bold;
35 }
36
37 .wz-repeater-item .repeater-item-header:focus-visible {
38 outline: 2px solid #2271b1;
39 outline-offset: 2px;
40 }
41
42 /* Header for repeater field */
43 .wz-repeater-field-header {
44 margin-bottom: 0.5rem;
45 }
46
47 .wz-repeater-field-label {
48 font-weight: bold;
49 font-size: 0.9rem;
50 }
51
52 /* Input field styles */
53 .wz-repeater-field-input {
54 margin-bottom: 1rem;
55 }
56
57 /* Repeater item actions (buttons) */
58 .repeater-item-actions {
59 display: flex;
60 gap: 0.5rem;
61 justify-content: flex-start;
62 margin-top: 1rem;
63 }
64
65 .repeater-item-actions .button {
66 display: inline-flex;
67 align-items: center;
68 gap: 0.25rem;
69 }
70
71 .repeater-item-actions .dashicons {
72 font-size: 16px;
73 }
74
75 /* Move up/down button styles */
76 .repeater-item-actions .move-up,
77 .repeater-item-actions .move-down {
78 background: #f4f4f4;
79 color: #333;
80 border: 1px solid #ddd;
81 border-radius: 3px;
82 padding: 0.5rem;
83 }
84
85 .repeater-item-actions .move-up:hover,
86 .repeater-item-actions .move-down:hover {
87 background: #e0e0e0;
88 }
89
90 /* Remove button styles */
91 .repeater-item-actions .remove-item {
92 background: #fdd;
93 border-color: #fbb;
94 }
95
96 .repeater-item-actions .remove-item:hover {
97 background: #fbb;
98 }
99
100 /* Add item button styling */
101 .wz-repeater-wrapper .add-item {
102 background-color: #0073aa;
103 color: #fff;
104 padding: 0.5rem 1rem;
105 border: none;
106 border-radius: 4px;
107 cursor: pointer;
108 font-size: 1rem;
109 margin-top: 1rem;
110 }
111
112 .wz-repeater-wrapper .add-item:hover {
113 background-color: #005177;
114 color: #fff;
115 border-color: #004063;
116 }
117
118 /* Template styling for new items (hidden template) */
119 .repeater-template {
120 display: none;
121 }
122
123 /* Disabled / pro-gated repeater: the subfields and the repeater's own buttons each
124 carry a disabled attribute, which is what actually blocks interaction. These rules
125 only supply the matching visual affordance on the wrapper, which cannot be disabled. */
126 .wz-repeater-disabled .add-item,
127 .wz-repeater-disabled .repeater-item-actions .button {
128 pointer-events: none;
129 opacity: 0.5;
130 cursor: not-allowed;
131 }
132
133 .wz-repeater-disabled .add-item:hover {
134 background-color: #0073aa;
135 }
136
137 /* Responsiveness for smaller screens */
138 @media screen and (max-width: 768px) {
139 .wz-repeater-wrapper {
140 margin-bottom: 1rem;
141 }
142
143 .wz-repeater-item {
144 flex-direction: column;
145 }
146
147 .repeater-item-actions {
148 flex-direction: column;
149 align-items: flex-start;
150 }
151
152 .repeater-item-actions .button {
153 margin-bottom: 0.5rem;
154 }
155 }
156
157 /* Field input responsive tweaks */
158 @media screen and (max-width: 480px) {
159 .wz-repeater-field-label {
160 font-size: 0.85rem;
161 }
162
163 .wz-repeater-field-input {
164 font-size: 0.85rem;
165 }
166
167 .repeater-item-actions .button {
168 font-size: 0.85rem;
169 }
170
171 .add-item {
172 font-size: 1rem;
173 padding: 0.5rem;
174 }
175 }
176
177 /* Repeater Fields */
178 .wz-repeater-item {
179 background: #fff;
180 border: 1px solid #ccd0d4;
181 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
182 margin-bottom: 15px;
183 border-radius: 3px;
184 }
185
186 .repeater-item-content {
187 padding: 15px;
188 }
189
190 .wz-repeater-field {
191 margin-bottom: 15px;
192 }
193
194 .wz-repeater-field:last-child {
195 margin-bottom: 0;
196 }
197
198 .wz-repeater-field-header {
199 margin-bottom: 8px;
200 }
201
202 .wz-repeater-field-label {
203 display: block;
204 font-weight: 600;
205 margin-bottom: 4px;
206 }
207
208 .wz-repeater-field-description {
209 color: #666;
210 font-style: italic;
211 margin: 4px 0 0;
212 font-size: 13px;
213 }
214
215 .wz-repeater-field-input input[type="text"],
216 .wz-repeater-field-input input[type="url"],
217 .wz-repeater-field-input input[type="number"],
218 .wz-repeater-field-input input[type="password"],
219 .wz-repeater-field-input input[type="email"],
220 .wz-repeater-field-input textarea,
221 .wz-repeater-field-input select {
222 width: 100%;
223 max-width: 100%;
224 }
225
226 .repeater-item-footer {
227 background: #f5f5f5;
228 border-top: 1px solid #ddd;
229 padding: 10px 15px;
230 text-align: left;
231 }
232
233 .repeater-item-footer .remove-item {
234 color: #b32d2e;
235 }
236
237 .repeater-item-footer .remove-item:hover {
238 color: #dc3232;
239 }
240
241 .repeater-item-footer .dashicons {
242 margin-top: 4px;
243 }
244
245 /* Required field indicator */
246 .required {
247 color: #d63638;
248 font-weight: bold;
249 margin-right: 2px;
250 font-size: 1.3em;
251 }
252
253 /* Tom Select Customizations */
254 .ts-wrapper.loading .spinner {
255 display: inline-block;
256 visibility: visible;
257 float: none;
258 margin: 5px auto;
259 }
260
261 .ts-wrapper .no-results {
262 padding: 5px 10px;
263 color: #666;
264 font-style: italic;
265 }
266
267 .ts-wrapper.form-control {
268 border: 1px solid #8c8f94;
269 border-radius: 4px;
270 min-height: 30px;
271 }
272
273 .ts-wrapper.focus {
274 border-color: #2271b1;
275 box-shadow: 0 0 0 1px #2271b1;
276 outline: 2px solid transparent;
277 }
278
279 .ts-dropdown {
280 border: 1px solid #8c8f94;
281 border-radius: 4px;
282 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
283 }
284
285 .ts-dropdown .option {
286 padding: 6px 10px;
287 }
288
289 .ts-dropdown .active {
290 background-color: #2271b1;
291 color: #fff;
292 }
293
294 .ts-wrapper.single.plugin-clear_button {
295 position: relative;
296 }
297
298 .ts-wrapper.single .clear-button {
299 position: absolute;
300 top: 50%;
301 left: 8px;
302 transform: translateY(-50%);
303 font-size: 2em;
304 }
305 /* Toggle switch field type. */
306 .wz-toggle {
307 position: relative;
308 display: inline-block;
309 width: 40px;
310 height: 22px;
311 vertical-align: middle;
312 }
313
314 .wz-toggle input[type="checkbox"] {
315 position: absolute;
316 opacity: 0;
317 width: 100%;
318 height: 100%;
319 margin: 0;
320 cursor: pointer;
321 }
322
323 .wz-toggle .wz-toggle-slider {
324 position: absolute;
325 inset: 0;
326 background-color: #8c8f94;
327 border-radius: 11px;
328 transition: background-color 0.2s ease;
329 pointer-events: none;
330 }
331
332 .wz-toggle .wz-toggle-slider::before {
333 content: "";
334 position: absolute;
335 top: 2px;
336 right: 2px;
337 width: 18px;
338 height: 18px;
339 background-color: #fff;
340 border-radius: 50%;
341 transition: transform 0.2s ease;
342 }
343
344 .wz-toggle input[type="checkbox"]:checked + .wz-toggle-slider {
345 background-color: #2271b1;
346 }
347
348 .wz-toggle input[type="checkbox"]:checked + .wz-toggle-slider::before {
349 transform: translateX(-18px);
350 }
351
352 .wz-toggle input[type="checkbox"]:focus-visible + .wz-toggle-slider {
353 outline: 2px solid #2271b1;
354 outline-offset: 2px;
355 }
356
357 .wz-toggle input[type="checkbox"]:disabled {
358 cursor: not-allowed;
359 }
360
361 .wz-toggle input[type="checkbox"]:disabled + .wz-toggle-slider {
362 opacity: 0.5;
363 }
364
365 /*
366 * Settings page layout: content + sidebar, side by side.
367 *
368 * WP core lays out #post-body-content and #postbox-container-1 via floats, but a float can
369 * only avoid floats that precede it in source order — #post-body-content comes first, so it
370 * has nothing to avoid and renders at full width, overlapping the sidebar that floats beside
371 * it. Flexbox sidesteps the ordering problem entirely and (with align-items: flex-start) still
372 * lets the sidebar be shorter than the tab content, matching the old float layout's look.
373 */
374 #post-body.wz-settings-post-body {
375 display: flex;
376 align-items: flex-start;
377 gap: 24px;
378 }
379
380 #post-body.wz-settings-post-body > #postbox-container-1 {
381 flex: 0 0 280px;
382 width: 280px;
383 }
384
385 /* Vertical settings tabs. */
386 .wz-vertical-tabs {
387 display: flex;
388 align-items: flex-start;
389 flex: 1 1 auto;
390 min-width: 0;
391 gap: 24px;
392 }
393
394 .wz-vertical-tabs > ul.nav-tab-wrapper {
395 flex: 0 0 auto;
396 width: fit-content;
397 min-width: 160px;
398 max-width: 260px;
399 display: flex;
400 flex-direction: column;
401 gap: 2px;
402 align-self: flex-start;
403 margin: 0;
404 padding: 8px;
405 background: #fff;
406 border: 1px solid #c3c4c7;
407 border-radius: 4px;
408 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
409 position: sticky;
410 top: 46px;
411 }
412
413 .wz-vertical-tabs > ul.nav-tab-wrapper li {
414 margin: 0;
415 padding: 0;
416 border: 0;
417 background: transparent;
418 list-style: none;
419 }
420
421 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab {
422 display: block;
423 float: none;
424 margin: 0;
425 padding: 8px 12px;
426 border: none;
427 border-radius: 3px;
428 background: transparent;
429 color: #2c3338;
430 font-weight: 500;
431 transition:
432 background-color 0.15s ease,
433 color 0.15s ease;
434 }
435
436 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab:hover {
437 background-color: #f0f0f1;
438 color: #2271b1;
439 box-shadow: none;
440 }
441
442 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab:focus-visible {
443 outline: 2px solid #2271b1;
444 outline-offset: -2px;
445 box-shadow: none;
446 }
447
448 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab-active,
449 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab-active:hover,
450 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab-active:focus {
451 background-color: #2271b1;
452 color: #fff;
453 }
454
455 .wz-vertical-tabs > form {
456 flex: 1;
457 min-width: 0;
458 margin-top: 0;
459 }
460
461 /* Keep the CodeMirror CSS editor within its column on narrow screens. */
462 .wz-vertical-tabs .CodeMirror {
463 max-width: 100%;
464 }
465
466 /* Horizontal tabs on small screens (WP admin breakpoint); pills keep their style. */
467 @media screen and (max-width: 782px) {
468 #post-body.wz-settings-post-body {
469 display: block;
470 }
471
472 .wz-vertical-tabs {
473 display: block;
474 }
475
476 .wz-vertical-tabs > ul.nav-tab-wrapper {
477 flex-direction: row;
478 flex-wrap: wrap;
479 width: auto;
480 max-width: none;
481 position: static;
482 margin-bottom: 16px;
483 }
484
485 .wz-vertical-tabs > ul.nav-tab-wrapper .wz-settings-search-wrap {
486 flex: 1 1 100%;
487 }
488 }
489
490 /* Settings search. */
491 .wz-vertical-tabs > ul.nav-tab-wrapper .wz-settings-search-wrap {
492 margin: 0 0 8px;
493 padding: 0;
494 }
495
496 .wz-settings-search-box {
497 position: relative;
498 display: block;
499 }
500
501 .wz-settings-search {
502 width: 100%;
503 margin: 0;
504 padding: 4px 8px 4px 28px;
505 border: 1px solid #8c8f94;
506 border-radius: 3px;
507 font-size: 13px;
508 line-height: 1.6;
509 }
510
511 .wz-settings-search:focus {
512 border-color: #2271b1;
513 box-shadow: 0 0 0 1px #2271b1;
514 outline: none;
515 }
516
517 /* Hide the native WebKit clear control; the plugin renders its own clear button. */
518 .wz-settings-search::-webkit-search-cancel-button {
519 -webkit-appearance: none;
520 appearance: none;
521 }
522
523 .wz-settings-search-clear {
524 position: absolute;
525 top: 50%;
526 left: 4px;
527 transform: translateY(-50%);
528 margin: 0;
529 padding: 0 6px;
530 border: 0;
531 border-radius: 2px;
532 background: transparent;
533 color: #646970;
534 cursor: pointer;
535 font-size: 18px;
536 line-height: 1.2;
537 }
538
539 .wz-settings-search-clear:hover {
540 color: #d63638;
541 }
542
543 .wz-settings-search-clear:focus-visible {
544 outline: 2px solid #2271b1;
545 outline-offset: 1px;
546 }
547
548 .wz-settings-search-clear[hidden] {
549 display: none;
550 }
551
552 /* Rows filtered out by the search. */
553 .wz-search-hidden {
554 display: none !important;
555 }
556
557 /* While searching, show every tab panel that has matches and hide the rest. */
558 .wz-vertical-tabs.wz-searching > form > div {
559 display: none !important;
560 }
561
562 .wz-vertical-tabs.wz-searching > form > div.wz-has-matches {
563 display: block !important;
564 margin-bottom: 24px;
565 }
566
567 /* Hide the per-tab button rows and legends while searching; a single save bar is shown instead. */
568 .wz-vertical-tabs.wz-searching > form > div.wz-has-matches > p {
569 display: none;
570 }
571
572 .wz-vertical-tabs.wz-searching > form > div.wz-has-matches > table.form-table {
573 margin-top: 0;
574 }
575
576 /* Per-tab section title: hidden normally, shown while searching to identify each group of results. */
577 .wz-section-title {
578 display: none;
579 }
580
581 .wz-vertical-tabs.wz-searching .wz-section-title {
582 display: block;
583 margin: 0;
584 padding: 6px 10px;
585 background: #f0f0f1;
586 border-right: 4px solid #2271b1;
587 color: #50575e;
588 font-size: 13px;
589 font-weight: 600;
590 text-transform: uppercase;
591 letter-spacing: 0.5px;
592 }
593
594 /* Single sticky save bar shown while search results are displayed. */
595 .wz-search-actions {
596 position: sticky;
597 bottom: 0;
598 margin: 0;
599 padding: 12px 0;
600 background: linear-gradient(to bottom, rgba(240, 240, 241, 0), #f0f0f1 40%);
601 }
602
603 /* Match-count badge on the navigation tabs. */
604 .wz-tab-count {
605 display: inline-block;
606 margin-right: 6px;
607 padding: 0 6px;
608 border-radius: 9px;
609 background-color: #2271b1;
610 color: #fff;
611 font-size: 11px;
612 line-height: 18px;
613 vertical-align: middle;
614 }
615
616 .wz-vertical-tabs > ul.nav-tab-wrapper .nav-tab-active .wz-tab-count {
617 background-color: #fff;
618 color: #2271b1;
619 }
620
621 .wz-vertical-tabs > ul.nav-tab-wrapper .wz-tab-no-matches {
622 opacity: 0.45;
623 }
624
625 /* Highlighted search term in row labels. */
626 mark.wz-search-mark {
627 padding: 0;
628 background-color: #fff3ad;
629 color: inherit;
630 }
631
632 /* No results message. */
633 .wz-search-no-results {
634 margin: 16px 0;
635 padding: 12px;
636 background: #fff;
637 border-right: 4px solid #dba617;
638 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
639 }
640
641 /* Modified-from-default indicator. */
642 .wz-modified-dot {
643 display: inline-block;
644 width: 8px;
645 height: 8px;
646 margin: 0 2px 0 6px;
647 border-radius: 50%;
648 background-color: #dba617;
649 vertical-align: middle;
650 }
651
652 .wz-modified-legend {
653 margin-top: 4px;
654 color: #646970;
655 font-size: 12px;
656 }
657
658 .wz-modified-legend .wz-modified-dot {
659 margin-right: 0;
660 }
661
662 /* Hide the legend on tabs where nothing is modified. */
663 form > div:not(:has(.form-table .wz-modified-dot)) .wz-modified-legend {
664 display: none;
665 }
666
667 /* Default value note below field descriptions. */
668 .wz-default-value {
669 color: #646970;
670 font-size: 12px;
671 }
672
673 .wz-default-value code {
674 font-size: 11px;
675 padding: 1px 5px;
676 overflow-wrap: anywhere;
677 word-break: break-word;
678 }
679