@matdata/yasgui-graph-plugin 1.4.1 → 1.5.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.
@@ -1,52 +1,70 @@
1
- /* Color scheme variables */
1
+ /* Color scheme variables using YASGUI CSS custom properties with fallbacks */
2
2
  :root {
3
- /* Light theme colors (default) */
4
- --yasgui-graph-uri: #97C2FC;
3
+ /* Graph-specific node colors (custom to this plugin) */
4
+ --yasgui-graph-uri: #97c2fc;
5
5
  --yasgui-graph-literal: #a6c8a6ff;
6
6
  --yasgui-graph-blank-node: #c5c5c5ff;
7
7
  --yasgui-graph-type-object: #e15b13ff;
8
- --yasgui-graph-text: #000000;
9
- --yasgui-graph-edge: #cccccc;
10
- --yasgui-graph-edge-label: #666666;
11
- --yasgui-graph-edge-label-bg: rgba(255, 255, 255, 0.8);
12
- --yasgui-graph-background: #ffffff;
13
-
8
+
9
+ /* Graph text and edges - using YASGUI variables with fallbacks */
10
+ --yasgui-graph-text: var(--yasgui-text-primary, #000000);
11
+ --yasgui-graph-edge: var(--yasgui-border-color, #cccccc);
12
+ --yasgui-graph-edge-label: var(--yasgui-text-secondary, #666666);
13
+ --yasgui-graph-edge-label-bg: var(--yasgui-bg-primary, rgba(255, 255, 255, 0.8));
14
+ --yasgui-graph-background: var(--yasgui-bg-primary, #ffffff);
15
+
16
+ /* UI elements - using YASGUI variables with fallbacks */
17
+ --yasgui-graph-canvas-bg: var(--yasgui-bg-primary, #ffffff);
18
+ --yasgui-graph-button-bg: var(--yasgui-accent-color, #4caf50);
19
+ --yasgui-graph-button-hover: var(--yasgui-link-hover, #45a049);
20
+ --yasgui-graph-button-text: var(--yasgui-button-text, #ffffff);
21
+ --yasgui-graph-empty-text: var(--yasgui-text-secondary, #666666);
22
+ --yasgui-graph-error-text: #f44336;
23
+
24
+ /* Shadow */
25
+ --yasgui-graph-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
26
+
14
27
  /* Legacy variables for backward compatibility */
15
28
  --color-blank-node: #ffff00;
16
29
  --color-literal: #808080;
17
30
  --color-rdf-type: #00ff00;
18
31
  --color-uri: #0000ff;
19
-
32
+
20
33
  --color-blank-node-dark: #ffeb3b;
21
34
  --color-literal-dark: #9e9e9e;
22
35
  --color-rdf-type-dark: #4caf50;
23
36
  --color-uri-dark: #2196f3;
24
-
37
+
25
38
  --bg-light: #ffffff;
26
39
  --bg-dark: #1e1e1e;
27
-
40
+
28
41
  --text-light: #666666;
29
42
  --text-dark: #cccccc;
30
43
  --text-error: #f44336;
31
-
44
+
32
45
  --button-primary-bg: #4caf50;
33
46
  --button-primary-bg-hover: #45a049;
34
47
  --button-text: #ffffff;
35
-
48
+
36
49
  --box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
37
50
  }
38
51
  /* Dark theme colors */
39
52
  [data-theme='dark'],
40
53
  .dark-theme {
41
- --yasgui-graph-uri: #97C2FC;
54
+ /* Graph-specific node colors in dark mode */
55
+ --yasgui-graph-uri: #97c2fc;
42
56
  --yasgui-graph-literal: #a6c8a6ff;
43
57
  --yasgui-graph-blank-node: #888888;
44
58
  --yasgui-graph-type-object: #e15b13ff;
45
- --yasgui-graph-text: #e0e0e0;
46
- --yasgui-graph-edge: #666666;
47
- --yasgui-graph-edge-label: #cccccc;
48
- --yasgui-graph-edge-label-bg: rgba(30, 30, 30, 0.8);
49
- --yasgui-graph-background: #1e1e1e;
59
+
60
+ /* Override with YASGUI dark theme variables */
61
+ --yasgui-graph-text: var(--yasgui-text-primary, #e0e0e0);
62
+ --yasgui-graph-edge: var(--yasgui-border-color, #666666);
63
+ --yasgui-graph-edge-label: var(--yasgui-text-secondary, #cccccc);
64
+ --yasgui-graph-edge-label-bg: var(--yasgui-bg-secondary, rgba(30, 30, 30, 0.8));
65
+ --yasgui-graph-background: var(--yasgui-bg-primary, #1e1e1e);
66
+ --yasgui-graph-canvas-bg: var(--yasgui-bg-primary, #1e1e1e);
67
+ --yasgui-graph-empty-text: var(--yasgui-text-secondary, #cccccc);
50
68
  }
51
69
  /* Graph plugin container */
52
70
  .yasgui-graph-plugin-container {
@@ -56,23 +74,16 @@
56
74
  overflow: hidden;
57
75
  }
58
76
  .yasgui-graph-plugin-container canvas {
59
- background-color: var(--yasgui-graph-canvas-bg, var(--bg-light));
60
- }
61
- .yasgui-graph-plugin-container[data-theme='dark'] canvas,
62
- .dark-theme .yasgui-graph-plugin-container canvas {
63
- background-color: var(--yasgui-graph-canvas-bg, var(--bg-dark));
77
+ background-color: var(--yasgui-graph-canvas-bg);
64
78
  }
65
79
  .yasgui-graph-plugin-empty-state {
66
80
  padding: 20px;
67
81
  text-align: center;
68
- color: var(--text-light);
69
- }
70
- .dark-theme .yasgui-graph-plugin-empty-state {
71
- color: var(--text-dark);
82
+ color: var(--yasgui-graph-empty-text);
72
83
  }
73
84
  .yasgui-graph-plugin-error {
74
85
  padding: 20px;
75
- color: var(--text-error);
86
+ color: var(--yasgui-graph-error-text);
76
87
  }
77
88
  /* Controls container */
78
89
  .yasgui-graph-controls {
@@ -87,22 +98,80 @@
87
98
  /* Button styles */
88
99
  .yasgui-graph-button {
89
100
  padding: 8px 12px;
90
- background: var(--button-primary-bg);
91
- color: var(--button-text);
101
+ background: var(--yasgui-graph-button-bg);
102
+ color: var(--yasgui-graph-button-text);
92
103
  border: none;
93
104
  border-radius: 4px;
94
105
  cursor: pointer;
95
106
  font-size: 14px;
96
- box-shadow: var(--box-shadow);
107
+ box-shadow: var(--yasgui-graph-shadow);
97
108
  transition: background 0.2s ease;
98
109
  }
99
110
  .yasgui-graph-button:hover {
100
- background: var(--button-primary-bg-hover);
111
+ background: var(--yasgui-graph-button-hover);
101
112
  }
102
113
  .yasgui-graph-button:active {
103
114
  transform: translateY(1px);
104
115
  }
105
- /* Icon styles */
116
+ /* Settings panel */
117
+ .yasgui-graph-settings-panel {
118
+ position: absolute;
119
+ top: 50px;
120
+ right: 10px;
121
+ z-index: 10001;
122
+ background: var(--yasgui-graph-button-bg, #4caf50);
123
+ background: var(--yasgui-bg-primary, #ffffff);
124
+ color: var(--yasgui-graph-text, #333333);
125
+ border: 1px solid var(--yasgui-border-color, #cccccc);
126
+ border-radius: 6px;
127
+ padding: 12px 14px;
128
+ min-width: 240px;
129
+ box-shadow: var(--yasgui-graph-shadow, 0 2px 8px rgba(0,0,0,0.2));
130
+ font-size: 13px;
131
+ }
132
+ .yasgui-graph-settings-title {
133
+ font-weight: 600;
134
+ font-size: 14px;
135
+ margin-bottom: 10px;
136
+ padding-bottom: 6px;
137
+ border-bottom: 1px solid var(--yasgui-border-color, #cccccc);
138
+ }
139
+ .yasgui-graph-settings-section {
140
+ font-size: 11px;
141
+ font-weight: 700;
142
+ text-transform: uppercase;
143
+ letter-spacing: 0.5px;
144
+ color: var(--yasgui-text-secondary, #888888);
145
+ margin: 10px 0 4px;
146
+ }
147
+ .yasgui-graph-settings-row {
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: space-between;
151
+ gap: 8px;
152
+ padding: 3px 0;
153
+ cursor: pointer;
154
+ }
155
+ .yasgui-graph-settings-row input[type='checkbox'] {
156
+ cursor: pointer;
157
+ accent-color: var(--yasgui-accent-color, #4caf50);
158
+ }
159
+ .yasgui-graph-settings-select {
160
+ font-size: 12px;
161
+ padding: 2px 4px;
162
+ border: 1px solid var(--yasgui-border-color, #cccccc);
163
+ border-radius: 3px;
164
+ background: var(--yasgui-bg-primary, #ffffff);
165
+ color: var(--yasgui-text-primary, #333333);
166
+ cursor: pointer;
167
+ max-width: 140px;
168
+ }
169
+ /* Settings button icon alignment */
170
+ .yasgui-graph-settings-button {
171
+ display: inline-flex;
172
+ align-items: center;
173
+ gap: 5px;
174
+ }
106
175
  .yasgui-graph-icon {
107
176
  display: inline-flex;
108
177
  align-items: center;
@@ -113,5 +182,60 @@
113
182
  height: 16px;
114
183
  fill: currentColor;
115
184
  }
185
+ /* Modern tooltip styles - override vis-network defaults */
186
+ .yasgui-graph-plugin-container .vis-tooltip {
187
+ display: none !important; /* Hide default vis-network tooltips */
188
+ }
189
+ /* Custom HTML tooltip container */
190
+ .yasgui-graph-tooltip-container {
191
+ position: absolute;
192
+ background-color: rgba(28, 28, 32, 0.95);
193
+ color: #f0f0f0;
194
+ border: 1px solid rgba(255, 255, 255, 0.12);
195
+ border-radius: 6px;
196
+ padding: 8px 10px;
197
+ font-size: 11px;
198
+ font-family: ui-monospace, 'SFMono-Regular', 'Menlo', 'Consolas', monospace;
199
+ max-width: 340px;
200
+ white-space: normal;
201
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
202
+ pointer-events: auto;
203
+ z-index: 1000;
204
+ user-select: text;
205
+ cursor: text;
206
+ }
207
+ .yasgui-graph-tooltip {
208
+ display: flex;
209
+ flex-direction: column;
210
+ gap: 3px;
211
+ }
212
+ .yasgui-tooltip-type {
213
+ font-size: 9px;
214
+ font-weight: 700;
215
+ text-transform: uppercase;
216
+ letter-spacing: 0.6px;
217
+ color: rgba(255, 255, 255, 0.5);
218
+ padding-bottom: 5px;
219
+ border-bottom: 1px solid rgba(255, 255, 255, 0.12);
220
+ margin-bottom: 3px;
221
+ }
222
+ .yasgui-tooltip-row {
223
+ display: flex;
224
+ gap: 8px;
225
+ align-items: baseline;
226
+ line-height: 1.5;
227
+ }
228
+ .yasgui-tooltip-key {
229
+ font-size: 10px;
230
+ font-weight: 600;
231
+ color: rgba(255, 255, 255, 0.55);
232
+ min-width: 58px;
233
+ flex-shrink: 0;
234
+ }
235
+ .yasgui-tooltip-val {
236
+ font-size: 11px;
237
+ color: #e8e8e8;
238
+ word-break: break-all;
239
+ }
116
240
  /* Main entry point for all styles */
117
241
  /* This file will be imported by the TypeScript code */
@@ -1,14 +1,21 @@
1
1
  /* styles/index.css */
2
2
  :root {
3
- --yasgui-graph-uri: #97C2FC;
3
+ --yasgui-graph-uri: #97c2fc;
4
4
  --yasgui-graph-literal: #a6c8a6ff;
5
5
  --yasgui-graph-blank-node: #c5c5c5ff;
6
6
  --yasgui-graph-type-object: #e15b13ff;
7
- --yasgui-graph-text: #000000;
8
- --yasgui-graph-edge: #cccccc;
9
- --yasgui-graph-edge-label: #666666;
10
- --yasgui-graph-edge-label-bg: rgba(255, 255, 255, 0.8);
11
- --yasgui-graph-background: #ffffff;
7
+ --yasgui-graph-text: var(--yasgui-text-primary, #000000);
8
+ --yasgui-graph-edge: var(--yasgui-border-color, #cccccc);
9
+ --yasgui-graph-edge-label: var(--yasgui-text-secondary, #666666);
10
+ --yasgui-graph-edge-label-bg: var(--yasgui-bg-primary, rgba(255, 255, 255, 0.8));
11
+ --yasgui-graph-background: var(--yasgui-bg-primary, #ffffff);
12
+ --yasgui-graph-canvas-bg: var(--yasgui-bg-primary, #ffffff);
13
+ --yasgui-graph-button-bg: var(--yasgui-accent-color, #4caf50);
14
+ --yasgui-graph-button-hover: var(--yasgui-link-hover, #45a049);
15
+ --yasgui-graph-button-text: var(--yasgui-button-text, #ffffff);
16
+ --yasgui-graph-empty-text: var(--yasgui-text-secondary, #666666);
17
+ --yasgui-graph-error-text: #f44336;
18
+ --yasgui-graph-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
12
19
  --color-blank-node: #ffff00;
13
20
  --color-literal: #808080;
14
21
  --color-rdf-type: #00ff00;
@@ -29,15 +36,17 @@
29
36
  }
30
37
  [data-theme=dark],
31
38
  .dark-theme {
32
- --yasgui-graph-uri: #97C2FC;
39
+ --yasgui-graph-uri: #97c2fc;
33
40
  --yasgui-graph-literal: #a6c8a6ff;
34
41
  --yasgui-graph-blank-node: #888888;
35
42
  --yasgui-graph-type-object: #e15b13ff;
36
- --yasgui-graph-text: #e0e0e0;
37
- --yasgui-graph-edge: #666666;
38
- --yasgui-graph-edge-label: #cccccc;
39
- --yasgui-graph-edge-label-bg: rgba(30, 30, 30, 0.8);
40
- --yasgui-graph-background: #1e1e1e;
43
+ --yasgui-graph-text: var(--yasgui-text-primary, #e0e0e0);
44
+ --yasgui-graph-edge: var(--yasgui-border-color, #666666);
45
+ --yasgui-graph-edge-label: var(--yasgui-text-secondary, #cccccc);
46
+ --yasgui-graph-edge-label-bg: var(--yasgui-bg-secondary, rgba(30, 30, 30, 0.8));
47
+ --yasgui-graph-background: var(--yasgui-bg-primary, #1e1e1e);
48
+ --yasgui-graph-canvas-bg: var(--yasgui-bg-primary, #1e1e1e);
49
+ --yasgui-graph-empty-text: var(--yasgui-text-secondary, #cccccc);
41
50
  }
42
51
  .yasgui-graph-plugin-container {
43
52
  width: 100%;
@@ -46,23 +55,16 @@
46
55
  overflow: hidden;
47
56
  }
48
57
  .yasgui-graph-plugin-container canvas {
49
- background-color: var(--yasgui-graph-canvas-bg, var(--bg-light));
50
- }
51
- .yasgui-graph-plugin-container[data-theme=dark] canvas,
52
- .dark-theme .yasgui-graph-plugin-container canvas {
53
- background-color: var(--yasgui-graph-canvas-bg, var(--bg-dark));
58
+ background-color: var(--yasgui-graph-canvas-bg);
54
59
  }
55
60
  .yasgui-graph-plugin-empty-state {
56
61
  padding: 20px;
57
62
  text-align: center;
58
- color: var(--text-light);
59
- }
60
- .dark-theme .yasgui-graph-plugin-empty-state {
61
- color: var(--text-dark);
63
+ color: var(--yasgui-graph-empty-text);
62
64
  }
63
65
  .yasgui-graph-plugin-error {
64
66
  padding: 20px;
65
- color: var(--text-error);
67
+ color: var(--yasgui-graph-error-text);
66
68
  }
67
69
  .yasgui-graph-controls {
68
70
  position: absolute;
@@ -75,21 +77,78 @@
75
77
  }
76
78
  .yasgui-graph-button {
77
79
  padding: 8px 12px;
78
- background: var(--button-primary-bg);
79
- color: var(--button-text);
80
+ background: var(--yasgui-graph-button-bg);
81
+ color: var(--yasgui-graph-button-text);
80
82
  border: none;
81
83
  border-radius: 4px;
82
84
  cursor: pointer;
83
85
  font-size: 14px;
84
- box-shadow: var(--box-shadow);
86
+ box-shadow: var(--yasgui-graph-shadow);
85
87
  transition: background 0.2s ease;
86
88
  }
87
89
  .yasgui-graph-button:hover {
88
- background: var(--button-primary-bg-hover);
90
+ background: var(--yasgui-graph-button-hover);
89
91
  }
90
92
  .yasgui-graph-button:active {
91
93
  transform: translateY(1px);
92
94
  }
95
+ .yasgui-graph-settings-panel {
96
+ position: absolute;
97
+ top: 50px;
98
+ right: 10px;
99
+ z-index: 10001;
100
+ background: var(--yasgui-graph-button-bg, #4caf50);
101
+ background: var(--yasgui-bg-primary, #ffffff);
102
+ color: var(--yasgui-graph-text, #333333);
103
+ border: 1px solid var(--yasgui-border-color, #cccccc);
104
+ border-radius: 6px;
105
+ padding: 12px 14px;
106
+ min-width: 240px;
107
+ box-shadow: var(--yasgui-graph-shadow, 0 2px 8px rgba(0,0,0,0.2));
108
+ font-size: 13px;
109
+ }
110
+ .yasgui-graph-settings-title {
111
+ font-weight: 600;
112
+ font-size: 14px;
113
+ margin-bottom: 10px;
114
+ padding-bottom: 6px;
115
+ border-bottom: 1px solid var(--yasgui-border-color, #cccccc);
116
+ }
117
+ .yasgui-graph-settings-section {
118
+ font-size: 11px;
119
+ font-weight: 700;
120
+ text-transform: uppercase;
121
+ letter-spacing: 0.5px;
122
+ color: var(--yasgui-text-secondary, #888888);
123
+ margin: 10px 0 4px;
124
+ }
125
+ .yasgui-graph-settings-row {
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: space-between;
129
+ gap: 8px;
130
+ padding: 3px 0;
131
+ cursor: pointer;
132
+ }
133
+ .yasgui-graph-settings-row input[type=checkbox] {
134
+ cursor: pointer;
135
+ accent-color: var(--yasgui-accent-color, #4caf50);
136
+ }
137
+ .yasgui-graph-settings-select {
138
+ font-size: 12px;
139
+ padding: 2px 4px;
140
+ border: 1px solid var(--yasgui-border-color, #cccccc);
141
+ border-radius: 3px;
142
+ background: var(--yasgui-bg-primary, #ffffff);
143
+ color: var(--yasgui-text-primary, #333333);
144
+ cursor: pointer;
145
+ max-width: 140px;
146
+ }
147
+ .yasgui-graph-settings-button {
148
+ display: inline-flex;
149
+ align-items: center;
150
+ gap: 5px;
151
+ }
93
152
  .yasgui-graph-icon {
94
153
  display: inline-flex;
95
154
  align-items: center;
@@ -100,4 +159,62 @@
100
159
  height: 16px;
101
160
  fill: currentColor;
102
161
  }
162
+ .yasgui-graph-plugin-container .vis-tooltip {
163
+ display: none !important;
164
+ }
165
+ .yasgui-graph-tooltip-container {
166
+ position: absolute;
167
+ background-color: rgba(28, 28, 32, 0.95);
168
+ color: #f0f0f0;
169
+ border: 1px solid rgba(255, 255, 255, 0.12);
170
+ border-radius: 6px;
171
+ padding: 8px 10px;
172
+ font-size: 11px;
173
+ font-family:
174
+ ui-monospace,
175
+ "SFMono-Regular",
176
+ "Menlo",
177
+ "Consolas",
178
+ monospace;
179
+ max-width: 340px;
180
+ white-space: normal;
181
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
182
+ pointer-events: auto;
183
+ z-index: 1000;
184
+ user-select: text;
185
+ cursor: text;
186
+ }
187
+ .yasgui-graph-tooltip {
188
+ display: flex;
189
+ flex-direction: column;
190
+ gap: 3px;
191
+ }
192
+ .yasgui-tooltip-type {
193
+ font-size: 9px;
194
+ font-weight: 700;
195
+ text-transform: uppercase;
196
+ letter-spacing: 0.6px;
197
+ color: rgba(255, 255, 255, 0.5);
198
+ padding-bottom: 5px;
199
+ border-bottom: 1px solid rgba(255, 255, 255, 0.12);
200
+ margin-bottom: 3px;
201
+ }
202
+ .yasgui-tooltip-row {
203
+ display: flex;
204
+ gap: 8px;
205
+ align-items: baseline;
206
+ line-height: 1.5;
207
+ }
208
+ .yasgui-tooltip-key {
209
+ font-size: 10px;
210
+ font-weight: 600;
211
+ color: rgba(255, 255, 255, 0.55);
212
+ min-width: 58px;
213
+ flex-shrink: 0;
214
+ }
215
+ .yasgui-tooltip-val {
216
+ font-size: 11px;
217
+ color: #e8e8e8;
218
+ word-break: break-all;
219
+ }
103
220
  /*# sourceMappingURL=yasgui-graph-plugin.esm.css.map */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../styles/index.css"],
4
- "sourcesContent": ["/* Color scheme variables */\r\n:root {\r\n /* Light theme colors (default) */\r\n --yasgui-graph-uri: #97C2FC;\r\n --yasgui-graph-literal: #a6c8a6ff;\r\n --yasgui-graph-blank-node: #c5c5c5ff;\r\n --yasgui-graph-type-object: #e15b13ff;\r\n --yasgui-graph-text: #000000;\r\n --yasgui-graph-edge: #cccccc;\r\n --yasgui-graph-edge-label: #666666;\r\n --yasgui-graph-edge-label-bg: rgba(255, 255, 255, 0.8);\r\n --yasgui-graph-background: #ffffff;\r\n \r\n /* Legacy variables for backward compatibility */\r\n --color-blank-node: #ffff00;\r\n --color-literal: #808080;\r\n --color-rdf-type: #00ff00;\r\n --color-uri: #0000ff;\r\n \r\n --color-blank-node-dark: #ffeb3b;\r\n --color-literal-dark: #9e9e9e;\r\n --color-rdf-type-dark: #4caf50;\r\n --color-uri-dark: #2196f3;\r\n \r\n --bg-light: #ffffff;\r\n --bg-dark: #1e1e1e;\r\n \r\n --text-light: #666666;\r\n --text-dark: #cccccc;\r\n --text-error: #f44336;\r\n \r\n --button-primary-bg: #4caf50;\r\n --button-primary-bg-hover: #45a049;\r\n --button-text: #ffffff;\r\n \r\n --box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\r\n}\r\n/* Dark theme colors */\r\n[data-theme='dark'],\r\n.dark-theme {\r\n --yasgui-graph-uri: #97C2FC;\r\n --yasgui-graph-literal: #a6c8a6ff;\r\n --yasgui-graph-blank-node: #888888;\r\n --yasgui-graph-type-object: #e15b13ff;\r\n --yasgui-graph-text: #e0e0e0;\r\n --yasgui-graph-edge: #666666;\r\n --yasgui-graph-edge-label: #cccccc;\r\n --yasgui-graph-edge-label-bg: rgba(30, 30, 30, 0.8);\r\n --yasgui-graph-background: #1e1e1e;\r\n}\r\n/* Graph plugin container */\r\n.yasgui-graph-plugin-container {\r\n width: 100%;\r\n height: 500px; /* Initial fixed height as workaround for viz-network bug */\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n.yasgui-graph-plugin-container canvas {\r\n background-color: var(--yasgui-graph-canvas-bg, var(--bg-light));\r\n}\r\n.yasgui-graph-plugin-container[data-theme='dark'] canvas,\r\n.dark-theme .yasgui-graph-plugin-container canvas {\r\n background-color: var(--yasgui-graph-canvas-bg, var(--bg-dark));\r\n}\r\n.yasgui-graph-plugin-empty-state {\r\n padding: 20px;\r\n text-align: center;\r\n color: var(--text-light);\r\n}\r\n.dark-theme .yasgui-graph-plugin-empty-state {\r\n color: var(--text-dark);\r\n}\r\n.yasgui-graph-plugin-error {\r\n padding: 20px;\r\n color: var(--text-error);\r\n}\r\n/* Controls container */\r\n.yasgui-graph-controls {\r\n position: absolute;\r\n top: 10px;\r\n right: 10px;\r\n z-index: 10000;\r\n display: flex;\r\n gap: 10px;\r\n pointer-events: auto;\r\n}\r\n/* Button styles */\r\n.yasgui-graph-button {\r\n padding: 8px 12px;\r\n background: var(--button-primary-bg);\r\n color: var(--button-text);\r\n border: none;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n font-size: 14px;\r\n box-shadow: var(--box-shadow);\r\n transition: background 0.2s ease;\r\n}\r\n.yasgui-graph-button:hover {\r\n background: var(--button-primary-bg-hover);\r\n}\r\n.yasgui-graph-button:active {\r\n transform: translateY(1px);\r\n}\r\n/* Icon styles */\r\n.yasgui-graph-icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.yasgui-graph-icon svg {\r\n width: 16px;\r\n height: 16px;\r\n fill: currentColor;\r\n}\r\n/* Main entry point for all styles */\r\n/* This file will be imported by the TypeScript code */\r\n"],
5
- "mappings": ";AACA;AAEE,sBAAoB;AACpB,0BAAwB;AACxB,6BAA2B;AAC3B,8BAA4B;AAC5B,uBAAqB;AACrB,uBAAqB;AACrB,6BAA2B;AAC3B,gCAA8B,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClD,6BAA2B;AAG3B,sBAAoB;AACpB,mBAAiB;AACjB,oBAAkB;AAClB,eAAa;AAEb,2BAAyB;AACzB,wBAAsB;AACtB,yBAAuB;AACvB,oBAAkB;AAElB,cAAY;AACZ,aAAW;AAEX,gBAAc;AACd,eAAa;AACb,gBAAc;AAEd,uBAAqB;AACrB,6BAA2B;AAC3B,iBAAe;AAEf,gBAAc,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACxC;AAEA,CAAC;AACD,CAAC;AACC,sBAAoB;AACpB,0BAAwB;AACxB,6BAA2B;AAC3B,8BAA4B;AAC5B,uBAAqB;AACrB,uBAAqB;AACrB,6BAA2B;AAC3B,gCAA8B,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,6BAA2B;AAC7B;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,YAAU;AACV,YAAU;AACZ;AACA,CANC,8BAM8B;AAC7B,oBAAkB,IAAI,wBAAwB,EAAE,IAAI;AACtD;AACA,CATC,6BAS6B,CAAC,iBAAmB;AAClD,CAtBC,WAsBW,CAVX,8BAU0C;AACzC,oBAAkB,IAAI,wBAAwB,EAAE,IAAI;AACtD;AACA,CAAC;AACC,WAAS;AACT,cAAY;AACZ,SAAO,IAAI;AACb;AACA,CA9BC,WA8BW,CALX;AAMC,SAAO,IAAI;AACb;AACA,CAAC;AACC,WAAS;AACT,SAAO,IAAI;AACb;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,SAAO;AACP,WAAS;AACT,WAAS;AACT,OAAK;AACL,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS,IAAI;AACb,cAAY,IAAI;AAChB,SAAO,IAAI;AACX,UAAQ;AACR,iBAAe;AACf,UAAQ;AACR,aAAW;AACX,cAAY,IAAI;AAChB,cAAY,WAAW,KAAK;AAC9B;AACA,CAXC,mBAWmB;AAClB,cAAY,IAAI;AAClB;AACA,CAdC,mBAcmB;AAClB,aAAW,WAAW;AACxB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACnB;AACA,CALC,kBAKkB;AACjB,SAAO;AACP,UAAQ;AACR,QAAM;AACR;",
4
+ "sourcesContent": ["/* Color scheme variables using YASGUI CSS custom properties with fallbacks */\r\n:root {\r\n /* Graph-specific node colors (custom to this plugin) */\r\n --yasgui-graph-uri: #97c2fc;\r\n --yasgui-graph-literal: #a6c8a6ff;\r\n --yasgui-graph-blank-node: #c5c5c5ff;\r\n --yasgui-graph-type-object: #e15b13ff;\r\n\r\n /* Graph text and edges - using YASGUI variables with fallbacks */\r\n --yasgui-graph-text: var(--yasgui-text-primary, #000000);\r\n --yasgui-graph-edge: var(--yasgui-border-color, #cccccc);\r\n --yasgui-graph-edge-label: var(--yasgui-text-secondary, #666666);\r\n --yasgui-graph-edge-label-bg: var(--yasgui-bg-primary, rgba(255, 255, 255, 0.8));\r\n --yasgui-graph-background: var(--yasgui-bg-primary, #ffffff);\r\n\r\n /* UI elements - using YASGUI variables with fallbacks */\r\n --yasgui-graph-canvas-bg: var(--yasgui-bg-primary, #ffffff);\r\n --yasgui-graph-button-bg: var(--yasgui-accent-color, #4caf50);\r\n --yasgui-graph-button-hover: var(--yasgui-link-hover, #45a049);\r\n --yasgui-graph-button-text: var(--yasgui-button-text, #ffffff);\r\n --yasgui-graph-empty-text: var(--yasgui-text-secondary, #666666);\r\n --yasgui-graph-error-text: #f44336;\r\n\r\n /* Shadow */\r\n --yasgui-graph-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\r\n\r\n /* Legacy variables for backward compatibility */\r\n --color-blank-node: #ffff00;\r\n --color-literal: #808080;\r\n --color-rdf-type: #00ff00;\r\n --color-uri: #0000ff;\r\n\r\n --color-blank-node-dark: #ffeb3b;\r\n --color-literal-dark: #9e9e9e;\r\n --color-rdf-type-dark: #4caf50;\r\n --color-uri-dark: #2196f3;\r\n\r\n --bg-light: #ffffff;\r\n --bg-dark: #1e1e1e;\r\n\r\n --text-light: #666666;\r\n --text-dark: #cccccc;\r\n --text-error: #f44336;\r\n\r\n --button-primary-bg: #4caf50;\r\n --button-primary-bg-hover: #45a049;\r\n --button-text: #ffffff;\r\n\r\n --box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\r\n}\r\n/* Dark theme colors */\r\n[data-theme='dark'],\r\n.dark-theme {\r\n /* Graph-specific node colors in dark mode */\r\n --yasgui-graph-uri: #97c2fc;\r\n --yasgui-graph-literal: #a6c8a6ff;\r\n --yasgui-graph-blank-node: #888888;\r\n --yasgui-graph-type-object: #e15b13ff;\r\n\r\n /* Override with YASGUI dark theme variables */\r\n --yasgui-graph-text: var(--yasgui-text-primary, #e0e0e0);\r\n --yasgui-graph-edge: var(--yasgui-border-color, #666666);\r\n --yasgui-graph-edge-label: var(--yasgui-text-secondary, #cccccc);\r\n --yasgui-graph-edge-label-bg: var(--yasgui-bg-secondary, rgba(30, 30, 30, 0.8));\r\n --yasgui-graph-background: var(--yasgui-bg-primary, #1e1e1e);\r\n --yasgui-graph-canvas-bg: var(--yasgui-bg-primary, #1e1e1e);\r\n --yasgui-graph-empty-text: var(--yasgui-text-secondary, #cccccc);\r\n}\r\n/* Graph plugin container */\r\n.yasgui-graph-plugin-container {\r\n width: 100%;\r\n height: 500px; /* Initial fixed height as workaround for viz-network bug */\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n.yasgui-graph-plugin-container canvas {\r\n background-color: var(--yasgui-graph-canvas-bg);\r\n}\r\n.yasgui-graph-plugin-empty-state {\r\n padding: 20px;\r\n text-align: center;\r\n color: var(--yasgui-graph-empty-text);\r\n}\r\n.yasgui-graph-plugin-error {\r\n padding: 20px;\r\n color: var(--yasgui-graph-error-text);\r\n}\r\n/* Controls container */\r\n.yasgui-graph-controls {\r\n position: absolute;\r\n top: 10px;\r\n right: 10px;\r\n z-index: 10000;\r\n display: flex;\r\n gap: 10px;\r\n pointer-events: auto;\r\n}\r\n/* Button styles */\r\n.yasgui-graph-button {\r\n padding: 8px 12px;\r\n background: var(--yasgui-graph-button-bg);\r\n color: var(--yasgui-graph-button-text);\r\n border: none;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n font-size: 14px;\r\n box-shadow: var(--yasgui-graph-shadow);\r\n transition: background 0.2s ease;\r\n}\r\n.yasgui-graph-button:hover {\r\n background: var(--yasgui-graph-button-hover);\r\n}\r\n.yasgui-graph-button:active {\r\n transform: translateY(1px);\r\n}\r\n/* Settings panel */\r\n.yasgui-graph-settings-panel {\r\n position: absolute;\r\n top: 50px;\r\n right: 10px;\r\n z-index: 10001;\r\n background: var(--yasgui-graph-button-bg, #4caf50);\r\n background: var(--yasgui-bg-primary, #ffffff);\r\n color: var(--yasgui-graph-text, #333333);\r\n border: 1px solid var(--yasgui-border-color, #cccccc);\r\n border-radius: 6px;\r\n padding: 12px 14px;\r\n min-width: 240px;\r\n box-shadow: var(--yasgui-graph-shadow, 0 2px 8px rgba(0,0,0,0.2));\r\n font-size: 13px;\r\n}\r\n.yasgui-graph-settings-title {\r\n font-weight: 600;\r\n font-size: 14px;\r\n margin-bottom: 10px;\r\n padding-bottom: 6px;\r\n border-bottom: 1px solid var(--yasgui-border-color, #cccccc);\r\n}\r\n.yasgui-graph-settings-section {\r\n font-size: 11px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 0.5px;\r\n color: var(--yasgui-text-secondary, #888888);\r\n margin: 10px 0 4px;\r\n}\r\n.yasgui-graph-settings-row {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: 8px;\r\n padding: 3px 0;\r\n cursor: pointer;\r\n}\r\n.yasgui-graph-settings-row input[type='checkbox'] {\r\n cursor: pointer;\r\n accent-color: var(--yasgui-accent-color, #4caf50);\r\n}\r\n.yasgui-graph-settings-select {\r\n font-size: 12px;\r\n padding: 2px 4px;\r\n border: 1px solid var(--yasgui-border-color, #cccccc);\r\n border-radius: 3px;\r\n background: var(--yasgui-bg-primary, #ffffff);\r\n color: var(--yasgui-text-primary, #333333);\r\n cursor: pointer;\r\n max-width: 140px;\r\n}\r\n/* Settings button icon alignment */\r\n.yasgui-graph-settings-button {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 5px;\r\n}\r\n.yasgui-graph-icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.yasgui-graph-icon svg {\r\n width: 16px;\r\n height: 16px;\r\n fill: currentColor;\r\n}\r\n/* Modern tooltip styles - override vis-network defaults */\r\n.yasgui-graph-plugin-container .vis-tooltip {\r\n display: none !important; /* Hide default vis-network tooltips */\r\n}\r\n/* Custom HTML tooltip container */\r\n.yasgui-graph-tooltip-container {\r\n position: absolute;\r\n background-color: rgba(28, 28, 32, 0.95);\r\n color: #f0f0f0;\r\n border: 1px solid rgba(255, 255, 255, 0.12);\r\n border-radius: 6px;\r\n padding: 8px 10px;\r\n font-size: 11px;\r\n font-family: ui-monospace, 'SFMono-Regular', 'Menlo', 'Consolas', monospace;\r\n max-width: 340px;\r\n white-space: normal;\r\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);\r\n pointer-events: auto;\r\n z-index: 1000;\r\n user-select: text;\r\n cursor: text;\r\n}\r\n.yasgui-graph-tooltip {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 3px;\r\n}\r\n.yasgui-tooltip-type {\r\n font-size: 9px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n color: rgba(255, 255, 255, 0.5);\r\n padding-bottom: 5px;\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\r\n margin-bottom: 3px;\r\n}\r\n.yasgui-tooltip-row {\r\n display: flex;\r\n gap: 8px;\r\n align-items: baseline;\r\n line-height: 1.5;\r\n}\r\n.yasgui-tooltip-key {\r\n font-size: 10px;\r\n font-weight: 600;\r\n color: rgba(255, 255, 255, 0.55);\r\n min-width: 58px;\r\n flex-shrink: 0;\r\n}\r\n.yasgui-tooltip-val {\r\n font-size: 11px;\r\n color: #e8e8e8;\r\n word-break: break-all;\r\n}\r\n/* Main entry point for all styles */\r\n/* This file will be imported by the TypeScript code */\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }