@dheme/next 1.10.0 → 1.12.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.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -3
- package/dist/index.mjs +5 -3
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -10,14 +10,17 @@ interface DhemeProviderProps extends DhemeProviderProps$1 {
|
|
|
10
10
|
* URL of a proxy route that forwards theme requests server-side,
|
|
11
11
|
* keeping the API key out of the browser entirely.
|
|
12
12
|
*
|
|
13
|
+
* Defaults to `"/api/dheme"` when neither `apiKey` nor `onGenerateTheme` is provided.
|
|
14
|
+
* This means the only required setup is creating the route — no need to pass this prop explicitly.
|
|
15
|
+
*
|
|
13
16
|
* Set up the route with `createDhemeHandler` from `@dheme/next/server`:
|
|
14
17
|
* @example
|
|
15
18
|
* // app/api/dheme/route.ts
|
|
16
19
|
* import { createDhemeHandler } from '@dheme/next/server';
|
|
17
20
|
* export const { POST } = createDhemeHandler({ apiKey: process.env.DHEME_API_KEY! });
|
|
18
21
|
*
|
|
19
|
-
* // layout.tsx
|
|
20
|
-
* <DhemeProvider
|
|
22
|
+
* // layout.tsx — proxyUrl is optional, defaults to "/api/dheme"
|
|
23
|
+
* <DhemeProvider theme="..." themeParams={...} />
|
|
21
24
|
*/
|
|
22
25
|
proxyUrl?: string;
|
|
23
26
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,14 +10,17 @@ interface DhemeProviderProps extends DhemeProviderProps$1 {
|
|
|
10
10
|
* URL of a proxy route that forwards theme requests server-side,
|
|
11
11
|
* keeping the API key out of the browser entirely.
|
|
12
12
|
*
|
|
13
|
+
* Defaults to `"/api/dheme"` when neither `apiKey` nor `onGenerateTheme` is provided.
|
|
14
|
+
* This means the only required setup is creating the route — no need to pass this prop explicitly.
|
|
15
|
+
*
|
|
13
16
|
* Set up the route with `createDhemeHandler` from `@dheme/next/server`:
|
|
14
17
|
* @example
|
|
15
18
|
* // app/api/dheme/route.ts
|
|
16
19
|
* import { createDhemeHandler } from '@dheme/next/server';
|
|
17
20
|
* export const { POST } = createDhemeHandler({ apiKey: process.env.DHEME_API_KEY! });
|
|
18
21
|
*
|
|
19
|
-
* // layout.tsx
|
|
20
|
-
* <DhemeProvider
|
|
22
|
+
* // layout.tsx — proxyUrl is optional, defaults to "/api/dheme"
|
|
23
|
+
* <DhemeProvider theme="..." themeParams={...} />
|
|
21
24
|
*/
|
|
22
25
|
proxyUrl?: string;
|
|
23
26
|
}
|
package/dist/index.js
CHANGED
|
@@ -47,6 +47,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
47
47
|
var import_react = __toESM(require("react"));
|
|
48
48
|
var import_react2 = require("@dheme/react");
|
|
49
49
|
var COOKIE_MAX_AGE = 31536e3;
|
|
50
|
+
var DEFAULT_PROXY_URL = "/api/dheme";
|
|
50
51
|
function setCookie(name, value) {
|
|
51
52
|
document.cookie = `${name}=${value};path=/;max-age=${COOKIE_MAX_AGE};SameSite=Lax`;
|
|
52
53
|
}
|
|
@@ -84,9 +85,10 @@ function DhemeProvider({
|
|
|
84
85
|
},
|
|
85
86
|
[cookieSync, onModeChange]
|
|
86
87
|
);
|
|
88
|
+
const effectiveProxyUrl = proxyUrl ?? (props.apiKey || onGenerateTheme ? void 0 : DEFAULT_PROXY_URL);
|
|
87
89
|
const proxyGenerateTheme = (0, import_react.useCallback)(
|
|
88
90
|
async (params) => {
|
|
89
|
-
const res = await fetch(
|
|
91
|
+
const res = await fetch(effectiveProxyUrl, {
|
|
90
92
|
method: "POST",
|
|
91
93
|
headers: { "Content-Type": "application/json" },
|
|
92
94
|
body: JSON.stringify(params)
|
|
@@ -97,9 +99,9 @@ function DhemeProvider({
|
|
|
97
99
|
}
|
|
98
100
|
return res.json();
|
|
99
101
|
},
|
|
100
|
-
[
|
|
102
|
+
[effectiveProxyUrl]
|
|
101
103
|
);
|
|
102
|
-
const resolvedGenerateTheme =
|
|
104
|
+
const resolvedGenerateTheme = effectiveProxyUrl ? proxyGenerateTheme : onGenerateTheme;
|
|
103
105
|
return import_react.default.createElement(import_react2.DhemeProvider, {
|
|
104
106
|
...props,
|
|
105
107
|
theme: primaryColor,
|
package/dist/index.mjs
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import React, { useCallback, useRef } from "react";
|
|
5
5
|
import { DhemeProvider as ReactDhemeProvider } from "@dheme/react";
|
|
6
6
|
var COOKIE_MAX_AGE = 31536e3;
|
|
7
|
+
var DEFAULT_PROXY_URL = "/api/dheme";
|
|
7
8
|
function setCookie(name, value) {
|
|
8
9
|
document.cookie = `${name}=${value};path=/;max-age=${COOKIE_MAX_AGE};SameSite=Lax`;
|
|
9
10
|
}
|
|
@@ -41,9 +42,10 @@ function DhemeProvider({
|
|
|
41
42
|
},
|
|
42
43
|
[cookieSync, onModeChange]
|
|
43
44
|
);
|
|
45
|
+
const effectiveProxyUrl = proxyUrl ?? (props.apiKey || onGenerateTheme ? void 0 : DEFAULT_PROXY_URL);
|
|
44
46
|
const proxyGenerateTheme = useCallback(
|
|
45
47
|
async (params) => {
|
|
46
|
-
const res = await fetch(
|
|
48
|
+
const res = await fetch(effectiveProxyUrl, {
|
|
47
49
|
method: "POST",
|
|
48
50
|
headers: { "Content-Type": "application/json" },
|
|
49
51
|
body: JSON.stringify(params)
|
|
@@ -54,9 +56,9 @@ function DhemeProvider({
|
|
|
54
56
|
}
|
|
55
57
|
return res.json();
|
|
56
58
|
},
|
|
57
|
-
[
|
|
59
|
+
[effectiveProxyUrl]
|
|
58
60
|
);
|
|
59
|
-
const resolvedGenerateTheme =
|
|
61
|
+
const resolvedGenerateTheme = effectiveProxyUrl ? proxyGenerateTheme : onGenerateTheme;
|
|
60
62
|
return React.createElement(ReactDhemeProvider, {
|
|
61
63
|
...props,
|
|
62
64
|
theme: primaryColor,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dheme/next",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Next.js App Router bindings for Dheme SDK with server-side theme generation",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@dheme/sdk": "^1.1.0",
|
|
59
|
-
"@dheme/react": "^2.
|
|
59
|
+
"@dheme/react": "^2.13.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/react": "^18.2.0",
|