react-aiops 0.0.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.
Files changed (55) hide show
  1. package/dist/AIOPsDashboard.d.ts +46 -0
  2. package/dist/AIOPsDashboard.d.ts.map +1 -0
  3. package/dist/components/Carousel.d.ts +60 -0
  4. package/dist/components/Carousel.d.ts.map +1 -0
  5. package/dist/components/ComponentDialog.d.ts +10 -0
  6. package/dist/components/ComponentDialog.d.ts.map +1 -0
  7. package/dist/components/ComponentDrillView.d.ts +98 -0
  8. package/dist/components/ComponentDrillView.d.ts.map +1 -0
  9. package/dist/components/Database3D.d.ts +38 -0
  10. package/dist/components/Database3D.d.ts.map +1 -0
  11. package/dist/components/HistoricalGraphPanel.d.ts +61 -0
  12. package/dist/components/HistoricalGraphPanel.d.ts.map +1 -0
  13. package/dist/components/HoloBase.d.ts +41 -0
  14. package/dist/components/HoloBase.d.ts.map +1 -0
  15. package/dist/components/Human3D.d.ts +27 -0
  16. package/dist/components/Human3D.d.ts.map +1 -0
  17. package/dist/components/Internal3DComponents.d.ts +132 -0
  18. package/dist/components/Internal3DComponents.d.ts.map +1 -0
  19. package/dist/components/MessageServer3D.d.ts +44 -0
  20. package/dist/components/MessageServer3D.d.ts.map +1 -0
  21. package/dist/components/NodeCallout.d.ts +31 -0
  22. package/dist/components/NodeCallout.d.ts.map +1 -0
  23. package/dist/components/Server3D.d.ts +43 -0
  24. package/dist/components/Server3D.d.ts.map +1 -0
  25. package/dist/components/Service.d.ts +115 -0
  26. package/dist/components/Service.d.ts.map +1 -0
  27. package/dist/components/ServiceDialog.d.ts +33 -0
  28. package/dist/components/ServiceDialog.d.ts.map +1 -0
  29. package/dist/components/ServiceNode.d.ts +67 -0
  30. package/dist/components/ServiceNode.d.ts.map +1 -0
  31. package/dist/components/SvgConnection.d.ts +44 -0
  32. package/dist/components/SvgConnection.d.ts.map +1 -0
  33. package/dist/components/SyncBridge.d.ts +31 -0
  34. package/dist/components/SyncBridge.d.ts.map +1 -0
  35. package/dist/components/WebDispatcher3D.d.ts +40 -0
  36. package/dist/components/WebDispatcher3D.d.ts.map +1 -0
  37. package/dist/components/index.d.ts +73 -0
  38. package/dist/components/index.d.ts.map +1 -0
  39. package/dist/index.d.ts +6 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +6652 -0
  42. package/dist/services/ExchangeService.d.ts +54 -0
  43. package/dist/services/ExchangeService.d.ts.map +1 -0
  44. package/dist/services/SAPService.d.ts +56 -0
  45. package/dist/services/SAPService.d.ts.map +1 -0
  46. package/dist/services/index.d.ts +35 -0
  47. package/dist/services/index.d.ts.map +1 -0
  48. package/dist/services/sapSubComponents.d.ts +28 -0
  49. package/dist/services/sapSubComponents.d.ts.map +1 -0
  50. package/dist/theme.d.ts +76 -0
  51. package/dist/theme.d.ts.map +1 -0
  52. package/dist/types.d.ts +146 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/vite.svg +1 -0
  55. package/package.json +51 -0
