@ereo/client 0.1.23 → 0.1.24

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,55 @@
1
+ /**
2
+ * @ereo/client - Navigation Blocker
3
+ *
4
+ * Prevents navigation when the user has unsaved changes.
5
+ * Works with both client-side navigation and browser back/forward.
6
+ */
7
+ /**
8
+ * Blocker state.
9
+ */
10
+ export type BlockerState = 'unblocked' | 'blocked' | 'proceeding';
11
+ /**
12
+ * Return value from useBlocker.
13
+ */
14
+ export interface UseBlockerReturn {
15
+ /** Current blocker state */
16
+ state: BlockerState;
17
+ /** Proceed with the blocked navigation */
18
+ proceed: () => void;
19
+ /** Cancel the blocked navigation and stay on the current page */
20
+ reset: () => void;
21
+ }
22
+ /**
23
+ * Block navigation when a condition is true.
24
+ * Useful for preventing navigation when there are unsaved changes.
25
+ *
26
+ * @param shouldBlock - Whether navigation should be blocked. Can be a boolean or a function returning boolean.
27
+ * @returns Blocker state and control functions
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * function EditForm() {
32
+ * const [isDirty, setIsDirty] = useState(false);
33
+ * const blocker = useBlocker(isDirty);
34
+ *
35
+ * return (
36
+ * <>
37
+ * <form onChange={() => setIsDirty(true)}>
38
+ * <input name="title" />
39
+ * <button type="submit">Save</button>
40
+ * </form>
41
+ *
42
+ * {blocker.state === 'blocked' && (
43
+ * <dialog open>
44
+ * <p>You have unsaved changes. Leave anyway?</p>
45
+ * <button onClick={blocker.proceed}>Leave</button>
46
+ * <button onClick={blocker.reset}>Stay</button>
47
+ * </dialog>
48
+ * )}
49
+ * </>
50
+ * );
51
+ * }
52
+ * ```
53
+ */
54
+ export declare function useBlocker(shouldBlock: boolean | (() => boolean)): UseBlockerReturn;
55
+ //# sourceMappingURL=blocker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocker.d.ts","sourceRoot":"","sources":["../src/blocker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,iEAAiE;IACjE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,gBAAgB,CA+DnF"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @ereo/client - Client Data Loading
3
+ *
4
+ * Runtime for executing clientLoader and clientAction functions.
5
+ * These run in the browser and can optionally call the server loader/action.
6
+ */
7
+ import type { ClientLoaderFunction, ClientActionFunction, RouteParams, RouteModule } from '@ereo/core';
8
+ import type { ComponentType } from 'react';
9
+ /**
10
+ * Execute a route's clientLoader, providing a serverLoader callback that
11
+ * fetches data from the server loader endpoint.
12
+ *
13
+ * @param clientLoader - The client loader function from the route module
14
+ * @param pathname - The current route pathname (for server fetch fallback)
15
+ * @param params - The matched route params
16
+ * @param request - The current request (constructed from window.location)
17
+ * @returns The loader data
18
+ */
19
+ export declare function executeClientLoader<T = unknown>(clientLoader: ClientLoaderFunction<T>, pathname: string, params: RouteParams, request?: Request): Promise<T>;
20
+ /**
21
+ * Execute a route's clientAction, providing a serverAction callback that
22
+ * submits to the server action endpoint.
23
+ *
24
+ * @param clientAction - The client action function from the route module
25
+ * @param pathname - The current route pathname
26
+ * @param params - The matched route params
27
+ * @param request - The request with form data
28
+ * @returns The action result
29
+ */
30
+ export declare function executeClientAction<T = unknown>(clientAction: ClientActionFunction<T>, pathname: string, params: RouteParams, request: Request): Promise<T>;
31
+ /**
32
+ * Determine whether the clientLoader should run during hydration.
33
+ * By default, clientLoader only runs on client-side navigations, not on initial SSR hydration.
34
+ * Set `clientLoader.hydrate = true` to also run during hydration.
35
+ */
36
+ export declare function shouldHydrateClientLoader(clientLoader: ClientLoaderFunction | undefined): boolean;
37
+ /**
38
+ * Get the HydrateFallback component from a route module.
39
+ * Only returns the component when `clientLoader.hydrate === true`,
40
+ * since HydrateFallback is only meaningful during client-loader hydration.
41
+ */
42
+ export declare function getHydrateFallback(module: RouteModule | undefined): ComponentType | undefined;
43
+ //# sourceMappingURL=client-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-data.d.ts","sourceRoot":"","sources":["../src/client-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EAEpB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EACnD,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EACnD,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,oBAAoB,GAAG,SAAS,GAC7C,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,aAAa,GAAG,SAAS,CAI3B"}
package/dist/form.d.ts CHANGED
@@ -111,6 +111,7 @@ export declare function useFormContext(): FormContextValue | null;
111
111
  * With JavaScript, intercepts submission and uses fetch.
