@builder.io/react 5.0.2-0 → 5.0.2-10

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/react",
3
- "version": "5.0.1",
3
+ "version": "5.0.2-9",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/builder-react.cjs.js",
@@ -14,112 +14,56 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.filterWithCustomTargeting = void 0;
17
+ exports.PersonalizationContainer = void 0;
18
18
  var react_1 = __importDefault(require("react"));
19
19
  var sdk_1 = require("@builder.io/sdk");
20
20
  var react_2 = require("react");
21
21
  var builder_blocks_component_1 = require("../components/builder-blocks.component");
22
+ var filter_with_custom_targeting_1 = require("../functions/filter-with-custom-targeting");
23
+ var attributeCookieName = 'builder.attributes';
22
24
  function PersonalizationContainer(props) {
23
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
24
- var _k = (0, react_2.useState)(false), isClient = _k[0], setIsClient = _k[1];
25
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
26
+ var isBeingHydrated = Boolean(sdk_1.Builder.isBrowser && ((_a = window.__hydrated) === null || _a === void 0 ? void 0 : _a[(_b = props.builderBlock) === null || _b === void 0 ? void 0 : _b.id]));
27
+ var _u = (0, react_2.useState)(isBeingHydrated), isClient = _u[0], setIsClient = _u[1];
28
+ var _v = (0, react_2.useState)(0), update = _v[0], setUpdate = _v[1];
25
29
  (0, react_2.useEffect)(function () {
26
30
  setIsClient(true);
31
+ var subscriber = sdk_1.builder.userAttributesChanged.subscribe(function () {
32
+ sdk_1.builder.setCookie(attributeCookieName, JSON.stringify(sdk_1.builder.getUserAttributes()));
33
+ setUpdate(update + 1);
34
+ });
35
+ return function () {
36
+ subscriber.unsubscribe();
37
+ };
27
38
  }, []);
28
- var filteredVariants = (props.variants || []).filter(function (variant) {
29
- return filterWithCustomTargeting(sdk_1.builder.getUserAttributes(), variant.query, variant.startDate, variant.endDate);
30
- });
31
- return (react_1.default.createElement("div", __assign({ style: __assign({ opacity: isClient ? 1 : 0, transition: 'opacity 0.2s ease-in-out' }, props.attributes) }, props.attributes, { className: "builder-personalization-container ".concat(props.attributes.className, " ").concat(isClient ? '' : 'builder-personalization-container-loading') }), sdk_1.Builder.isEditing &&
32
- typeof props.previewingIndex === 'number' &&
33
- props.previewingIndex < (((_a = props.variants) === null || _a === void 0 ? void 0 : _a.length) || 0) ? (react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_c = (_b = props.variants) === null || _b === void 0 ? void 0 : _b[props.previewingIndex]) === null || _c === void 0 ? void 0 : _c.blocks, parentElementId: (_d = props.builderBlock) === null || _d === void 0 ? void 0 : _d.id, dataPath: "component.options.variants.".concat(props.previewingIndex, ".blocks"), child: true })) : // If editing the default or we're on the server and there are no matching variants show the default
34
- (sdk_1.Builder.isEditing && typeof props.previewingIndex !== 'number') ||
35
- !isClient ||
36
- !filteredVariants.length ? (react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_e = props.builderBlock) === null || _e === void 0 ? void 0 : _e.children, parentElementId: (_f = props.builderBlock) === null || _f === void 0 ? void 0 : _f.id, dataPath: "this.children", child: true })) : (
37
- // Show the variant matching the current user attributes
38
- react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_g = filteredVariants[0]) === null || _g === void 0 ? void 0 : _g.blocks, parentElementId: (_h = props.builderBlock) === null || _h === void 0 ? void 0 : _h.id, dataPath: "component.options.variants.".concat((_j = props.variants) === null || _j === void 0 ? void 0 : _j.indexOf(filteredVariants[0]), ".blocks"), child: true }))));
39
- }
40
- exports.default = PersonalizationContainer;
41
- function filterWithCustomTargeting(userAttributes, query, startDate, endDate) {
42
- var item = {
43
- query: query,
44
- startDate: startDate,
45
- endDate: endDate,
46
- };
47
- var now = (userAttributes.date && new Date(userAttributes.date)) || new Date();
48
- if (item.startDate && new Date(item.startDate) > now) {
49
- return false;
50
- }
51
- else if (item.endDate && new Date(item.endDate) < now) {
52
- return false;
53
- }
54
- if (!item.query || !item.query.length) {
55
- return true;
39
+ if (sdk_1.Builder.isServer) {
40
+ return (react_1.default.createElement(react_1.default.Fragment, null, (_c = props.variants) === null || _c === void 0 ? void 0 :
41
+ _c.map(function (variant, index) {
42
+ var _a, _b;
43
+ return (react_1.default.createElement("template", { key: index, "data-variant-id": ((_a = props.builderBlock) === null || _a === void 0 ? void 0 : _a.id) + index },
44
+ react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: variant.blocks, parentElementId: (_b = props.builderBlock) === null || _b === void 0 ? void 0 : _b.id, dataPath: "component.options.variants.".concat(index, ".blocks"), child: true })));
45
+ }),
46
+ react_1.default.createElement("script", { id: "variants-script-".concat((_d = props.builderBlock) === null || _d === void 0 ? void 0 : _d.id), dangerouslySetInnerHTML: { __html: getPersonalizationScript(props) } }),
47
+ react_1.default.createElement("div", __assign({}, props.attributes, { "data-default-variant-id": (_e = props.builderBlock) === null || _e === void 0 ? void 0 : _e.id, className: "builder-personalization-container ".concat(props.attributes.className) }),
48
+ react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_f = props.builderBlock) === null || _f === void 0 ? void 0 : _f.children, parentElementId: (_g = props.builderBlock) === null || _g === void 0 ? void 0 : _g.id, dataPath: "this.children", child: true }))));
56
49
  }