@@ -0,0 +1,46 @@
1
+ import { default as React } from 'react';
2
+ import { ComponentStatus } from './types';
3
+ import { ServiceDialogMetric, ServiceDialogAlert } from './components/ServiceDialog';
4
+ /**
5
+ * Minimal metadata for each service in the carousel.
6
+ * Used to populate the {@link ServiceDialog} when a service is selected.
7
+ */
8
+ export interface ServiceMeta {
9
+ /** Service display name (must match the service component's `name`). */
10
+ name: string;
11
+ /** Overall health status of this service. */
12
+ status: ComponentStatus;
13
+ /** Whether the service's databases are in sync. Defaults to `true`. */
14
+ dbSync?: boolean;
15
+ /** Service-level KPI metrics for the stats dialog. */
16
+ metrics?: ServiceDialogMetric[];
17
+ /** System alerts for the stats dialog. */
18
+ alerts?: ServiceDialogAlert[];
19
+ }
20
+ export interface AIOPsDashboardProps {
21
+ /** Dashboard title displayed in the header. */
22
+ title?: string;
23
+ /** Brand name shown with the pulse indicator. Defaults to `"BUSAUD AIOps"`. */
24
+ brandName?: string;
25
+ /** Tag badge in the header corner. Defaults to `"3D MONITOR"`. */
26
+ brandTag?: string;
27
+ /**
28
+ * Metadata for each service — used for the service-level stats dialog.
29
+ * Each entry should match a child service component by `name`.
30
+ */
31
+ services?: ServiceMeta[];
32
+ /**
33
+ * Service components to display in the carousel.
34
+ * Each child should be a service component (e.g. `<SAPService>`)
35
+ * that internally renders the library `<Service>` container.
36
+ */
37
+ children: React.ReactNode;
38
+ }
39
+ /**
40
+ * Full AIOps infrastructure dashboard.
41
+ *
42
+ * Renders a branded header, a 3D carousel of services, and a
43
+ * controls footer. All interaction state is self-contained.
44
+ */
45
+ export default function AIOPsDashboard({ brandName, brandTag, services, children, }: AIOPsDashboardProps): import("react/jsx-runtime").JSX.Element;
46
+ //# sourceMappingURL=AIOPsDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIOPsDashboard.d.ts","sourceRoot":"","sources":["../src/AIOPsDashboard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAgC,eAAe,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAO1F;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,eAAe,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAChC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACnC,SAA0B,EAC1B,QAAuB,EACvB,QAAa,EACb,QAAQ,GACX,EAAE,mBAAmB,2CAiJrB"}
@@ -0,0 +1,60 @@
1
+ import { default as React } from 'react';
2
+ import { ViewState, SelectedComponent, ComponentStatus } from '../types';
3
+ import { ServiceDialogMetric, ServiceDialogAlert } from './ServiceDialog';
4
+ export interface CarouselProps {
5
+ /** Service components to display in the carousel. Each must be a `<Service>`. */
6
+ children: React.ReactNode;
7
+ /** Current view state of the carousel. */
8
+ viewState: ViewState;
9
+ /** Current expansion animation phase (0–6). */
10
+ animPhase: number;
11
+ /** Name of the currently selected/expanded system, or `null`. */
12
+ selectedSystem: string | null;
13
+ /** Currently selected component for drill-down, or `null`. */
14
+ selectedComponent: SelectedComponent | null;
15
+ /** Drill-down animation phase (0–1). */
16
+ drillAnimPhase: number;
17
+ /** Y-axis rotation for all 3D components (degrees). */
18
+ rotateY?: number;
19
+ /** Whether 3D components auto-rotate around the Y axis. */
20
+ autoRotateComponents?: boolean;
21
+ /** Scale factor for components in expanded view (0.3–1.5). */
22
+ componentScale?: number;
23
+ /** Zoom factor when drilling into a component (1.5–6). Defaults to `3.3`. */
24
+ drillZoom?: number;
25
+ /** Whether the carousel auto-rotates when in compact view. Defaults to `true`. */
26
+ autoRotateCarousel?: boolean;
27
+ /** Angular speed of the carousel rotation (radians per frame). Defaults to `0.006`. */
28
+ carouselSpeed?: number;
29
+ /** Width of the scene container in pixels. Defaults to `660`. */
30
+ width?: number;
31
+ /** Height of the scene container in pixels. Defaults to `600`. */
32
+ height?: number;
33
+ /** Called when a service is clicked in compact view. */
34
+ onSelectSystem: (name: string) => void;
35
+ /** Called when the background is clicked (collapse or close drill). */
36
+ onBackgroundClick: () => void;
37
+ /** Called when a component node is clicked for drill-down. */
38
+ onComponentClick: (info: SelectedComponent) => void;
39
+ /** Called when the drill-down view close button is clicked. */
40
+ onCloseDrill: () => void;
41
+ /**
42
+ * Overall status of the currently selected system.
43
+ * Used to populate the {@link ServiceDialog}. Defaults to `"online"`.
44
+ */
45
+ selectedSystemStatus?: ComponentStatus;
46
+ /** Whether the selected system's databases are in sync. Defaults to `true`. */
47
+ selectedSystemDbSync?: boolean;
48
+ /** Service-level KPI metrics for the stats dialog. */
49
+ selectedSystemMetrics?: ServiceDialogMetric[];
50
+ /** System alerts for the stats dialog. */
51
+ selectedSystemAlerts?: ServiceDialogAlert[];
52
+ }
53
+ /**
54
+ * Grand carousel container.
55
+ *
56
+ * Positions child services on a 3D elliptical orbit, manages the
57
+ * rotation animation, and renders overlay dialogs.
58
+ */
59
+ export default function Carousel({ children, viewState, animPhase, selectedSystem, selectedComponent, drillAnimPhase, rotateY, autoRotateComponents, componentScale, drillZoom, autoRotateCarousel, carouselSpeed, width, height, onSelectSystem, onBackgroundClick: _onBackgroundClick, onComponentClick, onCloseDrill, selectedSystemStatus, selectedSystemDbSync, selectedSystemMetrics, selectedSystemAlerts, }: CarouselProps): import("react/jsx-runtime").JSX.Element;
60
+ //# sourceMappingURL=Carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/components/Carousel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAI/E,MAAM,WAAW,aAAa;IAC1B,iFAAiF;IACjF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAI1B,0CAA0C;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8DAA8D;IAC9D,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IAIvB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,wDAAwD;IACxD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uEAAuE;IACvE,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,8DAA8D;IAC9D,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpD,+DAA+D;IAC/D,YAAY,EAAE,MAAM,IAAI,CAAC;IAIzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,eAAe,CAAC;IACvC,+EAA+E;IAC/E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC9C,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC/C;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,OAAY,EACZ,oBAA2B,EAC3B,cAAqB,EACrB,SAAe,EACf,kBAAyB,EACzB,aAAqB,EACrB,KAAW,EACX,MAAY,EACZ,cAAc,EACd,iBAAiB,EAAE,kBAAkB,EACrC,gBAAgB,EAChB,YAAY,EACZ,oBAA+B,EAC/B,oBAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACvB,EAAE,aAAa,2CAmGf"}
@@ -0,0 +1,10 @@
1
+ import { SelectedComponent } from '../types';
2
+ export interface ComponentDialogProps {
3
+ component: SelectedComponent;
4
+ onClose: () => void;
5
+ visible: boolean;
6
+ sceneWidth?: number;
7
+ sceneHeight?: number;
8
+ }
9
+ export default function ComponentDialog({ component, onClose, visible, sceneWidth, sceneHeight, }: ComponentDialogProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ComponentDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentDialog.d.ts","sourceRoot":"","sources":["../../src/components/ComponentDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AA2BD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,SAAS,EACT,OAAO,EACP,OAAO,EACP,UAAgB,EAChB,WAAiB,GACpB,EAAE,oBAAoB,2CAqTtB"}
@@ -0,0 +1,98 @@
1
+ import { ComponentStatus } from '../theme';
2
+ import { SubComponentConfig, GraphSeries } from '../types';
3
+ /**
4
+ * Discriminator for the four infrastructure component categories.
5
+ * Determines which internal sub-components are shown inside the drill-down.
6
+ */
7
+ export type ComponentType = "server" | "dispatcher" | "messageServer" | "database";
8
+ /**
9
+ * Describes a single sub-component inside a drilled-down infrastructure node.
10
+ *
11
+ * @property id - Unique identifier (e.g. `"cpu-0"`, `"platter-1"`).
12
+ * @property label - Human-readable label rendered on the 3D block.
13
+ * @property status - Health status that colours the sub-component.
14
+ * @property detail - Optional short description shown on fault conditions.
15
+ */
16
+ export interface InternalComponent {
17
+ id: string;
18
+ label: string;
19
+ status: ComponentStatus;
20
+ detail?: string;
21
+ }
22
+ /**
23
+ * Returns the list of internal sub-components for a given infrastructure type,
24
+ * propagating the parent's health status to individual sub-items based on
25
+ * contextual load/capacity thresholds.
26
+ *
27
+ * @param type - The infrastructure category.
28
+ * @param name - Hostname of the parent component (used for node-specific rules).
29
+ * @param status - Overall parent health status.
30
+ * @param context - Optional runtime metrics used to derive per-item statuses.
31
+ * @returns An array of {@link InternalComponent} descriptors.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const parts = getInternalComponents("server", "APP-03", "critical", { cpuLoad: 95 });
36
+ * ```
37
+ */
38
+ export declare function getInternalComponents(type: ComponentType, name: string, status: ComponentStatus, context?: {
39
+ cpuLoad?: number;
40
+ memLoad?: number;
41
+ traffic?: number;
42
+ queueDepth?: number;
43
+ capacity?: number;
44
+ }): InternalComponent[];
45
+ /**
46
+ * Props for the {@link ComponentDrillView} overlay.
47
+ *
48
+ * @property type - Infrastructure category controlling which interior is rendered.
49
+ * @property name - Hostname of the node being inspected.
50
+ * @property status - Current health status of the parent node.
51
+ * @property onClose - Callback invoked when the user dismisses the overlay.
52
+ * @property animPhase - Animation progress from `0` (closed) to `1` (fully open).
53
+ * @property context - Optional runtime metrics forwarded to sub-components and graphs.
54
+ */
55
+ export interface ComponentDrillViewProps {
56
+ type: ComponentType;
57
+ name: string;
58
+ status: ComponentStatus;
59
+ onClose: () => void;
60
+ animPhase: number;
61
+ context?: {
62
+ cpuLoad?: number;
63
+ memLoad?: number;
64
+ traffic?: number;
65
+ queueDepth?: number;
66
+ capacity?: number;
67
+ };
68
+ /**
69
+ * When provided, the drill-down interior renders these sub-components
70
+ * instead of using the built-in type-based defaults. This makes the
71
+ * drill-down fully composable.
72
+ */
73
+ subComponents?: SubComponentConfig[];
74
+ /**
75
+ * When provided, the historical graph panel renders these series
76
+ * instead of generating type-based defaults.
77
+ */
78
+ graphSeries?: GraphSeries[];
79
+ }
80
+ /**
81
+ * Full-screen drill-down overlay showing the internal sub-components and
82
+ * historical graphs for a selected infrastructure node. Features a
83
+ * double-door opening animation driven by `animPhase`.
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * <ComponentDrillView
88
+ * type="server"
89
+ * name="APP-03"
90
+ * status="critical"
91
+ * animPhase={1}
92
+ * onClose={() => setOpen(false)}
93
+ * context={{ cpuLoad: 92, memLoad: 78 }}
94
+ * />
95
+ * ```
96
+ */
97
+ export default function ComponentDrillView({ type, name, status, onClose, animPhase, context, subComponents, graphSeries, }: ComponentDrillViewProps): import("react/jsx-runtime").JSX.Element;
98
+ //# sourceMappingURL=ComponentDrillView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentDrillView.d.ts","sourceRoot":"","sources":["../../src/components/ComponentDrillView.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAchE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE;IACN,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GACF,iBAAiB,EAAE,CAgKrB;AAKD;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;CAC/B;AA6UD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACvC,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAY,EACZ,aAAa,EACb,WAAW,GACd,EAAE,uBAAuB,2CA6MzB"}
@@ -0,0 +1,38 @@
1
+ import { ComponentStatus } from '../theme';
2
+ /**
3
+ * Props for the {@link Database3D} component.
4
+ *
5
+ * @property rotateX - Rotation around the X axis in degrees.
6
+ * @property rotateY - Rotation around the Y axis in degrees.
7
+ * @property rotateZ - Rotation around the Z axis in degrees.
8
+ * @property scale - Uniform scale multiplier (default `1`).
9
+ * @property autoRotate - Continuously spin the cylinder on its Y axis.
10
+ * @property status - Current health status governing colour palette.
11
+ * @property name - Hostname label for the database instance.
12
+ * @property capacity - Storage capacity percentage (0–100) shown as a fill bar.
13
+ * @property connections - Number of active connections (informational).
14
+ */
15
+ export interface Database3DProps {
16
+ rotateX?: number;
17
+ rotateY?: number;
18
+ rotateZ?: number;
19
+ scale?: number;
20
+ autoRotate?: boolean;
21
+ status?: ComponentStatus;
22
+ name?: string;
23
+ capacity?: number;
24
+ connections?: number;
25
+ /** @internal Injected by FloatWrap — uses opaque face backgrounds. */
26
+ _compact?: boolean;
27
+ }
28
+ /**
29
+ * Renders a CSS-3D database cylinder with three stacked platters, status-aware
30
+ * colouring, optional auto-rotation, and an ambient glow.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * <Database3D status="online" capacity={72} name="DB-PRI" />
35
+ * ```
36
+ */
37
+ export default function Database3D({ rotateX, rotateY, rotateZ, scale, autoRotate, status, capacity, _compact, }: Database3DProps): import("react/jsx-runtime").JSX.Element;
38
+ //# sourceMappingURL=Database3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Database3D.d.ts","sourceRoot":"","sources":["../../src/components/Database3D.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAc,KAAK,eAAe,EAAkB,MAAM,UAAU,CAAC;AAkB5E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAoPD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAC/B,OAAa,EACb,OAAa,EACb,OAAW,EACX,KAAS,EACT,UAAkB,EAClB,MAAiB,EAEjB,QAAa,EAEb,QAAQ,GACX,EAAE,eAAe,2CA6HjB"}
@@ -0,0 +1,61 @@
1
+ import { ComponentType } from './ComponentDrillView';
2
+ import { GraphSeries } from '../types';
3
+ /**
4
+ * Configuration for a single sparkline metric series.
5
+ *
6
+ * @property id - Unique key used as the React list key.
7
+ * @property label - Display name rendered above the sparkline.
8
+ * @property unit - Unit suffix shown next to the latest value (e.g. `"%"`, `"kbps"`).
9
+ * @property color - Hex accent colour for the sparkline stroke and label.
10
+ * @property data - Array of numeric data points (most recent last).
11
+ */
12
+ export interface SeriesConfig {
13
+ id: string;
14
+ label: string;
15
+ unit: string;
16
+ color: string;
17
+ data: number[];
18
+ }
19
+ /**
20
+ * Props for the {@link HistoricalGraphPanel} component.
21
+ *
22
+ * @property type - Infrastructure category controlling which series are generated.
23
+ * @property name - Hostname label displayed at the panel header.
24
+ * @property context - Optional runtime metrics seeding the mock sparkline data.
25
+ * @property status - Health status string governing accent colour.
26
+ * @property animPhase - Animation progress (0–1) driving the slide-in and fade.
27
+ */
28
+ export interface HistoricalGraphPanelProps {
29
+ type: ComponentType;
30
+ name: string;
31
+ context?: {
32
+ cpuLoad?: number;
33
+ memLoad?: number;
34
+ traffic?: number;
35
+ queueDepth?: number;
36
+ capacity?: number;
37
+ };
38
+ status?: string;
39
+ animPhase: number;
40
+ /**
41
+ * When provided, renders these series instead of generating
42
+ * type-based defaults. Makes the graph panel fully composable.
43
+ */
44
+ series?: GraphSeries[];
45
+ }
46
+ /**
47
+ * Slide-in panel that renders a vertical stack of sparkline charts for every
48
+ * sub-component metric, animated into view by `animPhase`.
49
+ *
50
+ * @example
51
+ * ```tsx
52
+ * <HistoricalGraphPanel
53
+ * type="server"
54
+ * name="APP-01"
55
+ * context={{ cpuLoad: 72, memLoad: 60 }}
56
+ * animPhase={1}
57
+ * />
58
+ * ```
59
+ */
60
+ export default function HistoricalGraphPanel({ type, name, context, status, animPhase, series: externalSeries, }: HistoricalGraphPanelProps): import("react/jsx-runtime").JSX.Element;
61
+ //# sourceMappingURL=HistoricalGraphPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoricalGraphPanel.d.ts","sourceRoot":"","sources":["../../src/components/HistoricalGraphPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU5C;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA0BD;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,IAAI,EACJ,IAAI,EACJ,OAAY,EACZ,MAAiB,EACjB,SAAS,EACT,MAAM,EAAE,cAAc,GACvB,EAAE,yBAAyB,2CAqE3B"}
@@ -0,0 +1,41 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Props accepted by {@link HoloBase}.
4
+ *
5
+ * @property children - The 3D component rendered above the holographic platform.
6
+ * @property size - Diameter of the outermost ring in pixels (default `230`).
7
+ * @property widthRatio - Horizontal stretch multiplier; `1` = normal, `2` = twice as wide.
8
+ * @property color - Primary holographic accent colour (default `"#00e5ff"`).
9
+ * @property label - Optional label displayed below the base in uppercase monospace.
10
+ */
11
+ interface HoloBaseProps {
12
+ children: ReactNode;
13
+ /** Diameter of the outermost ring px */
14
+ size?: number;
15
+ /**
16
+ * Horizontal stretch multiplier.
17
+ * 1 = normal (default), 2 = twice as wide, 0.5 = half as wide.
18
+ * Height is always unchanged.
19
+ */
20
+ widthRatio?: number;
21
+ /** Primary holographic color */
22
+ color?: string;
23
+ /** Label displayed below the base */
24
+ label?: string;
25
+ }
26
+ /**
27
+ * Holographic projection base component.
28
+ *
29
+ * Wraps `children` in a floating animation, overlays a scan-line, renders a
30
+ * multi-layer neon beam, concentric platform rings, and an optional label.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * <HoloBase size={200} color="#00e5ff" label="SRV-001">
35
+ * <Server3D />
36
+ * </HoloBase>
37
+ * ```
38
+ */
39
+ export default function HoloBase({ children, size, widthRatio, color, label, }: HoloBaseProps): import("react/jsx-runtime").JSX.Element;
40
+ export {};
41
+ //# sourceMappingURL=HoloBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoloBase.d.ts","sourceRoot":"","sources":["../../src/components/HoloBase.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;GAQG;AACH,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,QAAQ,EACR,IAAU,EACV,UAAc,EACd,KAAiB,EACjB,KAAK,GACN,EAAE,aAAa,2CA+Of"}
@@ -0,0 +1,27 @@
1
+ import { ComponentStatus } from '../theme';
2
+ /**
3
+ * Props for the {@link Human3D} component.
4
+ *
5
+ * @property name - Display name label below the figure (default `"USR-01"`).
6
+ * @property role - Role or department label (default `"HR EMPLOYEE"`).
7
+ * @property status - Current health status governing accent colour.
8
+ * @property scale - Uniform scale multiplier (default `1`).
9
+ */
10
+ export interface Human3DProps {
11
+ name?: string;
12
+ role?: string;
13
+ status?: ComponentStatus;
14
+ scale?: number;
15
+ }
16
+ /**
17
+ * Renders a holographic SVG person-icon silhouette (head + shoulders) with
18
+ * name, role, and active-status indicator. Includes a floating animation
19
+ * and scan-line overlay.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <Human3D name="USR-42" role="SAP ADMIN" status="online" />
24
+ * ```
25
+ */
26
+ export default function Human3D({ status, scale }: Human3DProps): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=Human3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Human3D.d.ts","sourceRoot":"","sources":["../../src/components/Human3D.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,MAAiB,EAAE,KAAS,EAAE,EAAE,YAAY,2CA2G7E"}
@@ -0,0 +1,132 @@
1
+ import { ComponentStatus } from '../theme';
2
+ /**
3
+ * Miniature CPU chip with a heat-spreader outline and a load-percentage fill bar.
4
+ *
5
+ * @param props.color - Accent colour for borders and the load bar.
6
+ * @param props.label - Text label rendered below the chip.
7
+ * @param props.status - Health status; non-`"online"` shows a blinking LED.
8
+ * @param props.load - CPU load percentage (0–100) controlling the fill bar width.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <CPU3D color="#00e5ff" label="CPU-0" load={72} status="online" />
13
+ * ```
14
+ */
15
+ export declare function CPU3D({ color, label, status, load, }: {
16
+ color?: string;
17
+ label?: string;
18
+ status?: ComponentStatus;
19
+ load?: number;
20
+ delay?: string;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ /**
23
+ * Miniature DIMM memory stick with four bank cells showing used-percentage fill.
24
+ *
25
+ * @param props.color - Accent colour for borders and fill bars.
26
+ * @param props.label - Text label rendered below the stick.
27
+ * @param props.status - Health status; non-`"online"` shows a blinking LED.
28
+ * @param props.usedPercent - Memory utilisation percentage (0–100).
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <Memory3D color="#8855ee" label="HEAP-0" usedPercent={82} status="warning" />
33
+ * ```
34
+ */
35
+ export declare function Memory3D({ color, label, status, usedPercent, }: {
36
+ color?: string;
37
+ label?: string;
38
+ status?: ComponentStatus;
39
+ usedPercent?: number;
40
+ delay?: string;
41
+ }): import("react/jsx-runtime").JSX.Element;
42
+ /**
43
+ * Small drive-bay block with an activity LED and a drive body slab.
44
+ *
45
+ * @param props.color - Accent colour for borders and LED.
46
+ * @param props.label - Text label rendered below the bay.
47
+ * @param props.status - Health status forwarded to the inner {@link HoloBlock}.
48
+ * @param props.activity - When `true`, the activity LED is lit.
49
+ *
50
+ * @example
51
+ * ```tsx
52
+ * <DriveBay3D label="DRIVE-1" activity={true} status="online" />
53
+ * ```
54
+ */
55
+ export declare function DriveBay3D({ color, label, status, activity, }: {
56
+ color?: string;
57
+ label?: string;
58
+ status?: ComponentStatus;
59
+ activity?: boolean;
60
+ }): import("react/jsx-runtime").JSX.Element;
61
+ /**
62
+ * Miniature network interface block with four port outlines.
63
+ *
64
+ * @param props.color - Accent colour for borders and port outlines.
65
+ * @param props.label - Text label rendered below the block.
66
+ * @param props.status - Health status (currently unused visually but accepted for consistency).
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * <NetworkBlock3D label="NET" status="online" />
71
+ * ```
72
+ */
73
+ export declare function NetworkBlock3D({ color, label, status: _status, }: {
74
+ color?: string;
75
+ label?: string;
76
+ status?: ComponentStatus;
77
+ }): import("react/jsx-runtime").JSX.Element;
78
+ /**
79
+ * Generic holographic block used for thread pools, worker pools, queues, and
80
+ * similar abstract sub-components.
81
+ *
82
+ * @param props.color - Accent colour for borders and glow.
83
+ * @param props.label - Text label rendered inside the block.
84
+ * @param props.status - Health status forwarded to the inner {@link HoloBlock}.
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * <ThreadPool3D label="THREAD-POOL" status="critical" />
89
+ * ```
90
+ */
91
+ export declare function ThreadPool3D({ color, label, status, }: {
92
+ color?: string;
93
+ label?: string;
94
+ status?: ComponentStatus;
95
+ }): import("react/jsx-runtime").JSX.Element;
96
+ /**
97
+ * Miniature circular disk platter with a conic capacity-fill indicator.
98
+ *
99
+ * @param props.color - Accent colour for borders and fill arc.
100
+ * @param props.label - Text label rendered below the disk.
101
+ * @param props.status - Health status; non-`"online"` shows a blinking LED.
102
+ * @param props.capacityPercent - Storage fill percentage (0–100) displayed as a conic gradient.
103
+ *
104
+ * @example
105
+ * ```tsx
106
+ * <Platter3D label="PLATTER-0" capacityPercent={72} status="online" />
107
+ * ```
108
+ */
109
+ export declare function Platter3D({ color, label, status, capacityPercent, }: {
110
+ color?: string;
111
+ label?: string;
112
+ status?: ComponentStatus;
113
+ capacityPercent?: number;
114
+ }): import("react/jsx-runtime").JSX.Element;
115
+ /**
116
+ * Miniature network port with a top status LED and a socket body.
117
+ *
118
+ * @param props.color - Accent colour for borders and LED.
119
+ * @param props.label - Text label rendered below the port.
120
+ * @param props.status - Health status; non-`"online"` turns the LED red/orange and blinks.
121
+ *
122
+ * @example
123
+ * ```tsx
124
+ * <Port3D label="PORT-3" status="critical" />
125
+ * ```
126
+ */
127
+ export declare function Port3D({ color, label, status, }: {
128
+ color?: string;
129
+ label?: string;
130
+ status?: ComponentStatus;
131
+ }): import("react/jsx-runtime").JSX.Element;
132
+ //# sourceMappingURL=Internal3DComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Internal3DComponents.d.ts","sourceRoot":"","sources":["../../src/components/Internal3DComponents.tsx"],"names":[],"mappings":"AAQA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAgG1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EAClB,KAAiB,EACjB,KAAe,EACf,MAAiB,EACjB,IAAQ,GACX,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,2CA2FA;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EACrB,KAAiB,EACjB,KAAgB,EAChB,MAAiB,EACjB,WAAe,GAClB,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,2CAkFA;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACvB,KAAiB,EACjB,KAAiB,EACjB,MAAiB,EACjB,QAAgB,GACnB,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,2CA+BA;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,EAC3B,KAAiB,EACjB,KAAa,EACb,MAAM,EAAE,OAAkB,GAC7B,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B,2CAuDA;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EACzB,KAAiB,EACjB,KAAgB,EAChB,MAAiB,GACpB,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B,2CAEA;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,EACtB,KAAiB,EACjB,KAAmB,EACnB,MAAiB,EACjB,eAAmB,GACtB,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,2CAoEA;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,EACnB,KAAiB,EACjB,KAAgB,EAChB,MAAiB,GACpB,EAAE;IACC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B,2CA4DA"}
@@ -0,0 +1,44 @@
1
+ import { ComponentStatus } from '../theme';
2
+ /**
3
+ * Props for the {@link MessageServer3D} component.
4
+ *
5
+ * @property rotateX - Rotation around the X axis in degrees.
6
+ * @property rotateY - Rotation around the Y axis in degrees.
7
+ * @property rotateZ - Rotation around the Z axis in degrees.
8
+ * @property scale - Uniform scale multiplier (default `1`).
9
+ * @property autoRotate - Continuously spin the appliance on its Y axis.
10
+ * @property status - Current health status governing colour palette.
11
+ * @property name - Hostname label rendered on the front face.
12
+ * @property queueDepth - Queue depth percentage (0–100).
13
+ * @property msgsPerSec - Message throughput in messages per second.
14
+ * @property instances - Number of connected ABAP instances (max 5).
15
+ */
16
+ export interface MessageServer3DProps {
17
+ rotateX?: number;
18
+ rotateY?: number;
19
+ rotateZ?: number;
20
+ scale?: number;
21
+ autoRotate?: boolean;
22
+ status?: ComponentStatus;
23
+ name?: string;
24
+ /** Queue depth 0–100 */
25
+ queueDepth?: number;
26
+ /** Messages per second */
27
+ msgsPerSec?: number;
28
+ /** Number of connected ABAP instances (max 5) */
29
+ instances?: number;
30
+ /** @internal Injected by FloatWrap — uses opaque face backgrounds. */
31
+ _compact?: boolean;
32
+ }
33
+ /**
34
+ * Renders a CSS-3D message server appliance with ABAP instance LEDs,
35
+ * queue-depth and MSG/s metrics, purple accent colouring, and optional
36
+ * auto-rotation.
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * <MessageServer3D status="online" queueDepth={45} msgsPerSec={230} instances={3} />
41
+ * ```
42
+ */
43
+ export default function MessageServer3D({ rotateX, rotateY, rotateZ, scale, autoRotate, status, name, queueDepth, msgsPerSec, instances, _compact, }: MessageServer3DProps): import("react/jsx-runtime").JSX.Element;
44
+ //# sourceMappingURL=MessageServer3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageServer3D.d.ts","sourceRoot":"","sources":["../../src/components/MessageServer3D.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA4C,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAiB1F;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAmbD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,OAAa,EACb,OAAY,EACZ,OAAW,EACX,KAAS,EACT,UAAkB,EAClB,MAAiB,EACjB,IAAmB,EACnB,UAAe,EACf,UAAgB,EAChB,SAAa,EACb,QAAQ,GACX,EAAE,oBAAoB,2CA2ItB"}
@@ -0,0 +1,31 @@
1
+ import { ComponentStatus } from '../theme';
2
+ export interface NodeCalloutProps {
3
+ /** X position of the node this callout references (expanded topology). */
4
+ ex: number;
5
+ /** Y position of the node this callout references (expanded topology). */
6
+ ey: number;
7
+ /** Health status of the referenced component. Hidden when `"online"`. */
8
+ status: ComponentStatus | "offline";
9
+ /** Component display name (e.g. "WEB-DISP", "APP-01"). */
10
+ title: string;
11
+ /** Short diagnostic message shown in the callout body. */
12
+ msg: string;
13
+ /** Horizontal offset (px) from the node center to the label position. */
14
+ offsetX: number;
15
+ /** Vertical offset (px) from the node center to the label position. */
16
+ offsetY: number;
17
+ /** Whether the callout is visible (typically tied to the expanded view state). */
18
+ isVisible: boolean;
19
+ /** Callout alignment direction relative to its anchor point. Defaults to `"right"`. */
20
+ align?: "left" | "right" | "top" | "bottom";
21
+ /** Optional internal sub-component ID that is experiencing the issue (e.g. "HEAP-0", "PORT-3"). */
22
+ internalRef?: string;
23
+ }
24
+ /**
25
+ * Alert callout for a topology node.
26
+ *
27
+ * Renders nothing when `status` is `"online"`. Otherwise displays a
28
+ * leader line and diagnostic card in the specified direction.
29
+ */
30
+ export default function NodeCallout({ ex, ey, status, title, msg, offsetX, offsetY, isVisible, align, internalRef, }: NodeCalloutProps): import("react/jsx-runtime").JSX.Element | null;
31
+ //# sourceMappingURL=NodeCallout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeCallout.d.ts","sourceRoot":"","sources":["../../src/components/NodeCallout.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,WAAW,gBAAgB;IAC7B,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,SAAS,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5C,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAChC,EAAE,EACF,EAAE,EACF,MAAM,EACN,KAAK,EACL,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAe,EACf,WAAW,GACd,EAAE,gBAAgB,kDAgIlB"}