@builder.io/sdk-react-nextjs 0.16.17 → 0.16.19
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/lib/browser/components/content/components/enable-editor.cjs +1 -1
- package/lib/browser/components/content/components/enable-editor.mjs +107 -105
- package/lib/browser/components/content/content.cjs +1 -1
- package/lib/browser/components/content/content.mjs +23 -21
- package/lib/browser/components/content-variants/content-variants.cjs +1 -1
- package/lib/browser/components/content-variants/content-variants.mjs +10 -8
- package/lib/browser/constants/sdk-version.cjs +1 -1
- package/lib/browser/constants/sdk-version.mjs +1 -1
- package/lib/browser/functions/get-content/generate-content-url.cjs +1 -1
- package/lib/browser/functions/get-content/generate-content-url.mjs +24 -23
- package/lib/browser/functions/get-content/index.cjs +1 -1
- package/lib/browser/functions/get-content/index.mjs +50 -43
- package/lib/browser/functions/track/index.cjs +1 -1
- package/lib/browser/functions/track/index.mjs +35 -31
- package/lib/browser/helpers/sdk-headers.cjs +1 -0
- package/lib/browser/helpers/sdk-headers.mjs +10 -0
- package/lib/edge/components/content/components/enable-editor.cjs +1 -1
- package/lib/edge/components/content/components/enable-editor.mjs +107 -105
- package/lib/edge/components/content/content.cjs +1 -1
- package/lib/edge/components/content/content.mjs +23 -21
- package/lib/edge/components/content-variants/content-variants.cjs +1 -1
- package/lib/edge/components/content-variants/content-variants.mjs +10 -8
- package/lib/edge/constants/sdk-version.cjs +1 -1
- package/lib/edge/constants/sdk-version.mjs +1 -1
- package/lib/edge/functions/get-content/generate-content-url.cjs +1 -1
- package/lib/edge/functions/get-content/generate-content-url.mjs +24 -23
- package/lib/edge/functions/get-content/index.cjs +1 -1
- package/lib/edge/functions/get-content/index.mjs +50 -43
- package/lib/edge/functions/track/index.cjs +1 -1
- package/lib/edge/functions/track/index.mjs +35 -31
- package/lib/edge/helpers/sdk-headers.cjs +1 -0
- package/lib/edge/helpers/sdk-headers.mjs +10 -0
- package/lib/node/components/content/components/enable-editor.cjs +1 -1
- package/lib/node/components/content/components/enable-editor.mjs +107 -105
- package/lib/node/components/content/content.cjs +1 -1
- package/lib/node/components/content/content.mjs +23 -21
- package/lib/node/components/content-variants/content-variants.cjs +1 -1
- package/lib/node/components/content-variants/content-variants.mjs +10 -8
- package/lib/node/constants/sdk-version.cjs +1 -1
- package/lib/node/constants/sdk-version.mjs +1 -1
- package/lib/node/functions/get-content/generate-content-url.cjs +1 -1
- package/lib/node/functions/get-content/generate-content-url.mjs +24 -23
- package/lib/node/functions/get-content/index.cjs +1 -1
- package/lib/node/functions/get-content/index.mjs +50 -43
- package/lib/node/functions/track/index.cjs +1 -1
- package/lib/node/functions/track/index.mjs +35 -31
- package/lib/node/helpers/sdk-headers.cjs +1 -0
- package/lib/node/helpers/sdk-headers.mjs +10 -0
- package/package.json +1 -1
- package/types/cjs/components/content/components/enable-editor.d.ts +1 -1
- package/types/cjs/components/content-variants/content-variants.types.d.ts +4 -0
- package/types/cjs/constants/sdk-version.d.ts +1 -1
- package/types/cjs/functions/get-content/types.d.ts +4 -0
- package/types/cjs/functions/track/index.d.ts +3 -1
- package/types/cjs/helpers/sdk-headers.d.ts +5 -0
- package/types/esm/components/content/components/enable-editor.d.ts +1 -1
- package/types/esm/components/content-variants/content-variants.types.d.ts +4 -0
- package/types/esm/constants/sdk-version.d.ts +1 -1
- package/types/esm/functions/get-content/types.d.ts +4 -0
- package/types/esm/functions/track/index.d.ts +3 -1
- package/types/esm/helpers/sdk-headers.d.ts +5 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { flatten as g, flattenMongoQuery as
|
|
2
|
-
import { normalizeSearchParams as
|
|
3
|
-
import { DEFAULT_API_VERSION as
|
|
4
|
-
import { getBuilderSearchParamsFromWindow as
|
|
5
|
-
const y = (
|
|
1
|
+
import { flatten as g, flattenMongoQuery as O } from "../../helpers/flatten.mjs";
|
|
2
|
+
import { normalizeSearchParams as k } from "../../helpers/search/search.mjs";
|
|
3
|
+
import { DEFAULT_API_VERSION as E } from "../../types/api-version.mjs";
|
|
4
|
+
import { getBuilderSearchParamsFromWindow as I } from "../get-builder-search-params/index.mjs";
|
|
5
|
+
const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
|
|
6
6
|
const {
|
|
7
7
|
limit: c = 30,
|
|
8
8
|
userAttributes: m,
|
|
@@ -11,42 +11,43 @@ const y = (s) => typeof s == "number" && !isNaN(s) && s >= 0, J = (s) => {
|
|
|
11
11
|
apiKey: l,
|
|
12
12
|
enrich: h,
|
|
13
13
|
locale: d,
|
|
14
|
-
apiVersion: a =
|
|
14
|
+
apiVersion: a = E,
|
|
15
15
|
fields: u,
|
|
16
16
|
omit: N,
|
|
17
17
|
offset: i,
|
|
18
18
|
cacheSeconds: n,
|
|
19
19
|
staleCacheSeconds: o,
|
|
20
20
|
sort: P,
|
|
21
|
-
includeUnpublished:
|
|
22
|
-
|
|
21
|
+
includeUnpublished: p,
|
|
22
|
+
apiHost: v
|
|
23
|
+
} = r;
|
|
23
24
|
if (!l)
|
|
24
25
|
throw new Error("Missing API key");
|
|
25
26
|
if (!["v3"].includes(a))
|
|
26
27
|
throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);
|
|
27
|
-
const
|
|
28
|
-
if (e.searchParams.set("apiKey", l), e.searchParams.set("limit", String(c)), e.searchParams.set("noTraverse", String(
|
|
29
|
-
const
|
|
28
|
+
const U = c !== 1, w = v || "https://cdn.builder.io", e = new URL(`${w}/api/${a}/content/${b}`);
|
|
29
|
+
if (e.searchParams.set("apiKey", l), e.searchParams.set("limit", String(c)), e.searchParams.set("noTraverse", String(U)), e.searchParams.set("includeRefs", String(!0)), d && e.searchParams.set("locale", d), h && e.searchParams.set("enrich", String(h)), e.searchParams.set("omit", N || "meta.componentsUsed"), u && e.searchParams.set("fields", u), Number.isFinite(i) && i > -1 && e.searchParams.set("offset", String(Math.floor(i))), typeof p == "boolean" && e.searchParams.set("includeUnpublished", String(p)), n && y(n) && e.searchParams.set("cacheSeconds", String(n)), o && y(o) && e.searchParams.set("staleCacheSeconds", String(o)), P) {
|
|
30
|
+
const s = g({
|
|
30
31
|
sort: P
|
|
31
32
|
});
|
|
32
|
-
for (const t in
|
|
33
|
-
e.searchParams.set(t, JSON.stringify(
|
|
33
|
+
for (const t in s)
|
|
34
|
+
e.searchParams.set(t, JSON.stringify(s[t]));
|
|
34
35
|
}
|
|
35
|
-
const
|
|
36
|
-
...
|
|
37
|
-
...
|
|
38
|
-
},
|
|
39
|
-
for (const
|
|
40
|
-
e.searchParams.set(
|
|
36
|
+
const A = {
|
|
37
|
+
...I(),
|
|
38
|
+
...k(r.options || {})
|
|
39
|
+
}, S = g(A);
|
|
40
|
+
for (const s in S)
|
|
41
|
+
e.searchParams.set(s, String(S[s]));
|
|
41
42
|
if (m && e.searchParams.set("userAttributes", JSON.stringify(m)), f) {
|
|
42
|
-
const
|
|
43
|
+
const s = O({
|
|
43
44
|
query: f
|
|
44
45
|
});
|
|
45
|
-
for (const t in
|
|
46
|
-
e.searchParams.set(t, JSON.stringify(
|
|
46
|
+
for (const t in s)
|
|
47
|
+
e.searchParams.set(t, JSON.stringify(s[t]));
|
|
47
48
|
}
|
|
48
49
|
return e;
|
|
49
50
|
};
|
|
50
51
|
export {
|
|
51
|
-
|
|
52
|
+
M as generateContentUrl
|
|
52
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../constants/target.cjs"),h=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),o=require("../../helpers/logger.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../constants/target.cjs"),h=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),o=require("../../helpers/logger.cjs"),d=require("../../helpers/preview-lru-cache/get.cjs"),C=require("../../helpers/sdk-headers.cjs"),y=require("../get-fetch.cjs"),T=require("../is-browser.cjs"),u=require("./generate-content-url.cjs"),q=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var s,a;const t=u.generateContentUrl(e),r=(s=e.fetch)!=null?s:y.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...C.getSdkHeaders()}};return await(await r(t.href,c)).json()},i=async(e,t,r=u.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const n=[];for(const s of t.results){const a=d.getPreviewContent(r.searchParams);n.push(a||s)}t.results=n}if(!c||!(T.isBrowser()||g.TARGET==="reactNative"))return t.results;try{const n=[];for(const s of t.results)n.push(await h.handleABTesting({item:s,canTrack:c}));t.results=n}catch(n){o.logger.error("Could not process A/B tests. ",n)}return t.results};async function l(e){try{const t=u.generateContentUrl(e),r=await v(e);return q(r)?i(e,r):(o.logger.error("Error fetching data. ",{url:t,content:r,options:e}),null)}catch(t){return o.logger.error("Error fetching data. ",t),null}}exports._processContentResult=i;exports.fetchEntries=l;exports.fetchOneEntry=k;
|
|
@@ -1,62 +1,69 @@
|
|
|
1
|
-
import { TARGET as
|
|
1
|
+
import { TARGET as u } from "../../constants/target.mjs";
|
|
2
2
|
import { handleABTesting as l } from "../../helpers/ab-tests.mjs";
|
|
3
|
-
import { getDefaultCanTrack as
|
|
4
|
-
import { logger as
|
|
5
|
-
import { getPreviewContent as
|
|
6
|
-
import {
|
|
3
|
+
import { getDefaultCanTrack as h } from "../../helpers/canTrack.mjs";
|
|
4
|
+
import { logger as a } from "../../helpers/logger.mjs";
|
|
5
|
+
import { getPreviewContent as m } from "../../helpers/preview-lru-cache/get.mjs";
|
|
6
|
+
import { getSdkHeaders as w } from "../../helpers/sdk-headers.mjs";
|
|
7
|
+
import { fetch as p } from "../get-fetch.mjs";
|
|
7
8
|
import { isBrowser as g } from "../is-browser.mjs";
|
|
8
|
-
import { generateContentUrl as
|
|
9
|
-
const
|
|
10
|
-
async function
|
|
11
|
-
const
|
|
12
|
-
...
|
|
9
|
+
import { generateContentUrl as i } from "./generate-content-url.mjs";
|
|
10
|
+
const d = (r) => "results" in r;
|
|
11
|
+
async function H(r) {
|
|
12
|
+
const t = await v({
|
|
13
|
+
...r,
|
|
13
14
|
limit: 1
|
|
14
15
|
});
|
|
15
|
-
return
|
|
16
|
+
return t && t[0] || null;
|
|
16
17
|
}
|
|
17
|
-
const C = async (
|
|
18
|
-
var
|
|
19
|
-
const r =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const e = [];
|
|
25
|
-
for (const c of r.results) {
|
|
26
|
-
const u = h(s.searchParams);
|
|
27
|
-
e.push(u || c);
|
|
18
|
+
const C = async (r) => {
|
|
19
|
+
var n, o;
|
|
20
|
+
const t = i(r), e = (n = r.fetch) != null ? n : p, c = {
|
|
21
|
+
...r.fetchOptions,
|
|
22
|
+
headers: {
|
|
23
|
+
...(o = r.fetchOptions) == null ? void 0 : o.headers,
|
|
24
|
+
...w()
|
|
28
25
|
}
|
|
29
|
-
|
|
26
|
+
};
|
|
27
|
+
return await (await e(t.href, c)).json();
|
|
28
|
+
}, y = async (r, t, e = i(r)) => {
|
|
29
|
+
const c = h(r.canTrack);
|
|
30
|
+
if (e.search.includes("preview=")) {
|
|
31
|
+
const s = [];
|
|
32
|
+
for (const n of t.results) {
|
|
33
|
+
const o = m(e.searchParams);
|
|
34
|
+
s.push(o || n);
|
|
35
|
+
}
|
|
36
|
+
t.results = s;
|
|
30
37
|
}
|
|
31
|
-
if (!
|
|
32
|
-
return
|
|
38
|
+
if (!c || !(g() || u === "reactNative"))
|
|
39
|
+
return t.results;
|
|
33
40
|
try {
|
|
34
|
-
const
|
|
35
|
-
for (const
|
|
36
|
-
|
|
37
|
-
item:
|
|
38
|
-
canTrack:
|
|
41
|
+
const s = [];
|
|
42
|
+
for (const n of t.results)
|
|
43
|
+
s.push(await l({
|
|
44
|
+
item: n,
|
|
45
|
+
canTrack: c
|
|
39
46
|
}));
|
|
40
|
-
|
|
41
|
-
} catch (
|
|
42
|
-
|
|
47
|
+
t.results = s;
|
|
48
|
+
} catch (s) {
|
|
49
|
+
a.error("Could not process A/B tests. ", s);
|
|
43
50
|
}
|
|
44
|
-
return
|
|
51
|
+
return t.results;
|
|
45
52
|
};
|
|
46
|
-
async function v(
|
|
53
|
+
async function v(r) {
|
|
47
54
|
try {
|
|
48
|
-
const
|
|
49
|
-
return
|
|
50
|
-
url:
|
|
51
|
-
content:
|
|
52
|
-
options:
|
|
55
|
+
const t = i(r), e = await C(r);
|
|
56
|
+
return d(e) ? y(r, e) : (a.error("Error fetching data. ", {
|
|
57
|
+
url: t,
|
|
58
|
+
content: e,
|
|
59
|
+
options: r
|
|
53
60
|
}), null);
|
|
54
|
-
} catch (
|
|
55
|
-
return
|
|
61
|
+
} catch (t) {
|
|
62
|
+
return a.error("Error fetching data. ", t), null;
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
65
|
export {
|
|
59
66
|
y as _processContentResult,
|
|
60
67
|
v as fetchEntries,
|
|
61
|
-
|
|
68
|
+
H as fetchOneEntry
|
|
62
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../constants/target.cjs"),a=require("../../helpers/logger.cjs"),c=require("../../helpers/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../constants/target.cjs"),a=require("../../helpers/logger.cjs"),c=require("../../helpers/sdk-headers.cjs"),d=require("../../helpers/sessionId.cjs"),u=require("../../helpers/visitorId.cjs"),g=require("../is-browser.cjs"),l=require("../is-editing.cjs"),y=require("./helpers.cjs"),I=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await d.getSessionId({canTrack:e}),r=u.getVisitorId({canTrack:e});return{sessionId:t,visitorId:r}},k=async({type:e,canTrack:t,apiKey:r,metadata:i,...o})=>({type:e,data:{...o,metadata:{url:location.href,...i},...await I({canTrack:t}),userAttributes:y.getUserAttributes(),ownerId:r}});async function s({apiHost:e,...t}){if(!t.apiKey){a.logger.error("Missing API key for track call. Please provide your API key.");return}return!t.canTrack||l.isEditing()||!(g.isBrowser()||n.TARGET==="reactNative")?void 0:fetch(`${e||"https://cdn.builder.io"}/api/v1/track`,{method:"POST",body:JSON.stringify({events:[await k(t)]}),headers:{"content-type":"application/json",...c.getSdkHeaders()},mode:"cors"}).catch(i=>{console.error("Failed to track: ",i)})}const f=e=>s({...e,canTrack:!0});exports._track=s;exports.track=f;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { TARGET as a } from "../../constants/target.mjs";
|
|
2
2
|
import { logger as s } from "../../helpers/logger.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { getSdkHeaders as n } from "../../helpers/sdk-headers.mjs";
|
|
4
|
+
import { getSessionId as c } from "../../helpers/sessionId.mjs";
|
|
5
|
+
import { getVisitorId as d } from "../../helpers/visitorId.mjs";
|
|
6
|
+
import { isBrowser as m } from "../is-browser.mjs";
|
|
6
7
|
import { isEditing as f } from "../is-editing.mjs";
|
|
7
|
-
import { getUserAttributes as
|
|
8
|
-
const
|
|
8
|
+
import { getUserAttributes as p } from "./helpers.mjs";
|
|
9
|
+
const u = async ({
|
|
9
10
|
canTrack: t
|
|
10
11
|
}) => {
|
|
11
12
|
if (!t)
|
|
@@ -13,60 +14,63 @@ const p = async ({
|
|
|
13
14
|
visitorId: void 0,
|
|
14
15
|
sessionId: void 0
|
|
15
16
|
};
|
|
16
|
-
const r = await
|
|
17
|
+
const r = await c({
|
|
17
18
|
canTrack: t
|
|
18
|
-
}), e =
|
|
19
|
+
}), e = d({
|
|
19
20
|
canTrack: t
|
|
20
21
|
});
|
|
21
22
|
return {
|
|
22
23
|
sessionId: r,
|
|
23
24
|
visitorId: e
|
|
24
25
|
};
|
|
25
|
-
},
|
|
26
|
+
}, l = async ({
|
|
26
27
|
type: t,
|
|
27
28
|
canTrack: r,
|
|
28
29
|
apiKey: e,
|
|
29
|
-
metadata:
|
|
30
|
-
...
|
|
30
|
+
metadata: o,
|
|
31
|
+
...i
|
|
31
32
|
}) => ({
|
|
32
33
|
type: t,
|
|
33
34
|
data: {
|
|
34
|
-
...
|
|
35
|
+
...i,
|
|
35
36
|
metadata: {
|
|
36
37
|
url: location.href,
|
|
37
|
-
...
|
|
38
|
+
...o
|
|
38
39
|
},
|
|
39
|
-
...await
|
|
40
|
+
...await u({
|
|
40
41
|
canTrack: r
|
|
41
42
|
}),
|
|
42
|
-
userAttributes:
|
|
43
|
+
userAttributes: p(),
|
|
43
44
|
ownerId: e
|
|
44
45
|
}
|
|
45
46
|
});
|
|
46
|
-
async function y(
|
|
47
|
-
|
|
47
|
+
async function y({
|
|
48
|
+
apiHost: t,
|
|
49
|
+
...r
|
|
50
|
+
}) {
|
|
51
|
+
if (!r.apiKey) {
|
|
48
52
|
s.error("Missing API key for track call. Please provide your API key.");
|
|
49
53
|
return;
|
|
50
54
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
return !r.canTrack || f() || !(m() || a === "reactNative") ? void 0 : fetch(`${t || "https://cdn.builder.io"}/api/v1/track`, {
|
|
56
|
+
method: "POST",
|
|
57
|
+
body: JSON.stringify({
|
|
58
|
+
events: [await l(r)]
|
|
59
|
+
}),
|
|
60
|
+
headers: {
|
|
61
|
+
"content-type": "application/json",
|
|
62
|
+
...n()
|
|
63
|
+
},
|
|
64
|
+
mode: "cors"
|
|
65
|
+
}).catch((o) => {
|
|
66
|
+
console.error("Failed to track: ", o);
|
|
67
|
+
});
|
|
64
68
|
}
|
|
65
|
-
const
|
|
69
|
+
const E = (t) => y({
|
|
66
70
|
...t,
|
|
67
71
|
canTrack: !0
|
|
68
72
|
});
|
|
69
73
|
export {
|
|
70
74
|
y as _track,
|
|
71
|
-
|
|
75
|
+
E as track
|
|
72
76
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants/sdk-version.cjs"),r=require("../constants/target.cjs"),t=()=>({"X-Builder-SDK":r.TARGET,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":e.SDK_VERSION});exports.getSdkHeaders=t;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SDK_VERSION as r } from "../constants/sdk-version.mjs";
|
|
2
|
+
import { TARGET as e } from "../constants/target.mjs";
|
|
3
|
+
const S = () => ({
|
|
4
|
+
"X-Builder-SDK": e,
|
|
5
|
+
"X-Builder-SDK-GEN": "2",
|
|
6
|
+
"X-Builder-SDK-Version": r
|
|
7
|
+
});
|
|
8
|
+
export {
|
|
9
|
+
S as getSdkHeaders
|
|
10
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";const k=require("react/jsx-runtime"),o=require("react"),
|
|
1
|
+
"use client";"use strict";const k=require("react/jsx-runtime"),o=require("react"),N=require("../../../context/builder.context.cjs"),W=require("../../../functions/evaluate/evaluate.cjs"),A=require("../../../functions/fast-clone.cjs"),B=require("../../../functions/get-content/index.cjs"),R=require("../../../functions/is-browser.cjs"),g=require("../../../functions/is-editing.cjs"),D=require("../../../functions/is-previewing.cjs"),U=require("../../../functions/register-component.cjs"),P=require("../../../functions/track/index.cjs"),O=require("../../../functions/track/interaction.cjs"),y=require("../../../helpers/canTrack.cjs"),F=require("../../../helpers/preview-lru-cache/set.cjs"),$=require("../../../helpers/subscribe-to-editor.cjs"),H=require("../../../scripts/init-editing.cjs"),z=require("../../block/animator.cjs"),G=require("./styles.helpers.cjs"),J=require("next/navigation");function Q(e){var q,w,I;const d=o.useRef(null);function f(n){var a,i;const t={...e.builderContextSignal.rootState,...n};e.builderContextSignal.rootSetState?(i=(a=e.builderContextSignal).rootSetState)==null||i.call(a,t):e.builderContextSignal.rootState=t}function b(n){var a,i,r,c,u;const t={...e.builderContextSignal.content,...n,data:{...(a=e.builderContextSignal.content)==null?void 0:a.data,...n==null?void 0:n.data},meta:{...(i=e.builderContextSignal.content)==null?void 0:i.meta,...n==null?void 0:n.meta,breakpoints:((r=n==null?void 0:n.meta)==null?void 0:r.breakpoints)||((u=(c=e.builderContextSignal.content)==null?void 0:c.meta)==null?void 0:u.breakpoints)}};F.postPreviewContent({value:t,key:t.id}).then(()=>{V.refresh()})}function L(){return e.showContent?{}:{hidden:!0,"aria-hidden":!0}}const[K,X]=o.useState(()=>e.contentWrapper||"div");function S(n){return $.createEditorListener({model:e.model,trustedHosts:e.trustedHosts,callbacks:{configureSdk:t=>{var r;const{breakpoints:a,contentId:i}=t;!i||i!==((r=e.builderContextSignal.content)==null?void 0:r.id)||a&&b({meta:{breakpoints:a}})},animation:t=>{z.triggerAnimation(t)},contentUpdate:t=>{b(t)}}})(n)}const[v,Y]=o.useState(()=>({})),[m,Z]=o.useState(()=>({})),[h,T]=o.useState(()=>!1);function _(n){var t,a;if(e.builderContextSignal.content){const i=(t=e.builderContextSignal.content)==null?void 0:t.testVariationId,r=(a=e.builderContextSignal.content)==null?void 0:a.id;P._track({apiHost:e.apiHost,type:"click",canTrack:y.getDefaultCanTrack(e.canTrack),contentId:r,apiKey:e.apiKey,variationId:i!==r?i:void 0,...O.getInteractionPropertiesForEvent(n),unique:!h})}h||T(!0)}function j(){var t,a,i;const n=(i=(a=(t=e.builderContextSignal.content)==null?void 0:t.data)==null?void 0:a.httpRequests)!=null?i:{};Object.entries(n).forEach(([r,c])=>{if(!c||m[r]||v[r]&&!g.isEditing())return;m[r]=!0;const u=c.replace(/{{([^}]+)}}/g,(s,M)=>String(W.evaluate({code:M,context:e.context||{},localState:void 0,rootState:e.builderContextSignal.rootState,rootSetState:e.builderContextSignal.rootSetState})));fetch(u).then(s=>s.json()).then(s=>{f({[r]:s}),v[r]=!0}).catch(s=>{console.error("error fetching dynamic data",c,s)}).finally(()=>{m[r]=!1})})}function l(){g.isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:A.fastClone(e.builderContextSignal.rootState),ref:{name:e.model}}}))}function E(n){window.addEventListener("message",S),H.registerInsertMenu(),H.setupBrowserForEditing({...e.locale?{locale:e.locale}:{},...e.enrich?{enrich:e.enrich}:{},...e.trustedHosts?{trustedHosts:e.trustedHosts}:{}}),Object.values(e.builderContextSignal.componentInfos).forEach(t=>{var i;const a=U.createRegisterComponentMessage(t);(i=window.parent)==null||i.postMessage(a,"*")}),window.addEventListener("builder:component:stateChangeListenerActivated",l)}function x(n){const t=new URL(location.href).searchParams,a=t.get("builder.preview"),i=t.get(`builder.overrides.${a}`),r=t.get("apiKey")||t.get("builder.space");a===e.model&&r===e.apiKey&&(!e.content||i===e.content.id)&&B.fetchOneEntry({model:e.model,apiKey:e.apiKey,apiVersion:e.builderContextSignal.apiVersion}).then(c=>{c&&b(c)})}const V=J.useRouter(),C=o.useRef(!1);return C.current||(j(),l(),C.current=!0),o.useEffect(()=>{var n;return(n=d.current)==null||n.addEventListener("initeditingbldr",E),()=>{var t;return(t=d.current)==null?void 0:t.removeEventListener("initeditingbldr",E)}},[]),o.useEffect(()=>{var n;return(n=d.current)==null||n.addEventListener("initpreviewingbldr",x),()=>{var t;return(t=d.current)==null?void 0:t.removeEventListener("initpreviewingbldr",x)}},[]),o.useEffect(()=>{var n,t;if(R.isBrowser()){if(g.isEditing()&&!e.isNestedRender&&d.current&&d.current.dispatchEvent(new CustomEvent("initeditingbldr")),e.builderContextSignal.content&&y.getDefaultCanTrack(e.canTrack)){const i=(n=e.builderContextSignal.content)==null?void 0:n.testVariationId,r=(t=e.builderContextSignal.content)==null?void 0:t.id,c=e.apiKey;P._track({apiHost:e.apiHost,type:"impression",canTrack:!0,contentId:r,apiKey:c,variationId:i!==r?i:void 0})}D.isPreviewing()&&g.isEditing()}},[]),o.useEffect(()=>{},[e.content]),o.useEffect(()=>{l()},[e.builderContextSignal.rootState]),o.useEffect(()=>{e.data&&f(e.data)},[e.data]),o.useEffect(()=>{e.locale&&f({locale:e.locale})},[e.locale]),o.useEffect(()=>()=>{R.isBrowser()&&(window.removeEventListener("message",S),window.removeEventListener("builder:component:stateChangeListenerActivated",l))},[]),k.jsx(N.Provider,{value:e.builderContextSignal,children:e.builderContextSignal.content?k.jsx(K,{ref:d,onClick:n=>_(n),"builder-content-id":(q=e.builderContextSignal.content)==null?void 0:q.id,"builder-model":e.model,className:G.getWrapperClassName(((w=e.content)==null?void 0:w.testVariationId)||((I=e.content)==null?void 0:I.id)),...L(),...e.contentWrapperProps,children:e.children}):null})}module.exports=Q;
|