57
- return item.query.every(function (filter) {
58
- if (filter &&
59
- filter.property === 'urlPath' &&
60
- filter.value &&
61
- typeof filter.value === 'string' &&
62
- filter.value !== '/' &&
63
- filter.value.endsWith('/')) {
64
- filter.value = filter.value.slice(0, -1);
65
- }
66
- return objectMatchesQuery(userAttributes, filter);
50
+ var filteredVariants = (props.variants || []).filter(function (variant) {
51
+ return (0, filter_with_custom_targeting_1.filterWithCustomTargeting)(sdk_1.builder.getUserAttributes(), variant.query, variant.startDate, variant.endDate);
67
52
  });
68
- function isNumber(val) {
69
- return typeof val === 'number';
70
- }
71
- function isString(val) {
72
- return typeof val === 'string';
73
- }
74
- function objectMatchesQuery(userattr, query) {
75
- var result = (function () {
76
- var property = query.property;
77
- var operator = query.operator;
78
- var testValue = query.value;
79
- // Check is query property is present in userAttributes. Proceed only if it is present.
80
- if (!(property && operator)) {
81
- return true;
82
- }
83
- if (Array.isArray(testValue)) {
84
- if (operator === 'isNot') {
85
- return testValue.every(function (val) {
86
- return objectMatchesQuery(userattr, { property: property, operator: operator, value: val });
87
- });
88
- }
89
- return !!testValue.find(function (val) {
90
- return objectMatchesQuery(userattr, { property: property, operator: operator, value: val });
91
- });
92
- }
93
- var value = userattr[property];
94
- if (Array.isArray(value)) {
95
- return value.includes(testValue);
96
- }
97
- switch (operator) {
98
- case 'is':
99
- return value === testValue;
100
- case 'isNot':
101
- return value !== testValue;
102
- case 'contains':
103
- return (isString(value) || Array.isArray(value)) && value.includes(testValue);
104
- case 'startsWith':
105
- return isString(value) && value.startsWith(testValue);
106
- case 'endsWith':
107
- return isString(value) && value.endsWith(testValue);
108
- case 'greaterThan':
109
- return isNumber(value) && isNumber(testValue) && value > testValue;
110
- case 'lessThan':
111
- return isNumber(value) && isNumber(testValue) && value < testValue;
112
- case 'greaterThanOrEqualTo':
113
- return isNumber(value) && isNumber(testValue) && value >= testValue;
114
- case 'lessThanOrEqualTo':
115
- return isNumber(value) && isNumber(testValue) && value <= testValue;
116
- }
117
- return false;
118
- })();
119
- return result;
120
- }
53
+ return (react_1.default.createElement("div", __assign({}, props.attributes, { style: __assign({ opacity: isClient ? 1 : 0, transition: 'opacity 0.2s ease-in-out' }, (_h = props.attributes) === null || _h === void 0 ? void 0 : _h.style), className: "builder-personalization-container ".concat(props.attributes.className, " ").concat(isClient ? '' : 'builder-personalization-container-loading') }),
54
+ sdk_1.Builder.isEditing &&
55
+ typeof props.previewingIndex === 'number' &&
56
+ props.previewingIndex < (((_j = props.variants) === null || _j === void 0 ? void 0 : _j.length) || 0) ? (react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_l = (_k = props.variants) === null || _k === void 0 ? void 0 : _k[props.previewingIndex]) === null || _l === void 0 ? void 0 : _l.blocks, parentElementId: (_m = props.builderBlock) === null || _m === void 0 ? void 0 : _m.id, dataPath: "component.options.variants.".concat(props.previewingIndex, ".blocks"), child: true })) : // If editing the default or we're on the server and there are no matching variants show the default
57
+ (sdk_1.Builder.isEditing && typeof props.previewingIndex !== 'number') ||
58
+ !isClient ||
59
+ !filteredVariants.length ? (react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_o = props.builderBlock) === null || _o === void 0 ? void 0 : _o.children, parentElementId: (_p = props.builderBlock) === null || _p === void 0 ? void 0 : _p.id, dataPath: "this.children", child: true })) : (
60
+ // Show the variant matching the current user attributes
61
+ react_1.default.createElement(builder_blocks_component_1.BuilderBlocks, { blocks: (_q = filteredVariants[0]) === null || _q === void 0 ? void 0 : _q.blocks, parentElementId: (_r = props.builderBlock) === null || _r === void 0 ? void 0 : _r.id, dataPath: "component.options.variants.".concat((_s = props.variants) === null || _s === void 0 ? void 0 : _s.indexOf(filteredVariants[0]), ".blocks"), child: true })),
62
+ react_1.default.createElement("script", { dangerouslySetInnerHTML: {
63
+ __html: "\n window.__hydrated = window.__hydrated || {};\n window.__hydrated['".concat((_t = props.builderBlock) === null || _t === void 0 ? void 0 : _t.id, "'] = true;\n ").replace(/\s+/g, ' '),
64
+ } })));
121
65
  }
