react-dashstream 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 (75) hide show
  1. package/README.md +400 -0
  2. package/dist/AIOPsDashboard.d.ts +131 -0
  3. package/dist/AIOPsDashboard.d.ts.map +1 -0
  4. package/dist/components/Carousel.d.ts +64 -0
  5. package/dist/components/Carousel.d.ts.map +1 -0
  6. package/dist/components/CarouselContext.d.ts +27 -0
  7. package/dist/components/CarouselContext.d.ts.map +1 -0
  8. package/dist/components/ComponentDialog.d.ts +10 -0
  9. package/dist/components/ComponentDialog.d.ts.map +1 -0
  10. package/dist/components/ComponentDrillView.d.ts +98 -0
  11. package/dist/components/ComponentDrillView.d.ts.map +1 -0
  12. package/dist/components/Database3D.d.ts +38 -0
  13. package/dist/components/Database3D.d.ts.map +1 -0
  14. package/dist/components/DatabaseNode.d.ts +25 -0
  15. package/dist/components/DatabaseNode.d.ts.map +1 -0
  16. package/dist/components/HistoricalGraphPanel.d.ts +61 -0
  17. package/dist/components/HistoricalGraphPanel.d.ts.map +1 -0
  18. package/dist/components/HoloBase.d.ts +41 -0
  19. package/dist/components/HoloBase.d.ts.map +1 -0
  20. package/dist/components/Human3D.d.ts +27 -0
  21. package/dist/components/Human3D.d.ts.map +1 -0
  22. package/dist/components/HumanNode.d.ts +16 -0
  23. package/dist/components/HumanNode.d.ts.map +1 -0
  24. package/dist/components/Internal3DComponents.d.ts +132 -0
  25. package/dist/components/Internal3DComponents.d.ts.map +1 -0
  26. package/dist/components/MessageServer3D.d.ts +44 -0
  27. package/dist/components/MessageServer3D.d.ts.map +1 -0
  28. package/dist/components/MessageServerNode.d.ts +27 -0
  29. package/dist/components/MessageServerNode.d.ts.map +1 -0
  30. package/dist/components/NodeCallout.d.ts +31 -0
  31. package/dist/components/NodeCallout.d.ts.map +1 -0
  32. package/dist/components/Server3D.d.ts +45 -0
  33. package/dist/components/Server3D.d.ts.map +1 -0
  34. package/dist/components/ServerNode.d.ts +27 -0
  35. package/dist/components/ServerNode.d.ts.map +1 -0
  36. package/dist/components/Service.d.ts +119 -0
  37. package/dist/components/Service.d.ts.map +1 -0
  38. package/dist/components/ServiceDialog.d.ts +33 -0
  39. package/dist/components/ServiceDialog.d.ts.map +1 -0
  40. package/dist/components/ServiceNode.d.ts +105 -0
  41. package/dist/components/ServiceNode.d.ts.map +1 -0
  42. package/dist/components/SvgConnection.d.ts +44 -0
  43. package/dist/components/SvgConnection.d.ts.map +1 -0
  44. package/dist/components/SyncBridge.d.ts +31 -0
  45. package/dist/components/SyncBridge.d.ts.map +1 -0
  46. package/dist/components/WebDispatcher3D.d.ts +40 -0
  47. package/dist/components/WebDispatcher3D.d.ts.map +1 -0
  48. package/dist/components/WebDispatcherNode.d.ts +26 -0
  49. package/dist/components/WebDispatcherNode.d.ts.map +1 -0
  50. package/dist/components/index.d.ts +86 -0
  51. package/dist/components/index.d.ts.map +1 -0
  52. package/dist/data/CredentialsModal.d.ts +7 -0
  53. package/dist/data/CredentialsModal.d.ts.map +1 -0
  54. package/dist/data/DataProvider.d.ts +61 -0
  55. package/dist/data/DataProvider.d.ts.map +1 -0
  56. package/dist/data/index.d.ts +4 -0
  57. package/dist/data/index.d.ts.map +1 -0
  58. package/dist/index.css +1 -0
  59. package/dist/index.d.ts +10 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +7512 -0
  62. package/dist/services/ExchangeService.d.ts +54 -0
  63. package/dist/services/ExchangeService.d.ts.map +1 -0
  64. package/dist/services/SAPService.d.ts +56 -0
  65. package/dist/services/SAPService.d.ts.map +1 -0
  66. package/dist/services/index.d.ts +35 -0
  67. package/dist/services/index.d.ts.map +1 -0
  68. package/dist/services/sapSubComponents.d.ts +28 -0
  69. package/dist/services/sapSubComponents.d.ts.map +1 -0
  70. package/dist/theme.d.ts +76 -0
  71. package/dist/theme.d.ts.map +1 -0
  72. package/dist/types.d.ts +192 -0
  73. package/dist/types.d.ts.map +1 -0
  74. package/dist/vite.svg +1 -0
  75. package/package.json +56 -0