112
112
  */
113
113
  export declare function Form({ method, action, onSubmitStart, onSubmitEnd, replace, preventScrollReset, encType, fetcherKey, children, onSubmit, ...props }: FormProps): import("react").DetailedReactHTMLElement<{
114
+ className?: string | undefined | undefined;
114
115
  slot?: string | undefined | undefined;
115
116
  style?: import("react").CSSProperties | undefined;
116
117
  title?: string | undefined | undefined;
@@ -129,7 +130,6 @@ export declare function Form({ method, action, onSubmitStart, onSubmitEnd, repla
129
130
  accessKey?: string | undefined | undefined;
130
131
  autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
131
132
  autoFocus?: boolean | undefined | undefined;
132
- className?: string | undefined | undefined;
133
133
  contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
134
134
  contextMenu?: string | undefined | undefined;
135
135
  dir?: string | undefined | undefined;
@@ -417,6 +417,11 @@ export interface FormNavigationState extends NavigationState {
417
417
  * Hook to get the current navigation state including form submission state.
418
418
  */
419
419
  export declare function useNavigation(): FormNavigationState;
420
+ /**
421
+ * Hook that returns all active fetcher states.
422
+ * Useful for showing global loading indicators or progress bars.
423
+ */
424
+ export declare function useFetchers(): FetcherState[];
420
425
  /**
421
426
  * Serialize form data to URL-encoded string.
422
427
  */
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
package/dist/hooks.d.ts CHANGED
@@ -5,6 +5,8 @@
5
5
  * navigation state, and error boundaries.
6
6
  */
7
7
  import { type ReactNode, type Context } from 'react';
8
+ import type { RouteParams } from '@ereo/core';
9
+ import { type RouteMatchData } from './matches';
8
10
  /**
9
11
  * Navigation status for useNavigation hook.
10
12
  */
@@ -62,6 +64,35 @@ export interface ErrorContextValue {
62
64
  setError: (error: Error | undefined) => void;
63
65
  clearError: () => void;
64
66
  }
67
+ /**
68
+ * Location object returned by useLocation.
69
+ */
70
+ export interface LocationState {
71
+ /** Current pathname (e.g., '/users/123') */
72
+ pathname: string;
73
+ /** Query string including '?' (e.g., '?page=1&sort=name') */
74
+ search: string;
75
+ /** Hash including '#' (e.g., '#section-2') */
76
+ hash: string;
77
+ /** History state object */
78
+ state: unknown;
79
+ /** Unique key for this location entry (useful for scroll restoration) */
80
+ key: string;
81
+ }
82
+ /**
83
+ * Context value for route params.
84
+ */
85
+ export interface ParamsContextValue {
86
+ params: RouteParams;
87
+ setParams: (params: RouteParams) => void;
88
+ }
89
+ /**
90
+ * Context value for location.
91
+ */
92
+ export interface LocationContextValue {
93
+ location: LocationState;
94
+ setLocation: (location: LocationState) => void;
95
+ }
65
96
  /**
66
97
  * Context for loader data - populated during hydration/navigation.
67
98
  */
@@ -78,6 +109,14 @@ export declare const NavigationContext: Context<NavigationContextValue | null>;
78
109
  * Context for error boundary - captures errors from boundaries.
79
110
  */
80
111
  export declare const ErrorContext: Context<ErrorContextValue | null>;
112
+ /**
113
+ * Context for route params - populated during route matching.
114
+ */
115
+ export declare const ParamsContext: Context<ParamsContextValue | null>;
116
+ /**
117
+ * Context for current location - populated from window.location or SSR.
118
+ */
119
+ export declare const LocationContext: Context<LocationContextValue | null>;
81
120
  /**
82
121
  * Access loader data in components.
83
122
  *
@@ -93,6 +132,21 @@ export declare const ErrorContext: Context<ErrorContextValue | null>;
93
132
  * ```
94
133
  */
95
134
  export declare function useLoaderData<T>(): T;
135
+ /**
136
+ * Access loader data from a specific route by its ID.
137
+ * Useful for accessing parent layout data or sibling route data.
138
+ *
139
+ * @returns The loader data for the specified route, or undefined if not found
140
+ *
141
+ * @example
142
+ * ```tsx
143
+ * function ChildComponent() {
144
+ * const rootData = useRouteLoaderData<{ user: User }>('root-layout');
145
+ * return <div>Hello {rootData?.user.name}</div>;
146
+ * }
147
+ * ```
148
+ */
149
+ export declare function useRouteLoaderData<T>(routeId: string): T | undefined;
96
150
  /**
97
151
  * Access action results in components.
98
152
  *
@@ -165,6 +219,76 @@ export declare function useNavigation(): NavigationStateHook;
165
219
  * ```
166
220
  */
167
221
  export declare function useError(): Error | undefined;
222
+ /**
223
+ * Access the current route params.
224
+ *
225
+ * @returns The params object for the current matched route
226
+ * @throws Error if used outside of EreoProvider
227
+ *
228
+ * @example
229
+ * ```tsx
230
+ * // In a route file at /users/[id].tsx
231
+ * function UserProfile() {
232
+ * const { id } = useParams<{ id: string }>();
233
+ * return <div>User ID: {id}</div>;
234
+ * }
235
+ * ```
236
+ */
237
+ export declare function useParams<T extends RouteParams = RouteParams>(): T;
238
+ /**
239
+ * Access and modify the current URL search parameters.
240
+ *
241
+ * Returns a tuple of [searchParams, setSearchParams] similar to useState.
242
+ * setSearchParams updates the URL without a full page reload.
243
+ *
244
+ * @returns [URLSearchParams, setter function]
245
+ *
246
+ * @example
247
+ * ```tsx
248
+ * function ProductList() {
249
+ * const [searchParams, setSearchParams] = useSearchParams();
250
+ * const page = searchParams.get('page') || '1';
251
+ * const sort = searchParams.get('sort') || 'name';
252
+ *
253
+ * return (
254
+ * <div>
255
+ * <button onClick={() => setSearchParams({ page: '2', sort })}>
256
+ * Next Page
257
+ * </button>
258
+ * </div>
259
+ * );
260
+ * }
261
+ * ```
262
+ */
263
+ export declare function useSearchParams(): [
264
+ URLSearchParams,
265
+ (nextParams: URLSearchParams | Record<string, string> | ((prev: URLSearchParams) => URLSearchParams | Record<string, string>), options?: {
266
+ replace?: boolean;
267
+ }) => void
268
+ ];
269
+ /**
270
+ * Access the current location.
271
+ *
272
+ * @returns The current location object with pathname, search, hash, state, and key
273
+ * @throws Error if used outside of EreoProvider
274
+ *
275
+ * @example
276
+ * ```tsx
277
+ * function Breadcrumbs() {
278
+ * const location = useLocation();
279
+ * const segments = location.pathname.split('/').filter(Boolean);
280
+ *
281
+ * return (
282
+ * <nav>
283
+ * {segments.map((seg, i) => (
284
+ * <span key={i}> / {seg}</span>
285
+ * ))}
286
+ * </nav>
287
+ * );
288
+ * }
289
+ * ```
290
+ */
291
+ export declare function useLocation(): LocationState;
168
292
  /**
169
293
  * Props for LoaderDataProvider.
170
294
  */
@@ -209,6 +333,28 @@ export interface ErrorProviderProps {
209
333
  * Provider for error context.
210
334
  */
211
335
  export declare function ErrorProvider({ children, initialError, }: ErrorProviderProps): ReactNode;
336
+ /**
337
+ * Props for ParamsProvider.
338
+ */
339
+ export interface ParamsProviderProps {
340
+ children: ReactNode;
341
+ initialParams?: RouteParams;
342
+ }
343
+ /**
344
+ * Provider for route params context.
345
+ */
346
+ export declare function ParamsProvider({ children, initialParams, }: ParamsProviderProps): ReactNode;
347
+ /**
348
+ * Props for LocationProvider.
349
+ */
350
+ export interface LocationProviderProps {
351
+ children: ReactNode;
352
+ initialLocation?: LocationState;
353
+ }
354
+ /**
355
+ * Provider for location context.
356
+ */
357
+ export declare function LocationProvider({ children, initialLocation, }: LocationProviderProps): ReactNode;
212
358
  /**
213
359
  * Props for EreoProvider - the combined provider that wraps your app.
214
360
  */
@@ -222,6 +368,12 @@ export interface EreoProviderProps {
222
368
  navigationState?: NavigationStateHook;
223
369
  /** Initial error (if rendering an error boundary) */
224
370
  error?: Error;
371
+ /** Initial route params (from route matching) */
372
+ params?: RouteParams;
373
+ /** Initial location (from request URL or window.location) */
374
+ location?: LocationState;
375
+ /** Initial matched routes (from route matching) */
376
+ matches?: RouteMatchData[];
225
377
  }
226
378
  /**
227
379
  * Combined provider that wraps the application with all EreoJS contexts.
@@ -240,7 +392,7 @@ export interface EreoProviderProps {
240
392
  * }
241
393
  * ```
242
394
  */
243
- export declare function EreoProvider({ children, loaderData, actionData, navigationState, error, }: EreoProviderProps): ReactNode;
395
+ export declare function EreoProvider({ children, loaderData, actionData, navigationState, error, params, location, matches, }: EreoProviderProps): ReactNode;
244
396
  /**
245
397
  * Get the raw loader data context (for internal use).
246
398
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,12 +6,12 @@
6
6
  */
7
7
  export { parseHydrationDirective, createHydrationTrigger, stripHydrationProps, generateIslandId, resetIslandCounter, getIslandCount, shouldHydrate, } from './hydration';
8
8
  export type { HydrationProps } from './hydration';
9
- export { useLoaderData, useActionData, useNavigation, useError, useLoaderDataContext, useActionDataContext, useNavigationContext, useErrorContext, LoaderDataContext, ActionDataContext, NavigationContext, ErrorContext, LoaderDataProvider, ActionDataProvider, NavigationProvider, ErrorProvider, EreoProvider, } from './hooks';
10
- export type { NavigationStatus, NavigationStateHook, LoaderDataContextValue, ActionDataContextValue, NavigationContextValue, ErrorContextValue, LoaderDataProviderProps, ActionDataProviderProps, NavigationProviderProps, ErrorProviderProps, EreoProviderProps, } from './hooks';
9
+ export { useLoaderData, useRouteLoaderData, useActionData, useNavigation, useError, useParams, useSearchParams, useLocation, useLoaderDataContext, useActionDataContext, useNavigationContext, useErrorContext, LoaderDataContext, ActionDataContext, NavigationContext, ErrorContext, ParamsContext, LocationContext, LoaderDataProvider, ActionDataProvider, NavigationProvider, ErrorProvider, ParamsProvider, LocationProvider, EreoProvider, } from './hooks';
10
+ export type { NavigationStatus, NavigationStateHook, LoaderDataContextValue, ActionDataContextValue, NavigationContextValue, ErrorContextValue, ParamsContextValue, LocationContextValue, LocationState, LoaderDataProviderProps, ActionDataProviderProps, NavigationProviderProps, ErrorProviderProps, ParamsProviderProps, LocationProviderProps, EreoProviderProps, } from './hooks';
11
11
  export { islandRegistry, hydrateIslands, registerIslandComponent, getIslandComponent, registerIslandComponents, createIsland, initializeIslands, cleanupIslands, } from './islands';
12
12
  export type { IslandRegistration } from './islands';
13
13
  export { router, navigate, goBack, goForward, onNavigate, getNavigationState, fetchLoaderData, submitAction, setupScrollRestoration, } from './navigation';
14
- export type { NavigationState, NavigationEvent, NavigationListener } from './navigation';
14
+ export type { NavigationState, NavigationEvent, NavigationListener, BlockerFunction, PendingNavigation } from './navigation';
15
15
  export { prefetch, getPrefetchedData, clearPrefetchCache, setupLinkPrefetch, setupAutoPrefetch, prefetchAll, isPrefetching, isPrefetched, } from './prefetch';
16
16
  export type { PrefetchOptions, LinkPrefetchProps } from './prefetch';
17
17
  export { Link, NavLink, useIsActive } from './link';
@@ -20,12 +20,32 @@ export { TypedLink, TypedNavLink, useIsRouteActive, buildUrl, } from './typed-li
20
20
  export type { TypedLinkProps, TypedNavLinkProps, NavLinkActiveProps as TypedNavLinkActiveProps, } from './typed-link';
21
21
  export { typedNavigate, useTypedNavigate, typedRedirect, redirect, buildTypedUrl, parseTypedSearchParams, parseTypedHashParams, goBack as typedGoBack, goForward as typedGoForward, go, isCurrentPath, preloadRoute, } from './typed-navigate';
22
22
  export type { TypedNavigateOptions, TypedRedirectOptions, TypedNavigateFunction, } from './typed-navigate';
23
- export { Form, FormProvider, useFormContext, useSubmit, useFetcher, useActionData as useFormActionData, useNavigation as useFormNavigation, serializeFormData, parseFormData, formDataToObject, objectToFormData, } from './form';
23
+ export { Form, FormProvider, useFormContext, useSubmit, useFetcher, useFetchers, useActionData as useFormActionData, useNavigation as useFormNavigation, serializeFormData, parseFormData, formDataToObject, objectToFormData, } from './form';
24
24
  export type { FormProps, ActionResult, SubmissionState, SubmitOptions, FetcherState, Fetcher, FormContextValue, FormNavigationState, } from './form';
25
+ export { getRoutesToRevalidate, checkShouldRevalidate, useRevalidator, } from './revalidation';
26
+ export type { RevalidationRoute, RevalidationContext, RevalidatorState, } from './revalidation';
27
+ export { useNavigationType } from './use-navigation-type';
28
+ export type { NavigationType } from './use-navigation-type';
29
+ export { useBeforeUnload } from './use-before-unload';
30
+ export type { UseBeforeUnloadOptions } from './use-before-unload';
31
+ export { useBlocker } from './blocker';
32
+ export type { BlockerState, UseBlockerReturn } from './blocker';
25
33
  export { ErrorBoundary, RouteErrorBoundary, useErrorBoundary, useRouteError, isRouteErrorResponse, createRouteErrorResponse, withErrorBoundary, RouteError, } from './error-boundary';
26
34
  export type { ErrorBoundaryProps, RouteErrorResponse, RouteErrorBoundaryProps, UseErrorBoundaryReturn, } from './error-boundary';
35
+ export { Outlet, useOutletContext, OutletProvider, OutletElementContext, OutletDataContext, } from './outlet';
36
+ export type { OutletProps, OutletProviderProps, OutletElementContextValue, OutletContextValue, } from './outlet';
37
+ export { useMatches, MatchesProvider, MatchesContext, } from './matches';
38
+ export type { RouteMatchData, MatchesContextValue, MatchesProviderProps, } from './matches';
39
+ export { renderLinkTags, updateRouteLinks, removeRouteLinks, getActiveLinksCount, } from './route-links';
40
+ export { executeClientLoader, executeClientAction, shouldHydrateClientLoader, getHydrateFallback, } from './client-data';
41
+ export { registerLazyRoute, registerLazyRoutes, loadLazyRoute, preloadLazyRoute, isRouteLoaded, getLoadedModule, getLazyRouteIds, clearLazyRouteCache, resetLazyRoutes, setRouteManifest, getRouteManifestEntry, preloadRouteAssets, } from './lazy-route';
42
+ export type { RouteModuleLoader, LazyRouteDefinition, RouteManifestEntry, RouteManifest, } from './lazy-route';
27
43
  export { Await, resolveAwait } from './await';
28
44
  export type { AwaitProps, DeferredData } from './await';
45
+ export { ScrollRestoration, clearScrollPositions } from './scroll-restoration';
46
+ export type { ScrollRestorationProps } from './scroll-restoration';
47
+ export { startViewTransition, isViewTransitionSupported, enableViewTransitions, disableViewTransitions, areViewTransitionsEnabled, resetViewTransitions, useViewTransitionState, ViewTransitionContext, } from './view-transition';
48
+ export type { ViewTransition, ViewTransitionOptions, ViewTransitionState, ViewTransitionContextValue, } from './view-transition';
29
49
  /**
30
50
  * Initialize the client runtime.
31
51
  * Call this in your entry point.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}