react-request-trail 1.0.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.
- package/dist/index.cjs +1405 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +222 -0
- package/dist/index.d.ts +222 -0
- package/dist/index.js +1393 -0
- package/dist/index.js.map +1 -0
- package/package.json +53 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AxiosResponse, AxiosInstance } from 'axios';
|
|
3
|
+
import React$1, { Component } from 'react';
|
|
4
|
+
|
|
5
|
+
type TrailMode = 'production' | 'test' | 'development';
|
|
6
|
+
interface TrailStep {
|
|
7
|
+
id: string;
|
|
8
|
+
index: number;
|
|
9
|
+
timestamp: string;
|
|
10
|
+
duration: number;
|
|
11
|
+
scope?: string;
|
|
12
|
+
request: {
|
|
13
|
+
method: string;
|
|
14
|
+
url: string;
|
|
15
|
+
baseURL?: string;
|
|
16
|
+
headers?: Record<string, string>;
|
|
17
|
+
params?: Record<string, unknown>;
|
|
18
|
+
body?: unknown;
|
|
19
|
+
};
|
|
20
|
+
response: {
|
|
21
|
+
status: number;
|
|
22
|
+
statusText: string;
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
data?: unknown;
|
|
25
|
+
error?: boolean;
|
|
26
|
+
};
|
|
27
|
+
error?: {
|
|
28
|
+
message: string;
|
|
29
|
+
code?: string;
|
|
30
|
+
isCustomError?: boolean;
|
|
31
|
+
backendMessage?: string;
|
|
32
|
+
};
|
|
33
|
+
/** Stack trace'den çıkarılan çağıran dosya bilgisi (component, hook veya service) */
|
|
34
|
+
callerComponent?: string;
|
|
35
|
+
/** Çağıran dosyanın dizin yolu (src/... kısmı) */
|
|
36
|
+
callerFilePath?: string;
|
|
37
|
+
/** API çağrısı yapıldığı andaki sayfa URL'i (window.location.pathname) */
|
|
38
|
+
callerPage?: string;
|
|
39
|
+
}
|
|
40
|
+
interface TrailScopeEntry {
|
|
41
|
+
name: string;
|
|
42
|
+
path: string;
|
|
43
|
+
openedAt: string;
|
|
44
|
+
closedAt?: string;
|
|
45
|
+
duration?: number;
|
|
46
|
+
status: 'open' | 'closed';
|
|
47
|
+
}
|
|
48
|
+
interface TrailUser {
|
|
49
|
+
id?: string;
|
|
50
|
+
username?: string;
|
|
51
|
+
roles?: string[];
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}
|
|
54
|
+
interface TrailTokenInfo {
|
|
55
|
+
sub?: string;
|
|
56
|
+
exp?: number;
|
|
57
|
+
iat?: number;
|
|
58
|
+
preferred_username?: string;
|
|
59
|
+
realm_access?: {
|
|
60
|
+
roles: string[];
|
|
61
|
+
};
|
|
62
|
+
expiresIn?: string;
|
|
63
|
+
isExpired?: boolean;
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}
|
|
66
|
+
interface TrailTokenConfig {
|
|
67
|
+
getToken: () => string | null;
|
|
68
|
+
extractFields?: string[];
|
|
69
|
+
}
|
|
70
|
+
interface TrailSession {
|
|
71
|
+
sessionId: string;
|
|
72
|
+
startedAt: string;
|
|
73
|
+
user?: TrailUser;
|
|
74
|
+
token?: TrailTokenInfo;
|
|
75
|
+
environment?: TrailEnvironment;
|
|
76
|
+
}
|
|
77
|
+
interface TrailEnvironment {
|
|
78
|
+
browser: string;
|
|
79
|
+
screenWidth: number;
|
|
80
|
+
screenHeight: number;
|
|
81
|
+
timezone: string;
|
|
82
|
+
url: string;
|
|
83
|
+
language: string;
|
|
84
|
+
}
|
|
85
|
+
interface TrailPDFOptions {
|
|
86
|
+
language?: 'tr' | 'en';
|
|
87
|
+
title?: string;
|
|
88
|
+
logo?: string;
|
|
89
|
+
headerColor?: string;
|
|
90
|
+
fontSize?: number;
|
|
91
|
+
/** Hata anında ekran görüntüsü alsın mı? (default: true) */
|
|
92
|
+
captureScreenshot?: boolean;
|
|
93
|
+
}
|
|
94
|
+
interface TrailErrorPayload {
|
|
95
|
+
error: Error;
|
|
96
|
+
steps: TrailStep[];
|
|
97
|
+
pdfBlob: Blob;
|
|
98
|
+
session: TrailSession;
|
|
99
|
+
mode: TrailMode;
|
|
100
|
+
scopes: TrailScopeEntry[];
|
|
101
|
+
/** Hata anında alınan ekran görüntüsü (base64 data URL) */
|
|
102
|
+
screenshotDataUrl?: string;
|
|
103
|
+
}
|
|
104
|
+
interface TrailConfig {
|
|
105
|
+
maxSteps?: number;
|
|
106
|
+
captureRequestBody?: boolean;
|
|
107
|
+
captureResponseBody?: boolean;
|
|
108
|
+
captureHeaders?: boolean;
|
|
109
|
+
sensitiveHeaders?: string[];
|
|
110
|
+
sensitiveFields?: string[];
|
|
111
|
+
excludeUrls?: (string | RegExp)[];
|
|
112
|
+
includeUrls?: (string | RegExp)[];
|
|
113
|
+
isCustomError?: (response: AxiosResponse) => boolean;
|
|
114
|
+
extractErrorMessage?: (response: AxiosResponse) => string | undefined;
|
|
115
|
+
autoGenerateOnError?: boolean;
|
|
116
|
+
onError?: (payload: TrailErrorPayload) => void | Promise<void>;
|
|
117
|
+
pdfOptions?: TrailPDFOptions;
|
|
118
|
+
tokenConfig?: TrailTokenConfig;
|
|
119
|
+
debug?: boolean;
|
|
120
|
+
}
|
|
121
|
+
interface TrailContextValue {
|
|
122
|
+
steps: TrailStep[];
|
|
123
|
+
scopes: TrailScopeEntry[];
|
|
124
|
+
session: TrailSession;
|
|
125
|
+
mode: TrailMode;
|
|
126
|
+
setUser: (user: TrailUser) => void;
|
|
127
|
+
reportError: (error: Error) => Promise<void>;
|
|
128
|
+
generatePDF: () => Promise<Blob>;
|
|
129
|
+
clearTrail: () => void;
|
|
130
|
+
addScope: (name: string, path: string) => string;
|
|
131
|
+
removeScope: (scopeId: string) => void;
|
|
132
|
+
getActiveScope: () => string | undefined;
|
|
133
|
+
}
|
|
134
|
+
interface TrailProviderProps {
|
|
135
|
+
axios: AxiosInstance;
|
|
136
|
+
config?: TrailConfig;
|
|
137
|
+
children: React.ReactNode;
|
|
138
|
+
}
|
|
139
|
+
interface TrailScopeProps {
|
|
140
|
+
name: string;
|
|
141
|
+
path: string;
|
|
142
|
+
children: React.ReactNode;
|
|
143
|
+
}
|
|
144
|
+
interface TrailErrorBoundaryProps {
|
|
145
|
+
fallback?: React.ReactNode | ((error: Error) => React.ReactNode);
|
|
146
|
+
children: React.ReactNode;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
declare function TrailProvider({ axios, config, children }: TrailProviderProps): react_jsx_runtime.JSX.Element;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Pencere/panel bazli izleme componenti.
|
|
153
|
+
* Mount oldugunda 'acildi', unmount oldugunda 'kapandi' kaydi duser.
|
|
154
|
+
* React Router kullanilmayan projelerde sayfa navigasyonu yerine kullanilir.
|
|
155
|
+
*/
|
|
156
|
+
declare function TrailScope({ name, path, children }: TrailScopeProps): react_jsx_runtime.JSX.Element;
|
|
157
|
+
|
|
158
|
+
interface State {
|
|
159
|
+
hasError: boolean;
|
|
160
|
+
error: Error | null;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* React component render hatalarini yakalar ve trail'e ekler.
|
|
164
|
+
* Hata olustugunda otomatik olarak reportError cagirir.
|
|
165
|
+
*/
|
|
166
|
+
declare class TrailErrorBoundary extends Component<TrailErrorBoundaryProps, State> {
|
|
167
|
+
static contextType: React$1.Context<TrailContextValue | null>;
|
|
168
|
+
context: TrailContextValue | null;
|
|
169
|
+
constructor(props: TrailErrorBoundaryProps);
|
|
170
|
+
static getDerivedStateFromError(error: Error): State;
|
|
171
|
+
componentDidCatch(error: Error, errorInfo: React$1.ErrorInfo): void;
|
|
172
|
+
render(): string | number | boolean | Iterable<React$1.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
declare function useTrail(): TrailContextValue;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Component adini ve dosya yolunu otomatik kaydeder.
|
|
179
|
+
* Mount oldugunda scope acar, unmount oldugunda kapatir.
|
|
180
|
+
*/
|
|
181
|
+
declare function useTrailMark(componentName: string, filePath?: string): void;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* PDF Blob'unu browser'da indirir.
|
|
185
|
+
*/
|
|
186
|
+
declare function downloadPdf(blob: Blob, filename?: string): void;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* PDF Blob'unu ve metadata'yi backend endpoint'e POST eder.
|
|
190
|
+
*/
|
|
191
|
+
declare function postToEndpoint(url: string, pdfBlob: Blob, metadata?: Record<string, unknown>): Promise<Response>;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Blob'u base64 string'e cevirir.
|
|
195
|
+
*/
|
|
196
|
+
declare function blobToBase64(blob: Blob): Promise<string>;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Hata aninda sayfanin ekran goruntusunu alir.
|
|
200
|
+
* html2canvas kullanarak DOM'u canvas'a render eder, ardindan base64 data URL'e donusturur.
|
|
201
|
+
*
|
|
202
|
+
* @param targetElement - Goruntu alinacak element (default: document.body)
|
|
203
|
+
* @param options - Ek ayarlar
|
|
204
|
+
* @returns Base64 data URL (image/png) veya null (basarisiz olursa)
|
|
205
|
+
*/
|
|
206
|
+
declare function captureScreenshot(targetElement?: HTMLElement, options?: {
|
|
207
|
+
/** Kalite (0-1 arasi, default: 0.8) */
|
|
208
|
+
quality?: number;
|
|
209
|
+
/** Maksimum genislik (px, default: 1400) */
|
|
210
|
+
maxWidth?: number;
|
|
211
|
+
/** Timeout (ms, default: 5000) */
|
|
212
|
+
timeout?: number;
|
|
213
|
+
}): Promise<string | null>;
|
|
214
|
+
|
|
215
|
+
declare const helpers: {
|
|
216
|
+
downloadPdf: typeof downloadPdf;
|
|
217
|
+
postToEndpoint: typeof postToEndpoint;
|
|
218
|
+
blobToBase64: typeof blobToBase64;
|
|
219
|
+
captureScreenshot: typeof captureScreenshot;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export { type TrailConfig, type TrailContextValue, type TrailEnvironment, TrailErrorBoundary, type TrailErrorBoundaryProps, type TrailErrorPayload, type TrailMode, type TrailPDFOptions, TrailProvider, type TrailProviderProps, TrailScope, type TrailScopeEntry, type TrailScopeProps, type TrailSession, type TrailStep, type TrailTokenConfig, type TrailTokenInfo, type TrailUser, helpers, useTrail, useTrailMark };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AxiosResponse, AxiosInstance } from 'axios';
|
|
3
|
+
import React$1, { Component } from 'react';
|
|
4
|
+
|
|
5
|
+
type TrailMode = 'production' | 'test' | 'development';
|
|
6
|
+
interface TrailStep {
|
|
7
|
+
id: string;
|
|
8
|
+
index: number;
|
|
9
|
+
timestamp: string;
|
|
10
|
+
duration: number;
|
|
11
|
+
scope?: string;
|
|
12
|
+
request: {
|
|
13
|
+
method: string;
|
|
14
|
+
url: string;
|
|
15
|
+
baseURL?: string;
|
|
16
|
+
headers?: Record<string, string>;
|
|
17
|
+
params?: Record<string, unknown>;
|
|
18
|
+
body?: unknown;
|
|
19
|
+
};
|
|
20
|
+
response: {
|
|
21
|
+
status: number;
|
|
22
|
+
statusText: string;
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
data?: unknown;
|
|
25
|
+
error?: boolean;
|
|
26
|
+
};
|
|
27
|
+
error?: {
|
|
28
|
+
message: string;
|
|
29
|
+
code?: string;
|
|
30
|
+
isCustomError?: boolean;
|
|
31
|
+
backendMessage?: string;
|
|
32
|
+
};
|
|
33
|
+
/** Stack trace'den çıkarılan çağıran dosya bilgisi (component, hook veya service) */
|
|
34
|
+
callerComponent?: string;
|
|
35
|
+
/** Çağıran dosyanın dizin yolu (src/... kısmı) */
|
|
36
|
+
callerFilePath?: string;
|
|
37
|
+
/** API çağrısı yapıldığı andaki sayfa URL'i (window.location.pathname) */
|
|
38
|
+
callerPage?: string;
|
|
39
|
+
}
|
|
40
|
+
interface TrailScopeEntry {
|
|
41
|
+
name: string;
|
|
42
|
+
path: string;
|
|
43
|
+
openedAt: string;
|
|
44
|
+
closedAt?: string;
|
|
45
|
+
duration?: number;
|
|
46
|
+
status: 'open' | 'closed';
|
|
47
|
+
}
|
|
48
|
+
interface TrailUser {
|
|
49
|
+
id?: string;
|
|
50
|
+
username?: string;
|
|
51
|
+
roles?: string[];
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}
|
|
54
|
+
interface TrailTokenInfo {
|
|
55
|
+
sub?: string;
|
|
56
|
+
exp?: number;
|
|
57
|
+
iat?: number;
|
|
58
|
+
preferred_username?: string;
|
|
59
|
+
realm_access?: {
|
|
60
|
+
roles: string[];
|
|
61
|
+
};
|
|
62
|
+
expiresIn?: string;
|
|
63
|
+
isExpired?: boolean;
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}
|
|
66
|
+
interface TrailTokenConfig {
|
|
67
|
+
getToken: () => string | null;
|
|
68
|
+
extractFields?: string[];
|
|
69
|
+
}
|
|
70
|
+
interface TrailSession {
|
|
71
|
+
sessionId: string;
|
|
72
|
+
startedAt: string;
|
|
73
|
+
user?: TrailUser;
|
|
74
|
+
token?: TrailTokenInfo;
|
|
75
|
+
environment?: TrailEnvironment;
|
|
76
|
+
}
|
|
77
|
+
interface TrailEnvironment {
|
|
78
|
+
browser: string;
|
|
79
|
+
screenWidth: number;
|
|
80
|
+
screenHeight: number;
|
|
81
|
+
timezone: string;
|
|
82
|
+
url: string;
|
|
83
|
+
language: string;
|
|
84
|
+
}
|
|
85
|
+
interface TrailPDFOptions {
|
|
86
|
+
language?: 'tr' | 'en';
|
|
87
|
+
title?: string;
|
|
88
|
+
logo?: string;
|
|
89
|
+
headerColor?: string;
|
|
90
|
+
fontSize?: number;
|
|
91
|
+
/** Hata anında ekran görüntüsü alsın mı? (default: true) */
|
|
92
|
+
captureScreenshot?: boolean;
|
|
93
|
+
}
|
|
94
|
+
interface TrailErrorPayload {
|
|
95
|
+
error: Error;
|
|
96
|
+
steps: TrailStep[];
|
|
97
|
+
pdfBlob: Blob;
|
|
98
|
+
session: TrailSession;
|
|
99
|
+
mode: TrailMode;
|
|
100
|
+
scopes: TrailScopeEntry[];
|
|
101
|
+
/** Hata anında alınan ekran görüntüsü (base64 data URL) */
|
|
102
|
+
screenshotDataUrl?: string;
|
|
103
|
+
}
|
|
104
|
+
interface TrailConfig {
|
|
105
|
+
maxSteps?: number;
|
|
106
|
+
captureRequestBody?: boolean;
|
|
107
|
+
captureResponseBody?: boolean;
|
|
108
|
+
captureHeaders?: boolean;
|
|
109
|
+
sensitiveHeaders?: string[];
|
|
110
|
+
sensitiveFields?: string[];
|
|
111
|
+
excludeUrls?: (string | RegExp)[];
|
|
112
|
+
includeUrls?: (string | RegExp)[];
|
|
113
|
+
isCustomError?: (response: AxiosResponse) => boolean;
|
|
114
|
+
extractErrorMessage?: (response: AxiosResponse) => string | undefined;
|
|
115
|
+
autoGenerateOnError?: boolean;
|
|
116
|
+
onError?: (payload: TrailErrorPayload) => void | Promise<void>;
|
|
117
|
+
pdfOptions?: TrailPDFOptions;
|
|
118
|
+
tokenConfig?: TrailTokenConfig;
|
|
119
|
+
debug?: boolean;
|
|
120
|
+
}
|
|
121
|
+
interface TrailContextValue {
|
|
122
|
+
steps: TrailStep[];
|
|
123
|
+
scopes: TrailScopeEntry[];
|
|
124
|
+
session: TrailSession;
|
|
125
|
+
mode: TrailMode;
|
|
126
|
+
setUser: (user: TrailUser) => void;
|
|
127
|
+
reportError: (error: Error) => Promise<void>;
|
|
128
|
+
generatePDF: () => Promise<Blob>;
|
|
129
|
+
clearTrail: () => void;
|
|
130
|
+
addScope: (name: string, path: string) => string;
|
|
131
|
+
removeScope: (scopeId: string) => void;
|
|
132
|
+
getActiveScope: () => string | undefined;
|
|
133
|
+
}
|
|
134
|
+
interface TrailProviderProps {
|
|
135
|
+
axios: AxiosInstance;
|
|
136
|
+
config?: TrailConfig;
|
|
137
|
+
children: React.ReactNode;
|
|
138
|
+
}
|
|
139
|
+
interface TrailScopeProps {
|
|
140
|
+
name: string;
|
|
141
|
+
path: string;
|
|
142
|
+
children: React.ReactNode;
|
|
143
|
+
}
|
|
144
|
+
interface TrailErrorBoundaryProps {
|
|
145
|
+
fallback?: React.ReactNode | ((error: Error) => React.ReactNode);
|
|
146
|
+
children: React.ReactNode;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
declare function TrailProvider({ axios, config, children }: TrailProviderProps): react_jsx_runtime.JSX.Element;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Pencere/panel bazli izleme componenti.
|
|
153
|
+
* Mount oldugunda 'acildi', unmount oldugunda 'kapandi' kaydi duser.
|
|
154
|
+
* React Router kullanilmayan projelerde sayfa navigasyonu yerine kullanilir.
|
|
155
|
+
*/
|
|
156
|
+
declare function TrailScope({ name, path, children }: TrailScopeProps): react_jsx_runtime.JSX.Element;
|
|
157
|
+
|
|
158
|
+
interface State {
|
|
159
|
+
hasError: boolean;
|
|
160
|
+
error: Error | null;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* React component render hatalarini yakalar ve trail'e ekler.
|
|
164
|
+
* Hata olustugunda otomatik olarak reportError cagirir.
|
|
165
|
+
*/
|
|
166
|
+
declare class TrailErrorBoundary extends Component<TrailErrorBoundaryProps, State> {
|
|
167
|
+
static contextType: React$1.Context<TrailContextValue | null>;
|
|
168
|
+
context: TrailContextValue | null;
|
|
169
|
+
constructor(props: TrailErrorBoundaryProps);
|
|
170
|
+
static getDerivedStateFromError(error: Error): State;
|
|
171
|
+
componentDidCatch(error: Error, errorInfo: React$1.ErrorInfo): void;
|
|
172
|
+
render(): string | number | boolean | Iterable<React$1.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
declare function useTrail(): TrailContextValue;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Component adini ve dosya yolunu otomatik kaydeder.
|
|
179
|
+
* Mount oldugunda scope acar, unmount oldugunda kapatir.
|
|
180
|
+
*/
|
|
181
|
+
declare function useTrailMark(componentName: string, filePath?: string): void;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* PDF Blob'unu browser'da indirir.
|
|
185
|
+
*/
|
|
186
|
+
declare function downloadPdf(blob: Blob, filename?: string): void;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* PDF Blob'unu ve metadata'yi backend endpoint'e POST eder.
|
|
190
|
+
*/
|
|
191
|
+
declare function postToEndpoint(url: string, pdfBlob: Blob, metadata?: Record<string, unknown>): Promise<Response>;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Blob'u base64 string'e cevirir.
|
|
195
|
+
*/
|
|
196
|
+
declare function blobToBase64(blob: Blob): Promise<string>;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Hata aninda sayfanin ekran goruntusunu alir.
|
|
200
|
+
* html2canvas kullanarak DOM'u canvas'a render eder, ardindan base64 data URL'e donusturur.
|
|
201
|
+
*
|
|
202
|
+
* @param targetElement - Goruntu alinacak element (default: document.body)
|
|
203
|
+
* @param options - Ek ayarlar
|
|
204
|
+
* @returns Base64 data URL (image/png) veya null (basarisiz olursa)
|
|
205
|
+
*/
|
|
206
|
+
declare function captureScreenshot(targetElement?: HTMLElement, options?: {
|
|
207
|
+
/** Kalite (0-1 arasi, default: 0.8) */
|
|
208
|
+
quality?: number;
|
|
209
|
+
/** Maksimum genislik (px, default: 1400) */
|
|
210
|
+
maxWidth?: number;
|
|
211
|
+
/** Timeout (ms, default: 5000) */
|
|
212
|
+
timeout?: number;
|
|
213
|
+
}): Promise<string | null>;
|
|
214
|
+
|
|
215
|
+
declare const helpers: {
|
|
216
|
+
downloadPdf: typeof downloadPdf;
|
|
217
|
+
postToEndpoint: typeof postToEndpoint;
|
|
218
|
+
blobToBase64: typeof blobToBase64;
|
|
219
|
+
captureScreenshot: typeof captureScreenshot;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export { type TrailConfig, type TrailContextValue, type TrailEnvironment, TrailErrorBoundary, type TrailErrorBoundaryProps, type TrailErrorPayload, type TrailMode, type TrailPDFOptions, TrailProvider, type TrailProviderProps, TrailScope, type TrailScopeEntry, type TrailScopeProps, type TrailSession, type TrailStep, type TrailTokenConfig, type TrailTokenInfo, type TrailUser, helpers, useTrail, useTrailMark };
|