@linkdlab/funcnodes_react_flow 0.3.12 → 0.3.14

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,1726 @@
1
+ @charset "UTF-8";
2
+ :root {
3
+ --expandtime: 0.3s;
4
+ --libnodebgcolor: #48465f;
5
+ --libnodebgcolor_hover: #6a6698;
6
+ }
7
+
8
+ .libcontainer {
9
+ top: 0;
10
+ left: 0;
11
+ height: 100%;
12
+ padding: 0.5rem;
13
+ box-sizing: border-box;
14
+ display: flex;
15
+ flex-direction: column;
16
+ border-radius: 0.5rem;
17
+ }
18
+
19
+ .library {
20
+ display: flex;
21
+ flex-direction: column;
22
+ flex-grow: 1;
23
+ overflow: hidden;
24
+ width: 15rem;
25
+ background-color: var(--funcnodesbackground2);
26
+ border-radius: var(--containerboarderradius);
27
+ padding: 0.5rem;
28
+ }
29
+ .library .libtitle {
30
+ font-size: 1rem;
31
+ font-weight: bold;
32
+ color: var(--funheadercolor);
33
+ }
34
+ .library hr {
35
+ width: 100%;
36
+ }
37
+ .library hr.hr_prominent {
38
+ border: 0.5px solid var(--funheadercolor);
39
+ }
40
+
41
+ .addlib {
42
+ background-color: var(--funcnodesbackground2);
43
+ border-radius: var(--containerboarderradius);
44
+ padding: 0.5rem;
45
+ }
46
+ .addlib button {
47
+ background-color: var(--funcnodesbackground1);
48
+ color: var(--funheadercolor);
49
+ border: 0;
50
+ border-radius: 0.5rem;
51
+ padding: 0.5rem;
52
+ cursor: pointer;
53
+ font-size: 1rem;
54
+ width: 100%;
55
+ }
56
+ .addlib button:hover {
57
+ background-color: var(--funheadercolor);
58
+ color: var(--funcnodesbackground1);
59
+ }
60
+ .addlib button:active {
61
+ background-color: var(--funcnodesbackground1);
62
+ color: var(--funcnodestextcolor1);
63
+ }
64
+ .addlib button[disabled] {
65
+ background-color: var(--funcnodesbackground1);
66
+ color: var(--funcnodestextcolor1);
67
+ cursor: not-allowed;
68
+ }
69
+
70
+ .libfilter {
71
+ display: flex;
72
+ width: 100%;
73
+ flex-direction: row;
74
+ background-color: rgba(0, 0, 0, 0.1);
75
+ padding: 0.2rem;
76
+ }
77
+ .libfilter:focus-within {
78
+ border: 1px solid var(--funheadercolor);
79
+ }
80
+ .libfilter input {
81
+ flex-grow: 1;
82
+ background-color: transparent;
83
+ color: var(--funcnodestextcolor1);
84
+ border: 0;
85
+ }
86
+ .libfilter input:focus {
87
+ outline: none;
88
+ }
89
+
90
+ .libnodecontainer {
91
+ display: grid;
92
+ transition: grid-template-rows var(--expandtime) ease-out;
93
+ }
94
+ .libnodecontainer.close {
95
+ grid-template-rows: 0fr;
96
+ }
97
+ .libnodecontainer.open {
98
+ grid-template-rows: 1fr;
99
+ }
100
+ .libnodecontainer_inner {
101
+ transition: opacity var(--expandtime) ease-out;
102
+ overflow: hidden;
103
+ padding-left: 10px;
104
+ }
105
+ .libnodecontainer.close .libnodecontainer_inner {
106
+ opacity: 0.2;
107
+ }
108
+ .libnodecontainer.open .libnodecontainer_inner {
109
+ opacity: 1;
110
+ }
111
+
112
+ .shelfcontainer {
113
+ padding-top: 0.2rem;
114
+ padding-bottom: 0.2rem;
115
+ display: flex;
116
+ flex-direction: column;
117
+ }
118
+ .shelfcontainer .shelftitle {
119
+ font-size: 0.8rem;
120
+ color: var(--funheadercolor);
121
+ opacity: 0.8;
122
+ display: flex;
123
+ max-width: 100%;
124
+ }
125
+ .shelfcontainer .shelftitle_text {
126
+ flex-grow: 1;
127
+ overflow: hidden;
128
+ text-overflow: ellipsis;
129
+ }
130
+
131
+ .libnodeentry {
132
+ border-radius: 10px;
133
+ box-sizing: border-box;
134
+ background-color: var(--libnodebgcolor);
135
+ margin-bottom: 0.2rem;
136
+ padding: 0.1rem;
137
+ cursor: pointer;
138
+ border: 1px solid var(--libnodebgcolor);
139
+ transition: border 0.2s ease-in-out;
140
+ font-size: 0.8rem;
141
+ box-shadow: -0.2rem 0px rgb(0, 76, 255);
142
+ }
143
+ .libnodeentry:hover {
144
+ background-color: var(--libnodebgcolor_hover);
145
+ border: 1px solid rgb(0, 76, 255);
146
+ }
147
+
148
+ .expandicon {
149
+ transform: rotate(0deg);
150
+ transition: transform var(--expandtime) ease-out;
151
+ }
152
+ .expandicon.close {
153
+ transform: rotate(180deg);
154
+ }
155
+
156
+ .addable-module {
157
+ border: 1px solid #ddd;
158
+ border-radius: 8px;
159
+ padding: 16px;
160
+ margin-bottom: 12px;
161
+ background-color: #f9f9f9;
162
+ transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;
163
+ margin-left: 20px;
164
+ margin-right: 20px;
165
+ }
166
+ .addable-module:hover {
167
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
168
+ transform: translateY(-2px);
169
+ }
170
+ .addable-module .module-name {
171
+ font-size: 1.2rem;
172
+ font-weight: bold;
173
+ color: #333;
174
+ margin-bottom: 8px;
175
+ }
176
+ .addable-module .module-description {
177
+ font-size: 0.75rem;
178
+ color: #666;
179
+ margin-bottom: 8px;
180
+ max-height: 200px;
181
+ overflow: auto;
182
+ }
183
+ .addable-module .module-links {
184
+ font-size: 0.9rem;
185
+ color: #007bff;
186
+ margin-bottom: 8px;
187
+ text-decoration: underline;
188
+ }
189
+ .addable-module .add-button {
190
+ background-color: #28a745;
191
+ border: none;
192
+ color: white;
193
+ padding: 8px 12px;
194
+ border-radius: 4px;
195
+ cursor: pointer;
196
+ font-size: 0.95rem;
197
+ transition: background-color 0.2s ease;
198
+ }
199
+ .addable-module .add-button:hover {
200
+ background-color: #218838;
201
+ }
202
+ .addable-module .remove-button {
203
+ background-color: #dc3545;
204
+ border: none;
205
+ color: white;
206
+ padding: 8px 12px;
207
+ border-radius: 4px;
208
+ cursor: pointer;
209
+ font-size: 0.95rem;
210
+ transition: background-color 0.2s ease;
211
+ }
212
+ .addable-module .remove-button:hover {
213
+ background-color: #c82333;
214
+ }
215
+ .addable-module .update-button {
216
+ background-color: #007bff;
217
+ border: none;
218
+ color: white;
219
+ padding: 8px 12px;
220
+ border-radius: 4px;
221
+ cursor: pointer;
222
+ font-size: 0.95rem;
223
+ transition: background-color 0.2s ease;
224
+ }
225
+ .addable-module .update-button:hover {
226
+ background-color: #0056b3;
227
+ }
228
+ .addable-module .update-button[disabled] {
229
+ background-color: #6c757d;
230
+ cursor: not-allowed;
231
+ }
232
+ .addable-module .toggle-description {
233
+ background-color: transparent;
234
+ border: none;
235
+ color: #007bff;
236
+ cursor: pointer;
237
+ font-size: 0.8rem;
238
+ margin-top: 4px;
239
+ text-decoration: underline;
240
+ padding: 0;
241
+ transition: color 0.2s ease;
242
+ }
243
+ .addable-module .toggle-description:hover {
244
+ color: #0056b3;
245
+ }
246
+
247
+ :root {
248
+ --funcnodesedgecolor: #7bb3ec;
249
+ }
250
+
251
+ .funcnodes-edge .react-flow__edge-path {
252
+ stroke: var(--funcnodesedgecolor);
253
+ stroke-width: 2px;
254
+ }
255
+ .funcnodes-edge.selected .react-flow__edge-path {
256
+ stroke: #11ff00;
257
+ }
258
+
259
+ .dialogoverlay {
260
+ background-color: rgba(0, 0, 0, 0.5);
261
+ position: fixed;
262
+ inset: 0;
263
+ animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
264
+ z-index: 2000;
265
+ }
266
+
267
+ .dialogconent {
268
+ background-color: var(--funcnodesbackground1);
269
+ border-radius: 6px;
270
+ box-shadow: var(--funheadercolor) 0px 10px 38px -10px, var(--funheadercolor) 0px 10px 20px -15px;
271
+ position: fixed;
272
+ top: 50%;
273
+ left: 50%;
274
+ transform: translate(-50%, -50%);
275
+ width: 90vw;
276
+ max-width: 85vw;
277
+ max-height: 85vh;
278
+ padding: 25px;
279
+ animation: contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
280
+ color: var(--funcnodestextcolor1);
281
+ border: 1px solid var(--funheadercolor);
282
+ display: flex;
283
+ flex-direction: column;
284
+ z-index: 2001;
285
+ }
286
+
287
+ .dialogtitle {
288
+ margin: 0;
289
+ font-weight: 500;
290
+ color: var(--funheadercolor);
291
+ font-size: 17px;
292
+ }
293
+
294
+ .dialogdescription {
295
+ margin: 10px 0 20px;
296
+ font-size: 15px;
297
+ line-height: 1.5;
298
+ }
299
+
300
+ .dialogclosebutton {
301
+ border-radius: 100%;
302
+ height: 25px;
303
+ width: 25px;
304
+ display: inline-flex;
305
+ background-color: inherit;
306
+ align-items: center;
307
+ justify-content: center;
308
+ color: var(--funheadercolor);
309
+ position: absolute;
310
+ top: 10px;
311
+ right: 10px;
312
+ border: none;
313
+ }
314
+ .dialogclosebutton:hover {
315
+ background-color: var(--funheadercolor);
316
+ color: var(--funcnodesbackground1);
317
+ }
318
+ .dialogclosebutton:active {
319
+ background-color: var(--funheadercolor);
320
+ color: var(--funcnodestextcolor1);
321
+ }
322
+
323
+ .dialogsendbutton {
324
+ background-color: var(--funcnodesbackground1);
325
+ color: var(--funheadercolor);
326
+ border: 1px solid var(--funheadercolor);
327
+ border-radius: 99rem;
328
+ padding: 10px 20px;
329
+ cursor: pointer;
330
+ font-size: 15px;
331
+ margin-top: 20px;
332
+ }
333
+ .dialogsendbutton:hover {
334
+ background-color: var(--funheadercolor);
335
+ color: var(--funcnodesbackground1);
336
+ }
337
+ .dialogsendbutton:active {
338
+ background-color: var(--funheadercolor);
339
+ color: var(--funcnodestextcolor1);
340
+ }
341
+
342
+ .dialogchildren {
343
+ margin-top: 20px;
344
+ overflow: auto;
345
+ }
346
+
347
+ /* this gets exported as style.css and can be used for the default theming */
348
+ /* these are the necessary styles for React Flow, they get used by base.css and style.css */
349
+ .react-flow {
350
+ direction: ltr;
351
+ }
352
+
353
+ .react-flow__container {
354
+ position: absolute;
355
+ width: 100%;
356
+ height: 100%;
357
+ top: 0;
358
+ left: 0;
359
+ }
360
+
361
+ .react-flow__pane {
362
+ z-index: 1;
363
+ cursor: -webkit-grab;
364
+ cursor: grab;
365
+ }
366
+
367
+ .react-flow__pane.selection {
368
+ cursor: pointer;
369
+ }
370
+
371
+ .react-flow__pane.dragging {
372
+ cursor: -webkit-grabbing;
373
+ cursor: grabbing;
374
+ }
375
+
376
+ .react-flow__viewport {
377
+ transform-origin: 0 0;
378
+ z-index: 2;
379
+ pointer-events: none;
380
+ }
381
+
382
+ .react-flow__renderer {
383
+ z-index: 4;
384
+ }
385
+
386
+ .react-flow__selection {
387
+ z-index: 6;
388
+ }
389
+
390
+ .react-flow__nodesselection-rect:focus,
391
+ .react-flow__nodesselection-rect:focus-visible {
392
+ outline: none;
393
+ }
394
+
395
+ .react-flow .react-flow__edges {
396
+ pointer-events: none;
397
+ overflow: visible;
398
+ }
399
+
400
+ .react-flow__edge-path,
401
+ .react-flow__connection-path {
402
+ stroke: #b1b1b7;
403
+ stroke-width: 1;
404
+ fill: none;
405
+ }
406
+
407
+ .react-flow__edge {
408
+ pointer-events: visibleStroke;
409
+ cursor: pointer;
410
+ }
411
+
412
+ .react-flow__edge.animated path {
413
+ stroke-dasharray: 5;
414
+ -webkit-animation: dashdraw 0.5s linear infinite;
415
+ animation: dashdraw 0.5s linear infinite;
416
+ }
417
+
418
+ .react-flow__edge.animated path.react-flow__edge-interaction {
419
+ stroke-dasharray: none;
420
+ -webkit-animation: none;
421
+ animation: none;
422
+ }
423
+
424
+ .react-flow__edge.inactive {
425
+ pointer-events: none;
426
+ }
427
+
428
+ .react-flow__edge.selected,
429
+ .react-flow__edge:focus,
430
+ .react-flow__edge:focus-visible {
431
+ outline: none;
432
+ }
433
+
434
+ .react-flow__edge.selected .react-flow__edge-path,
435
+ .react-flow__edge:focus .react-flow__edge-path,
436
+ .react-flow__edge:focus-visible .react-flow__edge-path {
437
+ stroke: #555;
438
+ }
439
+
440
+ .react-flow__edge-textwrapper {
441
+ pointer-events: all;
442
+ }
443
+
444
+ .react-flow__edge-textbg {
445
+ fill: white;
446
+ }
447
+
448
+ .react-flow__edge .react-flow__edge-text {
449
+ pointer-events: none;
450
+ -webkit-user-select: none;
451
+ -moz-user-select: none;
452
+ user-select: none;
453
+ }
454
+
455
+ .react-flow__connection {
456
+ pointer-events: none;
457
+ }
458
+
459
+ .react-flow__connection .animated {
460
+ stroke-dasharray: 5;
461
+ -webkit-animation: dashdraw 0.5s linear infinite;
462
+ animation: dashdraw 0.5s linear infinite;
463
+ }
464
+
465
+ .react-flow__connectionline {
466
+ z-index: 1001;
467
+ }
468
+
469
+ .react-flow__nodes {
470
+ pointer-events: none;
471
+ transform-origin: 0 0;
472
+ }
473
+
474
+ .react-flow__node {
475
+ position: absolute;
476
+ -webkit-user-select: none;
477
+ -moz-user-select: none;
478
+ user-select: none;
479
+ pointer-events: all;
480
+ transform-origin: 0 0;
481
+ box-sizing: border-box;
482
+ cursor: -webkit-grab;
483
+ cursor: grab;
484
+ }
485
+
486
+ .react-flow__node.dragging {
487
+ cursor: -webkit-grabbing;
488
+ cursor: grabbing;
489
+ }
490
+
491
+ .react-flow__nodesselection {
492
+ z-index: 3;
493
+ transform-origin: left top;
494
+ pointer-events: none;
495
+ }
496
+
497
+ .react-flow__nodesselection-rect {
498
+ position: absolute;
499
+ pointer-events: all;
500
+ cursor: -webkit-grab;
501
+ cursor: grab;
502
+ }
503
+
504
+ .react-flow__handle {
505
+ position: absolute;
506
+ pointer-events: none;
507
+ min-width: 5px;
508
+ min-height: 5px;
509
+ width: 6px;
510
+ height: 6px;
511
+ background: #1a192b;
512
+ border: 1px solid white;
513
+ border-radius: 100%;
514
+ }
515
+
516
+ .react-flow__handle.connectionindicator {
517
+ pointer-events: all;
518
+ cursor: crosshair;
519
+ }
520
+
521
+ .react-flow__handle-bottom {
522
+ top: auto;
523
+ left: 50%;
524
+ bottom: -4px;
525
+ transform: translate(-50%, 0);
526
+ }
527
+
528
+ .react-flow__handle-top {
529
+ left: 50%;
530
+ top: -4px;
531
+ transform: translate(-50%, 0);
532
+ }
533
+
534
+ .react-flow__handle-left {
535
+ top: 50%;
536
+ left: -4px;
537
+ transform: translate(0, -50%);
538
+ }
539
+
540
+ .react-flow__handle-right {
541
+ right: -4px;
542
+ top: 50%;
543
+ transform: translate(0, -50%);
544
+ }
545
+
546
+ .react-flow__edgeupdater {
547
+ cursor: move;
548
+ pointer-events: all;
549
+ }
550
+
551
+ .react-flow__panel {
552
+ position: absolute;
553
+ z-index: 5;
554
+ margin: 15px;
555
+ }
556
+
557
+ .react-flow__panel.top {
558
+ top: 0;
559
+ }
560
+
561
+ .react-flow__panel.bottom {
562
+ bottom: 0;
563
+ }
564
+
565
+ .react-flow__panel.left {
566
+ left: 0;
567
+ }
568
+
569
+ .react-flow__panel.right {
570
+ right: 0;
571
+ }
572
+
573
+ .react-flow__panel.center {
574
+ left: 50%;
575
+ transform: translateX(-50%);
576
+ }
577
+
578
+ .react-flow__attribution {
579
+ font-size: 10px;
580
+ background: rgba(255, 255, 255, 0.5);
581
+ padding: 2px 3px;
582
+ margin: 0;
583
+ }
584
+
585
+ .react-flow__attribution a {
586
+ text-decoration: none;
587
+ color: #999;
588
+ }
589
+
590
+ @-webkit-keyframes dashdraw {
591
+ from {
592
+ stroke-dashoffset: 10;
593
+ }
594
+ }
595
+ @keyframes dashdraw {
596
+ from {
597
+ stroke-dashoffset: 10;
598
+ }
599
+ }
600
+ .react-flow__edgelabel-renderer {
601
+ position: absolute;
602
+ width: 100%;
603
+ height: 100%;
604
+ pointer-events: none;
605
+ -webkit-user-select: none;
606
+ -moz-user-select: none;
607
+ user-select: none;
608
+ }
609
+
610
+ .react-flow__edge.updating .react-flow__edge-path {
611
+ stroke: #777;
612
+ }
613
+
614
+ .react-flow__edge-text {
615
+ font-size: 10px;
616
+ }
617
+
618
+ .react-flow__node.selectable:focus,
619
+ .react-flow__node.selectable:focus-visible {
620
+ outline: none;
621
+ }
622
+
623
+ .react-flow__node-default,
624
+ .react-flow__node-input,
625
+ .react-flow__node-output,
626
+ .react-flow__node-group {
627
+ padding: 10px;
628
+ border-radius: 3px;
629
+ width: 150px;
630
+ font-size: 12px;
631
+ color: #222;
632
+ text-align: center;
633
+ border-width: 1px;
634
+ border-style: solid;
635
+ border-color: #1a192b;
636
+ background-color: white;
637
+ }
638
+
639
+ .react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
640
+ box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
641
+ }
642
+
643
+ .react-flow__node-default.selectable.selected,
644
+ .react-flow__node-default.selectable:focus,
645
+ .react-flow__node-default.selectable:focus-visible,
646
+ .react-flow__node-input.selectable.selected,
647
+ .react-flow__node-input.selectable:focus,
648
+ .react-flow__node-input.selectable:focus-visible,
649
+ .react-flow__node-output.selectable.selected,
650
+ .react-flow__node-output.selectable:focus,
651
+ .react-flow__node-output.selectable:focus-visible,
652
+ .react-flow__node-group.selectable.selected,
653
+ .react-flow__node-group.selectable:focus,
654
+ .react-flow__node-group.selectable:focus-visible {
655
+ box-shadow: 0 0 0 0.5px #1a192b;
656
+ }
657
+
658
+ .react-flow__node-group {
659
+ background-color: rgba(240, 240, 240, 0.25);
660
+ }
661
+
662
+ .react-flow__nodesselection-rect,
663
+ .react-flow__selection {
664
+ background: rgba(0, 89, 220, 0.08);
665
+ border: 1px dotted rgba(0, 89, 220, 0.8);
666
+ }
667
+
668
+ .react-flow__nodesselection-rect:focus,
669
+ .react-flow__nodesselection-rect:focus-visible,
670
+ .react-flow__selection:focus,
671
+ .react-flow__selection:focus-visible {
672
+ outline: none;
673
+ }
674
+
675
+ .react-flow__controls {
676
+ box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
677
+ }
678
+
679
+ .react-flow__controls-button {
680
+ border: none;
681
+ background: #fefefe;
682
+ border-bottom: 1px solid #eee;
683
+ box-sizing: content-box;
684
+ display: flex;
685
+ justify-content: center;
686
+ align-items: center;
687
+ width: 16px;
688
+ height: 16px;
689
+ cursor: pointer;
690
+ -webkit-user-select: none;
691
+ -moz-user-select: none;
692
+ user-select: none;
693
+ padding: 5px;
694
+ }
695
+
696
+ .react-flow__controls-button:hover {
697
+ background: #f4f4f4;
698
+ }
699
+
700
+ .react-flow__controls-button svg {
701
+ width: 100%;
702
+ max-width: 12px;
703
+ max-height: 12px;
704
+ }
705
+
706
+ .react-flow__controls-button:disabled {
707
+ pointer-events: none;
708
+ }
709
+
710
+ .react-flow__controls-button:disabled svg {
711
+ fill-opacity: 0.4;
712
+ }
713
+
714
+ .react-flow__minimap {
715
+ background-color: #fff;
716
+ }
717
+
718
+ .react-flow__minimap svg {
719
+ display: block;
720
+ }
721
+
722
+ .react-flow__resize-control {
723
+ position: absolute;
724
+ }
725
+
726
+ .react-flow__resize-control.left,
727
+ .react-flow__resize-control.right {
728
+ cursor: ew-resize;
729
+ }
730
+
731
+ .react-flow__resize-control.top,
732
+ .react-flow__resize-control.bottom {
733
+ cursor: ns-resize;
734
+ }
735
+
736
+ .react-flow__resize-control.top.left,
737
+ .react-flow__resize-control.bottom.right {
738
+ cursor: nwse-resize;
739
+ }
740
+
741
+ .react-flow__resize-control.bottom.left,
742
+ .react-flow__resize-control.top.right {
743
+ cursor: nesw-resize;
744
+ }
745
+
746
+ /* handle styles */
747
+ .react-flow__resize-control.handle {
748
+ width: 4px;
749
+ height: 4px;
750
+ border: 1px solid #fff;
751
+ border-radius: 1px;
752
+ background-color: #3367d9;
753
+ transform: translate(-50%, -50%);
754
+ }
755
+
756
+ .react-flow__resize-control.handle.left {
757
+ left: 0;
758
+ top: 50%;
759
+ }
760
+
761
+ .react-flow__resize-control.handle.right {
762
+ left: 100%;
763
+ top: 50%;
764
+ }
765
+
766
+ .react-flow__resize-control.handle.top {
767
+ left: 50%;
768
+ top: 0;
769
+ }
770
+
771
+ .react-flow__resize-control.handle.bottom {
772
+ left: 50%;
773
+ top: 100%;
774
+ }
775
+
776
+ .react-flow__resize-control.handle.top.left {
777
+ left: 0;
778
+ }
779
+
780
+ .react-flow__resize-control.handle.bottom.left {
781
+ left: 0;
782
+ }
783
+
784
+ .react-flow__resize-control.handle.top.right {
785
+ left: 100%;
786
+ }
787
+
788
+ .react-flow__resize-control.handle.bottom.right {
789
+ left: 100%;
790
+ }
791
+
792
+ /* line styles */
793
+ .react-flow__resize-control.line {
794
+ border-color: #3367d9;
795
+ border-width: 0;
796
+ border-style: solid;
797
+ }
798
+
799
+ .react-flow__resize-control.line.left,
800
+ .react-flow__resize-control.line.right {
801
+ width: 1px;
802
+ transform: translate(-50%, 0);
803
+ top: 0;
804
+ height: 100%;
805
+ }
806
+
807
+ .react-flow__resize-control.line.left {
808
+ left: 0;
809
+ border-left-width: 1px;
810
+ }
811
+
812
+ .react-flow__resize-control.line.right {
813
+ left: 100%;
814
+ border-right-width: 1px;
815
+ }
816
+
817
+ .react-flow__resize-control.line.top,
818
+ .react-flow__resize-control.line.bottom {
819
+ height: 1px;
820
+ transform: translate(0, -50%);
821
+ left: 0;
822
+ width: 100%;
823
+ }
824
+
825
+ .react-flow__resize-control.line.top {
826
+ top: 0;
827
+ border-top-width: 1px;
828
+ }
829
+
830
+ .react-flow__resize-control.line.bottom {
831
+ border-bottom-width: 1px;
832
+ top: 100%;
833
+ }
834
+
835
+ :root {
836
+ --funheadercolor: #00d9ff;
837
+ --funcnodesbackground1: hsl(243, 26%, 13%);
838
+ --funcnodesbackground2: hsl(245, 22%, 22%);
839
+ --funcnodesbackground_light: hsl(240, 22%, 38%);
840
+ --containerboarderradius: 1rem;
841
+ --funcnodestextcolor1: #ffffff;
842
+ }
843
+
844
+ .funcnodescontainer {
845
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
846
+ -webkit-font-smoothing: antialiased;
847
+ -moz-osx-font-smoothing: grayscale;
848
+ }
849
+ .funcnodescontainer code {
850
+ font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
851
+ }
852
+
853
+ .funcnodesreactflowcontainer {
854
+ width: 100%;
855
+ height: 100%;
856
+ background-color: var(--funcnodesbackground1);
857
+ position: relative;
858
+ display: flex;
859
+ flex-direction: column;
860
+ color: var(--funcnodestextcolor1);
861
+ }
862
+ .funcnodesreactflowcontainer * {
863
+ box-sizing: border-box;
864
+ }
865
+
866
+ .funcnodesreactflowbody {
867
+ flex-grow: 1;
868
+ position: relative;
869
+ display: flex;
870
+ flex-direction: row;
871
+ overflow: hidden;
872
+ }
873
+
874
+ .reactflowlayer {
875
+ flex-grow: 1;
876
+ position: relative;
877
+ overflow: hidden;
878
+ background-color: var(--funcnodesbackground2);
879
+ margin: 0.5rem;
880
+ border-radius: var(--containerboarderradius);
881
+ }
882
+
883
+ .vscrollcontainer {
884
+ overflow-y: auto;
885
+ overflow-x: hidden;
886
+ flex-grow: 1;
887
+ padding: 0.5rem;
888
+ box-sizing: border-box;
889
+ }
890
+
891
+ .workerselect {
892
+ max-width: 140px;
893
+ }
894
+
895
+ .workerselectoption.selected {
896
+ color: var(--funcnodestextcolor1);
897
+ }
898
+ .workerselectoption.active {
899
+ color: green;
900
+ }
901
+ .workerselectoption.inactive {
902
+ color: red;
903
+ }
904
+
905
+ .basicstyleelement, .headermenucontent, .styled-select__menu, .styleelement, .styledcheckbox, .styledinput, .styledbtn, .styleddropdown {
906
+ background-color: var(--funcnodesbackground1);
907
+ color: var(--funcnodestextcolor1);
908
+ border-radius: 0.75rem;
909
+ border: 1px solid var(--funheadercolor);
910
+ }
911
+
912
+ .styleelement, .styledcheckbox, .styledinput, .styledbtn, .styleddropdown {
913
+ height: 2rem;
914
+ padding-left: 0.5rem;
915
+ padding-right: 0.5rem;
916
+ }
917
+ .styleelement:hover, .styledcheckbox:hover, .styledinput:hover, .styledbtn:hover, .styleddropdown:hover {
918
+ background-color: var(--funcnodesbackground_light);
919
+ }
920
+ .styleelement:active, .styledcheckbox:active, .styledinput:active, .styledbtn:active, .styleddropdown:active {
921
+ background-color: var(--funheadercolor);
922
+ color: var(--funcnodesbackground1);
923
+ }
924
+ .styleelement:focus, .styledcheckbox:focus, .styledinput:focus, .styledbtn:focus, .styleddropdown:focus {
925
+ outline: 1px solid var(--funheadercolor);
926
+ }
927
+
928
+ .styleddropdown {
929
+ padding-right: 0.25rem;
930
+ }
931
+
932
+ .styledbtn {
933
+ cursor: pointer;
934
+ }
935
+
936
+ .styledinput :focus {
937
+ outline: none;
938
+ }
939
+
940
+ input[type=number]::-webkit-inner-spin-button,
941
+ input[type=number]::-webkit-outer-spin-button {
942
+ opacity: 0.5;
943
+ background-color: tr;
944
+ }
945
+
946
+ .styledcheckbox {
947
+ height: auto;
948
+ accent-color: var(--funheadercolor);
949
+ }
950
+ .styledcheckbox:focus {
951
+ outline: none;
952
+ }
953
+ .styledcheckbox:after {
954
+ content: "";
955
+ background-color: var(--funheadercolor);
956
+ }
957
+ .styledcheckbox.checked {
958
+ background-color: var(--funheadercolor);
959
+ color: var(--funcnodesbackground1);
960
+ }
961
+
962
+ .SliderContainer {
963
+ display: flex;
964
+ align-items: center;
965
+ width: 100%;
966
+ height: 100%;
967
+ min-height: 20px;
968
+ }
969
+
970
+ .SliderRoot {
971
+ position: relative;
972
+ display: flex;
973
+ align-items: center;
974
+ user-select: none;
975
+ touch-action: none;
976
+ width: 100%;
977
+ height: fit-content;
978
+ }
979
+
980
+ .SliderTrack {
981
+ background-color: var(--funcnodesbackground1);
982
+ position: relative;
983
+ flex-grow: 1;
984
+ border-radius: 9999px;
985
+ height: 3px;
986
+ }
987
+
988
+ .SliderRange {
989
+ position: absolute;
990
+ background-color: var(--funheadercolor);
991
+ border-radius: 9999px;
992
+ height: 100%;
993
+ }
994
+
995
+ .SliderThumb {
996
+ display: block;
997
+ width: 10px;
998
+ height: 10px;
999
+ background-color: white;
1000
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3333333333);
1001
+ border-radius: 10px;
1002
+ }
1003
+
1004
+ .SliderThumb:hover {
1005
+ background-color: #999;
1006
+ }
1007
+
1008
+ .SliderThumb:focus {
1009
+ outline: none;
1010
+ box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.3333333333);
1011
+ }
1012
+
1013
+ .styled-select__control {
1014
+ height: 100%;
1015
+ min-height: initial;
1016
+ }
1017
+ .styled-select__menu-list {
1018
+ max-height: 200px !important;
1019
+ padding-left: 0;
1020
+ height: initial;
1021
+ }
1022
+ .styled-select__menu {
1023
+ margin-left: -0.5rem;
1024
+ }
1025
+ .styled-select__option:hover {
1026
+ background-color: var(--funcnodesbackground_light);
1027
+ }
1028
+
1029
+ button {
1030
+ font-family: inherit;
1031
+ font-size: inherit;
1032
+ }
1033
+
1034
+ .funcnodesreactflowheader {
1035
+ display: flex;
1036
+ flex-direction: row;
1037
+ height: 50px;
1038
+ justify-content: flex-start;
1039
+ position: relative;
1040
+ top: 0;
1041
+ left: 0;
1042
+ z-index: 1000;
1043
+ }
1044
+ .funcnodesreactflowheader .headerelement {
1045
+ height: 100%;
1046
+ display: flex;
1047
+ align-items: center;
1048
+ margin: 4px 4px 4px 4px;
1049
+ position: relative;
1050
+ white-space: nowrap;
1051
+ }
1052
+ .funcnodesreactflowheader .statusbar {
1053
+ width: 250px;
1054
+ height: 1.5rem;
1055
+ background-color: var(--funcnodesbackground2);
1056
+ display: inline-block;
1057
+ margin: 2px 4px 0px 4px;
1058
+ position: relative;
1059
+ border-radius: 0.5rem;
1060
+ overflow: hidden;
1061
+ }
1062
+ .funcnodesreactflowheader .statusbar-progressbar {
1063
+ position: absolute;
1064
+ top: 0;
1065
+ left: 0;
1066
+ width: 0;
1067
+ height: 100%;
1068
+ background-color: var(--funheadercolor);
1069
+ display: inline-block;
1070
+ }
1071
+ .funcnodesreactflowheader .statusbar-message {
1072
+ position: relative;
1073
+ top: 0;
1074
+ left: 0;
1075
+ font-size: 0.8rem;
1076
+ color: var(--funheadercolor);
1077
+ mix-blend-mode: difference;
1078
+ }
1079
+
1080
+ .headermenucontent {
1081
+ max-height: 90vh;
1082
+ overflow: auto;
1083
+ padding: 5px;
1084
+ border-radius: 0.25rem;
1085
+ }
1086
+
1087
+ .headermenuitem {
1088
+ padding: 0 5px;
1089
+ }
1090
+ .headermenuitem[data-highlighted] {
1091
+ background-color: var(--funcnodesbackground_light);
1092
+ }
1093
+ .headermenuitem[data-state=open] {
1094
+ background-color: var(--funcnodesbackground_light);
1095
+ }
1096
+ .headermenuitem[data-state=checked] {
1097
+ background-color: var(--funcnodesbackground_light);
1098
+ color: #fff;
1099
+ }
1100
+
1101
+ .nodesettings_container {
1102
+ height: 100%;
1103
+ display: flex;
1104
+ flex-direction: row;
1105
+ }
1106
+ .nodesettings_expander {
1107
+ height: 100%;
1108
+ display: flex;
1109
+ align-items: center;
1110
+ justify-content: center;
1111
+ cursor: pointer;
1112
+ padding: 3px 3px;
1113
+ }
1114
+ .nodesettings_content {
1115
+ display: flex;
1116
+ flex-direction: column;
1117
+ flex: 1;
1118
+ padding: 0 5px;
1119
+ overflow: auto;
1120
+ transition: width 0.5s;
1121
+ }
1122
+ .nodesettings_content.expanded {
1123
+ width: 250px;
1124
+ }
1125
+ .nodesettings_content.collapsed {
1126
+ width: 0;
1127
+ }
1128
+ .nodesettings_section {
1129
+ margin-bottom: 10px;
1130
+ margin-left: 0.5rem;
1131
+ }
1132
+ .nodesettings_component {
1133
+ margin-bottom: 0.5rem;
1134
+ margin-left: 0.5rem;
1135
+ margin-top: 0.5rem;
1136
+ }
1137
+
1138
+ :root {
1139
+ --node_border_radius: 5px;
1140
+ --handle_outer_radius: 4px;
1141
+ --handle_inner_radius: 2px;
1142
+ --handle_width: 10;
1143
+ --handle_width_hover: 15;
1144
+ --handle_overlap: 3;
1145
+ --nodeinput_margin: 2;
1146
+ --nodeio_shift: calc(var(--handle_overlap) - var(--nodeinput_margin));
1147
+ --handle_source_color: hsl(190, 98%, 49%);
1148
+ --handle_target_color: hsl(204, 98%, 51%);
1149
+ --node_background: hsl(245, 51%, 42%);
1150
+ --node_header_color: hsl(245, 51%, 22%);
1151
+ }
1152
+
1153
+ .react-flow__node {
1154
+ padding: 0;
1155
+ border-radius: var(--node_border_radius);
1156
+ background-color: var(--node_background);
1157
+ display: flex;
1158
+ flex-direction: column;
1159
+ color: #f0f8ff;
1160
+ box-sizing: content-box;
1161
+ transform: -50%, -50%;
1162
+ border: 2px solid rgba(255, 255, 255, 0);
1163
+ font-size: 0.5rem;
1164
+ width: auto;
1165
+ max-width: 200px;
1166
+ min-width: 100px;
1167
+ background-clip: content-box;
1168
+ }
1169
+ .react-flow__node.selected {
1170
+ border-color: rgba(255, 255, 255, 0.6);
1171
+ }
1172
+ .react-flow__node * {
1173
+ box-sizing: border-box;
1174
+ }
1175
+ .react-flow__handle {
1176
+ height: calc(100% - 4px);
1177
+ border-radius: 0;
1178
+ width: calc(var(--handle_width) * 1px);
1179
+ transition: left 0.2s ease-in-out, right 0.2s ease-in-out, width 0.2s ease-in-out;
1180
+ }
1181
+ .react-flow__handle:hover {
1182
+ width: calc(var(--handle_width_hover) * 1px);
1183
+ }
1184
+ .react-flow__handle.source {
1185
+ background-color: var(--handle_source_color);
1186
+ }
1187
+ .react-flow__handle.target {
1188
+ background-color: var(--handle_target_color);
1189
+ }
1190
+ .react-flow__handle-left {
1191
+ border-radius: var(--handle_outer_radius) var(--handle_inner_radius) var(--handle_inner_radius) var(--handle_outer_radius);
1192
+ left: calc((var(--nodeio_shift) - var(--handle_width)) * 1px);
1193
+ }
1194
+ .react-flow__handle-left:hover {
1195
+ left: calc((var(--nodeio_shift) - var(--handle_width_hover)) * 1px);
1196
+ }
1197
+ .react-flow__handle-right {
1198
+ border-radius: var(--handle_inner_radius) var(--handle_outer_radius) var(--handle_outer_radius) var(--handle_inner_radius);
1199
+ right: calc((var(--nodeio_shift) - var(--handle_width)) * 1px);
1200
+ }
1201
+ .react-flow__handle-right:hover {
1202
+ right: calc((var(--nodeio_shift) - var(--handle_width_hover)) * 1px);
1203
+ }
1204
+ .react-flow__handle-top {
1205
+ border-radius: var(--handle_outer_radius) var(--handle_outer_radius) var(--handle_inner_radius) var(--handle_inner_radius);
1206
+ }
1207
+ .react-flow__handle-bottom {
1208
+ border-radius: var(--handle_inner_radius) var(--handle_inner_radius) var(--handle_outer_radius) var(--handle_outer_radius);
1209
+ }
1210
+
1211
+ .innernode {
1212
+ width: 100%;
1213
+ height: 100%;
1214
+ flex-direction: column;
1215
+ display: flex;
1216
+ box-sizing: border-box;
1217
+ }
1218
+ .innernode.intrigger .nodeheader {
1219
+ background-color: #abb408;
1220
+ }
1221
+ .innernode.error .nodeheader {
1222
+ background-color: #ff0000;
1223
+ }
1224
+
1225
+ .nodeheader {
1226
+ box-sizing: border-box;
1227
+ background-color: var(--node_header_color);
1228
+ width: 100%;
1229
+ padding: 0.1rem;
1230
+ border-radius: var(--node_border_radius) var(--node_border_radius) 0 0;
1231
+ display: flex; /* Use flex layout */
1232
+ align-items: center; /* Align items vertically in the center */
1233
+ justify-content: space-between; /* Distribute space between items */
1234
+ }
1235
+ .nodeheader_element {
1236
+ display: flex; /* Enable flex within each child to center content */
1237
+ align-items: center; /* Align items vertically in the center */
1238
+ }
1239
+ .nodeheader_title {
1240
+ flex-grow: 1; /* Allow the text div to grow and fill available space */
1241
+ margin: 0 10px; /* Add some space around the text for aesthetics */
1242
+ white-space: nowrap; /* Prevent wrapping */
1243
+ overflow: hidden; /* Hide overflow */
1244
+ text-overflow: ellipsis; /* Add ellipsis to overflow */
1245
+ justify-content: center; /* Center the text horizontally */
1246
+ }
1247
+ .nodeheader_title_text {
1248
+ overflow: hidden;
1249
+ text-overflow: ellipsis;
1250
+ white-space: nowrap;
1251
+ max-width: 100%; /* Ensure it does not overflow the parent */
1252
+ }
1253
+ .nodeheader .triggerbutton {
1254
+ cursor: pointer;
1255
+ }
1256
+ .nodeheader .triggerbutton:hover {
1257
+ color: #0cc3f5;
1258
+ }
1259
+ .nodeheader .triggerbutton:active {
1260
+ color: #075d74;
1261
+ }
1262
+
1263
+ .nodename_input {
1264
+ border: 1px solid #000000;
1265
+ border-radius: 2px;
1266
+ background: none;
1267
+ color: white;
1268
+ text-align: center;
1269
+ font-size: inherit;
1270
+ margin: 2px;
1271
+ box-sizing: border-box;
1272
+ }
1273
+
1274
+ .nodefooter {
1275
+ background-color: #4e0ba5;
1276
+ width: 100%;
1277
+ padding: 0.1rem;
1278
+ border-radius: 0 0 var(--node_border_radius) var(--node_border_radius);
1279
+ }
1280
+ .nodefooter:empty {
1281
+ display: none;
1282
+ }
1283
+ .nodefooter .nodeerror {
1284
+ border: 1px solid #ff0000;
1285
+ border-radius: 2px;
1286
+ padding: 0.25rem;
1287
+ background-color: rgba(255, 0, 0, 0.4588235294);
1288
+ }
1289
+
1290
+ .nodebody {
1291
+ flex-grow: 1;
1292
+ }
1293
+
1294
+ .nodedatabody {
1295
+ overflow: auto;
1296
+ }
1297
+
1298
+ .noderesizecontrol {
1299
+ background: transparent !important;
1300
+ border: none !important;
1301
+ font-size: 0.5rem;
1302
+ }
1303
+
1304
+ .noderesizeicon {
1305
+ position: absolute;
1306
+ bottom: 4px;
1307
+ right: 4px;
1308
+ font-size: 0.5rem;
1309
+ }
1310
+
1311
+ .nodeio, .nodeoutput, .nodeinput {
1312
+ width: auto;
1313
+ background-color: inherit;
1314
+ padding: 0.1rem;
1315
+ margin-top: 0.1rem;
1316
+ margin-bottom: 0.1rem;
1317
+ position: relative;
1318
+ display: flex;
1319
+ flex-direction: row;
1320
+ border: 1px solid rgba(255, 255, 255, 0.5333333333);
1321
+ border-radius: 3px;
1322
+ box-sizing: border-box;
1323
+ margin-left: calc(var(--nodeinput_margin) * 1px);
1324
+ margin-right: calc(var(--nodeinput_margin) * 1px);
1325
+ align-items: center;
1326
+ }
1327
+
1328
+ .iovaluefield {
1329
+ flex-grow: 1;
1330
+ flex-shrink: 1;
1331
+ overflow: hidden;
1332
+ align-items: start;
1333
+ justify-content: start;
1334
+ display: flex;
1335
+ margin: 0.2rem;
1336
+ line-break: anywhere;
1337
+ }
1338
+ .iovaluefield > input {
1339
+ width: 100%;
1340
+ }
1341
+
1342
+ .nodeinput > .iovaluefield {
1343
+ overflow: visible;
1344
+ }
1345
+
1346
+ .ioname {
1347
+ flex-grow: 1;
1348
+ flex-shrink: 1;
1349
+ color: inherit;
1350
+ margin: 0.2rem;
1351
+ overflow: hidden;
1352
+ min-width: 2rem;
1353
+ }
1354
+ .nodeinput .ioname {
1355
+ text-align: left;
1356
+ }
1357
+ .nodeoutput .ioname {
1358
+ text-align: right;
1359
+ }
1360
+
1361
+ .nodedatainput {
1362
+ height: 1.5rem;
1363
+ display: flex;
1364
+ align-items: center;
1365
+ }
1366
+
1367
+ input.nodedatainput:focus {
1368
+ outline: none;
1369
+ }
1370
+
1371
+ .nodedatastyledelement, input.nodedatainput.styledinput,
1372
+ .nodedatainput.styleddropdown {
1373
+ background-color: var(--node_header_color);
1374
+ font-size: 0.5rem;
1375
+ height: 1.5rem;
1376
+ }
1377
+ .nodedatastyledelement:disabled, input.nodedatainput.styledinput:disabled,
1378
+ .nodedatainput.styleddropdown:disabled {
1379
+ opacity: 0.5;
1380
+ }
1381
+
1382
+ input.nodedatainput.styledinput,
1383
+ .nodedatainput.styleddropdown {
1384
+ width: 100%;
1385
+ }
1386
+
1387
+ .nodeprogress {
1388
+ width: 100%;
1389
+ height: 10px;
1390
+ transition: height 0.1s ease;
1391
+ overflow: hidden;
1392
+ }
1393
+ .nodeprogress-text {
1394
+ text-align: center;
1395
+ color: white;
1396
+ mix-blend-mode: difference;
1397
+ }
1398
+ .nodeprogress-bar {
1399
+ border-radius: 3px;
1400
+ }
1401
+ .nodeprogress-progress {
1402
+ background-color: #b7f50c;
1403
+ border-radius: 3px;
1404
+ transition: width 0.3s ease;
1405
+ }
1406
+
1407
+ .colorspace {
1408
+ margin: 0.2rem;
1409
+ display: grid;
1410
+ grid-template-columns: auto minmax(0, 1fr);
1411
+ }
1412
+ .colorspace_title {
1413
+ font-size: 0.7em;
1414
+ font-weight: bold;
1415
+ }
1416
+ .colorspace label {
1417
+ font-size: 0.7rem;
1418
+ }
1419
+ .colorspace input {
1420
+ font-size: 0.7rem;
1421
+ max-height: 0.7rem;
1422
+ }
1423
+ .colorspace input[type=range] {
1424
+ width: 100%;
1425
+ margin: 0;
1426
+ padding: 0;
1427
+ -webkit-appearance: none;
1428
+ background-color: #666;
1429
+ height: 0.7rem;
1430
+ border-radius: 5px;
1431
+ }
1432
+ .colorspace input[type=range]::-webkit-slider-thumb, .colorspace input[type=range]::-webkit-range-thumb, .colorspace input[type=range]::-moz-range-thumb {
1433
+ width: 0.7rem;
1434
+ height: 0.7rem;
1435
+ background-color: #cc1c1c;
1436
+ border-radius: 50%;
1437
+ cursor: pointer;
1438
+ }
1439
+
1440
+ .tablecontainer {
1441
+ overflow: auto;
1442
+ background-color: white;
1443
+ min-height: 20rem;
1444
+ }
1445
+
1446
+ .tableHead {
1447
+ color: var(--funheadercolor) !important;
1448
+ background-color: var(--funcnodesbackground1);
1449
+ font-weight: bold !important;
1450
+ }
1451
+
1452
+ .tableheadercolor {
1453
+ color: inherit !important;
1454
+ font-family: inherit !important;
1455
+ font-weight: inherit !important;
1456
+ }
1457
+
1458
+ .indexcol {
1459
+ background-color: var(--funcnodesbackground2);
1460
+ color: var(--funheadercolor) !important;
1461
+ font-family: inherit !important;
1462
+ font-weight: inherit !important;
1463
+ }
1464
+
1465
+ .styled-select__control {
1466
+ height: 100%;
1467
+ min-height: initial;
1468
+ min-width: 10px;
1469
+ }
1470
+ .styled-select__menu-list {
1471
+ max-height: 200px;
1472
+ }
1473
+ .styled-select__single-value {
1474
+ text-align: start;
1475
+ }
1476
+ .styled-select__option {
1477
+ text-align: start;
1478
+ padding: 2px 5px;
1479
+ }
1480
+ .styled-select__option:hover {
1481
+ cursor: pointer;
1482
+ }
1483
+
1484
+ s slideUpAndFade from {
1485
+ opacity: 0;
1486
+ transform: translateY(2px);
1487
+ }
1488
+ s slideUpAndFade to {
1489
+ opacity: 1;
1490
+ transform: translateY(0);
1491
+ }
1492
+
1493
+ @keyframes slideRightAndFade {
1494
+ from {
1495
+ opacity: 0;
1496
+ transform: translateX(-2px);
1497
+ }
1498
+ to {
1499
+ opacity: 1;
1500
+ transform: translateX(0);
1501
+ }
1502
+ }
1503
+ @keyframes slideDownAndFade {
1504
+ from {
1505
+ opacity: 0;
1506
+ transform: translateY(-2px);
1507
+ }
1508
+ to {
1509
+ opacity: 1;
1510
+ transform: translateY(0);
1511
+ }
1512
+ }
1513
+ @keyframes slideLeftAndFade {
1514
+ from {
1515
+ opacity: 0;
1516
+ transform: translateX(2px);
1517
+ }
1518
+ to {
1519
+ opacity: 1;
1520
+ transform: translateX(0);
1521
+ }
1522
+ }
1523
+ .iotooltipcontent {
1524
+ background-color: #f9f9f9;
1525
+ border: 1px solid #ffffff;
1526
+ border-radius: 5px;
1527
+ padding: 10px;
1528
+ box-shadow: hsla(206, 22%, 7%, 0.35) 0px 10px 38px -10px, hsla(206, 22%, 7%, 0.2) 0px 10px 20px -15px;
1529
+ font-size: 10px;
1530
+ color: #333;
1531
+ max-width: 40vw;
1532
+ max-height: 40vh;
1533
+ cursor: default;
1534
+ overflow: auto;
1535
+ display: flex;
1536
+ flex-direction: column;
1537
+ }
1538
+ .iotooltipcontent.fullsize {
1539
+ max-width: 100vw;
1540
+ max-height: 100vh;
1541
+ position: fixed;
1542
+ top: 0;
1543
+ }
1544
+ .iotooltipcontent[data-state=delayed-open][data-side=top] {
1545
+ animation-name: slideDownAndFade;
1546
+ }
1547
+ .iotooltipcontent[data-state=delayed-open][data-side=right] {
1548
+ animation-name: slideLeftAndFade;
1549
+ }
1550
+ .iotooltipcontent[data-state=delayed-open][data-side=bottom] {
1551
+ animation-name: slideUpAndFade;
1552
+ }
1553
+ .iotooltipcontent[data-state=delayed-open][data-side=left] {
1554
+ animation-name: slideRightAndFade;
1555
+ }
1556
+
1557
+ .iotooltip_container {
1558
+ display: flex;
1559
+ flex-direction: column;
1560
+ max-width: inherit;
1561
+ max-height: inherit;
1562
+ }
1563
+
1564
+ .iotooltipcontentarrow {
1565
+ fill: white;
1566
+ }
1567
+
1568
+ /* base styles */
1569
+ ._GzYRV {
1570
+ line-height: 1.2;
1571
+ white-space: pre-wrap;
1572
+ white-space: -moz-pre-wrap;
1573
+ white-space: -pre-wrap;
1574
+ white-space: -o-pre-wrap;
1575
+ word-wrap: break-word;
1576
+ }
1577
+
1578
+ ._3eOF8 {
1579
+ margin-right: 5px;
1580
+ font-weight: bold;
1581
+ }
1582
+
1583
+ ._3eOF8 + ._3eOF8 {
1584
+ margin-left: -5px;
1585
+ }
1586
+
1587
+ ._1MFti {
1588
+ cursor: pointer;
1589
+ }
1590
+
1591
+ ._f10Tu {
1592
+ font-size: 1.2em;
1593
+ margin-right: 5px;
1594
+ -webkit-user-select: none;
1595
+ -moz-user-select: none;
1596
+ user-select: none;
1597
+ }
1598
+
1599
+ ._1UmXx::after {
1600
+ content: "▸";
1601
+ }
1602
+
1603
+ ._1LId0::after {
1604
+ content: "▾";
1605
+ }
1606
+
1607
+ ._1pNG9 {
1608
+ margin-right: 5px;
1609
+ }
1610
+
1611
+ ._1pNG9::after {
1612
+ content: "...";
1613
+ font-size: 0.8em;
1614
+ }
1615
+
1616
+ ._2IvMF {
1617
+ background: #eee;
1618
+ }
1619
+
1620
+ ._2bkNM {
1621
+ margin: 0;
1622
+ padding: 0 10px;
1623
+ }
1624
+
1625
+ ._1BXBN {
1626
+ margin: 0;
1627
+ padding: 0;
1628
+ }
1629
+
1630
+ /* default light style */
1631
+ ._1MGIk {
1632
+ font-weight: 600;
1633
+ margin-right: 5px;
1634
+ color: #000000;
1635
+ }
1636
+
1637
+ ._3uHL6 {
1638
+ color: #000000;
1639
+ }
1640
+
1641
+ ._2T6PJ {
1642
+ color: #df113a;
1643
+ }
1644
+
1645
+ ._1Gho6 {
1646
+ color: #df113a;
1647
+ }
1648
+
1649
+ ._vGjyY {
1650
+ color: rgb(42, 63, 60);
1651
+ }
1652
+
1653
+ ._1bQdo {
1654
+ color: #0b75f5;
1655
+ }
1656
+
1657
+ ._3zQKs {
1658
+ color: rgb(70, 144, 56);
1659
+ }
1660
+
1661
+ ._1xvuR {
1662
+ color: #43413d;
1663
+ }
1664
+
1665
+ ._oLqym {
1666
+ color: #000000;
1667
+ }
1668
+
1669
+ ._2AXVT {
1670
+ color: #000000;
1671
+ }
1672
+
1673
+ ._2KJWg {
1674
+ color: #000000;
1675
+ }
1676
+
1677
+ /* default dark style */
1678
+ ._11RoI {
1679
+ background: rgb(0, 43, 54);
1680
+ }
1681
+
1682
+ ._17H2C {
1683
+ color: rgb(253, 246, 227);
1684
+ }
1685
+
1686
+ ._3QHg2 {
1687
+ color: rgb(253, 246, 227);
1688
+ }
1689
+
1690
+ ._3fDAz {
1691
+ color: rgb(253, 246, 227);
1692
+ }
1693
+
1694
+ ._2bSDX {
1695
+ font-weight: bolder;
1696
+ margin-right: 5px;
1697
+ color: rgb(253, 246, 227);
1698
+ }
1699
+
1700
+ ._gsbQL {
1701
+ color: rgb(253, 246, 227);
1702
+ }
1703
+
1704
+ ._LaAZe {
1705
+ color: rgb(129, 181, 172);
1706
+ }
1707
+
1708
+ ._GTKgm {
1709
+ color: rgb(129, 181, 172);
1710
+ }
1711
+
1712
+ ._Chy1W {
1713
+ color: rgb(203, 75, 22);
1714
+ }
1715
+
1716
+ ._2bveF {
1717
+ color: rgb(211, 54, 130);
1718
+ }
1719
+
1720
+ ._2vRm- {
1721
+ color: rgb(174, 129, 255);
1722
+ }
1723
+
1724
+ ._1prJR {
1725
+ color: rgb(38, 139, 210);
1726
+ }