@chipi-stack/nextjs 9.0.0 → 10.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/ChipiClientProvider.d.mts +2 -2
- package/dist/cjs/ChipiClientProvider.d.ts +2 -2
- package/dist/cjs/ChipiClientProvider.js +21 -3
- package/dist/cjs/ChipiClientProvider.js.map +1 -1
- package/dist/cjs/client/ChipiProvider.d.ts +6 -12
- package/dist/cjs/client/ChipiProvider.js +2 -27
- package/dist/cjs/client/ChipiProvider.js.map +1 -1
- package/dist/cjs/client/index.d.ts +0 -2
- package/dist/cjs/client/index.js +0 -3
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/client/ChipiProvider.d.mts +6 -12
- package/dist/client/index.d.mts +0 -2
- package/dist/esm/ChipiClientProvider.js +11 -3
- package/dist/esm/ChipiClientProvider.js.map +1 -1
- package/dist/esm/client/ChipiProvider.js +2 -27
- package/dist/esm/client/ChipiProvider.js.map +1 -1
- package/dist/esm/client/index.js +0 -2
- package/dist/esm/client/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/client/ChipiClientWrapper.d.ts +0 -15
- package/dist/cjs/client/ChipiClientWrapper.js +0 -74
- package/dist/cjs/client/ChipiClientWrapper.js.map +0 -1
- package/dist/client/ChipiClientWrapper.d.mts +0 -15
- package/dist/esm/client/ChipiClientWrapper.js +0 -40
- package/dist/esm/client/ChipiClientWrapper.js.map +0 -1
|
@@ -4,12 +4,12 @@ import React from 'react';
|
|
|
4
4
|
interface ChipiClientProviderProps {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
apiPublicKey: string;
|
|
7
|
-
environment
|
|
7
|
+
environment?: "development" | "production";
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Pure client component that handles all React hook imports
|
|
11
11
|
* This component is marked with 'use client' to avoid server-side issues
|
|
12
12
|
*/
|
|
13
|
-
declare function ChipiClientProvider({ children, apiPublicKey, environment }: ChipiClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function ChipiClientProvider({ children, apiPublicKey, environment, }: ChipiClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { ChipiClientProvider };
|
|
@@ -4,12 +4,12 @@ import React from 'react';
|
|
|
4
4
|
interface ChipiClientProviderProps {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
apiPublicKey: string;
|
|
7
|
-
environment
|
|
7
|
+
environment?: "development" | "production";
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Pure client component that handles all React hook imports
|
|
11
11
|
* This component is marked with 'use client' to avoid server-side issues
|
|
12
12
|
*/
|
|
13
|
-
declare function ChipiClientProvider({ children, apiPublicKey, environment }: ChipiClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function ChipiClientProvider({ children, apiPublicKey, environment, }: ChipiClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { ChipiClientProvider };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
9
|
var __export = (target, all) => {
|
|
8
10
|
for (var name in all)
|
|
@@ -16,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
var ChipiClientProvider_exports = {};
|
|
21
31
|
__export(ChipiClientProvider_exports, {
|
|
@@ -23,13 +33,21 @@ __export(ChipiClientProvider_exports, {
|
|
|
23
33
|
});
|
|
24
34
|
module.exports = __toCommonJS(ChipiClientProvider_exports);
|
|
25
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
-
var
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_chipi_react = require("@chipi-stack/chipi-react");
|
|
27
38
|
function ChipiClientProvider({
|
|
28
39
|
children,
|
|
29
40
|
apiPublicKey,
|
|
30
|
-
environment
|
|
41
|
+
environment = "production"
|
|
31
42
|
}) {
|
|
32
|
-
|
|
43
|
+
const config = import_react.default.useMemo(
|
|
44
|
+
() => ({
|
|
45
|
+
apiPublicKey,
|
|
46
|
+
environment
|
|
47
|
+
}),
|
|
48
|
+
[apiPublicKey, environment]
|
|
49
|
+
);
|
|
50
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chipi_react.ChipiProvider, { config, children });
|
|
33
51
|
}
|
|
34
52
|
// Annotate the CommonJS export names for ESM import in node:
|
|
35
53
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ChipiClientProvider.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/ChipiClientProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { ChipiProvider } from \"@chipi-stack/chipi-react\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiClientProviderProps {\n children: React.ReactNode;\n apiPublicKey: string;\n environment?: \"development\" | \"production\";\n}\n\n/**\n * Pure client component that handles all React hook imports\n * This component is marked with 'use client' to avoid server-side issues\n */\nexport function ChipiClientProvider({\n children,\n apiPublicKey,\n environment = \"production\",\n}: ChipiClientProviderProps) {\n // Create config\n const config = React.useMemo(\n (): ChipiSDKConfig => ({\n apiPublicKey,\n environment,\n }),\n [apiPublicKey, environment]\n );\n\n return <ChipiProvider config={config}>{children}</ChipiProvider>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BS;AA5BT,mBAAkB;AAClB,yBAA8B;AAavB,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAA6B;AAE3B,QAAM,SAAS,aAAAA,QAAM;AAAA,IACnB,OAAuB;AAAA,MACrB;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,cAAc,WAAW;AAAA,EAC5B;AAEA,SAAO,4CAAC,oCAAc,QAAiB,UAAS;AAClD;","names":["React"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
4
3
|
import { ChipiSDKConfig } from '@chipi-stack/types';
|
|
5
4
|
|
|
6
5
|
interface ChipiProviderProps {
|
|
@@ -9,17 +8,12 @@ interface ChipiProviderProps {
|
|
|
9
8
|
* Configuration for the Chipi SDK
|
|
10
9
|
*/
|
|
11
10
|
config?: Partial<ChipiSDKConfig>;
|
|
12
|
-
/**
|
|
13
|
-
* Custom QueryClient instance for React Query
|
|
14
|
-
* If not provided, a default one will be created
|
|
15
|
-
*/
|
|
16
|
-
queryClient?: QueryClient;
|
|
17
11
|
}
|
|
18
12
|
/**
|
|
19
13
|
* Client-side Chipi Provider for Next.js applications
|
|
20
14
|
*
|
|
21
|
-
* This provider wraps the base ChipiProvider
|
|
22
|
-
*
|
|
15
|
+
* This provider wraps the base ChipiProvider and provides Next.js-specific
|
|
16
|
+
* optimizations like automatic environment variable configuration.
|
|
23
17
|
*
|
|
24
18
|
* Note: For most use cases, use the main ChipiProvider from '@chipi-stack/nextjs'
|
|
25
19
|
* instead of this client-only provider.
|
|
@@ -29,22 +23,22 @@ interface ChipiProviderProps {
|
|
|
29
23
|
* // Advanced usage - client-only provider
|
|
30
24
|
* 'use client';
|
|
31
25
|
*
|
|
32
|
-
* import {
|
|
26
|
+
* import { ChipiProvider } from '@chipi-stack/nextjs/client';
|
|
33
27
|
*
|
|
34
28
|
* export function ClientProviders({ children }: { children: React.ReactNode }) {
|
|
35
29
|
* return (
|
|
36
|
-
* <
|
|
30
|
+
* <ChipiProvider
|
|
37
31
|
* config={{
|
|
38
32
|
* apiPublicKey: process.env.NEXT_PUBLIC_CHIPI_API_KEY!,
|
|
39
33
|
* environment: 'production'
|
|
40
34
|
* }}
|
|
41
35
|
* >
|
|
42
36
|
* {children}
|
|
43
|
-
* </
|
|
37
|
+
* </ChipiProvider>
|
|
44
38
|
* );
|
|
45
39
|
* }
|
|
46
40
|
* ```
|
|
47
41
|
*/
|
|
48
|
-
declare function ChipiProvider({ children, config: userConfig,
|
|
42
|
+
declare function ChipiProvider({ children, config: userConfig, }: ChipiProviderProps): react_jsx_runtime.JSX.Element;
|
|
49
43
|
|
|
50
44
|
export { ChipiProvider, type ChipiProviderProps };
|
|
@@ -34,31 +34,10 @@ __export(ChipiProvider_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(ChipiProvider_exports);
|
|
35
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
|
-
var import_react_query = require("@tanstack/react-query");
|
|
38
37
|
var import_chipi_react = require("@chipi-stack/chipi-react");
|
|
39
|
-
const createDefaultQueryClient = () => new import_react_query.QueryClient({
|
|
40
|
-
defaultOptions: {
|
|
41
|
-
queries: {
|
|
42
|
-
staleTime: 60 * 1e3,
|
|
43
|
-
// 1 minute
|
|
44
|
-
gcTime: 10 * 60 * 1e3,
|
|
45
|
-
// 10 minutes (formerly cacheTime)
|
|
46
|
-
retry: (failureCount, error) => {
|
|
47
|
-
if (error?.status >= 400 && error?.status < 500) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
return failureCount < 3;
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
mutations: {
|
|
54
|
-
retry: false
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
38
|
function ChipiProvider({
|
|
59
39
|
children,
|
|
60
|
-
config: userConfig
|
|
61
|
-
queryClient
|
|
40
|
+
config: userConfig
|
|
62
41
|
}) {
|
|
63
42
|
const config = import_react.default.useMemo(() => {
|
|
64
43
|
const envConfig = {
|
|
@@ -67,16 +46,12 @@ function ChipiProvider({
|
|
|
67
46
|
};
|
|
68
47
|
return { ...envConfig, ...userConfig };
|
|
69
48
|
}, [userConfig]);
|
|
70
|
-
const client = import_react.default.useMemo(
|
|
71
|
-
() => queryClient || createDefaultQueryClient(),
|
|
72
|
-
[queryClient]
|
|
73
|
-
);
|
|
74
49
|
if (!config.apiPublicKey) {
|
|
75
50
|
throw new Error(
|
|
76
51
|
"Missing NEXT_PUBLIC_CHIPI_API_KEY environment variable. Please add it to your .env.local file."
|
|
77
52
|
);
|
|
78
53
|
}
|
|
79
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chipi_react.ChipiProvider, { config, children });
|
|
80
55
|
}
|
|
81
56
|
// Annotate the CommonJS export names for ESM import in node:
|
|
82
57
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/ChipiProvider.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/client/ChipiProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { ChipiProvider as BaseChipiProvider } from \"@chipi-stack/chipi-react\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\nexport interface ChipiProviderProps {\n children: React.ReactNode;\n /**\n * Configuration for the Chipi SDK\n */\n config?: Partial<ChipiSDKConfig>;\n}\n\n/**\n * Client-side Chipi Provider for Next.js applications\n *\n * This provider wraps the base ChipiProvider and provides Next.js-specific\n * optimizations like automatic environment variable configuration.\n *\n * Note: For most use cases, use the main ChipiProvider from '@chipi-stack/nextjs'\n * instead of this client-only provider.\n *\n * @example\n * ```tsx\n * // Advanced usage - client-only provider\n * 'use client';\n *\n * import { ChipiProvider } from '@chipi-stack/nextjs/client';\n *\n * export function ClientProviders({ children }: { children: React.ReactNode }) {\n * return (\n * <ChipiProvider\n * config={{\n * apiPublicKey: process.env.NEXT_PUBLIC_CHIPI_API_KEY!,\n * environment: 'production'\n * }}\n * >\n * {children}\n * </ChipiProvider>\n * );\n * }\n * ```\n */\nexport function ChipiProvider({\n children,\n config: userConfig,\n}: ChipiProviderProps) {\n // Automatically get configuration from environment variables\n // Siento que esta madre no se usa\n const config = React.useMemo(() => {\n const envConfig: ChipiSDKConfig = {\n apiPublicKey: process.env.NEXT_PUBLIC_CHIPI_API_KEY!,\n environment: (process.env.NEXT_PUBLIC_CHIPI_ENV === \"development\"\n ? \"development\"\n : \"production\") as \"development\" | \"production\",\n };\n\n // Merge with user-provided config\n return { ...envConfig, ...userConfig };\n }, [userConfig]);\n\n // Validate required configuration\n if (!config.apiPublicKey) {\n throw new Error(\n \"Missing NEXT_PUBLIC_CHIPI_API_KEY environment variable. Please add it to your .env.local file.\"\n );\n }\n\n return <BaseChipiProvider config={config}>{children}</BaseChipiProvider>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqES;AAnET,mBAAkB;AAClB,yBAAmD;AAyC5C,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,QAAQ;AACV,GAAuB;AAGrB,QAAM,SAAS,aAAAA,QAAM,QAAQ,MAAM;AACjC,UAAM,YAA4B;AAAA,MAChC,cAAc,QAAQ,IAAI;AAAA,MAC1B,aAAc,QAAQ,IAAI,0BAA0B,gBAChD,gBACA;AAAA,IACN;AAGA,WAAO,EAAE,GAAG,WAAW,GAAG,WAAW;AAAA,EACvC,GAAG,CAAC,UAAU,CAAC;AAGf,MAAI,CAAC,OAAO,cAAc;AACxB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO,4CAAC,mBAAAC,eAAA,EAAkB,QAAiB,UAAS;AACtD;","names":["React","BaseChipiProvider"]}
|
package/dist/cjs/client/index.js
CHANGED
|
@@ -18,15 +18,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var client_exports = {};
|
|
20
20
|
__export(client_exports, {
|
|
21
|
-
ChipiClientWrapper: () => import_ChipiClientWrapper.ChipiClientWrapper,
|
|
22
21
|
ChipiProvider: () => import_ChipiProvider.ChipiProvider
|
|
23
22
|
});
|
|
24
23
|
module.exports = __toCommonJS(client_exports);
|
|
25
24
|
var import_ChipiProvider = require("./ChipiProvider");
|
|
26
|
-
var import_ChipiClientWrapper = require("./ChipiClientWrapper");
|
|
27
25
|
// Annotate the CommonJS export names for ESM import in node:
|
|
28
26
|
0 && (module.exports = {
|
|
29
|
-
ChipiClientWrapper,
|
|
30
27
|
ChipiProvider
|
|
31
28
|
});
|
|
32
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["// Client-side exports\nexport { ChipiProvider } from
|
|
1
|
+
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["// Client-side exports\nexport { ChipiProvider } from \"./ChipiProvider\";\nexport type { ChipiProviderProps } from \"./ChipiProvider\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;","names":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
4
3
|
import { ChipiSDKConfig } from '@chipi-stack/types';
|
|
5
4
|
|
|
6
5
|
interface ChipiProviderProps {
|
|
@@ -9,17 +8,12 @@ interface ChipiProviderProps {
|
|
|
9
8
|
* Configuration for the Chipi SDK
|
|
10
9
|
*/
|
|
11
10
|
config?: Partial<ChipiSDKConfig>;
|
|
12
|
-
/**
|
|
13
|
-
* Custom QueryClient instance for React Query
|
|
14
|
-
* If not provided, a default one will be created
|
|
15
|
-
*/
|
|
16
|
-
queryClient?: QueryClient;
|
|
17
11
|
}
|
|
18
12
|
/**
|
|
19
13
|
* Client-side Chipi Provider for Next.js applications
|
|
20
14
|
*
|
|
21
|
-
* This provider wraps the base ChipiProvider
|
|
22
|
-
*
|
|
15
|
+
* This provider wraps the base ChipiProvider and provides Next.js-specific
|
|
16
|
+
* optimizations like automatic environment variable configuration.
|
|
23
17
|
*
|
|
24
18
|
* Note: For most use cases, use the main ChipiProvider from '@chipi-stack/nextjs'
|
|
25
19
|
* instead of this client-only provider.
|
|
@@ -29,22 +23,22 @@ interface ChipiProviderProps {
|
|
|
29
23
|
* // Advanced usage - client-only provider
|
|
30
24
|
* 'use client';
|
|
31
25
|
*
|
|
32
|
-
* import {
|
|
26
|
+
* import { ChipiProvider } from '@chipi-stack/nextjs/client';
|
|
33
27
|
*
|
|
34
28
|
* export function ClientProviders({ children }: { children: React.ReactNode }) {
|
|
35
29
|
* return (
|
|
36
|
-
* <
|
|
30
|
+
* <ChipiProvider
|
|
37
31
|
* config={{
|
|
38
32
|
* apiPublicKey: process.env.NEXT_PUBLIC_CHIPI_API_KEY!,
|
|
39
33
|
* environment: 'production'
|
|
40
34
|
* }}
|
|
41
35
|
* >
|
|
42
36
|
* {children}
|
|
43
|
-
* </
|
|
37
|
+
* </ChipiProvider>
|
|
44
38
|
* );
|
|
45
39
|
* }
|
|
46
40
|
* ```
|
|
47
41
|
*/
|
|
48
|
-
declare function ChipiProvider({ children, config: userConfig,
|
|
42
|
+
declare function ChipiProvider({ children, config: userConfig, }: ChipiProviderProps): react_jsx_runtime.JSX.Element;
|
|
49
43
|
|
|
50
44
|
export { ChipiProvider, type ChipiProviderProps };
|
package/dist/client/index.d.mts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ChipiProvider } from "@chipi-stack/chipi-react";
|
|
4
5
|
function ChipiClientProvider({
|
|
5
6
|
children,
|
|
6
7
|
apiPublicKey,
|
|
7
|
-
environment
|
|
8
|
+
environment = "production"
|
|
8
9
|
}) {
|
|
9
|
-
|
|
10
|
+
const config = React.useMemo(
|
|
11
|
+
() => ({
|
|
12
|
+
apiPublicKey,
|
|
13
|
+
environment
|
|
14
|
+
}),
|
|
15
|
+
[apiPublicKey, environment]
|
|
16
|
+
);
|
|
17
|
+
return /* @__PURE__ */ jsx(ChipiProvider, { config, children });
|
|
10
18
|
}
|
|
11
19
|
export {
|
|
12
20
|
ChipiClientProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ChipiClientProvider.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/ChipiClientProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { ChipiProvider } from \"@chipi-stack/chipi-react\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\ninterface ChipiClientProviderProps {\n children: React.ReactNode;\n apiPublicKey: string;\n environment?: \"development\" | \"production\";\n}\n\n/**\n * Pure client component that handles all React hook imports\n * This component is marked with 'use client' to avoid server-side issues\n */\nexport function ChipiClientProvider({\n children,\n apiPublicKey,\n environment = \"production\",\n}: ChipiClientProviderProps) {\n // Create config\n const config = React.useMemo(\n (): ChipiSDKConfig => ({\n apiPublicKey,\n environment,\n }),\n [apiPublicKey, environment]\n );\n\n return <ChipiProvider config={config}>{children}</ChipiProvider>;\n}\n"],"mappings":";AA8BS;AA5BT,OAAO,WAAW;AAClB,SAAS,qBAAqB;AAavB,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAA6B;AAE3B,QAAM,SAAS,MAAM;AAAA,IACnB,OAAuB;AAAA,MACrB;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,cAAc,WAAW;AAAA,EAC5B;AAEA,SAAO,oBAAC,iBAAc,QAAiB,UAAS;AAClD;","names":[]}
|
|
@@ -1,31 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
5
4
|
import { ChipiProvider as BaseChipiProvider } from "@chipi-stack/chipi-react";
|
|
6
|
-
const createDefaultQueryClient = () => new QueryClient({
|
|
7
|
-
defaultOptions: {
|
|
8
|
-
queries: {
|
|
9
|
-
staleTime: 60 * 1e3,
|
|
10
|
-
// 1 minute
|
|
11
|
-
gcTime: 10 * 60 * 1e3,
|
|
12
|
-
// 10 minutes (formerly cacheTime)
|
|
13
|
-
retry: (failureCount, error) => {
|
|
14
|
-
if (error?.status >= 400 && error?.status < 500) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return failureCount < 3;
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
mutations: {
|
|
21
|
-
retry: false
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
5
|
function ChipiProvider({
|
|
26
6
|
children,
|
|
27
|
-
config: userConfig
|
|
28
|
-
queryClient
|
|
7
|
+
config: userConfig
|
|
29
8
|
}) {
|
|
30
9
|
const config = React.useMemo(() => {
|
|
31
10
|
const envConfig = {
|
|
@@ -34,16 +13,12 @@ function ChipiProvider({
|
|
|
34
13
|
};
|
|
35
14
|
return { ...envConfig, ...userConfig };
|
|
36
15
|
}, [userConfig]);
|
|
37
|
-
const client = React.useMemo(
|
|
38
|
-
() => queryClient || createDefaultQueryClient(),
|
|
39
|
-
[queryClient]
|
|
40
|
-
);
|
|
41
16
|
if (!config.apiPublicKey) {
|
|
42
17
|
throw new Error(
|
|
43
18
|
"Missing NEXT_PUBLIC_CHIPI_API_KEY environment variable. Please add it to your .env.local file."
|
|
44
19
|
);
|
|
45
20
|
}
|
|
46
|
-
return /* @__PURE__ */ jsx(
|
|
21
|
+
return /* @__PURE__ */ jsx(BaseChipiProvider, { config, children });
|
|
47
22
|
}
|
|
48
23
|
export {
|
|
49
24
|
ChipiProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/ChipiProvider.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/client/ChipiProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { ChipiProvider as BaseChipiProvider } from \"@chipi-stack/chipi-react\";\nimport type { ChipiSDKConfig } from \"@chipi-stack/types\";\n\nexport interface ChipiProviderProps {\n children: React.ReactNode;\n /**\n * Configuration for the Chipi SDK\n */\n config?: Partial<ChipiSDKConfig>;\n}\n\n/**\n * Client-side Chipi Provider for Next.js applications\n *\n * This provider wraps the base ChipiProvider and provides Next.js-specific\n * optimizations like automatic environment variable configuration.\n *\n * Note: For most use cases, use the main ChipiProvider from '@chipi-stack/nextjs'\n * instead of this client-only provider.\n *\n * @example\n * ```tsx\n * // Advanced usage - client-only provider\n * 'use client';\n *\n * import { ChipiProvider } from '@chipi-stack/nextjs/client';\n *\n * export function ClientProviders({ children }: { children: React.ReactNode }) {\n * return (\n * <ChipiProvider\n * config={{\n * apiPublicKey: process.env.NEXT_PUBLIC_CHIPI_API_KEY!,\n * environment: 'production'\n * }}\n * >\n * {children}\n * </ChipiProvider>\n * );\n * }\n * ```\n */\nexport function ChipiProvider({\n children,\n config: userConfig,\n}: ChipiProviderProps) {\n // Automatically get configuration from environment variables\n // Siento que esta madre no se usa\n const config = React.useMemo(() => {\n const envConfig: ChipiSDKConfig = {\n apiPublicKey: process.env.NEXT_PUBLIC_CHIPI_API_KEY!,\n environment: (process.env.NEXT_PUBLIC_CHIPI_ENV === \"development\"\n ? \"development\"\n : \"production\") as \"development\" | \"production\",\n };\n\n // Merge with user-provided config\n return { ...envConfig, ...userConfig };\n }, [userConfig]);\n\n // Validate required configuration\n if (!config.apiPublicKey) {\n throw new Error(\n \"Missing NEXT_PUBLIC_CHIPI_API_KEY environment variable. Please add it to your .env.local file.\"\n );\n }\n\n return <BaseChipiProvider config={config}>{children}</BaseChipiProvider>;\n}\n"],"mappings":";AAqES;AAnET,OAAO,WAAW;AAClB,SAAS,iBAAiB,yBAAyB;AAyC5C,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,QAAQ;AACV,GAAuB;AAGrB,QAAM,SAAS,MAAM,QAAQ,MAAM;AACjC,UAAM,YAA4B;AAAA,MAChC,cAAc,QAAQ,IAAI;AAAA,MAC1B,aAAc,QAAQ,IAAI,0BAA0B,gBAChD,gBACA;AAAA,IACN;AAGA,WAAO,EAAE,GAAG,WAAW,GAAG,WAAW;AAAA,EACvC,GAAG,CAAC,UAAU,CAAC;AAGf,MAAI,CAAC,OAAO,cAAc;AACxB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO,oBAAC,qBAAkB,QAAiB,UAAS;AACtD;","names":[]}
|
package/dist/esm/client/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["// Client-side exports\nexport { ChipiProvider } from
|
|
1
|
+
{"version":3,"sources":["../../../src/client/index.ts"],"sourcesContent":["// Client-side exports\nexport { ChipiProvider } from \"./ChipiProvider\";\nexport type { ChipiProviderProps } from \"./ChipiProvider\";\n"],"mappings":"AACA,SAAS,qBAAqB;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chipi-stack/nextjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "Chipi SDK for Next.js applications with server-side support",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"chipi",
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"@tanstack/react-query": "^5.85.0",
|
|
76
|
-
"@chipi-stack/
|
|
77
|
-
"@chipi-stack/
|
|
78
|
-
"@chipi-stack/
|
|
79
|
-
"@chipi-stack/
|
|
76
|
+
"@chipi-stack/backend": "^10.0.0",
|
|
77
|
+
"@chipi-stack/shared": "^10.0.0",
|
|
78
|
+
"@chipi-stack/chipi-react": "^10.0.0",
|
|
79
|
+
"@chipi-stack/types": "^10.0.0"
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
82
|
"next": ">=13.0.0",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
|
|
4
|
-
interface ChipiClientWrapperProps {
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
apiPublicKey: string;
|
|
7
|
-
environment?: 'development' | 'production';
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Client-side wrapper for Chipi SDK in Next.js
|
|
11
|
-
* This component runs on the client and receives the API key as a prop
|
|
12
|
-
*/
|
|
13
|
-
declare function ChipiClientWrapper({ children, apiPublicKey, environment }: ChipiClientWrapperProps): react_jsx_runtime.JSX.Element;
|
|
14
|
-
|
|
15
|
-
export { ChipiClientWrapper };
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __create = Object.create;
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
var ChipiClientWrapper_exports = {};
|
|
31
|
-
__export(ChipiClientWrapper_exports, {
|
|
32
|
-
ChipiClientWrapper: () => ChipiClientWrapper
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(ChipiClientWrapper_exports);
|
|
35
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
-
var import_react = __toESM(require("react"));
|
|
37
|
-
var import_react_query = require("@tanstack/react-query");
|
|
38
|
-
var import_chipi_react = require("@chipi-stack/chipi-react");
|
|
39
|
-
const createDefaultQueryClient = () => new import_react_query.QueryClient({
|
|
40
|
-
defaultOptions: {
|
|
41
|
-
queries: {
|
|
42
|
-
staleTime: 60 * 1e3,
|
|
43
|
-
// 1 minute
|
|
44
|
-
gcTime: 10 * 60 * 1e3,
|
|
45
|
-
// 10 minutes (formerly cacheTime)
|
|
46
|
-
retry: (failureCount, error) => {
|
|
47
|
-
if (error?.status >= 400 && error?.status < 500) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
return failureCount < 3;
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
mutations: {
|
|
54
|
-
retry: false
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
function ChipiClientWrapper({
|
|
59
|
-
children,
|
|
60
|
-
apiPublicKey,
|
|
61
|
-
environment = "development"
|
|
62
|
-
}) {
|
|
63
|
-
const queryClient = import_react.default.useMemo(() => createDefaultQueryClient(), []);
|
|
64
|
-
const config = import_react.default.useMemo(() => ({
|
|
65
|
-
apiPublicKey,
|
|
66
|
-
environment
|
|
67
|
-
}), [apiPublicKey, environment]);
|
|
68
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_query.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chipi_react.ChipiProvider, { config, children }) });
|
|
69
|
-
}
|
|
70
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
-
0 && (module.exports = {
|
|
72
|
-
ChipiClientWrapper
|
|
73
|
-
});
|
|
74
|
-
//# sourceMappingURL=ChipiClientWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/ChipiClientWrapper.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { ChipiProvider as BaseChipiProvider } from '@chipi-stack/chipi-react';\nimport type { ChipiSDKConfig } from '@chipi-stack/types';\n\ninterface ChipiClientWrapperProps {\n children: React.ReactNode;\n apiPublicKey: string;\n environment?: 'development' | 'production';\n}\n\n// Default QueryClient configuration for Next.js\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Client-side wrapper for Chipi SDK in Next.js\n * This component runs on the client and receives the API key as a prop\n */\nexport function ChipiClientWrapper({ \n children, \n apiPublicKey,\n environment = 'development'\n}: ChipiClientWrapperProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n // Create config\n const config = React.useMemo((): ChipiSDKConfig => ({\n apiPublicKey,\n environment,\n }), [apiPublicKey, environment]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <BaseChipiProvider config={config}>\n {children}\n </BaseChipiProvider>\n </QueryClientProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsDM;AApDN,mBAAkB;AAClB,yBAAiD;AACjD,yBAAmD;AAUnD,MAAM,2BAA2B,MAC/B,IAAI,+BAAY;AAAA,EACd,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,WAAW,KAAK;AAAA;AAAA,MAChB,QAAQ,KAAK,KAAK;AAAA;AAAA,MAClB,OAAO,CAAC,cAAc,UAAe;AAEnC,YAAI,OAAO,UAAU,OAAO,OAAO,SAAS,KAAK;AAC/C,iBAAO;AAAA,QACT;AACA,eAAO,eAAe;AAAA,MACxB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAMI,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAA4B;AAE1B,QAAM,cAAc,aAAAA,QAAM,QAAQ,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAGtE,QAAM,SAAS,aAAAA,QAAM,QAAQ,OAAuB;AAAA,IAClD;AAAA,IACA;AAAA,EACF,IAAI,CAAC,cAAc,WAAW,CAAC;AAE/B,SACE,4CAAC,0CAAoB,QAAQ,aAC3B,sDAAC,mBAAAC,eAAA,EAAkB,QAChB,UACH,GACF;AAEJ;","names":["React","BaseChipiProvider"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
|
|
4
|
-
interface ChipiClientWrapperProps {
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
apiPublicKey: string;
|
|
7
|
-
environment?: 'development' | 'production';
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Client-side wrapper for Chipi SDK in Next.js
|
|
11
|
-
* This component runs on the client and receives the API key as a prop
|
|
12
|
-
*/
|
|
13
|
-
declare function ChipiClientWrapper({ children, apiPublicKey, environment }: ChipiClientWrapperProps): react_jsx_runtime.JSX.Element;
|
|
14
|
-
|
|
15
|
-
export { ChipiClientWrapper };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
5
|
-
import { ChipiProvider as BaseChipiProvider } from "@chipi-stack/chipi-react";
|
|
6
|
-
const createDefaultQueryClient = () => new QueryClient({
|
|
7
|
-
defaultOptions: {
|
|
8
|
-
queries: {
|
|
9
|
-
staleTime: 60 * 1e3,
|
|
10
|
-
// 1 minute
|
|
11
|
-
gcTime: 10 * 60 * 1e3,
|
|
12
|
-
// 10 minutes (formerly cacheTime)
|
|
13
|
-
retry: (failureCount, error) => {
|
|
14
|
-
if (error?.status >= 400 && error?.status < 500) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return failureCount < 3;
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
mutations: {
|
|
21
|
-
retry: false
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
function ChipiClientWrapper({
|
|
26
|
-
children,
|
|
27
|
-
apiPublicKey,
|
|
28
|
-
environment = "development"
|
|
29
|
-
}) {
|
|
30
|
-
const queryClient = React.useMemo(() => createDefaultQueryClient(), []);
|
|
31
|
-
const config = React.useMemo(() => ({
|
|
32
|
-
apiPublicKey,
|
|
33
|
-
environment
|
|
34
|
-
}), [apiPublicKey, environment]);
|
|
35
|
-
return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(BaseChipiProvider, { config, children }) });
|
|
36
|
-
}
|
|
37
|
-
export {
|
|
38
|
-
ChipiClientWrapper
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=ChipiClientWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/ChipiClientWrapper.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { ChipiProvider as BaseChipiProvider } from '@chipi-stack/chipi-react';\nimport type { ChipiSDKConfig } from '@chipi-stack/types';\n\ninterface ChipiClientWrapperProps {\n children: React.ReactNode;\n apiPublicKey: string;\n environment?: 'development' | 'production';\n}\n\n// Default QueryClient configuration for Next.js\nconst createDefaultQueryClient = () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 60 * 1000, // 1 minute\n gcTime: 10 * 60 * 1000, // 10 minutes (formerly cacheTime)\n retry: (failureCount, error: any) => {\n // Don't retry on 4xx errors\n if (error?.status >= 400 && error?.status < 500) {\n return false;\n }\n return failureCount < 3;\n },\n },\n mutations: {\n retry: false,\n },\n },\n });\n\n/**\n * Client-side wrapper for Chipi SDK in Next.js\n * This component runs on the client and receives the API key as a prop\n */\nexport function ChipiClientWrapper({ \n children, \n apiPublicKey,\n environment = 'development'\n}: ChipiClientWrapperProps) {\n // Create QueryClient\n const queryClient = React.useMemo(() => createDefaultQueryClient(), []);\n\n // Create config\n const config = React.useMemo((): ChipiSDKConfig => ({\n apiPublicKey,\n environment,\n }), [apiPublicKey, environment]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <BaseChipiProvider config={config}>\n {children}\n </BaseChipiProvider>\n </QueryClientProvider>\n );\n}\n"],"mappings":";AAsDM;AApDN,OAAO,WAAW;AAClB,SAAS,aAAa,2BAA2B;AACjD,SAAS,iBAAiB,yBAAyB;AAUnD,MAAM,2BAA2B,MAC/B,IAAI,YAAY;AAAA,EACd,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,WAAW,KAAK;AAAA;AAAA,MAChB,QAAQ,KAAK,KAAK;AAAA;AAAA,MAClB,OAAO,CAAC,cAAc,UAAe;AAEnC,YAAI,OAAO,UAAU,OAAO,OAAO,SAAS,KAAK;AAC/C,iBAAO;AAAA,QACT;AACA,eAAO,eAAe;AAAA,MACxB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAMI,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAA4B;AAE1B,QAAM,cAAc,MAAM,QAAQ,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAGtE,QAAM,SAAS,MAAM,QAAQ,OAAuB;AAAA,IAClD;AAAA,IACA;AAAA,EACF,IAAI,CAAC,cAAc,WAAW,CAAC;AAE/B,SACE,oBAAC,uBAAoB,QAAQ,aAC3B,8BAAC,qBAAkB,QAChB,UACH,GACF;AAEJ;","names":[]}
|