@bestcodetools/graphql-playground 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1319 @@
1
+ $background-color: #4f4f4f;
2
+ $modal-background-color: #2f2f2fff;
3
+
4
+ body {
5
+ margin: 0;
6
+ padding: 0;
7
+ font-family: 'Open Sans', sans-serif;
8
+ background-color: #4f4f4f;
9
+ color: #f4f4f4;
10
+ border-radius: none;
11
+ min-height: 100vh;
12
+ height: 100vh;
13
+ overflow: hidden;
14
+ display: flex;
15
+ flex-direction: column;
16
+ }
17
+ body > * { display: none; }
18
+ body.ready > * {
19
+ display: unset;
20
+ }
21
+
22
+ .tabs {
23
+ list-style: none;
24
+ padding: 0;
25
+ padding-top: 5px;
26
+ margin: 0;
27
+ flex: 0 0 auto;
28
+ display: block;
29
+ background-color: #333;
30
+ border-bottom: 1px solid #666;
31
+ border-top: 1px solid #666;
32
+ border-radius: 0;
33
+ overflow: auto;
34
+ white-space: nowrap;
35
+
36
+ .tab-item {
37
+ margin: 0 5px;
38
+ padding: 5px;
39
+ cursor: pointer;
40
+ background-color: #333;
41
+ border: 1px solid #666;
42
+ border-radius: 0;
43
+ &:hover {
44
+ background-color: #4f4f4f;
45
+ }
46
+ &:not(.active), &:hover:not(.active) {
47
+ border-bottom: none;
48
+ }
49
+ }
50
+ .add-tab {
51
+ padding: 5px 10px;
52
+ text-align: center;
53
+ font-size: 1rem;
54
+ line-height: 1;
55
+ border: 1px solid #666;
56
+ background-color: #333;
57
+ border-radius: 0;
58
+ cursor: pointer;
59
+ }
60
+ .add-tab, .tab-item {
61
+ display: inline-block;
62
+ >a {
63
+ color: #f4f4f4;
64
+ text-decoration: none;
65
+ }
66
+ &.add-tab > a {
67
+ display: inline-flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ min-width: 14px;
71
+ font-weight: 700;
72
+ }
73
+ .tab-title-input {
74
+ min-width: 120px;
75
+ width: 180px;
76
+ margin: 0;
77
+ padding: 4px 6px;
78
+ border: 1px solid #4d7ea8;
79
+ background: #1f2329;
80
+ color: #f4f4f4;
81
+ font: inherit;
82
+ box-sizing: border-box;
83
+ &:focus {
84
+ outline: none;
85
+ border-color: #4fc1ff;
86
+ }
87
+ }
88
+ &.tab-item {
89
+ display: inline-flex;
90
+ align-items: center;
91
+ gap: .35rem;
92
+ }
93
+ .tab-close-btn {
94
+ padding: 0;
95
+ margin: 0;
96
+ border: none;
97
+ background: transparent;
98
+ color: #8b97a3;
99
+ font-size: .95rem;
100
+ line-height: 1;
101
+ cursor: pointer;
102
+ box-shadow: none;
103
+ &:hover {
104
+ color: #d7ecff;
105
+ background: transparent;
106
+ }
107
+ }
108
+ &:hover {
109
+ >a {
110
+ color: #20f020;
111
+ }
112
+ box-shadow: 0 0 5px #20f020;
113
+ }
114
+ }
115
+ }
116
+
117
+ .editor {
118
+ display: flex !important;
119
+ flex-direction: column;
120
+ flex: 1 1 auto;
121
+ min-height: 0;
122
+ // background-color: #4f4f4f;
123
+ background-color: #1f1f1f;
124
+ padding: 12px;
125
+ width: 100%;
126
+ box-sizing: border-box;
127
+ overflow: hidden;
128
+ }
129
+
130
+ .input-group {
131
+ flex: 0 0 auto;
132
+ }
133
+
134
+ .tab-content {
135
+ display: flex;
136
+ flex-direction: column;
137
+ flex: 1 1 auto;
138
+ min-height: 0;
139
+ gap: 10px;
140
+ padding: 10px 0 0;
141
+ margin: 0;
142
+ background-color: #1f1f1f;
143
+ overflow: hidden;
144
+ width: 100%;
145
+ box-sizing: border-box;
146
+ }
147
+ .tab-item.active {
148
+ background-color: #666;
149
+ a {
150
+ color: #20f020;
151
+ }
152
+ }
153
+ .query-and-result-container {
154
+ display: flex;
155
+ flex-direction: row;
156
+ flex: 1 1 auto;
157
+ min-height: 0;
158
+ gap: 12px;
159
+ margin: 0;
160
+ padding: 0;
161
+ background: transparent;
162
+ border: none;
163
+ color: #f4f4f4;
164
+ overflow: hidden;
165
+ width: 100%;
166
+ position: relative;
167
+ .actions {
168
+ margin: auto;
169
+ position: absolute;
170
+ left: 50%;
171
+ top: 50%;
172
+ transform: translate(-50%, -50%);
173
+ z-index: 3;
174
+ button {
175
+ border-radius: 100%;
176
+ height: 60px;
177
+ width: 60px;
178
+ }
179
+ }
180
+ }
181
+
182
+ .send-fab {
183
+ display: inline-flex;
184
+ align-items: center;
185
+ justify-content: center;
186
+ width: 26px !important;
187
+ height: 26px !important;
188
+ padding: 0 !important;
189
+ border-radius: 999px !important;
190
+ font-size: .7rem;
191
+ line-height: 1;
192
+ text-indent: 2px;
193
+ border: 1px solid #606872;
194
+ background: linear-gradient(180deg, #3a4048 0%, #2f343b 100%);
195
+ color: #e7eef7;
196
+ box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
197
+ &:hover {
198
+ background: linear-gradient(180deg, #47505a 0%, #3a4048 100%);
199
+ }
200
+ }
201
+
202
+ .result {
203
+ display: flex;
204
+ flex-direction: column;
205
+ flex: 1 1 0;
206
+ min-width: 0;
207
+ min-height: 0;
208
+ margin: 0;
209
+ padding: 0;
210
+ background-color: #333;
211
+ border: 1px solid #666;
212
+ border-radius: 0;
213
+ color: #f4f4f4;
214
+ overflow: hidden;
215
+ width: auto;
216
+ position: relative;
217
+ z-index: 1;
218
+ pre {
219
+ margin: 0;
220
+ padding: 10px 12px;
221
+ flex: 1 1 auto;
222
+ min-height: 0;
223
+ overflow: auto;
224
+ box-sizing: border-box;
225
+ }
226
+ }
227
+
228
+ response-viewer {
229
+ display: flex;
230
+ flex: 1 1 auto;
231
+ min-width: 0;
232
+ min-height: 0;
233
+ }
234
+
235
+ .response-viewer-container {
236
+ display: flex;
237
+ flex: 1 1 auto;
238
+ min-width: 0;
239
+ min-height: 0;
240
+ margin: 0;
241
+ width: 100%;
242
+ textarea {
243
+ min-height: 0;
244
+ width: 100%;
245
+ font-family: Consolas, 'Courier New', monospace;
246
+ }
247
+ }
248
+ .variables-and-headers-container {
249
+ display: flex;
250
+ flex: 0 0 220px;
251
+ min-height: 220px;
252
+ gap: 12px;
253
+ margin: 0;
254
+ padding: 0;
255
+ background: transparent;
256
+ border: none;
257
+ color: #f4f4f4;
258
+ overflow: hidden;
259
+ width: 100%;
260
+ textarea {
261
+ min-height: 150px;
262
+ }
263
+ }
264
+
265
+ .query-editor-container,
266
+ .variables-editor-container,
267
+ .headers-editor-container {
268
+ display: flex;
269
+ flex: 1 1 auto;
270
+ min-width: 0;
271
+ min-height: 0;
272
+ margin: 0;
273
+ }
274
+
275
+ query-editor,
276
+ variables-editor,
277
+ headers-editor,
278
+ response-viewer {
279
+ display: flex;
280
+ flex: 1 1 auto;
281
+ min-width: 0;
282
+ min-height: 0;
283
+ }
284
+
285
+ .variables-editor-container textarea {
286
+ min-height: 0;
287
+ font-family: Consolas, 'Courier New', monospace;
288
+ width: 100%;
289
+ }
290
+
291
+ .headers-editor-container textarea {
292
+ min-height: 0;
293
+ font-family: Consolas, 'Courier New', monospace;
294
+ width: 100%;
295
+ }
296
+ .query-editor, .variables-editor, .headers-editor {
297
+ margin: 0;
298
+ padding: 0;
299
+ background-color: #333;
300
+ border: 1px solid #666;
301
+ border-radius: 0;
302
+ color: #f4f4f4;
303
+ overflow: hidden;
304
+ width: auto;
305
+ position: relative;
306
+ box-sizing: border-box;
307
+ }
308
+
309
+ .result response-viewer {
310
+ background-color: #333;
311
+ }
312
+
313
+ .result {
314
+ background-color: #1e1e1e;
315
+ }
316
+
317
+ .query-editor {
318
+ display: flex;
319
+ flex-direction: column;
320
+ flex: 1 1 0;
321
+ min-width: 0;
322
+ min-height: 0;
323
+ }
324
+
325
+ .variables-editor, .headers-editor {
326
+ display: flex;
327
+ flex-direction: column;
328
+ flex: 1 1 0;
329
+ min-width: 0;
330
+ min-height: 0;
331
+ }
332
+
333
+ .editor-panel-title {
334
+ display: flex;
335
+ align-items: center;
336
+ justify-content: space-between;
337
+ gap: .75rem;
338
+ padding: .45rem .7rem;
339
+ background: linear-gradient(180deg, #2b2f36 0%, #23272e 100%);
340
+ border-bottom: 1px solid #4a4f57;
341
+ color: #cfd8e3;
342
+ font-size: .78rem;
343
+ font-weight: 700;
344
+ letter-spacing: .06em;
345
+ text-transform: uppercase;
346
+ font-family: 'Open Sans', sans-serif;
347
+ }
348
+
349
+ .editor-panel-action {
350
+ border: 1px solid #4d7ea8;
351
+ background: linear-gradient(180deg, #274766 0%, #1f3850 100%);
352
+ color: #d7ecff;
353
+ font-size: .72rem;
354
+ font-weight: 700;
355
+ text-transform: uppercase;
356
+ letter-spacing: .04em;
357
+ padding: .2rem .55rem;
358
+ cursor: pointer;
359
+ }
360
+
361
+ .editor-panel-action:hover {
362
+ background: linear-gradient(180deg, #31587d 0%, #274766 100%);
363
+ }
364
+
365
+ .editor-panel-actions {
366
+ display: inline-flex;
367
+ align-items: center;
368
+ gap: .45rem;
369
+ }
370
+
371
+ textarea {
372
+ margin: auto;
373
+ padding: 5px;
374
+ background-color: #333;
375
+ border: 1px solid #666;
376
+ border-radius: 0;
377
+ color: #f4f4f4;
378
+ overflow: auto;
379
+ resize: none;
380
+ width: calc(100% - 12px);
381
+ }
382
+ input {
383
+ margin: 0;
384
+ padding: 8px;
385
+ background-color: #333;
386
+ border: 1px solid #666;
387
+ border-radius: 0;
388
+ color: #f4f4f4;
389
+ }
390
+ .d-flex {
391
+ display: flex;
392
+ }
393
+
394
+ .variables-editor .CodeMirror {
395
+ height: 100%;
396
+ width: 100%;
397
+ border: none !important;
398
+ background-color: #1e1e1e !important;
399
+ color: #d4d4d4 !important;
400
+ font-family: Consolas, 'Courier New', monospace;
401
+ }
402
+
403
+ .headers-editor .CodeMirror {
404
+ height: 100%;
405
+ width: 100%;
406
+ border: none !important;
407
+ background-color: #1e1e1e !important;
408
+ color: #d4d4d4 !important;
409
+ font-family: Consolas, 'Courier New', monospace;
410
+ }
411
+
412
+ .response-viewer-container .CodeMirror {
413
+ display: flex !important;
414
+ flex: 1 1 auto;
415
+ height: 100%;
416
+ width: 100%;
417
+ border: none !important;
418
+ background-color: #1e1e1e !important;
419
+ color: #d4d4d4 !important;
420
+ font-family: Consolas, 'Courier New', monospace;
421
+ min-width: 0;
422
+ min-height: 0;
423
+ }
424
+
425
+ .response-viewer-container .CodeMirror-scroll {
426
+ overflow-x: hidden !important;
427
+ flex: 1 1 auto;
428
+ background-color: #1e1e1e !important;
429
+ }
430
+
431
+ .response-viewer-container .CodeMirror-sizer,
432
+ .response-viewer-container .CodeMirror-lines,
433
+ .response-viewer-container .CodeMirror-code {
434
+ background-color: #1e1e1e !important;
435
+ }
436
+
437
+ .response-viewer-container .CodeMirror-hscrollbar {
438
+ display: none !important;
439
+ }
440
+
441
+ .response-viewer-container .CodeMirror-gutters {
442
+ background-color: #252526 !important;
443
+ border-right: 1px solid #333 !important;
444
+ }
445
+
446
+ .response-viewer-container .CodeMirror-gutter-wrapper,
447
+ .response-viewer-container .CodeMirror-linebackground,
448
+ .response-viewer-container .CodeMirror-line,
449
+ .response-viewer-container .CodeMirror-lines pre {
450
+ background-color: #1e1e1e !important;
451
+ color: #d4d4d4 !important;
452
+ }
453
+
454
+ .response-viewer-container .CodeMirror-linenumber {
455
+ color: #858585 !important;
456
+ }
457
+
458
+ .response-viewer-container .CodeMirror-cursor {
459
+ border-left: 1px solid #aeafad !important;
460
+ }
461
+
462
+ .response-viewer-container .CodeMirror-selected {
463
+ background: rgba(38, 79, 120, 0.85) !important;
464
+ }
465
+
466
+ .response-viewer-container .cm-string {
467
+ color: #ce9178 !important;
468
+ }
469
+
470
+ .response-viewer-container .cm-property {
471
+ color: #9cdcfe !important;
472
+ }
473
+
474
+ .response-viewer-container .cm-number {
475
+ color: #b5cea8 !important;
476
+ }
477
+
478
+ .response-viewer-container .cm-atom {
479
+ color: #66d9ef !important;
480
+ }
481
+
482
+ .response-viewer-container .cm-bracket {
483
+ color: #ffd700 !important;
484
+ }
485
+
486
+ .variables-editor .CodeMirror-gutters {
487
+ background-color: #252526 !important;
488
+ border-right: 1px solid #333 !important;
489
+ }
490
+
491
+ .headers-editor .CodeMirror-gutters {
492
+ background-color: #252526 !important;
493
+ border-right: 1px solid #333 !important;
494
+ }
495
+
496
+ .variables-editor .CodeMirror-linenumber {
497
+ color: #858585 !important;
498
+ }
499
+
500
+ .headers-editor .CodeMirror-linenumber {
501
+ color: #858585 !important;
502
+ }
503
+
504
+ .variables-editor .CodeMirror-cursor {
505
+ border-left: 1px solid #aeafad !important;
506
+ }
507
+
508
+ .headers-editor .CodeMirror-cursor {
509
+ border-left: 1px solid #aeafad !important;
510
+ }
511
+
512
+ .variables-editor .CodeMirror-selected {
513
+ background: rgba(38, 79, 120, 0.85) !important;
514
+ }
515
+
516
+ .headers-editor .CodeMirror-selected {
517
+ background: rgba(38, 79, 120, 0.85) !important;
518
+ }
519
+
520
+ .variables-editor .cm-string {
521
+ color: #ce9178 !important;
522
+ }
523
+
524
+ .headers-editor .cm-string {
525
+ color: #ce9178 !important;
526
+ }
527
+
528
+ .variables-editor .cm-number {
529
+ color: #b5cea8 !important;
530
+ }
531
+
532
+ .headers-editor .cm-number {
533
+ color: #b5cea8 !important;
534
+ }
535
+
536
+ .variables-editor .cm-atom {
537
+ color: #66d9ef !important;
538
+ }
539
+
540
+ .headers-editor .cm-atom {
541
+ color: #66d9ef !important;
542
+ }
543
+
544
+ .variables-editor .cm-bracket {
545
+ color: #ffd700 !important;
546
+ }
547
+
548
+ .headers-editor .cm-bracket {
549
+ color: #ffd700 !important;
550
+ }
551
+ .flex-column {
552
+ display: flex;
553
+ flex-direction: column;
554
+ }
555
+ .flex-row {
556
+ display: flex;
557
+ flex-direction: row;
558
+ }
559
+ .gap-1 {
560
+ gap: 5px;
561
+ }
562
+ .gap-10 {
563
+ gap: 10px;
564
+ row-gap: 10px;
565
+ }
566
+
567
+ /* .input-group: should stretch the input to occupy most of the space, the button should fit its internal content, it should also have no gap from the input, button borders that are close to other elements should be pointy, extremity borders should be rounded */
568
+ .input-group {
569
+ display: flex;
570
+ input {
571
+ flex: 1;
572
+ border-radius: 0;
573
+ border-right: none;
574
+ }
575
+ button {
576
+ border-radius: 0;
577
+ border-left: none;
578
+ }
579
+ }
580
+
581
+ button {
582
+ padding: 8px 15px;
583
+ background-color: #3F3F3F;
584
+ border: 1px solid #606060;
585
+ border-radius: 0;
586
+ color: #f4f4f4;
587
+ cursor: pointer;
588
+ &:hover {
589
+ background-color: #4f4f4f;
590
+ }
591
+ }
592
+
593
+ .top-nav {
594
+ display: flex !important;
595
+ align-items: center;
596
+ justify-content: space-between;
597
+ gap: 1rem;
598
+ padding: .85rem 1rem;
599
+ background: linear-gradient(180deg, #2b2f36 0%, #23272e 100%);
600
+ border-bottom: 1px solid #4a4f57;
601
+ }
602
+
603
+ .top-nav-brand {
604
+ display: flex;
605
+ flex-direction: column;
606
+ gap: .15rem;
607
+ }
608
+
609
+ .top-nav-actions {
610
+ display: inline-flex;
611
+ align-items: center;
612
+ gap: .6rem;
613
+ }
614
+
615
+ .locale-label {
616
+ color: #9aa6b2;
617
+ font-size: .82rem;
618
+ white-space: nowrap;
619
+ }
620
+
621
+ .locale-select {
622
+ border: 1px solid #4a4f57;
623
+ background: #1f2329;
624
+ color: #d4d4d4;
625
+ padding: .4rem .55rem;
626
+ }
627
+
628
+ .locale-select:focus {
629
+ outline: none;
630
+ border-color: #4fc1ff;
631
+ }
632
+
633
+ .top-nav-title-row {
634
+ display: flex;
635
+ align-items: center;
636
+ gap: .55rem;
637
+ }
638
+
639
+ .top-nav-title {
640
+ color: #f2f6fb;
641
+ font-size: 1rem;
642
+ font-weight: 700;
643
+ letter-spacing: .02em;
644
+ }
645
+
646
+ .top-nav-badge {
647
+ display: inline-flex;
648
+ align-items: center;
649
+ padding: .14rem .42rem;
650
+ border: 1px solid #4d7ea8;
651
+ border-radius: 999px;
652
+ background: rgba(39, 71, 102, 0.45);
653
+ color: #bfe3ff;
654
+ font-size: .72rem;
655
+ font-weight: 700;
656
+ letter-spacing: .04em;
657
+ }
658
+
659
+ .top-nav-subtitle {
660
+ color: #9aa6b2;
661
+ font-size: .8rem;
662
+ line-height: 1.35;
663
+ }
664
+
665
+ .config-btn {
666
+ border: 1px solid #4d7ea8;
667
+ background: linear-gradient(180deg, #274766 0%, #1f3850 100%);
668
+ color: #d7ecff;
669
+ padding: .45rem .8rem;
670
+ cursor: pointer;
671
+ font-weight: 700;
672
+ text-transform: uppercase;
673
+ letter-spacing: .04em;
674
+ }
675
+
676
+ .config-btn:hover {
677
+ background: linear-gradient(180deg, #31587d 0%, #274766 100%);
678
+ }
679
+
680
+ .modal {
681
+ position: fixed;
682
+ top: 0;
683
+ left: 0;
684
+ width: 100%;
685
+ height: 100%;
686
+ background: rgba(0, 0, 0, 0.5);
687
+ display: flex !important;
688
+ align-items: center;
689
+ justify-content: center;
690
+ }
691
+
692
+ .modal-content {
693
+ background: $modal-background-color;
694
+ border: 1px solid #666;
695
+ border-radius: 16px;
696
+ padding: 20px;
697
+ width: 50%;
698
+ }
699
+
700
+ .config-tabs {
701
+ display: flex;
702
+ border-bottom: 2px solid #ddd;
703
+ }
704
+
705
+ .config-tabs .tab-item {
706
+ padding: 10px;
707
+ cursor: pointer;
708
+ }
709
+
710
+ .workspace-actions-note {
711
+ margin: 0 0 12px;
712
+ color: #9aa6b2;
713
+ line-height: 1.5;
714
+ }
715
+
716
+ .workspace-actions {
717
+ display: flex;
718
+ gap: 10px;
719
+ flex-wrap: wrap;
720
+ }
721
+
722
+ .workspace-import-input {
723
+ display: none;
724
+ }
725
+
726
+ // .config-tabs .tab-item.active {
727
+ // font-weight: bold;
728
+ // border-bottom: 2px solid blue;
729
+ // }
730
+
731
+ .headers-table {
732
+ width: 100%;
733
+ border-collapse: collapse;
734
+ }
735
+
736
+ .headers-table th, .headers-table td {
737
+ padding: 8px;
738
+ border: 1px solid #ddd;
739
+ }
740
+
741
+ .close-btn {
742
+ margin-top: 10px;
743
+ }
744
+
745
+ .modal-overlay {
746
+ display: block !important;
747
+ position: fixed;
748
+ top: 0;
749
+ left: 0;
750
+ right: 0;
751
+ bottom: 0;
752
+ background: #1f1f1fA0;
753
+ }
754
+
755
+ table.headers-table tbody td {
756
+ padding: 0;
757
+ & input {
758
+ background-color: #fff;
759
+ width: 100%;
760
+ padding: 8px;
761
+ border: none;
762
+ border-radius: 0;
763
+ color: #111;
764
+ box-sizing: border-box;
765
+ &:focus {
766
+ outline: none;
767
+ box-shadow: 0 0 0 2px #4f4f4f;
768
+ }
769
+ }
770
+ }
771
+
772
+ td, th {
773
+ &.remove-action {
774
+ width: 1px;
775
+ }
776
+ }
777
+
778
+ .config-modal h2 {
779
+ margin: 0;
780
+ margin-bottom: 10px;
781
+ }
782
+
783
+ .modal button:not(td > button) {
784
+ border-radius: 8px;
785
+ }
786
+
787
+ .query-editor-container {
788
+ display: flex;
789
+ flex: 1 1 auto;
790
+ min-height: 0;
791
+ margin: 0;
792
+ height: auto;
793
+ textarea {
794
+ min-height: 0;
795
+ font-family: Consolas, 'Courier New', monospace;
796
+ width: 100%;
797
+ }
798
+ }
799
+
800
+ .query-editor .CodeMirror {
801
+ height: 100%;
802
+ width: 100%;
803
+ border: none !important;
804
+ background-color: #1e1e1e !important;
805
+ color: #d4d4d4 !important;
806
+ font-family: Consolas, 'Courier New', monospace;
807
+ font-size: 0.95rem;
808
+ }
809
+
810
+ .query-editor .CodeMirror-scroll,
811
+ .variables-editor .CodeMirror-scroll,
812
+ .headers-editor .CodeMirror-scroll,
813
+ .response-viewer-container .CodeMirror-scroll {
814
+ min-height: 100%;
815
+ }
816
+
817
+ .variables-editor .CodeMirror-sizer,
818
+ .headers-editor .CodeMirror-sizer,
819
+ .variables-editor .CodeMirror-lines,
820
+ .headers-editor .CodeMirror-lines {
821
+ min-width: 0;
822
+ }
823
+
824
+ .variables-editor .CodeMirror-scroll,
825
+ .headers-editor .CodeMirror-scroll {
826
+ overflow-x: hidden !important;
827
+ }
828
+
829
+ .variables-editor .CodeMirror-hscrollbar,
830
+ .headers-editor .CodeMirror-hscrollbar {
831
+ display: none !important;
832
+ }
833
+
834
+ .query-editor .CodeMirror-gutters {
835
+ background-color: #252526 !important;
836
+ border-right: 1px solid #333 !important;
837
+ }
838
+
839
+ .query-editor .CodeMirror-linenumber {
840
+ color: #858585 !important;
841
+ }
842
+
843
+ .query-editor .CodeMirror-cursor {
844
+ border-left: 1px solid #aeafad !important;
845
+ }
846
+
847
+ .query-editor .CodeMirror-selected {
848
+ background: rgba(38, 79, 120, 0.85) !important;
849
+ }
850
+
851
+ .query-editor .cm-keyword {
852
+ color: #d8a8ff !important;
853
+ }
854
+
855
+ .query-editor .cm-atom {
856
+ color: #66d9ef !important;
857
+ }
858
+
859
+ .query-editor .cm-type-name {
860
+ color: #4ec9b0 !important;
861
+ font-weight: 600;
862
+ }
863
+
864
+ .query-editor .cm-string {
865
+ color: #ce9178 !important;
866
+ }
867
+
868
+ .query-editor .cm-number {
869
+ color: #b5cea8 !important;
870
+ }
871
+
872
+ .query-editor .cm-variable,
873
+ .query-editor .cm-variable-2,
874
+ .query-editor .cm-def {
875
+ color: #67d4ff !important;
876
+ }
877
+
878
+ .query-editor .cm-property {
879
+ color: #4ec9b0 !important;
880
+ }
881
+
882
+ .query-editor .cm-def {
883
+ color: #4fc1ff !important;
884
+ }
885
+
886
+ .query-editor .cm-variable {
887
+ color: #9cdcfe !important;
888
+ }
889
+
890
+ .query-editor .cm-variable-2 {
891
+ color: #6bbcdc !important;
892
+ }
893
+
894
+ .query-editor .cm-comment {
895
+ color: #8fdc6b !important;
896
+ font-style: italic;
897
+ }
898
+
899
+ .query-editor .cm-meta {
900
+ color: #d8a8ff !important;
901
+ }
902
+
903
+ .query-editor .cm-operator {
904
+ color: #d4d4d4 !important;
905
+ }
906
+
907
+ .query-editor .cm-bracket {
908
+ color: #ffd700 !important;
909
+ }
910
+
911
+ .query-editor .cm-non-null-modifier {
912
+ color: #ff6b6b !important;
913
+ font-weight: 800;
914
+ }
915
+
916
+ .query-editor .cm-list-modifier {
917
+ color: #ffca28 !important;
918
+ font-weight: 700;
919
+ }
920
+
921
+ .CodeMirror-hints {
922
+ background-color: #252526 !important;
923
+ border: 1px solid #454545 !important;
924
+ color: #d4d4d4 !important;
925
+ font-family: Consolas, 'Courier New', monospace;
926
+ }
927
+
928
+ .CodeMirror-hint {
929
+ color: #d4d4d4 !important;
930
+ }
931
+
932
+ .CodeMirror-hint-active {
933
+ background-color: #04395e !important;
934
+ color: #ffffff !important;
935
+ }
936
+
937
+ .cm-hint-keyword {
938
+ color: #d8a8ff !important;
939
+ }
940
+
941
+ .cm-hint-type {
942
+ color: #66d9ef !important;
943
+ }
944
+
945
+ .cm-hint-field {
946
+ color: #4ec9b0 !important;
947
+ }
948
+
949
+ .cm-hint-argument {
950
+ color: #67d4ff !important;
951
+ }
952
+
953
+ .cm-hint-enum {
954
+ color: #66d9ef !important;
955
+ }
956
+ .schema-viewer-wrapper {
957
+ position: fixed;
958
+ top: 0;
959
+ right: 0;
960
+ z-index: 1000;
961
+ width: fit-content;
962
+ height: 100vh;
963
+ &.open {
964
+ .schema-viewer-panel {
965
+ width: 340px;
966
+ right: 0;
967
+ }
968
+ // left: 100%;
969
+ // right: calc(100% + 3rem);
970
+ .btn.btn-toggle-schema-viewer {
971
+ // left: -3.75rem;
972
+ right: 309px;
973
+ }
974
+ }
975
+ transition: all 0.3s ease-in-out;
976
+ }
977
+ .schema-viewer-panel {
978
+ // &.open {
979
+ // width: 300px;
980
+ // overflow: auto;
981
+ // }
982
+ position: fixed;
983
+ top: 0;
984
+ right: -340px;
985
+ width: 0;
986
+ overflow: hidden;
987
+ height: 100vh;
988
+ display: flex;
989
+ flex-direction: column;
990
+ background-color: #333;
991
+ border: 1px solid #666;
992
+ border-radius: 0;
993
+ color: #f4f4f4;
994
+ padding: 0;
995
+ transition: all 0.3s ease-in-out;
996
+ pre {
997
+ margin: 0;
998
+ padding: 0;
999
+ overflow: auto;
1000
+ }
1001
+ }
1002
+
1003
+ .schema-panel-title {
1004
+ position: sticky;
1005
+ top: 0;
1006
+ z-index: 2;
1007
+ margin: 0;
1008
+ }
1009
+
1010
+ .schema-panel-toolbar {
1011
+ flex: 0 0 auto;
1012
+ padding: .7rem;
1013
+ border-bottom: 1px solid #4a4f57;
1014
+ background: #2d3138;
1015
+ }
1016
+
1017
+ .schema-panel-body {
1018
+ flex: 1 1 auto;
1019
+ min-height: 0;
1020
+ overflow: auto;
1021
+ }
1022
+
1023
+ .schema-search-input {
1024
+ width: 100%;
1025
+ padding: .55rem .65rem;
1026
+ border: 1px solid #4a4f57;
1027
+ background: #1f2329;
1028
+ color: #d4d4d4;
1029
+ font-family: Consolas, 'Courier New', monospace;
1030
+ font-size: .9rem;
1031
+ margin-bottom: .45rem;
1032
+ }
1033
+
1034
+ .schema-search-input:focus {
1035
+ outline: none;
1036
+ border-color: #4fc1ff;
1037
+ }
1038
+
1039
+ .schema-panel-note {
1040
+ color: #9aa6b2;
1041
+ font-size: .78rem;
1042
+ font-style: italic;
1043
+ line-height: 1.45;
1044
+ }
1045
+
1046
+ .schema-viewer-panel .type-definition {
1047
+ padding: .7rem;
1048
+ padding-bottom: .6rem;
1049
+ }
1050
+
1051
+ .schema-viewer-panel .field-name.is-actionable {
1052
+ cursor: pointer;
1053
+ }
1054
+
1055
+ .schema-viewer-panel .field-name.is-actionable:hover {
1056
+ text-decoration: underline;
1057
+ }
1058
+
1059
+ .schema-tooltip {
1060
+ position: fixed;
1061
+ z-index: 1200;
1062
+ width: 320px;
1063
+ max-width: calc(100vw - 24px);
1064
+ padding: .75rem .9rem;
1065
+ background: rgba(20, 24, 31, 0.98) !important;
1066
+ border: 1px solid #3a4552 !important;
1067
+ border-radius: .7rem;
1068
+ box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35) !important;
1069
+ pointer-events: none !important;
1070
+ opacity: 0 !important;
1071
+ visibility: hidden !important;
1072
+ transform: translateY(6px);
1073
+ transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
1074
+ }
1075
+
1076
+ .schema-tooltip.is-visible {
1077
+ opacity: 1 !important;
1078
+ visibility: visible !important;
1079
+ transform: translateY(0);
1080
+ transition: opacity .3s ease, transform .3s ease;
1081
+ }
1082
+
1083
+ .schema-tooltip-signature {
1084
+ display: flex;
1085
+ flex-wrap: wrap;
1086
+ align-items: center;
1087
+ gap: .3rem;
1088
+ font-family: Consolas, 'Courier New', monospace;
1089
+ line-height: 1.35;
1090
+ }
1091
+
1092
+ .schema-tooltip-name {
1093
+ font-weight: 700;
1094
+ }
1095
+
1096
+ .schema-tooltip-name-field {
1097
+ color: #4fc1ff;
1098
+ }
1099
+
1100
+ .schema-tooltip-name-argument {
1101
+ color: #9cdcfe;
1102
+ }
1103
+
1104
+ .schema-tooltip-name-type {
1105
+ color: #4fc3f7;
1106
+ }
1107
+
1108
+ .schema-tooltip-type-tokens {
1109
+ display: inline-flex;
1110
+ flex-wrap: wrap;
1111
+ gap: .05rem;
1112
+ }
1113
+
1114
+ .schema-tooltip-name-enum {
1115
+ color: #66d9ef;
1116
+ }
1117
+
1118
+ .schema-tooltip .field-type {
1119
+ color: #4fc3f7;
1120
+ }
1121
+
1122
+ .schema-tooltip .field-type-prefix,
1123
+ .schema-tooltip .field-type-suffix {
1124
+ color: #ffca28;
1125
+ font-weight: 700;
1126
+ }
1127
+
1128
+ .schema-tooltip .field-type-non-null {
1129
+ color: #ff6b6b;
1130
+ font-weight: 800;
1131
+ }
1132
+
1133
+ .schema-tooltip-description {
1134
+ margin-top: .55rem;
1135
+ color: #c9d4df;
1136
+ font-size: .92rem;
1137
+ line-height: 1.45;
1138
+ white-space: pre-wrap;
1139
+ }
1140
+
1141
+ .schema-tooltip-inline-args {
1142
+ display: inline-flex;
1143
+ flex-wrap: wrap;
1144
+ align-items: center;
1145
+ gap: .3rem;
1146
+ font-family: Consolas, 'Courier New', monospace;
1147
+ }
1148
+
1149
+ .schema-tooltip-usage-list {
1150
+ margin-top: .6rem;
1151
+ display: flex;
1152
+ flex-direction: column;
1153
+ gap: .4rem;
1154
+ }
1155
+
1156
+ .schema-tooltip-usage-item {
1157
+ display: flex;
1158
+ flex-wrap: wrap;
1159
+ align-items: center;
1160
+ gap: .3rem;
1161
+ font-family: Consolas, 'Courier New', monospace;
1162
+ font-size: .9rem;
1163
+ }
1164
+
1165
+ .schema-tooltip-muted {
1166
+ color: #7f8b99 !important;
1167
+ }
1168
+
1169
+ .schema-tooltip-muted.field-type,
1170
+ .schema-tooltip-muted.field-type-prefix,
1171
+ .schema-tooltip-muted.field-type-suffix,
1172
+ .schema-tooltip-muted.field-type-non-null {
1173
+ color: #7f8b99 !important;
1174
+ }
1175
+
1176
+ .btn.btn-toggle-schema-viewer {
1177
+ position: fixed;
1178
+ z-index: 1001;
1179
+ top: 8rem;
1180
+ right: -2rem;
1181
+ // top: 1.75rem;
1182
+ // left: -3.75rem;
1183
+ // z-index: 1000;
1184
+ direction: ltr;
1185
+ transform: rotate(-90deg);
1186
+ text-transform: uppercase;
1187
+ border-top-left-radius:1rem;
1188
+ border-top-right-radius:1rem;
1189
+ transition: all 0.3s ease-in-out;
1190
+ }
1191
+
1192
+ .schema-viewer-error {
1193
+ position: fixed;
1194
+ top: 5rem;
1195
+ right: 0;
1196
+ z-index: 1010;
1197
+ padding: .8rem;
1198
+ border-radius: 1rem;
1199
+ background-color: #f44336;
1200
+ border-color: #d32f2f;
1201
+ box-shadow: 0 2px 4px rgba(244, 67, 54, 0.5);
1202
+ color: #fff;
1203
+ margin: .5rem 0;
1204
+ pre {
1205
+ margin: 0;
1206
+ padding: 0;
1207
+ overflow: auto;
1208
+ }
1209
+ transition: all 0.3s ease-in-out;
1210
+ opacity: .5;
1211
+ }
1212
+
1213
+ .btn.schema-download-retry {
1214
+ margin-top: .5rem;
1215
+ background-color: #fff;
1216
+ color: #f44336;
1217
+ border: 1px solid #d32f2f;
1218
+ &:hover {
1219
+ background-color: #f44336;
1220
+ color: #fff;
1221
+ }
1222
+ position: absolute;
1223
+ left: 50%;
1224
+ transform: translateX(-50%);
1225
+ border-radius: .8rem;
1226
+ }
1227
+
1228
+ .type-definition {
1229
+ margin-bottom: .5rem;
1230
+ .field {
1231
+ margin-bottom: .2rem;
1232
+ }
1233
+ .field-name {
1234
+ margin-left: 1rem;
1235
+ }
1236
+ .field-type-wrapper {
1237
+ display: inline-flex;
1238
+ align-items: center;
1239
+ gap: .05rem;
1240
+ }
1241
+ .field-type {
1242
+ font-style: italic;
1243
+ color: #4fc3f7;
1244
+ text-shadow: 0 0 6px rgba(79, 195, 247, 0.18);
1245
+ }
1246
+ .field-type-link {
1247
+ text-decoration: none;
1248
+ }
1249
+ .field-type-link .field-type {
1250
+ color: #4fc3f7;
1251
+ }
1252
+ .field-type-prefix,
1253
+ .field-type-suffix {
1254
+ color: #ffca28;
1255
+ font-weight: 700;
1256
+ text-shadow: 0 0 6px rgba(255, 202, 40, 0.2);
1257
+ }
1258
+ .field-type-non-null {
1259
+ color: #ff6b6b;
1260
+ font-weight: 800;
1261
+ text-shadow: 0 0 6px rgba(255, 107, 107, 0.22);
1262
+ }
1263
+ .bracket {
1264
+ font-weight: bold;
1265
+ color: #802080;
1266
+ }
1267
+ .equal {
1268
+ font-weight: bold;
1269
+ }
1270
+ .colon {
1271
+ font-weight: bold;
1272
+ color: #208020;
1273
+ }
1274
+ .keyword {
1275
+ font-weight: bold;
1276
+ color: #2080f0;
1277
+ }
1278
+ .type-name {
1279
+ font-weight: bold;
1280
+ color: #20f020;
1281
+ }
1282
+ .field-args {
1283
+ margin-left: .25rem;
1284
+ }
1285
+ .field-arg-name {
1286
+ color: #f0c020;
1287
+ }
1288
+ .field-type-link {
1289
+ text-decoration: none;
1290
+ }
1291
+ .field-arg-default {
1292
+ color: #d0d0d0;
1293
+ }
1294
+ .field-arg-description {
1295
+ color: #9aa4ad;
1296
+ font-size: .9em;
1297
+ margin-left: .35rem;
1298
+ }
1299
+ }
1300
+ .type-definition {
1301
+ & > * {
1302
+ min-width: max-content;
1303
+ padding-right: 1rem;
1304
+ }
1305
+ }
1306
+ .field {
1307
+ min-width: max-content;
1308
+ & > * {
1309
+ min-width: max-content;
1310
+ white-space: nowrap;
1311
+ display: inline-block;
1312
+ }
1313
+ }
1314
+
1315
+ .enum-name {
1316
+ font-weight: bold;
1317
+ color: #20a080;
1318
+ padding-left: 1rem;
1319
+ }