@builder.io/sdk 4.0.1 → 4.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @builder.io/sdk
2
2
 
3
+ ## 4.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - dda2ba4: Fix: Restrict event listening to when `isEditing === true`
8
+
3
9
  ## 4.0.1
4
10
 
5
11
  ### Patch Changes
@@ -1052,7 +1052,7 @@
1052
1052
 
1053
1053
  var DEFAULT_API_VERSION = 'v3';
1054
1054
 
1055
- var SDK_VERSION = '4.0.1';
1055
+ var SDK_VERSION = '4.0.2';
1056
1056
 
1057
1057
  function datePlusMinutes(minutes) {
1058
1058
  if (minutes === void 0) { minutes = 30; }
@@ -1247,8 +1247,8 @@
1247
1247
  this.authToken = authToken;
1248
1248
  }
1249
1249
  if (isBrowser) {
1250
- this.bindMessageListeners();
1251
1250
  if (Builder.isEditing) {
1251
+ this.bindMessageListeners();
1252
1252
  parent.postMessage({
1253
1253
  type: 'builder.animatorOptions',
1254
1254
  data: {
@@ -1936,182 +1936,179 @@
1936
1936
  };
1937
1937
  Builder.prototype.bindMessageListeners = function () {
1938
1938
  var _this = this;
1939
- if (isBrowser) {
1940
- addEventListener('message', function (event) {
1941
- var _a, _b, _c, _d;
1942
- var isTrusted = Builder.isTrustedHostForEvent(event);
1943
- if (!isTrusted) {
1944
- return;
1945
- }
1946
- var data = event.data;
1947
- if (data) {
1948
- switch (data.type) {
1949
- case 'builder.ping': {
1950
- (_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
1951
- type: 'builder.pong',
1952
- data: {},
1953
- }, '*');
1939
+ addEventListener('message', function (event) {
1940
+ var _a, _b, _c, _d;
1941
+ var isTrusted = Builder.isTrustedHostForEvent(event);
1942
+ if (!isTrusted)
1943
+ return;
1944
+ var data = event.data;
1945
+ if (data) {
1946
+ switch (data.type) {
1947
+ case 'builder.ping': {
1948
+ (_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
1949
+ type: 'builder.pong',
1950
+ data: {},
1951
+ }, '*');
1952
+ break;
1953
+ }
1954
+ case 'builder.register': {
1955
+ // TODO: possibly do this for all...
1956
+ if (event.source === window) {
1954
1957
  break;
1955
1958
  }
1956
- case 'builder.register': {
1957
- // TODO: possibly do this for all...
1958
- if (event.source === window) {
1959
- break;
1960
- }
1961
- var options = data.data;
1962
- if (!options) {
1963
- break;
1964
- }
1965
- var type = options.type, info = options.info;
1966
- // TODO: all must have name and can't conflict?
1967
- var typeList = Builder.registry[type];
1968
- if (!typeList) {
1969
- typeList = Builder.registry[type] = [];
1970
- }
1971
- typeList.push(info);
1972
- Builder.registryChange.next(Builder.registry);
1959
+ var options = data.data;
1960
+ if (!options) {
1973
1961
  break;
1974
1962
  }
1975
- case 'builder.settingsChange': {
1976
- // TODO: possibly do this for all...
1977
- if (event.source === window) {
1978
- break;
1979
- }
1980
- var settings = data.data;
1981
- if (!settings) {
1982
- break;
1983
- }
1984
- Object.assign(Builder.settings, settings);
1985
- Builder.settingsChange.next(Builder.settings);
1986
- break;
1963
+ var type = options.type, info = options.info;
1964
+ // TODO: all must have name and can't conflict?
1965
+ var typeList = Builder.registry[type];
1966
+ if (!typeList) {
1967
+ typeList = Builder.registry[type] = [];
1987
1968
  }
1988
- case 'builder.registerEditor': {
1989
- // TODO: possibly do this for all...
1990
- if (event.source === window) {
1991
- break;
1992
- }
1993
- var info_1 = data.data;
1994
- if (!info_1) {
1995
- break;
1996
- }
1997
- var hasComponent_1 = !!info_1.component;
1998
- Builder.editors.every(function (thisInfo, index) {
1999
- if (info_1.name === thisInfo.name) {
2000
- if (thisInfo.component && !hasComponent_1) {
2001
- return false;
2002
- }
2003
- else {
2004
- Builder.editors[index] = thisInfo;
2005
- }
2006
- return false;
2007
- }
2008
- return true;
2009
- });
1969
+ typeList.push(info);
1970
+ Builder.registryChange.next(Builder.registry);
1971
+ break;
1972
+ }
1973
+ case 'builder.settingsChange': {
1974
+ // TODO: possibly do this for all...
1975
+ if (event.source === window) {
2010
1976
  break;
2011
1977
  }
2012
- case 'builder.triggerAnimation': {
2013
- Builder.animator.triggerAnimation(data.data);
1978
+ var settings = data.data;
1979
+ if (!settings) {
2014
1980
  break;
2015
1981
  }
2016
- case 'builder.contentUpdate':
2017
- var key = data.data.key || data.data.alias || data.data.entry || data.data.modelName;
2018
- var contentData = data.data.data; // hmmm...
2019
- var observer = _this.observersByKey[key];
2020
- if (observer && !_this.noEditorUpdates[key]) {
2021
- observer.next([contentData]);
2022
- }
2023
- break;
2024
- case 'builder.getComponents':
2025
- (_b = window.parent) === null || _b === void 0 ? void 0 : _b.postMessage({
2026
- type: 'builder.components',
2027
- data: Builder.components.map(function (item) { return Builder.prepareComponentSpecToSend(item); }),
2028
- }, '*');
2029
- break;
2030
- case 'builder.editingModel':
2031
- _this.editingModel = data.data.model;
2032
- break;
2033
- case 'builder.registerComponent':
2034
- var componentData = data.data;
2035
- Builder.addComponent(componentData);
2036
- break;
2037
- case 'builder.blockContentLoading':
2038
- if (typeof data.data.model === 'string') {
2039
- _this.blockContentLoading = data.data.model;
2040
- }
2041
- break;
2042
- case 'builder.editingMode':
2043
- var editingMode = data.data;
2044
- if (editingMode) {
2045
- _this.editingMode = true;
2046
- document.body.classList.add('builder-editing');
2047
- }
2048
- else {
2049
- _this.editingMode = false;
2050
- document.body.classList.remove('builder-editing');
2051
- }
2052
- break;
2053
- case 'builder.editingPageMode':
2054
- var editingPageMode = data.data;
2055
- Builder.editingPage = editingPageMode;
2056
- break;
2057
- case 'builder.overrideUserAttributes':
2058
- var userAttributes = data.data;
2059
- assign(Builder.overrideUserAttributes, userAttributes);
2060
- _this.flushGetContentQueue(true);
2061
- // TODO: refetch too
1982
+ Object.assign(Builder.settings, settings);
1983
+ Builder.settingsChange.next(Builder.settings);
1984
+ break;
1985
+ }
1986
+ case 'builder.registerEditor': {
1987
+ // TODO: possibly do this for all...
1988
+ if (event.source === window) {
2062
1989
  break;
2063
- case 'builder.overrideTestGroup':
2064
- var _e = data.data, variationId = _e.variationId, contentId = _e.contentId;
2065
- if (variationId && contentId) {
2066
- _this.setTestCookie(contentId, variationId);
2067
- _this.flushGetContentQueue(true);
2068
- }
1990
+ }
1991
+ var info_1 = data.data;
1992
+ if (!info_1) {
2069
1993
  break;
2070
- case 'builder.evaluate': {
2071
- var text = data.data.text;
2072
- var args = data.data.arguments || [];
2073
- var id_1 = data.data.id;
2074
- // tslint:disable-next-line:no-function-constructor-with-string-args
2075
- var fn = new Function(text);
2076
- var result = void 0;
2077
- var error = null;
2078
- try {
2079
- result = fn.apply(_this, args);
2080
- }
2081
- catch (err) {
2082
- error = toError(err);
2083
- }
2084
- if (error) {
2085
- (_c = window.parent) === null || _c === void 0 ? void 0 : _c.postMessage({
2086
- type: 'builder.evaluateError',
2087
- data: { id: id_1, error: error.message },
2088
- }, '*');
2089
- }
2090
- else {
2091
- if (result && typeof result.then === 'function') {
2092
- result
2093
- .then(function (finalResult) {
2094
- var _a;
2095
- (_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
2096
- type: 'builder.evaluateResult',
2097
- data: { id: id_1, result: finalResult },
2098
- }, '*');
2099
- })
2100
- .catch(console.error);
1994
+ }
1995
+ var hasComponent_1 = !!info_1.component;
1996
+ Builder.editors.every(function (thisInfo, index) {
1997
+ if (info_1.name === thisInfo.name) {
1998
+ if (thisInfo.component && !hasComponent_1) {
1999
+ return false;
2101
2000
  }
2102
2001
  else {
2103
- (_d = window.parent) === null || _d === void 0 ? void 0 : _d.postMessage({
2002
+ Builder.editors[index] = thisInfo;
2003
+ }
2004
+ return false;
2005
+ }
2006
+ return true;
2007
+ });
2008
+ break;
2009
+ }
2010
+ case 'builder.triggerAnimation': {
2011
+ Builder.animator.triggerAnimation(data.data);
2012
+ break;
2013
+ }
2014
+ case 'builder.contentUpdate':
2015
+ var key = data.data.key || data.data.alias || data.data.entry || data.data.modelName;
2016
+ var contentData = data.data.data; // hmmm...
2017
+ var observer = _this.observersByKey[key];
2018
+ if (observer && !_this.noEditorUpdates[key]) {
2019
+ observer.next([contentData]);
2020
+ }
2021
+ break;
2022
+ case 'builder.getComponents':
2023
+ (_b = window.parent) === null || _b === void 0 ? void 0 : _b.postMessage({
2024
+ type: 'builder.components',
2025
+ data: Builder.components.map(function (item) { return Builder.prepareComponentSpecToSend(item); }),
2026
+ }, '*');
2027
+ break;
2028
+ case 'builder.editingModel':
2029
+ _this.editingModel = data.data.model;
2030
+ break;
2031
+ case 'builder.registerComponent':
2032
+ var componentData = data.data;
2033
+ Builder.addComponent(componentData);
2034
+ break;
2035
+ case 'builder.blockContentLoading':
2036
+ if (typeof data.data.model === 'string') {
2037
+ _this.blockContentLoading = data.data.model;
2038
+ }
2039
+ break;
2040
+ case 'builder.editingMode':
2041
+ var editingMode = data.data;
2042
+ if (editingMode) {
2043
+ _this.editingMode = true;
2044
+ document.body.classList.add('builder-editing');
2045
+ }
2046
+ else {
2047
+ _this.editingMode = false;
2048
+ document.body.classList.remove('builder-editing');
2049
+ }
2050
+ break;
2051
+ case 'builder.editingPageMode':
2052
+ var editingPageMode = data.data;
2053
+ Builder.editingPage = editingPageMode;
2054
+ break;
2055
+ case 'builder.overrideUserAttributes':
2056
+ var userAttributes = data.data;
2057
+ assign(Builder.overrideUserAttributes, userAttributes);
2058
+ _this.flushGetContentQueue(true);
2059
+ // TODO: refetch too
2060
+ break;
2061
+ case 'builder.overrideTestGroup':
2062
+ var _e = data.data, variationId = _e.variationId, contentId = _e.contentId;
2063
+ if (variationId && contentId) {
2064
+ _this.setTestCookie(contentId, variationId);
2065
+ _this.flushGetContentQueue(true);
2066
+ }
2067
+ break;
2068
+ case 'builder.evaluate': {
2069
+ var text = data.data.text;
2070
+ var args = data.data.arguments || [];
2071
+ var id_1 = data.data.id;
2072
+ // tslint:disable-next-line:no-function-constructor-with-string-args
2073
+ var fn = new Function(text);
2074
+ var result = void 0;
2075
+ var error = null;
2076
+ try {
2077
+ result = fn.apply(_this, args);
2078
+ }
2079
+ catch (err) {
2080
+ error = toError(err);
2081
+ }
2082
+ if (error) {
2083
+ (_c = window.parent) === null || _c === void 0 ? void 0 : _c.postMessage({
2084
+ type: 'builder.evaluateError',
2085
+ data: { id: id_1, error: error.message },
2086
+ }, '*');
2087
+ }
2088
+ else {
2089
+ if (result && typeof result.then === 'function') {
2090
+ result
2091
+ .then(function (finalResult) {
2092
+ var _a;
2093
+ (_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
2104
2094
  type: 'builder.evaluateResult',
2105
- data: { result: result, id: id_1 },
2095
+ data: { id: id_1, result: finalResult },
2106
2096
  }, '*');
2107
- }
2097
+ })
2098
+ .catch(console.error);
2099
+ }
2100
+ else {
2101
+ (_d = window.parent) === null || _d === void 0 ? void 0 : _d.postMessage({
2102
+ type: 'builder.evaluateResult',
2103
+ data: { result: result, id: id_1 },
2104
+ }, '*');
2108
2105
  }
2109
- break;
2110
2106
  }
2107
+ break;
2111
2108
  }
2112
2109
  }
2113
- });
2114
- }
2110
+ }
2111
+ });
2115
2112
  };
2116
2113
  Object.defineProperty(Builder.prototype, "defaultCanTrack", {
2117
2114
  get: function () {