@dschz/solid-flow 0.2.3 → 0.2.5

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.
@@ -2604,7 +2604,6 @@ const DEFAULT_SIZE = {
2604
2604
  let _props = mergeProps$1({
2605
2605
  variant: "dots",
2606
2606
  gap: 20,
2607
- size: 1,
2608
2607
  lineWidth: 1,
2609
2608
  style: {}
2610
2609
  }, props), { store } = useInternalSolidFlow(), isDots = () => _props.variant === "dots", isCross = () => _props.variant === "cross", patternId = () => `background-pattern-${store.id}-${_props.id ?? ""}`, scaledSize = () => (_props.size ?? DEFAULT_SIZE[_props.variant]) * store.viewport.zoom, gapXY = () => Array.isArray(_props.gap) ? _props.gap : [_props.gap, _props.gap], scaledGap = () => [gapXY()[0] * store.viewport.zoom || 1, gapXY()[1] * store.viewport.zoom || 1], patternDimensions = () => isCross() ? [scaledSize(), scaledSize()] : scaledGap(), patternOffset = () => isDots() ? [scaledSize() / 2, scaledSize() / 2] : [patternDimensions()[0] / 2, patternDimensions()[1] / 2];
@@ -1735,7 +1735,6 @@ const Marker = (props) => {
1735
1735
  let _props = mergeProps({
1736
1736
  variant: "dots",
1737
1737
  gap: 20,
1738
- size: 1,
1739
1738
  lineWidth: 1,
1740
1739
  style: {}
1741
1740
  }, props), { store } = useInternalSolidFlow(), isDots = () => _props.variant === "dots", isCross = () => _props.variant === "cross", patternId = () => `background-pattern-${store.id}-${_props.id ?? ""}`, scaledSize = () => (_props.size ?? DEFAULT_SIZE[_props.variant]) * store.viewport.zoom, gapXY = () => Array.isArray(_props.gap) ? _props.gap : [_props.gap, _props.gap], scaledGap = () => [gapXY()[0] * store.viewport.zoom || 1, gapXY()[1] * store.viewport.zoom || 1], patternDimensions = () => isCross() ? [scaledSize(), scaledSize()] : scaledGap(), patternOffset = () => isDots() ? [scaledSize() / 2, scaledSize() / 2] : [patternDimensions()[0] / 2, patternDimensions()[1] / 2];
@@ -1,20 +1,755 @@
1
1
  /* Container Styles */
2
- @import "../components/container/styles.css";
3
- @import "../components/accessibility/styles.css";
2
+ /* src/components/container/styles.css */
3
+ .solid-flow__zoom {
4
+ z-index: 4;
5
+ }
6
+
7
+ .solid-flow__viewport {
8
+ transform-origin: 0 0;
9
+ z-index: 2;
10
+ pointer-events: none;
11
+ }
12
+
13
+ .solid-flow__viewport-portal {
14
+ user-select: none;
15
+ }
16
+
17
+ .solid-flow__pane {
18
+ z-index: 1;
19
+
20
+ &.draggable {
21
+ cursor: grab;
22
+ }
23
+
24
+ &.dragging {
25
+ cursor: grabbing;
26
+ }
27
+
28
+ &.selection {
29
+ cursor: pointer;
30
+ }
31
+ }
32
+
33
+ .solid-flow__panel {
34
+ position: absolute;
35
+ z-index: 5;
36
+ margin: 15px;
37
+
38
+ &.top {
39
+ top: 0;
40
+ }
41
+
42
+ &.bottom {
43
+ bottom: 0;
44
+ }
45
+
46
+ &.left {
47
+ left: 0;
48
+ }
49
+
50
+ &.right {
51
+ right: 0;
52
+ }
53
+
54
+ &.center {
55
+ left: 50%;
56
+ transform: translateX(-50%);
57
+ }
58
+ }
59
+
60
+ .solid-flow__nodes {
61
+ z-index: 0;
62
+ pointer-events: none;
63
+ transform-origin: 0 0;
64
+ }
65
+
66
+ /* src/components/accessibility/styles.css */
67
+ .a11y-hidden {
68
+ display: none;
69
+ }
70
+
71
+ .a11y-live-msg {
72
+ position: absolute;
73
+ width: 1px;
74
+ height: 1px;
75
+ margin: -1px;
76
+ border: 0;
77
+ padding: 0;
78
+ overflow: hidden;
79
+ clip: rect(0px, 0px, 0px, 0px);
80
+ clip-path: inset(100%);
81
+ }
82
+
4
83
 
5
84
  /* Graph Styles */
6
- @import "../components/graph/connection/styles.css";
7
- @import "../components/graph/edge/styles.css";
8
- @import "../components/graph/handle/styles.css";
9
- @import "../components/graph/node/styles.css";
10
- @import "../components/graph/plugins/background/styles.css";
11
- @import "../components/graph/plugins/controls/styles.css";
12
- @import "../components/graph/plugins/minimap/styles.css";
13
- @import "../components/graph/plugins/nodeResizer/styles.css";
14
- @import "../components/graph/selection/styles.css";
85
+ /* src/components/graph/connection/styles.css */
86
+ .solid-flow {
87
+ --xy-connectionline-stroke-default: #b1b1b7;
88
+ --xy-connectionline-stroke-width-default: 1;
89
+ }
90
+
91
+ .solid-flow.dark {
92
+ --xy-connectionline-stroke-default: #b1b1b7;
93
+ --xy-connectionline-stroke-width-default: 1;
94
+ }
95
+
96
+ .solid-flow__connectionline {
97
+ z-index: 1001;
98
+ overflow: visible;
99
+ position: absolute;
100
+ }
101
+
102
+ .solid-flow__connection {
103
+ pointer-events: none;
104
+
105
+ .animated {
106
+ stroke-dasharray: 5;
107
+ animation: dashdraw 0.5s linear infinite;
108
+ }
109
+ }
110
+
111
+ .solid-flow__connection-path {
112
+ fill: none;
113
+ stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
114
+ stroke-width: var(
115
+ --xy-connectionline-stroke-width,
116
+ var(--xy-connectionline-stroke-width-default)
117
+ );
118
+ }
119
+
120
+ /* src/components/graph/edge/styles.css */
121
+ .solid-flow {
122
+ --xy-edge-label-background-color-default: #ffffff;
123
+ --xy-edge-label-color-default: inherit;
124
+
125
+ --xy-edge-stroke-default: #b1b1b7;
126
+ --xy-edge-stroke-width-default: 1;
127
+ --xy-edge-stroke-selected-default: #555;
128
+ }
129
+
130
+ .solid-flow.dark {
131
+ --xy-edge-stroke-default: #3e3e3e;
132
+ --xy-edge-stroke-width-default: 1;
133
+ --xy-edge-stroke-selected-default: #727272;
134
+ }
135
+
136
+ .solid-flow__edgeupdater {
137
+ cursor: move;
138
+ pointer-events: all;
139
+ }
140
+
141
+ .solid-flow__edgelabel-renderer {
142
+ position: absolute;
143
+ width: 100%;
144
+ height: 100%;
145
+ pointer-events: none;
146
+ user-select: none;
147
+ left: 0;
148
+ top: 0;
149
+ z-index: 0;
150
+ }
151
+
152
+ .solid-flow__edge-label {
153
+ text-align: center;
154
+ position: absolute;
155
+ padding: 2px;
156
+ font-size: 10px;
157
+ cursor: pointer;
158
+ color: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
159
+ background: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
160
+ }
161
+
162
+ .solid-flow__edge-path {
163
+ stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
164
+ stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
165
+ fill: none;
166
+ }
167
+
168
+ .solid-flow__edges {
169
+ position: absolute;
170
+
171
+ svg {
172
+ overflow: visible;
173
+ position: absolute;
174
+ pointer-events: none;
175
+ }
176
+ }
177
+
178
+ .solid-flow__edge {
179
+ pointer-events: visibleStroke;
180
+
181
+ &.updating {
182
+ .solid-flow__edge-path {
183
+ stroke: #777;
184
+ }
185
+ }
186
+
187
+ &.selectable {
188
+ cursor: pointer;
189
+ }
190
+
191
+ &.animated path {
192
+ stroke-dasharray: 5;
193
+ animation: dashdraw 0.5s linear infinite;
194
+ }
195
+
196
+ &.animated path.solid-flow__edge-interaction {
197
+ stroke-dasharray: none;
198
+ animation: none;
199
+ }
200
+
201
+ &.inactive {
202
+ pointer-events: none;
203
+ }
204
+
205
+ &.selected,
206
+ &:focus,
207
+ &:focus-visible {
208
+ outline: none;
209
+ }
210
+
211
+ &.selected .solid-flow__edge-path,
212
+ &.selectable:focus .solid-flow__edge-path,
213
+ &.selectable:focus-visible .solid-flow__edge-path {
214
+ stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
215
+ }
216
+
217
+ &.textwrapper {
218
+ pointer-events: all;
219
+ }
220
+
221
+ &.text {
222
+ font-size: 10px;
223
+ pointer-events: none;
224
+ user-select: none;
225
+ }
226
+ }
227
+
228
+ /* src/components/graph/handle/styles.css */
229
+ .solid-flow {
230
+ --xy-handle-background-color-default: #1a192b;
231
+ --xy-handle-border-color-default: #fff;
232
+ }
233
+
234
+ .solid-flow.dark {
235
+ --xy-handle-background-color-default: #bebebe;
236
+ --xy-handle-border-color-default: #1e1e1e;
237
+ }
238
+
239
+ .solid-flow__handle {
240
+ position: absolute;
241
+ pointer-events: none;
242
+ min-width: 5px;
243
+ min-height: 5px;
244
+
245
+ width: 6px;
246
+ height: 6px;
247
+ background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
248
+ border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
249
+ border-radius: 100%;
250
+
251
+ &.connectingfrom {
252
+ pointer-events: all;
253
+ }
254
+
255
+ &.connectionindicator {
256
+ pointer-events: all;
257
+ cursor: crosshair;
258
+ }
259
+ }
260
+
261
+ .solid-flow__handle-left {
262
+ top: 50%;
263
+ left: 0;
264
+ transform: translate(-50%, -50%);
265
+ }
266
+
267
+ .solid-flow__handle-right {
268
+ top: 50%;
269
+ right: 0;
270
+ transform: translate(50%, -50%);
271
+ }
272
+
273
+ .solid-flow__handle-top {
274
+ top: 0;
275
+ left: 50%;
276
+ transform: translate(-50%, -50%);
277
+ }
278
+
279
+ .solid-flow__handle-bottom {
280
+ top: auto;
281
+ left: 50%;
282
+ bottom: 0;
283
+ transform: translate(-50%, 50%);
284
+ }
285
+
286
+ /* src/components/graph/node/styles.css */
287
+ .solid-flow {
288
+ --xy-node-color-default: inherit;
289
+ --xy-node-border-default: 1px solid #1a192b;
290
+ --xy-node-background-color-default: #fff;
291
+ --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
292
+ --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
293
+ --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
294
+ --xy-node-border-radius-default: 3px;
295
+
296
+ --xy-node-border-selected-default: 1px solid #555;
297
+ }
298
+
299
+ .solid-flow.dark {
300
+ --xy-node-color-default: #f8f8f8;
301
+ --xy-node-border-default: 1px solid #3c3c3c;
302
+ --xy-node-background-color-default: #1e1e1e;
303
+ --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
304
+ --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
305
+ --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;
306
+ }
307
+
308
+ .solid-flow__node {
309
+ position: absolute;
310
+ user-select: none;
311
+ pointer-events: all;
312
+ transform-origin: 0 0;
313
+ box-sizing: border-box;
314
+ cursor: default;
315
+
316
+ &.selectable {
317
+ cursor: pointer;
318
+ }
319
+
320
+ &.draggable {
321
+ cursor: grab;
322
+ pointer-events: all;
323
+
324
+ &.dragging {
325
+ cursor: grabbing;
326
+ }
327
+ }
328
+
329
+ /* TODO: Verify this class */
330
+ &.parent {
331
+ background-color: rgba(220, 220, 255, 0.4);
332
+ }
333
+ }
334
+
335
+ .solid-flow__node-input,
336
+ .solid-flow__node-default,
337
+ .solid-flow__node-output,
338
+ .solid-flow__node-group {
339
+ padding: 10px;
340
+ border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
341
+ width: 150px;
342
+ font-size: 12px;
343
+ color: var(--xy-node-color, var(--xy-node-color-default));
344
+ text-align: center;
345
+ border: var(--xy-node-border, var(--xy-node-border-default));
346
+ background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
347
+
348
+ &.selectable {
349
+ &:hover {
350
+ box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
351
+ }
352
+
353
+ &.selected,
354
+ &:focus,
355
+ &:focus-visible {
356
+ box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
357
+ border: var(--xy-node-border-selected, var(--xy-node-border-selected-default));
358
+ outline: none;
359
+ }
360
+ }
361
+ }
362
+
363
+ .solid-flow__node-group {
364
+ background-color: var(
365
+ --xy-node-group-background-color,
366
+ var(--xy-node-group-background-color-default)
367
+ );
368
+ }
369
+
370
+ /* src/components/graph/plugins/background/styles.css */
371
+ .solid-flow {
372
+ --xy-background-color-default: transparent;
373
+ --xy-background-pattern-dots-color-default: #91919a;
374
+ --xy-background-pattern-lines-color-default: #eee;
375
+ --xy-background-pattern-cross-color-default: #e2e2e2;
376
+
377
+ --background-color-default: #fff;
378
+ --background-pattern-color-default: #ddd;
379
+ }
380
+
381
+ .solid-flow.dark {
382
+ --xy-background-color-default: #141414;
383
+ --xy-background-pattern-dots-color-default: #777;
384
+ --xy-background-pattern-lines-color-default: #777;
385
+ --xy-background-pattern-cross-color-default: #777;
386
+ }
387
+
388
+ .solid-flow__background {
389
+ pointer-events: none;
390
+ z-index: -1;
391
+
392
+ background-color: var(
393
+ --xy-background-color,
394
+ var(--xy-background-color-props, var(--xy-background-color-default))
395
+ );
396
+ }
397
+
398
+ .solid-flow__background-pattern {
399
+ &.dots {
400
+ fill: var(
401
+ --xy-background-pattern-color-props,
402
+ var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))
403
+ );
404
+ }
405
+
406
+ &.lines {
407
+ stroke: var(
408
+ --xy-background-pattern-color-props,
409
+ var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))
410
+ );
411
+ }
412
+
413
+ &.cross {
414
+ stroke: var(
415
+ --xy-background-pattern-color-props,
416
+ var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))
417
+ );
418
+ }
419
+ }
420
+
421
+ /* src/components/graph/plugins/controls/styles.css */
422
+ .solid-flow {
423
+ --xy-controls-button-background-color-default: #fefefe;
424
+ --xy-controls-button-background-color-hover-default: #f4f4f4;
425
+ --xy-controls-button-color-default: inherit;
426
+ --xy-controls-button-color-hover-default: inherit;
427
+ --xy-controls-button-border-color-default: #eee;
428
+ --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
429
+ }
430
+
431
+ .solid-flow.dark {
432
+ --xy-controls-button-background-color-default: #2b2b2b;
433
+ --xy-controls-button-background-color-hover-default: #3e3e3e;
434
+ --xy-controls-button-color-default: #f8f8f8;
435
+ --xy-controls-button-color-hover-default: #fff;
436
+ --xy-controls-button-border-color-default: #5b5b5b;
437
+ --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
438
+ }
439
+
440
+ .solid-flow__controls {
441
+ display: flex;
442
+ flex-direction: column;
443
+ box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
444
+
445
+ &.horizontal {
446
+ flex-direction: row;
447
+ }
448
+
449
+ button {
450
+ cursor: pointer;
451
+ user-select: none;
452
+ border: none;
453
+
454
+ display: flex;
455
+ justify-content: center;
456
+ align-items: center;
457
+ height: 26px;
458
+ width: 26px;
459
+ padding: 4px;
460
+
461
+ background: var(
462
+ --xy-controls-button-background-color,
463
+ var(--xy-controls-button-background-color-default)
464
+ );
465
+ border-bottom: 1px solid
466
+ var(
467
+ --xy-controls-button-border-color-props,
468
+ var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
469
+ );
470
+ color: var(
471
+ --xy-controls-button-color-props,
472
+ var(--xy-controls-button-color, var(--xy-controls-button-color-default))
473
+ );
474
+
475
+ &:hover {
476
+ background: var(
477
+ --xy-controls-button-background-color-hover-props,
478
+ var(
479
+ --xy-controls-button-background-color-hover,
480
+ var(--xy-controls-button-background-color-hover-default)
481
+ )
482
+ );
483
+ color: var(
484
+ --xy-controls-button-color-hover-props,
485
+ var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))
486
+ );
487
+ }
488
+
489
+ &:disabled {
490
+ pointer-events: none;
491
+
492
+ svg {
493
+ fill-opacity: 0.4;
494
+ }
495
+ }
496
+
497
+ svg {
498
+ width: 100%;
499
+ max-width: 12px;
500
+ max-height: 12px;
501
+ fill: currentColor;
502
+ }
503
+ }
504
+
505
+ button:last-child {
506
+ border-bottom: none;
507
+ }
508
+ }
509
+
510
+ /* src/components/graph/plugins/minimap/styles.css */
511
+ .solid-flow {
512
+ --xy-minimap-background-color-default: #fff;
513
+
514
+ --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
515
+ --xy-minimap-mask-stroke-color-default: transparent;
516
+ --xy-minimap-mask-stroke-width-default: 1;
517
+
518
+ --xy-minimap-node-background-color-default: #e2e2e2;
519
+ --xy-minimap-node-stroke-color-default: transparent;
520
+ --xy-minimap-node-stroke-width-default: 2;
521
+ }
522
+
523
+ .solid-flow.dark {
524
+ --xy-minimap-background-color-default: #141414;
525
+
526
+ --xy-minimap-mask-background-color-default: rgb(60, 60, 60, 0.6);
527
+ --xy-minimap-mask-stroke-color-default: transparent;
528
+ --xy-minimap-mask-stroke-width-default: 1;
529
+
530
+ --xy-minimap-node-background-color-default: #2b2b2b;
531
+ --xy-minimap-node-stroke-color-default: transparent;
532
+ --xy-minimap-node-stroke-width-default: 2;
533
+ }
534
+
535
+ .solid-flow__minimap {
536
+ background: var(
537
+ --xy-minimap-background-color-props,
538
+ var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))
539
+ );
540
+ }
541
+
542
+ .solid-flow__minimap-svg {
543
+ display: block;
544
+ }
545
+
546
+ .solid-flow__minimap-mask {
547
+ fill: var(
548
+ --xy-minimap-mask-background-color-props,
549
+ var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))
550
+ );
551
+ stroke: var(
552
+ --xy-minimap-mask-stroke-color-props,
553
+ var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))
554
+ );
555
+ stroke-width: var(
556
+ --xy-minimap-mask-stroke-width-props,
557
+ var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))
558
+ );
559
+ }
560
+
561
+ .solid-flow__minimap-node {
562
+ fill: var(
563
+ --xy-minimap-node-background-color-props,
564
+ var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))
565
+ );
566
+ stroke: var(
567
+ --xy-minimap-node-stroke-color-props,
568
+ var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))
569
+ );
570
+ stroke-width: var(
571
+ --xy-minimap-node-stroke-width-props,
572
+ var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))
573
+ );
574
+ }
575
+
576
+ /* src/components/graph/plugins/nodeResizer/styles.css */
577
+ .solid-flow {
578
+ --xy-resize-background-color-default: #3367d9;
579
+ }
580
+
581
+ .solid-flow__resize-control {
582
+ position: absolute;
583
+
584
+ &.left,
585
+ &.right {
586
+ cursor: ew-resize;
587
+ }
588
+
589
+ &.top,
590
+ &.bottom {
591
+ cursor: ns-resize;
592
+ }
593
+
594
+ &.top.left,
595
+ &.bottom.right {
596
+ cursor: nwse-resize;
597
+ }
598
+
599
+ &.bottom.left,
600
+ &.top.right {
601
+ cursor: nesw-resize;
602
+ }
603
+ }
604
+
605
+ .solid-flow__resize-control.handle {
606
+ width: 4px;
607
+ height: 4px;
608
+ border: 1px solid #fff;
609
+ border-radius: 1px;
610
+ background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
611
+ transform: translate(-50%, -50%);
612
+
613
+ &.left {
614
+ left: 0;
615
+ top: 50%;
616
+ }
617
+
618
+ &.right {
619
+ left: 100%;
620
+ top: 50%;
621
+ }
622
+
623
+ &.top {
624
+ left: 50%;
625
+ top: 0;
626
+ }
627
+
628
+ &.bottom {
629
+ left: 50%;
630
+ top: 100%;
631
+ }
632
+
633
+ &.top.left {
634
+ left: 0;
635
+ }
636
+
637
+ &.bottom.left {
638
+ left: 0;
639
+ }
640
+
641
+ &.top.right {
642
+ left: 100%;
643
+ }
644
+
645
+ &.bottom.right {
646
+ left: 100%;
647
+ }
648
+ }
649
+
650
+ /* line styles */
651
+ .solid-flow__resize-control.line {
652
+ border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
653
+ border-width: 0;
654
+ border-style: solid;
655
+
656
+ &.left,
657
+ &.right {
658
+ width: 1px;
659
+ height: 100%;
660
+ transform: translate(-50%, 0);
661
+ top: 0;
662
+ }
663
+
664
+ &.top,
665
+ &.bottom {
666
+ width: 100%;
667
+ height: 1px;
668
+ transform: translate(0, -50%);
669
+ left: 0;
670
+ }
671
+
672
+ &.left {
673
+ left: 0;
674
+ border-left-width: 1px;
675
+ }
676
+
677
+ &.right {
678
+ left: 100%;
679
+ border-right-width: 1px;
680
+ }
681
+
682
+ &.top {
683
+ top: 0;
684
+ border-top-width: 1px;
685
+ }
686
+
687
+ &.bottom {
688
+ top: 100%;
689
+ border-bottom-width: 1px;
690
+ }
691
+ }
692
+
693
+ /* src/components/graph/selection/styles.css */
694
+ .solid-flow {
695
+ --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
696
+ --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);
697
+ }
698
+
699
+ .solid-flow.dark {
700
+ --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
701
+ --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);
702
+ }
703
+
704
+ .solid-flow__selection-wrapper {
705
+ position: absolute;
706
+ top: 0;
707
+ left: 0;
708
+ z-index: 2000;
709
+ pointer-events: all;
710
+ }
711
+
712
+ .solid-flow__selection {
713
+ background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
714
+ border: var(--xy-selection-border, var(--xy-selection-border-default));
715
+
716
+ position: absolute;
717
+ top: 0;
718
+ left: 0;
719
+ z-index: 6;
720
+
721
+ &:focus,
722
+ &:focus-visible {
723
+ outline: none;
724
+ }
725
+ }
726
+
15
727
 
16
728
  /* Utility Styles */
17
- @import "../components/utility/styles.css";
729
+ /* src/components/utility/styles.css */
730
+ .solid-flow {
731
+ --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);
732
+ }
733
+
734
+ .solid-flow.dark {
735
+ --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);
736
+ }
737
+
738
+ .solid-flow__attribution {
739
+ font-size: 10px;
740
+ background: var(
741
+ --xy-attribution-background-color,
742
+ var(--xy-attribution-background-color-default)
743
+ );
744
+ padding: 2px 3px;
745
+ margin: 0;
746
+
747
+ a {
748
+ text-decoration: none;
749
+ color: #999;
750
+ }
751
+ }
752
+
18
753
 
19
754
  .solid-flow__container {
20
755
  position: absolute;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dschz/solid-flow",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Solid Flow - A highly customizable Solid library for building node-based editors, workflow systems, diagrams and more.",
5
5
  "keywords": [
6
6
  "ai workflows",