@builder.io/sdk-solid 4.0.2 → 4.0.3
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 +19 -8
- package/lib/browser/dev.jsx +35 -21
- package/lib/browser/index.js +19 -6
- package/lib/browser/index.jsx +35 -19
- package/lib/edge/dev.js +19 -8
- package/lib/edge/dev.jsx +35 -21
- package/lib/edge/index.js +19 -6
- package/lib/edge/index.jsx +35 -19
- package/lib/node/dev.js +19 -8
- package/lib/node/dev.jsx +35 -21
- package/lib/node/index.js +19 -6
- package/lib/node/index.jsx +35 -19
- package/package.json +1 -1
package/lib/node/dev.jsx
CHANGED
|
@@ -2087,7 +2087,7 @@ function SectionComponent(props) {
|
|
|
2087
2087
|
var section_default = SectionComponent;
|
|
2088
2088
|
|
|
2089
2089
|
// src/blocks/symbol/symbol.tsx
|
|
2090
|
-
import { onMount as onMount9, on as
|
|
2090
|
+
import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
|
|
2091
2091
|
|
|
2092
2092
|
// src/components/content-variants/content-variants.tsx
|
|
2093
2093
|
import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
|
|
@@ -3796,13 +3796,12 @@ var componentInfo12 = {
|
|
|
3796
3796
|
};
|
|
3797
3797
|
|
|
3798
3798
|
// src/blocks/custom-code/custom-code.tsx
|
|
3799
|
-
import { onMount as onMount5, createSignal as createSignal12 } from "solid-js";
|
|
3799
|
+
import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
|
|
3800
3800
|
function CustomCode(props) {
|
|
3801
3801
|
const [scriptsInserted, setScriptsInserted] = createSignal12([]);
|
|
3802
3802
|
const [scriptsRun, setScriptsRun] = createSignal12([]);
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
if (!elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
3803
|
+
function runScripts() {
|
|
3804
|
+
if (!elementRef || !elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
3806
3805
|
return;
|
|
3807
3806
|
}
|
|
3808
3807
|
const scripts = elementRef.getElementsByTagName("script");
|
|
@@ -3829,11 +3828,25 @@ function CustomCode(props) {
|
|
|
3829
3828
|
scriptsRun().push(script.innerText);
|
|
3830
3829
|
new Function(script.innerText)();
|
|
3831
3830
|
} catch (error2) {
|
|
3832
|
-
|
|
3831
|
+
logger.warn(
|
|
3832
|
+
"[BUILDER.IO] `CustomCode`: Error running script:",
|
|
3833
|
+
error2
|
|
3834
|
+
);
|
|
3833
3835
|
}
|
|
3834
3836
|
}
|
|
3835
3837
|
}
|
|
3838
|
+
}
|
|
3839
|
+
let elementRef;
|
|
3840
|
+
onMount5(() => {
|
|
3841
|
+
runScripts();
|
|
3836
3842
|
});
|
|
3843
|
+
const onUpdateFn_0_props_code = createMemo12(() => props.code);
|
|
3844
|
+
function onUpdateFn_0() {
|
|
3845
|
+
if (isEditing()) {
|
|
3846
|
+
runScripts();
|
|
3847
|
+
}
|
|
3848
|
+
}
|
|
3849
|
+
createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
|
|
3837
3850
|
return <><div
|
|
3838
3851
|
class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
|
|
3839
3852
|
ref={elementRef}
|
|
@@ -3861,7 +3874,7 @@ var componentInfo13 = {
|
|
|
3861
3874
|
};
|
|
3862
3875
|
|
|
3863
3876
|
// src/blocks/embed/embed.tsx
|
|
3864
|
-
import { on as
|
|
3877
|
+
import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
|
|
3865
3878
|
|
|
3866
3879
|
// src/blocks/embed/helpers.ts
|
|
3867
3880
|
var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
|
|
@@ -3889,7 +3902,7 @@ function Embed(props) {
|
|
|
3889
3902
|
scriptsRun().push(script.innerText);
|
|
3890
3903
|
new Function(script.innerText)();
|
|
3891
3904
|
} catch (error2) {
|
|
3892
|
-
|
|
3905
|
+
logger.warn("[BUILDER.IO] `Embed`: Error running script:", error2);
|
|
3893
3906
|
}
|
|
3894
3907
|
}
|
|
3895
3908
|
}
|
|
@@ -3903,8 +3916,8 @@ function Embed(props) {
|
|
|
3903
3916
|
findAndRunScripts();
|
|
3904
3917
|
}
|
|
3905
3918
|
}
|
|
3906
|
-
|
|
3907
|
-
|
|
3919
|
+
createEffect3(
|
|
3920
|
+
on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
|
|
3908
3921
|
);
|
|
3909
3922
|
return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
|
|
3910
3923
|
}
|
|
@@ -4946,7 +4959,7 @@ function serializeIncludingFunctions(info) {
|
|
|
4946
4959
|
}
|
|
4947
4960
|
|
|
4948
4961
|
// src/components/content-variants/inlined-fns.ts
|
|
4949
|
-
var UPDATE_COOKIES_AND_STYLES_SCRIPT = "function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {\n function getAndSetVariantId() {\n function setCookie(name, value, days) {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${contentId}`;\n const variantInCookie = getCookie(cookieName);\n const availableIDs = variants.map(vr => vr.id).concat(contentId);\n if (variantInCookie && availableIDs.includes(variantInCookie)) {\n return variantInCookie;\n }\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n return variant.id;\n }\n }\n setCookie(cookieName, contentId);\n return contentId;\n }\n const winningVariantId = getAndSetVariantId();\n
|
|
4962
|
+
var UPDATE_COOKIES_AND_STYLES_SCRIPT = "function updateCookiesAndStyles(contentId, variants, isHydrationTarget, isAngularSDK) {\n function getAndSetVariantId() {\n function setCookie(name, value, days) {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${contentId}`;\n const variantInCookie = getCookie(cookieName);\n const availableIDs = variants.map(vr => vr.id).concat(contentId);\n if (variantInCookie && availableIDs.includes(variantInCookie)) {\n return variantInCookie;\n }\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n return variant.id;\n }\n }\n setCookie(cookieName, contentId);\n return contentId;\n }\n const winningVariantId = getAndSetVariantId();\n let styleEl = document.currentScript?.previousElementSibling;\n if (isAngularSDK) {\n styleEl = document.currentScript?.parentElement?.previousElementSibling?.querySelector('style');\n }\n if (isHydrationTarget) {\n styleEl.remove();\n const thisScriptEl = document.currentScript;\n thisScriptEl?.remove();\n } else {\n const newStyleStr = variants.concat({\n id: contentId\n }).filter(variant => variant.id !== winningVariantId).map(value => {\n return `.variant-${value.id} { display: none; }\n `;\n }).join('');\n styleEl.innerHTML = newStyleStr;\n }\n}";
|
|
4950
4963
|
var UPDATE_VARIANT_VISIBILITY_SCRIPT = "function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {\n if (!navigator.cookieEnabled) {\n return;\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${defaultContentId}`;\n const winningVariant = getCookie(cookieName);\n const parentDiv = document.currentScript?.parentElement;\n const isDefaultContent = variantContentId === defaultContentId;\n const isWinningVariant = winningVariant === variantContentId;\n if (isWinningVariant && !isDefaultContent) {\n parentDiv?.removeAttribute('hidden');\n parentDiv?.removeAttribute('aria-hidden');\n } else if (!isWinningVariant && isDefaultContent) {\n parentDiv?.setAttribute('hidden', 'true');\n parentDiv?.setAttribute('aria-hidden', 'true');\n }\n if (isHydrationTarget) {\n if (!isWinningVariant) {\n parentDiv?.remove();\n }\n const thisScriptEl = document.currentScript;\n thisScriptEl?.remove();\n }\n return;\n}";
|
|
4951
4964
|
|
|
4952
4965
|
// src/components/content-variants/helpers.ts
|
|
@@ -4975,6 +4988,7 @@ var checkShouldRenderVariants2 = ({
|
|
|
4975
4988
|
return true;
|
|
4976
4989
|
};
|
|
4977
4990
|
var getIsHydrationTarget = (target) => target === "react" || target === "reactNative";
|
|
4991
|
+
var isAngularSDK = TARGET === "angular";
|
|
4978
4992
|
var isHydrationTarget = getIsHydrationTarget(TARGET);
|
|
4979
4993
|
var getInitVariantsFnsScriptString = () => `
|
|
4980
4994
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}
|
|
@@ -4982,7 +4996,7 @@ var getInitVariantsFnsScriptString = () => `
|
|
|
4982
4996
|
`;
|
|
4983
4997
|
var getUpdateCookieAndStylesScript = (variants, contentId) => `
|
|
4984
4998
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(
|
|
4985
|
-
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}
|
|
4999
|
+
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}, ${isAngularSDK}
|
|
4986
5000
|
)`;
|
|
4987
5001
|
var getUpdateVariantVisibilityScript = ({
|
|
4988
5002
|
contentId,
|
|
@@ -4995,8 +5009,8 @@ var getUpdateVariantVisibilityScript = ({
|
|
|
4995
5009
|
import {
|
|
4996
5010
|
Show as Show14,
|
|
4997
5011
|
onMount as onMount7,
|
|
4998
|
-
on as
|
|
4999
|
-
createEffect as
|
|
5012
|
+
on as on4,
|
|
5013
|
+
createEffect as createEffect4,
|
|
5000
5014
|
createMemo as createMemo16,
|
|
5001
5015
|
createSignal as createSignal16
|
|
5002
5016
|
} from "solid-js";
|
|
@@ -5008,7 +5022,7 @@ function getPreviewContent(_searchParams) {
|
|
|
5008
5022
|
}
|
|
5009
5023
|
|
|
5010
5024
|
// src/constants/sdk-version.ts
|
|
5011
|
-
var SDK_VERSION = "4.0.
|
|
5025
|
+
var SDK_VERSION = "4.0.3";
|
|
5012
5026
|
|
|
5013
5027
|
// src/helpers/sdk-headers.ts
|
|
5014
5028
|
var getSdkHeaders = () => ({
|
|
@@ -6100,15 +6114,15 @@ function EnableEditor(props) {
|
|
|
6100
6114
|
mergeNewContent(props.content);
|
|
6101
6115
|
}
|
|
6102
6116
|
}
|
|
6103
|
-
|
|
6117
|
+
createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
|
|
6104
6118
|
const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
|
|
6105
6119
|
() => props.builderContextSignal.rootState
|
|
6106
6120
|
);
|
|
6107
6121
|
function onUpdateFn_1() {
|
|
6108
6122
|
emitStateUpdate();
|
|
6109
6123
|
}
|
|
6110
|
-
|
|
6111
|
-
|
|
6124
|
+
createEffect4(
|
|
6125
|
+
on4(
|
|
6112
6126
|
() => [onUpdateFn_1_props_builderContextSignal_rootState()],
|
|
6113
6127
|
onUpdateFn_1
|
|
6114
6128
|
)
|
|
@@ -6119,7 +6133,7 @@ function EnableEditor(props) {
|
|
|
6119
6133
|
mergeNewRootState(props.data);
|
|
6120
6134
|
}
|
|
6121
6135
|
}
|
|
6122
|
-
|
|
6136
|
+
createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
|
|
6123
6137
|
const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
|
|
6124
6138
|
function onUpdateFn_3() {
|
|
6125
6139
|
if (props.locale) {
|
|
@@ -6128,7 +6142,7 @@ function EnableEditor(props) {
|
|
|
6128
6142
|
});
|
|
6129
6143
|
}
|
|
6130
6144
|
}
|
|
6131
|
-
|
|
6145
|
+
createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
|
|
6132
6146
|
return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
|
|
6133
6147
|
when={props.builderContextSignal.content || needsElementRefDivForEditing()}
|
|
6134
6148
|
><Dynamic5
|
|
@@ -6506,7 +6520,7 @@ function Symbol(props) {
|
|
|
6506
6520
|
function onUpdateFn_0() {
|
|
6507
6521
|
setContent();
|
|
6508
6522
|
}
|
|
6509
|
-
|
|
6523
|
+
createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
|
|
6510
6524
|
return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
|
|
6511
6525
|
nonce={props.builderContext.nonce}
|
|
6512
6526
|
isNestedRender={true}
|
package/lib/node/index.js
CHANGED
|
@@ -4159,9 +4159,8 @@ var _tmpl$13 = /* @__PURE__ */ template(`<div>`);
|
|
|
4159
4159
|
function CustomCode(props) {
|
|
4160
4160
|
const [scriptsInserted, setScriptsInserted] = createSignal([]);
|
|
4161
4161
|
const [scriptsRun, setScriptsRun] = createSignal([]);
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
if (!elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
4162
|
+
function runScripts() {
|
|
4163
|
+
if (!elementRef || !elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
4165
4164
|
return;
|
|
4166
4165
|
}
|
|
4167
4166
|
const scripts = elementRef.getElementsByTagName("script");
|
|
@@ -4184,10 +4183,22 @@ function CustomCode(props) {
|
|
|
4184
4183
|
scriptsRun().push(script.innerText);
|
|
4185
4184
|
new Function(script.innerText)();
|
|
4186
4185
|
} catch (error2) {
|
|
4186
|
+
logger.warn("[BUILDER.IO] `CustomCode`: Error running script:", error2);
|
|
4187
4187
|
}
|
|
4188
4188
|
}
|
|
4189
4189
|
}
|
|
4190
|
+
}
|
|
4191
|
+
let elementRef;
|
|
4192
|
+
onMount(() => {
|
|
4193
|
+
runScripts();
|
|
4190
4194
|
});
|
|
4195
|
+
const onUpdateFn_0_props_code = createMemo(() => props.code);
|
|
4196
|
+
function onUpdateFn_0() {
|
|
4197
|
+
if (isEditing()) {
|
|
4198
|
+
runScripts();
|
|
4199
|
+
}
|
|
4200
|
+
}
|
|
4201
|
+
createEffect(on(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
|
|
4191
4202
|
return (() => {
|
|
4192
4203
|
const _el$ = _tmpl$13();
|
|
4193
4204
|
const _ref$ = elementRef;
|
|
@@ -4251,6 +4262,7 @@ function Embed(props) {
|
|
|
4251
4262
|
scriptsRun().push(script.innerText);
|
|
4252
4263
|
new Function(script.innerText)();
|
|
4253
4264
|
} catch (error2) {
|
|
4265
|
+
logger.warn("[BUILDER.IO] `Embed`: Error running script:", error2);
|
|
4254
4266
|
}
|
|
4255
4267
|
}
|
|
4256
4268
|
}
|
|
@@ -5434,7 +5446,7 @@ function serializeIncludingFunctions(info) {
|
|
|
5434
5446
|
}
|
|
5435
5447
|
|
|
5436
5448
|
// src/components/content-variants/inlined-fns.ts
|
|
5437
|
-
var UPDATE_COOKIES_AND_STYLES_SCRIPT = "function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {\n function getAndSetVariantId() {\n function setCookie(name, value, days) {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${contentId}`;\n const variantInCookie = getCookie(cookieName);\n const availableIDs = variants.map(vr => vr.id).concat(contentId);\n if (variantInCookie && availableIDs.includes(variantInCookie)) {\n return variantInCookie;\n }\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n return variant.id;\n }\n }\n setCookie(cookieName, contentId);\n return contentId;\n }\n const winningVariantId = getAndSetVariantId();\n
|
|
5449
|
+
var UPDATE_COOKIES_AND_STYLES_SCRIPT = "function updateCookiesAndStyles(contentId, variants, isHydrationTarget, isAngularSDK) {\n function getAndSetVariantId() {\n function setCookie(name, value, days) {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${contentId}`;\n const variantInCookie = getCookie(cookieName);\n const availableIDs = variants.map(vr => vr.id).concat(contentId);\n if (variantInCookie && availableIDs.includes(variantInCookie)) {\n return variantInCookie;\n }\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n return variant.id;\n }\n }\n setCookie(cookieName, contentId);\n return contentId;\n }\n const winningVariantId = getAndSetVariantId();\n let styleEl = document.currentScript?.previousElementSibling;\n if (isAngularSDK) {\n styleEl = document.currentScript?.parentElement?.previousElementSibling?.querySelector('style');\n }\n if (isHydrationTarget) {\n styleEl.remove();\n const thisScriptEl = document.currentScript;\n thisScriptEl?.remove();\n } else {\n const newStyleStr = variants.concat({\n id: contentId\n }).filter(variant => variant.id !== winningVariantId).map(value => {\n return `.variant-${value.id} { display: none; }\n `;\n }).join('');\n styleEl.innerHTML = newStyleStr;\n }\n}";
|
|
5438
5450
|
var UPDATE_VARIANT_VISIBILITY_SCRIPT = "function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {\n if (!navigator.cookieEnabled) {\n return;\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${defaultContentId}`;\n const winningVariant = getCookie(cookieName);\n const parentDiv = document.currentScript?.parentElement;\n const isDefaultContent = variantContentId === defaultContentId;\n const isWinningVariant = winningVariant === variantContentId;\n if (isWinningVariant && !isDefaultContent) {\n parentDiv?.removeAttribute('hidden');\n parentDiv?.removeAttribute('aria-hidden');\n } else if (!isWinningVariant && isDefaultContent) {\n parentDiv?.setAttribute('hidden', 'true');\n parentDiv?.setAttribute('aria-hidden', 'true');\n }\n if (isHydrationTarget) {\n if (!isWinningVariant) {\n parentDiv?.remove();\n }\n const thisScriptEl = document.currentScript;\n thisScriptEl?.remove();\n }\n return;\n}";
|
|
5439
5451
|
|
|
5440
5452
|
// src/components/content-variants/helpers.ts
|
|
@@ -5463,6 +5475,7 @@ var checkShouldRenderVariants2 = ({
|
|
|
5463
5475
|
return true;
|
|
5464
5476
|
};
|
|
5465
5477
|
var getIsHydrationTarget = (target) => target === "react" || target === "reactNative";
|
|
5478
|
+
var isAngularSDK = TARGET === "angular";
|
|
5466
5479
|
var isHydrationTarget = getIsHydrationTarget(TARGET);
|
|
5467
5480
|
var getInitVariantsFnsScriptString = () => `
|
|
5468
5481
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}
|
|
@@ -5470,7 +5483,7 @@ var getInitVariantsFnsScriptString = () => `
|
|
|
5470
5483
|
`;
|
|
5471
5484
|
var getUpdateCookieAndStylesScript = (variants, contentId) => `
|
|
5472
5485
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(
|
|
5473
|
-
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}
|
|
5486
|
+
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}, ${isAngularSDK}
|
|
5474
5487
|
)`;
|
|
5475
5488
|
var getUpdateVariantVisibilityScript = ({
|
|
5476
5489
|
contentId,
|
|
@@ -5485,7 +5498,7 @@ function getPreviewContent(_searchParams) {
|
|
|
5485
5498
|
}
|
|
5486
5499
|
|
|
5487
5500
|
// src/constants/sdk-version.ts
|
|
5488
|
-
var SDK_VERSION = "4.0.
|
|
5501
|
+
var SDK_VERSION = "4.0.3";
|
|
5489
5502
|
|
|
5490
5503
|
// src/helpers/sdk-headers.ts
|
|
5491
5504
|
var getSdkHeaders = () => ({
|
package/lib/node/index.jsx
CHANGED
|
@@ -2079,7 +2079,7 @@ function SectionComponent(props) {
|
|
|
2079
2079
|
var section_default = SectionComponent;
|
|
2080
2080
|
|
|
2081
2081
|
// src/blocks/symbol/symbol.tsx
|
|
2082
|
-
import { onMount as onMount9, on as
|
|
2082
|
+
import { onMount as onMount9, on as on5, createEffect as createEffect5, createMemo as createMemo20, createSignal as createSignal20 } from "solid-js";
|
|
2083
2083
|
|
|
2084
2084
|
// src/components/content-variants/content-variants.tsx
|
|
2085
2085
|
import { Show as Show16, For as For9, onMount as onMount8, createSignal as createSignal19, createMemo as createMemo19 } from "solid-js";
|
|
@@ -3787,13 +3787,12 @@ var componentInfo12 = {
|
|
|
3787
3787
|
};
|
|
3788
3788
|
|
|
3789
3789
|
// src/blocks/custom-code/custom-code.tsx
|
|
3790
|
-
import { onMount as onMount5, createSignal as createSignal12 } from "solid-js";
|
|
3790
|
+
import { onMount as onMount5, on as on2, createEffect as createEffect2, createMemo as createMemo12, createSignal as createSignal12 } from "solid-js";
|
|
3791
3791
|
function CustomCode(props) {
|
|
3792
3792
|
const [scriptsInserted, setScriptsInserted] = createSignal12([]);
|
|
3793
3793
|
const [scriptsRun, setScriptsRun] = createSignal12([]);
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
if (!elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
3794
|
+
function runScripts() {
|
|
3795
|
+
if (!elementRef || !elementRef?.getElementsByTagName || typeof window === "undefined") {
|
|
3797
3796
|
return;
|
|
3798
3797
|
}
|
|
3799
3798
|
const scripts = elementRef.getElementsByTagName("script");
|
|
@@ -3820,10 +3819,25 @@ function CustomCode(props) {
|
|
|
3820
3819
|
scriptsRun().push(script.innerText);
|
|
3821
3820
|
new Function(script.innerText)();
|
|
3822
3821
|
} catch (error2) {
|
|
3822
|
+
logger.warn(
|
|
3823
|
+
"[BUILDER.IO] `CustomCode`: Error running script:",
|
|
3824
|
+
error2
|
|
3825
|
+
);
|
|
3823
3826
|
}
|
|
3824
3827
|
}
|
|
3825
3828
|
}
|
|
3829
|
+
}
|
|
3830
|
+
let elementRef;
|
|
3831
|
+
onMount5(() => {
|
|
3832
|
+
runScripts();
|
|
3826
3833
|
});
|
|
3834
|
+
const onUpdateFn_0_props_code = createMemo12(() => props.code);
|
|
3835
|
+
function onUpdateFn_0() {
|
|
3836
|
+
if (isEditing()) {
|
|
3837
|
+
runScripts();
|
|
3838
|
+
}
|
|
3839
|
+
}
|
|
3840
|
+
createEffect2(on2(() => [onUpdateFn_0_props_code()], onUpdateFn_0));
|
|
3827
3841
|
return <><div
|
|
3828
3842
|
class={"builder-custom-code" + (props.replaceNodes ? " replace-nodes" : "")}
|
|
3829
3843
|
ref={elementRef}
|
|
@@ -3851,7 +3865,7 @@ var componentInfo13 = {
|
|
|
3851
3865
|
};
|
|
3852
3866
|
|
|
3853
3867
|
// src/blocks/embed/embed.tsx
|
|
3854
|
-
import { on as
|
|
3868
|
+
import { on as on3, createEffect as createEffect3, createMemo as createMemo13, createSignal as createSignal13 } from "solid-js";
|
|
3855
3869
|
|
|
3856
3870
|
// src/blocks/embed/helpers.ts
|
|
3857
3871
|
var SCRIPT_MIME_TYPES = ["text/javascript", "application/javascript", "application/ecmascript"];
|
|
@@ -3879,6 +3893,7 @@ function Embed(props) {
|
|
|
3879
3893
|
scriptsRun().push(script.innerText);
|
|
3880
3894
|
new Function(script.innerText)();
|
|
3881
3895
|
} catch (error2) {
|
|
3896
|
+
logger.warn("[BUILDER.IO] `Embed`: Error running script:", error2);
|
|
3882
3897
|
}
|
|
3883
3898
|
}
|
|
3884
3899
|
}
|
|
@@ -3892,8 +3907,8 @@ function Embed(props) {
|
|
|
3892
3907
|
findAndRunScripts();
|
|
3893
3908
|
}
|
|
3894
3909
|
}
|
|
3895
|
-
|
|
3896
|
-
|
|
3910
|
+
createEffect3(
|
|
3911
|
+
on3(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0)
|
|
3897
3912
|
);
|
|
3898
3913
|
return <><div class="builder-embed" ref={elem} innerHTML={props.content} /></>;
|
|
3899
3914
|
}
|
|
@@ -4934,7 +4949,7 @@ function serializeIncludingFunctions(info) {
|
|
|
4934
4949
|
}
|
|
4935
4950
|
|
|
4936
4951
|
// src/components/content-variants/inlined-fns.ts
|
|
4937
|
-
var UPDATE_COOKIES_AND_STYLES_SCRIPT = "function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {\n function getAndSetVariantId() {\n function setCookie(name, value, days) {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${contentId}`;\n const variantInCookie = getCookie(cookieName);\n const availableIDs = variants.map(vr => vr.id).concat(contentId);\n if (variantInCookie && availableIDs.includes(variantInCookie)) {\n return variantInCookie;\n }\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n return variant.id;\n }\n }\n setCookie(cookieName, contentId);\n return contentId;\n }\n const winningVariantId = getAndSetVariantId();\n
|
|
4952
|
+
var UPDATE_COOKIES_AND_STYLES_SCRIPT = "function updateCookiesAndStyles(contentId, variants, isHydrationTarget, isAngularSDK) {\n function getAndSetVariantId() {\n function setCookie(name, value, days) {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${contentId}`;\n const variantInCookie = getCookie(cookieName);\n const availableIDs = variants.map(vr => vr.id).concat(contentId);\n if (variantInCookie && availableIDs.includes(variantInCookie)) {\n return variantInCookie;\n }\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n return variant.id;\n }\n }\n setCookie(cookieName, contentId);\n return contentId;\n }\n const winningVariantId = getAndSetVariantId();\n let styleEl = document.currentScript?.previousElementSibling;\n if (isAngularSDK) {\n styleEl = document.currentScript?.parentElement?.previousElementSibling?.querySelector('style');\n }\n if (isHydrationTarget) {\n styleEl.remove();\n const thisScriptEl = document.currentScript;\n thisScriptEl?.remove();\n } else {\n const newStyleStr = variants.concat({\n id: contentId\n }).filter(variant => variant.id !== winningVariantId).map(value => {\n return `.variant-${value.id} { display: none; }\n `;\n }).join('');\n styleEl.innerHTML = newStyleStr;\n }\n}";
|
|
4938
4953
|
var UPDATE_VARIANT_VISIBILITY_SCRIPT = "function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {\n if (!navigator.cookieEnabled) {\n return;\n }\n function getCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n const cookieName = `builder.tests.${defaultContentId}`;\n const winningVariant = getCookie(cookieName);\n const parentDiv = document.currentScript?.parentElement;\n const isDefaultContent = variantContentId === defaultContentId;\n const isWinningVariant = winningVariant === variantContentId;\n if (isWinningVariant && !isDefaultContent) {\n parentDiv?.removeAttribute('hidden');\n parentDiv?.removeAttribute('aria-hidden');\n } else if (!isWinningVariant && isDefaultContent) {\n parentDiv?.setAttribute('hidden', 'true');\n parentDiv?.setAttribute('aria-hidden', 'true');\n }\n if (isHydrationTarget) {\n if (!isWinningVariant) {\n parentDiv?.remove();\n }\n const thisScriptEl = document.currentScript;\n thisScriptEl?.remove();\n }\n return;\n}";
|
|
4939
4954
|
|
|
4940
4955
|
// src/components/content-variants/helpers.ts
|
|
@@ -4963,6 +4978,7 @@ var checkShouldRenderVariants2 = ({
|
|
|
4963
4978
|
return true;
|
|
4964
4979
|
};
|
|
4965
4980
|
var getIsHydrationTarget = (target) => target === "react" || target === "reactNative";
|
|
4981
|
+
var isAngularSDK = TARGET === "angular";
|
|
4966
4982
|
var isHydrationTarget = getIsHydrationTarget(TARGET);
|
|
4967
4983
|
var getInitVariantsFnsScriptString = () => `
|
|
4968
4984
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}
|
|
@@ -4970,7 +4986,7 @@ var getInitVariantsFnsScriptString = () => `
|
|
|
4970
4986
|
`;
|
|
4971
4987
|
var getUpdateCookieAndStylesScript = (variants, contentId) => `
|
|
4972
4988
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(
|
|
4973
|
-
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}
|
|
4989
|
+
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}, ${isAngularSDK}
|
|
4974
4990
|
)`;
|
|
4975
4991
|
var getUpdateVariantVisibilityScript = ({
|
|
4976
4992
|
contentId,
|
|
@@ -4983,8 +4999,8 @@ var getUpdateVariantVisibilityScript = ({
|
|
|
4983
4999
|
import {
|
|
4984
5000
|
Show as Show14,
|
|
4985
5001
|
onMount as onMount7,
|
|
4986
|
-
on as
|
|
4987
|
-
createEffect as
|
|
5002
|
+
on as on4,
|
|
5003
|
+
createEffect as createEffect4,
|
|
4988
5004
|
createMemo as createMemo16,
|
|
4989
5005
|
createSignal as createSignal16
|
|
4990
5006
|
} from "solid-js";
|
|
@@ -4996,7 +5012,7 @@ function getPreviewContent(_searchParams) {
|
|
|
4996
5012
|
}
|
|
4997
5013
|
|
|
4998
5014
|
// src/constants/sdk-version.ts
|
|
4999
|
-
var SDK_VERSION = "4.0.
|
|
5015
|
+
var SDK_VERSION = "4.0.3";
|
|
5000
5016
|
|
|
5001
5017
|
// src/helpers/sdk-headers.ts
|
|
5002
5018
|
var getSdkHeaders = () => ({
|
|
@@ -6081,15 +6097,15 @@ function EnableEditor(props) {
|
|
|
6081
6097
|
mergeNewContent(props.content);
|
|
6082
6098
|
}
|
|
6083
6099
|
}
|
|
6084
|
-
|
|
6100
|
+
createEffect4(on4(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
|
|
6085
6101
|
const onUpdateFn_1_props_builderContextSignal_rootState = createMemo16(
|
|
6086
6102
|
() => props.builderContextSignal.rootState
|
|
6087
6103
|
);
|
|
6088
6104
|
function onUpdateFn_1() {
|
|
6089
6105
|
emitStateUpdate();
|
|
6090
6106
|
}
|
|
6091
|
-
|
|
6092
|
-
|
|
6107
|
+
createEffect4(
|
|
6108
|
+
on4(
|
|
6093
6109
|
() => [onUpdateFn_1_props_builderContextSignal_rootState()],
|
|
6094
6110
|
onUpdateFn_1
|
|
6095
6111
|
)
|
|
@@ -6100,7 +6116,7 @@ function EnableEditor(props) {
|
|
|
6100
6116
|
mergeNewRootState(props.data);
|
|
6101
6117
|
}
|
|
6102
6118
|
}
|
|
6103
|
-
|
|
6119
|
+
createEffect4(on4(() => [onUpdateFn_2_props_data()], onUpdateFn_2));
|
|
6104
6120
|
const onUpdateFn_3_props_locale = createMemo16(() => props.locale);
|
|
6105
6121
|
function onUpdateFn_3() {
|
|
6106
6122
|
if (props.locale) {
|
|
@@ -6109,7 +6125,7 @@ function EnableEditor(props) {
|
|
|
6109
6125
|
});
|
|
6110
6126
|
}
|
|
6111
6127
|
}
|
|
6112
|
-
|
|
6128
|
+
createEffect4(on4(() => [onUpdateFn_3_props_locale()], onUpdateFn_3));
|
|
6113
6129
|
return <><builder_context_default.Provider value={props.builderContextSignal}><Show14
|
|
6114
6130
|
when={props.builderContextSignal.content || needsElementRefDivForEditing()}
|
|
6115
6131
|
><Dynamic5
|
|
@@ -6487,7 +6503,7 @@ function Symbol(props) {
|
|
|
6487
6503
|
function onUpdateFn_0() {
|
|
6488
6504
|
setContent();
|
|
6489
6505
|
}
|
|
6490
|
-
|
|
6506
|
+
createEffect5(on5(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
|
|
6491
6507
|
return <><div class={className()} {...{}} {...props.attributes} {...{}}><Content_variants_default
|
|
6492
6508
|
nonce={props.builderContext.nonce}
|
|
6493
6509
|
isNestedRender={true}
|