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.
- package/dist/AIOPsDashboard.d.ts +46 -0
- package/dist/AIOPsDashboard.d.ts.map +1 -0
- package/dist/components/Carousel.d.ts +60 -0
- package/dist/components/Carousel.d.ts.map +1 -0
- package/dist/components/ComponentDialog.d.ts +10 -0
- package/dist/components/ComponentDialog.d.ts.map +1 -0
- package/dist/components/ComponentDrillView.d.ts +98 -0
- package/dist/components/ComponentDrillView.d.ts.map +1 -0
- package/dist/components/Database3D.d.ts +38 -0
- package/dist/components/Database3D.d.ts.map +1 -0
- package/dist/components/HistoricalGraphPanel.d.ts +61 -0
- package/dist/components/HistoricalGraphPanel.d.ts.map +1 -0
- package/dist/components/HoloBase.d.ts +41 -0
- package/dist/components/HoloBase.d.ts.map +1 -0
- package/dist/components/Human3D.d.ts +27 -0
- package/dist/components/Human3D.d.ts.map +1 -0
- package/dist/components/Internal3DComponents.d.ts +132 -0
- package/dist/components/Internal3DComponents.d.ts.map +1 -0
- package/dist/components/MessageServer3D.d.ts +44 -0
- package/dist/components/MessageServer3D.d.ts.map +1 -0
- package/dist/components/NodeCallout.d.ts +31 -0
- package/dist/components/NodeCallout.d.ts.map +1 -0
- package/dist/components/Server3D.d.ts +43 -0
- package/dist/components/Server3D.d.ts.map +1 -0
- package/dist/components/Service.d.ts +115 -0
- package/dist/components/Service.d.ts.map +1 -0
- package/dist/components/ServiceDialog.d.ts +33 -0
- package/dist/components/ServiceDialog.d.ts.map +1 -0
- package/dist/components/ServiceNode.d.ts +67 -0
- package/dist/components/ServiceNode.d.ts.map +1 -0
- package/dist/components/SvgConnection.d.ts +44 -0
- package/dist/components/SvgConnection.d.ts.map +1 -0
- package/dist/components/SyncBridge.d.ts +31 -0
- package/dist/components/SyncBridge.d.ts.map +1 -0
- package/dist/components/WebDispatcher3D.d.ts +40 -0
- package/dist/components/WebDispatcher3D.d.ts.map +1 -0
- package/dist/components/index.d.ts +73 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6652 -0
- package/dist/services/ExchangeService.d.ts +54 -0
- package/dist/services/ExchangeService.d.ts.map +1 -0
- package/dist/services/SAPService.d.ts +56 -0
- package/dist/services/SAPService.d.ts.map +1 -0
- package/dist/services/index.d.ts +35 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/sapSubComponents.d.ts +28 -0
- package/dist/services/sapSubComponents.d.ts.map +1 -0
- package/dist/theme.d.ts +76 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/types.d.ts +146 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ServiceProps } from '../components';
|
|
2
|
+
import { ComponentStatus, ConnectionConfig } from '../types';
|
|
3
|
+
import { ServiceDialogMetric, ServiceDialogAlert } from '../components/ServiceDialog';
|
|
4
|
+
/**
|
|
5
|
+
* Health configuration for a single Exchange service instance.
|
|
6
|
+
*
|
|
7
|
+
* Unlike {@link SAPServiceConfig}, there is only one dispatcher at Tier 2
|
|
8
|
+
* (no separate Message Server).
|
|
9
|
+
*/
|
|
10
|
+
export interface ExchangeServiceConfig {
|
|
11
|
+
/** Display name (e.g. "Exchange"). */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Single dispatcher status. */
|
|
14
|
+
dispStatus: ComponentStatus;
|
|
15
|
+
/** Application server 1 status. */
|
|
16
|
+
srv1Status: ComponentStatus;
|
|
17
|
+
/** Application server 2 status. */
|
|
18
|
+
srv2Status: ComponentStatus;
|
|
19
|
+
/** Application server 3 status. */
|
|
20
|
+
srv3Status: ComponentStatus;
|
|
21
|
+
/** Primary database status. */
|
|
22
|
+
pdbStatus: ComponentStatus;
|
|
23
|
+
/** Standby database status. */
|
|
24
|
+
sdbStatus: ComponentStatus;
|
|
25
|
+
/** Whether primary and standby databases are in sync. */
|
|
26
|
+
dbSync: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Derives the overall service status from all component statuses. */
|
|
29
|
+
export declare function computeExchangeServiceStatus(cfg: ExchangeServiceConfig): ComponentStatus;
|
|
30
|
+
/** Derives dialog metrics for an Exchange service. */
|
|
31
|
+
export declare function computeExchangeDialogMetrics(cfg: ExchangeServiceConfig): ServiceDialogMetric[];
|
|
32
|
+
/** Derives dialog alerts for an Exchange service. */
|
|
33
|
+
export declare function computeExchangeDialogAlerts(cfg: ExchangeServiceConfig): ServiceDialogAlert[];
|
|
34
|
+
/** Connection layout for a single-dispatcher Exchange topology. */
|
|
35
|
+
export declare const EXCHANGE_CONNECTIONS: ConnectionConfig[];
|
|
36
|
+
export interface ExchangeServiceOwnProps {
|
|
37
|
+
/** Exchange service health configuration. */
|
|
38
|
+
config: ExchangeServiceConfig;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Full props accepted by ExchangeService.
|
|
42
|
+
* Own props + any Service props that Carousel may inject internally.
|
|
43
|
+
*/
|
|
44
|
+
export type ExchangeServiceProps = ExchangeServiceOwnProps & Omit<Partial<ServiceProps>, "name" | "status" | "connections" | "children">;
|
|
45
|
+
/**
|
|
46
|
+
* A complete Exchange single-dispatcher service for the AIOps carousel.
|
|
47
|
+
*
|
|
48
|
+
* Wraps the library `<Service>` container with a topology that has one
|
|
49
|
+
* central dispatcher fanning out to three app servers and two databases.
|
|
50
|
+
*
|
|
51
|
+
* Place inside `<AIOPsDashboard>` or `<Carousel>`.
|
|
52
|
+
*/
|
|
53
|
+
export default function ExchangeService({ config, ...serviceProps }: ExchangeServiceProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
//# sourceMappingURL=ExchangeService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExchangeService.d.ts","sourceRoot":"","sources":["../../src/services/ExchangeService.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAc3F;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,+BAA+B;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,+BAA+B;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,sEAAsE;AACtE,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,qBAAqB,GAAG,eAAe,CAaxF;AAED,sDAAsD;AACtD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,qBAAqB,GAAG,mBAAmB,EAAE,CAuB9F;AAED,qDAAqD;AACrD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,qBAAqB,GAAG,kBAAkB,EAAE,CAc5F;AAED,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EAQlD,CAAC;AAgWF,MAAM,WAAW,uBAAuB;IACpC,6CAA6C;IAC7C,MAAM,EAAE,qBAAqB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GACtD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,EAAE,oBAAoB,2CAWxF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ServiceProps } from '../components';
|
|
2
|
+
import { ComponentStatus, ConnectionConfig } from '../types';
|
|
3
|
+
import { ServiceDialogMetric, ServiceDialogAlert } from '../components/ServiceDialog';
|
|
4
|
+
/**
|
|
5
|
+
* Health configuration for a single SAP service instance.
|
|
6
|
+
*
|
|
7
|
+
* Each field maps to a component in the four-tier topology.
|
|
8
|
+
* Pass this to `<SAPService config={...} />`.
|
|
9
|
+
*/
|
|
10
|
+
export interface SAPServiceConfig {
|
|
11
|
+
/** Display name (e.g. "SAP HR", "SAP Finance"). */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Web dispatcher status. */
|
|
14
|
+
wdStatus: ComponentStatus;
|
|
15
|
+
/** Message server status. */
|
|
16
|
+
msStatus: ComponentStatus;
|
|
17
|
+
/** Application server 1 status. */
|
|
18
|
+
srv1Status: ComponentStatus;
|
|
19
|
+
/** Application server 2 status. */
|
|
20
|
+
srv2Status: ComponentStatus;
|
|
21
|
+
/** Application server 3 status. */
|
|
22
|
+
srv3Status: ComponentStatus;
|
|
23
|
+
/** Primary database status. */
|
|
24
|
+
pdbStatus: ComponentStatus;
|
|
25
|
+
/** Standby database status. */
|
|
26
|
+
sdbStatus: ComponentStatus;
|
|
27
|
+
/** Whether primary and standby databases are in sync. */
|
|
28
|
+
dbSync: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Derives the overall service status from all component statuses. */
|
|
31
|
+
export declare function computeSAPServiceStatus(cfg: SAPServiceConfig): ComponentStatus;
|
|
32
|
+
/** Derives dialog metrics for a SAP service. */
|
|
33
|
+
export declare function computeSAPDialogMetrics(cfg: SAPServiceConfig): ServiceDialogMetric[];
|
|
34
|
+
/** Derives dialog alerts for a SAP service. */
|
|
35
|
+
export declare function computeSAPDialogAlerts(cfg: SAPServiceConfig): ServiceDialogAlert[];
|
|
36
|
+
/** Standard connection layout for a four-tier SAP service topology. */
|
|
37
|
+
export declare const SAP_CONNECTIONS: ConnectionConfig[];
|
|
38
|
+
export interface SAPServiceOwnProps {
|
|
39
|
+
/** SAP service health configuration. */
|
|
40
|
+
config: SAPServiceConfig;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Full props accepted by SAPService.
|
|
44
|
+
* Own props + any Service props that Carousel may inject internally.
|
|
45
|
+
*/
|
|
46
|
+
export type SAPServiceProps = SAPServiceOwnProps & Omit<Partial<ServiceProps>, "name" | "status" | "connections" | "children">;
|
|
47
|
+
/**
|
|
48
|
+
* A complete SAP four-tier service for the AIOps carousel.
|
|
49
|
+
*
|
|
50
|
+
* Wraps the library `<Service>` container with the standard SAP
|
|
51
|
+
* topology nodes, connections, and alert callouts.
|
|
52
|
+
*
|
|
53
|
+
* Place inside `<AIOPsDashboard>` or `<Carousel>`.
|
|
54
|
+
*/
|
|
55
|
+
export default function SAPService({ config, ...serviceProps }: SAPServiceProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
//# sourceMappingURL=SAPService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SAPService.d.ts","sourceRoot":"","sources":["../../src/services/SAPService.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAeH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAgB3F;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,6BAA6B;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,mCAAmC;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,+BAA+B;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,+BAA+B;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,eAAe,CAc9E;AAED,gDAAgD;AAChD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAuBpF;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAclF;AAED,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAY7C,CAAC;AA8YF,MAAM,WAAW,kBAAkB;IAC/B,wCAAwC;IACxC,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAC5C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,EAAE,eAAe,2CAW9E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module services
|
|
3
|
+
*
|
|
4
|
+
* Service implementations for the AIOps Dashboard.
|
|
5
|
+
*
|
|
6
|
+
* Each service type (e.g. SAP, Kubernetes, microservices) is a
|
|
7
|
+
* self-contained component that wraps the library's `<Service>`
|
|
8
|
+
* container with its own topology, connections, and alert callouts.
|
|
9
|
+
*
|
|
10
|
+
* ## Available services
|
|
11
|
+
*
|
|
12
|
+
* - {@link SAPService} — Standard four-tier SAP topology
|
|
13
|
+
* (Users → Dispatchers → App Servers → Databases)
|
|
14
|
+
*
|
|
15
|
+
* ## Creating a new service type
|
|
16
|
+
*
|
|
17
|
+
* 1. Create a new file (e.g. `K8sService.tsx`)
|
|
18
|
+
* 2. Define your config interface and topology nodes
|
|
19
|
+
* 3. Wrap the library's `<Service>` with your topology
|
|
20
|
+
* 4. Export from this barrel file
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* import { SAPService } from "./services";
|
|
25
|
+
* import type { SAPServiceConfig } from "./services";
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export { default as SAPService } from './SAPService';
|
|
29
|
+
export type { SAPServiceProps, SAPServiceOwnProps, SAPServiceConfig } from './SAPService';
|
|
30
|
+
export { computeSAPServiceStatus, computeSAPDialogMetrics, computeSAPDialogAlerts, SAP_CONNECTIONS, } from './SAPService';
|
|
31
|
+
export { default as ExchangeService } from './ExchangeService';
|
|
32
|
+
export type { ExchangeServiceProps, ExchangeServiceOwnProps, ExchangeServiceConfig } from './ExchangeService';
|
|
33
|
+
export { computeExchangeServiceStatus, computeExchangeDialogMetrics, computeExchangeDialogAlerts, EXCHANGE_CONNECTIONS, } from './ExchangeService';
|
|
34
|
+
export { getServerSubComponents, getServerGraphSeries, getDispatcherSubComponents, getDispatcherGraphSeries, getMessageServerSubComponents, getMessageServerGraphSeries, getDatabaseSubComponents, getDatabaseGraphSeries, } from './sapSubComponents';
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ComponentStatus, SubComponentConfig, GraphSeries } from '../types';
|
|
2
|
+
export declare function getServerSubComponents(status: ComponentStatus, name: string, context?: {
|
|
3
|
+
cpuLoad?: number;
|
|
4
|
+
memLoad?: number;
|
|
5
|
+
}): SubComponentConfig[];
|
|
6
|
+
export declare function getServerGraphSeries(context?: {
|
|
7
|
+
cpuLoad?: number;
|
|
8
|
+
memLoad?: number;
|
|
9
|
+
}): GraphSeries[];
|
|
10
|
+
export declare function getDispatcherSubComponents(status: ComponentStatus, _name?: string, _context?: {
|
|
11
|
+
traffic?: number;
|
|
12
|
+
}): SubComponentConfig[];
|
|
13
|
+
export declare function getDispatcherGraphSeries(context?: {
|
|
14
|
+
traffic?: number;
|
|
15
|
+
}): GraphSeries[];
|
|
16
|
+
export declare function getMessageServerSubComponents(status: ComponentStatus, _name?: string, _context?: {
|
|
17
|
+
queueDepth?: number;
|
|
18
|
+
}): SubComponentConfig[];
|
|
19
|
+
export declare function getMessageServerGraphSeries(context?: {
|
|
20
|
+
queueDepth?: number;
|
|
21
|
+
}): GraphSeries[];
|
|
22
|
+
export declare function getDatabaseSubComponents(status: ComponentStatus, name: string, context?: {
|
|
23
|
+
capacity?: number;
|
|
24
|
+
}): SubComponentConfig[];
|
|
25
|
+
export declare function getDatabaseGraphSeries(context?: {
|
|
26
|
+
capacity?: number;
|
|
27
|
+
}): GraphSeries[];
|
|
28
|
+
//# sourceMappingURL=sapSubComponents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sapSubComponents.d.ts","sourceRoot":"","sources":["../../src/services/sapSubComponents.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAuBjF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,kBAAkB,EAAE,CAsBtB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,EAAE,CAapG;AAMD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,kBAAkB,EAAE,CAoBtB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,EAAE,CAStF;AAMD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,kBAAkB,EAAE,CAgBtB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,EAAE,CAS5F;AAMD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,kBAAkB,EAAE,CAiBtB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,EAAE,CASrF"}
|
package/dist/theme.d.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Health states that any monitored infrastructure component can report.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* const s: ComponentStatus = "warning";
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export type ComponentStatus = "online" | "warning" | "critical" | "offline";
|
|
11
|
+
/**
|
|
12
|
+
* Colour pair used to style a component according to its {@link ComponentStatus}.
|
|
13
|
+
*
|
|
14
|
+
* @property color - Hex colour string for borders, text, and LED indicators.
|
|
15
|
+
* @property glow - RGBA colour string used for `box-shadow` glow effects.
|
|
16
|
+
*/
|
|
17
|
+
export interface StatusCfg {
|
|
18
|
+
color: string;
|
|
19
|
+
glow: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Lookup table mapping every {@link ComponentStatus} to its {@link StatusCfg}.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const cfg = STATUS_CFG["critical"];
|
|
27
|
+
* // cfg.color → "#ff2255"
|
|
28
|
+
* // cfg.glow → "rgba(255,34,85,0.55)"
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const STATUS_CFG: Record<ComponentStatus, StatusCfg>;
|
|
32
|
+
/** Primary holographic cyan accent colour. */
|
|
33
|
+
export declare const HOLO_CYAN = "#00e5ff";
|
|
34
|
+
/** Secondary holographic blue accent colour. */
|
|
35
|
+
export declare const HOLO_BLUE = "#0055cc";
|
|
36
|
+
/** Dark holographic surface gradient used as the default `background` for 3D faces. */
|
|
37
|
+
export declare const HOLO_SURFACE = "linear-gradient(180deg, #071428 0%, #040c1c 60%, #030810 100%)";
|
|
38
|
+
/** Semi-transparent holographic glass surface for components. */
|
|
39
|
+
export declare const HOLO_GLASS = "linear-gradient(180deg, rgba(10,25,50,0.35) 0%, rgba(5,15,35,0.25) 60%, rgba(3,10,20,0.15) 100%)";
|
|
40
|
+
/** The six faces of a CSS 3D rectangular prism. */
|
|
41
|
+
export type FaceName = "front" | "back" | "left" | "right" | "top" | "bottom";
|
|
42
|
+
/**
|
|
43
|
+
* Generates absolute-positioned `CSSProperties` for each face of a CSS 3D box.
|
|
44
|
+
*
|
|
45
|
+
* The returned styles place each face so that the box is centred at its
|
|
46
|
+
* transform-origin and can be rotated via `transform-style: preserve-3d`.
|
|
47
|
+
*
|
|
48
|
+
* @param W - Width of the box in pixels (front/back face width).
|
|
49
|
+
* @param H - Height of the box in pixels (front/back face height).
|
|
50
|
+
* @param D - Depth of the box in pixels (side face width, top/bottom height).
|
|
51
|
+
* @returns A record keyed by {@link FaceName} with the corresponding `CSSProperties`.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const faces = makeFaceStyles(140, 240, 160);
|
|
56
|
+
* <div style={faces.front}>…</div>
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function makeFaceStyles(W: number, H: number, D: number): Record<FaceName, React.CSSProperties>;
|
|
60
|
+
/**
|
|
61
|
+
* Common props shared by every CSS-3D component (Server, Database, Dispatcher, etc.).
|
|
62
|
+
*
|
|
63
|
+
* @property rotateX - Rotation around the X axis in degrees (tilts top toward viewer).
|
|
64
|
+
* @property rotateY - Rotation around the Y axis in degrees.
|
|
65
|
+
* @property rotateZ - Rotation around the Z axis in degrees.
|
|
66
|
+
* @property scale - Uniform scale multiplier (default `1`).
|
|
67
|
+
* @property autoRotate - When `true` the component continuously spins on the Y axis.
|
|
68
|
+
*/
|
|
69
|
+
export interface Base3DProps {
|
|
70
|
+
rotateX?: number;
|
|
71
|
+
rotateY?: number;
|
|
72
|
+
rotateZ?: number;
|
|
73
|
+
scale?: number;
|
|
74
|
+
autoRotate?: boolean;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,CAKzD,CAAC;AAIF,8CAA8C;AAC9C,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC,gDAAgD;AAChD,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC,uFAAuF;AACvF,eAAO,MAAM,YAAY,mEAAmE,CAAC;AAE7F,iEAAiE;AACjE,eAAO,MAAM,UAAU,qGAC+E,CAAC;AAIvG,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAiDrG;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IACxB,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;CACxB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type { ComponentStatus, StatusCfg, FaceName, Base3DProps } from './theme';
|
|
3
|
+
/**
|
|
4
|
+
* Type identifier for infrastructure components that support drill-down inspection.
|
|
5
|
+
*
|
|
6
|
+
* - `"server"` – Application server (e.g. APP-01)
|
|
7
|
+
* - `"dispatcher"` – Web dispatcher / HTTP gateway
|
|
8
|
+
* - `"messageServer"` – Message / management server
|
|
9
|
+
* - `"database"` – Database instance (primary or standby)
|
|
10
|
+
*/
|
|
11
|
+
export type ComponentType = "server" | "dispatcher" | "messageServer" | "database";
|
|
12
|
+
/**
|
|
13
|
+
* Contextual health metrics attached to a component.
|
|
14
|
+
* Passed when a component is selected for drill-down, and used
|
|
15
|
+
* to generate internal sub-component statuses and historical graphs.
|
|
16
|
+
*/
|
|
17
|
+
export interface ComponentContext {
|
|
18
|
+
/** CPU utilisation percentage (0–100). Relevant for servers. */
|
|
19
|
+
cpuLoad?: number;
|
|
20
|
+
/** Memory / heap utilisation percentage (0–100). Relevant for servers. */
|
|
21
|
+
memLoad?: number;
|
|
22
|
+
/** Network traffic load percentage (0–100). Relevant for dispatchers. */
|
|
23
|
+
traffic?: number;
|
|
24
|
+
/** Message queue depth percentage (0–100). Relevant for message servers. */
|
|
25
|
+
queueDepth?: number;
|
|
26
|
+
/** Storage capacity utilisation percentage (0–100). Relevant for databases. */
|
|
27
|
+
capacity?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Describes a single sub-component rendered inside a drilled-down
|
|
31
|
+
* infrastructure component (e.g. a CPU inside a Server, a Platter inside
|
|
32
|
+
* a Database).
|
|
33
|
+
*
|
|
34
|
+
* Provide an array of these via `componentInfo.subComponents` on a
|
|
35
|
+
* {@link ServiceNode} to control what appears in the drill-down view.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* import { CPU3D, Memory3D } from './components';
|
|
40
|
+
*
|
|
41
|
+
* const serverInternals: SubComponentConfig[] = [
|
|
42
|
+
* { id: "cpu-0", label: "CPU-0", status: "online", element: <CPU3D label="CPU-0" load={67} /> },
|
|
43
|
+
* { id: "heap-0", label: "HEAP-0", status: "warning", element: <Memory3D label="HEAP-0" usedPercent={92} status="warning" /> },
|
|
44
|
+
* ];
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export interface SubComponentConfig {
|
|
48
|
+
/** Unique identifier (e.g. `"cpu-0"`, `"platter-1"`). */
|
|
49
|
+
id: string;
|
|
50
|
+
/** Human-readable label for the sub-component. */
|
|
51
|
+
label: string;
|
|
52
|
+
/** Health status — drives LED indicators and accent colouring. */
|
|
53
|
+
status: import('./theme').ComponentStatus;
|
|
54
|
+
/** Optional short description shown on fault conditions. */
|
|
55
|
+
detail?: string;
|
|
56
|
+
/** The React element to render inside the drill-down interior. */
|
|
57
|
+
element: ReactNode;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Configuration for a single sparkline metric in the historical graph panel.
|
|
61
|
+
*
|
|
62
|
+
* Provide an array of these via `componentInfo.graphSeries` on a
|
|
63
|
+
* {@link ServiceNode} to control what graphs appear in the drill-down view.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const series: GraphSeries[] = [
|
|
68
|
+
* { id: "cpu", label: "CPU-0", unit: "%", color: "#00e5ff", data: [45, 52, 67, 71, 68] },
|
|
69
|
+
* { id: "mem", label: "HEAP-0", unit: "%", color: "#8855ee", data: [60, 65, 72, 78, 82] },
|
|
70
|
+
* ];
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export interface GraphSeries {
|
|
74
|
+
/** Unique key for the series. */
|
|
75
|
+
id: string;
|
|
76
|
+
/** Display name rendered above the sparkline. */
|
|
77
|
+
label: string;
|
|
78
|
+
/** Unit suffix shown next to the latest value (e.g. `"%"`, `"kbps"`). */
|
|
79
|
+
unit: string;
|
|
80
|
+
/** Hex accent colour for the sparkline stroke and label. */
|
|
81
|
+
color: string;
|
|
82
|
+
/** Array of numeric data points (most recent last). */
|
|
83
|
+
data: number[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Describes a component that has been selected for drill-down inspection.
|
|
87
|
+
* Carries the component's type, identity, health status, position in the
|
|
88
|
+
* topology, optional contextual metrics, and composable sub-components.
|
|
89
|
+
*/
|
|
90
|
+
export interface SelectedComponent {
|
|
91
|
+
/** The category of infrastructure component. */
|
|
92
|
+
type: ComponentType;
|
|
93
|
+
/** Display name of the component (e.g. "APP-01", "DB-PRI"). */
|
|
94
|
+
name: string;
|
|
95
|
+
/** Current health status, drives visual indicators (color, glow, alerts). */
|
|
96
|
+
status: import('./theme').ComponentStatus;
|
|
97
|
+
/** X position in the expanded topology layout (pixels). */
|
|
98
|
+
ex: number;
|
|
99
|
+
/** Y position in the expanded topology layout (pixels). */
|
|
100
|
+
ey: number;
|
|
101
|
+
/** Optional health metrics for the drill-down view. */
|
|
102
|
+
context?: ComponentContext;
|
|
103
|
+
/**
|
|
104
|
+
* Internal sub-components to render inside the drill-down view.
|
|
105
|
+
* When provided, the drill-down renders these instead of using
|
|
106
|
+
* hardcoded defaults. Each entry carries its own React element.
|
|
107
|
+
*/
|
|
108
|
+
subComponents?: SubComponentConfig[];
|
|
109
|
+
/**
|
|
110
|
+
* Sparkline graph series to display in the historical panel.
|
|
111
|
+
* When provided, the panel renders these instead of generating
|
|
112
|
+
* type-based defaults.
|
|
113
|
+
*/
|
|
114
|
+
graphSeries?: GraphSeries[];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Describes a connection line between two nodes in the service topology.
|
|
118
|
+
* Used by the {@link Service} component to draw animated SVG dashed lines
|
|
119
|
+
* between components (e.g. dispatcher → server).
|
|
120
|
+
*/
|
|
121
|
+
export interface ConnectionConfig {
|
|
122
|
+
/** Start coordinates `[x, y]` in the expanded topology layout. */
|
|
123
|
+
from: [number, number];
|
|
124
|
+
/** End coordinates `[x, y]` in the expanded topology layout. */
|
|
125
|
+
to: [number, number];
|
|
126
|
+
/**
|
|
127
|
+
* The animation phase at which this connection becomes visible.
|
|
128
|
+
* The service expansion uses phases 0–6; connections typically appear
|
|
129
|
+
* during phases 3–5. Defaults to `0` (always visible when expanded).
|
|
130
|
+
*/
|
|
131
|
+
visibleAtPhase?: number;
|
|
132
|
+
/** Stroke color. Defaults to `"#00e5ff"`. */
|
|
133
|
+
color?: string;
|
|
134
|
+
/** CSS animation duration for the dashed-line movement. Defaults to `"1.2s"`. */
|
|
135
|
+
duration?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Represents the current view state of the carousel.
|
|
139
|
+
*
|
|
140
|
+
* - `"compact"` – All services visible in the rotating carousel.
|
|
141
|
+
* - `"expanding"` – A service has been clicked and is animating to full view.
|
|
142
|
+
* - `"expanded"` – A single service is fully expanded with all tiers visible.
|
|
143
|
+
* - `"collapsing"` – The expanded service is animating back to the carousel.
|
|
144
|
+
*/
|
|
145
|
+
export type ViewState = "compact" | "collapsing" | "expanding" | "expanded";
|
|
146
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMjF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,YAAY,GACZ,eAAe,GACf,UAAU,CAAC;AAMf;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,EAAE,OAAO,SAAS,EAAE,eAAe,CAAC;IAC1C,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,EAAE,SAAS,CAAC;CACpB;AAMD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAMD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,IAAI,EAAE,aAAa,CAAC;IACpB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,EAAE,OAAO,SAAS,EAAE,eAAe,CAAC;IAC1C,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;CAC7B;AAMD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,gEAAgE;IAChE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC"}
|
package/dist/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-aiops",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"author": "Busaud",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"description": "AIOps dashboard toolkit for React",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"react",
|
|
10
|
+
"aiops",
|
|
11
|
+
"dashboard",
|
|
12
|
+
"toolkit",
|
|
13
|
+
"busaud"
|
|
14
|
+
],
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"main": "./dist/index.js",
|
|
19
|
+
"module": "./dist/index.js",
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"import": "./dist/index.js"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"scripts": {
|
|
29
|
+
"dev": "vite",
|
|
30
|
+
"build:lib": "vite build",
|
|
31
|
+
"build": "tsc && vite build",
|
|
32
|
+
"preview": "vite preview",
|
|
33
|
+
"prepublishOnly": "npm run build:lib"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
37
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/react": "^19.2.14",
|
|
41
|
+
"@types/react-dom": "^19.2.3",
|
|
42
|
+
"@vitejs/plugin-react": "^5.1.4",
|
|
43
|
+
"typescript": "~5.9.3",
|
|
44
|
+
"vite": "^7.3.1",
|
|
45
|
+
"vite-plugin-dts": "^4.5.4"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"react": "^19.2.4",
|
|
49
|
+
"react-dom": "^19.2.4"
|
|
50
|
+
}
|
|
51
|
+
}
|