@aomi-labs/widget-lib 0.2.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/types/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM9F,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAC5C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAM5C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CASpD,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAE,gBAAoB,CAAC;AAMpD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAiE7D,CAAC;AAMX,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAkIpD,CAAC;AAMX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CA8Bd,CAAC;AAMX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAwBhB,CAAC;AAMX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;CAgCd,CAAC;AAMX,eAAO,MAAM,aAAa;;;;;;;;CAQhB,CAAC;AAMX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC"}
@@ -0,0 +1,102 @@
1
+ export declare class AomiChatError extends Error {
2
+ readonly code: string;
3
+ readonly timestamp: Date;
4
+ readonly details?: unknown;
5
+ constructor(code: string, message: string, details?: unknown);
6
+ toJSON(): {
7
+ name: string;
8
+ code: string;
9
+ message: string;
10
+ timestamp: string;
11
+ details: unknown;
12
+ stack: string | undefined;
13
+ };
14
+ toString(): string;
15
+ }
16
+ export declare class ConfigurationError extends AomiChatError {
17
+ constructor(message: string, details?: unknown);
18
+ }
19
+ export declare class ConnectionError extends AomiChatError {
20
+ constructor(message: string, details?: unknown);
21
+ }
22
+ export declare class WalletError extends AomiChatError {
23
+ constructor(code: string, message: string, details?: unknown);
24
+ }
25
+ export declare class TransactionError extends WalletError {
26
+ constructor(message: string, details?: unknown);
27
+ }
28
+ export declare class ChatError extends AomiChatError {
29
+ constructor(code: string, message: string, details?: unknown);
30
+ }
31
+ export declare class RateLimitError extends ChatError {
32
+ constructor(message: string, details?: unknown);
33
+ }
34
+ export declare class SessionError extends AomiChatError {
35
+ constructor(message: string, details?: unknown);
36
+ }
37
+ export declare function createConfigurationError(message: string, details?: unknown): ConfigurationError;
38
+ export declare function createConnectionError(message: string, details?: unknown): ConnectionError;
39
+ export declare function createWalletError(code: string, message: string, details?: unknown): WalletError;
40
+ export declare function createTransactionError(message: string, details?: unknown): TransactionError;
41
+ export declare function createChatError(code: string, message: string, details?: unknown): ChatError;
42
+ export declare function createRateLimitError(message: string, details?: unknown): RateLimitError;
43
+ export declare function createSessionError(message: string, details?: unknown): SessionError;
44
+ export declare function isAomiChatError(error: unknown): error is AomiChatError;
45
+ export declare function isConfigurationError(error: unknown): error is ConfigurationError;
46
+ export declare function isConnectionError(error: unknown): error is ConnectionError;
47
+ export declare function isWalletError(error: unknown): error is WalletError;
48
+ export declare function isTransactionError(error: unknown): error is TransactionError;
49
+ export declare function isChatError(error: unknown): error is ChatError;
50
+ export declare function isRateLimitError(error: unknown): error is RateLimitError;
51
+ export declare function isSessionError(error: unknown): error is SessionError;
52
+ export declare enum ErrorSeverity {
53
+ LOW = "low",
54
+ MEDIUM = "medium",
55
+ HIGH = "high",
56
+ CRITICAL = "critical"
57
+ }
58
+ export declare function getErrorSeverity(error: AomiChatError): ErrorSeverity;
59
+ export declare const ERROR_MESSAGES: {
60
+ readonly INVALID_CONFIG: "Invalid widget configuration provided";
61
+ readonly MISSING_APP_CODE: "App code is required for widget initialization";
62
+ readonly INVALID_THEME: "Invalid theme configuration";
63
+ readonly INVALID_DIMENSIONS: "Invalid widget dimensions";
64
+ readonly CONNECTION_FAILED: "Failed to connect to the chat backend";
65
+ readonly CONNECTION_TIMEOUT: "Connection timed out";
66
+ readonly BACKEND_UNAVAILABLE: "Chat backend is currently unavailable";
67
+ readonly AUTHENTICATION_FAILED: "Authentication failed";
68
+ readonly WALLET_NOT_CONNECTED: "Wallet is not connected";
69
+ readonly WALLET_CONNECTION_FAILED: "Failed to connect to wallet";
70
+ readonly UNSUPPORTED_NETWORK: "Unsupported network";
71
+ readonly TRANSACTION_FAILED: "Transaction failed";
72
+ readonly TRANSACTION_REJECTED: "Transaction was rejected by user";
73
+ readonly MESSAGE_TOO_LONG: "Message exceeds maximum length";
74
+ readonly RATE_LIMITED: "Rate limit exceeded, please slow down";
75
+ readonly INVALID_MESSAGE: "Invalid message format";
76
+ readonly SESSION_EXPIRED: "Chat session has expired";
77
+ readonly UNKNOWN_ERROR: "An unknown error occurred";
78
+ readonly INITIALIZATION_FAILED: "Widget initialization failed";
79
+ readonly PROVIDER_ERROR: "Provider error occurred";
80
+ };
81
+ export declare enum RecoveryStrategy {
82
+ RETRY = "retry",
83
+ RECONNECT = "reconnect",
84
+ REFRESH = "refresh",
85
+ FALLBACK = "fallback",
86
+ MANUAL = "manual",
87
+ NONE = "none"
88
+ }
89
+ export declare function getRecoveryStrategy(error: AomiChatError): RecoveryStrategy;
90
+ export interface ErrorReport {
91
+ error: AomiChatError;
92
+ severity: ErrorSeverity;
93
+ recoveryStrategy: RecoveryStrategy;
94
+ context: {
95
+ timestamp: string;
96
+ userAgent: string;
97
+ url: string;
98
+ widgetConfig?: Partial<unknown>;
99
+ };
100
+ }
101
+ export declare function createErrorReport(error: AomiChatError, widgetConfig?: Partial<unknown>): ErrorReport;
102
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,263 @@
1
+ export type SupportedChainId = 1 | 5 | 11155111 | 100 | 137 | 42161 | 8453 | 10;
2
+ export type PerNetworkConfig<T> = Partial<Record<SupportedChainId, T>>;
3
+ export type PerModeConfig<T> = Partial<Record<AomiChatMode, T>>;
4
+ export type FlexibleConfig<T> = T | PerNetworkConfig<T> | PerModeConfig<T> | PerModeConfig<PerNetworkConfig<T>> | PerNetworkConfig<PerModeConfig<T>>;
5
+ export interface ChatMessage {
6
+ id: string;
7
+ type: 'user' | 'assistant' | 'system';
8
+ content: string;
9
+ timestamp: Date;
10
+ metadata?: Record<string, unknown>;
11
+ }
12
+ export interface WalletTransaction {
13
+ to: string;
14
+ value: string;
15
+ data: string;
16
+ gas?: string;
17
+ description: string;
18
+ timestamp: string;
19
+ }
20
+ export type AomiChatMode = 'full' | 'minimal' | 'compact' | 'terminal';
21
+ export type AomiChatTheme = 'light' | 'dark' | 'terminal' | 'neon' | 'minimal';
22
+ export interface AomiChatWidgetPaletteColors {
23
+ primary: string;
24
+ background: string;
25
+ surface: string;
26
+ text: string;
27
+ textSecondary: string;
28
+ border: string;
29
+ success: string;
30
+ error: string;
31
+ warning: string;
32
+ accent: string;
33
+ }
34
+ export interface AomiChatWidgetPalette extends AomiChatWidgetPaletteColors {
35
+ baseTheme: AomiChatTheme;
36
+ }
37
+ export interface RateLimitConfig {
38
+ maxMessages?: number;
39
+ windowMs?: number;
40
+ skipWhenConnected?: boolean;
41
+ }
42
+ export interface AnalyticsConfig {
43
+ trackEvents?: boolean;
44
+ customId?: string;
45
+ excludeContent?: boolean;
46
+ }
47
+ export interface ChatCommand {
48
+ command: string;
49
+ description: string;
50
+ handler: (args: string[]) => Promise<void> | void;
51
+ }
52
+ export interface AomiChatWidgetParams {
53
+ appCode: string;
54
+ width?: string;
55
+ height?: string;
56
+ maxHeight?: number;
57
+ baseUrl?: string;
58
+ sessionId?: string;
59
+ theme?: AomiChatTheme | AomiChatWidgetPalette;
60
+ mode?: AomiChatMode;
61
+ welcomeMessage?: string;
62
+ placeholder?: string;
63
+ showWalletStatus?: boolean;
64
+ showNetworkSelector?: boolean;
65
+ hideHeader?: boolean;
66
+ hideFooter?: boolean;
67
+ chainId?: SupportedChainId;
68
+ supportedChains?: SupportedChainId[];
69
+ enableTransactions?: boolean;
70
+ requireWalletConnection?: boolean;
71
+ sessionPersistence?: boolean;
72
+ autoConnect?: boolean;
73
+ standaloneMode?: boolean;
74
+ customCommands?: ChatCommand[];
75
+ rateLimiting?: FlexibleConfig<RateLimitConfig>;
76
+ apiKey?: string;
77
+ webhookUrl?: string;
78
+ analytics?: AnalyticsConfig;
79
+ sounds?: {
80
+ messageReceived?: string | null;
81
+ messageSent?: string | null;
82
+ transactionSuccess?: string | null;
83
+ transactionError?: string | null;
84
+ };
85
+ content?: {
86
+ welcomeTitle?: string;
87
+ connectWalletText?: string;
88
+ disconnectText?: string;
89
+ networkSwitchText?: string;
90
+ errorMessages?: Record<string, string>;
91
+ };
92
+ }
93
+ export declare enum ConnectionStatus {
94
+ CONNECTING = "connecting",
95
+ CONNECTED = "connected",
96
+ DISCONNECTED = "disconnected",
97
+ ERROR = "error",
98
+ RECONNECTING = "reconnecting"
99
+ }
100
+ export declare enum ReadinessPhase {
101
+ INITIALIZING = "initializing",
102
+ CONNECTING_BACKEND = "connecting_backend",
103
+ VALIDATING_API = "validating_api",
104
+ READY = "ready",
105
+ ERROR = "error"
106
+ }
107
+ export interface BackendReadiness {
108
+ phase: ReadinessPhase;
109
+ detail?: string;
110
+ retryCount?: number;
111
+ }
112
+ export interface WalletState {
113
+ isConnected: boolean;
114
+ address?: string;
115
+ chainId?: SupportedChainId;
116
+ networkName?: string;
117
+ balance?: string;
118
+ }
119
+ export interface ChatState {
120
+ messages: ChatMessage[];
121
+ isTyping: boolean;
122
+ isProcessing: boolean;
123
+ connectionStatus: ConnectionStatus;
124
+ readiness: BackendReadiness;
125
+ walletState: WalletState;
126
+ sessionId: string;
127
+ pendingTransaction?: WalletTransaction;
128
+ }
129
+ export interface AomiChatEventListeners {
130
+ onReady?: () => void;
131
+ onMessage?: (message: ChatMessage) => void;
132
+ onTransactionRequest?: (transaction: WalletTransaction) => void;
133
+ onError?: (error: AomiChatError) => void;
134
+ onSessionStart?: (sessionId: string) => void;
135
+ onSessionEnd?: (sessionId: string) => void;
136
+ onNetworkChange?: (chainId: SupportedChainId) => void;
137
+ onWalletConnect?: (address: string) => void;
138
+ onWalletDisconnect?: () => void;
139
+ onTypingChange?: (isTyping: boolean) => void;
140
+ onProcessingChange?: (isProcessing: boolean) => void;
141
+ onConnectionChange?: (status: ConnectionStatus) => void;
142
+ onResize?: (dimensions: {
143
+ width: number;
144
+ height: number;
145
+ }) => void;
146
+ }
147
+ export interface AomiChatError {
148
+ code: string;
149
+ message: string;
150
+ details?: unknown;
151
+ timestamp: Date;
152
+ }
153
+ export interface AomiChatWidgetHandler {
154
+ sendMessage: (message: string) => Promise<void>;
155
+ updateParams: (params: Partial<AomiChatWidgetParams>) => void;
156
+ updateProvider: (provider?: EthereumProvider) => void;
157
+ destroy: () => void;
158
+ getState: () => ChatState;
159
+ getSessionId: () => string;
160
+ isReady: () => boolean;
161
+ on: <K extends keyof AomiChatEventListeners>(event: K, listener: NonNullable<AomiChatEventListeners[K]>) => AomiChatWidgetHandler;
162
+ off: <K extends keyof AomiChatEventListeners>(event: K, listener: NonNullable<AomiChatEventListeners[K]>) => AomiChatWidgetHandler;
163
+ clearChat: () => void;
164
+ exportChat: () => ChatMessage[];
165
+ resize: (width?: string, height?: string) => void;
166
+ focus: () => void;
167
+ }
168
+ export interface JsonRpcRequest {
169
+ id: number;
170
+ method: string;
171
+ params: unknown[];
172
+ }
173
+ export interface EthereumProvider {
174
+ request<T>(params: JsonRpcRequest): Promise<T>;
175
+ on(event: string, handler: (...args: unknown[]) => void): void;
176
+ removeListener?(event: string, handler: (...args: unknown[]) => void): void;
177
+ isMetaMask?: boolean;
178
+ isWalletConnect?: boolean;
179
+ }
180
+ export interface WidgetConfig {
181
+ params: AomiChatWidgetParams;
182
+ provider?: EthereumProvider;
183
+ listeners?: AomiChatEventListeners;
184
+ }
185
+ export interface BackendApiConfig {
186
+ baseUrl: string;
187
+ sessionId: string;
188
+ timeout?: number;
189
+ retryAttempts?: number;
190
+ }
191
+ export interface ChatManagerConfig {
192
+ backendUrl: string;
193
+ sessionId: string;
194
+ maxMessageLength?: number;
195
+ reconnectAttempts?: number;
196
+ reconnectDelay?: number;
197
+ }
198
+ export interface ChatInterfaceProps {
199
+ messages: ChatMessage[];
200
+ isTyping: boolean;
201
+ isProcessing: boolean;
202
+ onSendMessage: (message: string) => void;
203
+ placeholder?: string;
204
+ disabled?: boolean;
205
+ className?: string;
206
+ }
207
+ export interface MessageListProps {
208
+ messages: ChatMessage[];
209
+ isTyping: boolean;
210
+ className?: string;
211
+ }
212
+ export interface MessageInputProps {
213
+ onSendMessage: (message: string) => void;
214
+ placeholder?: string;
215
+ disabled?: boolean;
216
+ maxLength?: number;
217
+ className?: string;
218
+ }
219
+ export interface WalletStatusProps {
220
+ walletState: WalletState;
221
+ onConnect?: () => void;
222
+ onDisconnect?: () => void;
223
+ onNetworkSwitch?: (chainId: SupportedChainId) => void;
224
+ showNetworkSelector?: boolean;
225
+ className?: string;
226
+ }
227
+ export interface TypingIndicatorProps {
228
+ isTyping: boolean;
229
+ className?: string;
230
+ }
231
+ export interface ThemeDefinition {
232
+ name: string;
233
+ palette: AomiChatWidgetPaletteColors;
234
+ fonts?: {
235
+ primary?: string;
236
+ monospace?: string;
237
+ };
238
+ spacing?: {
239
+ xs?: string;
240
+ sm?: string;
241
+ md?: string;
242
+ lg?: string;
243
+ xl?: string;
244
+ };
245
+ borderRadius?: {
246
+ sm?: string;
247
+ md?: string;
248
+ lg?: string;
249
+ };
250
+ shadows?: {
251
+ sm?: string;
252
+ md?: string;
253
+ lg?: string;
254
+ };
255
+ }
256
+ export type DeepPartial<T> = {
257
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
258
+ };
259
+ export type RequiredKeys<T, K extends keyof T> = T & Required<Pick<T, K>>;
260
+ export type OptionalKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
261
+ export * from './constants';
262
+ export * from './errors';
263
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import type { AomiChatWidgetParams, FlexibleConfig, SupportedChainId, AomiChatMode } from '../types';
2
+ /**
3
+ * Resolves a flexible configuration value based on chain ID and mode
4
+ */
5
+ export declare function resolveFlexibleConfig<T>(config: FlexibleConfig<T>, chainId: SupportedChainId, mode: AomiChatMode): T | undefined;
6
+ /**
7
+ * Validates widget configuration parameters
8
+ */
9
+ export declare function validateWidgetParams(params: AomiChatWidgetParams): string[];
10
+ /**
11
+ * Generates a unique session ID
12
+ */
13
+ export declare function generateSessionId(): string;
14
+ /**
15
+ * Validates a session ID format
16
+ */
17
+ export declare function isValidSessionId(sessionId: string): boolean;
18
+ /**
19
+ * Builds widget URL with parameters
20
+ */
21
+ export declare function buildWidgetUrl(baseUrl: string, params: AomiChatWidgetParams): string;
22
+ /**
23
+ * Parses widget parameters from URL search params
24
+ */
25
+ export declare function parseWidgetParams(searchParams: URLSearchParams): Partial<AomiChatWidgetParams>;
26
+ /**
27
+ * Creates a DOM element with classes and attributes
28
+ */
29
+ export declare function createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: {
30
+ className?: string | string[];
31
+ attributes?: Record<string, string>;
32
+ styles?: Partial<CSSStyleDeclaration>;
33
+ children?: (HTMLElement | string)[];
34
+ }): HTMLElementTagNameMap[K];
35
+ /**
36
+ * Checks if an element is visible in the viewport
37
+ */
38
+ export declare function isElementVisible(element: HTMLElement): boolean;
39
+ /**
40
+ * Type guard to check if a value is a valid Ethereum address
41
+ */
42
+ export declare function isEthereumAddress(value: unknown): value is string;
43
+ /**
44
+ * Type guard to check if a value is a valid transaction hash
45
+ */
46
+ export declare function isTransactionHash(value: unknown): value is string;
47
+ /**
48
+ * Type guard to check if an object has a specific property
49
+ */
50
+ export declare function hasProperty<T extends object, K extends string | number | symbol>(obj: T, prop: K): obj is T & Record<K, unknown>;
51
+ /**
52
+ * Delays execution for a specified number of milliseconds
53
+ */
54
+ export declare function delay(ms: number): Promise<void>;
55
+ /**
56
+ * Creates a promise that rejects after a timeout
57
+ */
58
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
59
+ /**
60
+ * Retries a function with exponential backoff
61
+ */
62
+ export declare function retry<T>(fn: () => Promise<T>, options?: {
63
+ maxAttempts?: number;
64
+ delay?: number;
65
+ backoffFactor?: number;
66
+ shouldRetry?: (error: unknown) => boolean;
67
+ }): Promise<T>;
68
+ /**
69
+ * Detects if running in a browser environment
70
+ */
71
+ export declare function isBrowser(): boolean;
72
+ /**
73
+ * Detects if running on a mobile device
74
+ */
75
+ export declare function isMobile(): boolean;
76
+ /**
77
+ * Gets the current viewport dimensions
78
+ */
79
+ export declare function getViewportDimensions(): {
80
+ width: number;
81
+ height: number;
82
+ };
83
+ /**
84
+ * Formats a timestamp as a human-readable string
85
+ */
86
+ export declare function formatTimestamp(timestamp: Date): string;
87
+ /**
88
+ * Truncates an Ethereum address for display
89
+ */
90
+ export declare function truncateAddress(address: string, startChars?: number, endChars?: number): string;
91
+ /**
92
+ * Formats a number with appropriate decimal places
93
+ */
94
+ export declare function formatNumber(value: number, options?: {
95
+ decimals?: number;
96
+ compact?: boolean;
97
+ currency?: string;
98
+ }): string;
99
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,89 @@
1
+ {
2
+ "name": "@aomi-labs/widget-lib",
3
+ "version": "0.2.0",
4
+ "description": "Embeddable AI chat widget with Web3 capabilities",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.mjs",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./styles": "./dist/styles.css"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "scripts": {
21
+ "dev": "rollup -c -w",
22
+ "build": "rollup -c && npm run build:types",
23
+ "build:types": "tsc --emitDeclarationOnly --outDir dist",
24
+ "test": "vitest",
25
+ "test:ui": "vitest --ui",
26
+ "typecheck": "tsc --noEmit",
27
+ "lint": "eslint 'src/**/*.{ts,tsx}'",
28
+ "lint:fix": "eslint 'src/**/*.{ts,tsx}' --fix",
29
+ "preview": "vite preview",
30
+ "clean": "rimraf dist"
31
+ },
32
+ "keywords": [
33
+ "widget",
34
+ "chat",
35
+ "ai",
36
+ "web3",
37
+ "ethereum",
38
+ "chatbot",
39
+ "embed",
40
+ "typescript"
41
+ ],
42
+ "author": "Aomi Labs",
43
+ "license": "MIT",
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "https://github.com/aomi-labs/widget-lib"
47
+ },
48
+ "peerDependencies": {
49
+ "react": ">=16.8.0",
50
+ "react-dom": ">=16.8.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "react": {
54
+ "optional": true
55
+ },
56
+ "react-dom": {
57
+ "optional": true
58
+ }
59
+ },
60
+ "dependencies": {
61
+ "dompurify": "^3.0.6",
62
+ "eventemitter3": "^5.0.1",
63
+ "marked": "^12.0.2",
64
+ "mermaid": "^11.12.0"
65
+ },
66
+ "devDependencies": {
67
+ "@rollup/plugin-commonjs": "^25.0.7",
68
+ "@rollup/plugin-node-resolve": "^15.2.3",
69
+ "@rollup/plugin-typescript": "^11.1.5",
70
+ "@types/node": "^20.8.9",
71
+ "@types/react": "^18.2.33",
72
+ "@types/react-dom": "^18.2.14",
73
+ "@typescript-eslint/eslint-plugin": "^6.9.1",
74
+ "@typescript-eslint/parser": "^6.9.1",
75
+ "@vitejs/plugin-react": "^4.1.1",
76
+ "eslint": "^8.52.0",
77
+ "jsdom": "^27.0.1",
78
+ "react": "^18.2.0",
79
+ "react-dom": "^18.2.0",
80
+ "rimraf": "^5.0.5",
81
+ "rollup": "^4.2.0",
82
+ "rollup-plugin-dts": "^6.1.0",
83
+ "rollup-plugin-postcss": "^4.0.2",
84
+ "tslib": "^2.6.2",
85
+ "typescript": "^5.2.2",
86
+ "vite": "^6.4.1",
87
+ "vitest": "^3.2.4"
88
+ }
89
+ }