@builder.io/react 2.0.13-6 → 2.0.13-7
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/builder-react-lite.cjs.js +1 -1
- package/dist/builder-react-lite.cjs.js.map +1 -1
- package/dist/builder-react-lite.esm.js +1 -1
- package/dist/builder-react-lite.esm.js.map +1 -1
- package/dist/builder-react.browser.js +1 -1
- package/dist/builder-react.browser.js.map +1 -1
- package/dist/builder-react.cjs.js +1 -1
- package/dist/builder-react.cjs.js.map +1 -1
- package/dist/builder-react.es5.js +1 -1
- package/dist/builder-react.es5.js.map +1 -1
- package/dist/builder-react.unpkg.js +1 -1
- package/dist/builder-react.unpkg.js.map +1 -1
- package/dist/lib/package.json +1 -1
- package/dist/lib/src/components/variants-provider.component.js +5 -5
- package/dist/lib/src/components/variants-provider.component.js.map +1 -1
- package/package.json +1 -1
- package/src/components/variants-provider.component.tsx +7 -5
package/dist/lib/package.json
CHANGED
|
@@ -57,7 +57,7 @@ function getData(content) {
|
|
|
57
57
|
return newData;
|
|
58
58
|
}
|
|
59
59
|
var variantsScript = function (variantsString, contentId) {
|
|
60
|
-
return "\n(function() {\n if (window.builderNoTrack || !navigator.cookieEnabled) {\n return;\n }\n\n var variants = ".concat(variantsString, ";\n function removeVariants() {\n variants.forEach(function (template) {\n document.querySelector('template[data-template-variant-id=\"' + template.id + '\"]').remove();\n });\n }\n\n if (typeof document.createElement(\"template\").content === 'undefined') {\n removeVariants();\n return ;\n }\n\n function setCookie(name,value,days) {\n var expires = \"\";\n if (days) {\n var 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\n function getCookie(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(';');\n for(var i=0;i < ca.length;i++) {\n var 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 var cookieName = 'builder.tests.").concat(contentId, "';\n var variantInCookie = getCookie(cookieName);\n var availableIDs = variants.map(function(vr) { return vr.id }).concat('").concat(contentId, "');\n var variantId;\n if (availableIDs.indexOf(variantInCookie) > -1) {\n variantId = variantInCookie;\n }\n if (!variantId) {\n var n = 0;\n var random = Math.random();\n for (var i = 0; i < variants.length; i++) {\n var variant = variants[i];\n var testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n variantId = variant.id;\n break;\n }\n }\n if (!variantId) {\n variantId = \"").concat(contentId, "\";\n setCookie(cookieName, \"").concat(contentId, "\");\n }\n }\n if (variantId && variantId !== \"").concat(contentId, "\") {\n var winningTemplate = document.querySelector('template[data-template-variant-id=\"' + variantId + '\"]');\n if (winningTemplate) {\n var parentNode = winningTemplate.parentNode;\n var newParent = parentNode.cloneNode(false);\n newParent.appendChild(winningTemplate.content.firstChild);\n parentNode.parentNode.replaceChild(newParent, parentNode);\n }\n } else if (variants.length > 0) {\n removeVariants();\n }\n})()").replace(/\s+/g, ' ');
|
|
60
|
+
return "\n(function() {\n if (window.builderNoTrack || !navigator.cookieEnabled) {\n return;\n }\n\n var variants = ".concat(variantsString, ";\n function removeVariants() {\n variants.forEach(function (template) {\n document.querySelector('template[data-template-variant-id=\"' + template.id + '\"]').remove();\n });\n document.getElementById('variants-script-").concat(contentId, "').remove();\n }\n\n if (typeof document.createElement(\"template\").content === 'undefined') {\n removeVariants();\n return ;\n }\n\n function setCookie(name,value,days) {\n var expires = \"\";\n if (days) {\n var 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\n function getCookie(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(';');\n for(var i=0;i < ca.length;i++) {\n var 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 var cookieName = 'builder.tests.").concat(contentId, "';\n var variantInCookie = getCookie(cookieName);\n var availableIDs = variants.map(function(vr) { return vr.id }).concat('").concat(contentId, "');\n var variantId;\n if (availableIDs.indexOf(variantInCookie) > -1) {\n variantId = variantInCookie;\n }\n if (!variantId) {\n var n = 0;\n var random = Math.random();\n for (var i = 0; i < variants.length; i++) {\n var variant = variants[i];\n var testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n variantId = variant.id;\n break;\n }\n }\n if (!variantId) {\n variantId = \"").concat(contentId, "\";\n setCookie(cookieName, \"").concat(contentId, "\");\n }\n }\n if (variantId && variantId !== \"").concat(contentId, "\") {\n var winningTemplate = document.querySelector('template[data-template-variant-id=\"' + variantId + '\"]');\n if (winningTemplate) {\n var parentNode = winningTemplate.parentNode;\n var newParent = parentNode.cloneNode(false);\n newParent.appendChild(winningTemplate.content.firstChild);\n parentNode.parentNode.replaceChild(newParent, parentNode);\n }\n } else if (variants.length > 0) {\n removeVariants();\n }\n})()").replace(/\s+/g, ' ');
|
|
61
61
|
};
|
|
62
62
|
var VariantsProvider = function (_a) {
|
|
63
63
|
var initialContent = _a.initialContent, children = _a.children;
|
|
@@ -69,19 +69,19 @@ var VariantsProvider = function (_a) {
|
|
|
69
69
|
return children([initialContent]);
|
|
70
70
|
var variants = Object.keys(initialContent.variations).map(function (id) { return (__assign(__assign({ id: id }, initialContent.variations[id]), { data: getData(initialContent.variations[id]) })); });
|
|
71
71
|
var allVariants = __spreadArray(__spreadArray([], variants, true), [initialContent], false);
|
|
72
|
-
|
|
73
|
-
var variantId = sdk_1.builder.getCookie(cookieName);
|
|
74
|
-
if (sdk_1.Builder.isServer || variantId === initialContent.id) {
|
|
72
|
+
if (sdk_1.Builder.isServer) {
|
|
75
73
|
var variantsJson_1 = JSON.stringify(Object.keys(initialContent.variations || {}).map(function (item) { return ({
|
|
76
74
|
id: item,
|
|
77
75
|
testRatio: initialContent.variations[item].testRatio,
|
|
78
76
|
}); }));
|
|
79
|
-
var renderScript = function () { return (React.createElement("script", { dangerouslySetInnerHTML: {
|
|
77
|
+
var renderScript = function () { return (React.createElement("script", { id: "variants-script-".concat(initialContent.id), dangerouslySetInnerHTML: {
|
|
80
78
|
__html: variantsScript(variantsJson_1, initialContent.id),
|
|
81
79
|
} })); };
|
|
82
80
|
// render all variants on the server side
|
|
83
81
|
return React.createElement(React.Fragment, null, children(allVariants, renderScript));
|
|
84
82
|
}
|
|
83
|
+
var cookieName = "builder.tests.".concat(initialContent.id);
|
|
84
|
+
var variantId = sdk_1.builder.getCookie(cookieName);
|
|
85
85
|
if (!variantId && sdk_1.Builder.isBrowser) {
|
|
86
86
|
var n = 0;
|
|
87
87
|
var random = Math.random();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants-provider.component.js","sourceRoot":"","sources":["../../../../src/components/variants-provider.component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAC/B,uCAA4F;AAE5F,SAAS,OAAO,CAAC,OAAgC;IAC/C,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,KAAK,WAAW,EAAE;QACxC,OAAO,SAAS,CAAC;KAClB;IAEK,IAAA,KAA2B,OAAO,CAAC,IAAI,EAArC,MAAM,YAAA,EAAE,YAAY,kBAAiB,CAAC;IAC9C,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC;IAC5E,IAAM,OAAO,yBACR,OAAO,CAAC,IAAI,GACZ,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CACjE,CAAC;IAEF,OAAO,OAAO,CAAC,YAAY,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,IAAM,cAAc,GAAG,UAAC,cAAsB,EAAE,SAAiB;IAC/D,OAAA,4HAMiB,cAAc,
|
|
1
|
+
{"version":3,"file":"variants-provider.component.js","sourceRoot":"","sources":["../../../../src/components/variants-provider.component.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -29,6 +29,7 @@ const variantsScript = (variantsString: string, contentId: string) =>
|
|
|
29
29
|
variants.forEach(function (template) {
|
|
30
30
|
document.querySelector('template[data-template-variant-id="' + template.id + '"]').remove();
|
|
31
31
|
});
|
|
32
|
+
document.getElementById('variants-script-${contentId}').remove();
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
if (typeof document.createElement("template").content === 'undefined') {
|
|
@@ -118,11 +119,7 @@ export const VariantsProvider: React.SFC<VariantsProviderProps> = ({
|
|
|
118
119
|
}));
|
|
119
120
|
|
|
120
121
|
const allVariants = [...variants, initialContent];
|
|
121
|
-
|
|
122
|
-
let variantId = builder.getCookie(cookieName);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (Builder.isServer || variantId === initialContent.id) {
|
|
122
|
+
if (Builder.isServer) {
|
|
126
123
|
const variantsJson = JSON.stringify(
|
|
127
124
|
Object.keys(initialContent.variations || {}).map(item => ({
|
|
128
125
|
id: item,
|
|
@@ -131,6 +128,7 @@ export const VariantsProvider: React.SFC<VariantsProviderProps> = ({
|
|
|
131
128
|
);
|
|
132
129
|
const renderScript = () => (
|
|
133
130
|
<script
|
|
131
|
+
id={`variants-script-${initialContent.id}`}
|
|
134
132
|
dangerouslySetInnerHTML={{
|
|
135
133
|
__html: variantsScript(variantsJson, initialContent.id!),
|
|
136
134
|
}}
|
|
@@ -141,6 +139,10 @@ export const VariantsProvider: React.SFC<VariantsProviderProps> = ({
|
|
|
141
139
|
return <React.Fragment>{children(allVariants, renderScript)}</React.Fragment>;
|
|
142
140
|
}
|
|
143
141
|
|
|
142
|
+
const cookieName = `builder.tests.${initialContent.id}`;
|
|
143
|
+
|
|
144
|
+
let variantId = builder.getCookie(cookieName);
|
|
145
|
+
|
|
144
146
|
if (!variantId && Builder.isBrowser) {
|
|
145
147
|
let n = 0;
|
|
146
148
|
const random = Math.random();
|