dragon-graph-lib 0.1.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,169 @@
1
+ :root {
2
+ --dgl-area-border: #ccc;
3
+ --dgl-area-background: transparent;
4
+
5
+ --dgl-node-border-radius: 10px;
6
+ --dgl-node-padding: 12px;
7
+ --dgl-node-background: #82878d;
8
+ --dgl-node-selected: #4a90e4;
9
+ --dgl-node-text: #fff;
10
+
11
+ --dgl-control-text: #000;
12
+ --dgl-control-background: var(--dgl-node-text);
13
+ --dgl-control-border: var(--dgl-node-text);
14
+
15
+ --dgl-socket-size: 15px;
16
+ --dgl-connection-width: 4px;
17
+ --dgl-connection-color: #a6aeb4;
18
+ }
19
+
20
+ .dgl-container {
21
+ background-color: var(--dgl-area-background);
22
+ border: 1px solid var(--dgl-area-border);
23
+ border-radius: 3px;
24
+ position: relative;
25
+ }
26
+
27
+ .dgl-area {
28
+ transform-origin: 0px 0px;
29
+ width: 100%;
30
+ height: 100%;
31
+ }
32
+
33
+ .dgl-node.dgl-selected {
34
+ background-color: var(--dgl-node-selected);
35
+ }
36
+
37
+ .dgl-node {
38
+ background-color: var(--dgl-node-background);
39
+ color: var(--dgl-node-text);
40
+ border-radius: var(--dgl-node-border-radius);
41
+ font-size: 1em;
42
+ font-family: sans-serif;
43
+ padding: var(--dgl-node-padding);
44
+ width: fit-content;
45
+ display: flex;
46
+ flex-flow: column;
47
+ gap: 12px;
48
+ cursor: pointer;
49
+ user-select: none;
50
+ border: 1px solid var(--dgl-node-text);
51
+ position: absolute;
52
+ }
53
+
54
+ .dgl-socket:hover {
55
+ outline: 3px solid var(--dgl-node-text);
56
+ border-width: 10px;
57
+ }
58
+
59
+ .dgl-socket {
60
+ width: var(--dgl-socket-size);
61
+ height: var(--dgl-socket-size);
62
+ border-radius: 100%;
63
+ outline: 1px solid var(--dgl-node-text);
64
+ background-color: var(--dgl-node-background);
65
+ }
66
+
67
+ .dgl-connection {
68
+ overflow: visible;
69
+ position: absolute;
70
+ }
71
+ .dgl-connection path {
72
+ stroke: var(--dgl-connection-color);
73
+ stroke-width: var( --dgl-connection-width);
74
+ fill: none;
75
+ }
76
+
77
+ .dgl-title {
78
+ font-weight: bold;
79
+ border-bottom: 1px solid var(--dgl-node-text);
80
+ text-align: center;
81
+ padding: var(--dgl-node-padding);
82
+ margin: calc(-1 * var(--dgl-node-padding));
83
+ margin-bottom: 0;
84
+ }
85
+
86
+ .dgl-input, .dgl-output {
87
+ display: flex;
88
+ gap: var(--dgl-node-padding);
89
+ position: relative;
90
+ }
91
+
92
+ .dgl-output {
93
+ justify-content: end;
94
+ left: calc(var(--dgl-node-padding) + var(--dgl-socket-size) / 2);
95
+ }
96
+
97
+ .dgl-input.dgl-socketed {
98
+ right: calc(var(--dgl-node-padding) + var(--dgl-socket-size) / 2);
99
+ }
100
+
101
+ .dgl-control {
102
+ width: 10ch;
103
+ background: var(--dgl-control-background);
104
+ border: 1px solid var(--dgl-control-border);
105
+ color: var(--dgl-control-text);
106
+ border-radius: 3px;
107
+ padding: 3px;
108
+ vertical-align: middle;
109
+ }
110
+
111
+ ul.dgl-menu, ul.dgl-submenu {
112
+ background: var(--dgl-node-background);
113
+ list-style: none;
114
+ padding: 0;
115
+ margin: 0;
116
+ flex-flow: column;
117
+ gap: 0;
118
+ font-family: sans-serif;
119
+ color: var(--dgl-node-text);
120
+ border-radius: var(--dgl-node-border-radius);
121
+ border: 1px solid var(--dgl-node-text);
122
+ min-width: 16ch;
123
+ }
124
+
125
+ ul.dgl-menu {
126
+ display: flex;
127
+ position: fixed;
128
+ width: fit-content;
129
+ }
130
+
131
+ ul.dgl-submenu {
132
+ display: none;
133
+ position: absolute;
134
+ left: 100%;
135
+ top: 0;
136
+ min-width: 150px;
137
+ }
138
+
139
+ .dgl-menu-item {
140
+ padding: var(--dgl-node-padding);
141
+ position: relative;
142
+ cursor: pointer;
143
+ transition: background 0.2s;
144
+ }
145
+
146
+ .dgl-menu-item:first-child {
147
+ border-top-left-radius: var(--dgl-node-border-radius);
148
+ border-top-right-radius: var(--dgl-node-border-radius);
149
+ }
150
+ .dgl-menu-item:last-child {
151
+ border-bottom-left-radius: var(--dgl-node-border-radius);
152
+ border-bottom-right-radius: var(--dgl-node-border-radius);
153
+ }
154
+ .dgl-menu-item:hover {
155
+ background: var(--dgl-node-selected);
156
+ }
157
+
158
+ .dgl-menu-item:hover > .dgl-submenu,
159
+ .dgl-submenu:hover {
160
+ display: flex;
161
+ }
162
+
163
+ .dgl-submenu-label::after {
164
+ content: '▶';
165
+ font-size: 0.8em;
166
+ float: right;
167
+ margin-left: var(--dgl-node-padding);
168
+ opacity: 0.7;
169
+ }