PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / blocks / star-rating / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/star-rating/style.css

187 lines 8.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Star Rating Block
3 Prefix: bkbg-sr-
4 ======================================== */
5
6 /* ── CSS Custom Properties ────────────────────────────────────────────────── */
7 .bkbg-sr-wrap {
8 --bkbg-sr-star-size: 28px;
9 --bkbg-sr-star-gap: 3px;
10 --bkbg-sr-label-size: 14px;
11 --bkbg-sr-label-weight: 400;
12 --bkbg-sr-label-color: #6b7280;
13 --bkbg-sr-label-lh: 1.5;
14 --bkbg-sr-label-spacing: 8px;
15 --bkbg-sr-num-size: 13px;
16 --bkbg-sr-num-weight: 600;
17 --bkbg-sr-num-color: #1e293b;
18 --bkbg-sr-num-spacing: 6px;
19
20 display: flex;
21 flex-direction: column;
22 align-items: flex-start;
23 gap: 0;
24 }
25
26 /* ── Alignment ────────────────────────────────────────────────────────────── */
27 .bkbg-sr-wrap[data-text-align="center"] {
28 align-items: center;
29 }
30
31 .bkbg-sr-wrap[data-text-align="right"] {
32 align-items: flex-end;
33 }
34
35 /* ── Label position: above (reverse order) ────────────────────────────────── */
36 .bkbg-sr-wrap[data-label-pos="above"] {
37 flex-direction: column-reverse;
38 }
39
40 /* ── Label position: right / left of stars ───────────────────────────────── */
41 .bkbg-sr-wrap[data-label-pos="right"],
42 .bkbg-sr-wrap[data-label-pos="left"] {
43 flex-direction: row;
44 align-items: center;
45 flex-wrap: wrap;
46 gap: 10px;
47 /* default justify = flex-start (left alignment) */
48 justify-content: flex-start;
49 }
50
51 /* Left: push label before stars via order */
52 .bkbg-sr-wrap[data-label-pos="left"] .bkbg-sr-label {
53 order: -1;
54 }
55
56 /* Alignment → justify-content for row modes */
57 .bkbg-sr-wrap[data-label-pos="right"][data-text-align="center"],
58 .bkbg-sr-wrap[data-label-pos="left"][data-text-align="center"] {
59 justify-content: center;
60 }
61
62 .bkbg-sr-wrap[data-label-pos="right"][data-text-align="right"],
63 .bkbg-sr-wrap[data-label-pos="left"][data-text-align="right"] {
64 justify-content: flex-end;
65 }
66
67 /* ── Stars row ────────────────────────────────────────────────────────────── */
68 .bkbg-sr-stars {
69 display: flex;
70 flex-direction: row;
71 align-items: center;
72 flex-wrap: nowrap;
73 gap: var(--bkbg-sr-star-gap);
74 }
75
76 /* ── Individual star ──────────────────────────────────────────────────────── */
77 .bkbg-sr-star {
78 display: inline-flex;
79 align-items: center;
80 justify-content: center;
81 width: var(--bkbg-sr-star-size);
82 height: var(--bkbg-sr-star-size);
83 flex-shrink: 0;
84 line-height: 1;
85 }
86
87 .bkbg-sr-star svg {
88 width: 100%;
89 height: 100%;
90 display: block;
91 }
92
93 /* Interactive stars in editor */
94 .bkbg-sr-star--interactive {
95 cursor: pointer;
96 transition: transform 0.1s ease, opacity 0.1s ease;
97 }
98
99 .bkbg-sr-star--interactive:hover {
100 transform: scale(1.15);
101 opacity: 0.9;
102 }
103
104 /* ── Numeric score ────────────────────────────────────────────────────────── */
105 .bkbg-sr-numeric {
106 font-family: var(--bksr-nm-font-family, inherit);
107 font-size: var(--bksr-nm-font-size-d, var(--bkbg-sr-num-size));
108 font-weight: var(--bksr-nm-font-weight, var(--bkbg-sr-num-weight));
109 font-style: var(--bksr-nm-font-style, normal);
110 text-decoration: var(--bksr-nm-text-decoration, none);
111 text-transform: var(--bksr-nm-text-transform, none);
112 line-height: var(--bksr-nm-line-height-d, 1);
113 letter-spacing: var(--bksr-nm-letter-spacing-d, normal);
114 word-spacing: var(--bksr-nm-word-spacing-d, normal);
115 color: var(--bkbg-sr-num-color);
116 margin-left: var(--bkbg-sr-num-spacing);
117 white-space: nowrap;
118 }
119
120 /* ── Label ────────────────────────────────────────────────────────────────── */
121 .bkbg-sr-label {
122 font-family: var(--bksr-lb-font-family, inherit);
123 font-size: var(--bksr-lb-font-size-d, var(--bkbg-sr-label-size));
124 font-weight: var(--bksr-lb-font-weight, var(--bkbg-sr-label-weight));
125 font-style: var(--bksr-lb-font-style, normal);
126 text-decoration: var(--bksr-lb-text-decoration, none);
127 text-transform: var(--bksr-lb-text-transform, none);
128 line-height: var(--bksr-lb-line-height-d, var(--bkbg-sr-label-lh));
129 letter-spacing: var(--bksr-lb-letter-spacing-d, normal);
130 word-spacing: var(--bksr-lb-word-spacing-d, normal);
131 color: var(--bkbg-sr-label-color);
132 margin: 0;
133 padding: 0;
134 }
135
136 /* ---- Typography responsive — tablet ---- */
137 @media (max-width: 1024px) {
138 .bkbg-sr-label { font-size: var(--bksr-lb-font-size-t, var(--bksr-lb-font-size-d, var(--bkbg-sr-label-size))); line-height: var(--bksr-lb-line-height-t, var(--bksr-lb-line-height-d, var(--bkbg-sr-label-lh))); letter-spacing: var(--bksr-lb-letter-spacing-t, var(--bksr-lb-letter-spacing-d, normal)); word-spacing: var(--bksr-lb-word-spacing-t, var(--bksr-lb-word-spacing-d, normal)); }
139 .bkbg-sr-numeric { font-size: var(--bksr-nm-font-size-t, var(--bksr-nm-font-size-d, var(--bkbg-sr-num-size))); line-height: var(--bksr-nm-line-height-t, var(--bksr-nm-line-height-d, 1)); letter-spacing: var(--bksr-nm-letter-spacing-t, var(--bksr-nm-letter-spacing-d, normal)); word-spacing: var(--bksr-nm-word-spacing-t, var(--bksr-nm-word-spacing-d, normal)); }
140 }
141 /* ---- Typography responsive — mobile ---- */
142 @media (max-width: 767px) {
143 .bkbg-sr-label { font-size: var(--bksr-lb-font-size-m, var(--bksr-lb-font-size-t, var(--bksr-lb-font-size-d, var(--bkbg-sr-label-size)))); line-height: var(--bksr-lb-line-height-m, var(--bksr-lb-line-height-t, var(--bksr-lb-line-height-d, var(--bkbg-sr-label-lh)))); letter-spacing: var(--bksr-lb-letter-spacing-m, var(--bksr-lb-letter-spacing-t, var(--bksr-lb-letter-spacing-d, normal))); word-spacing: var(--bksr-lb-word-spacing-m, var(--bksr-lb-word-spacing-t, var(--bksr-lb-word-spacing-d, normal))); }
144 .bkbg-sr-numeric { font-size: var(--bksr-nm-font-size-m, var(--bksr-nm-font-size-t, var(--bksr-nm-font-size-d, var(--bkbg-sr-num-size)))); line-height: var(--bksr-nm-line-height-m, var(--bksr-nm-line-height-t, var(--bksr-nm-line-height-d, 1))); letter-spacing: var(--bksr-nm-letter-spacing-m, var(--bksr-nm-letter-spacing-t, var(--bksr-nm-letter-spacing-d, normal))); word-spacing: var(--bksr-nm-word-spacing-m, var(--bksr-nm-word-spacing-t, var(--bksr-nm-word-spacing-d, normal))); }
145 }
146
147 /* Spacing: label below stars */
148 .bkbg-sr-wrap[data-label-pos="below"] .bkbg-sr-stars,
149 .bkbg-sr-wrap:not([data-label-pos]) .bkbg-sr-stars {
150 margin-bottom: var(--bkbg-sr-label-spacing);
151 }
152
153 /* Spacing: label above stars (order reversed — label is below stars in DOM,
154 but visually above via flex-direction: column-reverse) */
155 .bkbg-sr-wrap[data-label-pos="above"] .bkbg-sr-label {
156 margin-bottom: var(--bkbg-sr-label-spacing);
157 }
158
159 /* No extra spacing when label is beside stars */
160 .bkbg-sr-wrap[data-label-pos="right"] .bkbg-sr-stars,
161 .bkbg-sr-wrap[data-label-pos="left"] .bkbg-sr-stars {
162 margin-bottom: 0;
163 }
164
165 /* ── RichText editor placeholder alignment ────────────────────────────────── */
166 /* Only apply width:100% for column layouts (below/above); row layouts use flex:1 */
167 .editor-styles-wrapper .bkbg-sr-wrap[data-text-align="center"]:not([data-label-pos="right"]):not([data-label-pos="left"]) .bkbg-sr-label {
168 text-align: center;
169 width: 100%;
170 }
171
172 .editor-styles-wrapper .bkbg-sr-wrap[data-text-align="right"]:not([data-label-pos="right"]):not([data-label-pos="left"]) .bkbg-sr-label {
173 text-align: right;
174 width: 100%;
175 }
176
177 /* Editor: force row display so flex-direction works correctly */
178 .editor-styles-wrapper .bkbg-sr-wrap[data-label-pos="right"],
179 .editor-styles-wrapper .bkbg-sr-wrap[data-label-pos="left"] {
180 display: flex !important;
181 }
182
183 /* ── Hide label element when show-label is false ─────────────────────────── */
184 .bkbg-sr-wrap[data-show-label="false"] .bkbg-sr-label {
185 display: none;
186 }
187