@@ -0,0 +1,27 @@
1
+ import { ComponentStatus } from '../theme';
2
+ import { ComponentDialogMetric, SubComponentConfig, GraphSeries } from '../types';
3
+ import { ServiceNodeProps } from './ServiceNode';
4
+ export interface ServerNodeProps {
5
+ ex: number;
6
+ ey: number;
7
+ compactOffset: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ zIndex: number;
12
+ name?: string;
13
+ status?: ComponentStatus;
14
+ subLabel?: string;
15
+ color?: string;
16
+ delay?: string;
17
+ visibleAtPhase?: number;
18
+ cpuLoad?: number;
19
+ memLoad?: number;
20
+ brandLabel?: string;
21
+ dialogMetrics?: ComponentDialogMetric[];
22
+ subComponents?: SubComponentConfig[];
23
+ graphSeries?: GraphSeries[];
24
+ alert?: ServiceNodeProps["alert"];
25
+ }
26
+ export default function ServerNode({ ex, ey, compactOffset, zIndex, name, status, subLabel, color: _color, delay, visibleAtPhase, cpuLoad, memLoad, brandLabel, dialogMetrics, subComponents, graphSeries, alert, }: ServerNodeProps): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=ServerNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerNode.d.ts","sourceRoot":"","sources":["../../src/components/ServerNode.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAC/B,EAAE,EACF,EAAE,EACF,aAAa,EACb,MAAM,EACN,IAAe,EACf,MAAiB,EACjB,QAAQ,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EACL,cAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,KAAK,GACR,EAAE,eAAe,2CA4BjB"}
@@ -0,0 +1,119 @@
1
+ import { default as React } from 'react';
2
+ import { ComponentStatus } from '../theme';
3
+ import { SelectedComponent, ConnectionConfig, ViewState } from '../types';
4
+ /**
5
+ * Context value provided by {@link Service} to its children.
6
+ *
7
+ * Contains all the layout and interaction state that child components
8
+ * (like {@link ServiceNode}) need to position and render themselves.
9
+ */
10
+ export interface ServiceContextValue {
11
+ /** Service display name. */
12
+ name: string;
13
+ /** Whether this service is currently selected (expanded or expanding). */
14
+ isSelected: boolean;
15
+ /** Whether nodes should render at their expanded topology positions. */
16
+ isExpandedPos: boolean;
17
+ /** Whether the service is in compact carousel mode. */
18
+ isCompact: boolean;
19
+ /** Current expansion animation phase (0–6). */
20
+ animPhase: number;
21
+ /** X centre of the compact carousel position (px). */
22
+ compactCx: number;
23
+ /** Y centre of the compact carousel position (px). */
24
+ compactCy: number;
25
+ /** Scale factor based on depth in the compact carousel. */
26
+ groupScale: number;
27
+ /** Effective scale for components (groupScale in compact, componentScale in expanded). */
28
+ effectiveScale: number;
29
+ /** CSS transition string to use for animations. */
30
+ transitionValue: string;
31
+ /** Current Y-axis rotation for 3D components (degrees). */
32
+ rotateY: number;
33
+ /** Whether 3D components should auto-rotate. */
34
+ autoRotateComponents: boolean;
35
+ /** Handler for component drill-down clicks. */
36
+ onComponentClick?: (info: SelectedComponent) => void;
37
+ /** Handler for live-data updates on the selected component (no animation reset). */
38
+ onComponentDataUpdate?: (info: SelectedComponent) => void;
39
+ /** Name of the currently drilled (selected) component, if any. */
40
+ selectedComponentName?: string | null;
41
+ /** Horizontal offset applied to expanded positions to center the layout in the container. */
42
+ expandedOffsetX: number;
43
+ /** Register a node-level alert so it can propagate to the service dialog. */
44
+ registerNodeAlert?: (nodeName: string, severity: ComponentStatus | "offline" | null, msg: string) => void;
45
+ }
46
+ /**
47
+ * React context for the current service's layout state.
48
+ * Consumed by {@link ServiceNode}, {@link NodeCallout}, etc.
49
+ */
50
+ export declare const ServiceContext: React.Context<ServiceContextValue | null>;
51
+ export interface ServiceProps {
52
+ /** Display name of the service (e.g. "SAP HR"). */
53
+ name: string;
54
+ /**
55
+ * Overall health status of the service. Drives the compact-view
56
+ * warning badge colour and visibility.
57
+ *
58
+ * Typically computed from the statuses of all child components:
59
+ * - `"critical"` if any component is critical or offline
60
+ * - `"warning"` if any component has a warning
61
+ * - `"online"` otherwise
62
+ */
63
+ status?: ComponentStatus;
64
+ /**
65
+ * SVG connection lines to draw between nodes when the service
66
+ * is expanded. Each connection defines start/end coordinates and
67
+ * the animation phase at which it appears.
68
+ */
69
+ connections?: ConnectionConfig[];
70
+ /**
71
+ * Configuration for the holographic base platform.
72
+ * Defaults to `{ size: 90, color: "#00e5ff", widthRatio: 3 }`.
73
+ */
74
+ baseConfig?: {
75
+ size?: number;
76
+ color?: string;
77
+ widthRatio?: number;
78
+ };
79
+ /** Child nodes (ServiceNode, NodeCallout, bare ServiceNode with SyncBridge, etc.). */
80
+ children: React.ReactNode;
81
+ /** @internal Carousel item index. */
82
+ _index?: number;
83
+ /** @internal Total number of services in the carousel. */
84
+ _totalSystems?: number;
85
+ /** @internal Current carousel rotation angle (radians). */
86
+ _carouselRotation?: number;
87
+ /** @internal Current view state. */
88
+ _viewState?: ViewState;
89
+ /** @internal Current animation phase (0–6). */
90
+ _animPhase?: number;
91
+ /** @internal Currently selected system name. */
92
+ _selectedSystem?: string | null;
93
+ /** @internal Currently selected component (for drill-zoom). */
94
+ _selectedComponent?: SelectedComponent | null;
95
+ /** @internal Y-axis rotation for 3D components. */
96
+ _rotateY?: number;
97
+ /** @internal Whether 3D components auto-rotate. */
98
+ _autoRotateComponents?: boolean;
99
+ /** @internal Component scale factor. */
100
+ _componentScale?: number;
101
+ /** @internal Drill zoom factor. */
102
+ _drillZoom?: number;
103
+ /** @internal Handler for selecting a system. */
104
+ _onSelectSystem?: (name: string) => void;
105
+ /** @internal Handler for component drill-down clicks. */
106
+ _onComponentClick?: (info: SelectedComponent) => void;
107
+ /** @internal Width of the carousel container (for centering). */
108
+ _containerWidth?: number;
109
+ }
110
+ /**
111
+ * Service container component.
112
+ *
113
+ * Renders the service wrapper (positioning, transitions, drill-zoom),
114
+ * the compact-view title and warning badge, SVG connection lines,
115
+ * the holographic base platform, and all child nodes via
116
+ * {@link ServiceContext}.
117
+ */
118
+ export default function Service({ name, status, connections, baseConfig, children, _index: _propIndex, _totalSystems: _propTotal, _carouselRotation: _propRotation, _viewState: _propViewState, _animPhase: _propAnimPhase, _selectedSystem: _propSelectedSystem, _selectedComponent: _propSelectedComponent, _rotateY: _propRotateY, _autoRotateComponents: _propAutoRotate, _componentScale: _propScale, _drillZoom: _propDrillZoom, _onSelectSystem: _propOnSelectSystem, _onComponentClick: _propOnComponentClick, _containerWidth: _propContainerWidth, }: ServiceProps): import("react/jsx-runtime").JSX.Element;
119
+ //# sourceMappingURL=Service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/components/Service.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { ComponentStatus } from '../theme';
2
+ export interface ServiceDialogMetric {
3
+ label: string;
4
+ value: string;
5
+ color: string;
6
+ }
7
+ export interface ServiceDialogAlert {
8
+ level: "info" | "warning" | "critical";
9
+ message: string;
10
+ }
11
+ export interface ServiceDialogProps {
12
+ /** Display name of the service (e.g. "SAP HR", "Exchange"). */
13
+ name: string;
14
+ /** Overall health status of the service. */
15
+ status: ComponentStatus;
16
+ /** Whether primary and standby databases are in sync. */
17
+ dbSync?: boolean;
18
+ /** Whether the dialog is visible. Controls opacity and slide-in transform. */
19
+ visible: boolean;
20
+ /** Service-level KPI metrics. Falls back to status-derived defaults. */
21
+ metrics?: ServiceDialogMetric[];
22
+ /** System alerts. Falls back to status-derived defaults. */
23
+ alerts?: ServiceDialogAlert[];
24
+ }
25
+ /**
26
+ * Service statistics panel.
27
+ *
28
+ * Positioned absolutely in the top-right of the scene. Renders
29
+ * KPI metrics and alert summaries. Data can be injected via props
30
+ * or derived from the service status.
31
+ */
32
+ export default function ServiceDialog({ name, status, dbSync, visible, metrics, alerts, }: ServiceDialogProps): import("react/jsx-runtime").JSX.Element;
33
+ //# sourceMappingURL=ServiceDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceDialog.d.ts","sourceRoot":"","sources":["../../src/components/ServiceDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,eAAe,CAAC;IACxB,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAWD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,MAAa,EACb,OAAO,EACP,OAAO,EACP,MAAM,GACT,EAAE,kBAAkB,2CA8JpB"}
@@ -0,0 +1,105 @@
1
+ import { default as React } from 'react';
2
+ import { SelectedComponent } from '../types';
3
+ export interface ServiceNodeProps {
4
+ /** X position in the expanded topology layout (pixels from left of scene). */
5
+ ex: number;
6
+ /** Y position in the expanded topology layout (pixels from top of scene). */
7
+ ey: number;
8
+ /**
9
+ * Offset from the service's compact center position.
10
+ * Controls where this node sits within the compact carousel cluster.
11
+ */
12
+ compactOffset: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ /** CSS z-index for stacking order. Higher tiers should have higher values. */
17
+ zIndex: number;
18
+ /** The child 3D component to render. */
19
+ children: React.ReactNode;
20
+ /** Primary holographic color for the scan line and labels. */
21
+ color?: string;
22
+ /** Upper label text (e.g. "APP-01", "WEB DISP"). */
23
+ label?: string;
24
+ /** Lower sub-label text (e.g. "SERVER", "HTTP LAYER"). */
25
+ subLabel?: string;
26
+ /** CSS animation-delay for the floating animation. Offsets nodes so they don't bob in unison. */
27
+ delay?: string;
28
+ /**
29
+ * Component identity for the drill-down click handler.
30
+ * When provided, the node becomes clickable in expanded view and opens
31
+ * the {@link ComponentDialog} on click.
32
+ *
33
+ * `ex` and `ey` are automatically populated from this node's position
34
+ * if not specified in the object.
35
+ */
36
+ componentInfo?: Omit<SelectedComponent, "ex" | "ey"> & {
37
+ ex?: number;
38
+ ey?: number;
39
+ };
40
+ /**
41
+ * The expansion animation phase (0–6) at which this node becomes visible.
42
+ * The node fades in when `animPhase >= visibleAtPhase`. Defaults to `0`
43
+ * (immediately visible when expanding).
44
+ */
45
+ visibleAtPhase?: number;
46
+ /**
47
+ * When set, overrides the dynamic compact/expanded scale calculation with
48
+ * a fixed value. Useful for nodes like `SyncBridge` that should not scale
49
+ * with the depth-based compact sizing.
50
+ */
51
+ fixedScale?: number;
52
+ /**
53
+ * When `true`, skips the FloatWrap (floating animation, scan line, labels,
54
+ * hover effect). The child is rendered directly inside the positioning
55
+ * container. Use for non-hardware elements like `SyncBridge`.
56
+ */
57
+ bare?: boolean;
58
+ /**
59
+ * Callout configuration for this node.
60
+ *
61
+ * Controls the position and (optionally) the content of the
62
+ * {@link NodeCallout} rendered next to this node.
63
+ *
64
+ * - **Position-only** — set `offsetX` / `offsetY` / `align` without
65
+ * `msg` to control where auto-generated callouts appear.
66
+ * - **Explicit message** — set `msg` to provide a fixed diagnostic
67
+ * message that takes priority when the node status is the highest
68
+ * severity source.
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * // Position-only (auto-generated message from status / metrics)
73
+ * <ServerNode alert={{ offsetX: -110, offsetY: -30, align: "left" }} ... />
74
+ *
75
+ * // Explicit message + position
76
+ * <ServerNode alert={{ msg: "High latency", align: "left" }} ... />
77
+ * ```
78
+ */
79
+ alert?: {
80
+ /** Short diagnostic message shown in the callout body. When omitted, an auto-generated message is used. */
81
+ msg?: string;
82
+ /** Horizontal offset (px) from the node center to the label. Defaults to `110`. */
83
+ offsetX?: number;
84
+ /** Vertical offset (px) from the node center to the label. Defaults to `-30`. */
85
+ offsetY?: number;
86
+ /** Callout alignment direction. Defaults to `"right"`. */
87
+ align?: "left" | "right" | "top" | "bottom";
88
+ /** Optional internal sub-component ID experiencing the issue. */
89
+ internalRef?: string;
90
+ };
91
+ }
92
+ /**
93
+ * Positioned node in a service topology.
94
+ *
95
+ * Reads the current {@link ServiceContext} to determine whether to render
96
+ * at the compact carousel position or the expanded topology position,
97
+ * which scale to apply, and whether labels should be visible.
98
+ *
99
+ * Automatically renders a {@link NodeCallout} for the highest-severity
100
+ * issue — whether that comes from the node's own status or a metric
101
+ * threshold breach (`warnAt` / `critAt`). The node colour also reflects
102
+ * the highest severity.
103
+ */
104
+ export default function ServiceNode({ ex, ey, compactOffset, zIndex, children, color, label, subLabel, delay, componentInfo, visibleAtPhase, fixedScale, bare, alert, }: ServiceNodeProps): import("react/jsx-runtime").JSX.Element;
105
+ //# sourceMappingURL=ServiceNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceNode.d.ts","sourceRoot":"","sources":["../../src/components/ServiceNode.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,KAAK,EAAE,iBAAiB,EAA2C,MAAM,UAAU,CAAC;AAG3F,MAAM,WAAW,gBAAgB;IAC7B,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAI1B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG;QACnD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAIF;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE;QACJ,2GAA2G;QAC3G,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,mFAAmF;QACnF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iFAAiF;QACjF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,0DAA0D;QAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;QAC5C,iEAAiE;QACjE,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACL;AAuKD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAChC,EAAE,EACF,EAAE,EACF,aAAa,EACb,MAAM,EACN,QAAQ,EACR,KAAiB,EACjB,KAAK,EACL,QAAQ,EACR,KAAY,EACZ,aAAa,EACb,cAAkB,EAClB,UAAU,EACV,IAAY,EACZ,KAAK,GACR,EAAE,gBAAgB,2CA+LlB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @module SvgConnection
3
+ *
4
+ * Renders an animated SVG connection line between two points in the service
5
+ * topology. Used to visualise data-flow connections between infrastructure
6
+ * nodes (e.g. dispatcher → server, server → database).
7
+ *
8
+ * Features a glowing background line, animated dashed cable, and a
9
+ * traveling particle dot for a data-pulse effect.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * <svg style={{ position: "absolute", width: 660, height: 600, pointerEvents: "none" }}>
14
+ * <SvgConnection x1={330} y1={80} x2={220} y2={220} show={true} />
15
+ * <SvgConnection x1={220} y1={220} x2={165} y2={350} show={true} color="#ff8c00" />
16
+ * </svg>
17
+ * ```
18
+ */
19
+ export interface SvgConnectionProps {
20
+ /** X coordinate of the start point. */
21
+ x1: number;
22
+ /** Y coordinate of the start point. */
23
+ y1: number;
24
+ /** X coordinate of the end point. */
25
+ x2: number;
26
+ /** Y coordinate of the end point. */
27
+ y2: number;
28
+ /** Whether the connection is visible. When `false`, stroke opacity is 0. */
29
+ show: boolean;
30
+ /** Stroke color. Defaults to `"#00e5ff"`. */
31
+ color?: string;
32
+ /** CSS animation duration for the dashed-line movement. Defaults to `"1.2s"`. */
33
+ duration?: string;
34
+ }
35
+ /**
36
+ * Animated SVG connection line between two topology nodes.
37
+ *
38
+ * Must be rendered inside an `<svg>` element. The parent SVG should be
39
+ * absolutely positioned over the topology scene.
40
+ */
41
+ export default function SvgConnection({ x1, y1, x2, y2, show, color, dur, }: Omit<SvgConnectionProps, "duration"> & {
42
+ dur?: string;
43
+ }): import("react/jsx-runtime").JSX.Element;
44
+ //# sourceMappingURL=SvgConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SvgConnection.d.ts","sourceRoot":"","sources":["../../src/components/SvgConnection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,kBAAkB;IAC/B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,4EAA4E;IAC5E,IAAI,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAI,EACJ,KAAiB,EACjB,GAAU,GACb,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,2CAyDzD"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module SyncBridge
3
+ *
4
+ * Displays a compact replication status bridge between two database
5
+ * instances (primary ↔ standby). Shows directional arrows, a pulsing
6
+ * sync line, current latency, and a SYNCED / LAG label.
7
+ *
8
+ * Place between two `Database3D` nodes within a `ServiceNode` to indicate
9
+ * database replication health.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * <SyncBridge synced={true} latencyMs={8} />
14
+ * <SyncBridge synced={false} latencyMs={342} />
15
+ * ```
16
+ */
17
+ export interface SyncBridgeProps {
18
+ /** Whether the databases are in sync. Drives color (green vs orange) and label. */
19
+ synced: boolean;
20
+ /** Current replication latency in milliseconds. */
21
+ latencyMs: number;
22
+ }
23
+ /**
24
+ * Database replication status bridge.
25
+ *
26
+ * Renders a horizontal indicator showing sync state, directional arrows,
27
+ * and latency. Uses green (#00ff88) when synced and orange (#ff8c00) when
28
+ * lagging, with a blink animation on the LAG state.
29
+ */
30
+ export default function SyncBridge({ synced, latencyMs }: SyncBridgeProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=SyncBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncBridge.d.ts","sourceRoot":"","sources":["../../src/components/SyncBridge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,MAAM,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,2CA6BxE"}
@@ -0,0 +1,40 @@
1
+ import { ComponentStatus } from '../theme';
2
+ /**
3
+ * Props for the {@link WebDispatcher3D} 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 traffic - Traffic load percentage (0–100).
13
+ * @property activeRoutes - Number of active backend routes.
14
+ */
15
+ export interface WebDispatcher3DProps {
16
+ rotateX?: number;
17
+ rotateY?: number;
18
+ rotateZ?: number;
19
+ scale?: number;
20
+ autoRotate?: boolean;
21
+ status?: ComponentStatus;
22
+ name?: string;
23
+ /** Traffic load 0-100 */
24
+ traffic?: number;
25
+ /** Number of active backend routes */
26
+ activeRoutes?: number;
27
+ /** @internal Injected by FloatWrap — uses opaque face backgrounds. */
28
+ _compact?: boolean;
29
+ }
30
+ /**
31
+ * Renders a CSS-3D web dispatcher appliance with eight network port LEDs,
32
+ * traffic and route metrics, status-aware colouring, and optional auto-rotation.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * <WebDispatcher3D status="online" traffic={78} activeRoutes={12} />
37
+ * ```
38
+ */
39
+ export default function WebDispatcher3D({ rotateX, rotateY, rotateZ, scale, autoRotate, status, name, traffic, activeRoutes, _compact, }: WebDispatcher3DProps): import("react/jsx-runtime").JSX.Element;
40
+ //# sourceMappingURL=WebDispatcher3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebDispatcher3D.d.ts","sourceRoot":"","sources":["../../src/components/WebDispatcher3D.tsx"],"names":[],"mappings":"AAOA,OAAO,EAKH,KAAK,eAAe,EAEvB,MAAM,UAAU,CAAC;AASlB;;;;;;;;;;;;GAYG;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,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AA8bD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,OAAa,EACb,OAAY,EACZ,OAAW,EACX,KAAS,EACT,UAAkB,EAClB,MAAiB,EACjB,IAAoB,EACpB,OAAY,EACZ,YAAiB,EACjB,QAAQ,GACX,EAAE,oBAAoB,2CA0ItB"}
@@ -0,0 +1,26 @@
1
+ import { ComponentStatus } from '../theme';
2
+ import { ComponentDialogMetric, SubComponentConfig, GraphSeries } from '../types';
3
+ import { ServiceNodeProps } from './ServiceNode';
4
+ export interface WebDispatcherNodeProps {
5
+ ex: number;
6
+ ey: number;
7
+ compactOffset: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ zIndex: number;
12
+ name?: string;
13
+ status?: ComponentStatus;
14
+ subLabel?: string;
15
+ color?: string;
16
+ delay?: string;
17
+ visibleAtPhase?: number;
18
+ traffic?: number;
19
+ activeRoutes?: number;
20
+ dialogMetrics?: ComponentDialogMetric[];
21
+ subComponents?: SubComponentConfig[];
22
+ graphSeries?: GraphSeries[];
23
+ alert?: ServiceNodeProps["alert"];
24
+ }
25
+ export default function WebDispatcherNode({ ex, ey, compactOffset, zIndex, name, status, subLabel, color: _color, delay, visibleAtPhase, traffic, activeRoutes, dialogMetrics, subComponents, graphSeries, alert, }: WebDispatcherNodeProps): import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=WebDispatcherNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebDispatcherNode.d.ts","sourceRoot":"","sources":["../../src/components/WebDispatcherNode.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,EAAE,EACF,EAAE,EACF,aAAa,EACb,MAAM,EACN,IAAiB,EACjB,MAAiB,EACjB,QAAQ,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EACL,cAAc,EACd,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,KAAK,GACR,EAAE,sBAAsB,2CA4BxB"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @module components
3
+ *
4
+ * Barrel export for all reusable AIOps Dashboard components.
5
+ *
6
+ * ## Architecture
7
+ *
8
+ * ```
9
+ * Carousel ← Grand container, positions services on an orbit
10
+ * └─ Service ← Service container (e.g. "SAP HR"), provides context
11
+ * ├─ ServiceNode ← Positioned + floating wrapper for 3D components
12
+ * │ ├─ Server3D ← 3D server tower
13
+ * │ ├─ Database3D ← 3D database cylinder
14
+ * │ ├─ WebDispatcher3D
15
+ * │ ├─ MessageServer3D
16
+ * │ └─ Human3D ← SVG user-group figure
17
+ * ├─ SvgConnection ← Animated dashed line (rendered by Service via connections prop)
18
+ * ├─ SyncBridge ← Database replication indicator (inside bare ServiceNode)
19
+ * ├─ NodeCallout ← Alert callout for unhealthy nodes
20
+ * └─ HoloBase ← Neon holographic base platform (rendered by Service)
21
+ *
22
+ * ServiceDialog ← Service-level statistics panel
23
+ * ComponentDialog ← Component drill-down with internal sub-components
24
+ * ├─ HistoricalGraphPanel ← Sparkline charts
25
+ * └─ Internal3DComponents ← CPU3D, Memory3D, DriveBay3D, etc.
26
+ * ```
27
+ *
28
+ * ## Quick start (compound nodes – recommended)
29
+ *
30
+ * ```tsx
31
+ * import {
32
+ * Carousel,
33
+ * Service,
34
+ * ServerNode,
35
+ * DatabaseNode,
36
+ * HumanNode,
37
+ * WebDispatcherNode,
38
+ * MessageServerNode,
39
+ * SyncBridge,
40
+ * } from './components';
41
+ * ```
42
+ *
43
+ * The compound `*Node` components combine ServiceNode + 3D model + componentInfo
44
+ * into a single element. The low-level primitives (ServiceNode, Server3D, etc.)
45
+ * are still exported for custom layouts.
46
+ */
47
+ export { default as Carousel } from './Carousel';
48
+ export type { CarouselProps } from './Carousel';
49
+ export { default as Service, ServiceContext } from './Service';
50
+ export type { ServiceProps, ServiceContextValue } from './Service';
51
+ export { default as ServiceNode } from './ServiceNode';
52
+ export type { ServiceNodeProps } from './ServiceNode';
53
+ export { default as SvgConnection } from './SvgConnection';
54
+ export type { SvgConnectionProps } from './SvgConnection';
55
+ export { default as SyncBridge } from './SyncBridge';
56
+ export type { SyncBridgeProps } from './SyncBridge';
57
+ export { default as NodeCallout } from './NodeCallout';
58
+ export type { NodeCalloutProps } from './NodeCallout';
59
+ export { default as HoloBase } from './HoloBase';
60
+ export { default as ServerNode } from './ServerNode';
61
+ export type { ServerNodeProps } from './ServerNode';
62
+ export { default as DatabaseNode } from './DatabaseNode';
63
+ export type { DatabaseNodeProps } from './DatabaseNode';
64
+ export { default as HumanNode } from './HumanNode';
65
+ export type { HumanNodeProps } from './HumanNode';
66
+ export { default as WebDispatcherNode } from './WebDispatcherNode';
67
+ export type { WebDispatcherNodeProps } from './WebDispatcherNode';
68
+ export { default as MessageServerNode } from './MessageServerNode';
69
+ export type { MessageServerNodeProps } from './MessageServerNode';
70
+ export { default as Server3D } from './Server3D';
71
+ export { default as Database3D } from './Database3D';
72
+ export { default as WebDispatcher3D } from './WebDispatcher3D';
73
+ export { default as MessageServer3D } from './MessageServer3D';
74
+ export { default as Human3D } from './Human3D';
75
+ export { default as ServiceDialog } from './ServiceDialog';
76
+ export type { ServiceDialogProps, ServiceDialogMetric, ServiceDialogAlert } from './ServiceDialog';
77
+ export { default as ComponentDialog } from './ComponentDialog';
78
+ export type { ComponentDialogProps } from './ComponentDialog';
79
+ export type { ComponentDialogMetric } from '../types';
80
+ export { default as HistoricalGraphPanel } from './HistoricalGraphPanel';
81
+ export { default as ComponentDrillView } from './ComponentDrillView';
82
+ export type { ComponentDrillViewProps } from './ComponentDrillView';
83
+ export { CPU3D, Memory3D, DriveBay3D, NetworkBlock3D, ThreadPool3D, Platter3D, Port3D, } from './Internal3DComponents';
84
+ export { CarouselContext, CarouselItemContext, useCarouselContext, useCarouselItemContext, } from './CarouselContext';
85
+ export type { CarouselContextValue, CarouselItemContextValue } from './CarouselContext';
86
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Credentials } from './DataProvider';
2
+ interface CredentialsModalProps {
3
+ onSubmit: (creds: Credentials) => void;
4
+ }
5
+ export default function CredentialsModal({ onSubmit }: CredentialsModalProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=CredentialsModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CredentialsModal.d.ts","sourceRoot":"","sources":["../../src/data/CredentialsModal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAkH3E"}
@@ -0,0 +1,61 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * A single data binding: either a bare PromQL query string (uses the global
4
+ * transform) or an object with a per-binding `transform` override.
5
+ */
6
+ export type DataBinding = string | {
7
+ query: string;
8
+ transform?: (raw: unknown) => unknown;
9
+ };
10
+ /**
11
+ * Maps **service name → prop name → PromQL binding**.
12
+ *
13
+ * The service name must match the `name` prop on the corresponding child
14
+ * component. Prop names are the component props you want overridden with
15
+ * live data (e.g. `cpuLoad`, `status`).
16
+ */
17
+ export type DataBindings = Record<string, Record<string, DataBinding>>;
18
+ export interface Credentials {
19
+ accessKey: string;
20
+ secretKey: string;
21
+ }
22
+ export interface DataContextValue {
23
+ /** Raw endpoint responses keyed by PromQL query string. */
24
+ data: Record<string, unknown>;
25
+ /** Whether a refresh cycle is currently in-flight. */
26
+ isRefreshing: boolean;
27
+ /** Human-readable error from the last refresh, or `null` if healthy. */
28
+ lastRefreshError: string | null;
29
+ /** Timestamp of the last successful (or partially-successful) refresh. */
30
+ lastRefreshTime: Date | null;
31
+ /** Whether the end-user has submitted credentials. */
32
+ credentialsSet: boolean;
33
+ /** Programmatically set credentials (used by the modal). */
34
+ setCredentials: (creds: Credentials) => void;
35
+ }
36
+ /** Access the full data-provider state. Throws when called outside a live-data dashboard. */
37
+ export declare function useAIOpsData(): DataContextValue;
38
+ /** Non-throwing variant — returns `null` when no DataProvider is present. */
39
+ export declare function useAIOpsDataOptional(): DataContextValue | null;
40
+ /** Returns the raw endpoint response for a specific PromQL query string. */
41
+ export declare function useQueryResult(queryString: string): unknown;
42
+ /** Collect every unique PromQL expression from a bindings map. */
43
+ export declare function extractUniqueQueries(bindings: DataBindings): string[];
44
+ /**
45
+ * Default transform — the endpoint returns a single number as plain text.
46
+ * Parses it to a number; returns the raw string if it isn't numeric.
47
+ */
48
+ export declare function defaultDataTransform(response: unknown): unknown;
49
+ export interface DataProviderConfig {
50
+ endpoint: string;
51
+ queries: string[];
52
+ /** Polling interval in ms. Defaults to 60 000 (1 minute). */
53
+ refreshInterval?: number;
54
+ }
55
+ interface DataProviderProps {
56
+ config: DataProviderConfig;
57
+ children: React.ReactNode;
58
+ }
59
+ export default function DataProvider({ config, children }: DataProviderProps): import("react/jsx-runtime").JSX.Element;
60
+ export {};
61
+ //# sourceMappingURL=DataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/data/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAOnG;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,CAAC;AAE5F;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0EAA0E;IAC1E,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,sDAAsD;IACtD,cAAc,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAChD;AAQD,6FAA6F;AAC7F,wBAAgB,YAAY,IAAI,gBAAgB,CAK/C;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAE9D;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG3D;AAMD,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAQrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO/D;AAMD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,iBAAiB;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CA0F3E"}