122
- exports.filterWithCustomTargeting = filterWithCustomTargeting;
66
+ exports.PersonalizationContainer = PersonalizationContainer;
123
67
  sdk_1.Builder.registerComponent(PersonalizationContainer, {
124
68
  name: 'PersonalizationContainer',
125
69
  noWrap: true,
@@ -137,7 +81,8 @@ sdk_1.Builder.registerComponent(PersonalizationContainer, {
137
81
  type: 'text',
138
82
  },
139
83
  {
140
- name: 'variants',
84
+ name: 'query',
85
+ friendlyName: 'Targeting rules',
141
86
  type: 'BuilderQuery',
142
87
  defaultValue: [],
143
88
  },
@@ -159,4 +104,8 @@ sdk_1.Builder.registerComponent(PersonalizationContainer, {
159
104
  },
160
105
  ],
161
106
  });
107
+ function getPersonalizationScript(props) {
108
+ var _a, _b, _c, _d;
109
+ return "\n (function() {\n function getCookie(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(';');\n for(var i=0;i < ca.length;i++) {\n var c = ca[i];\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\n }\n return null;\n }\n function removeVariants() {\n variants.forEach(function (template, index) {\n document.querySelector('template[data-variant-id=\"' + \"".concat((_a = props.builderBlock) === null || _a === void 0 ? void 0 : _a.id, "\" + index + '\"]').remove();\n });\n document.getElementById('variants-script-").concat((_b = props.builderBlock) === null || _b === void 0 ? void 0 : _b.id, "').remove();\n }\n\n var attributes = JSON.parse(getCookie(\"").concat(attributeCookieName, "\") || \"{}\");\n var variants = ").concat(JSON.stringify((_c = props.variants) === null || _c === void 0 ? void 0 : _c.map(function (v) { return ({ query: v.query, startDate: v.startDate, endDate: v.endDate }); })), ";\n var winningVariantIndex = variants.findIndex(function(variant) {\n return filterWithCustomTargeting(\n attributes,\n variant.query,\n variant.startDate,\n variant.endDate\n );\n });\n if (winningVariantIndex !== -1) {\n var winningVariant = document.querySelector('template[data-variant-index=\"' + \"").concat((_d = props.builderBlock) === null || _d === void 0 ? void 0 : _d.id, "\" + winningVariantIndex + '\"]');\n if (winningVariant) {\n var parentNode = winningVariant.parentNode;\n var newParent = parentNode.cloneNode(false);\n newParent.appendChild(winningVariant.content.firstChild);\n parentNode.parentNode.replaceChild(newParent, parentNode);\n }\n } else if (variants.length > 0) {\n removeVariants();\n }\n function filterWithCustomTargeting(e,t,n,r){var i={query:t,startDate:n,endDate:r},o=e.date&&new Date(e.date)||new Date;return!(i.startDate&&new Date(i.startDate)>o)&&(!(i.endDate&&new Date(i.endDate)<o)&&(!i.query||!i.query.length||i.query.every((function(t){return objectMatchesQuery(e,t)}))))}function isString(e){return\"string\"==typeof e}function isNumber(e){return\"number\"==typeof e}function objectMatchesQuery(e,t){return function(){var n=t.property,r=t.operator,i=t.value;if(t&&\"urlPath\"===t.property&&t.value&&\"string\"==typeof t.value&&\"/\"!==t.value&&t.value.endsWith(\"/\")&&(i=t.value.slice(0,-1)),!n||!r)return!0;if(Array.isArray(i))return\"isNot\"===r?i.every((function(t){return objectMatchesQuery(e,{property:n,operator:r,value:t})})):!!i.find((function(t){return objectMatchesQuery(e,{property:n,operator:r,value:t})}));var o=e[n];if(Array.isArray(o))return o.includes(i);switch(r){case\"is\":return o===i;case\"isNot\":return o!==i;case\"contains\":return(isString(o)||Array.isArray(o))&&o.includes(String(i));case\"startsWith\":return isString(o)&&o.startsWith(String(i));case\"endsWith\":return isString(o)&&o.endsWith(String(i));case\"greaterThan\":return isNumber(o)&&isNumber(i)&&o>i;case\"lessThan\":return isNumber(o)&&isNumber(i)&&o<i;case\"greaterThanOrEqualTo\":return isNumber(o)&&isNumber(i)&&o>=i;case\"lessThanOrEqualTo\":return isNumber(o)&&isNumber(i)&&o<=i}return!1}()}\n })();\n ").replace(/\s+/g, ' ');
110
+ }
162
111
  //# sourceMappingURL=PersonalizationContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalizationContainer.js","sourceRoot":"","sources":["../../../../src/blocks/PersonalizationContainer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PersonalizationContainer.js","sourceRoot":"","sources":["../../../../src/blocks/PersonalizationContainer.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Builder = exports.builder = exports.useIsPreviewing = exports.stringToFunction = exports.RawText = exports.Img = exports.TextArea = exports.FormSelect = exports.Label = exports.FormSubmitButton = exports.FormInput = exports.Form = exports.Mutation = exports.Router = exports.StateProvider = exports.Section = exports.Button = exports.Symbol = exports.Video = exports.getSrcSet = exports.Image = exports.CustomCode = exports.Embed = exports.Columns = exports.Fragment = exports.Dropzone = exports.Text = exports.Content = exports.BuilderComponent = exports.onChange = exports.BuilderPage = exports.noWrap = exports.withChildren = exports.withBuilder = exports.BuilderBlock = exports.BuilderAsyncRequestsContext = exports.BuilderMetaContext = exports.BuilderStoreContext = exports.BuilderContent = exports.BuilderBlockComponent = exports.BuilderBlocks = void 0;
17
+ exports.Builder = exports.builder = exports.useIsPreviewing = exports.stringToFunction = exports.PersonalizationContainer = exports.RawText = exports.Img = exports.TextArea = exports.FormSelect = exports.Label = exports.FormSubmitButton = exports.FormInput = exports.Form = exports.Mutation = exports.Router = exports.StateProvider = exports.Section = exports.Button = exports.Symbol = exports.Video = exports.getSrcSet = exports.Image = exports.CustomCode = exports.Embed = exports.Columns = exports.Fragment = exports.Dropzone = exports.Text = exports.Content = exports.BuilderComponent = exports.onChange = exports.BuilderPage = exports.noWrap = exports.withChildren = exports.withBuilder = exports.BuilderBlock = exports.BuilderAsyncRequestsContext = exports.BuilderMetaContext = exports.BuilderStoreContext = exports.BuilderContent = exports.BuilderBlockComponent = exports.BuilderBlocks = void 0;
18
18
  require("./scripts/init-editing");
19
19
  var sdk_1 = require("@builder.io/sdk");
20
20
  Object.defineProperty(exports, "builder", { enumerable: true, get: function () { return sdk_1.builder; } });
@@ -91,6 +91,8 @@ var Img_1 = require("./blocks/raw/Img");
91
91
  Object.defineProperty(exports, "Img", { enumerable: true, get: function () { return Img_1.Img; } });
92
92
  var RawText_1 = require("./blocks/raw/RawText");
93
93
  Object.defineProperty(exports, "RawText", { enumerable: true, get: function () { return RawText_1.RawText; } });
94
+ var PersonalizationContainer_1 = require("./blocks/PersonalizationContainer");
95
+ Object.defineProperty(exports, "PersonalizationContainer", { enumerable: true, get: function () { return PersonalizationContainer_1.PersonalizationContainer; } });
94
96
  var string_to_function_1 = require("./functions/string-to-function");
95
97
  Object.defineProperty(exports, "stringToFunction", { enumerable: true, get: function () { return string_to_function_1.stringToFunction; } });
96
98
  var useIsPreviewing_1 = require("./hooks/useIsPreviewing");
@@ -1 +1 @@
1
- {"version":3,"file":"builder-react.js","sourceRoot":"","sources":["../../../src/builder-react.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAEhC,uCAAmD;AAuD1C,wFAvDA,aAAO,OAuDA;AAAE,wFAvDA,aAAO,OAuDA;AApDzB,aAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAEvB,kFAAsE;AAA7D,yHAAA,aAAa,OAAA;AACtB,gFAA6F;AAApF,gIAAA,YAAY,OAAyB;AAC9C,oFAAwE;AAA/D,2HAAA,cAAc,OAAA;AACvB,wFAIkD;AAYrB,4FAf3B,8CAAgB,OAesB;AAC/B,iGAhBP,8CAAgB,OAgBO;AACI,wFAjB3B,8CAAgB,OAiBkB;AAFM,yFAdxC,sCAAQ,OAcwC;AAXlD,uDAA0E;AAAjE,oHAAA,mBAAmB,OAAA;AAC5B,qDAA0D;AAAjD,kHAAA,kBAAkB,OAAA;AAC3B,yEAA6E;AAApE,qIAAA,2BAA2B,OAAA;AACpC,gFAAoE;AAA3D,uHAAA,YAAY,OAAA;AAErB,8DAA4C;AAE5C,yDAAuD;AAA9C,2GAAA,WAAW,OAAA;AACpB,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,iGAAA,MAAM,OAAA;AAMf,sCAAqC;AAA5B,4FAAA,IAAI,OAAA;AACb,sCAAiD;AAAxC,gGAAA,IAAI,OAAY;AACzB,8CAA6C;AAApC,oGAAA,QAAQ,OAAA;AACjB,4CAA2C;AAAlC,kGAAA,OAAO,OAAA;AAChB,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,kDAAiD;AAAxC,wGAAA,UAAU,OAAA;AACnB,wCAAkD;AAAzC,8FAAA,KAAK,OAAA;AAAE,kGAAA,SAAS,OAAA;AACzB,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,4CAA2C;AAAlC,kGAAA,OAAO,OAAA;AAChB,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,8CAA6C;AAApC,oGAAA,QAAQ,OAAA;AAEjB,4CAA2C;AAAlC,4FAAA,IAAI,OAAA;AACb,8CAAiD;AAAxC,kGAAA,SAAS,OAAA;AAClB,gDAAyD;AAAhD,0GAAA,gBAAgB,OAAA;AACzB,8CAA6C,CAAC,YAAY;AAAjD,8FAAA,KAAK,OAAA;AACd,gDAAmD,CAAC,YAAY;AAAvD,oGAAA,UAAU,OAAA;AACnB,oDAAmD;AAA1C,oGAAA,QAAQ,OAAA;AACjB,wCAAuC;AAA9B,0FAAA,GAAG,OAAA;AACZ,gDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAEhB,qEAAkE;AAAzD,sHAAA,gBAAgB,OAAA;AACzB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAGxB,kBAAe,aAAO,CAAC"}
1
+ {"version":3,"file":"builder-react.js","sourceRoot":"","sources":["../../../src/builder-react.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAEhC,uCAAmD;AAwD1C,wFAxDA,aAAO,OAwDA;AAAE,wFAxDA,aAAO,OAwDA;AArDzB,aAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAEvB,kFAAsE;AAA7D,yHAAA,aAAa,OAAA;AACtB,gFAA6F;AAApF,gIAAA,YAAY,OAAyB;AAC9C,oFAAwE;AAA/D,2HAAA,cAAc,OAAA;AACvB,wFAIkD;AAYrB,4FAf3B,8CAAgB,OAesB;AAC/B,iGAhBP,8CAAgB,OAgBO;AACI,wFAjB3B,8CAAgB,OAiBkB;AAFM,yFAdxC,sCAAQ,OAcwC;AAXlD,uDAA0E;AAAjE,oHAAA,mBAAmB,OAAA;AAC5B,qDAA0D;AAAjD,kHAAA,kBAAkB,OAAA;AAC3B,yEAA6E;AAApE,qIAAA,2BAA2B,OAAA;AACpC,gFAAoE;AAA3D,uHAAA,YAAY,OAAA;AAErB,8DAA4C;AAE5C,yDAAuD;AAA9C,2GAAA,WAAW,OAAA;AACpB,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AACrB,+CAA6C;AAApC,iGAAA,MAAM,OAAA;AAMf,sCAAqC;AAA5B,4FAAA,IAAI,OAAA;AACb,sCAAiD;AAAxC,gGAAA,IAAI,OAAY;AACzB,8CAA6C;AAApC,oGAAA,QAAQ,OAAA;AACjB,4CAA2C;AAAlC,kGAAA,OAAO,OAAA;AAChB,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,kDAAiD;AAAxC,wGAAA,UAAU,OAAA;AACnB,wCAAkD;AAAzC,8FAAA,KAAK,OAAA;AAAE,kGAAA,SAAS,OAAA;AACzB,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,4CAA2C;AAAlC,kGAAA,OAAO,OAAA;AAChB,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,8CAA6C;AAApC,oGAAA,QAAQ,OAAA;AAEjB,4CAA2C;AAAlC,4FAAA,IAAI,OAAA;AACb,8CAAiD;AAAxC,kGAAA,SAAS,OAAA;AAClB,gDAAyD;AAAhD,0GAAA,gBAAgB,OAAA;AACzB,8CAA6C,CAAC,YAAY;AAAjD,8FAAA,KAAK,OAAA;AACd,gDAAmD,CAAC,YAAY;AAAvD,oGAAA,UAAU,OAAA;AACnB,oDAAmD;AAA1C,oGAAA,QAAQ,OAAA;AACjB,wCAAuC;AAA9B,0FAAA,GAAG,OAAA;AACZ,gDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAChB,8EAA6E;AAApE,oIAAA,wBAAwB,OAAA;AAEjC,qEAAkE;AAAzD,sHAAA,gBAAgB,OAAA;AACzB,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AAGxB,kBAAe,aAAO,CAAC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterWithCustomTargeting = void 0;
4
+ function filterWithCustomTargeting(userAttributes, query, startDate, endDate) {
5
+ var item = {
6
+ query: query,
7
+ startDate: startDate,
8
+ endDate: endDate,
9
+ };
10
+ var now = (userAttributes.date && new Date(userAttributes.date)) || new Date();
11
+ if (item.startDate && new Date(item.startDate) > now) {
12
+ return false;
13
+ }
14
+ else if (item.endDate && new Date(item.endDate) < now) {
15
+ return false;
16
+ }
17
+ if (!item.query || !item.query.length) {
18
+ return true;
19
+ }
20
+ return item.query.every(function (filter) {
21
+ return objectMatchesQuery(userAttributes, filter);
22
+ });
23
+ }
24
+ exports.filterWithCustomTargeting = filterWithCustomTargeting;
25
+ function isString(val) {
26
+ return typeof val === 'string';
27
+ }
28
+ function isNumber(val) {
29
+ return typeof val === 'number';
30
+ }
31
+ function objectMatchesQuery(userattr, query) {
32
+ var result = (function () {
33
+ var property = query.property;
34
+ var operator = query.operator;
35
+ var testValue = query.value;
36
+ if (query &&
37
+ query.property === 'urlPath' &&
38
+ query.value &&
39
+ typeof query.value === 'string' &&
40
+ query.value !== '/' &&
41
+ query.value.endsWith('/')) {
42
+ testValue = query.value.slice(0, -1);
43
+ }
44
+ // Check is query property is present in userAttributes. Proceed only if it is present.
45
+ if (!(property && operator)) {
46
+ return true;
47
+ }
48
+ if (Array.isArray(testValue)) {
49
+ if (operator === 'isNot') {
50
+ return testValue.every(function (val) {
51
+ return objectMatchesQuery(userattr, { property: property, operator: operator, value: val });
52
+ });
53
+ }
54
+ return !!testValue.find(function (val) {
55
+ return objectMatchesQuery(userattr, { property: property, operator: operator, value: val });
56
+ });
57
+ }
58
+ var value = userattr[property];
59
+ if (Array.isArray(value)) {
60
+ return value.includes(testValue);
61
+ }
62
+ switch (operator) {
63
+ case 'is':
64
+ return value === testValue;
65
+ case 'isNot':
66
+ return value !== testValue;
67
+ case 'contains':
68
+ return (isString(value) || Array.isArray(value)) && value.includes(String(testValue));
69
+ case 'startsWith':
70
+ return isString(value) && value.startsWith(String(testValue));
71
+ case 'endsWith':
72
+ return isString(value) && value.endsWith(String(testValue));
73
+ case 'greaterThan':
74
+ return isNumber(value) && isNumber(testValue) && value > testValue;
75
+ case 'lessThan':
76
+ return isNumber(value) && isNumber(testValue) && value < testValue;
77
+ case 'greaterThanOrEqualTo':
78
+ return isNumber(value) && isNumber(testValue) && value >= testValue;
79
+ case 'lessThanOrEqualTo':
80
+ return isNumber(value) && isNumber(testValue) && value <= testValue;
81
+ }
82
+ return false;
83
+ })();
84
+ return result;
85
+ }
86
+ //# sourceMappingURL=filter-with-custom-targeting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-with-custom-targeting.js","sourceRoot":"","sources":["../../../../src/functions/filter-with-custom-targeting.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ if (typeof window !== 'undefined') {
10
10
  supportsPatchUpdates: 'v4',
11
11
  supportsCustomBreakpoints: true,
12
12
  supportsGlobalSymbols: true,
13
+ blockLevelPersonalization: true,
13
14
  priorVersion: package_json_1.version,
14
15
  },
15
16
  }, '*');
@@ -1 +1 @@
1
- {"version":3,"file":"init-editing.js","sourceRoot":"","sources":["../../../../src/scripts/init-editing.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAE7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;QACE,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI;YACX,oBAAoB,EAAE,IAAI;YAC1B,yBAAyB,EAAE,IAAI;YAC/B,qBAAqB,EAAE,IAAI;YAC3B,YAAY,EAAE,sBAAO;SACtB;KACF,EACD,GAAG,CACJ,CAAC;CACH"}
1
+ {"version":3,"file":"init-editing.js","sourceRoot":"","sources":["../../../../src/scripts/init-editing.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAE7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAA,MAAM,CAAC,MAAM,0CAAE,WAAW,CACxB;QACE,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI;YACX,oBAAoB,EAAE,IAAI;YAC1B,yBAAyB,EAAE,IAAI;YAC/B,qBAAqB,EAAE,IAAI;YAC3B,yBAAyB,EAAE,IAAI;YAC/B,YAAY,EAAE,sBAAO;SACtB;KACF,EACD,GAAG,CACJ,CAAC;CACH"}
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { BuilderElement } from '@builder.io/sdk';
3
- type UserAttributes = any;
4
- type Query = any;
3
+ import { Query } from '../functions/filter-with-custom-targeting';
5
4
  export type PersonalizationContainerProps = {
6
5
  children: React.ReactNode;
7
6
  previewingIndex: number | null;
@@ -16,6 +15,4 @@ export type PersonalizationContainerProps = {
16
15
  ];
17
16
  attributes: any;
18
17
  };
19
- declare function PersonalizationContainer(props: PersonalizationContainerProps): React.JSX.Element;
20
- export default PersonalizationContainer;
21
- export declare function filterWithCustomTargeting(userAttributes: UserAttributes, query: Query[], startDate?: string, endDate?: string): boolean;
18
+ export declare function PersonalizationContainer(props: PersonalizationContainerProps): React.JSX.Element;
@@ -38,6 +38,7 @@ export { FormSelect } from './blocks/forms/Select';
38
38
  export { TextArea } from './blocks/forms/TextArea';
39
39
  export { Img } from './blocks/raw/Img';
40
40
  export { RawText } from './blocks/raw/RawText';
41
+ export { PersonalizationContainer } from './blocks/PersonalizationContainer';
41
42
  export { stringToFunction } from './functions/string-to-function';
42
43
  export { useIsPreviewing } from './hooks/useIsPreviewing';
43
44
  export { builder, Builder };
@@ -0,0 +1,14 @@
1
+ type UserAttributes = {
2
+ date?: string | Date;
3
+ urlPath?: string;
4
+ [key: string]: any;
5
+ };
6
+ type QueryOperator = 'is' | 'isNot' | 'contains' | 'startsWith' | 'endsWith' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqualTo' | 'lessThanOrEqualTo';
7
+ type QueryValue = string | number | boolean | Array<string | number | boolean>;
8
+ export type Query = {
9
+ property: string;
10
+ operator: QueryOperator;
11
+ value: QueryValue;
12
+ };
13
+ export declare function filterWithCustomTargeting(userAttributes: UserAttributes, query: Query[], startDate?: string, endDate?: string): boolean;
14
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/react",
3
- "version": "5.0.2-0",
3
+ "version": "5.0.2-10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/builder-react.cjs.js",
@@ -107,5 +107,5 @@
107
107
  "installConfig": {
108
108
  "hoistingLimits": "workspaces"
109
109
  },
110
- "stableVersion": "5.0.1"
110
+ "stableVersion": "5.0.2-9"
111
111
  }