@builder.io/sdk-solid 0.7.0 → 0.7.1-1
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/dev.js +102 -58
- package/lib/browser/dev.jsx +104 -59
- package/lib/browser/index.js +101 -57
- package/lib/browser/index.jsx +103 -58
- package/lib/edge/dev.js +158 -74
- package/lib/edge/dev.jsx +160 -75
- package/lib/edge/index.js +157 -73
- package/lib/edge/index.jsx +159 -74
- package/lib/node/dev.js +555 -374
- package/lib/node/dev.jsx +556 -374
- package/lib/node/index.js +553 -373
- package/lib/node/index.jsx +554 -373
- package/package.json +2 -1
package/lib/browser/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createComponent, spread, mergeProps, insert, effect, setAttribute, className, style, template, memo, Dynamic, use } from 'solid-js/web';
|
|
2
2
|
import { createContext, Show, useContext, For, createSignal, onMount, createEffect, on } from 'solid-js';
|
|
3
3
|
import { css } from 'solid-styled-components';
|
|
4
4
|
|
|
@@ -183,6 +183,19 @@ var getFunctionArguments = ({
|
|
|
183
183
|
event
|
|
184
184
|
});
|
|
185
185
|
};
|
|
186
|
+
var getBuilderGlobals = () => ({
|
|
187
|
+
isEditing: isEditing(),
|
|
188
|
+
isBrowser: isBrowser(),
|
|
189
|
+
isServer: !isBrowser(),
|
|
190
|
+
getUserAttributes: () => getUserAttributes()
|
|
191
|
+
});
|
|
192
|
+
var parseCode = (code, {
|
|
193
|
+
isExpression = true
|
|
194
|
+
}) => {
|
|
195
|
+
const useReturn = isExpression && !(code.includes(";") || code.includes(" return ") || code.trim().startsWith("return "));
|
|
196
|
+
const useCode = useReturn ? `return (${code});` : code;
|
|
197
|
+
return useCode;
|
|
198
|
+
};
|
|
186
199
|
|
|
187
200
|
// src/functions/evaluate/browser-runtime/browser.js
|
|
188
201
|
var runInBrowser = ({
|
|
@@ -224,6 +237,9 @@ function flattenState(rootState, localState, rootSetState) {
|
|
|
224
237
|
});
|
|
225
238
|
}
|
|
226
239
|
|
|
240
|
+
// src/functions/evaluate/choose-eval.js
|
|
241
|
+
var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInBrowser(args);
|
|
242
|
+
|
|
227
243
|
// src/functions/evaluate/evaluate.js
|
|
228
244
|
function evaluate({
|
|
229
245
|
code,
|
|
@@ -238,17 +254,11 @@ function evaluate({
|
|
|
238
254
|
logger.warn("Skipping evaluation of empty code block.");
|
|
239
255
|
return;
|
|
240
256
|
}
|
|
241
|
-
const builder = {
|
|
242
|
-
isEditing: isEditing(),
|
|
243
|
-
isBrowser: isBrowser(),
|
|
244
|
-
isServer: !isBrowser(),
|
|
245
|
-
getUserAttributes: () => getUserAttributes()
|
|
246
|
-
};
|
|
247
|
-
const useReturn = isExpression && !(code.includes(";") || code.includes(" return ") || code.trim().startsWith("return "));
|
|
248
|
-
const useCode = useReturn ? `return (${code});` : code;
|
|
249
257
|
const args = {
|
|
250
|
-
code:
|
|
251
|
-
|
|
258
|
+
code: parseCode(code, {
|
|
259
|
+
isExpression
|
|
260
|
+
}),
|
|
261
|
+
builder: getBuilderGlobals(),
|
|
252
262
|
context,
|
|
253
263
|
event,
|
|
254
264
|
rootSetState,
|
|
@@ -256,7 +266,7 @@ function evaluate({
|
|
|
256
266
|
localState
|
|
257
267
|
};
|
|
258
268
|
try {
|
|
259
|
-
return
|
|
269
|
+
return chooseBrowserOrServerEval(args);
|
|
260
270
|
} catch (e) {
|
|
261
271
|
logger.error("Failed code evaluation: " + e.message, {
|
|
262
272
|
code
|
|
@@ -2668,41 +2678,39 @@ var _tmpl$13 = /* @__PURE__ */ template(`<div>`);
|
|
|
2668
2678
|
function CustomCode(props) {
|
|
2669
2679
|
const [scriptsInserted, setScriptsInserted] = createSignal([]);
|
|
2670
2680
|
const [scriptsRun, setScriptsRun] = createSignal([]);
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2681
|
+
let elementRef;
|
|
2682
|
+
onMount(() => {
|
|
2683
|
+
if (!elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
2684
|
+
return;
|
|
2685
|
+
}
|
|
2686
|
+
const scripts = elementRef.getElementsByTagName("script");
|
|
2687
|
+
for (let i = 0; i < scripts.length; i++) {
|
|
2688
|
+
const script = scripts[i];
|
|
2689
|
+
if (script.src) {
|
|
2690
|
+
if (scriptsInserted().includes(script.src)) {
|
|
2691
|
+
continue;
|
|
2692
|
+
}
|
|
2693
|
+
scriptsInserted().push(script.src);
|
|
2694
|
+
const newScript = document.createElement("script");
|
|
2695
|
+
newScript.async = true;
|
|
2696
|
+
newScript.src = script.src;
|
|
2697
|
+
document.head.appendChild(newScript);
|
|
2698
|
+
} else if (!script.type || ["text/javascript", "application/javascript", "application/ecmascript"].includes(script.type)) {
|
|
2699
|
+
if (scriptsRun().includes(script.innerText)) {
|
|
2700
|
+
continue;
|
|
2701
|
+
}
|
|
2702
|
+
try {
|
|
2703
|
+
scriptsRun().push(script.innerText);
|
|
2704
|
+
new Function(script.innerText)();
|
|
2705
|
+
} catch (error) {
|
|
2694
2706
|
}
|
|
2695
2707
|
}
|
|
2696
2708
|
}
|
|
2697
|
-
}
|
|
2698
|
-
let elem;
|
|
2699
|
-
onMount(() => {
|
|
2700
|
-
findAndRunScripts();
|
|
2701
2709
|
});
|
|
2702
2710
|
return (() => {
|
|
2703
2711
|
const _el$ = _tmpl$13();
|
|
2704
|
-
const _ref$ =
|
|
2705
|
-
typeof _ref$ === "function" ? use(_ref$, _el$) :
|
|
2712
|
+
const _ref$ = elementRef;
|
|
2713
|
+
typeof _ref$ === "function" ? use(_ref$, _el$) : elementRef = _el$;
|
|
2706
2714
|
effect((_p$) => {
|
|
2707
2715
|
const _v$ = "builder-custom-code" + (props.replaceNodes ? " replace-nodes" : ""), _v$2 = props.code;
|
|
2708
2716
|
_v$ !== _p$._v$ && className(_el$, _p$._v$ = _v$);
|
|
@@ -3360,7 +3368,7 @@ var track = (args) => _track(__spreadProps9(__spreadValues12({}, args), {
|
|
|
3360
3368
|
}));
|
|
3361
3369
|
|
|
3362
3370
|
// src/constants/sdk-version.js
|
|
3363
|
-
var SDK_VERSION = "0.7.
|
|
3371
|
+
var SDK_VERSION = "0.7.1-1";
|
|
3364
3372
|
|
|
3365
3373
|
// src/functions/register.js
|
|
3366
3374
|
var registry = {};
|
|
@@ -3813,6 +3821,7 @@ var __spreadValues15 = (a, b) => {
|
|
|
3813
3821
|
}
|
|
3814
3822
|
return a;
|
|
3815
3823
|
};
|
|
3824
|
+
var isPositiveNumber = (thing) => typeof thing === "number" && !isNaN(thing) && thing >= 0;
|
|
3816
3825
|
var generateContentUrl = (options) => {
|
|
3817
3826
|
let {
|
|
3818
3827
|
noTraverse = false
|
|
@@ -3826,7 +3835,14 @@ var generateContentUrl = (options) => {
|
|
|
3826
3835
|
includeRefs = true,
|
|
3827
3836
|
enrich,
|
|
3828
3837
|
locale,
|
|
3829
|
-
apiVersion = DEFAULT_API_VERSION
|
|
3838
|
+
apiVersion = DEFAULT_API_VERSION,
|
|
3839
|
+
fields,
|
|
3840
|
+
omit,
|
|
3841
|
+
offset,
|
|
3842
|
+
cacheSeconds,
|
|
3843
|
+
staleCacheSeconds,
|
|
3844
|
+
sort,
|
|
3845
|
+
includeUnpublished
|
|
3830
3846
|
} = options;
|
|
3831
3847
|
if (!apiKey) {
|
|
3832
3848
|
throw new Error("Missing API key");
|
|
@@ -3838,6 +3854,30 @@ var generateContentUrl = (options) => {
|
|
|
3838
3854
|
noTraverse = true;
|
|
3839
3855
|
}
|
|
3840
3856
|
const url = new URL(`https://cdn.builder.io/api/${apiVersion}/content/${model}?apiKey=${apiKey}&limit=${limit}&noTraverse=${noTraverse}&includeRefs=${includeRefs}${locale ? `&locale=${locale}` : ""}${enrich ? `&enrich=${enrich}` : ""}`);
|
|
3857
|
+
url.searchParams.set("omit", omit || "meta.componentsUsed");
|
|
3858
|
+
if (fields) {
|
|
3859
|
+
url.searchParams.set("fields", fields);
|
|
3860
|
+
}
|
|
3861
|
+
if (Number.isFinite(offset) && offset > -1) {
|
|
3862
|
+
url.searchParams.set("offset", String(Math.floor(offset)));
|
|
3863
|
+
}
|
|
3864
|
+
if (typeof includeUnpublished === "boolean") {
|
|
3865
|
+
url.searchParams.set("includeUnpublished", String(includeUnpublished));
|
|
3866
|
+
}
|
|
3867
|
+
if (cacheSeconds && isPositiveNumber(cacheSeconds)) {
|
|
3868
|
+
url.searchParams.set("cacheSeconds", String(cacheSeconds));
|
|
3869
|
+
}
|
|
3870
|
+
if (staleCacheSeconds && isPositiveNumber(staleCacheSeconds)) {
|
|
3871
|
+
url.searchParams.set("staleCacheSeconds", String(staleCacheSeconds));
|
|
3872
|
+
}
|
|
3873
|
+
if (sort) {
|
|
3874
|
+
const flattened2 = flatten({
|
|
3875
|
+
sort
|
|
3876
|
+
});
|
|
3877
|
+
for (const key in flattened2) {
|
|
3878
|
+
url.searchParams.set(key, JSON.stringify(flattened2[key]));
|
|
3879
|
+
}
|
|
3880
|
+
}
|
|
3841
3881
|
const queryOptions = __spreadValues15(__spreadValues15({}, getBuilderSearchParamsFromWindow()), normalizeSearchParams(options.options || {}));
|
|
3842
3882
|
const flattened = flatten(queryOptions);
|
|
3843
3883
|
for (const key in flattened) {
|
|
@@ -4127,11 +4167,8 @@ function EnableEditor(props) {
|
|
|
4127
4167
|
}
|
|
4128
4168
|
let elementRef;
|
|
4129
4169
|
onMount(() => {
|
|
4130
|
-
if (!props.apiKey) {
|
|
4131
|
-
logger.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop.");
|
|
4132
|
-
}
|
|
4133
4170
|
if (isBrowser()) {
|
|
4134
|
-
if (isEditing()) {
|
|
4171
|
+
if (isEditing() && true) {
|
|
4135
4172
|
setForceReRenderCount(forceReRenderCount() + 1);
|
|
4136
4173
|
window.addEventListener("message", processMessage);
|
|
4137
4174
|
registerInsertMenu();
|
|
@@ -4152,18 +4189,20 @@ function EnableEditor(props) {
|
|
|
4152
4189
|
});
|
|
4153
4190
|
window.addEventListener("builder:component:stateChangeListenerActivated", emitStateUpdate);
|
|
4154
4191
|
}
|
|
4155
|
-
|
|
4192
|
+
const shouldTrackImpression = props.builderContextSignal.content && getDefaultCanTrack(props.canTrack);
|
|
4193
|
+
if (shouldTrackImpression) {
|
|
4156
4194
|
const variationId = props.builderContextSignal.content?.testVariationId;
|
|
4157
4195
|
const contentId = props.builderContextSignal.content?.id;
|
|
4196
|
+
const apiKeyProp = props.apiKey;
|
|
4158
4197
|
_track({
|
|
4159
4198
|
type: "impression",
|
|
4160
|
-
canTrack:
|
|
4199
|
+
canTrack: true,
|
|
4161
4200
|
contentId,
|
|
4162
|
-
apiKey:
|
|
4201
|
+
apiKey: apiKeyProp,
|
|
4163
4202
|
variationId: variationId !== contentId ? variationId : void 0
|
|
4164
4203
|
});
|
|
4165
4204
|
}
|
|
4166
|
-
if (isPreviewing()) {
|
|
4205
|
+
if (isPreviewing() && true) {
|
|
4167
4206
|
const searchParams = new URL(location.href).searchParams;
|
|
4168
4207
|
const searchParamPreviewModel = searchParams.get("builder.preview");
|
|
4169
4208
|
const searchParamPreviewId = searchParams.get(`builder.preview.${searchParamPreviewModel}`);
|
|
@@ -4180,11 +4219,16 @@ function EnableEditor(props) {
|
|
|
4180
4219
|
});
|
|
4181
4220
|
}
|
|
4182
4221
|
}
|
|
4183
|
-
evaluateJsCode();
|
|
4184
|
-
runHttpRequests();
|
|
4185
|
-
emitStateUpdate();
|
|
4186
4222
|
}
|
|
4187
4223
|
});
|
|
4224
|
+
onMount(() => {
|
|
4225
|
+
if (!props.apiKey) {
|
|
4226
|
+
logger.error("No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop.");
|
|
4227
|
+
}
|
|
4228
|
+
evaluateJsCode();
|
|
4229
|
+
runHttpRequests();
|
|
4230
|
+
emitStateUpdate();
|
|
4231
|
+
});
|
|
4188
4232
|
function onUpdateFn_0() {
|
|
4189
4233
|
if (props.content) {
|
|
4190
4234
|
mergeNewContent(props.content);
|
|
@@ -4217,16 +4261,17 @@ function EnableEditor(props) {
|
|
|
4217
4261
|
},
|
|
4218
4262
|
get children() {
|
|
4219
4263
|
const _el$ = _tmpl$14();
|
|
4220
|
-
_el$.$$click = (event) => onClick(event);
|
|
4221
4264
|
const _ref$ = elementRef;
|
|
4222
4265
|
typeof _ref$ === "function" ? use(_ref$, _el$) : elementRef = _el$;
|
|
4223
4266
|
spread(_el$, mergeProps({
|
|
4224
4267
|
get ["class"]() {
|
|
4225
4268
|
return props.classNameProp;
|
|
4226
|
-
}
|
|
4269
|
+
}
|
|
4270
|
+
}, {}, {
|
|
4227
4271
|
get key() {
|
|
4228
4272
|
return forceReRenderCount();
|
|
4229
4273
|
},
|
|
4274
|
+
"onClick": (event) => onClick(event),
|
|
4230
4275
|
get ["builder-content-id"]() {
|
|
4231
4276
|
return props.builderContextSignal.content?.id;
|
|
4232
4277
|
},
|
|
@@ -4245,7 +4290,6 @@ function EnableEditor(props) {
|
|
|
4245
4290
|
});
|
|
4246
4291
|
}
|
|
4247
4292
|
var enable_editor_default = EnableEditor;
|
|
4248
|
-
delegateEvents(["click"]);
|
|
4249
4293
|
var _tmpl$15 = /* @__PURE__ */ template(`<script>`);
|
|
4250
4294
|
function InlinedScript(props) {
|
|
4251
4295
|
return (() => {
|
package/lib/browser/index.jsx
CHANGED
|
@@ -170,6 +170,19 @@ var getFunctionArguments = ({
|
|
|
170
170
|
event
|
|
171
171
|
});
|
|
172
172
|
};
|
|
173
|
+
var getBuilderGlobals = () => ({
|
|
174
|
+
isEditing: isEditing(),
|
|
175
|
+
isBrowser: isBrowser(),
|
|
176
|
+
isServer: !isBrowser(),
|
|
177
|
+
getUserAttributes: () => getUserAttributes()
|
|
178
|
+
});
|
|
179
|
+
var parseCode = (code, {
|
|
180
|
+
isExpression = true
|
|
181
|
+
}) => {
|
|
182
|
+
const useReturn = isExpression && !(code.includes(";") || code.includes(" return ") || code.trim().startsWith("return "));
|
|
183
|
+
const useCode = useReturn ? `return (${code});` : code;
|
|
184
|
+
return useCode;
|
|
185
|
+
};
|
|
173
186
|
|
|
174
187
|
// src/functions/evaluate/browser-runtime/browser.js
|
|
175
188
|
var runInBrowser = ({
|
|
@@ -211,6 +224,9 @@ function flattenState(rootState, localState, rootSetState) {
|
|
|
211
224
|
});
|
|
212
225
|
}
|
|
213
226
|
|
|
227
|
+
// src/functions/evaluate/choose-eval.js
|
|
228
|
+
var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInBrowser(args);
|
|
229
|
+
|
|
214
230
|
// src/functions/evaluate/evaluate.js
|
|
215
231
|
function evaluate({
|
|
216
232
|
code,
|
|
@@ -225,17 +241,11 @@ function evaluate({
|
|
|
225
241
|
logger.warn("Skipping evaluation of empty code block.");
|
|
226
242
|
return;
|
|
227
243
|
}
|
|
228
|
-
const builder = {
|
|
229
|
-
isEditing: isEditing(),
|
|
230
|
-
isBrowser: isBrowser(),
|
|
231
|
-
isServer: !isBrowser(),
|
|
232
|
-
getUserAttributes: () => getUserAttributes()
|
|
233
|
-
};
|
|
234
|
-
const useReturn = isExpression && !(code.includes(";") || code.includes(" return ") || code.trim().startsWith("return "));
|
|
235
|
-
const useCode = useReturn ? `return (${code});` : code;
|
|
236
244
|
const args = {
|
|
237
|
-
code:
|
|
238
|
-
|
|
245
|
+
code: parseCode(code, {
|
|
246
|
+
isExpression
|
|
247
|
+
}),
|
|
248
|
+
builder: getBuilderGlobals(),
|
|
239
249
|
context,
|
|
240
250
|
event,
|
|
241
251
|
rootSetState,
|
|
@@ -243,7 +253,7 @@ function evaluate({
|
|
|
243
253
|
localState
|
|
244
254
|
};
|
|
245
255
|
try {
|
|
246
|
-
return
|
|
256
|
+
return chooseBrowserOrServerEval(args);
|
|
247
257
|
} catch (e) {
|
|
248
258
|
logger.error("Failed code evaluation: " + e.message, {
|
|
249
259
|
code
|
|
@@ -2402,44 +2412,42 @@ import { onMount, createSignal as createSignal10 } from "solid-js";
|
|
|
2402
2412
|
function CustomCode(props) {
|
|
2403
2413
|
const [scriptsInserted, setScriptsInserted] = createSignal10([]);
|
|
2404
2414
|
const [scriptsRun, setScriptsRun] = createSignal10([]);
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2415
|
+
let elementRef;
|
|
2416
|
+
onMount(() => {
|
|
2417
|
+
if (!elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
2418
|
+
return;
|
|
2419
|
+
}
|
|
2420
|
+
const scripts = elementRef.getElementsByTagName("script");
|
|
2421
|
+
for (let i = 0; i < scripts.length; i++) {
|
|
2422
|
+
const script = scripts[i];
|
|
2423
|
+
if (script.src) {
|
|
2424
|
+
if (scriptsInserted().includes(script.src)) {
|
|
2425
|
+
continue;
|
|
2426
|
+
}
|
|
2427
|
+
scriptsInserted().push(script.src);
|
|
2428
|
+
const newScript = document.createElement("script");
|
|
2429
|
+
newScript.async = true;
|
|
2430
|
+
newScript.src = script.src;
|
|
2431
|
+
document.head.appendChild(newScript);
|
|
2432
|
+
} else if (!script.type || [
|
|
2433
|
+
"text/javascript",
|
|
2434
|
+
"application/javascript",
|
|
2435
|
+
"application/ecmascript"
|
|
2436
|
+
].includes(script.type)) {
|
|
2437
|
+
if (scriptsRun().includes(script.innerText)) {
|
|
2438
|
+
continue;
|
|
2439
|
+
}
|
|
2440
|
+
try {
|
|
2441
|
+
scriptsRun().push(script.innerText);
|
|
2442
|
+
new Function(script.innerText)();
|
|
2443
|
+
} catch (error) {
|
|
2432
2444
|
}
|
|
2433
2445
|
}
|
|
2434
2446
|
}
|
|
2435
|
-
}
|
|
2436
|
-
let elem;
|
|
2437
|
-
onMount(() => {
|
|
2438
|
-
findAndRunScripts();
|
|
2439
2447
|
});
|
|
2440
2448
|
return <div
|
|
2441
2449
|
class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
|
|
2442
|
-
ref={
|
|
2450
|
+
ref={elementRef}
|
|
2443
2451
|
innerHTML={props.code}
|
|
2444
2452
|
/>;
|
|
2445
2453
|
}
|
|
@@ -3092,7 +3100,7 @@ var track = (args) => _track(__spreadProps9(__spreadValues12({}, args), {
|
|
|
3092
3100
|
}));
|
|
3093
3101
|
|
|
3094
3102
|
// src/constants/sdk-version.js
|
|
3095
|
-
var SDK_VERSION = "0.7.
|
|
3103
|
+
var SDK_VERSION = "0.7.1-1";
|
|
3096
3104
|
|
|
3097
3105
|
// src/functions/register.js
|
|
3098
3106
|
var registry = {};
|
|
@@ -3545,6 +3553,7 @@ var __spreadValues15 = (a, b) => {
|
|
|
3545
3553
|
}
|
|
3546
3554
|
return a;
|
|
3547
3555
|
};
|
|
3556
|
+
var isPositiveNumber = (thing) => typeof thing === "number" && !isNaN(thing) && thing >= 0;
|
|
3548
3557
|
var generateContentUrl = (options) => {
|
|
3549
3558
|
let {
|
|
3550
3559
|
noTraverse = false
|
|
@@ -3558,7 +3567,14 @@ var generateContentUrl = (options) => {
|
|
|
3558
3567
|
includeRefs = true,
|
|
3559
3568
|
enrich,
|
|
3560
3569
|
locale,
|
|
3561
|
-
apiVersion = DEFAULT_API_VERSION
|
|
3570
|
+
apiVersion = DEFAULT_API_VERSION,
|
|
3571
|
+
fields,
|
|
3572
|
+
omit,
|
|
3573
|
+
offset,
|
|
3574
|
+
cacheSeconds,
|
|
3575
|
+
staleCacheSeconds,
|
|
3576
|
+
sort,
|
|
3577
|
+
includeUnpublished
|
|
3562
3578
|
} = options;
|
|
3563
3579
|
if (!apiKey) {
|
|
3564
3580
|
throw new Error("Missing API key");
|
|
@@ -3570,6 +3586,30 @@ var generateContentUrl = (options) => {
|
|
|
3570
3586
|
noTraverse = true;
|
|
3571
3587
|
}
|
|
3572
3588
|
const url = new URL(`https://cdn.builder.io/api/${apiVersion}/content/${model}?apiKey=${apiKey}&limit=${limit}&noTraverse=${noTraverse}&includeRefs=${includeRefs}${locale ? `&locale=${locale}` : ""}${enrich ? `&enrich=${enrich}` : ""}`);
|
|
3589
|
+
url.searchParams.set("omit", omit || "meta.componentsUsed");
|
|
3590
|
+
if (fields) {
|
|
3591
|
+
url.searchParams.set("fields", fields);
|
|
3592
|
+
}
|
|
3593
|
+
if (Number.isFinite(offset) && offset > -1) {
|
|
3594
|
+
url.searchParams.set("offset", String(Math.floor(offset)));
|
|
3595
|
+
}
|
|
3596
|
+
if (typeof includeUnpublished === "boolean") {
|
|
3597
|
+
url.searchParams.set("includeUnpublished", String(includeUnpublished));
|
|
3598
|
+
}
|
|
3599
|
+
if (cacheSeconds && isPositiveNumber(cacheSeconds)) {
|
|
3600
|
+
url.searchParams.set("cacheSeconds", String(cacheSeconds));
|
|
3601
|
+
}
|
|
3602
|
+
if (staleCacheSeconds && isPositiveNumber(staleCacheSeconds)) {
|
|
3603
|
+
url.searchParams.set("staleCacheSeconds", String(staleCacheSeconds));
|
|
3604
|
+
}
|
|
3605
|
+
if (sort) {
|
|
3606
|
+
const flattened2 = flatten({
|
|
3607
|
+
sort
|
|
3608
|
+
});
|
|
3609
|
+
for (const key in flattened2) {
|
|
3610
|
+
url.searchParams.set(key, JSON.stringify(flattened2[key]));
|
|
3611
|
+
}
|
|
3612
|
+
}
|
|
3573
3613
|
const queryOptions = __spreadValues15(__spreadValues15({}, getBuilderSearchParamsFromWindow()), normalizeSearchParams(options.options || {}));
|
|
3574
3614
|
const flattened = flatten(queryOptions);
|
|
3575
3615
|
for (const key in flattened) {
|
|
@@ -3855,13 +3895,8 @@ function EnableEditor(props) {
|
|
|
3855
3895
|
}
|
|
3856
3896
|
let elementRef;
|
|
3857
3897
|
onMount2(() => {
|
|
3858
|
-
if (!props.apiKey) {
|
|
3859
|
-
logger.error(
|
|
3860
|
-
"No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."
|
|
3861
|
-
);
|
|
3862
|
-
}
|
|
3863
3898
|
if (isBrowser()) {
|
|
3864
|
-
if (isEditing()) {
|
|
3899
|
+
if (isEditing() && true) {
|
|
3865
3900
|
setForceReRenderCount(forceReRenderCount() + 1);
|
|
3866
3901
|
window.addEventListener("message", processMessage);
|
|
3867
3902
|
registerInsertMenu();
|
|
@@ -3887,18 +3922,20 @@ function EnableEditor(props) {
|
|
|
3887
3922
|
emitStateUpdate
|
|
3888
3923
|
);
|
|
3889
3924
|
}
|
|
3890
|
-
|
|
3925
|
+
const shouldTrackImpression = props.builderContextSignal.content && getDefaultCanTrack(props.canTrack);
|
|
3926
|
+
if (shouldTrackImpression) {
|
|
3891
3927
|
const variationId = props.builderContextSignal.content?.testVariationId;
|
|
3892
3928
|
const contentId = props.builderContextSignal.content?.id;
|
|
3929
|
+
const apiKeyProp = props.apiKey;
|
|
3893
3930
|
_track({
|
|
3894
3931
|
type: "impression",
|
|
3895
|
-
canTrack:
|
|
3932
|
+
canTrack: true,
|
|
3896
3933
|
contentId,
|
|
3897
|
-
apiKey:
|
|
3934
|
+
apiKey: apiKeyProp,
|
|
3898
3935
|
variationId: variationId !== contentId ? variationId : void 0
|
|
3899
3936
|
});
|
|
3900
3937
|
}
|
|
3901
|
-
if (isPreviewing()) {
|
|
3938
|
+
if (isPreviewing() && true) {
|
|
3902
3939
|
const searchParams = new URL(location.href).searchParams;
|
|
3903
3940
|
const searchParamPreviewModel = searchParams.get("builder.preview");
|
|
3904
3941
|
const searchParamPreviewId = searchParams.get(
|
|
@@ -3917,11 +3954,18 @@ function EnableEditor(props) {
|
|
|
3917
3954
|
});
|
|
3918
3955
|
}
|
|
3919
3956
|
}
|
|
3920
|
-
evaluateJsCode();
|
|
3921
|
-
runHttpRequests();
|
|
3922
|
-
emitStateUpdate();
|
|
3923
3957
|
}
|
|
3924
3958
|
});
|
|
3959
|
+
onMount2(() => {
|
|
3960
|
+
if (!props.apiKey) {
|
|
3961
|
+
logger.error(
|
|
3962
|
+
"No API key provided to `RenderContent` component. This can cause issues. Please provide an API key using the `apiKey` prop."
|
|
3963
|
+
);
|
|
3964
|
+
}
|
|
3965
|
+
evaluateJsCode();
|
|
3966
|
+
runHttpRequests();
|
|
3967
|
+
emitStateUpdate();
|
|
3968
|
+
});
|
|
3925
3969
|
function onUpdateFn_0() {
|
|
3926
3970
|
if (props.content) {
|
|
3927
3971
|
mergeNewContent(props.content);
|
|
@@ -3958,6 +4002,7 @@ function EnableEditor(props) {
|
|
|
3958
4002
|
createEffect2(on2(() => [props.builderContextSignal.rootState], onUpdateFn_4));
|
|
3959
4003
|
return <stdin_default.Provider value={props.builderContextSignal}><Show9 when={props.builderContextSignal.content}><div
|
|
3960
4004
|
class={props.classNameProp}
|
|
4005
|
+
{...{}}
|
|
3961
4006
|
key={forceReRenderCount()}
|
|
3962
4007
|
ref={elementRef}
|
|
3963
4008
|
onClick={(event) => onClick(event)}
|