@builder.io/sdk-react-native 4.0.7 → 4.0.9
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/personalization-container/component-info.js +2 -1
- package/lib/browser/commonjs/blocks/personalization-container/component-info.js.map +1 -1
- package/lib/browser/commonjs/blocks/personalization-container/helpers/inlined-fns.js +44 -2
- package/lib/browser/commonjs/blocks/personalization-container/helpers/inlined-fns.js.map +1 -1
- package/lib/browser/commonjs/blocks/personalization-container/helpers.js +54 -19
- package/lib/browser/commonjs/blocks/personalization-container/helpers.js.map +1 -1
- package/lib/browser/commonjs/blocks/personalization-container/personalization-container.js +81 -38
- package/lib/browser/commonjs/blocks/personalization-container/personalization-container.js.map +1 -1
- package/lib/browser/commonjs/blocks/symbol/symbol.js +11 -4
- package/lib/browser/commonjs/blocks/symbol/symbol.js.map +1 -1
- package/lib/browser/commonjs/components/block/components/interactive-element.js +5 -1
- package/lib/browser/commonjs/components/block/components/interactive-element.js.map +1 -1
- package/lib/browser/commonjs/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/browser/commonjs/components/blocks/blocks.js +3 -3
- package/lib/browser/commonjs/components/blocks/blocks.js.map +1 -1
- package/lib/browser/commonjs/components/content-variants/content-variants.js +13 -8
- package/lib/browser/commonjs/components/content-variants/content-variants.js.map +1 -1
- package/lib/browser/commonjs/constants/builder-registered-components.js +2 -1
- package/lib/browser/commonjs/constants/builder-registered-components.js.map +1 -1
- package/lib/browser/commonjs/constants/sdk-version.js +1 -1
- package/lib/browser/module/blocks/personalization-container/component-info.js +2 -1
- package/lib/browser/module/blocks/personalization-container/component-info.js.map +1 -1
- package/lib/browser/module/blocks/personalization-container/helpers/inlined-fns.js +42 -1
- package/lib/browser/module/blocks/personalization-container/helpers/inlined-fns.js.map +1 -1
- package/lib/browser/module/blocks/personalization-container/helpers.js +51 -19
- package/lib/browser/module/blocks/personalization-container/helpers.js.map +1 -1
- package/lib/browser/module/blocks/personalization-container/personalization-container.js +82 -39
- package/lib/browser/module/blocks/personalization-container/personalization-container.js.map +1 -1
- package/lib/browser/module/blocks/symbol/symbol.js +11 -4
- package/lib/browser/module/blocks/symbol/symbol.js.map +1 -1
- package/lib/browser/module/components/block/components/interactive-element.js +4 -0
- package/lib/browser/module/components/block/components/interactive-element.js.map +1 -1
- package/lib/browser/module/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/browser/module/components/blocks/blocks.js +3 -3
- package/lib/browser/module/components/blocks/blocks.js.map +1 -1
- package/lib/browser/module/components/content-variants/content-variants.js +7 -2
- package/lib/browser/module/components/content-variants/content-variants.js.map +1 -1
- package/lib/browser/module/constants/builder-registered-components.js +2 -1
- package/lib/browser/module/constants/builder-registered-components.js.map +1 -1
- package/lib/browser/module/constants/sdk-version.js +1 -1
- package/lib/browser/typescript/blocks/personalization-container/component-info.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/personalization-container/helpers/inlined-fns.d.ts +4 -1
- package/lib/browser/typescript/blocks/personalization-container/helpers/inlined-fns.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/personalization-container/helpers.d.ts +24 -4
- package/lib/browser/typescript/blocks/personalization-container/helpers.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/personalization-container/personalization-container.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/personalization-container/personalization-container.types.d.ts +2 -2
- package/lib/browser/typescript/blocks/personalization-container/personalization-container.types.d.ts.map +1 -1
- package/lib/browser/typescript/blocks/symbol/symbol.d.ts.map +1 -1
- package/lib/browser/typescript/components/block/components/interactive-element.d.ts.map +1 -1
- package/lib/browser/typescript/components/blocks/blocks-wrapper.d.ts +13 -1
- package/lib/browser/typescript/components/blocks/blocks-wrapper.d.ts.map +1 -1
- package/lib/browser/typescript/components/blocks/blocks.d.ts.map +1 -1
- package/lib/browser/typescript/components/blocks/blocks.types.d.ts +1 -1
- package/lib/browser/typescript/components/blocks/blocks.types.d.ts.map +1 -1
- package/lib/browser/typescript/components/content-variants/content-variants.d.ts.map +1 -1
- package/lib/browser/typescript/constants/builder-registered-components.d.ts.map +1 -1
- package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/edge/commonjs/blocks/personalization-container/component-info.js +2 -1
- package/lib/edge/commonjs/blocks/personalization-container/component-info.js.map +1 -1
- package/lib/edge/commonjs/blocks/personalization-container/helpers/inlined-fns.js +44 -2
- package/lib/edge/commonjs/blocks/personalization-container/helpers/inlined-fns.js.map +1 -1
- package/lib/edge/commonjs/blocks/personalization-container/helpers.js +54 -19
- package/lib/edge/commonjs/blocks/personalization-container/helpers.js.map +1 -1
- package/lib/edge/commonjs/blocks/personalization-container/personalization-container.js +81 -38
- package/lib/edge/commonjs/blocks/personalization-container/personalization-container.js.map +1 -1
- package/lib/edge/commonjs/blocks/symbol/symbol.js +11 -4
- package/lib/edge/commonjs/blocks/symbol/symbol.js.map +1 -1
- package/lib/edge/commonjs/components/block/components/interactive-element.js +5 -1
- package/lib/edge/commonjs/components/block/components/interactive-element.js.map +1 -1
- package/lib/edge/commonjs/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/edge/commonjs/components/blocks/blocks.js +3 -3
- package/lib/edge/commonjs/components/blocks/blocks.js.map +1 -1
- package/lib/edge/commonjs/components/content-variants/content-variants.js +13 -8
- package/lib/edge/commonjs/components/content-variants/content-variants.js.map +1 -1
- package/lib/edge/commonjs/constants/builder-registered-components.js +2 -1
- package/lib/edge/commonjs/constants/builder-registered-components.js.map +1 -1
- package/lib/edge/commonjs/constants/sdk-version.js +1 -1
- package/lib/edge/module/blocks/personalization-container/component-info.js +2 -1
- package/lib/edge/module/blocks/personalization-container/component-info.js.map +1 -1
- package/lib/edge/module/blocks/personalization-container/helpers/inlined-fns.js +42 -1
- package/lib/edge/module/blocks/personalization-container/helpers/inlined-fns.js.map +1 -1
- package/lib/edge/module/blocks/personalization-container/helpers.js +51 -19
- package/lib/edge/module/blocks/personalization-container/helpers.js.map +1 -1
- package/lib/edge/module/blocks/personalization-container/personalization-container.js +82 -39
- package/lib/edge/module/blocks/personalization-container/personalization-container.js.map +1 -1
- package/lib/edge/module/blocks/symbol/symbol.js +11 -4
- package/lib/edge/module/blocks/symbol/symbol.js.map +1 -1
- package/lib/edge/module/components/block/components/interactive-element.js +4 -0
- package/lib/edge/module/components/block/components/interactive-element.js.map +1 -1
- package/lib/edge/module/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/edge/module/components/blocks/blocks.js +3 -3
- package/lib/edge/module/components/blocks/blocks.js.map +1 -1
- package/lib/edge/module/components/content-variants/content-variants.js +7 -2
- package/lib/edge/module/components/content-variants/content-variants.js.map +1 -1
- package/lib/edge/module/constants/builder-registered-components.js +2 -1
- package/lib/edge/module/constants/builder-registered-components.js.map +1 -1
- package/lib/edge/module/constants/sdk-version.js +1 -1
- package/lib/edge/typescript/blocks/personalization-container/component-info.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/personalization-container/helpers/inlined-fns.d.ts +4 -1
- package/lib/edge/typescript/blocks/personalization-container/helpers/inlined-fns.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/personalization-container/helpers.d.ts +24 -4
- package/lib/edge/typescript/blocks/personalization-container/helpers.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/personalization-container/personalization-container.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/personalization-container/personalization-container.types.d.ts +2 -2
- package/lib/edge/typescript/blocks/personalization-container/personalization-container.types.d.ts.map +1 -1
- package/lib/edge/typescript/blocks/symbol/symbol.d.ts.map +1 -1
- package/lib/edge/typescript/components/block/components/interactive-element.d.ts.map +1 -1
- package/lib/edge/typescript/components/blocks/blocks-wrapper.d.ts +13 -1
- package/lib/edge/typescript/components/blocks/blocks-wrapper.d.ts.map +1 -1
- package/lib/edge/typescript/components/blocks/blocks.d.ts.map +1 -1
- package/lib/edge/typescript/components/blocks/blocks.types.d.ts +1 -1
- package/lib/edge/typescript/components/blocks/blocks.types.d.ts.map +1 -1
- package/lib/edge/typescript/components/content-variants/content-variants.d.ts.map +1 -1
- package/lib/edge/typescript/constants/builder-registered-components.d.ts.map +1 -1
- package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/node/commonjs/blocks/personalization-container/component-info.js +2 -1
- package/lib/node/commonjs/blocks/personalization-container/component-info.js.map +1 -1
- package/lib/node/commonjs/blocks/personalization-container/helpers/inlined-fns.js +44 -2
- package/lib/node/commonjs/blocks/personalization-container/helpers/inlined-fns.js.map +1 -1
- package/lib/node/commonjs/blocks/personalization-container/helpers.js +54 -19
- package/lib/node/commonjs/blocks/personalization-container/helpers.js.map +1 -1
- package/lib/node/commonjs/blocks/personalization-container/personalization-container.js +81 -38
- package/lib/node/commonjs/blocks/personalization-container/personalization-container.js.map +1 -1
- package/lib/node/commonjs/blocks/symbol/symbol.js +11 -4
- package/lib/node/commonjs/blocks/symbol/symbol.js.map +1 -1
- package/lib/node/commonjs/components/block/components/interactive-element.js +5 -1
- package/lib/node/commonjs/components/block/components/interactive-element.js.map +1 -1
- package/lib/node/commonjs/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/node/commonjs/components/blocks/blocks.js +3 -3
- package/lib/node/commonjs/components/blocks/blocks.js.map +1 -1
- package/lib/node/commonjs/components/content-variants/content-variants.js +13 -8
- package/lib/node/commonjs/components/content-variants/content-variants.js.map +1 -1
- package/lib/node/commonjs/constants/builder-registered-components.js +2 -1
- package/lib/node/commonjs/constants/builder-registered-components.js.map +1 -1
- package/lib/node/commonjs/constants/sdk-version.js +1 -1
- package/lib/node/module/blocks/personalization-container/component-info.js +2 -1
- package/lib/node/module/blocks/personalization-container/component-info.js.map +1 -1
- package/lib/node/module/blocks/personalization-container/helpers/inlined-fns.js +42 -1
- package/lib/node/module/blocks/personalization-container/helpers/inlined-fns.js.map +1 -1
- package/lib/node/module/blocks/personalization-container/helpers.js +51 -19
- package/lib/node/module/blocks/personalization-container/helpers.js.map +1 -1
- package/lib/node/module/blocks/personalization-container/personalization-container.js +82 -39
- package/lib/node/module/blocks/personalization-container/personalization-container.js.map +1 -1
- package/lib/node/module/blocks/symbol/symbol.js +11 -4
- package/lib/node/module/blocks/symbol/symbol.js.map +1 -1
- package/lib/node/module/components/block/components/interactive-element.js +4 -0
- package/lib/node/module/components/block/components/interactive-element.js.map +1 -1
- package/lib/node/module/components/blocks/blocks-wrapper.js.map +1 -1
- package/lib/node/module/components/blocks/blocks.js +3 -3
- package/lib/node/module/components/blocks/blocks.js.map +1 -1
- package/lib/node/module/components/content-variants/content-variants.js +7 -2
- package/lib/node/module/components/content-variants/content-variants.js.map +1 -1
- package/lib/node/module/constants/builder-registered-components.js +2 -1
- package/lib/node/module/constants/builder-registered-components.js.map +1 -1
- package/lib/node/module/constants/sdk-version.js +1 -1
- package/lib/node/typescript/blocks/personalization-container/component-info.d.ts.map +1 -1
- package/lib/node/typescript/blocks/personalization-container/helpers/inlined-fns.d.ts +4 -1
- package/lib/node/typescript/blocks/personalization-container/helpers/inlined-fns.d.ts.map +1 -1
- package/lib/node/typescript/blocks/personalization-container/helpers.d.ts +24 -4
- package/lib/node/typescript/blocks/personalization-container/helpers.d.ts.map +1 -1
- package/lib/node/typescript/blocks/personalization-container/personalization-container.d.ts.map +1 -1
- package/lib/node/typescript/blocks/personalization-container/personalization-container.types.d.ts +2 -2
- package/lib/node/typescript/blocks/personalization-container/personalization-container.types.d.ts.map +1 -1
- package/lib/node/typescript/blocks/symbol/symbol.d.ts.map +1 -1
- package/lib/node/typescript/components/block/components/interactive-element.d.ts.map +1 -1
- package/lib/node/typescript/components/blocks/blocks-wrapper.d.ts +13 -1
- package/lib/node/typescript/components/blocks/blocks-wrapper.d.ts.map +1 -1
- package/lib/node/typescript/components/blocks/blocks.d.ts.map +1 -1
- package/lib/node/typescript/components/blocks/blocks.types.d.ts +1 -1
- package/lib/node/typescript/components/blocks/blocks.types.d.ts.map +1 -1
- package/lib/node/typescript/components/content-variants/content-variants.d.ts.map +1 -1
- package/lib/node/typescript/constants/builder-registered-components.d.ts.map +1 -1
- package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
- package/package.json +1 -1
- package/src/blocks/personalization-container/component-info.ts +2 -1
- package/src/blocks/personalization-container/helpers/inlined-fns.ts +42 -2
- package/src/blocks/personalization-container/helpers.ts +60 -24
- package/src/blocks/personalization-container/personalization-container.tsx +107 -34
- package/src/blocks/personalization-container/personalization-container.types.ts +2 -2
- package/src/blocks/symbol/symbol.tsx +4 -1
- package/src/components/block/components/interactive-element.tsx +5 -0
- package/src/components/blocks/blocks-wrapper.tsx +13 -1
- package/src/components/blocks/blocks.tsx +6 -3
- package/src/components/blocks/blocks.types.ts +1 -1
- package/src/components/content-variants/content-variants.tsx +18 -5
- package/src/constants/builder-registered-components.ts +2 -1
- package/src/constants/sdk-version.ts +1 -1
|
@@ -9,6 +9,7 @@ import { default as Fragment } from "../blocks/fragment/index";
|
|
|
9
9
|
import { componentInfo as imageComponentInfo } from "../blocks/image/component-info";
|
|
10
10
|
import { default as Image } from "../blocks/image/index";
|
|
11
11
|
import { componentInfo as personalizationContainerComponentInfo } from "../blocks/personalization-container/component-info";
|
|
12
|
+
import { SDKS_SUPPORTING_PERSONALIZATION } from "../blocks/personalization-container/helpers";
|
|
12
13
|
import { default as PersonalizationContainer } from "../blocks/personalization-container/index";
|
|
13
14
|
import { componentInfo as sectionComponentInfo } from "../blocks/section/component-info";
|
|
14
15
|
import { default as Section } from "../blocks/section/index";
|
|
@@ -51,7 +52,7 @@ export const getDefaultRegisteredComponents = () => [{
|
|
|
51
52
|
}, {
|
|
52
53
|
component: Text,
|
|
53
54
|
...textComponentInfo
|
|
54
|
-
}, ...(TARGET
|
|
55
|
+
}, ...(SDKS_SUPPORTING_PERSONALIZATION.includes(TARGET) ? [{
|
|
55
56
|
component: PersonalizationContainer,
|
|
56
57
|
...personalizationContainerComponentInfo
|
|
57
58
|
}] : []), ...(TARGET === 'rsc' ? [] : [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["componentInfo","accordionComponentInfo","default","Accordion","buttonComponentInfo","Button","columnsComponentInfo","Columns","fragmentComponentInfo","Fragment","imageComponentInfo","Image","personalizationContainerComponentInfo","PersonalizationContainer","sectionComponentInfo","Section","slotComponentInfo","Slot","symbolComponentInfo","Symbol","tabsComponentInfo","Tabs","textComponentInfo","Text","getExtraComponents","TARGET","getDefaultRegisteredComponents","component"],"sourceRoot":"../../../../src","sources":["constants/builder-registered-components.ts"],"mappings":"AAAA,SAASA,aAAa,IAAIC,sBAAsB;AAChD,SAASC,OAAO,IAAIC,SAAS;AAC7B,SAASH,aAAa,IAAII,mBAAmB;AAC7C,SAASF,OAAO,IAAIG,MAAM;AAC1B,SAASL,aAAa,IAAIM,oBAAoB;AAC9C,SAASJ,OAAO,IAAIK,OAAO;AAC3B,SAASP,aAAa,IAAIQ,qBAAqB;AAC/C,SAASN,OAAO,IAAIO,QAAQ;AAC5B,SAAST,aAAa,IAAIU,kBAAkB;AAC5C,SAASR,OAAO,IAAIS,KAAK;AACzB,SAASX,aAAa,IAAIY,qCAAqC;AAC/D,
|
|
1
|
+
{"version":3,"names":["componentInfo","accordionComponentInfo","default","Accordion","buttonComponentInfo","Button","columnsComponentInfo","Columns","fragmentComponentInfo","Fragment","imageComponentInfo","Image","personalizationContainerComponentInfo","SDKS_SUPPORTING_PERSONALIZATION","PersonalizationContainer","sectionComponentInfo","Section","slotComponentInfo","Slot","symbolComponentInfo","Symbol","tabsComponentInfo","Tabs","textComponentInfo","Text","getExtraComponents","TARGET","getDefaultRegisteredComponents","component","includes"],"sourceRoot":"../../../../src","sources":["constants/builder-registered-components.ts"],"mappings":"AAAA,SAASA,aAAa,IAAIC,sBAAsB;AAChD,SAASC,OAAO,IAAIC,SAAS;AAC7B,SAASH,aAAa,IAAII,mBAAmB;AAC7C,SAASF,OAAO,IAAIG,MAAM;AAC1B,SAASL,aAAa,IAAIM,oBAAoB;AAC9C,SAASJ,OAAO,IAAIK,OAAO;AAC3B,SAASP,aAAa,IAAIQ,qBAAqB;AAC/C,SAASN,OAAO,IAAIO,QAAQ;AAC5B,SAAST,aAAa,IAAIU,kBAAkB;AAC5C,SAASR,OAAO,IAAIS,KAAK;AACzB,SAASX,aAAa,IAAIY,qCAAqC;AAC/D,SAASC,+BAA+B;AACxC,SAASX,OAAO,IAAIY,wBAAwB;AAC5C,SAASd,aAAa,IAAIe,oBAAoB;AAC9C,SAASb,OAAO,IAAIc,OAAO;AAC3B,SAAShB,aAAa,IAAIiB,iBAAiB;AAC3C,SAASf,OAAO,IAAIgB,IAAI;AACxB,SAASlB,aAAa,IAAImB,mBAAmB;AAC7C,SAASjB,OAAO,IAAIkB,MAAM;AAC1B,SAASpB,aAAa,IAAIqB,iBAAiB;AAC3C,SAASnB,OAAO,IAAIoB,IAAI;AACxB,SAAStB,aAAa,IAAIuB,iBAAiB;AAC3C,SAASrB,OAAO,IAAIsB,IAAI;AAExB,SAASC,kBAAkB;AAC3B,SAASC,MAAM;;AAEf;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA2D,GAAGA,CAAA,KAAM,CAAC;EAChFC,SAAS,EAAEvB,MAAM;EACjB,GAAGD;AACL,CAAC,EAAE;EACDwB,SAAS,EAAErB,OAAO;EAClB,GAAGD;AACL,CAAC,EAAE;EACDsB,SAAS,EAAEnB,QAAQ;EACnB,GAAGD;AACL,CAAC,EAAE;EACDoB,SAAS,EAAEjB,KAAK;EAChB,GAAGD;AACL,CAAC,EAAE;EACDkB,SAAS,EAAEZ,OAAO;EAClB,GAAGD;AACL,CAAC,EAAE;EACDa,SAAS,EAAEV,IAAI;EACf,GAAGD;AACL,CAAC,EAAE;EACDW,SAAS,EAAER,MAAM;EACjB,GAAGD;AACL,CAAC,EAAE;EACDS,SAAS,EAAEJ,IAAI;EACf,GAAGD;AACL,CAAC,EAAE,IAAIV,+BAA+B,CAACgB,QAAQ,CAACH,MAAM,CAAC,GAAG,CAAC;EACzDE,SAAS,EAAEd,wBAAwB;EACnC,GAAGF;AACL,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAIc,MAAM,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC;EACrCE,SAAS,EAAEN,IAAI;EACf,GAAGD;AACL,CAAC,EAAE;EACDO,SAAS,EAAEzB,SAAS;EACpB,GAAGF;AACL,CAAC,CAAC,CAAC,EAAE,GAAGwB,kBAAkB,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = "4.0.
|
|
1
|
+
export const SDK_VERSION = "4.0.9";
|
|
2
2
|
//# sourceMappingURL=sdk-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-info.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/component-info.ts"],"names":[],"mappings":"AAAA,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/personalization-container/component-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,eAAO,MAAM,aAAa,EAAE,aAoC3B,CAAA"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
* They cannot import anything.
|
|
4
4
|
*/
|
|
5
5
|
import type { Query, UserAttributes } from '../helpers';
|
|
6
|
+
import { type PersonalizationContainerProps } from '../personalization-container.types';
|
|
6
7
|
export declare function filterWithCustomTargeting(userAttributes: UserAttributes, query: Query[], startDate?: string, endDate?: string): boolean;
|
|
7
|
-
export declare
|
|
8
|
+
export declare function updateVisibilityStylesScript(variants: PersonalizationContainerProps['variants'], blockId: string, isHydrationTarget: boolean, locale?: string): void;
|
|
9
|
+
export declare const PERSONALIZATION_SCRIPT = "function getPersonalizedVariant(variants, blockId, isHydrationTarget, locale) {\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 attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\n if (locale) {\n attributes.locale = locale;\n }\n const winningVariantIndex = variants?.findIndex(function (variant) {\n return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\n });\n const parentDiv = document.currentScript?.parentElement;\n const variantId = parentDiv?.getAttribute('data-variant-id');\n const isDefaultVariant = variantId === `${blockId}-default`;\n const isWinningVariant = winningVariantIndex !== -1 && variantId === `${blockId}-${winningVariantIndex}` || winningVariantIndex === -1 && isDefaultVariant;\n if (isWinningVariant && !isDefaultVariant) {\n parentDiv?.removeAttribute('hidden');\n parentDiv?.removeAttribute('aria-hidden');\n } else if (!isWinningVariant && isDefaultVariant) {\n parentDiv?.setAttribute('hidden', 'true');\n parentDiv?.setAttribute('aria-hidden', 'true');\n }\n if (isHydrationTarget) {\n if (!isWinningVariant) {\n const itsStyleEl = parentDiv?.previousElementSibling;\n if (itsStyleEl) {\n itsStyleEl.remove();\n }\n parentDiv?.remove();\n }\n const thisScript = document.currentScript;\n if (thisScript) {\n thisScript.remove();\n }\n }\n}";
|
|
8
10
|
export declare const FILTER_WITH_CUSTOM_TARGETING_SCRIPT = "function filterWithCustomTargeting(userAttributes, query, startDate, endDate) {\n function isString(val) {\n return typeof val === 'string';\n }\n function isNumber(val) {\n return typeof val === 'number';\n }\n function objectMatchesQuery(userattr, query) {\n const result = (() => {\n const property = query.property;\n const operator = query.operator;\n let testValue = query.value;\n if (query && query.property === 'urlPath' && query.value && typeof query.value === 'string' && query.value !== '/' && query.value.endsWith('/')) {\n testValue = query.value.slice(0, -1);\n }\n if (!(property && operator)) {\n return true;\n }\n if (Array.isArray(testValue)) {\n if (operator === 'isNot') {\n return testValue.every(val => objectMatchesQuery(userattr, {\n property,\n operator,\n value: val\n }));\n }\n return !!testValue.find(val => objectMatchesQuery(userattr, {\n property,\n operator,\n value: val\n }));\n }\n const value = userattr[property];\n if (Array.isArray(value)) {\n return value.includes(testValue);\n }\n switch (operator) {\n case 'is':\n return value === testValue;\n case 'isNot':\n return value !== testValue;\n case 'contains':\n return (isString(value) || Array.isArray(value)) && value.includes(String(testValue));\n case 'startsWith':\n return isString(value) && value.startsWith(String(testValue));\n case 'endsWith':\n return isString(value) && value.endsWith(String(testValue));\n case 'greaterThan':\n return isNumber(value) && isNumber(testValue) && value > testValue;\n case 'lessThan':\n return isNumber(value) && isNumber(testValue) && value < testValue;\n case 'greaterThanOrEqualTo':\n return isNumber(value) && isNumber(testValue) && value >= testValue;\n case 'lessThanOrEqualTo':\n return isNumber(value) && isNumber(testValue) && value <= testValue;\n default:\n return false;\n }\n })();\n return result;\n }\n const item = {\n query,\n startDate,\n endDate\n };\n const now = userAttributes.date && new Date(userAttributes.date) || new Date();\n if (item.startDate && new Date(item.startDate) > now) {\n return false;\n } else if (item.endDate && new Date(item.endDate) < now) {\n return false;\n }\n if (!item.query || !item.query.length) {\n return true;\n }\n return item.query.every(filter => {\n return objectMatchesQuery(userAttributes, filter);\n });\n}";
|
|
11
|
+
export declare const UPDATE_VISIBILITY_STYLES_SCRIPT = "function updateVisibilityStylesScript(variants, blockId, isHydrationTarget, locale) {\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 visibilityStylesEl = document.currentScript?.previousElementSibling;\n if (!visibilityStylesEl) {\n return;\n }\n if (isHydrationTarget) {\n visibilityStylesEl.remove();\n const currentScript = document.currentScript;\n if (currentScript) {\n currentScript.remove();\n }\n } else {\n const attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\n if (locale) {\n attributes.locale = locale;\n }\n const winningVariantIndex = variants?.findIndex(function (variant) {\n return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\n });\n if (winningVariantIndex !== -1) {\n let newStyleStr = variants?.map((_, index) => {\n if (index === winningVariantIndex) return '';\n return `div[data-variant-id=\"${blockId}-${index}\"] { display: none !important; } `;\n }).join('') || '';\n newStyleStr += `div[data-variant-id=\"${blockId}-default\"] { display: none !important; } `;\n visibilityStylesEl.innerHTML = newStyleStr;\n }\n }\n}";
|
|
9
12
|
//# sourceMappingURL=inlined-fns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlined-fns.d.ts","sourceRoot":"","sources":["../../../../../../src/blocks/personalization-container/helpers/inlined-fns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"inlined-fns.d.ts","sourceRoot":"","sources":["../../../../../../src/blocks/personalization-container/helpers/inlined-fns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACxF,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,WA8E7H;AACD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,6BAA6B,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,QAsC7J;AACD,eAAO,MAAM,sBAAsB,wvDAAwvD,CAAC;AAC5xD,eAAO,MAAM,mCAAmC,+pFAA+pF,CAAC;AAChtF,eAAO,MAAM,+BAA+B,k/CAAk/C,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { BuilderBlock } from '../../types/builder-block';
|
|
2
|
+
import type { Target } from '../../types/targets';
|
|
2
3
|
import type { PersonalizationContainerProps } from './personalization-container.types';
|
|
4
|
+
export declare const DEFAULT_INDEX = "default";
|
|
3
5
|
export type UserAttributes = {
|
|
4
6
|
date?: string | Date;
|
|
5
7
|
urlPath?: string;
|
|
@@ -12,6 +14,25 @@ export type Query = {
|
|
|
12
14
|
operator: QueryOperator;
|
|
13
15
|
value: QueryValue;
|
|
14
16
|
};
|
|
17
|
+
type BlocksToRenderReturnType = {
|
|
18
|
+
blocks: BuilderBlock[];
|
|
19
|
+
path: string;
|
|
20
|
+
index: number | typeof DEFAULT_INDEX;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* SDKs that support Variant Containers
|
|
24
|
+
*/
|
|
25
|
+
export declare const SDKS_SUPPORTING_PERSONALIZATION: Target[];
|
|
26
|
+
/**
|
|
27
|
+
* After hydration, we reset the tree
|
|
28
|
+
* These SDKs handle Personalization Container in a special way:
|
|
29
|
+
* - first, the inlined script will help us add `display: none`, `aria-hidden: true` and `hidden: true` to the non-winning variants
|
|
30
|
+
* - then, on mount / when the component is hydrated - we reset the tree with only the winning variant and deleting the entire tree
|
|
31
|
+
*
|
|
32
|
+
* This helps us to avoid flicker and show the correct / winning variant initially and then once we've hydrated we show the winning variant
|
|
33
|
+
* and keep a track of the cookies to update to the correct variant dynamically when the cookie updates.
|
|
34
|
+
*/
|
|
35
|
+
export declare const SDKS_REQUIRING_RESET_APPROACH: Target[];
|
|
15
36
|
export declare function checkShouldRenderVariants(variants: PersonalizationContainerProps['variants'], canTrack: boolean): boolean;
|
|
16
37
|
export declare function getBlocksToRender({ variants, previewingIndex, isHydrated, filteredVariants, fallbackBlocks }: {
|
|
17
38
|
variants: PersonalizationContainerProps['variants'];
|
|
@@ -19,10 +40,9 @@ export declare function getBlocksToRender({ variants, previewingIndex, isHydrate
|
|
|
19
40
|
isHydrated: boolean;
|
|
20
41
|
filteredVariants: PersonalizationContainerProps['variants'];
|
|
21
42
|
fallbackBlocks?: BuilderBlock[];
|
|
22
|
-
}):
|
|
23
|
-
|
|
24
|
-
path: string | undefined;
|
|
25
|
-
};
|
|
43
|
+
}): BlocksToRenderReturnType;
|
|
44
|
+
export declare const getInitPersonalizationVariantsFnsScriptString: () => string;
|
|
26
45
|
export declare const getPersonalizationScript: (variants: PersonalizationContainerProps['variants'], blockId: string, locale?: string) => string;
|
|
46
|
+
export declare const getUpdateVisibilityStylesScript: (variants: PersonalizationContainerProps['variants'], blockId: string, locale?: string) => string;
|
|
27
47
|
export { filterWithCustomTargeting } from './helpers/inlined-fns';
|
|
28
48
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,eAAO,MAAM,aAAa,YAAY,CAAC;AAIvC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AACF,KAAK,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AACzJ,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAC/E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AACF,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,OAAO,aAAa,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,UAA2C,CAAC;AAExF;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,UAAkC,CAAC;AAC7E,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,WAQ/G;AACD,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,cAAc,EACf,EAAE;IACD,QAAQ,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;CACjC,GAAG,wBAAwB,CAuC3B;AACD,eAAO,MAAM,6CAA6C,cAMzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,6BAA6B,CAAC,UAAU,CAAC,WAAW,MAAM,WAAW,MAAM,WAE7H,CAAC;AACF,eAAO,MAAM,+BAA+B,aAAc,6BAA6B,CAAC,UAAU,CAAC,WAAW,MAAM,WAAW,MAAM,WAEpI,CAAC;AACF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA"}
|
package/lib/edge/typescript/blocks/personalization-container/personalization-container.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalization-container.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/personalization-container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"personalization-container.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/personalization-container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkC/B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAGvF,iBAAS,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBAiNrE;AAED,eAAe,wBAAwB,CAAC"}
|
package/lib/edge/typescript/blocks/personalization-container/personalization-container.types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BuilderBlock } from '../../types/builder-block';
|
|
2
|
-
import type { BuilderDataProps } from '../../types/builder-props';
|
|
2
|
+
import type { BuilderComponentsProp, BuilderDataProps } from '../../types/builder-props';
|
|
3
3
|
import type { Query } from './helpers';
|
|
4
4
|
export type PersonalizationContainerProps = {
|
|
5
5
|
children?: any;
|
|
@@ -11,5 +11,5 @@ export type PersonalizationContainerProps = {
|
|
|
11
11
|
startDate?: string;
|
|
12
12
|
endDate?: string;
|
|
13
13
|
}>;
|
|
14
|
-
} & BuilderDataProps;
|
|
14
|
+
} & BuilderDataProps & BuilderComponentsProp;
|
|
15
15
|
//# sourceMappingURL=personalization-container.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalization-container.types.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/personalization-container.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"personalization-container.types.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/personalization-container/personalization-container.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,YAAY,EAAE,CAAC;QACvB,KAAK,EAAE,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ,GAAG,gBAAgB,GAAG,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/symbol/symbol.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/symbol/symbol.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,qBA8EjC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-element.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/interactive-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive-element.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/interactive-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AACF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBA+CzD;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -9,7 +9,19 @@ export type BlocksWrapperProps = {
|
|
|
9
9
|
*/
|
|
10
10
|
BlocksWrapper: any;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Props to be applied to the wrapping element of blocks. Can be set in two ways:
|
|
13
|
+
* 1. Globally via `<Content blocksWrapperProps={{...}}/>` - applies to all blocks wrappers in the Content
|
|
14
|
+
* 2. Locally via `<Blocks BlocksWrapperProps={{...}}/>` - applies only to this specific blocks instance and overrides global props
|
|
15
|
+
*
|
|
16
|
+
* For merging both global and local props, spread the context props before adding your own:
|
|
17
|
+
* ```
|
|
18
|
+
* <Blocks
|
|
19
|
+
* BlocksWrapperProps={{
|
|
20
|
+
* ...builderContext.BlocksWrapperProps,
|
|
21
|
+
* 'data-test-id': 'my-test-id'
|
|
22
|
+
* }}
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
13
25
|
*/
|
|
14
26
|
BlocksWrapperProps: any;
|
|
15
27
|
children?: any;
|
|
@@ -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
|
|
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;;;;;;;;;;;;;;OAcG;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,qBAkG/C;AAMD,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../../src/components/blocks/blocks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../../src/components/blocks/blocks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,qBA0DjC;;AAED,wBAA4B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BuilderContextInterface, RegisteredComponents } from '../../context/types';
|
|
2
2
|
import type { BlocksWrapperProps } from './blocks-wrapper';
|
|
3
|
-
export type BlocksProps = Partial<Omit<BlocksWrapperProps, 'BlocksWrapper' | '
|
|
3
|
+
export type BlocksProps = Partial<Omit<BlocksWrapperProps, 'BlocksWrapper' | 'classNameProp'>> & {
|
|
4
4
|
context?: BuilderContextInterface;
|
|
5
5
|
registeredComponents?: RegisteredComponents;
|
|
6
6
|
linkComponent?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/blocks/blocks.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"blocks.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/blocks/blocks.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC,GAAG;IAC/F,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-variants.d.ts","sourceRoot":"","sources":["../../../../../src/components/content-variants/content-variants.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,KAAK,qBAAqB,GAAG,mBAAmB,GAAG;IACjD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"content-variants.d.ts","sourceRoot":"","sources":["../../../../../src/components/content-variants/content-variants.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,KAAK,qBAAqB,GAAG,mBAAmB,GAAG;IACjD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAWF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQpE,iBAAS,eAAe,CAAC,KAAK,EAAE,qBAAqB,qBAmIpD;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-registered-components.d.ts","sourceRoot":"","sources":["../../../../src/constants/builder-registered-components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builder-registered-components.d.ts","sourceRoot":"","sources":["../../../../src/constants/builder-registered-components.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAI5D;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,mBAAmB,EAiCzC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "4.0.
|
|
1
|
+
export declare const SDK_VERSION = "4.0.9";
|
|
2
2
|
//# sourceMappingURL=sdk-version.d.ts.map
|
|
@@ -8,7 +8,8 @@ const componentInfo = exports.componentInfo = {
|
|
|
8
8
|
name: 'PersonalizationContainer',
|
|
9
9
|
shouldReceiveBuilderProps: {
|
|
10
10
|
builderBlock: true,
|
|
11
|
-
builderContext: true
|
|
11
|
+
builderContext: true,
|
|
12
|
+
builderComponents: true
|
|
12
13
|
},
|
|
13
14
|
noWrap: true,
|
|
14
15
|
image: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F37229ed30d8c41dfb10b8cca1992053a',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["componentInfo","exports","name","shouldReceiveBuilderProps","builderBlock","builderContext","noWrap","image","canHaveChildren","inputs","defaultValue","behavior","type","subFields","friendlyName","hideFromUI"],"sourceRoot":"../../../../../src","sources":["blocks/personalization-container/component-info.ts"],"mappings":";;;;;;AACO,MAAMA,aAA4B,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC1CE,IAAI,EAAE,0BAA0B;EAChCC,yBAAyB,EAAE;IACzBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE;
|
|
1
|
+
{"version":3,"names":["componentInfo","exports","name","shouldReceiveBuilderProps","builderBlock","builderContext","builderComponents","noWrap","image","canHaveChildren","inputs","defaultValue","behavior","type","subFields","friendlyName","hideFromUI"],"sourceRoot":"../../../../../src","sources":["blocks/personalization-container/component-info.ts"],"mappings":";;;;;;AACO,MAAMA,aAA4B,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC1CE,IAAI,EAAE,0BAA0B;EAChCC,yBAAyB,EAAE;IACzBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,sGAAsG;EAC7GC,eAAe,EAAE,IAAI;EACrBC,MAAM,EAAE,CAAC;IACPR,IAAI,EAAE,UAAU;IAChBS,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE,4BAA4B;IACtCC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,CAAC;MACVZ,IAAI,EAAE,MAAM;MACZW,IAAI,EAAE;IACR,CAAC,EAAE;MACDX,IAAI,EAAE,OAAO;MACba,YAAY,EAAE,iBAAiB;MAC/BF,IAAI,EAAE,cAAc;MACpBF,YAAY,EAAE;IAChB,CAAC,EAAE;MACDT,IAAI,EAAE,WAAW;MACjBW,IAAI,EAAE;IACR,CAAC,EAAE;MACDX,IAAI,EAAE,SAAS;MACfW,IAAI,EAAE;IACR,CAAC,EAAE;MACDX,IAAI,EAAE,QAAQ;MACdW,IAAI,EAAE,UAAU;MAChBG,UAAU,EAAE,IAAI;MAChBL,YAAY,EAAE;IAChB,CAAC;EACH,CAAC;AACH,CAAC"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.PERSONALIZATION_SCRIPT = exports.FILTER_WITH_CUSTOM_TARGETING_SCRIPT = void 0;
|
|
6
|
+
exports.UPDATE_VISIBILITY_STYLES_SCRIPT = exports.PERSONALIZATION_SCRIPT = exports.FILTER_WITH_CUSTOM_TARGETING_SCRIPT = void 0;
|
|
7
7
|
exports.filterWithCustomTargeting = filterWithCustomTargeting;
|
|
8
|
+
exports.updateVisibilityStylesScript = updateVisibilityStylesScript;
|
|
8
9
|
/**
|
|
9
10
|
* WARNING: This file contains functions that get stringified and inlined into the HTML at build-time.
|
|
10
11
|
* They cannot import anything.
|
|
@@ -89,6 +90,47 @@ function filterWithCustomTargeting(userAttributes, query, startDate, endDate) {
|
|
|
89
90
|
return objectMatchesQuery(userAttributes, filter);
|
|
90
91
|
});
|
|
91
92
|
}
|
|
92
|
-
|
|
93
|
+
function updateVisibilityStylesScript(variants, blockId, isHydrationTarget, locale) {
|
|
94
|
+
var _document$currentScri;
|
|
95
|
+
function getCookie(name) {
|
|
96
|
+
const nameEQ = name + '=';
|
|
97
|
+
const ca = document.cookie.split(';');
|
|
98
|
+
for (let i = 0; i < ca.length; i++) {
|
|
99
|
+
let c = ca[i];
|
|
100
|
+
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
|
101
|
+
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
const visibilityStylesEl = (_document$currentScri = document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.previousElementSibling;
|
|
106
|
+
if (!visibilityStylesEl) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (isHydrationTarget) {
|
|
110
|
+
visibilityStylesEl.remove();
|
|
111
|
+
const currentScript = document.currentScript;
|
|
112
|
+
if (currentScript) {
|
|
113
|
+
currentScript.remove();
|
|
114
|
+
}
|
|
115
|
+
} else {
|
|
116
|
+
const attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');
|
|
117
|
+
if (locale) {
|
|
118
|
+
attributes.locale = locale;
|
|
119
|
+
}
|
|
120
|
+
const winningVariantIndex = variants === null || variants === void 0 ? void 0 : variants.findIndex(function (variant) {
|
|
121
|
+
return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);
|
|
122
|
+
});
|
|
123
|
+
if (winningVariantIndex !== -1) {
|
|
124
|
+
let newStyleStr = (variants === null || variants === void 0 ? void 0 : variants.map((_, index) => {
|
|
125
|
+
if (index === winningVariantIndex) return '';
|
|
126
|
+
return `div[data-variant-id="${blockId}-${index}"] { display: none !important; } `;
|
|
127
|
+
}).join('')) || '';
|
|
128
|
+
newStyleStr += `div[data-variant-id="${blockId}-default"] { display: none !important; } `;
|
|
129
|
+
visibilityStylesEl.innerHTML = newStyleStr;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const PERSONALIZATION_SCRIPT = exports.PERSONALIZATION_SCRIPT = "function getPersonalizedVariant(variants, blockId, isHydrationTarget, locale) {\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 attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\n if (locale) {\n attributes.locale = locale;\n }\n const winningVariantIndex = variants?.findIndex(function (variant) {\n return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\n });\n const parentDiv = document.currentScript?.parentElement;\n const variantId = parentDiv?.getAttribute('data-variant-id');\n const isDefaultVariant = variantId === `${blockId}-default`;\n const isWinningVariant = winningVariantIndex !== -1 && variantId === `${blockId}-${winningVariantIndex}` || winningVariantIndex === -1 && isDefaultVariant;\n if (isWinningVariant && !isDefaultVariant) {\n parentDiv?.removeAttribute('hidden');\n parentDiv?.removeAttribute('aria-hidden');\n } else if (!isWinningVariant && isDefaultVariant) {\n parentDiv?.setAttribute('hidden', 'true');\n parentDiv?.setAttribute('aria-hidden', 'true');\n }\n if (isHydrationTarget) {\n if (!isWinningVariant) {\n const itsStyleEl = parentDiv?.previousElementSibling;\n if (itsStyleEl) {\n itsStyleEl.remove();\n }\n parentDiv?.remove();\n }\n const thisScript = document.currentScript;\n if (thisScript) {\n thisScript.remove();\n }\n }\n}";
|
|
93
134
|
const FILTER_WITH_CUSTOM_TARGETING_SCRIPT = exports.FILTER_WITH_CUSTOM_TARGETING_SCRIPT = "function filterWithCustomTargeting(userAttributes, query, startDate, endDate) {\n function isString(val) {\n return typeof val === 'string';\n }\n function isNumber(val) {\n return typeof val === 'number';\n }\n function objectMatchesQuery(userattr, query) {\n const result = (() => {\n const property = query.property;\n const operator = query.operator;\n let testValue = query.value;\n if (query && query.property === 'urlPath' && query.value && typeof query.value === 'string' && query.value !== '/' && query.value.endsWith('/')) {\n testValue = query.value.slice(0, -1);\n }\n if (!(property && operator)) {\n return true;\n }\n if (Array.isArray(testValue)) {\n if (operator === 'isNot') {\n return testValue.every(val => objectMatchesQuery(userattr, {\n property,\n operator,\n value: val\n }));\n }\n return !!testValue.find(val => objectMatchesQuery(userattr, {\n property,\n operator,\n value: val\n }));\n }\n const value = userattr[property];\n if (Array.isArray(value)) {\n return value.includes(testValue);\n }\n switch (operator) {\n case 'is':\n return value === testValue;\n case 'isNot':\n return value !== testValue;\n case 'contains':\n return (isString(value) || Array.isArray(value)) && value.includes(String(testValue));\n case 'startsWith':\n return isString(value) && value.startsWith(String(testValue));\n case 'endsWith':\n return isString(value) && value.endsWith(String(testValue));\n case 'greaterThan':\n return isNumber(value) && isNumber(testValue) && value > testValue;\n case 'lessThan':\n return isNumber(value) && isNumber(testValue) && value < testValue;\n case 'greaterThanOrEqualTo':\n return isNumber(value) && isNumber(testValue) && value >= testValue;\n case 'lessThanOrEqualTo':\n return isNumber(value) && isNumber(testValue) && value <= testValue;\n default:\n return false;\n }\n })();\n return result;\n }\n const item = {\n query,\n startDate,\n endDate\n };\n const now = userAttributes.date && new Date(userAttributes.date) || new Date();\n if (item.startDate && new Date(item.startDate) > now) {\n return false;\n } else if (item.endDate && new Date(item.endDate) < now) {\n return false;\n }\n if (!item.query || !item.query.length) {\n return true;\n }\n return item.query.every(filter => {\n return objectMatchesQuery(userAttributes, filter);\n });\n}";
|
|
135
|
+
const UPDATE_VISIBILITY_STYLES_SCRIPT = exports.UPDATE_VISIBILITY_STYLES_SCRIPT = "function updateVisibilityStylesScript(variants, blockId, isHydrationTarget, locale) {\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 visibilityStylesEl = document.currentScript?.previousElementSibling;\n if (!visibilityStylesEl) {\n return;\n }\n if (isHydrationTarget) {\n visibilityStylesEl.remove();\n const currentScript = document.currentScript;\n if (currentScript) {\n currentScript.remove();\n }\n } else {\n const attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\n if (locale) {\n attributes.locale = locale;\n }\n const winningVariantIndex = variants?.findIndex(function (variant) {\n return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\n });\n if (winningVariantIndex !== -1) {\n let newStyleStr = variants?.map((_, index) => {\n if (index === winningVariantIndex) return '';\n return `div[data-variant-id=\"${blockId}-${index}\"] { display: none !important; } `;\n }).join('') || '';\n newStyleStr += `div[data-variant-id=\"${blockId}-default\"] { display: none !important; } `;\n visibilityStylesEl.innerHTML = newStyleStr;\n }\n }\n}";
|
|
94
136
|
//# sourceMappingURL=inlined-fns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["filterWithCustomTargeting","userAttributes","query","startDate","endDate","isString","val","isNumber","objectMatchesQuery","userattr","result","property","operator","testValue","value","endsWith","slice","Array","isArray","every","find","includes","String","startsWith","item","now","date","Date","length","filter","PERSONALIZATION_SCRIPT","exports","FILTER_WITH_CUSTOM_TARGETING_SCRIPT"],"sourceRoot":"../../../../../../src","sources":["blocks/personalization-container/helpers/inlined-fns.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["filterWithCustomTargeting","userAttributes","query","startDate","endDate","isString","val","isNumber","objectMatchesQuery","userattr","result","property","operator","testValue","value","endsWith","slice","Array","isArray","every","find","includes","String","startsWith","item","now","date","Date","length","filter","updateVisibilityStylesScript","variants","blockId","isHydrationTarget","locale","_document$currentScri","getCookie","name","nameEQ","ca","document","cookie","split","i","c","charAt","substring","indexOf","visibilityStylesEl","currentScript","previousElementSibling","remove","attributes","JSON","parse","winningVariantIndex","findIndex","variant","window","newStyleStr","map","_","index","join","innerHTML","PERSONALIZATION_SCRIPT","exports","FILTER_WITH_CUSTOM_TARGETING_SCRIPT","UPDATE_VISIBILITY_STYLES_SCRIPT"],"sourceRoot":"../../../../../../src","sources":["blocks/personalization-container/helpers/inlined-fns.ts"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.SDKS_SUPPORTING_PERSONALIZATION = exports.SDKS_REQUIRING_RESET_APPROACH = exports.DEFAULT_INDEX = void 0;
|
|
6
7
|
exports.checkShouldRenderVariants = checkShouldRenderVariants;
|
|
7
8
|
Object.defineProperty(exports, "filterWithCustomTargeting", {
|
|
8
9
|
enumerable: true,
|
|
@@ -11,17 +12,36 @@ Object.defineProperty(exports, "filterWithCustomTargeting", {
|
|
|
11
12
|
}
|
|
12
13
|
});
|
|
13
14
|
exports.getBlocksToRender = getBlocksToRender;
|
|
14
|
-
exports.getPersonalizationScript = void 0;
|
|
15
|
+
exports.getUpdateVisibilityStylesScript = exports.getPersonalizationScript = exports.getInitPersonalizationVariantsFnsScriptString = void 0;
|
|
15
16
|
var _target = require("../../constants/target");
|
|
16
17
|
var _isBrowser = require("../../functions/is-browser");
|
|
17
18
|
var _isEditing = require("../../functions/is-editing");
|
|
18
19
|
var _inlinedFns = require("./helpers/inlined-fns");
|
|
20
|
+
const DEFAULT_INDEX = exports.DEFAULT_INDEX = 'default';
|
|
21
|
+
const FILTER_WITH_CUSTOM_TARGETING_SCRIPT_FN_NAME = 'filterWithCustomTargeting';
|
|
22
|
+
const BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME = 'builderIoPersonalization';
|
|
23
|
+
const UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME = 'updateVisibilityStylesScript';
|
|
24
|
+
/**
|
|
25
|
+
* SDKs that support Variant Containers
|
|
26
|
+
*/
|
|
27
|
+
const SDKS_SUPPORTING_PERSONALIZATION = exports.SDKS_SUPPORTING_PERSONALIZATION = ['react', 'vue', 'svelte'];
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* After hydration, we reset the tree
|
|
31
|
+
* These SDKs handle Personalization Container in a special way:
|
|
32
|
+
* - first, the inlined script will help us add `display: none`, `aria-hidden: true` and `hidden: true` to the non-winning variants
|
|
33
|
+
* - then, on mount / when the component is hydrated - we reset the tree with only the winning variant and deleting the entire tree
|
|
34
|
+
*
|
|
35
|
+
* This helps us to avoid flicker and show the correct / winning variant initially and then once we've hydrated we show the winning variant
|
|
36
|
+
* and keep a track of the cookies to update to the correct variant dynamically when the cookie updates.
|
|
37
|
+
*/
|
|
38
|
+
const SDKS_REQUIRING_RESET_APPROACH = exports.SDKS_REQUIRING_RESET_APPROACH = ['vue', 'svelte'];
|
|
19
39
|
function checkShouldRenderVariants(variants, canTrack) {
|
|
20
40
|
const hasVariants = variants && variants.length > 0;
|
|
21
41
|
if (_target.TARGET === 'reactNative') return false;
|
|
22
42
|
if (!hasVariants) return false;
|
|
23
43
|
if (!canTrack) return false;
|
|
24
|
-
if (
|
|
44
|
+
if (SDKS_REQUIRING_RESET_APPROACH.includes(_target.TARGET)) return true;
|
|
25
45
|
if ((0, _isBrowser.isBrowser)()) return false;
|
|
26
46
|
return true;
|
|
27
47
|
}
|
|
@@ -34,16 +54,20 @@ function getBlocksToRender({
|
|
|
34
54
|
}) {
|
|
35
55
|
const fallback = {
|
|
36
56
|
blocks: fallbackBlocks ?? [],
|
|
37
|
-
path: 'this.children'
|
|
57
|
+
path: 'this.children',
|
|
58
|
+
index: DEFAULT_INDEX
|
|
38
59
|
};
|
|
39
60
|
if (isHydrated && (0, _isEditing.isEditing)()) {
|
|
40
61
|
// If editing a specific variant
|
|
41
62
|
if (typeof previewingIndex === 'number' && previewingIndex < ((variants === null || variants === void 0 ? void 0 : variants.length) ?? 0)) {
|
|
42
|
-
const variant = variants[previewingIndex];
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
63
|
+
const variant = variants === null || variants === void 0 ? void 0 : variants[previewingIndex];
|
|
64
|
+
if (variant) {
|
|
65
|
+
return {
|
|
66
|
+
blocks: variant.blocks,
|
|
67
|
+
path: `variants.${previewingIndex}.blocks`,
|
|
68
|
+
index: previewingIndex
|
|
69
|
+
};
|
|
70
|
+
}
|
|
47
71
|
}
|
|
48
72
|
// Otherwise we're editing the default variant
|
|
49
73
|
return fallback;
|
|
@@ -52,25 +76,36 @@ function getBlocksToRender({
|
|
|
52
76
|
// If we're on the browser, check if there's a winning variant
|
|
53
77
|
if ((0, _isBrowser.isBrowser)()) {
|
|
54
78
|
const winningVariant = filteredVariants === null || filteredVariants === void 0 ? void 0 : filteredVariants[0];
|
|
55
|
-
if (winningVariant) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
79
|
+
if (winningVariant && variants) {
|
|
80
|
+
const variantIndex = variants.indexOf(winningVariant);
|
|
81
|
+
if (variantIndex !== -1) {
|
|
82
|
+
return {
|
|
83
|
+
blocks: winningVariant.blocks,
|
|
84
|
+
path: `variants.${variantIndex}.blocks`,
|
|
85
|
+
index: variantIndex
|
|
86
|
+
};
|
|
87
|
+
}
|
|
60
88
|
}
|
|
61
89
|
}
|
|
62
90
|
|
|
63
91
|
// If no winning variant or we are on the server, return the default variant
|
|
64
92
|
return fallback;
|
|
65
93
|
}
|
|
66
|
-
const
|
|
94
|
+
const getInitPersonalizationVariantsFnsScriptString = () => {
|
|
67
95
|
return `
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
getPersonalizedVariant(${JSON.stringify(variants)}, "${blockId}"${locale ? `, "${locale}"` : ''})
|
|
72
|
-
})();
|
|
96
|
+
window.${FILTER_WITH_CUSTOM_TARGETING_SCRIPT_FN_NAME} = ${_inlinedFns.FILTER_WITH_CUSTOM_TARGETING_SCRIPT}
|
|
97
|
+
window.${BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME} = ${_inlinedFns.PERSONALIZATION_SCRIPT}
|
|
98
|
+
window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME} = ${_inlinedFns.UPDATE_VISIBILITY_STYLES_SCRIPT}
|
|
73
99
|
`;
|
|
74
100
|
};
|
|
101
|
+
exports.getInitPersonalizationVariantsFnsScriptString = getInitPersonalizationVariantsFnsScriptString;
|
|
102
|
+
const isHydrationTarget = _target.TARGET === 'react';
|
|
103
|
+
const getPersonalizationScript = (variants, blockId, locale) => {
|
|
104
|
+
return `window.${BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME}(${JSON.stringify(variants)}, "${blockId}", ${isHydrationTarget}${locale ? `, "${locale}"` : ''})`;
|
|
105
|
+
};
|
|
75
106
|
exports.getPersonalizationScript = getPersonalizationScript;
|
|
107
|
+
const getUpdateVisibilityStylesScript = (variants, blockId, locale) => {
|
|
108
|
+
return `window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME}(${JSON.stringify(variants)}, "${blockId}", ${isHydrationTarget}${locale ? `, "${locale}"` : ''})`;
|
|
109
|
+
};
|
|
110
|
+
exports.getUpdateVisibilityStylesScript = getUpdateVisibilityStylesScript;
|
|
76
111
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_target","require","_isBrowser","_isEditing","_inlinedFns","checkShouldRenderVariants","variants","canTrack","hasVariants","length","TARGET","isBrowser","getBlocksToRender","previewingIndex","isHydrated","filteredVariants","fallbackBlocks","fallback","blocks","path","isEditing","variant","winningVariant","indexOf","
|
|
1
|
+
{"version":3,"names":["_target","require","_isBrowser","_isEditing","_inlinedFns","DEFAULT_INDEX","exports","FILTER_WITH_CUSTOM_TARGETING_SCRIPT_FN_NAME","BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME","UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME","SDKS_SUPPORTING_PERSONALIZATION","SDKS_REQUIRING_RESET_APPROACH","checkShouldRenderVariants","variants","canTrack","hasVariants","length","TARGET","includes","isBrowser","getBlocksToRender","previewingIndex","isHydrated","filteredVariants","fallbackBlocks","fallback","blocks","path","index","isEditing","variant","winningVariant","variantIndex","indexOf","getInitPersonalizationVariantsFnsScriptString","FILTER_WITH_CUSTOM_TARGETING_SCRIPT","PERSONALIZATION_SCRIPT","UPDATE_VISIBILITY_STYLES_SCRIPT","isHydrationTarget","getPersonalizationScript","blockId","locale","JSON","stringify","getUpdateVisibilityStylesScript"],"sourceRoot":"../../../../../src","sources":["blocks/personalization-container/helpers.ts"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAGA,IAAAG,WAAA,GAAAH,OAAA;AAEO,MAAMI,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAS;AACtC,MAAME,2CAA2C,GAAG,2BAA2B;AAC/E,MAAMC,yCAAyC,GAAG,0BAA0B;AAC5E,MAAMC,wCAAwC,GAAG,8BAA8B;AAmB/E;AACA;AACA;AACO,MAAMC,+BAA+B,GAAAJ,OAAA,CAAAI,+BAAA,GAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAc;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,6BAA6B,GAAAL,OAAA,CAAAK,6BAAA,GAAI,CAAC,KAAK,EAAE,QAAQ,CAAc;AACrE,SAASC,yBAAyBA,CAACC,QAAmD,EAAEC,QAAiB,EAAE;EAChH,MAAMC,WAAW,GAAGF,QAAQ,IAAIA,QAAQ,CAACG,MAAM,GAAG,CAAC;EACnD,IAAIC,cAAM,KAAK,aAAa,EAAE,OAAO,KAAK;EAC1C,IAAI,CAACF,WAAW,EAAE,OAAO,KAAK;EAC9B,IAAI,CAACD,QAAQ,EAAE,OAAO,KAAK;EAC3B,IAAIH,6BAA6B,CAACO,QAAQ,CAACD,cAAM,CAAC,EAAE,OAAO,IAAI;EAC/D,IAAI,IAAAE,oBAAS,EAAC,CAAC,EAAE,OAAO,KAAK;EAC7B,OAAO,IAAI;AACb;AACO,SAASC,iBAAiBA,CAAC;EAChCP,QAAQ;EACRQ,eAAe;EACfC,UAAU;EACVC,gBAAgB;EAChBC;AAOF,CAAC,EAA4B;EAC3B,MAAMC,QAAkC,GAAG;IACzCC,MAAM,EAAEF,cAAc,IAAI,EAAE;IAC5BG,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAEvB;EACT,CAAC;EACD,IAAIiB,UAAU,IAAI,IAAAO,oBAAS,EAAC,CAAC,EAAE;IAC7B;IACA,IAAI,OAAOR,eAAe,KAAK,QAAQ,IAAIA,eAAe,IAAI,CAAAR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,MAAM,KAAI,CAAC,CAAC,EAAE;MACpF,MAAMc,OAAO,GAAGjB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGQ,eAAe,CAAC;MAC3C,IAAIS,OAAO,EAAE;QACX,OAAO;UACLJ,MAAM,EAAEI,OAAO,CAACJ,MAAM;UACtBC,IAAI,EAAG,YAAWN,eAAgB,SAAQ;UAC1CO,KAAK,EAAEP;QACT,CAAC;MACH;IACF;IACA;IACA,OAAOI,QAAQ;EACjB;;EAEA;EACA,IAAI,IAAAN,oBAAS,EAAC,CAAC,EAAE;IACf,MAAMY,cAAc,GAAGR,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAG,CAAC,CAAC;IAC5C,IAAIQ,cAAc,IAAIlB,QAAQ,EAAE;MAC9B,MAAMmB,YAAY,GAAGnB,QAAQ,CAACoB,OAAO,CAACF,cAAc,CAAC;MACrD,IAAIC,YAAY,KAAK,CAAC,CAAC,EAAE;QACvB,OAAO;UACLN,MAAM,EAAEK,cAAc,CAACL,MAAM;UAC7BC,IAAI,EAAG,YAAWK,YAAa,SAAQ;UACvCJ,KAAK,EAAEI;QACT,CAAC;MACH;IACF;EACF;;EAEA;EACA,OAAOP,QAAQ;AACjB;AACO,MAAMS,6CAA6C,GAAGA,CAAA,KAAM;EACjE,OAAQ;AACV,WAAW3B,2CAA4C,MAAK4B,+CAAoC;AAChG,WAAW3B,yCAA0C,MAAK4B,kCAAuB;AACjF,WAAW3B,wCAAyC,MAAK4B,2CAAgC;AACzF,GAAG;AACH,CAAC;AAAC/B,OAAA,CAAA4B,6CAAA,GAAAA,6CAAA;AACF,MAAMI,iBAAiB,GAAGrB,cAAM,KAAK,OAAO;AACrC,MAAMsB,wBAAwB,GAAGA,CAAC1B,QAAmD,EAAE2B,OAAe,EAAEC,MAAe,KAAK;EACjI,OAAQ,UAASjC,yCAA0C,IAAGkC,IAAI,CAACC,SAAS,CAAC9B,QAAQ,CAAE,MAAK2B,OAAQ,MAAKF,iBAAkB,GAAEG,MAAM,GAAI,MAAKA,MAAO,GAAE,GAAG,EAAG,GAAE;AAC/J,CAAC;AAACnC,OAAA,CAAAiC,wBAAA,GAAAA,wBAAA;AACK,MAAMK,+BAA+B,GAAGA,CAAC/B,QAAmD,EAAE2B,OAAe,EAAEC,MAAe,KAAK;EACxI,OAAQ,UAAShC,wCAAyC,IAAGiC,IAAI,CAACC,SAAS,CAAC9B,QAAQ,CAAE,MAAK2B,OAAQ,MAAKF,iBAAkB,GAAEG,MAAM,GAAI,MAAKA,MAAO,GAAE,GAAG,EAAG,GAAE;AAC9J,CAAC;AAACnC,OAAA,CAAAsC,+BAAA,GAAAA,+BAAA"}
|