@mp70/react-networks 0.5.0-alpha.0 → 0.5.0-rc.1
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/README.md +33 -20
- package/dist/index.css +34 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +147 -73
- package/dist/index.d.ts +147 -73
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -65,7 +65,7 @@ interface NetBoxDeviceTransformOptions {
|
|
|
65
65
|
includeInterfacePorts?: boolean;
|
|
66
66
|
/** Include per-port position metadata when provided */
|
|
67
67
|
includePortPositions?: boolean;
|
|
68
|
-
/** Optional mapper for full control over interface
|
|
68
|
+
/** Optional mapper for full control over interface-to-port mapping */
|
|
69
69
|
mapInterfaceToPort?: (args: {
|
|
70
70
|
device: NetBoxDevice;
|
|
71
71
|
iface: NetBoxInterface;
|
|
@@ -78,6 +78,7 @@ interface NetBoxDevice {
|
|
|
78
78
|
device_type: {
|
|
79
79
|
id: number;
|
|
80
80
|
model: string;
|
|
81
|
+
u_height?: number;
|
|
81
82
|
manufacturer: {
|
|
82
83
|
name: string;
|
|
83
84
|
};
|
|
@@ -296,6 +297,10 @@ interface PortPosition {
|
|
|
296
297
|
xPercent?: number;
|
|
297
298
|
/** Absolute Y position as percentage (0-100) */
|
|
298
299
|
yPercent?: number;
|
|
300
|
+
/** Authored port width as a percentage of the rendered image frame */
|
|
301
|
+
widthPercent?: number;
|
|
302
|
+
/** Authored port height as a percentage of the rendered image frame */
|
|
303
|
+
heightPercent?: number;
|
|
299
304
|
}
|
|
300
305
|
/**
|
|
301
306
|
* Recommended simple port input for device and PDU rendering.
|
|
@@ -309,9 +314,11 @@ interface DevicePort {
|
|
|
309
314
|
/** Display label for the port */
|
|
310
315
|
label: string;
|
|
311
316
|
/** Front/rear device face. `back` is accepted as an alias for `rear`. */
|
|
312
|
-
face?:
|
|
317
|
+
face?: DeviceFace | 'back';
|
|
313
318
|
/** Optional block/group name (for example `Network Ports`, `QSFP28`, `Power Ports`) */
|
|
314
319
|
group?: string;
|
|
320
|
+
/** Optional source/detected family label used for visual kind inference */
|
|
321
|
+
sourceTypeLabel?: string;
|
|
315
322
|
/** Whether the port is currently connected */
|
|
316
323
|
connected?: boolean;
|
|
317
324
|
/** Type of port for styling and validation */
|
|
@@ -336,6 +343,8 @@ interface Port {
|
|
|
336
343
|
id?: string;
|
|
337
344
|
/** Display label for the port */
|
|
338
345
|
label: string;
|
|
346
|
+
/** Optional source/detected family label used for visual kind inference */
|
|
347
|
+
sourceTypeLabel?: string;
|
|
339
348
|
/** Whether the port is currently connected */
|
|
340
349
|
connected: boolean;
|
|
341
350
|
/** Type of port for styling and validation */
|
|
@@ -370,10 +379,10 @@ type NetworkNodeType = 'rack' | 'switch' | 'router' | 'server' | 'fiber' | 'patc
|
|
|
370
379
|
*/
|
|
371
380
|
type DeviceStatus = 'active' | 'inactive' | 'maintenance';
|
|
372
381
|
/**
|
|
373
|
-
* Device
|
|
382
|
+
* Device face orientations
|
|
374
383
|
* @public
|
|
375
384
|
*/
|
|
376
|
-
type
|
|
385
|
+
type DeviceFace = 'front' | 'rear';
|
|
377
386
|
/**
|
|
378
387
|
* Rack rendering layout modes.
|
|
379
388
|
* @public
|
|
@@ -426,10 +435,8 @@ interface NetworkNodeDataBase extends DeviceImageOptions {
|
|
|
426
435
|
uPosition?: number;
|
|
427
436
|
/** Whether this node is currently mounted inside a rack container */
|
|
428
437
|
isRackMounted?: boolean;
|
|
429
|
-
/**
|
|
430
|
-
|
|
431
|
-
/** Rack face orientation */
|
|
432
|
-
face?: DeviceView;
|
|
438
|
+
/** Front/rear orientation for devices and rack faces */
|
|
439
|
+
face?: DeviceFace;
|
|
433
440
|
/** Rack rendering layout mode */
|
|
434
441
|
rackLayout?: RackLayoutMode;
|
|
435
442
|
/** Gap in pixels between front and rear faces in split-face mode */
|
|
@@ -444,7 +451,7 @@ interface NetworkNodeDataBase extends DeviceImageOptions {
|
|
|
444
451
|
role?: string;
|
|
445
452
|
/** Device width configuration */
|
|
446
453
|
width?: Width | number;
|
|
447
|
-
/** Power port side for rear
|
|
454
|
+
/** Power port side for rear face */
|
|
448
455
|
powerSide?: PowerSide;
|
|
449
456
|
/** Vertical PDU height in centimeters */
|
|
450
457
|
heightCm?: number;
|
|
@@ -552,7 +559,7 @@ interface NetworkNodeDataBase extends DeviceImageOptions {
|
|
|
552
559
|
height?: number;
|
|
553
560
|
headerHeight?: number;
|
|
554
561
|
/** Optional precomputed map for handle-to-face resolution */
|
|
555
|
-
handleSideMap?: Record<string,
|
|
562
|
+
handleSideMap?: Record<string, DeviceFace>;
|
|
556
563
|
/** Additional extension metadata */
|
|
557
564
|
metadata?: Record<string, unknown>;
|
|
558
565
|
}
|
|
@@ -714,7 +721,9 @@ type NetworkEdge<TData extends NetworkEdgeData = NetworkEdgeData> = {
|
|
|
714
721
|
data?: TData;
|
|
715
722
|
};
|
|
716
723
|
/**
|
|
717
|
-
*
|
|
724
|
+
* Canonical persisted/editor document schema independent from React Flow handle ids.
|
|
725
|
+
* Prefer this model for saving diagrams, syncing external systems, and controlled
|
|
726
|
+
* document-mode usage via `document` / `onDocumentChange`.
|
|
718
727
|
* @public
|
|
719
728
|
*/
|
|
720
729
|
interface DiagramDocument {
|
|
@@ -758,7 +767,7 @@ interface DiagramNodePlacement {
|
|
|
758
767
|
interface DiagramEndpoint {
|
|
759
768
|
id: string;
|
|
760
769
|
label: string;
|
|
761
|
-
face?:
|
|
770
|
+
face?: DeviceFace | 'internal';
|
|
762
771
|
group?: string;
|
|
763
772
|
role?: 'network' | 'power' | 'fiber' | 'tube' | 'splice' | 'coupler' | 'splitter' | 'cable' | 'generic';
|
|
764
773
|
medium?: 'ethernet' | 'fiber' | 'power' | 'tube' | 'generic';
|
|
@@ -774,8 +783,7 @@ interface DiagramEndpoint {
|
|
|
774
783
|
*/
|
|
775
784
|
interface DiagramNodeRender {
|
|
776
785
|
status?: DeviceStatus | string;
|
|
777
|
-
|
|
778
|
-
face?: DeviceView;
|
|
786
|
+
face?: DeviceFace;
|
|
779
787
|
width?: Width | number;
|
|
780
788
|
widthPx?: number;
|
|
781
789
|
height?: number;
|
|
@@ -844,9 +852,8 @@ interface DiagramEdge {
|
|
|
844
852
|
*/
|
|
845
853
|
interface DiagramUiState {
|
|
846
854
|
nodeState?: Record<string, {
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
handleSideMap?: Record<string, DeviceView>;
|
|
855
|
+
face?: DeviceFace;
|
|
856
|
+
handleSideMap?: Record<string, DeviceFace>;
|
|
850
857
|
}>;
|
|
851
858
|
metadata?: Record<string, unknown>;
|
|
852
859
|
}
|
|
@@ -913,7 +920,7 @@ interface RackDevice extends DeviceImageOptions {
|
|
|
913
920
|
portGroups?: PortBlock[];
|
|
914
921
|
/** Advanced grouped rear port input */
|
|
915
922
|
rearPortGroups?: PortBlock[];
|
|
916
|
-
/** Power port side for rear
|
|
923
|
+
/** Power port side for rear face */
|
|
917
924
|
powerSide?: PowerSide;
|
|
918
925
|
/** Connected device IDs */
|
|
919
926
|
connections?: string[];
|
|
@@ -1081,36 +1088,43 @@ interface NetworkDiagramFlowMethods {
|
|
|
1081
1088
|
getEdges: () => NetworkEdge[];
|
|
1082
1089
|
fitView: (options?: NetworkDiagramFitViewOptions) => void;
|
|
1083
1090
|
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Store state shape used by `NetworkDiagramStoreApi`.
|
|
1093
|
+
* @public
|
|
1094
|
+
*/
|
|
1095
|
+
interface NetworkDiagramStoreState {
|
|
1096
|
+
nodes: NetworkNode[];
|
|
1097
|
+
edges: NetworkEdge[];
|
|
1098
|
+
debug?: boolean;
|
|
1099
|
+
}
|
|
1100
|
+
/**
|
|
1101
|
+
* Store connection validation parameters.
|
|
1102
|
+
* @public
|
|
1103
|
+
*/
|
|
1104
|
+
interface NetworkDiagramValidateConnectionParams {
|
|
1105
|
+
source: string | null;
|
|
1106
|
+
target: string | null;
|
|
1107
|
+
sourceHandle?: string | null;
|
|
1108
|
+
targetHandle?: string | null;
|
|
1109
|
+
}
|
|
1110
|
+
/**
|
|
1111
|
+
* Store connection validation result.
|
|
1112
|
+
* @public
|
|
1113
|
+
*/
|
|
1114
|
+
interface NetworkDiagramValidationResult {
|
|
1115
|
+
valid: boolean;
|
|
1116
|
+
reason?: string;
|
|
1117
|
+
}
|
|
1084
1118
|
/**
|
|
1085
1119
|
* Store contract accepted by `NetworkDiagram`.
|
|
1086
1120
|
* @public
|
|
1087
1121
|
*/
|
|
1088
1122
|
interface NetworkDiagramStoreApi {
|
|
1089
|
-
getState: () =>
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
debug?: boolean;
|
|
1093
|
-
};
|
|
1094
|
-
setState: (partial: Partial<{
|
|
1095
|
-
nodes: NetworkNode[];
|
|
1096
|
-
edges: NetworkEdge[];
|
|
1097
|
-
debug?: boolean;
|
|
1098
|
-
}>) => void;
|
|
1099
|
-
subscribe: (listener: (state: {
|
|
1100
|
-
nodes: NetworkNode[];
|
|
1101
|
-
edges: NetworkEdge[];
|
|
1102
|
-
debug?: boolean;
|
|
1103
|
-
}) => void) => () => void;
|
|
1123
|
+
getState: () => NetworkDiagramStoreState;
|
|
1124
|
+
setState: (partial: Partial<NetworkDiagramStoreState>) => void;
|
|
1125
|
+
subscribe: (listener: (state: NetworkDiagramStoreState) => void) => () => void;
|
|
1104
1126
|
selectEdgeZIndex: (edge: NetworkEdge) => number;
|
|
1105
|
-
validateConnection: (params:
|
|
1106
|
-
source: string | null;
|
|
1107
|
-
target: string | null;
|
|
1108
|
-
sourceHandle?: string | null;
|
|
1109
|
-
targetHandle?: string | null;
|
|
1110
|
-
}) => {
|
|
1111
|
-
valid: boolean;
|
|
1112
|
-
reason?: string;
|
|
1113
|
-
};
|
|
1127
|
+
validateConnection: (params: NetworkDiagramValidateConnectionParams) => NetworkDiagramValidationResult;
|
|
1114
1128
|
selectNodeById: (id: string) => NetworkNode | undefined;
|
|
1115
1129
|
selectConnectedEdges: (nodeId: string) => NetworkEdge[];
|
|
1116
1130
|
}
|
|
@@ -1157,10 +1171,10 @@ interface NetworkDiagramProps {
|
|
|
1157
1171
|
isValidConnection?: (connection: Connection) => boolean;
|
|
1158
1172
|
/** Optional connection mode override */
|
|
1159
1173
|
connectionMode?: ConnectionMode;
|
|
1160
|
-
/** Callback when device
|
|
1161
|
-
|
|
1174
|
+
/** Callback when a device face changes */
|
|
1175
|
+
onFaceChange?: (nodeId: string, face: DeviceFace) => void;
|
|
1162
1176
|
/** Callback when rack face changes */
|
|
1163
|
-
onRackFaceChange?: (rackId: string, face:
|
|
1177
|
+
onRackFaceChange?: (rackId: string, face: DeviceFace) => void;
|
|
1164
1178
|
/** CSS class name */
|
|
1165
1179
|
className?: string;
|
|
1166
1180
|
/** Inline styles */
|
|
@@ -1191,16 +1205,13 @@ interface NetworkDiagramProps {
|
|
|
1191
1205
|
interaction?: NetworkDiagramInteractionOptions;
|
|
1192
1206
|
/** Configuration for the floating action panel shown on selected rack/device nodes. */
|
|
1193
1207
|
actionPanel?: NetworkDiagramActionPanelOptions;
|
|
1194
|
-
/** Enable connecting edges by clicking on handles. When true, increases handle sizes for better touch targets. Default is true. */
|
|
1195
|
-
connectOnClick?: boolean;
|
|
1196
|
-
/** Disable panning on drag. Default is false. */
|
|
1197
|
-
panOnDrag?: boolean;
|
|
1198
|
-
/** Disable panning on scroll. Default is true. */
|
|
1199
|
-
panOnScroll?: boolean;
|
|
1200
|
-
/** Disable zooming on scroll. Default is true. */
|
|
1201
|
-
zoomOnScroll?: boolean;
|
|
1202
1208
|
/** Optional fitView options passed to React Flow */
|
|
1203
1209
|
fitViewOptions?: FitViewOptions;
|
|
1210
|
+
/**
|
|
1211
|
+
* Let React Flow render only viewport-visible nodes and edges.
|
|
1212
|
+
* Defaults to true, matching the library's existing large-diagram behavior.
|
|
1213
|
+
*/
|
|
1214
|
+
onlyRenderVisibleElements?: boolean;
|
|
1204
1215
|
}
|
|
1205
1216
|
|
|
1206
1217
|
declare const NetworkDiagram: React$1.FC<NetworkDiagramProps>;
|
|
@@ -1213,7 +1224,7 @@ interface DiagramErrorBoundaryProps {
|
|
|
1213
1224
|
/** Optional callback when an error is caught (e.g. for logging) */
|
|
1214
1225
|
onError?: (error: Error, errorInfo: ErrorInfo) => void;
|
|
1215
1226
|
}
|
|
1216
|
-
interface
|
|
1227
|
+
interface DiagramErrorBoundaryState {
|
|
1217
1228
|
error: Error | null;
|
|
1218
1229
|
}
|
|
1219
1230
|
/**
|
|
@@ -1236,23 +1247,23 @@ interface State {
|
|
|
1236
1247
|
* </DiagramErrorBoundary>
|
|
1237
1248
|
* ```
|
|
1238
1249
|
*/
|
|
1239
|
-
declare class DiagramErrorBoundary extends Component<DiagramErrorBoundaryProps,
|
|
1240
|
-
state:
|
|
1241
|
-
static getDerivedStateFromError(error: Error):
|
|
1250
|
+
declare class DiagramErrorBoundary extends Component<DiagramErrorBoundaryProps, DiagramErrorBoundaryState> {
|
|
1251
|
+
state: DiagramErrorBoundaryState;
|
|
1252
|
+
static getDerivedStateFromError(error: Error): DiagramErrorBoundaryState;
|
|
1242
1253
|
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
1243
1254
|
reset: () => void;
|
|
1244
1255
|
render(): ReactNode;
|
|
1245
1256
|
}
|
|
1246
1257
|
|
|
1247
1258
|
interface RackNodeProps extends NodeProps<NetworkNode['data']> {
|
|
1248
|
-
|
|
1259
|
+
onFaceChange?: (nodeId: string, face: 'front' | 'rear') => void;
|
|
1249
1260
|
onRackFaceChange?: (rackId: string, face: 'front' | 'rear') => void;
|
|
1250
1261
|
isDragOver?: boolean;
|
|
1251
1262
|
}
|
|
1252
1263
|
/**
|
|
1253
1264
|
* Rack visualization component with U positioning support.
|
|
1254
1265
|
*
|
|
1255
|
-
* Displays a 19" rack with configurable height, front/rear
|
|
1266
|
+
* Displays a 19" rack with configurable height, front/rear face switching,
|
|
1256
1267
|
* and support for mounting devices at specific U positions.
|
|
1257
1268
|
*
|
|
1258
1269
|
* @example
|
|
@@ -1400,9 +1411,7 @@ interface FibreFlowMapProps {
|
|
|
1400
1411
|
className?: string;
|
|
1401
1412
|
style?: React$1.CSSProperties;
|
|
1402
1413
|
readOnly?: boolean;
|
|
1403
|
-
|
|
1404
|
-
panOnScroll?: boolean;
|
|
1405
|
-
zoomOnScroll?: boolean;
|
|
1414
|
+
interaction?: NetworkDiagramInteractionOptions;
|
|
1406
1415
|
}
|
|
1407
1416
|
declare const FibreFlowMap: React$1.FC<FibreFlowMapProps>;
|
|
1408
1417
|
|
|
@@ -1543,6 +1552,14 @@ declare const inventoryToNetworkDiagram: (data: {
|
|
|
1543
1552
|
nodes: NetworkNode[];
|
|
1544
1553
|
edges: NetworkEdge[];
|
|
1545
1554
|
};
|
|
1555
|
+
/**
|
|
1556
|
+
* Convert inventory data directly into the canonical DiagramDocument model.
|
|
1557
|
+
*/
|
|
1558
|
+
declare const inventoryToDiagramDocument: (data: {
|
|
1559
|
+
racks: InventoryRackDTO[];
|
|
1560
|
+
devices: InventoryDeviceDTO[];
|
|
1561
|
+
cables: InventoryCableDTO[];
|
|
1562
|
+
}) => DiagramDocument;
|
|
1546
1563
|
/**
|
|
1547
1564
|
* Generate simple layout positions for nodes array
|
|
1548
1565
|
*/
|
|
@@ -1571,6 +1588,14 @@ declare const netboxToNetworkDiagram: (data: {
|
|
|
1571
1588
|
nodes: NetworkNode[];
|
|
1572
1589
|
edges: NetworkEdge[];
|
|
1573
1590
|
};
|
|
1591
|
+
/**
|
|
1592
|
+
* Convert NetBox data directly into the canonical DiagramDocument model.
|
|
1593
|
+
*/
|
|
1594
|
+
declare const netboxToDiagramDocument: (data: {
|
|
1595
|
+
racks: NetBoxRack[];
|
|
1596
|
+
devices: NetBoxDevice[];
|
|
1597
|
+
cables: NetBoxCable[];
|
|
1598
|
+
}, options?: NetBoxDeviceTransformOptions) => DiagramDocument;
|
|
1574
1599
|
/**
|
|
1575
1600
|
* Calculate U position for devices in a rack
|
|
1576
1601
|
*/
|
|
@@ -2088,18 +2113,50 @@ declare function addSpliceToTray(trays: SpliceTrayConfig[], trayId: string, spli
|
|
|
2088
2113
|
*/
|
|
2089
2114
|
declare function removeSpliceFromTray(trays: SpliceTrayConfig[], trayId: string, spliceId: string): SpliceTrayConfig[];
|
|
2090
2115
|
|
|
2091
|
-
|
|
2116
|
+
/**
|
|
2117
|
+
* Normalize flat `DevicePort[]` input into explicit front/rear grouped blocks.
|
|
2118
|
+
* This is the bridge between the recommended simple port schema and the
|
|
2119
|
+
* lower-level grouped renderer input.
|
|
2120
|
+
* @public
|
|
2121
|
+
*/
|
|
2122
|
+
declare function buildPortBlocksFromPorts(devicePorts: DevicePort[]): {
|
|
2092
2123
|
ports: PortBlock[];
|
|
2093
2124
|
rearPorts: PortBlock[];
|
|
2094
2125
|
};
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
declare function
|
|
2101
|
-
|
|
2102
|
-
|
|
2126
|
+
/**
|
|
2127
|
+
* Resolve the grouped front/rear port blocks from either supported input form:
|
|
2128
|
+
* flat `ports: DevicePort[]` or explicit `portGroups` / `rearPortGroups`.
|
|
2129
|
+
* @public
|
|
2130
|
+
*/
|
|
2131
|
+
declare function getResolvedPortBlocks(data: Pick<NetworkNode['data'], 'ports' | 'portGroups' | 'rearPortGroups'> | undefined): {
|
|
2132
|
+
ports: PortBlock[];
|
|
2133
|
+
rearPorts: PortBlock[];
|
|
2134
|
+
};
|
|
2135
|
+
/**
|
|
2136
|
+
* Resolve the front-facing grouped port blocks for a node/device data object.
|
|
2137
|
+
* @public
|
|
2138
|
+
*/
|
|
2139
|
+
declare function getFrontPortBlocks(data: Pick<NetworkNode['data'], 'ports' | 'portGroups' | 'rearPortGroups'> | undefined): PortBlock[];
|
|
2140
|
+
/**
|
|
2141
|
+
* Resolve the rear-facing grouped port blocks for a node/device data object.
|
|
2142
|
+
* @public
|
|
2143
|
+
*/
|
|
2144
|
+
declare function getRearPortBlocks(data: Pick<NetworkNode['data'], 'ports' | 'portGroups' | 'rearPortGroups'> | undefined): PortBlock[];
|
|
2145
|
+
/**
|
|
2146
|
+
* Determine whether a node/device data object resolves to any front ports.
|
|
2147
|
+
* @public
|
|
2148
|
+
*/
|
|
2149
|
+
declare function hasFrontPorts(data: Pick<NetworkNode['data'], 'ports' | 'portGroups' | 'rearPortGroups'> | undefined): boolean;
|
|
2150
|
+
/**
|
|
2151
|
+
* Determine whether a node/device data object resolves to any rear ports.
|
|
2152
|
+
* @public
|
|
2153
|
+
*/
|
|
2154
|
+
declare function hasRearPorts(data: Pick<NetworkNode['data'], 'ports' | 'portGroups' | 'rearPortGroups'> | undefined): boolean;
|
|
2155
|
+
/**
|
|
2156
|
+
* Choose the default device face based on the resolved front/rear port data.
|
|
2157
|
+
* @public
|
|
2158
|
+
*/
|
|
2159
|
+
declare function getDefaultDeviceFace(data: Pick<NetworkNode['data'], 'ports' | 'portGroups' | 'rearPortGroups'> | undefined): DeviceFace;
|
|
2103
2160
|
|
|
2104
2161
|
interface NetworkGraphSnapshot {
|
|
2105
2162
|
nodes: NetworkNode[];
|
|
@@ -2111,7 +2168,7 @@ declare function diagramDocumentToNetworkGraph(document: DiagramDocument): Netwo
|
|
|
2111
2168
|
type EndpointConnectionKind = 'power' | 'network' | 'unknown';
|
|
2112
2169
|
interface EndpointMetadata {
|
|
2113
2170
|
normalizedHandle: string;
|
|
2114
|
-
face?:
|
|
2171
|
+
face?: DeviceFace;
|
|
2115
2172
|
kind: EndpointConnectionKind;
|
|
2116
2173
|
compatibility: string[];
|
|
2117
2174
|
}
|
|
@@ -2125,6 +2182,23 @@ declare function resolveEndpointCompatibilityKeys(input: {
|
|
|
2125
2182
|
}): string[];
|
|
2126
2183
|
declare function getEndpointMetadata(node?: NetworkNode, handle?: string | null): EndpointMetadata;
|
|
2127
2184
|
|
|
2185
|
+
type PortVisualKind = 'generic' | 'rj45' | 'sfp' | 'qsfp' | 'osfp' | 'console' | 'usb' | 'power_c13' | 'power_c19' | 'power_ac';
|
|
2186
|
+
interface PortVisualInput {
|
|
2187
|
+
type?: PortType | string;
|
|
2188
|
+
label?: string;
|
|
2189
|
+
id?: string;
|
|
2190
|
+
group?: string;
|
|
2191
|
+
sourceTypeLabel?: string;
|
|
2192
|
+
connectorType?: string;
|
|
2193
|
+
}
|
|
2194
|
+
interface PortVisualDimensions {
|
|
2195
|
+
width: number;
|
|
2196
|
+
height: number;
|
|
2197
|
+
borderRadius: string;
|
|
2198
|
+
}
|
|
2199
|
+
declare function resolvePortVisualKind(input: PortVisualInput): PortVisualKind;
|
|
2200
|
+
declare function getStandardPortVisualDimensions(inputOrKind: PortVisualInput | PortVisualKind): PortVisualDimensions | undefined;
|
|
2201
|
+
|
|
2128
2202
|
/**
|
|
2129
2203
|
* Power connector utilities for consistent styling across devices and PDUs
|
|
2130
2204
|
*/
|
|
@@ -2600,4 +2674,4 @@ declare function useNetworkDiagram(store: NetworkDiagramStore): NetworkDiagramSt
|
|
|
2600
2674
|
declare function useNodes(store: NetworkDiagramStore): NetworkNode[];
|
|
2601
2675
|
declare function useEdges(store: NetworkDiagramStore): NetworkEdge[];
|
|
2602
2676
|
|
|
2603
|
-
export { COUPLERS_PER_PANEL, COUPLER_SLOT_HEIGHT_PX, COUPLER_WIDTH_PX, CableNode, ClosureNode, CouplerNode, type DeviceImageFit, type DeviceImageOptions, type DeviceImageRepeat, DeviceNode, DevicePlacementError, type DevicePlacementValidation, type DevicePort, type DeviceStatus, type DeviceTemplateV2, type
|
|
2677
|
+
export { COUPLERS_PER_PANEL, COUPLER_SLOT_HEIGHT_PX, COUPLER_WIDTH_PX, CableNode, ClosureNode, CouplerNode, type DeviceFace, type DeviceImageFit, type DeviceImageOptions, type DeviceImageRepeat, DeviceNode, type DeviceNodeData, DevicePlacementError, type DevicePlacementValidation, type DevicePort, type DeviceStatus, type DeviceTemplateV2, type DiagramDocument, type DiagramEdge, type DiagramEdgeEndpoint, type DiagramEndpoint, DiagramErrorBoundary, type DiagramErrorBoundaryProps, type DiagramErrorBoundaryState, type DiagramExternalRef, type DiagramNode, type DiagramNodeKind, type DiagramNodePlacement, type DiagramNodeRender, type DiagramUiState, type EndpointConnectionKind, type EndpointMetadata, FIBER_COLORS_12, type FiberCable, type FiberCableType, type FiberColorId, FiberEdge, FiberNode, FibreCableWithTubesExpanded, type FibreCableWithTubesExpandedProps, type FibreFlowCable, type FibreFlowCableKind, type FibreFlowCableLayout, type FibreFlowCableNodeData, type FibreFlowCircuit, type FibreFlowClosure, type FibreFlowClosureNodeData, type FibreFlowColorMode, type FibreFlowEndpoint, type FibreFlowLayoutDirection, FibreFlowMap, type FibreFlowMapProps, type FibreFlowRow, type FibreFlowSplice, type FibreFlowTubeLabel, FibreSplitNode, HANDLE_EXTENSION_PX, type InventoryCableDTO, type InventoryDeviceDTO, type InventoryRackDTO, type MountClass, MultiTubeCableNode, type NetBoxCable, type NetBoxDevice, type NetBoxDeviceTransformOptions, type NetBoxInterface, type NetBoxMappedPort, type NetBoxPortPosition, type NetBoxRack, NetworkDiagram, type NetworkDiagramActionPanelOptions, type NetworkDiagramFitViewOptions, type NetworkDiagramFlowMethods, type NetworkDiagramFlowObject, type NetworkDiagramInteractionOptions, type NetworkDiagramOptions, type NetworkDiagramProps, type NetworkDiagramState, type NetworkDiagramStore, type NetworkDiagramStoreApi, type NetworkDiagramStoreState, type NetworkDiagramToImageOptions, type NetworkDiagramValidateConnectionParams, type NetworkDiagramValidationResult, type NetworkEdge, type NetworkEdgeData, type NetworkEdgeType, type NetworkGraphSnapshot, type NetworkNode, type NetworkNodeData, type NetworkNodeDataBase, type NetworkNodeDataByType, type NetworkNodeType, PANEL_BORDER_WIDTH, PANEL_HEADER_HEIGHT, PANEL_HEIGHT_PX, PANEL_PADDING, PANEL_TUBE_TRAY_SPACING, PANEL_WIDTH_PX, POWER_CONNECTORS, PatchPanelNode, type Port, type PortBlock, type PortCableType, type PortPosition, type PortType, type PortVisualDimensions, type PortVisualInput, type PortVisualKind, type PowerConnectorConfig, PowerEdge, type PowerPortStyle, type PowerSide, RACK_HEADER_HEIGHT, RACK_WIDTH_PX, type RackConfig, type RackDevice, type RackDeviceType, type RackLayoutMode, type RackMountMode, type RackMountedNodeType, RackNode, type RackNodeData, type RackNodeProps, type RackSchemaOptions, type RawNetboxTemplate, type RawTemplatePort, type RawTemplatePortBlock, type ReplaceEdgeOptions, type SpliceConfig, SpliceNode, SplicePlacementError, type SplicePlacementValidation, type SpliceSchemaOptions, type SpliceTrayConfig, SpliceTrayNode, TEMPLATE_SCHEMA_VERSION, type TemplateFaceData, type TemplateFrontRearPortLink, type TemplateParseResult, type TemplatePort, type TemplatePortBlock, type TemplateSource, type TemplateValidationIssue, type TemplateValidationReport, type TemplateWidth, TubeNode, type UNumberingDirection, U_HEIGHT_PX, type ValidateConnectionParams, type ValidationResult, VerticalPDU, Width, addDeviceToRack, addSpliceToTray, baseColorFor, buildNodesFromRackConfig, buildNodesFromSpliceConfig, buildPortBlocksFromPorts, calculateClosureDimensions, calculateCouplerRightX, calculateCouplerSlotSpacing, calculateCouplerSpacing, calculateDevicePositionFromU, calculatePanelDimensions, calculateSlotPositionFromY, calculateSplicePositionFromNumber, calculateUPositions, calculateYFromSlotPosition, countTemplateFacePorts, createNetworkDiagramStore, createRackConfigFromNodes, createSpliceConfigFromNodes, diagramDocumentToNetworkGraph, fiberSolidOrStriped, findNearestRack, findNextAvailableHolderPosition, findNextAvailableUPosition, generateLayout, getConnectorConfig, getCouplerDimensions, getDefaultDeviceFace, getDeviceConnectorType, getEndpointMetadata, getFiberColor, getFrontPortBlocks, getInnerContentWidth, getPDUPortType, getPanelHeight, getPanelWidth, getPowerPortStyle, getRackBounds, getRearPortBlocks, getResolvedPortBlocks, getStandardPortVisualDimensions, getStatusColor, getTrayDimensions, getTubeDimensions, hasFrontPorts, hasRearPorts, inventoryCableToNetworkEdge, inventoryDeviceToNetworkNode, inventoryRackToNetworkNode, inventoryToDiagramDocument, inventoryToNetworkDiagram, isHighPowerConnector, isPointInRack, isStriped, isUPositionAvailable, netboxCableToNetworkEdge, netboxDeviceToNetworkNode, netboxRackToNetworkNode, netboxToDiagramDocument, netboxToNetworkDiagram, networkGraphToDiagramDocument, parseNetboxTemplate, removeDeviceFromRack, removeSpliceFromTray, replaceEdge, resolveEndpointCompatibilityKeys, resolvePortVisualKind, snapToCouplerPosition, snapToSplicePosition, snapToUPosition, updateDeviceUPosition$1 as updateDeviceUPosition, updateDeviceUPosition as updateDeviceUPositionInSchema, updateSpliceHolderPosition, useEdges as useDiagramEdges, useNodes as useDiagramNodes, useNetworkDiagram, validateAndSnapDevice, validateRackDevicePlacements, validateRenderFidelity, validateSplicePlacements };
|