@shumoku/renderer 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.
- package/dist/html/index.d.ts +25 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +478 -2
- package/dist/html/index.js.map +1 -1
- package/dist/html/navigation.d.ts +54 -0
- package/dist/html/navigation.d.ts.map +1 -0
- package/dist/html/navigation.js +210 -0
- package/dist/html/navigation.js.map +1 -0
- package/dist/html/runtime.d.ts.map +1 -1
- package/dist/html/runtime.js +37 -0
- package/dist/html/runtime.js.map +1 -1
- package/dist/html/tooltip.d.ts.map +1 -1
- package/dist/html/tooltip.js +30 -2
- package/dist/html/tooltip.js.map +1 -1
- package/dist/iife-string.d.ts +2 -0
- package/dist/iife-string.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/shumoku-interactive.iife.js +10 -8
- package/dist/svg.d.ts +27 -0
- package/dist/svg.d.ts.map +1 -1
- package/dist/svg.js +202 -101
- package/dist/svg.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/build-iife-string.ts +26 -19
- package/src/html/index.ts +550 -4
- package/src/html/navigation.ts +256 -0
- package/src/html/runtime.ts +42 -0
- package/src/html/tooltip.ts +28 -2
- package/src/index.ts +25 -22
- package/src/svg.ts +1640 -1502
- package/src/types.ts +127 -125
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation UI for hierarchical network diagrams
|
|
3
|
+
* Provides breadcrumb, tabs, and back button for sheet navigation
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Generate breadcrumb HTML
|
|
7
|
+
*/
|
|
8
|
+
export function generateBreadcrumb(state) {
|
|
9
|
+
const items = state.breadcrumb.map((id, index) => {
|
|
10
|
+
const isLast = index === state.breadcrumb.length - 1;
|
|
11
|
+
const label = id === 'root' ? 'Overview' : (state.sheets.get(id)?.label ?? id);
|
|
12
|
+
if (isLast) {
|
|
13
|
+
return `<span class="breadcrumb-current">${escapeHtml(label)}</span>`;
|
|
14
|
+
}
|
|
15
|
+
return `<button class="breadcrumb-item" data-sheet="${escapeHtml(id)}">${escapeHtml(label)}</button>`;
|
|
16
|
+
});
|
|
17
|
+
return `<nav class="breadcrumb">${items.join('<span class="breadcrumb-sep">/</span>')}</nav>`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generate tab navigation HTML for sibling sheets
|
|
21
|
+
*/
|
|
22
|
+
export function generateTabs(state, siblingIds) {
|
|
23
|
+
if (siblingIds.length <= 1)
|
|
24
|
+
return '';
|
|
25
|
+
const tabs = siblingIds.map((id) => {
|
|
26
|
+
const info = state.sheets.get(id);
|
|
27
|
+
const label = info?.label ?? id;
|
|
28
|
+
const isActive = id === state.currentSheet;
|
|
29
|
+
return `<button class="tab ${isActive ? 'active' : ''}" data-sheet="${escapeHtml(id)}">${escapeHtml(label)}</button>`;
|
|
30
|
+
});
|
|
31
|
+
return `<div class="tabs">${tabs.join('')}</div>`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate back button HTML
|
|
35
|
+
*/
|
|
36
|
+
export function generateBackButton(state) {
|
|
37
|
+
if (state.breadcrumb.length <= 1)
|
|
38
|
+
return '';
|
|
39
|
+
const parentId = state.breadcrumb[state.breadcrumb.length - 2];
|
|
40
|
+
const parentLabel = parentId === 'root' ? 'Overview' : (state.sheets.get(parentId)?.label ?? parentId);
|
|
41
|
+
return `<button class="back-btn" data-sheet="${escapeHtml(parentId)}">
|
|
42
|
+
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
43
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
|
|
44
|
+
</svg>
|
|
45
|
+
${escapeHtml(parentLabel)}
|
|
46
|
+
</button>`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Generate complete navigation toolbar HTML
|
|
50
|
+
*/
|
|
51
|
+
export function generateNavigationToolbar(state, siblingIds = []) {
|
|
52
|
+
const breadcrumb = generateBreadcrumb(state);
|
|
53
|
+
const backBtn = generateBackButton(state);
|
|
54
|
+
const tabs = generateTabs(state, siblingIds);
|
|
55
|
+
return `<div class="nav-toolbar">
|
|
56
|
+
<div class="nav-row">
|
|
57
|
+
${backBtn}
|
|
58
|
+
${breadcrumb}
|
|
59
|
+
</div>
|
|
60
|
+
${tabs}
|
|
61
|
+
</div>`;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get CSS styles for navigation components
|
|
65
|
+
*/
|
|
66
|
+
export function getNavigationStyles() {
|
|
67
|
+
return `
|
|
68
|
+
.nav-toolbar {
|
|
69
|
+
padding: 8px 16px;
|
|
70
|
+
background: white;
|
|
71
|
+
border-bottom: 1px solid #e5e5e5;
|
|
72
|
+
}
|
|
73
|
+
.nav-row {
|
|
74
|
+
display: flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
gap: 12px;
|
|
77
|
+
}
|
|
78
|
+
.back-btn {
|
|
79
|
+
display: flex;
|
|
80
|
+
align-items: center;
|
|
81
|
+
gap: 4px;
|
|
82
|
+
padding: 6px 12px;
|
|
83
|
+
border: 1px solid #e5e5e5;
|
|
84
|
+
background: white;
|
|
85
|
+
border-radius: 6px;
|
|
86
|
+
cursor: pointer;
|
|
87
|
+
font-size: 13px;
|
|
88
|
+
color: #555;
|
|
89
|
+
transition: all 0.15s;
|
|
90
|
+
}
|
|
91
|
+
.back-btn:hover {
|
|
92
|
+
background: #f5f5f5;
|
|
93
|
+
border-color: #ccc;
|
|
94
|
+
}
|
|
95
|
+
.breadcrumb {
|
|
96
|
+
display: flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
gap: 4px;
|
|
99
|
+
font-size: 13px;
|
|
100
|
+
}
|
|
101
|
+
.breadcrumb-item {
|
|
102
|
+
background: none;
|
|
103
|
+
border: none;
|
|
104
|
+
color: #0066cc;
|
|
105
|
+
cursor: pointer;
|
|
106
|
+
padding: 4px 8px;
|
|
107
|
+
border-radius: 4px;
|
|
108
|
+
}
|
|
109
|
+
.breadcrumb-item:hover {
|
|
110
|
+
background: #f0f7ff;
|
|
111
|
+
}
|
|
112
|
+
.breadcrumb-current {
|
|
113
|
+
color: #333;
|
|
114
|
+
font-weight: 500;
|
|
115
|
+
}
|
|
116
|
+
.breadcrumb-sep {
|
|
117
|
+
color: #999;
|
|
118
|
+
}
|
|
119
|
+
.tabs {
|
|
120
|
+
display: flex;
|
|
121
|
+
gap: 4px;
|
|
122
|
+
margin-top: 8px;
|
|
123
|
+
border-bottom: 1px solid #e5e5e5;
|
|
124
|
+
padding-bottom: 0;
|
|
125
|
+
}
|
|
126
|
+
.tab {
|
|
127
|
+
padding: 8px 16px;
|
|
128
|
+
border: none;
|
|
129
|
+
background: none;
|
|
130
|
+
cursor: pointer;
|
|
131
|
+
font-size: 13px;
|
|
132
|
+
color: #666;
|
|
133
|
+
border-bottom: 2px solid transparent;
|
|
134
|
+
margin-bottom: -1px;
|
|
135
|
+
transition: all 0.15s;
|
|
136
|
+
}
|
|
137
|
+
.tab:hover {
|
|
138
|
+
color: #333;
|
|
139
|
+
background: #f5f5f5;
|
|
140
|
+
}
|
|
141
|
+
.tab.active {
|
|
142
|
+
color: #0066cc;
|
|
143
|
+
border-bottom-color: #0066cc;
|
|
144
|
+
font-weight: 500;
|
|
145
|
+
}
|
|
146
|
+
`;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Get JavaScript code for navigation event handling
|
|
150
|
+
*/
|
|
151
|
+
export function getNavigationScript() {
|
|
152
|
+
return `
|
|
153
|
+
(function() {
|
|
154
|
+
function navigateToSheet(sheetId) {
|
|
155
|
+
// Dispatch custom event for sheet navigation
|
|
156
|
+
var event = new CustomEvent('shumoku:navigate', {
|
|
157
|
+
detail: { sheetId: sheetId },
|
|
158
|
+
bubbles: true
|
|
159
|
+
});
|
|
160
|
+
document.dispatchEvent(event);
|
|
161
|
+
|
|
162
|
+
// For standalone HTML, show alert (sheets are not embedded yet)
|
|
163
|
+
console.log('[Shumoku] Navigate to sheet:', sheetId);
|
|
164
|
+
alert('Navigate to: ' + sheetId + '\\n\\nNote: Multi-sheet navigation requires embedded sheets.');
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Listen for navigation events from subgraph clicks
|
|
168
|
+
document.addEventListener('shumoku:navigate', function(e) {
|
|
169
|
+
var sheetId = e.detail && e.detail.sheetId;
|
|
170
|
+
if (sheetId) {
|
|
171
|
+
console.log('[Shumoku] Subgraph clicked, sheet:', sheetId);
|
|
172
|
+
alert('Navigate to: ' + sheetId + '\\n\\nNote: Multi-sheet navigation requires embedded sheets.');
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
// Handle breadcrumb clicks
|
|
177
|
+
document.querySelectorAll('.breadcrumb-item').forEach(function(btn) {
|
|
178
|
+
btn.addEventListener('click', function() {
|
|
179
|
+
var sheetId = this.getAttribute('data-sheet');
|
|
180
|
+
if (sheetId) navigateToSheet(sheetId);
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
// Handle back button clicks
|
|
185
|
+
document.querySelectorAll('.back-btn').forEach(function(btn) {
|
|
186
|
+
btn.addEventListener('click', function() {
|
|
187
|
+
var sheetId = this.getAttribute('data-sheet');
|
|
188
|
+
if (sheetId) navigateToSheet(sheetId);
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
// Handle tab clicks
|
|
193
|
+
document.querySelectorAll('.tab').forEach(function(btn) {
|
|
194
|
+
btn.addEventListener('click', function() {
|
|
195
|
+
var sheetId = this.getAttribute('data-sheet');
|
|
196
|
+
if (sheetId) navigateToSheet(sheetId);
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
})();
|
|
200
|
+
`;
|
|
201
|
+
}
|
|
202
|
+
function escapeHtml(str) {
|
|
203
|
+
return str
|
|
204
|
+
.replace(/&/g, '&')
|
|
205
|
+
.replace(/</g, '<')
|
|
206
|
+
.replace(/>/g, '>')
|
|
207
|
+
.replace(/"/g, '"')
|
|
208
|
+
.replace(/'/g, ''');
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/html/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/html/runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAY1E,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/html/runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAY1E,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CA0YhF"}
|
package/dist/html/runtime.js
CHANGED
|
@@ -194,6 +194,28 @@ export function initInteractive(options) {
|
|
|
194
194
|
}, updateHighlightPosition);
|
|
195
195
|
};
|
|
196
196
|
// ============================================
|
|
197
|
+
// Hierarchical Navigation
|
|
198
|
+
// ============================================
|
|
199
|
+
const handleSubgraphClick = (e) => {
|
|
200
|
+
const target = e.target;
|
|
201
|
+
const subgraph = target.closest('.subgraph[data-has-sheet]');
|
|
202
|
+
if (subgraph) {
|
|
203
|
+
const sheetId = subgraph.getAttribute('data-sheet-id');
|
|
204
|
+
if (sheetId) {
|
|
205
|
+
e.preventDefault();
|
|
206
|
+
e.stopPropagation();
|
|
207
|
+
dispatchNavigateEvent(sheetId);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
const dispatchNavigateEvent = (sheetId) => {
|
|
212
|
+
const event = new CustomEvent('shumoku:navigate', {
|
|
213
|
+
detail: { sheetId },
|
|
214
|
+
bubbles: true,
|
|
215
|
+
});
|
|
216
|
+
document.dispatchEvent(event);
|
|
217
|
+
};
|
|
218
|
+
// ============================================
|
|
197
219
|
// Tap for tooltip (touch devices)
|
|
198
220
|
// ============================================
|
|
199
221
|
let tapStart = null;
|
|
@@ -221,6 +243,17 @@ export function initInteractive(options) {
|
|
|
221
243
|
if (Math.hypot(dx, dy) < 10 && dt < 300) {
|
|
222
244
|
const targetEl = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
223
245
|
if (targetEl) {
|
|
246
|
+
// Check for hierarchical navigation first
|
|
247
|
+
const subgraph = targetEl.closest('.subgraph[data-has-sheet]');
|
|
248
|
+
if (subgraph) {
|
|
249
|
+
const sheetId = subgraph.getAttribute('data-sheet-id');
|
|
250
|
+
if (sheetId) {
|
|
251
|
+
dispatchNavigateEvent(sheetId);
|
|
252
|
+
tapStart = null;
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// Otherwise show tooltip
|
|
224
257
|
const info = getTooltipInfo(targetEl);
|
|
225
258
|
if (info) {
|
|
226
259
|
showTooltip(info.text, touch.clientX, touch.clientY);
|
|
@@ -270,6 +303,8 @@ export function initInteractive(options) {
|
|
|
270
303
|
document.addEventListener('mouseup', handleMouseUp);
|
|
271
304
|
svg.addEventListener('mouseleave', handleMouseLeave);
|
|
272
305
|
svg.addEventListener('wheel', handleWheel, { passive: false });
|
|
306
|
+
// Hierarchical navigation: click on subgraph with sheet reference
|
|
307
|
+
svg.addEventListener('click', handleSubgraphClick);
|
|
273
308
|
// Listen for scroll/resize to update highlight position
|
|
274
309
|
window.addEventListener('scroll', handlePositionUpdate, true);
|
|
275
310
|
window.addEventListener('resize', handlePositionUpdate);
|
|
@@ -288,6 +323,7 @@ export function initInteractive(options) {
|
|
|
288
323
|
document.removeEventListener('mouseup', handleMouseUp);
|
|
289
324
|
svg.removeEventListener('mouseleave', handleMouseLeave);
|
|
290
325
|
svg.removeEventListener('wheel', handleWheel);
|
|
326
|
+
svg.removeEventListener('click', handleSubgraphClick);
|
|
291
327
|
window.removeEventListener('scroll', handlePositionUpdate, true);
|
|
292
328
|
window.removeEventListener('resize', handlePositionUpdate);
|
|
293
329
|
destroyTooltip();
|
|
@@ -303,6 +339,7 @@ export function initInteractive(options) {
|
|
|
303
339
|
},
|
|
304
340
|
resetView,
|
|
305
341
|
getScale,
|
|
342
|
+
navigateToSheet: dispatchNavigateEvent,
|
|
306
343
|
};
|
|
307
344
|
}
|
|
308
345
|
//# sourceMappingURL=runtime.js.map
|
package/dist/html/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/html/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/html/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/html/tooltip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,UAAU,IAAI,cAAc,CAuB3C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBpE;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/html/tooltip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,UAAU,IAAI,cAAc,CAuB3C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBpE;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAmE9D"}
|
package/dist/html/tooltip.js
CHANGED
|
@@ -66,10 +66,38 @@ export function getTooltipInfo(el) {
|
|
|
66
66
|
}
|
|
67
67
|
const linkGroup = el.closest('.link-group[data-link-id]');
|
|
68
68
|
if (linkGroup) {
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
let from = linkGroup.getAttribute('data-link-from') || '';
|
|
70
|
+
let to = linkGroup.getAttribute('data-link-to') || '';
|
|
71
71
|
const bw = linkGroup.getAttribute('data-link-bandwidth');
|
|
72
72
|
const vlan = linkGroup.getAttribute('data-link-vlan');
|
|
73
|
+
const jsonAttr = linkGroup.getAttribute('data-link-json');
|
|
74
|
+
// For export links, show device:port ↔ destination device:port
|
|
75
|
+
const fromIsExport = from.startsWith('__export_');
|
|
76
|
+
const toIsExport = to.startsWith('__export_');
|
|
77
|
+
if ((fromIsExport || toIsExport) && jsonAttr) {
|
|
78
|
+
try {
|
|
79
|
+
const linkData = JSON.parse(jsonAttr);
|
|
80
|
+
const meta = linkData.metadata;
|
|
81
|
+
if (meta?._destDevice) {
|
|
82
|
+
// Get the actual device endpoint (non-export side)
|
|
83
|
+
const localDevice = fromIsExport ? to : from;
|
|
84
|
+
// Get the destination device:port from metadata
|
|
85
|
+
const destDevice = meta._destPort
|
|
86
|
+
? `${meta._destDevice}:${meta._destPort}`
|
|
87
|
+
: meta._destDevice;
|
|
88
|
+
// Show: "local device ↔ remote device"
|
|
89
|
+
let text = `${localDevice} ↔ ${destDevice}`;
|
|
90
|
+
if (bw)
|
|
91
|
+
text += `\n${bw}`;
|
|
92
|
+
if (vlan)
|
|
93
|
+
text += `\nVLAN: ${vlan}`;
|
|
94
|
+
return { text, element: linkGroup };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Fall through to default display
|
|
99
|
+
}
|
|
100
|
+
}
|
|
73
101
|
let text = `${from} ↔ ${to}`;
|
|
74
102
|
if (bw)
|
|
75
103
|
text += `\n${bw}`;
|
package/dist/html/tooltip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/html/tooltip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAI,OAAO,GAA0B,IAAI,CAAA;AAEzC,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACvC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;;;;;;KAgBvB,CAAA;QACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS;IAC5D,MAAM,CAAC,GAAG,UAAU,EAAE,CAAA;IACtB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAA;IACpB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA;IAErB,qBAAqB,CAAC,GAAG,EAAE;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAA;QACtC,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAA;QAClB,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QAE/B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAChD,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACf,CAAC;QAED,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAA;QACzC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,EAAE,CAAA;QAChB,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,EAAW;IACxC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAC5D,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACzD,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACzD,IAAI,SAAS,EAAE,CAAC;QACd,
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/html/tooltip.ts"],"names":[],"mappings":"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"}
|
package/dist/iife-string.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated - do not edit
|
|
2
|
-
export const INTERACTIVE_IIFE = "(()=>{var{defineProperty:
|
|
2
|
+
export const INTERACTIVE_IIFE = "(()=>{var{defineProperty:v,getOwnPropertyNames:K0,getOwnPropertyDescriptor:Q0}=Object,z0=Object.prototype.hasOwnProperty;var y0=new WeakMap,H0=($)=>{var L=y0.get($),f;if(L)return L;if(L=v({},\"__esModule\",{value:!0}),$&&typeof $===\"object\"||typeof $===\"function\")K0($).map((C)=>!z0.call(L,C)&&v(L,C,{get:()=>$[C],enumerable:!(f=Q0($,C))||f.enumerable}));return y0.set($,L),L};var k0=($,L)=>{for(var f in L)v($,f,{get:L[f],enumerable:!0,configurable:!0,set:(C)=>L[f]=()=>C})};var _0={};k0(_0,{ShumokuInteractive:()=>q0});var Z=null,u=null,j=null,A=null;function m0(){if(!Z)Z=document.createElement(\"div\"),Z.style.cssText=`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.15s ease;\n z-index: 9998;\n `,document.body.appendChild(Z);return Z}function X0(){if(!u)u=document.createElement(\"div\"),u.style.cssText=`\n position: fixed;\n top: 0;\n left: 0;\n pointer-events: none;\n z-index: 9999;\n `,document.body.appendChild(u);return u}function n(){if(!j||!A)return;if(!document.contains(j)){_(null);return}let $=j.closest(\"svg\");if(!$)return;let L=$.getBoundingClientRect(),f=$.getAttribute(\"viewBox\");if(f)A.setAttribute(\"viewBox\",f);A.style.left=`${L.left}px`,A.style.top=`${L.top}px`,A.style.width=`${L.width}px`,A.style.height=`${L.height}px`}function _($){if($===j)return;if(j)j.classList.remove(\"shumoku-highlight\");let L=X0();L.innerHTML=\"\",A=null,j=$;let f=m0();if($){$.classList.add(\"shumoku-highlight\");let C=$.closest(\"svg\");if(C){let H=C.getAttribute(\"viewBox\");if(H){let J=$.cloneNode(!0);J.classList.remove(\"shumoku-highlight\");let N=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");N.setAttribute(\"viewBox\",H),N.style.cssText=`\n position: absolute;\n overflow: visible;\n filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 8px #fff) drop-shadow(0 0 12px rgba(100, 150, 255, 0.8));\n `;let K=C.querySelector(\"defs\");if(K)N.appendChild(K.cloneNode(!0));N.appendChild(J),L.appendChild(N),A=N,n()}}f.style.opacity=\"1\"}else f.style.opacity=\"0\"}function $0(){return j}function L0(){if(Z)Z.remove(),Z=null;if(u)u.remove(),u=null;j=null,A=null}var R=null;function Y0(){if(!R)R=document.createElement(\"div\"),R.style.cssText=`\n position: fixed;\n z-index: 10000;\n padding: 8px 12px;\n background: rgba(30, 41, 59, 0.95);\n color: #fff;\n font-size: 13px;\n line-height: 1.4;\n border-radius: 6px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.15s;\n font-family: system-ui, -apple-system, sans-serif;\n max-width: 280px;\n white-space: pre-line;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n `,document.body.appendChild(R);return R}function l($,L,f){let C=Y0();C.textContent=$,C.style.opacity=\"1\",requestAnimationFrame(()=>{let H=C.getBoundingClientRect(),J=12,N=L+12,K=f-H.height-12;if(N+H.width>window.innerWidth-12)N=L-H.width-12;if(K<12)K=f+12;C.style.left=`${Math.max(12,N)}px`,C.style.top=`${Math.max(12,K)}px`})}function V(){if(R)R.style.opacity=\"0\"}function N0(){if(R)R.remove(),R=null}function d($){let L=$.closest(\".port[data-port]\");if(L){let H=L.getAttribute(\"data-port\")||\"\";return{text:`${L.getAttribute(\"data-port-device\")||\"\"}:${H}`,element:L}}let f=$.closest(\".link-group[data-link-id]\");if(f){let H=f.getAttribute(\"data-link-from\")||\"\",J=f.getAttribute(\"data-link-to\")||\"\",N=f.getAttribute(\"data-link-bandwidth\"),K=f.getAttribute(\"data-link-vlan\"),Q=f.getAttribute(\"data-link-json\"),m=H.startsWith(\"__export_\"),D=J.startsWith(\"__export_\");if((m||D)&&Q)try{let I=JSON.parse(Q).metadata;if(I?._destDevice){let B=m?J:H,E=I._destPort?`${I._destDevice}:${I._destPort}`:I._destDevice,M=`${B} ↔ ${E}`;if(N)M+=`\n${N}`;if(K)M+=`\nVLAN: ${K}`;return{text:M,element:f}}}catch{}let P=`${H} ↔ ${J}`;if(N)P+=`\n${N}`;if(K)P+=`\nVLAN: ${K}`;return{text:P,element:f}}let C=$.closest(\".node[data-id]\");if(C){let H=C.getAttribute(\"data-device-json\");if(H)try{let J=JSON.parse(H),N=[];if(J.label)N.push(Array.isArray(J.label)?J.label.join(\" \"):J.label);if(J.type)N.push(`Type: ${J.type}`);if(J.vendor)N.push(`Vendor: ${J.vendor}`);if(J.model)N.push(`Model: ${J.model}`);return{text:N.join(`\n`),element:C}}catch{}return{text:C.getAttribute(\"data-id\")||\"\",element:C}}return null}function W($){let L=$.getAttribute(\"viewBox\");if(!L)return null;let f=L.split(/\\s+|,/).map(Number);if(f.length!==4||f.some(Number.isNaN))return null;return{x:f[0],y:f[1],width:f[2],height:f[3]}}function x($,L,f){$.setAttribute(\"viewBox\",`${L.x} ${L.y} ${L.width} ${L.height}`),f?.()}function c($){return{x:$.x,y:$.y,width:$.width,height:$.height}}var G0=1.2;function C0($){let L=typeof $.target===\"string\"?document.querySelector($.target):$.target;if(!L)throw Error(\"Target not found\");let f=L.closest(\"svg\")||L.querySelector(\"svg\")||L;if(!(f instanceof SVGSVGElement))throw Error(\"SVG element not found\");let C=$.panZoom?.enabled??!0,H=$.panZoom?.minScale??0.1,J=$.panZoom?.maxScale??10,N=W(f);if(!N){let y=f.getBBox();N={x:y.x,y:y.y,width:y.width,height:y.height},x(f,N,n)}let K=!1,Q={active:!1,startX:0,startY:0,startViewBox:null},m=null,D=()=>{if(!N)return 1;let y=W(f);if(!y)return 1;return N.width/y.width},P=()=>{if(N)x(f,N,n)},b=(y)=>{if(y.length<2)return 0;let G=y[1].clientX-y[0].clientX,q=y[1].clientY-y[0].clientY;return Math.hypot(G,q)},I=(y)=>({x:(y[0].clientX+y[1].clientX)/2,y:(y[0].clientY+y[1].clientY)/2}),B=(y)=>{if(y.touches.length>=2&&C){y.preventDefault();let G=b(y.touches),q=I(y.touches),z=W(f);if(z){let k=f.getBoundingClientRect();m={initialDist:G,startViewBox:c(z),centerX:z.x+z.width*((q.x-k.left)/k.width),centerY:z.y+z.height*((q.y-k.top)/k.height)}}if(K)V(),_(null),K=!1}},E=(y)=>{if(y.touches.length>=2&&m&&C){y.preventDefault();let G=b(y.touches),q=I(y.touches);if(G===0||m.initialDist===0)return;let z=G/m.initialDist,k=m.startViewBox.width/z,X=m.startViewBox.height/z;if(!N)return;let U=N.width/k;if(U<H||U>J)return;let Y=f.getBoundingClientRect(),F=(q.x-Y.left)/Y.width,r=(q.y-Y.top)/Y.height;x(f,{x:m.centerX-k*F,y:m.centerY-X*r,width:k,height:X},n)}},M=(y)=>{if(y.touches.length<2)m=null},p=(y)=>{if(y.button!==0||!C)return;let G=W(f);if(!G)return;if(Q.active=!0,Q.startX=y.clientX,Q.startY=y.clientY,Q.startViewBox=c(G),f.style.cursor=\"grabbing\",K)V(),_(null),K=!1},i=(y)=>{if(Q.active&&Q.startViewBox&&C){let G=y.clientX-Q.startX,q=y.clientY-Q.startY,z=f.getBoundingClientRect(),k=Q.startViewBox.width/z.width,X=Q.startViewBox.height/z.height;x(f,{x:Q.startViewBox.x-G*k,y:Q.startViewBox.y-q*X,width:Q.startViewBox.width,height:Q.startViewBox.height},n)}else if(!Q.active){let G=d(y.target);if(G)l(G.text,y.clientX,y.clientY),_(G.element);else V(),_(null)}},s=()=>{Q.active=!1,Q.startViewBox=null,f.style.cursor=\"\"},g=()=>{if(!Q.active&&!K)V(),_(null)},h=(y)=>{if(!C)return;y.preventDefault();let G=W(f);if(!G||!N)return;let q=f.getBoundingClientRect(),z=G.x+G.width*((y.clientX-q.left)/q.width),k=G.y+G.height*((y.clientY-q.top)/q.height),X=y.deltaY>0?G0:1/G0,U=G.width*X,Y=G.height*X,F=N.width/U;if(F<H||F>J)return;let r=(y.clientX-q.left)/q.width,J0=(y.clientY-q.top)/q.height;x(f,{x:z-U*r,y:k-Y*J0,width:U,height:Y},n)},a=(y)=>{let q=y.target.closest(\".subgraph[data-has-sheet]\");if(q){let z=q.getAttribute(\"data-sheet-id\");if(z)y.preventDefault(),y.stopPropagation(),T(z)}},T=(y)=>{let G=new CustomEvent(\"shumoku:navigate\",{detail:{sheetId:y},bubbles:!0});document.dispatchEvent(G)},O=null,t=(y)=>{if(y.touches.length===1)O={x:y.touches[0].clientX,y:y.touches[0].clientY,time:Date.now()};else O=null},o=(y)=>{if(!O||y.touches.length>0){O=null;return}let G=y.changedTouches[0],q=G.clientX-O.x,z=G.clientY-O.y,k=Date.now()-O.time;if(Math.hypot(q,z)<10&&k<300){let X=document.elementFromPoint(G.clientX,G.clientY);if(X){let U=X.closest(\".subgraph[data-has-sheet]\");if(U){let F=U.getAttribute(\"data-sheet-id\");if(F){T(F),O=null;return}}let Y=d(X);if(Y)l(Y.text,G.clientX,G.clientY),_(Y.element),K=!0;else if(K)V(),_(null),K=!1}}O=null},S=null,e=\"\",f0=()=>{if($0()){let y=f.getAttribute(\"viewBox\")||\"\";if(y!==e)e=y,n()}S=requestAnimationFrame(f0)},w=()=>{n()};return S=requestAnimationFrame(f0),f.addEventListener(\"touchstart\",B,{passive:!1}),f.addEventListener(\"touchmove\",E,{passive:!1}),f.addEventListener(\"touchend\",M),f.addEventListener(\"touchcancel\",M),f.addEventListener(\"touchstart\",t,{passive:!0}),f.addEventListener(\"touchend\",o),f.addEventListener(\"mousedown\",p),document.addEventListener(\"mousemove\",i),document.addEventListener(\"mouseup\",s),f.addEventListener(\"mouseleave\",g),f.addEventListener(\"wheel\",h,{passive:!1}),f.addEventListener(\"click\",a),window.addEventListener(\"scroll\",w,!0),window.addEventListener(\"resize\",w),{destroy:()=>{if(S!==null)cancelAnimationFrame(S);f.removeEventListener(\"touchstart\",B),f.removeEventListener(\"touchmove\",E),f.removeEventListener(\"touchend\",M),f.removeEventListener(\"touchcancel\",M),f.removeEventListener(\"touchstart\",t),f.removeEventListener(\"touchend\",o),f.removeEventListener(\"mousedown\",p),document.removeEventListener(\"mousemove\",i),document.removeEventListener(\"mouseup\",s),f.removeEventListener(\"mouseleave\",g),f.removeEventListener(\"wheel\",h),f.removeEventListener(\"click\",a),window.removeEventListener(\"scroll\",w,!0),window.removeEventListener(\"resize\",w),N0(),L0()},showDeviceModal:()=>{},hideModal:()=>{},showLinkTooltip:()=>{},hideTooltip:()=>{V(),_(null),K=!1},resetView:P,getScale:D,navigateToSheet:T}}var q0={initInteractive:C0};window.ShumokuInteractive=q0;})();\n";
|
package/dist/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ import * as html from './html/index.js';
|
|
|
5
5
|
import * as svg from './svg.js';
|
|
6
6
|
export { svg, html };
|
|
7
7
|
export type { DataAttributeOptions, DeviceInfo, EndpointInfo, HTMLRendererOptions, InteractiveInstance, InteractiveOptions, LinkInfo, PortInfo, RenderMode, } from './types.js';
|
|
8
|
+
export type { SheetData } from './html/index.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AAEvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AAGpB,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AAEvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AAGpB,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAA;AAGnB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var{defineProperty:
|
|
1
|
+
(()=>{var{defineProperty:v,getOwnPropertyNames:K0,getOwnPropertyDescriptor:Q0}=Object,z0=Object.prototype.hasOwnProperty;var y0=new WeakMap,H0=($)=>{var L=y0.get($),f;if(L)return L;if(L=v({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")K0($).map((C)=>!z0.call(L,C)&&v(L,C,{get:()=>$[C],enumerable:!(f=Q0($,C))||f.enumerable}));return y0.set($,L),L};var k0=($,L)=>{for(var f in L)v($,f,{get:L[f],enumerable:!0,configurable:!0,set:(C)=>L[f]=()=>C})};var _0={};k0(_0,{ShumokuInteractive:()=>q0});var Z=null,u=null,j=null,A=null;function m0(){if(!Z)Z=document.createElement("div"),Z.style.cssText=`
|
|
2
2
|
position: fixed;
|
|
3
3
|
top: 0;
|
|
4
4
|
left: 0;
|
|
@@ -9,17 +9,17 @@
|
|
|
9
9
|
opacity: 0;
|
|
10
10
|
transition: opacity 0.15s ease;
|
|
11
11
|
z-index: 9998;
|
|
12
|
-
`,document.body.appendChild(
|
|
12
|
+
`,document.body.appendChild(Z);return Z}function X0(){if(!u)u=document.createElement("div"),u.style.cssText=`
|
|
13
13
|
position: fixed;
|
|
14
14
|
top: 0;
|
|
15
15
|
left: 0;
|
|
16
16
|
pointer-events: none;
|
|
17
17
|
z-index: 9999;
|
|
18
|
-
`,document.body.appendChild(
|
|
18
|
+
`,document.body.appendChild(u);return u}function n(){if(!j||!A)return;if(!document.contains(j)){_(null);return}let $=j.closest("svg");if(!$)return;let L=$.getBoundingClientRect(),f=$.getAttribute("viewBox");if(f)A.setAttribute("viewBox",f);A.style.left=`${L.left}px`,A.style.top=`${L.top}px`,A.style.width=`${L.width}px`,A.style.height=`${L.height}px`}function _($){if($===j)return;if(j)j.classList.remove("shumoku-highlight");let L=X0();L.innerHTML="",A=null,j=$;let f=m0();if($){$.classList.add("shumoku-highlight");let C=$.closest("svg");if(C){let H=C.getAttribute("viewBox");if(H){let J=$.cloneNode(!0);J.classList.remove("shumoku-highlight");let N=document.createElementNS("http://www.w3.org/2000/svg","svg");N.setAttribute("viewBox",H),N.style.cssText=`
|
|
19
19
|
position: absolute;
|
|
20
20
|
overflow: visible;
|
|
21
21
|
filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 8px #fff) drop-shadow(0 0 12px rgba(100, 150, 255, 0.8));
|
|
22
|
-
`;let
|
|
22
|
+
`;let K=C.querySelector("defs");if(K)N.appendChild(K.cloneNode(!0));N.appendChild(J),L.appendChild(N),A=N,n()}}f.style.opacity="1"}else f.style.opacity="0"}function $0(){return j}function L0(){if(Z)Z.remove(),Z=null;if(u)u.remove(),u=null;j=null,A=null}var R=null;function Y0(){if(!R)R=document.createElement("div"),R.style.cssText=`
|
|
23
23
|
position: fixed;
|
|
24
24
|
z-index: 10000;
|
|
25
25
|
padding: 8px 12px;
|
|
@@ -35,7 +35,9 @@
|
|
|
35
35
|
max-width: 280px;
|
|
36
36
|
white-space: pre-line;
|
|
37
37
|
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
|
|
38
|
-
`,document.body.appendChild(
|
|
39
|
-
${
|
|
40
|
-
VLAN: ${
|
|
41
|
-
|
|
38
|
+
`,document.body.appendChild(R);return R}function l($,L,f){let C=Y0();C.textContent=$,C.style.opacity="1",requestAnimationFrame(()=>{let H=C.getBoundingClientRect(),J=12,N=L+12,K=f-H.height-12;if(N+H.width>window.innerWidth-12)N=L-H.width-12;if(K<12)K=f+12;C.style.left=`${Math.max(12,N)}px`,C.style.top=`${Math.max(12,K)}px`})}function V(){if(R)R.style.opacity="0"}function N0(){if(R)R.remove(),R=null}function d($){let L=$.closest(".port[data-port]");if(L){let H=L.getAttribute("data-port")||"";return{text:`${L.getAttribute("data-port-device")||""}:${H}`,element:L}}let f=$.closest(".link-group[data-link-id]");if(f){let H=f.getAttribute("data-link-from")||"",J=f.getAttribute("data-link-to")||"",N=f.getAttribute("data-link-bandwidth"),K=f.getAttribute("data-link-vlan"),Q=f.getAttribute("data-link-json"),m=H.startsWith("__export_"),D=J.startsWith("__export_");if((m||D)&&Q)try{let I=JSON.parse(Q).metadata;if(I?._destDevice){let B=m?J:H,E=I._destPort?`${I._destDevice}:${I._destPort}`:I._destDevice,M=`${B} ↔ ${E}`;if(N)M+=`
|
|
39
|
+
${N}`;if(K)M+=`
|
|
40
|
+
VLAN: ${K}`;return{text:M,element:f}}}catch{}let P=`${H} ↔ ${J}`;if(N)P+=`
|
|
41
|
+
${N}`;if(K)P+=`
|
|
42
|
+
VLAN: ${K}`;return{text:P,element:f}}let C=$.closest(".node[data-id]");if(C){let H=C.getAttribute("data-device-json");if(H)try{let J=JSON.parse(H),N=[];if(J.label)N.push(Array.isArray(J.label)?J.label.join(" "):J.label);if(J.type)N.push(`Type: ${J.type}`);if(J.vendor)N.push(`Vendor: ${J.vendor}`);if(J.model)N.push(`Model: ${J.model}`);return{text:N.join(`
|
|
43
|
+
`),element:C}}catch{}return{text:C.getAttribute("data-id")||"",element:C}}return null}function W($){let L=$.getAttribute("viewBox");if(!L)return null;let f=L.split(/\s+|,/).map(Number);if(f.length!==4||f.some(Number.isNaN))return null;return{x:f[0],y:f[1],width:f[2],height:f[3]}}function x($,L,f){$.setAttribute("viewBox",`${L.x} ${L.y} ${L.width} ${L.height}`),f?.()}function c($){return{x:$.x,y:$.y,width:$.width,height:$.height}}var G0=1.2;function C0($){let L=typeof $.target==="string"?document.querySelector($.target):$.target;if(!L)throw Error("Target not found");let f=L.closest("svg")||L.querySelector("svg")||L;if(!(f instanceof SVGSVGElement))throw Error("SVG element not found");let C=$.panZoom?.enabled??!0,H=$.panZoom?.minScale??0.1,J=$.panZoom?.maxScale??10,N=W(f);if(!N){let y=f.getBBox();N={x:y.x,y:y.y,width:y.width,height:y.height},x(f,N,n)}let K=!1,Q={active:!1,startX:0,startY:0,startViewBox:null},m=null,D=()=>{if(!N)return 1;let y=W(f);if(!y)return 1;return N.width/y.width},P=()=>{if(N)x(f,N,n)},b=(y)=>{if(y.length<2)return 0;let G=y[1].clientX-y[0].clientX,q=y[1].clientY-y[0].clientY;return Math.hypot(G,q)},I=(y)=>({x:(y[0].clientX+y[1].clientX)/2,y:(y[0].clientY+y[1].clientY)/2}),B=(y)=>{if(y.touches.length>=2&&C){y.preventDefault();let G=b(y.touches),q=I(y.touches),z=W(f);if(z){let k=f.getBoundingClientRect();m={initialDist:G,startViewBox:c(z),centerX:z.x+z.width*((q.x-k.left)/k.width),centerY:z.y+z.height*((q.y-k.top)/k.height)}}if(K)V(),_(null),K=!1}},E=(y)=>{if(y.touches.length>=2&&m&&C){y.preventDefault();let G=b(y.touches),q=I(y.touches);if(G===0||m.initialDist===0)return;let z=G/m.initialDist,k=m.startViewBox.width/z,X=m.startViewBox.height/z;if(!N)return;let U=N.width/k;if(U<H||U>J)return;let Y=f.getBoundingClientRect(),F=(q.x-Y.left)/Y.width,r=(q.y-Y.top)/Y.height;x(f,{x:m.centerX-k*F,y:m.centerY-X*r,width:k,height:X},n)}},M=(y)=>{if(y.touches.length<2)m=null},p=(y)=>{if(y.button!==0||!C)return;let G=W(f);if(!G)return;if(Q.active=!0,Q.startX=y.clientX,Q.startY=y.clientY,Q.startViewBox=c(G),f.style.cursor="grabbing",K)V(),_(null),K=!1},i=(y)=>{if(Q.active&&Q.startViewBox&&C){let G=y.clientX-Q.startX,q=y.clientY-Q.startY,z=f.getBoundingClientRect(),k=Q.startViewBox.width/z.width,X=Q.startViewBox.height/z.height;x(f,{x:Q.startViewBox.x-G*k,y:Q.startViewBox.y-q*X,width:Q.startViewBox.width,height:Q.startViewBox.height},n)}else if(!Q.active){let G=d(y.target);if(G)l(G.text,y.clientX,y.clientY),_(G.element);else V(),_(null)}},s=()=>{Q.active=!1,Q.startViewBox=null,f.style.cursor=""},g=()=>{if(!Q.active&&!K)V(),_(null)},h=(y)=>{if(!C)return;y.preventDefault();let G=W(f);if(!G||!N)return;let q=f.getBoundingClientRect(),z=G.x+G.width*((y.clientX-q.left)/q.width),k=G.y+G.height*((y.clientY-q.top)/q.height),X=y.deltaY>0?G0:1/G0,U=G.width*X,Y=G.height*X,F=N.width/U;if(F<H||F>J)return;let r=(y.clientX-q.left)/q.width,J0=(y.clientY-q.top)/q.height;x(f,{x:z-U*r,y:k-Y*J0,width:U,height:Y},n)},a=(y)=>{let q=y.target.closest(".subgraph[data-has-sheet]");if(q){let z=q.getAttribute("data-sheet-id");if(z)y.preventDefault(),y.stopPropagation(),T(z)}},T=(y)=>{let G=new CustomEvent("shumoku:navigate",{detail:{sheetId:y},bubbles:!0});document.dispatchEvent(G)},O=null,t=(y)=>{if(y.touches.length===1)O={x:y.touches[0].clientX,y:y.touches[0].clientY,time:Date.now()};else O=null},o=(y)=>{if(!O||y.touches.length>0){O=null;return}let G=y.changedTouches[0],q=G.clientX-O.x,z=G.clientY-O.y,k=Date.now()-O.time;if(Math.hypot(q,z)<10&&k<300){let X=document.elementFromPoint(G.clientX,G.clientY);if(X){let U=X.closest(".subgraph[data-has-sheet]");if(U){let F=U.getAttribute("data-sheet-id");if(F){T(F),O=null;return}}let Y=d(X);if(Y)l(Y.text,G.clientX,G.clientY),_(Y.element),K=!0;else if(K)V(),_(null),K=!1}}O=null},S=null,e="",f0=()=>{if($0()){let y=f.getAttribute("viewBox")||"";if(y!==e)e=y,n()}S=requestAnimationFrame(f0)},w=()=>{n()};return S=requestAnimationFrame(f0),f.addEventListener("touchstart",B,{passive:!1}),f.addEventListener("touchmove",E,{passive:!1}),f.addEventListener("touchend",M),f.addEventListener("touchcancel",M),f.addEventListener("touchstart",t,{passive:!0}),f.addEventListener("touchend",o),f.addEventListener("mousedown",p),document.addEventListener("mousemove",i),document.addEventListener("mouseup",s),f.addEventListener("mouseleave",g),f.addEventListener("wheel",h,{passive:!1}),f.addEventListener("click",a),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w),{destroy:()=>{if(S!==null)cancelAnimationFrame(S);f.removeEventListener("touchstart",B),f.removeEventListener("touchmove",E),f.removeEventListener("touchend",M),f.removeEventListener("touchcancel",M),f.removeEventListener("touchstart",t),f.removeEventListener("touchend",o),f.removeEventListener("mousedown",p),document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",s),f.removeEventListener("mouseleave",g),f.removeEventListener("wheel",h),f.removeEventListener("click",a),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w),N0(),L0()},showDeviceModal:()=>{},hideModal:()=>{},showLinkTooltip:()=>{},hideTooltip:()=>{V(),_(null),K=!1},resetView:P,getScale:D,navigateToSheet:T}}var q0={initInteractive:C0};window.ShumokuInteractive=q0;})();
|