@builder.io/sdk-react-native 4.0.2 → 4.0.6
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/commonjs/blocks/columns/columns.js +2 -1
- package/lib/browser/commonjs/blocks/columns/columns.js.map +1 -1
- package/lib/browser/commonjs/blocks/custom-code/custom-code.js +13 -4
- package/lib/browser/commonjs/blocks/custom-code/custom-code.js.map +1 -1
- package/lib/browser/commonjs/blocks/embed/embed.js +2 -1
- package/lib/browser/commonjs/blocks/embed/embed.js.map +1 -1
- package/lib/browser/commonjs/blocks/image/component-info.js +4 -0
- package/lib/browser/commonjs/blocks/image/component-info.js.map +1 -1
- package/lib/browser/commonjs/components/block/components/component-ref/component-ref.js +2 -0
- package/lib/browser/commonjs/components/block/components/component-ref/component-ref.js.map +1 -1
- package/lib/browser/commonjs/components/blocks/blocks-wrapper.js +2 -0
- package/lib/browser/commonjs/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/browser/commonjs/components/content-variants/helpers.js +2 -1
- package/lib/browser/commonjs/components/content-variants/helpers.js.map +1 -1
- package/lib/browser/commonjs/components/content-variants/inlined-fns.js +1 -1
- package/lib/browser/commonjs/components/content-variants/inlined-fns.js.map +1 -1
- package/lib/browser/commonjs/constants/sdk-version.js +1 -1
- package/lib/browser/commonjs/functions/get-content/generate-content-url.js +1 -1
- package/lib/browser/commonjs/helpers/preview-lru-cache/set.js +2 -7
- package/lib/browser/commonjs/helpers/preview-lru-cache/set.js.map +1 -1
- package/lib/browser/module/blocks/columns/columns.js +2 -1
- package/lib/browser/module/blocks/columns/columns.js.map +1 -1
- package/lib/browser/module/blocks/custom-code/custom-code.js +13 -4
- package/lib/browser/module/blocks/custom-code/custom-code.js.map +1 -1
- package/lib/browser/module/blocks/embed/embed.js +2 -1
- package/lib/browser/module/blocks/embed/embed.js.map +1 -1
- package/lib/browser/module/blocks/image/component-info.js +4 -0
- package/lib/browser/module/blocks/image/component-info.js.map +1 -1
- package/lib/browser/module/components/block/components/component-ref/component-ref.js +3 -1
- package/lib/browser/module/components/block/components/component-ref/component-ref.js.map +1 -1
- package/lib/browser/module/components/blocks/blocks-wrapper.js +3 -1
- package/lib/browser/module/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/browser/module/components/content-variants/helpers.js +2 -1
- package/lib/browser/module/components/content-variants/helpers.js.map +1 -1
- package/lib/browser/module/components/content-variants/inlined-fns.js +1 -1
- package/lib/browser/module/components/content-variants/inlined-fns.js.map +1 -1
- package/lib/browser/module/constants/sdk-version.js +1 -1
- package/lib/browser/module/functions/get-content/generate-content-url.js +1 -1
- package/lib/browser/module/helpers/preview-lru-cache/set.js +2 -7
- package/lib/browser/module/helpers/preview-lru-cache/set.js.map +1 -1
- package/lib/browser/typescript/blocks/columns/columns.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/image/component-info.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/image/image.types.d.ts +1 -0
- package/lib/browser/typescript/blocks/image/image.types.d.ts.map +1 -1
- package/lib/browser/typescript/components/block/components/component-ref/component-ref.d.ts.map +1 -1
- package/lib/browser/typescript/components/blocks/blocks-wrapper.d.ts.map +1 -1
- package/lib/browser/typescript/components/content-variants/helpers.d.ts.map +1 -1
- package/lib/browser/typescript/components/content-variants/inlined-fns.d.ts +1 -1
- package/lib/browser/typescript/components/content-variants/inlined-fns.d.ts.map +1 -1
- package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/browser/typescript/helpers/preview-lru-cache/set.d.ts +3 -4
- package/lib/browser/typescript/helpers/preview-lru-cache/set.d.ts.map +1 -1
- package/lib/edge/commonjs/blocks/columns/columns.js +2 -1
- package/lib/edge/commonjs/blocks/columns/columns.js.map +1 -1
- package/lib/edge/commonjs/blocks/custom-code/custom-code.js +13 -4
- package/lib/edge/commonjs/blocks/custom-code/custom-code.js.map +1 -1
- package/lib/edge/commonjs/blocks/embed/embed.js +2 -1
- package/lib/edge/commonjs/blocks/embed/embed.js.map +1 -1
- package/lib/edge/commonjs/blocks/image/component-info.js +4 -0
- package/lib/edge/commonjs/blocks/image/component-info.js.map +1 -1
- package/lib/edge/commonjs/components/block/components/component-ref/component-ref.js +2 -0
- package/lib/edge/commonjs/components/block/components/component-ref/component-ref.js.map +1 -1
- package/lib/edge/commonjs/components/blocks/blocks-wrapper.js +2 -0
- package/lib/edge/commonjs/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/edge/commonjs/components/content-variants/helpers.js +2 -1
- package/lib/edge/commonjs/components/content-variants/helpers.js.map +1 -1
- package/lib/edge/commonjs/components/content-variants/inlined-fns.js +1 -1
- package/lib/edge/commonjs/components/content-variants/inlined-fns.js.map +1 -1
- package/lib/edge/commonjs/constants/sdk-version.js +1 -1
- package/lib/edge/commonjs/functions/get-content/generate-content-url.js +1 -1
- package/lib/edge/commonjs/helpers/preview-lru-cache/set.js +2 -7
- package/lib/edge/commonjs/helpers/preview-lru-cache/set.js.map +1 -1
- package/lib/edge/module/blocks/columns/columns.js +2 -1
- package/lib/edge/module/blocks/columns/columns.js.map +1 -1
- package/lib/edge/module/blocks/custom-code/custom-code.js +13 -4
- package/lib/edge/module/blocks/custom-code/custom-code.js.map +1 -1
- package/lib/edge/module/blocks/embed/embed.js +2 -1
- package/lib/edge/module/blocks/embed/embed.js.map +1 -1
- package/lib/edge/module/blocks/image/component-info.js +4 -0
- package/lib/edge/module/blocks/image/component-info.js.map +1 -1
- package/lib/edge/module/components/block/components/component-ref/component-ref.js +3 -1
- package/lib/edge/module/components/block/components/component-ref/component-ref.js.map +1 -1
- package/lib/edge/module/components/blocks/blocks-wrapper.js +3 -1
- package/lib/edge/module/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/edge/module/components/content-variants/helpers.js +2 -1
- package/lib/edge/module/components/content-variants/helpers.js.map +1 -1
- package/lib/edge/module/components/content-variants/inlined-fns.js +1 -1
- package/lib/edge/module/components/content-variants/inlined-fns.js.map +1 -1
- package/lib/edge/module/constants/sdk-version.js +1 -1
- package/lib/edge/module/functions/get-content/generate-content-url.js +1 -1
- package/lib/edge/module/helpers/preview-lru-cache/set.js +2 -7
- package/lib/edge/module/helpers/preview-lru-cache/set.js.map +1 -1
- package/lib/edge/typescript/blocks/columns/columns.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/image/component-info.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/image/image.types.d.ts +1 -0
- package/lib/edge/typescript/blocks/image/image.types.d.ts.map +1 -1
- package/lib/edge/typescript/components/block/components/component-ref/component-ref.d.ts.map +1 -1
- package/lib/edge/typescript/components/blocks/blocks-wrapper.d.ts.map +1 -1
- package/lib/edge/typescript/components/content-variants/helpers.d.ts.map +1 -1
- package/lib/edge/typescript/components/content-variants/inlined-fns.d.ts +1 -1
- package/lib/edge/typescript/components/content-variants/inlined-fns.d.ts.map +1 -1
- package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/edge/typescript/helpers/preview-lru-cache/set.d.ts +3 -4
- package/lib/edge/typescript/helpers/preview-lru-cache/set.d.ts.map +1 -1
- package/lib/node/commonjs/blocks/columns/columns.js +2 -1
- package/lib/node/commonjs/blocks/columns/columns.js.map +1 -1
- package/lib/node/commonjs/blocks/custom-code/custom-code.js +13 -4
- package/lib/node/commonjs/blocks/custom-code/custom-code.js.map +1 -1
- package/lib/node/commonjs/blocks/embed/embed.js +2 -1
- package/lib/node/commonjs/blocks/embed/embed.js.map +1 -1
- package/lib/node/commonjs/blocks/image/component-info.js +4 -0
- package/lib/node/commonjs/blocks/image/component-info.js.map +1 -1
- package/lib/node/commonjs/components/block/components/component-ref/component-ref.js +2 -0
- package/lib/node/commonjs/components/block/components/component-ref/component-ref.js.map +1 -1
- package/lib/node/commonjs/components/blocks/blocks-wrapper.js +2 -0
- package/lib/node/commonjs/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/node/commonjs/components/content-variants/helpers.js +2 -1
- package/lib/node/commonjs/components/content-variants/helpers.js.map +1 -1
- package/lib/node/commonjs/components/content-variants/inlined-fns.js +1 -1
- package/lib/node/commonjs/components/content-variants/inlined-fns.js.map +1 -1
- package/lib/node/commonjs/constants/sdk-version.js +1 -1
- package/lib/node/commonjs/functions/get-content/generate-content-url.js +1 -1
- package/lib/node/commonjs/helpers/preview-lru-cache/set.js +2 -7
- package/lib/node/commonjs/helpers/preview-lru-cache/set.js.map +1 -1
- package/lib/node/module/blocks/columns/columns.js +2 -1
- package/lib/node/module/blocks/columns/columns.js.map +1 -1
- package/lib/node/module/blocks/custom-code/custom-code.js +13 -4
- package/lib/node/module/blocks/custom-code/custom-code.js.map +1 -1
- package/lib/node/module/blocks/embed/embed.js +2 -1
- package/lib/node/module/blocks/embed/embed.js.map +1 -1
- package/lib/node/module/blocks/image/component-info.js +4 -0
- package/lib/node/module/blocks/image/component-info.js.map +1 -1
- package/lib/node/module/components/block/components/component-ref/component-ref.js +3 -1
- package/lib/node/module/components/block/components/component-ref/component-ref.js.map +1 -1
- package/lib/node/module/components/blocks/blocks-wrapper.js +3 -1
- package/lib/node/module/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/node/module/components/content-variants/helpers.js +2 -1
- package/lib/node/module/components/content-variants/helpers.js.map +1 -1
- package/lib/node/module/components/content-variants/inlined-fns.js +1 -1
- package/lib/node/module/components/content-variants/inlined-fns.js.map +1 -1
- package/lib/node/module/constants/sdk-version.js +1 -1
- package/lib/node/module/functions/get-content/generate-content-url.js +1 -1
- package/lib/node/module/helpers/preview-lru-cache/set.js +2 -7
- package/lib/node/module/helpers/preview-lru-cache/set.js.map +1 -1
- package/lib/node/typescript/blocks/columns/columns.d.ts.map +1 -1
- package/lib/node/typescript/blocks/image/component-info.d.ts.map +1 -1
- package/lib/node/typescript/blocks/image/image.types.d.ts +1 -0
- package/lib/node/typescript/blocks/image/image.types.d.ts.map +1 -1
- package/lib/node/typescript/components/block/components/component-ref/component-ref.d.ts.map +1 -1
- package/lib/node/typescript/components/blocks/blocks-wrapper.d.ts.map +1 -1
- package/lib/node/typescript/components/content-variants/helpers.d.ts.map +1 -1
- package/lib/node/typescript/components/content-variants/inlined-fns.d.ts +1 -1
- package/lib/node/typescript/components/content-variants/inlined-fns.d.ts.map +1 -1
- package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/node/typescript/helpers/preview-lru-cache/set.d.ts +3 -4
- package/lib/node/typescript/helpers/preview-lru-cache/set.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blocks/columns/columns.tsx +3 -1
- package/src/blocks/custom-code/custom-code.tsx +19 -3
- package/src/blocks/embed/embed.tsx +2 -1
- package/src/blocks/image/component-info.ts +4 -0
- package/src/blocks/image/image.types.ts +1 -0
- package/src/components/block/components/component-ref/component-ref.tsx +5 -1
- package/src/components/blocks/blocks-wrapper.tsx +5 -1
- package/src/components/content-variants/helpers.ts +2 -1
- package/src/components/content-variants/inlined-fns.ts +1 -1
- package/src/constants/sdk-version.ts +1 -1
- package/src/functions/get-content/generate-content-url.ts +1 -1
- package/src/helpers/preview-lru-cache/set.ts +3 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","useRef","useEffect","isEditing","BlocksWrapper","props","blocksWrapperRef","className","_props$blocks","blocks","length","classNameProp","filter","Boolean","join","dataPath","path","undefined","thisPrefix","pathPrefix","startsWith","replace","onClick","_props$blocks2","_window$parent","window","parent","postMessage","type","data","parentElementId","onMouseEnter","_props$blocks3","_window$parent2","current","setAttribute","createElement","_extends","ref","dataSet","class","style","styles","propsBlocksWrapper1","styleProp","event","onKeyPress","BlocksWrapperProps","children","create","display","flexDirection"],"sourceRoot":"../../../../../src","sources":["components/blocks/blocks-wrapper.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAIEC,UAAU,QAQL,cAAc;AACrB,SAASC,MAAM,EAAEC,SAAS,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","useState","useRef","useEffect","isEditing","BlocksWrapper","props","blocksWrapperRef","shouldUpdate","setShouldUpdate","className","_props$blocks","blocks","length","classNameProp","filter","Boolean","join","dataPath","path","undefined","thisPrefix","pathPrefix","startsWith","replace","onClick","_props$blocks2","_window$parent","window","parent","postMessage","type","data","parentElementId","onMouseEnter","_props$blocks3","_window$parent2","current","setAttribute","createElement","_extends","ref","dataSet","class","style","styles","propsBlocksWrapper1","styleProp","event","onKeyPress","BlocksWrapperProps","children","create","display","flexDirection"],"sourceRoot":"../../../../../src","sources":["components/blocks/blocks-wrapper.tsx"],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ export const checkShouldRenderVariants = ({
|
|
|
42
42
|
return true;
|
|
43
43
|
};
|
|
44
44
|
const getIsHydrationTarget = target => target === 'react' || target === 'reactNative';
|
|
45
|
+
const isAngularSDK = TARGET === 'angular';
|
|
45
46
|
const isHydrationTarget = getIsHydrationTarget(TARGET);
|
|
46
47
|
export const getInitVariantsFnsScriptString = () => `
|
|
47
48
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}
|
|
@@ -49,7 +50,7 @@ export const getInitVariantsFnsScriptString = () => `
|
|
|
49
50
|
`;
|
|
50
51
|
export const getUpdateCookieAndStylesScript = (variants, contentId) => `
|
|
51
52
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(
|
|
52
|
-
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}
|
|
53
|
+
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}, ${isAngularSDK}
|
|
53
54
|
)`;
|
|
54
55
|
export const getUpdateVariantVisibilityScript = ({
|
|
55
56
|
contentId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TARGET","isBrowser","UPDATE_COOKIES_AND_STYLES_SCRIPT","UPDATE_VARIANT_VISIBILITY_SCRIPT","UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME","UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME","getVariants","content","Object","values","variations","map","variant","testVariationId","id","checkShouldRenderVariants","canTrack","hasVariants","length","getIsHydrationTarget","target","isHydrationTarget","getInitVariantsFnsScriptString","getUpdateCookieAndStylesScript","variants","contentId","JSON","stringify","getUpdateVariantVisibilityScript","variationId"],"sourceRoot":"../../../../../src","sources":["components/content-variants/helpers.ts"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,SAAS;AAIlB,SAASC,gCAAgC,EAAEC,gCAAgC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qCAAqC,GAAG,iBAAiB;AAC/D,MAAMC,wCAAwC,GAAG,wBAAwB;AACzE,OAAO,MAAMC,WAAW,GAAIC,OAAiC,IAAKC,MAAM,CAACC,MAAM,CAAC,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,UAAU,KAAI,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,OAAO,KAAK;EACzH,GAAGA,OAAO;EACVC,eAAe,EAAED,OAAO,CAACE,EAAE;EAC3BA,EAAE,EAAEP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO;AACf,CAAC,CAAC,CAAC;AACH,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,QAAQ;EACRT;AAIF,CAAC,KAAK;EACJ,MAAMU,WAAW,GAAGX,WAAW,CAACC,OAAO,CAAC,CAACW,MAAM,GAAG,CAAC;;EAEnD;AACF;AACA;EACE,IAAIlB,MAAM,KAAK,aAAa,EAAE,OAAO,KAAK;EAC1C,IAAI,CAACiB,WAAW,EAAE,OAAO,KAAK;EAC9B,IAAI,CAACD,QAAQ,EAAE,OAAO,KAAK;;EAE3B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIhB,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,QAAQ,EAAE,OAAO,IAAI;EACxD,IAAIC,SAAS,CAAC,CAAC,EAAE,OAAO,KAAK;EAC7B,OAAO,IAAI;AACb,CAAC;AAKD,MAAMkB,oBAAoB,GAAIC,MAAc,IAAKA,MAAM,KAAK,OAAO,IAAIA,MAAM,KAAK,aAAa;AAC/F,MAAMC,iBAAiB,
|
|
1
|
+
{"version":3,"names":["TARGET","isBrowser","UPDATE_COOKIES_AND_STYLES_SCRIPT","UPDATE_VARIANT_VISIBILITY_SCRIPT","UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME","UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME","getVariants","content","Object","values","variations","map","variant","testVariationId","id","checkShouldRenderVariants","canTrack","hasVariants","length","getIsHydrationTarget","target","isAngularSDK","isHydrationTarget","getInitVariantsFnsScriptString","getUpdateCookieAndStylesScript","variants","contentId","JSON","stringify","getUpdateVariantVisibilityScript","variationId"],"sourceRoot":"../../../../../src","sources":["components/content-variants/helpers.ts"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,SAAS;AAIlB,SAASC,gCAAgC,EAAEC,gCAAgC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qCAAqC,GAAG,iBAAiB;AAC/D,MAAMC,wCAAwC,GAAG,wBAAwB;AACzE,OAAO,MAAMC,WAAW,GAAIC,OAAiC,IAAKC,MAAM,CAACC,MAAM,CAAC,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,UAAU,KAAI,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,OAAO,KAAK;EACzH,GAAGA,OAAO;EACVC,eAAe,EAAED,OAAO,CAACE,EAAE;EAC3BA,EAAE,EAAEP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO;AACf,CAAC,CAAC,CAAC;AACH,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,QAAQ;EACRT;AAIF,CAAC,KAAK;EACJ,MAAMU,WAAW,GAAGX,WAAW,CAACC,OAAO,CAAC,CAACW,MAAM,GAAG,CAAC;;EAEnD;AACF;AACA;EACE,IAAIlB,MAAM,KAAK,aAAa,EAAE,OAAO,KAAK;EAC1C,IAAI,CAACiB,WAAW,EAAE,OAAO,KAAK;EAC9B,IAAI,CAACD,QAAQ,EAAE,OAAO,KAAK;;EAE3B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIhB,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,QAAQ,EAAE,OAAO,IAAI;EACxD,IAAIC,SAAS,CAAC,CAAC,EAAE,OAAO,KAAK;EAC7B,OAAO,IAAI;AACb,CAAC;AAKD,MAAMkB,oBAAoB,GAAIC,MAAc,IAAKA,MAAM,KAAK,OAAO,IAAIA,MAAM,KAAK,aAAa;AAC/F,MAAMC,YAAY,GAAGrB,MAAM,KAAK,SAAS;AACzC,MAAMsB,iBAAiB,GAAGH,oBAAoB,CAACnB,MAAM,CAAC;AACtD,OAAO,MAAMuB,8BAA8B,GAAGA,CAAA,KAAO;AACrD,WAAWnB,qCAAsC,MAAKF,gCAAiC;AACvF,WAAWG,wCAAyC,MAAKF,gCAAiC;AAC1F,GAAG;AACH,OAAO,MAAMqB,8BAA8B,GAAGA,CAACC,QAAuB,EAAEC,SAAiB,KAAM;AAC/F,WAAWtB,qCAAsC;AACjD,OAAOsB,SAAU,KAAIC,IAAI,CAACC,SAAS,CAACH,QAAQ,CAAE,KAAIH,iBAAkB,KAAID,YAAa;AACrF,IAAI;AACJ,OAAO,MAAMQ,gCAAgC,GAAGA,CAAC;EAC/CH,SAAS;EACTI;AAIF,CAAC,KAAM,UAASzB,wCAAyC;AACzD,OAAOyB,WAAY,OAAMJ,SAAU,MAAKJ,iBAAkB;AAC1D,IAAI"}
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
* see our [SSR A/B Test Docs](https://github.com/BuilderIO/builder/tree/main/packages/sdks/docs/SSR_AB_TEST.md)
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
export const 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
|
|
16
|
+
export const 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}";
|
|
17
17
|
export const 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}";
|
|
18
18
|
//# sourceMappingURL=inlined-fns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UPDATE_COOKIES_AND_STYLES_SCRIPT","UPDATE_VARIANT_VISIBILITY_SCRIPT"],"sourceRoot":"../../../../../src","sources":["components/content-variants/inlined-fns.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,gCAAgC,GAAG,
|
|
1
|
+
{"version":3,"names":["UPDATE_COOKIES_AND_STYLES_SCRIPT","UPDATE_VARIANT_VISIBILITY_SCRIPT"],"sourceRoot":"../../../../../src","sources":["components/content-variants/inlined-fns.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,gCAAgC,GAAG,qoEAAqoE;AACrrE,OAAO,MAAMC,gCAAgC,GAAG,kwCAAkwC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = "4.0.
|
|
1
|
+
export const SDK_VERSION = "4.0.6";
|
|
2
2
|
//# sourceMappingURL=sdk-version.js.map
|
|
@@ -48,7 +48,7 @@ export const generateContentUrl = options => {
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
if (enrich) url.searchParams.set('enrich', String(enrich));
|
|
51
|
-
url.searchParams.set('omit', omit
|
|
51
|
+
url.searchParams.set('omit', omit ?? 'meta.componentsUsed');
|
|
52
52
|
if (fields) {
|
|
53
53
|
url.searchParams.set('fields', fields);
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["postPreviewContent","
|
|
1
|
+
{"version":3,"names":["postPreviewContent","_opts"],"sourceRoot":"../../../../../src","sources":["helpers/preview-lru-cache/set.ts"],"mappings":"AACA,OAAO,eAAeA,kBAAkBA,CAACC,KAIxC,EAAE;EACD,OAAO,IAAI;AACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/columns/columns.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2B/B,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG3D,iBAAS,OAAO,CAAC,KAAK,EAAE,WAAW,qBA6KlC;
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/columns/columns.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2B/B,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG3D,iBAAS,OAAO,CAAC,KAAK,EAAE,WAAW,qBA6KlC;AAMD,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-info.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/image/component-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"component-info.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/image/component-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,eAAO,MAAM,aAAa,EAAE,aAsI3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.types.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/image/image.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"image.types.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/image/image.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
package/lib/node/typescript/components/block/components/component-ref/component-ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-ref.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/block/components/component-ref/component-ref.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,iBAAS,YAAY,CAAC,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"component-ref.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/block/components/component-ref/component-ref.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,iBAAS,YAAY,CAAC,KAAK,EAAE,cAAc,qBAgD1C;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks-wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/components/blocks/blocks-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3C;;OAEG;IACH,aAAa,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,kBAAkB,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"blocks-wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/components/blocks/blocks-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3C;;OAEG;IACH,aAAa,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,kBAAkB,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,qBAmG/C;AAMD,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/components/content-variants/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAYlE,eAAO,MAAM,WAAW,YAAa,SAAS,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAI1D,CAAC;AACJ,eAAO,MAAM,yBAAyB;cAI1B,SAAS,OAAO,CAAC;aAClB,SAAS,cAAc,CAAC;aAuBlC,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/components/content-variants/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAYlE,eAAO,MAAM,WAAW,YAAa,SAAS,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAI1D,CAAC;AACJ,eAAO,MAAM,yBAAyB;cAI1B,SAAS,OAAO,CAAC;aAClB,SAAS,cAAc,CAAC;aAuBlC,CAAC;AACF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF,eAAO,MAAM,8BAA8B,cAGxC,CAAC;AACJ,eAAO,MAAM,8BAA8B,aAAc,WAAW,EAAE,aAAa,MAAM,WAGrF,CAAC;AACL,eAAO,MAAM,gCAAgC;iBAI9B,MAAM;eACR,MAAM;YAGf,CAAA"}
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
* For more information on how this works,
|
|
11
11
|
* see our [SSR A/B Test Docs](https://github.com/BuilderIO/builder/tree/main/packages/sdks/docs/SSR_AB_TEST.md)
|
|
12
12
|
*/
|
|
13
|
-
export declare const 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
|
|
13
|
+
export declare const 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}";
|
|
14
14
|
export declare const 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}";
|
|
15
15
|
//# sourceMappingURL=inlined-fns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlined-fns.d.ts","sourceRoot":"","sources":["../../../../../src/components/content-variants/inlined-fns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AAEH;;;GAGG;AAEH,eAAO,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"inlined-fns.d.ts","sourceRoot":"","sources":["../../../../../src/components/content-variants/inlined-fns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AAEH;;;GAGG;AAEH,eAAO,MAAM,gCAAgC,woEAAwoE,CAAC;AACtrE,eAAO,MAAM,gCAAgC,qwCAAqwC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "4.0.
|
|
1
|
+
export declare const SDK_VERSION = "4.0.6";
|
|
2
2
|
//# sourceMappingURL=sdk-version.d.ts.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { BuilderContent } from '../../types/builder-content';
|
|
2
|
-
export declare function postPreviewContent(
|
|
2
|
+
export declare function postPreviewContent(_opts: {
|
|
3
3
|
key: string;
|
|
4
4
|
value: BuilderContent;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}>;
|
|
5
|
+
url: string;
|
|
6
|
+
}): Promise<any>;
|
|
8
7
|
//# sourceMappingURL=set.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/preview-lru-cache/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,wBAAsB,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/preview-lru-cache/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb,gBAEA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder.io/sdk-react-native",
|
|
3
3
|
"description": "Builder.io SDK for React Native",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.6",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/react-native",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -204,6 +204,8 @@ function Columns(props: ColumnProps) {
|
|
|
204
204
|
);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
const styles = StyleSheet.create({
|
|
207
|
+
const styles = StyleSheet.create({
|
|
208
|
+
view1: { display: "flex", height: "100%" },
|
|
209
|
+
});
|
|
208
210
|
|
|
209
211
|
export default Columns;
|
|
@@ -19,15 +19,18 @@ export interface CustomCodeProps {
|
|
|
19
19
|
replaceNodes?: boolean;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
import { isEditing } from "../../functions/is-editing";
|
|
23
|
+
import { logger } from "../../helpers/logger";
|
|
24
|
+
|
|
22
25
|
function CustomCode(props: CustomCodeProps) {
|
|
23
26
|
const elementRef = useRef<any>(null);
|
|
24
27
|
const [scriptsInserted, setScriptsInserted] = useState(() => []);
|
|
25
28
|
|
|
26
29
|
const [scriptsRun, setScriptsRun] = useState(() => []);
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
// TODO: Move this function to standalone one in '@builder.io/utils'
|
|
31
|
+
function runScripts() {
|
|
30
32
|
if (
|
|
33
|
+
!elementRef.current ||
|
|
31
34
|
!elementRef.current?.getElementsByTagName ||
|
|
32
35
|
typeof window === "undefined"
|
|
33
36
|
) {
|
|
@@ -60,12 +63,25 @@ function CustomCode(props: CustomCodeProps) {
|
|
|
60
63
|
scriptsRun.push(script.innerText);
|
|
61
64
|
new Function(script.innerText)();
|
|
62
65
|
} catch (error) {
|
|
63
|
-
|
|
66
|
+
logger.warn(
|
|
67
|
+
"[BUILDER.IO] `CustomCode`: Error running script:",
|
|
68
|
+
error
|
|
69
|
+
);
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
runScripts();
|
|
67
77
|
}, []);
|
|
68
78
|
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (isEditing()) {
|
|
81
|
+
runScripts();
|
|
82
|
+
}
|
|
83
|
+
}, [props.code]);
|
|
84
|
+
|
|
69
85
|
return (
|
|
70
86
|
<View ref={elementRef} dangerouslySetInnerHTML={{ __html: props.code }} />
|
|
71
87
|
);
|
|
@@ -18,6 +18,7 @@ export interface EmbedProps {
|
|
|
18
18
|
content: string;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
import { logger } from "../../helpers/logger";
|
|
21
22
|
import { isJsScript } from "./helpers";
|
|
22
23
|
|
|
23
24
|
function Embed(props: EmbedProps) {
|
|
@@ -44,7 +45,7 @@ function Embed(props: EmbedProps) {
|
|
|
44
45
|
scriptsRun.push(script.innerText);
|
|
45
46
|
new Function(script.innerText)();
|
|
46
47
|
} catch (error) {
|
|
47
|
-
|
|
48
|
+
logger.warn("[BUILDER.IO] `Embed`: Error running script:", error);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}
|
|
@@ -89,6 +89,10 @@ export const componentInfo: ComponentInfo = {
|
|
|
89
89
|
name: 'altText',
|
|
90
90
|
type: 'string',
|
|
91
91
|
helperText: 'Text to display when the user has images off'
|
|
92
|
+
}, {
|
|
93
|
+
name: 'title',
|
|
94
|
+
type: 'string',
|
|
95
|
+
helperText: 'Text to display when hovering over the asset'
|
|
92
96
|
}, {
|
|
93
97
|
name: 'height',
|
|
94
98
|
type: 'number',
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
Button,
|
|
13
13
|
Linking,
|
|
14
14
|
} from "react-native";
|
|
15
|
-
import { useState, useContext } from "react";
|
|
15
|
+
import { useState, useContext, useEffect } from "react";
|
|
16
16
|
import { wrapComponentRef } from "../../../content/wrap-component-ref";
|
|
17
17
|
import Block from "../../block";
|
|
18
18
|
import InteractiveElement from "../interactive-element";
|
|
@@ -21,10 +21,14 @@ import { getWrapperProps } from "./component-ref.helpers";
|
|
|
21
21
|
import BuilderContext from "../../../../context/builder.context";
|
|
22
22
|
|
|
23
23
|
function ComponentRef(props: ComponentProps) {
|
|
24
|
+
const [shouldUpdate, setShouldUpdate] = useState(() => false);
|
|
25
|
+
|
|
24
26
|
const [Wrapper, setWrapper] = useState(() =>
|
|
25
27
|
props.isInteractive ? InteractiveElement : props.componentRef
|
|
26
28
|
);
|
|
27
29
|
|
|
30
|
+
useEffect(() => {}, [props.componentOptions, props.blockChildren]);
|
|
31
|
+
|
|
28
32
|
return (
|
|
29
33
|
<BuilderContext.Provider
|
|
30
34
|
value={{
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
Button,
|
|
13
13
|
Linking,
|
|
14
14
|
} from "react-native";
|
|
15
|
-
import { useRef, useEffect } from "react";
|
|
15
|
+
import { useState, useRef, useEffect } from "react";
|
|
16
16
|
|
|
17
17
|
export type BlocksWrapperProps = {
|
|
18
18
|
blocks: BuilderBlock[] | undefined;
|
|
@@ -35,6 +35,8 @@ import type { BuilderBlock } from "../../types/builder-block";
|
|
|
35
35
|
|
|
36
36
|
function BlocksWrapper(props: BlocksWrapperProps) {
|
|
37
37
|
const blocksWrapperRef = useRef<HTMLDivElement>(null);
|
|
38
|
+
const [shouldUpdate, setShouldUpdate] = useState(() => false);
|
|
39
|
+
|
|
38
40
|
function className() {
|
|
39
41
|
return [
|
|
40
42
|
"builder-blocks",
|
|
@@ -106,6 +108,8 @@ function BlocksWrapper(props: BlocksWrapperProps) {
|
|
|
106
108
|
}
|
|
107
109
|
}, []);
|
|
108
110
|
|
|
111
|
+
useEffect(() => {}, [props.blocks]);
|
|
112
|
+
|
|
109
113
|
return (
|
|
110
114
|
<props.BlocksWrapper
|
|
111
115
|
ref={blocksWrapperRef}
|
|
@@ -52,6 +52,7 @@ type VariantData = {
|
|
|
52
52
|
testRatio?: number;
|
|
53
53
|
};
|
|
54
54
|
const getIsHydrationTarget = (target: Target) => target === 'react' || target === 'reactNative';
|
|
55
|
+
const isAngularSDK = TARGET === 'angular';
|
|
55
56
|
const isHydrationTarget = getIsHydrationTarget(TARGET);
|
|
56
57
|
export const getInitVariantsFnsScriptString = () => `
|
|
57
58
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}
|
|
@@ -59,7 +60,7 @@ export const getInitVariantsFnsScriptString = () => `
|
|
|
59
60
|
`;
|
|
60
61
|
export const getUpdateCookieAndStylesScript = (variants: VariantData[], contentId: string) => `
|
|
61
62
|
window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(
|
|
62
|
-
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}
|
|
63
|
+
"${contentId}",${JSON.stringify(variants)}, ${isHydrationTarget}, ${isAngularSDK}
|
|
63
64
|
)`;
|
|
64
65
|
export const getUpdateVariantVisibilityScript = ({
|
|
65
66
|
contentId,
|
|
@@ -18,5 +18,5 @@ type VariantData = {
|
|
|
18
18
|
* see our [SSR A/B Test Docs](https://github.com/BuilderIO/builder/tree/main/packages/sdks/docs/SSR_AB_TEST.md)
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
export const 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
|
|
21
|
+
export const 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}";
|
|
22
22
|
export const 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}";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "4.0.
|
|
1
|
+
export const SDK_VERSION = "4.0.6"
|
|
@@ -49,7 +49,7 @@ export const generateContentUrl = (options: GetContentOptions): URL => {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
if (enrich) url.searchParams.set('enrich', String(enrich));
|
|
52
|
-
url.searchParams.set('omit', omit
|
|
52
|
+
url.searchParams.set('omit', omit ?? 'meta.componentsUsed');
|
|
53
53
|
if (fields) {
|
|
54
54
|
url.searchParams.set('fields', fields);
|
|
55
55
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import type { BuilderContent } from '../../types/builder-content';
|
|
2
|
-
export async function postPreviewContent({
|
|
3
|
-
key,
|
|
4
|
-
value
|
|
5
|
-
}: {
|
|
2
|
+
export async function postPreviewContent(_opts: {
|
|
6
3
|
key: string;
|
|
7
4
|
value: BuilderContent;
|
|
5
|
+
url: string;
|
|
8
6
|
}) {
|
|
9
|
-
return
|
|
10
|
-
[key]: value
|
|
11
|
-
};
|
|
7
|
+
return null;
|
|
12
8
|
}
|