caixanegra 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,804 @@
1
+ $accent-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
2
+ $accent-color: rgb(105, 105, 105);
3
+ $accent-highlight-color: lighten($accent-color, 20%);
4
+ $accent-contrast-color: darken($accent-color, 20%);
5
+
6
+ #execution {
7
+ position: fixed;
8
+ display: flex;
9
+ flex-direction: row;
10
+ top: 8px;
11
+ right: 8px;
12
+
13
+ div {
14
+ cursor: pointer;
15
+ transition: all 250ms ease-in-out;
16
+ height: 18px;
17
+ width: 18px;
18
+ margin-left: 8px;
19
+
20
+ &:hover {
21
+ transform: scale(1.1);
22
+ }
23
+
24
+ svg {
25
+ path, polygon {
26
+ fill: white;
27
+ }
28
+ }
29
+ }
30
+
31
+ #reset {
32
+ display: none;
33
+ }
34
+
35
+ #console {
36
+ display: none;
37
+ }
38
+ }
39
+
40
+ #addUnit {
41
+ position: fixed;
42
+ border-radius: 50%;
43
+ bottom: 25px;
44
+ left: 25px;
45
+ padding: 25px;
46
+ background-color: $accent-color;
47
+ user-select: none;
48
+ box-shadow: $accent-shadow;
49
+ transition: all 250ms ease-in-out;
50
+ cursor: pointer;
51
+
52
+ span {
53
+ position: absolute;
54
+ top: 50%;
55
+ left: 50%;
56
+ transform: translate(-50%, -50%);
57
+ font-family: monospace;
58
+ font-size: 30px;
59
+ color: white;
60
+ transition: all 250ms ease-in-out;
61
+ }
62
+
63
+ &.-open {
64
+ span {
65
+ transform: translate(-50%, -50%) rotate(45deg);
66
+ font-size: 40px;
67
+ }
68
+ }
69
+
70
+ &:hover {
71
+ transform: scale(1.1);
72
+ background-color: $accent-highlight-color;
73
+ }
74
+ }
75
+
76
+ #save {
77
+ position: fixed;
78
+ border-radius: 50%;
79
+ bottom: 35px;
80
+ left: 110px;
81
+ padding: 15px;
82
+ background-color: $accent-color;
83
+ user-select: none;
84
+ box-shadow: $accent-shadow;
85
+ transition: all 250ms ease-in-out;
86
+ cursor: pointer;
87
+
88
+ span {
89
+ position: absolute;
90
+ top: 50%;
91
+ left: 50%;
92
+ transform: translate(-50%, -50%);
93
+ font-family: monospace;
94
+ font-size: 10px;
95
+ color: white;
96
+ }
97
+
98
+ &:hover {
99
+ transform: scale(1.1);
100
+ background-color: $accent-highlight-color;
101
+ }
102
+ }
103
+
104
+ #unitMenu {
105
+ position: fixed;
106
+ left: 100px;
107
+ bottom: 25px;
108
+ width: 350px;
109
+ height: 60%;
110
+ padding: 5px;
111
+ background-color: $accent-color;
112
+ transition: all 250ms ease-in-out;
113
+ transform: translateY(200%);
114
+ overflow-y: auto;
115
+ box-shadow: $accent-shadow;
116
+ border-radius: 5px;
117
+
118
+ &.-open {
119
+ transform: translateY(0%);
120
+ }
121
+
122
+ .unit {
123
+ display: flex;
124
+ flex-direction: row;
125
+ background-color: lighten($accent-color, 20%);
126
+ width: 100%;
127
+ box-sizing: border-box;
128
+ cursor: pointer;
129
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
130
+ margin-bottom: 8px;
131
+
132
+ &:hover {
133
+ background-color: lighten($accent-highlight-color, 20%);
134
+ }
135
+
136
+ .content {
137
+ padding: 4px 6px;
138
+ }
139
+
140
+ .color-code {
141
+ width: 15px;
142
+ }
143
+
144
+ .header {
145
+ display: flex;
146
+ align-items: center;
147
+ font-size: 14px;
148
+
149
+ .name {
150
+ margin-right: 10px;
151
+ font-weight: bold;
152
+ }
153
+
154
+ .type {
155
+ font-size: 0.7em;
156
+ color: rgba(0,0,0,.7);
157
+ }
158
+ }
159
+
160
+ .description {
161
+ margin-top: 5px;
162
+ font-size: 12px;
163
+ }
164
+ }
165
+ }
166
+
167
+ #executionConsole, #executionConfiguration {
168
+ position: fixed;
169
+ top: -120%;
170
+ right: 60px;
171
+ max-height: 50%;
172
+ background-color: $accent-color;
173
+ transition: all 250ms ease-in-out;
174
+ box-shadow: $accent-shadow;
175
+ border-bottom-left-radius: 5px;
176
+ border-bottom-right-radius: 5px;
177
+ width: 350px;
178
+ padding: 4px;
179
+ overflow-y: auto;
180
+ z-index: 1000;
181
+
182
+ &.-open {
183
+ top: 0%;
184
+ }
185
+ }
186
+
187
+ #executionConfiguration {
188
+ width: auto;
189
+ max-width: 70%;
190
+
191
+ .section {
192
+ font-family: Verdana;
193
+ font-size: 1em;
194
+ font-weight: bold;
195
+ margin-bottom: 10px;
196
+ display: flex;
197
+ flex-direction: row;
198
+ justify-content: space-between;
199
+ align-items: center;
200
+
201
+ #clearCarryOverObject {
202
+ font-size: 0.5em;
203
+ color: $accent-contrast-color;
204
+ font-weight: normal;
205
+ margin-left: 15px;
206
+ cursor: pointer;
207
+ }
208
+ }
209
+
210
+ div[data-type] {
211
+ position: relative;
212
+ }
213
+
214
+ div[data-type='array'] {
215
+ background-color: lighten($accent-color, 5%);
216
+ padding: 4px;
217
+ }
218
+
219
+ div[data-type='object'] {
220
+ background-color: lighten($accent-color, 8%);
221
+ padding: 4px;
222
+
223
+ & > div > div.row {
224
+ display: flex;
225
+ flex-direction: row;
226
+ }
227
+ }
228
+
229
+ #carryOverObject {
230
+ padding: 5px;
231
+ font-family: monospace;
232
+
233
+ button {
234
+ font-size: 0.8em;
235
+ font-family: monospace;
236
+ background-color: $accent-highlight-color;
237
+ border: 1px solid $accent-color;
238
+ color: black;
239
+ padding: 3px 6px;
240
+ cursor: pointer;
241
+ transition: all 250ms ease-in-out;
242
+ height: 100%;
243
+
244
+ &:hover {
245
+ background-color: $accent-contrast-color;
246
+ color: $accent-highlight-color;
247
+ }
248
+ }
249
+
250
+ input {
251
+ font-size: 0.8em;
252
+ width: 100%;
253
+ box-sizing: border-box;
254
+ background-color: $accent-highlight-color;
255
+ padding: 6px 4px;
256
+ border: none;
257
+ outline: none;
258
+ font-family: monospace;
259
+ }
260
+
261
+ .-inline, .-indent {
262
+ display: flex
263
+ }
264
+
265
+ .-inline {
266
+ flex-direction: row;
267
+
268
+ & > .key-side {
269
+ margin-right: 5px;
270
+ }
271
+ }
272
+
273
+ .-indent {
274
+ flex-direction: column;
275
+
276
+ & > div[data-type] {
277
+ margin-left: 10px;
278
+ }
279
+
280
+ & > .key-side {
281
+ margin-right: 0;
282
+ }
283
+ }
284
+
285
+ [data-type='array'] > div > div > div[data-type] {
286
+ margin-left: 0 !important;
287
+ }
288
+
289
+ .row {
290
+ margin: 5px 0;
291
+ }
292
+ }
293
+ }
294
+
295
+ #executionConsole {
296
+ background-color: rgb(10, 10, 10);
297
+
298
+ .console-entry {
299
+ display: flex;
300
+ flex-direction: row;
301
+ font-family: monospace;
302
+ font-size: 0.7em;
303
+ color: rgb(245, 245, 245);
304
+
305
+ .timestamp {
306
+ font-weight: bold;
307
+ white-space: nowrap;
308
+ }
309
+
310
+ .message {
311
+ margin-left: 8px;
312
+ }
313
+ }
314
+ }
315
+
316
+ #unitDebugHits {
317
+ position: fixed;
318
+ top: 6%;
319
+ right: -100%;
320
+ width: 300px;
321
+ max-height: 89%;
322
+ background-color: $accent-color;
323
+ transition: all 250ms 0ms ease-in-out;
324
+ overflow-y: auto;
325
+ box-shadow: $accent-shadow;
326
+ border-top-left-radius: 5px;
327
+ border-bottom-left-radius: 5px;
328
+ display: flex;
329
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
330
+
331
+ &.-open {
332
+ right: 350px;
333
+ transition: all 250ms 150ms ease-in-out;
334
+ }
335
+
336
+ .content {
337
+ padding: 5px;
338
+ width: 100%;
339
+ box-sizing: border-box;
340
+ overflow-y: auto;
341
+
342
+ .json-indent {
343
+ display: inline-block;
344
+ width: 5px;
345
+ }
346
+
347
+ .name {
348
+ font-size: 1em;
349
+ font-weight: bold;
350
+ width: 100%;
351
+ }
352
+ }
353
+
354
+ .step-hit {
355
+ margin: 8px 0 8px 0;
356
+ background-color: rgba(255,255,255,0.1);
357
+ padding: 6px;
358
+ transition: all 250ms ease-in-out;
359
+
360
+ &:hover {
361
+ background-color: white;
362
+ }
363
+
364
+ .hit-header {
365
+ font-size: 0.9em;
366
+ font-weight: bold;
367
+ margin-bottom: 5px;
368
+ position: relative;
369
+ padding-left: 16px;
370
+ }
371
+
372
+ &.-ok .hit-header::before,
373
+ &.-nok .hit-header::before {
374
+ content: "";
375
+ display: block;
376
+ position: absolute;
377
+ width: 10px;
378
+ height: 10px;
379
+ top: 50%;
380
+ transform: translate(-16px, -50%);
381
+ border: solid 1px $accent-highlight-color;
382
+ border-radius: 50%;
383
+ }
384
+
385
+ &.-ok .hit-header::before {
386
+ background-color: green;
387
+ }
388
+
389
+ &.-nok .hit-header::before {
390
+ background-color: red;
391
+ }
392
+
393
+ .hit-fold {
394
+ .header {
395
+ cursor: pointer;
396
+ font-size: 0.8em;
397
+ margin-bottom: 5px;
398
+ font-weight: bold;
399
+ }
400
+
401
+ .content {
402
+ font-size: 0.7em;
403
+ display: none;
404
+ font-family: monospace;
405
+ padding: 5px;
406
+ width: 100%;
407
+ box-sizing: border-box;
408
+ overflow-y: hidden;
409
+ margin-bottom: 5px;
410
+ overflow-wrap: anywhere;
411
+
412
+ .carry-over {
413
+ overflow: auto;
414
+ }
415
+
416
+ &.-open {
417
+ display: block;
418
+ }
419
+ }
420
+ }
421
+ }
422
+ }
423
+
424
+ #unitDetail {
425
+ position: fixed;
426
+ top: 5%;
427
+ right: -100%;
428
+ width: 350px;
429
+ max-height: 90%;
430
+ background-color: $accent-color;
431
+ transition: all 250ms ease-in-out;
432
+ overflow-y: auto;
433
+ box-shadow: $accent-shadow;
434
+ border-top-left-radius: 5px;
435
+ border-bottom-left-radius: 5px;
436
+ display: flex;
437
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
438
+
439
+ #dynamicContent {
440
+ .field {
441
+ padding: 6px;
442
+ transition: all 250ms ease-in-out;
443
+ background-color: rgba(255,255,255,0.1);
444
+
445
+ &:hover {
446
+ background-color: white;
447
+ }
448
+ }
449
+ }
450
+
451
+ .field {
452
+ width: 100%;
453
+ margin-bottom: 5px;
454
+ box-sizing: border-box;
455
+
456
+ select {
457
+ box-sizing: border-box;
458
+ background-color: $accent-highlight-color;
459
+ padding: 6px 4px;
460
+ border: none;
461
+ outline: none;
462
+ }
463
+
464
+ .field-header {
465
+ display: flex;
466
+ justify-content: space-between;
467
+ align-items: center;
468
+
469
+ & > div {
470
+ font-size: 0.8em;
471
+ font-weight: bold;
472
+ }
473
+
474
+ .type {
475
+ font-size: 0.7em;
476
+ color: $accent-highlight-color;
477
+ }
478
+
479
+ .name .internal {
480
+ color: $accent-contrast-color;
481
+ font-size: 0.6em;
482
+ }
483
+
484
+ select {
485
+ width: auto !important;
486
+ }
487
+ }
488
+
489
+ .field-description {
490
+ font-size: 0.7em;
491
+ color: $accent-contrast-color;
492
+ margin-top: 5px;
493
+ margin-bottom: 5px;
494
+ }
495
+
496
+ select {
497
+ width: 100%;
498
+ }
499
+
500
+ input {
501
+ width: 100%;
502
+ box-sizing: border-box;
503
+ background-color: $accent-highlight-color;
504
+ padding: 6px 4px;
505
+ border: none;
506
+ outline: none;
507
+
508
+ &.-monospace {
509
+ font-family: monospace;
510
+ }
511
+ }
512
+ }
513
+
514
+ .unit-exit {
515
+ padding: 6px;
516
+ transition: all 250ms ease-in-out;
517
+ text-align: center;
518
+
519
+ background-color: rgba(255,255,255,0.1);
520
+
521
+ &:hover {
522
+ background-color: white;
523
+ }
524
+
525
+ .field-name {
526
+ font-size: 0.8em;
527
+ font-weight: bold;
528
+ margin-bottom: 5px;
529
+ }
530
+
531
+ button {
532
+ background-color: $accent-highlight-color;
533
+ border: 1px solid $accent-color;
534
+ color: black;
535
+ padding: 3px 6px;
536
+ cursor: pointer;
537
+ transition: all 250ms ease-in-out;
538
+ margin-top: 4px;
539
+
540
+ &:hover {
541
+ background-color: $accent-contrast-color;
542
+ color: $accent-highlight-color;
543
+ }
544
+ }
545
+
546
+ .exit-mapping {
547
+ display: flex;
548
+ justify-content: space-between;
549
+ margin-bottom: 8px;
550
+
551
+ .mapping-values {
552
+ width: 100%;
553
+ margin-right: 5px;
554
+ }
555
+
556
+ .label-pair {
557
+ display: flex;
558
+ flex-direction: row;
559
+ align-items: center;
560
+
561
+ margin-bottom: 3px;
562
+
563
+ &:last-child {
564
+ margin-bottom: unset;
565
+ }
566
+
567
+ .label {
568
+ font-size: 0.75em;
569
+ width: 35px;
570
+ }
571
+
572
+ input {
573
+ width: 100%;
574
+ box-sizing: border-box;
575
+ background-color: $accent-highlight-color;
576
+ padding: 6px 4px;
577
+ border: none;
578
+ outline: none;
579
+ font-family: monospace;
580
+ }
581
+ }
582
+
583
+ button {
584
+ margin-top: unset;
585
+ }
586
+ }
587
+ }
588
+
589
+ .unit-input {
590
+ .unit-input-value {
591
+ &.-disabled {
592
+ display: none;
593
+
594
+ input, select {
595
+ pointer-events: none;
596
+ }
597
+ }
598
+ }
599
+ }
600
+
601
+ .color-code {
602
+ width: 8px;
603
+ }
604
+
605
+ .content {
606
+ padding: 5px;
607
+ width: 100%;
608
+ box-sizing: border-box;
609
+ overflow-y: auto;
610
+
611
+ .unit-detail-headers {
612
+ font-weight: bold;
613
+ }
614
+
615
+ #dynamicContent {
616
+ .unit-detail-headers {
617
+ font-size: 0.8em;
618
+ margin-top: 5px;
619
+ margin-bottom: 5px;
620
+ }
621
+ }
622
+
623
+ #unitDetailClass {
624
+ display: flex;
625
+ flex-direction: row;
626
+ justify-content: space-between;
627
+
628
+ .name {
629
+ font-size: 1em;
630
+ font-weight: bold;
631
+ width: 100%;
632
+ }
633
+
634
+ .delete {
635
+ display: flex;
636
+ flex-direction: row;
637
+ justify-content: flex-end;
638
+ align-items: center;
639
+ min-width: 80px;
640
+ font-size: 0.5em;
641
+ user-select: none;
642
+
643
+ #toggler {
644
+ position: absolute;
645
+ opacity: 1;
646
+ pointer-events: all;
647
+ cursor: pointer;
648
+ transition: opacity 250ms ease-in-out;
649
+ width: 12px;
650
+ height: 12px;
651
+
652
+ path {
653
+ fill: $accent-contrast-color;
654
+ }
655
+ }
656
+
657
+ .confirm-buttons {
658
+ display: flex;
659
+ flex-direction: row;
660
+ position: absolute;
661
+ opacity: 0;
662
+ pointer-events: none;
663
+ cursor: pointer;
664
+ transition: opacity 250ms ease-in-out;
665
+
666
+ & > div {
667
+ margin-left: 3px;
668
+ }
669
+
670
+ #confirmDelete, #cancelDelete {
671
+ width: 12px;
672
+ height: 12px;
673
+ }
674
+
675
+ #confirmDelete {
676
+ path {
677
+ fill: rgb(0,50,0);
678
+ }
679
+ }
680
+
681
+ #cancelDelete {
682
+ path {
683
+ fill: rgb(50,0,0);
684
+ }
685
+ }
686
+ }
687
+
688
+ &.-confirming {
689
+ #toggler {
690
+ opacity: 0;
691
+ pointer-events: none;
692
+ }
693
+
694
+ .confirm-buttons {
695
+ opacity: 1;
696
+ pointer-events: all;
697
+ }
698
+ }
699
+ }
700
+ }
701
+
702
+ #unitDetailDescription {
703
+ font-size: 0.75em;
704
+ margin-bottom: 5px;
705
+ padding-bottom: 10px;
706
+ border-bottom: 1px solid rgb(200, 200, 200);
707
+ }
708
+ }
709
+
710
+ &.-open {
711
+ right: 0%;
712
+ }
713
+ }
714
+
715
+ #blocker {
716
+ pointer-events: all;
717
+ z-index: 99999;
718
+ position: fixed;
719
+ top:0;
720
+ left:0;
721
+ right:0;
722
+ bottom:0;
723
+ background-color: rgb(0,0,0);
724
+ transition: opacity 250ms ease-in-out;
725
+ opacity: 1;
726
+
727
+ .information {
728
+ position: absolute;
729
+ top: 50%;
730
+ left: 50%;
731
+ transform: translate(-50%, -50%);
732
+ color: white;
733
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
734
+ letter-spacing: 1px;
735
+ font-size: 26px;
736
+ text-align: center;
737
+
738
+ & > div > span {
739
+ color:rgb(105, 105, 105);
740
+ }
741
+
742
+ .message {
743
+ margin-top: 5px;
744
+ font-family: monospace;
745
+ font-size: 0.35em;
746
+ opacity: 0.6;
747
+ }
748
+ }
749
+
750
+ &.-released {
751
+ pointer-events: none;
752
+ opacity: 0;
753
+ }
754
+ }
755
+
756
+ #action_messenger {
757
+ pointer-events: none;
758
+ position: fixed;
759
+ bottom: 10px;
760
+ right: -100%;
761
+ background-color: $accent-color;
762
+ border-top-left-radius: 5px;
763
+ border-bottom-left-radius: 5px;
764
+ box-shadow: $accent-shadow;
765
+ opacity: 1;
766
+ transition: right 450ms ease-in-out;
767
+ font-family: monospace;
768
+ padding: 15px;
769
+ color: white;
770
+ display: flex;
771
+ align-items: center;
772
+ height: 35px;
773
+
774
+ &.-visible {
775
+ right: 0%;
776
+ }
777
+
778
+ .icon {
779
+ width: 25px;
780
+ height: 25px;
781
+ margin-right: 10px;
782
+
783
+ &.icon-working {
784
+ width: 32px;
785
+ height: 32px;
786
+ animation: infi_rotate;
787
+ animation-timing-function: linear;
788
+ animation-duration: 2s;
789
+ animation-iteration-count: infinite;
790
+ animation-fill-mode: forwards;
791
+ }
792
+
793
+ svg {
794
+ stroke: white;
795
+ fill: white;
796
+ }
797
+ }
798
+
799
+ }
800
+
801
+ @keyframes infi_rotate {
802
+ from { transform: rotate(0deg); }
803
+ to { transform: rotate(359deg); }
804
+ }