PluginProbe
SQL Chart Builder / 3.0.0
SQL Chart Builder v3.0.0
3.0.2 3.0.1 trunk 1.0.2 1.0.3 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.7.1 2.3.7.2 2.3.8 3.0.0
sql-chart-builder / asset / admin.css

admin.css in SQL Chart Builder 3.0.0, at asset/admin.css

485 lines 9.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* SQL Chart Builder 3.0 — admin chart builder UI */
2
3 #gvnsql-app {
4 margin: 4px 0 10px;
5 }
6
7 .gvnsql-note {
8 padding: 12px 16px;
9 border-radius: 6px;
10 margin-bottom: 14px;
11 font-size: 13px;
12 }
13
14 .gvnsql-note-migrate {
15 background: #fff8e5;
16 border: 1px solid #f0c33c;
17 color: #6b5310;
18 }
19
20 /* ---------- tabs ---------- */
21
22 .gvnsql-tabs {
23 display: flex;
24 gap: 4px;
25 border-bottom: 2px solid #e3e6ea;
26 margin-bottom: 18px;
27 }
28
29 .gvnsql-tab {
30 appearance: none;
31 background: transparent;
32 border: 0;
33 border-bottom: 2px solid transparent;
34 margin-bottom: -2px;
35 padding: 10px 16px;
36 font-size: 13.5px;
37 font-weight: 600;
38 color: #50575e;
39 cursor: pointer;
40 transition: color .12s ease, border-color .12s ease;
41 }
42
43 .gvnsql-tab:hover { color: #1d2327 }
44
45 .gvnsql-tab.active {
46 color: #2271b1;
47 border-bottom-color: #2271b1;
48 }
49
50 .gvnsql-tab-num {
51 display: inline-block;
52 width: 19px;
53 height: 19px;
54 line-height: 19px;
55 margin-right: 4px;
56 text-align: center;
57 border-radius: 50%;
58 background: #e3e6ea;
59 color: #50575e;
60 font-size: 11px;
61 }
62
63 .gvnsql-tab.active .gvnsql-tab-num {
64 background: #2271b1;
65 color: #fff;
66 }
67
68 .gvnsql-section { display: none }
69 .gvnsql-section.active { display: block }
70
71 .gvnsql-step {
72 margin: 20px 0 10px;
73 font-size: 14px;
74 color: #1d2327;
75 }
76
77 .gvnsql-section .gvnsql-step:first-child { margin-top: 4px }
78
79 .gvnsql-hint {
80 color: #646970;
81 font-size: 12.5px;
82 margin: 6px 0 12px;
83 }
84
85 .gvnsql-hint code { font-size: 11.5px }
86
87 /* ---------- chart type cards ---------- */
88
89 .gvnsql-typegrid {
90 display: grid;
91 grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
92 gap: 8px;
93 margin-bottom: 12px;
94 }
95
96 .gvnsql-typecard {
97 display: flex;
98 flex-direction: column;
99 align-items: center;
100 gap: 6px;
101 padding: 12px 6px 10px;
102 background: #fff;
103 border: 1px solid #dcdcde;
104 border-radius: 8px;
105 cursor: pointer;
106 color: #787c82;
107 transition: all .12s ease;
108 user-select: none;
109 }
110
111 .gvnsql-typecard:hover {
112 border-color: #2271b1;
113 color: #2271b1;
114 }
115
116 .gvnsql-typecard.selected {
117 border-color: #2271b1;
118 box-shadow: 0 0 0 1px #2271b1, 0 2px 6px rgba(34, 113, 177, .18);
119 color: #2271b1;
120 background: #f0f6fb;
121 }
122
123 .gvnsql-typecard input[type=radio] {
124 position: absolute;
125 opacity: 0;
126 pointer-events: none;
127 }
128
129 .gvnsql-typeicon svg {
130 width: 34px;
131 height: 34px;
132 display: block;
133 }
134
135 .gvnsql-typelabel {
136 font-size: 12px;
137 font-weight: 600;
138 text-align: center;
139 }
140
141 /* ---------- per-type guide ---------- */
142
143 .gvnsql-guide {
144 display: flex;
145 gap: 16px;
146 align-items: stretch;
147 background: #f0f6fb;
148 border: 1px solid #c5d9ea;
149 border-radius: 8px;
150 padding: 12px 14px;
151 margin-bottom: 14px;
152 font-size: 13px;
153 }
154
155 .gvnsql-guide-text { flex: 1 1 46% }
156
157 .gvnsql-guide-text strong { display: block; margin-bottom: 4px; color: #1d2327 }
158
159 .gvnsql-guide-example {
160 flex: 1 1 54%;
161 display: flex;
162 flex-direction: column;
163 gap: 8px;
164 }
165
166 .gvnsql-guide-example code {
167 display: block;
168 padding: 8px 10px;
169 background: #fff;
170 border: 1px solid #dcdcde;
171 border-radius: 6px;
172 font-size: 11.5px;
173 white-space: pre-wrap;
174 word-break: break-word;
175 max-height: 84px;
176 overflow-y: auto;
177 }
178
179 .gvnsql-guide-example .button { align-self: flex-start }
180
181 /* ---------- SQL builder toolbar ---------- */
182
183 .gvnsql-toolbar {
184 display: flex;
185 flex-wrap: wrap;
186 gap: 10px;
187 align-items: center;
188 padding: 8px 10px;
189 background: #f6f7f7;
190 border: 1px solid #dcdcde;
191 border-bottom: 0;
192 border-radius: 8px 8px 0 0;
193 }
194
195 .gvnsql-toolbar-group {
196 display: inline-flex;
197 flex-wrap: wrap;
198 gap: 5px;
199 align-items: center;
200 }
201
202 .gvnsql-toolbar-group + .gvnsql-toolbar-group {
203 padding-left: 10px;
204 border-left: 1px solid #dcdcde;
205 }
206
207 .gvnsql-kw {
208 appearance: none;
209 border: 1px solid #c6cbd2;
210 background: #fff;
211 border-radius: 5px;
212 padding: 3px 9px;
213 font-size: 11.5px;
214 font-weight: 600;
215 font-family: Consolas, Monaco, monospace;
216 color: #2271b1;
217 cursor: pointer;
218 transition: all .1s ease;
219 }
220
221 .gvnsql-kw:hover {
222 background: #2271b1;
223 border-color: #2271b1;
224 color: #fff;
225 }
226
227 .gvnsql-toolbar select {
228 max-width: 180px;
229 font-size: 12px;
230 }
231
232 /* ---------- SQL editor + autocomplete ---------- */
233
234 .gvnsql-editorwrap {
235 position: relative;
236 }
237
238 #guaven_sqlcharts_code {
239 width: 100%;
240 border: 1px solid #dcdcde;
241 border-radius: 0 0 8px 8px;
242 padding: 12px;
243 font-family: Consolas, Monaco, "Courier New", monospace;
244 font-size: 13px;
245 line-height: 1.55;
246 color: #1d2327;
247 background: #fff;
248 resize: vertical;
249 box-shadow: none;
250 }
251
252 #guaven_sqlcharts_code:focus {
253 border-color: #2271b1;
254 box-shadow: 0 0 0 1px #2271b1;
255 outline: none;
256 }
257
258 .gvnsql-mirror {
259 position: absolute;
260 top: 0;
261 left: 0;
262 visibility: hidden;
263 white-space: pre-wrap;
264 word-wrap: break-word;
265 overflow: hidden;
266 pointer-events: none;
267 }
268
269 .gvnsql-ac {
270 position: absolute;
271 z-index: 100;
272 min-width: 220px;
273 max-width: 340px;
274 background: #fff;
275 border: 1px solid #c6cbd2;
276 border-radius: 6px;
277 box-shadow: 0 8px 24px rgba(29, 35, 39, .16);
278 overflow: hidden;
279 }
280
281 .gvnsql-ac-item {
282 display: flex;
283 align-items: center;
284 gap: 8px;
285 padding: 6px 10px;
286 font-family: Consolas, Monaco, monospace;
287 font-size: 12.5px;
288 cursor: pointer;
289 color: #1d2327;
290 }
291
292 .gvnsql-ac-item:hover,
293 .gvnsql-ac-item.active {
294 background: #f0f6fb;
295 color: #2271b1;
296 }
297
298 .gvnsql-ac-kind {
299 flex: 0 0 auto;
300 width: 17px;
301 height: 17px;
302 line-height: 17px;
303 text-align: center;
304 border-radius: 4px;
305 font-size: 10px;
306 font-weight: 700;
307 color: #fff;
308 }
309
310 .gvnsql-ac-kind-keyword { background: #2271b1 }
311 .gvnsql-ac-kind-table { background: #26b286 }
312 .gvnsql-ac-kind-column { background: #f2a33c }
313 .gvnsql-ac-kind-tag { background: #8e6bd8 }
314
315 /* ---------- column mapping panel (final step) ---------- */
316
317 .gvnsql-mapbox {
318 margin-top: 22px;
319 padding: 16px 18px 14px;
320 background: #c5d9ea;
321 border: 2px solid #ff8a00;
322 border-radius: 10px;
323 box-shadow: 0 2px 10px rgba(255, 138, 0, .15);
324 }
325
326 .gvnsql-mapbox-title {
327 display: flex;
328 align-items: center;
329 gap: 10px;
330 margin: 0 0 6px !important;
331 }
332
333 .gvnsql-mapbox-badge {
334 display: inline-block;
335 padding: 2px 10px;
336 background: #ff8a00;
337 color: #fff;
338 font-size: 11px;
339 font-weight: 700;
340 text-transform: uppercase;
341 letter-spacing: .05em;
342 border-radius: 999px;
343 }
344
345 .gvnsql-mapbox-hint {
346 color: #33495c !important;
347 margin-bottom: 12px !important;
348 }
349
350 .gvnsql-mapbox .gvnsql-field label { color: #17293a }
351 .gvnsql-mapbox .gvnsql-field small { color: #33495c }
352
353 .gvnsql-mapbox .gvnsql-field input[type=text],
354 .gvnsql-mapbox .gvnsql-colselect {
355 background: #fff;
356 border-color: #8fb4d4;
357 }
358
359 .gvnsql-colselect {
360 width: 100%;
361 max-width: 360px;
362 display: block;
363 }
364
365 .gvnsql-colcustom { margin-top: 6px }
366
367 /* ---------- fields grid ---------- */
368
369 .gvnsql-grid2 {
370 display: grid;
371 grid-template-columns: 1fr 1fr;
372 gap: 14px 22px;
373 max-width: 900px;
374 }
375
376 @media (max-width: 900px) {
377 .gvnsql-grid2 { grid-template-columns: 1fr }
378 }
379
380 .gvnsql-field label {
381 display: block;
382 font-weight: 600;
383 font-size: 12.5px;
384 margin-bottom: 4px;
385 color: #1d2327;
386 }
387
388 .gvnsql-field input[type=text],
389 .gvnsql-field input[type=number],
390 .gvnsql-field input[type=password],
391 .gvnsql-field select {
392 width: 100%;
393 max-width: 360px;
394 }
395
396 .gvnsql-field small {
397 display: block;
398 color: #646970;
399 margin-top: 3px;
400 }
401
402 .gvnsql-inlinecheck {
403 display: block;
404 font-weight: normal !important;
405 margin: 4px 0;
406 }
407
408 .gvnsql-checkgrid {
409 display: grid;
410 grid-template-columns: 1fr 1fr;
411 gap: 4px 22px;
412 max-width: 900px;
413 margin-bottom: 8px;
414 }
415
416 .gvnsql-checkbox-row { margin-top: 12px }
417
418 /* ---------- dynamic filters builder ---------- */
419
420 .gvnsql-filter-row {
421 display: flex;
422 flex-wrap: wrap;
423 gap: 7px;
424 align-items: center;
425 padding: 8px 10px;
426 margin-bottom: 6px;
427 background: #f6f7f7;
428 border: 1px solid #dcdcde;
429 border-radius: 8px;
430 }
431
432 .gvnsql-filter-row input[type=text] { max-width: 190px }
433
434 .gvnsql-filter-name-select { max-width: 210px }
435
436 .gvnsql-filter-remove {
437 color: #b32d2e !important;
438 font-size: 17px;
439 text-decoration: none;
440 cursor: pointer;
441 }
442
443 .gvnsql-raw { display: none; width: 100% }
444
445 /* ---------- colors builder ---------- */
446
447 .gvnsql-colors {
448 display: flex;
449 flex-wrap: wrap;
450 gap: 8px;
451 margin-bottom: 6px;
452 }
453
454 .gvnsql-color-item {
455 display: inline-flex;
456 align-items: center;
457 gap: 2px;
458 padding: 4px 6px;
459 background: #f6f7f7;
460 border: 1px solid #dcdcde;
461 border-radius: 6px;
462 }
463
464 .gvnsql-color-item input[type=color] {
465 width: 42px;
466 height: 30px;
467 padding: 0;
468 border: 0;
469 background: transparent;
470 cursor: pointer;
471 }
472
473 .gvnsql-color-remove {
474 color: #b32d2e !important;
475 font-size: 15px;
476 text-decoration: none;
477 cursor: pointer;
478 }
479
480 .gvnsql-colors-rawinput {
481 display: block !important;
482 width: 100%;
483 max-width: 480px;
484 }
485