@builder.io/react 8.0.6-1 → 8.0.6-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.
Files changed (224) hide show
  1. package/dist/builder-react-lite.cjs.js +2 -0
  2. package/dist/builder-react-lite.cjs.js.map +1 -0
  3. package/dist/builder-react-lite.esm.js +2 -0
  4. package/dist/builder-react-lite.esm.js.map +1 -0
  5. package/dist/builder-react.browser.js +11 -0
  6. package/dist/builder-react.browser.js.map +1 -0
  7. package/dist/builder-react.cjs.js +2 -0
  8. package/dist/builder-react.cjs.js.map +1 -0
  9. package/dist/builder-react.es5.js +2 -0
  10. package/dist/builder-react.es5.js.map +1 -0
  11. package/dist/builder-react.unpkg.js +11 -0
  12. package/dist/builder-react.unpkg.js.map +1 -0
  13. package/dist/lib/lib/on-change.js +228 -0
  14. package/dist/lib/lib/on-change.js.map +1 -0
  15. package/dist/lib/package.json +110 -0
  16. package/dist/lib/rollup.config.js +131 -0
  17. package/dist/lib/rollup.config.js.map +1 -0
  18. package/dist/lib/src/blocks/Button.js +86 -0
  19. package/dist/lib/src/blocks/Button.js.map +1 -0
  20. package/dist/lib/src/blocks/Columns.js +243 -0
  21. package/dist/lib/src/blocks/Columns.js.map +1 -0
  22. package/dist/lib/src/blocks/CustomCode.js +227 -0
  23. package/dist/lib/src/blocks/CustomCode.js.map +1 -0
  24. package/dist/lib/src/blocks/Embed.js +114 -0
  25. package/dist/lib/src/blocks/Embed.js.map +1 -0
  26. package/dist/lib/src/blocks/Fragment.js +45 -0
  27. package/dist/lib/src/blocks/Fragment.js.map +1 -0
  28. package/dist/lib/src/blocks/Image.js +532 -0
  29. package/dist/lib/src/blocks/Image.js.map +1 -0
  30. package/dist/lib/src/blocks/Mutation.js +93 -0
  31. package/dist/lib/src/blocks/Mutation.js.map +1 -0
  32. package/dist/lib/src/blocks/PersonalizationContainer.js +174 -0
  33. package/dist/lib/src/blocks/PersonalizationContainer.js.map +1 -0
  34. package/dist/lib/src/blocks/Router.js +354 -0
  35. package/dist/lib/src/blocks/Router.js.map +1 -0
  36. package/dist/lib/src/blocks/Section.js +150 -0
  37. package/dist/lib/src/blocks/Section.js.map +1 -0
  38. package/dist/lib/src/blocks/Slot.js +41 -0
  39. package/dist/lib/src/blocks/Slot.js.map +1 -0
  40. package/dist/lib/src/blocks/StateProvider.js +61 -0
  41. package/dist/lib/src/blocks/StateProvider.js.map +1 -0
  42. package/dist/lib/src/blocks/Symbol.js +192 -0
  43. package/dist/lib/src/blocks/Symbol.js.map +1 -0
  44. package/dist/lib/src/blocks/Text.js +132 -0
  45. package/dist/lib/src/blocks/Text.js.map +1 -0
  46. package/dist/lib/src/blocks/Video.js +261 -0
  47. package/dist/lib/src/blocks/Video.js.map +1 -0
  48. package/dist/lib/src/blocks/forms/Button.js +74 -0
  49. package/dist/lib/src/blocks/forms/Button.js.map +1 -0
  50. package/dist/lib/src/blocks/forms/Form.js +590 -0
  51. package/dist/lib/src/blocks/forms/Form.js.map +1 -0
  52. package/dist/lib/src/blocks/forms/Input.js +133 -0
  53. package/dist/lib/src/blocks/forms/Input.js.map +1 -0
  54. package/dist/lib/src/blocks/forms/Label.js +81 -0
  55. package/dist/lib/src/blocks/forms/Label.js.map +1 -0
  56. package/dist/lib/src/blocks/forms/Select.js +104 -0
  57. package/dist/lib/src/blocks/forms/Select.js.map +1 -0
  58. package/dist/lib/src/blocks/forms/TextArea.js +89 -0
  59. package/dist/lib/src/blocks/forms/TextArea.js.map +1 -0
  60. package/dist/lib/src/blocks/raw/Img.js +66 -0
  61. package/dist/lib/src/blocks/raw/Img.js.map +1 -0
  62. package/dist/lib/src/blocks/raw/RawText.js +47 -0
  63. package/dist/lib/src/blocks/raw/RawText.js.map +1 -0
  64. package/dist/lib/src/builder-react-lite.js +31 -0
  65. package/dist/lib/src/builder-react-lite.js.map +1 -0
  66. package/dist/lib/src/builder-react.js +106 -0
  67. package/dist/lib/src/builder-react.js.map +1 -0
  68. package/dist/lib/src/components/Link.js +35 -0
  69. package/dist/lib/src/components/Link.js.map +1 -0
  70. package/dist/lib/src/components/builder-block.component.js +556 -0
  71. package/dist/lib/src/components/builder-block.component.js.map +1 -0
  72. package/dist/lib/src/components/builder-blocks.component.js +167 -0
  73. package/dist/lib/src/components/builder-blocks.component.js.map +1 -0
  74. package/dist/lib/src/components/builder-component.component.js +1126 -0
  75. package/dist/lib/src/components/builder-component.component.js.map +1 -0
  76. package/dist/lib/src/components/builder-content.component.js +321 -0
  77. package/dist/lib/src/components/builder-content.component.js.map +1 -0
  78. package/dist/lib/src/components/insert-spacer.component.js +106 -0
  79. package/dist/lib/src/components/insert-spacer.component.js.map +1 -0
  80. package/dist/lib/src/components/no-wrap.js +7 -0
  81. package/dist/lib/src/components/no-wrap.js.map +1 -0
  82. package/dist/lib/src/components/variants-provider.component.js +108 -0
  83. package/dist/lib/src/components/variants-provider.component.js.map +1 -0
  84. package/dist/lib/src/constants/device-sizes.constant.js +91 -0
  85. package/dist/lib/src/constants/device-sizes.constant.js.map +1 -0
  86. package/dist/lib/src/constants/file-types.constant.js +72 -0
  87. package/dist/lib/src/constants/file-types.constant.js.map +1 -0
  88. package/dist/lib/src/decorators/builder-block.decorator.js +10 -0
  89. package/dist/lib/src/decorators/builder-block.decorator.js.map +1 -0
  90. package/dist/lib/src/functions/apply-patch-with-mutation.js +80 -0
  91. package/dist/lib/src/functions/apply-patch-with-mutation.js.map +1 -0
  92. package/dist/lib/src/functions/apply-patch-with-mutation.test.js +54 -0
  93. package/dist/lib/src/functions/apply-patch-with-mutation.test.js.map +1 -0
  94. package/dist/lib/src/functions/block-to-html-string.js +21 -0
  95. package/dist/lib/src/functions/block-to-html-string.js.map +1 -0
  96. package/dist/lib/src/functions/debonce-next-tick.js +43 -0
  97. package/dist/lib/src/functions/debonce-next-tick.js.map +1 -0
  98. package/dist/lib/src/functions/extract-localized-values.js +35 -0
  99. package/dist/lib/src/functions/extract-localized-values.js.map +1 -0
  100. package/dist/lib/src/functions/filter-with-custom-targeting.js +88 -0
  101. package/dist/lib/src/functions/filter-with-custom-targeting.js.map +1 -0
  102. package/dist/lib/src/functions/get-builder-pixel.js +27 -0
  103. package/dist/lib/src/functions/get-builder-pixel.js.map +1 -0
  104. package/dist/lib/src/functions/get.js +12 -0
  105. package/dist/lib/src/functions/get.js.map +1 -0
  106. package/dist/lib/src/functions/is-debug.js +8 -0
  107. package/dist/lib/src/functions/is-debug.js.map +1 -0
  108. package/dist/lib/src/functions/no-wrap.js +60 -0
  109. package/dist/lib/src/functions/no-wrap.js.map +1 -0
  110. package/dist/lib/src/functions/safe-dynamic-require.js +51 -0
  111. package/dist/lib/src/functions/safe-dynamic-require.js.map +1 -0
  112. package/dist/lib/src/functions/set.js +21 -0
  113. package/dist/lib/src/functions/set.js.map +1 -0
  114. package/dist/lib/src/functions/should-force-browser-runtime-in-node.js +22 -0
  115. package/dist/lib/src/functions/should-force-browser-runtime-in-node.js.map +1 -0
  116. package/dist/lib/src/functions/string-to-function.js +166 -0
  117. package/dist/lib/src/functions/string-to-function.js.map +1 -0
  118. package/dist/lib/src/functions/throttle.js +42 -0
  119. package/dist/lib/src/functions/throttle.js.map +1 -0
  120. package/dist/lib/src/functions/traverse.js +72 -0
  121. package/dist/lib/src/functions/traverse.js.map +1 -0
  122. package/dist/lib/src/functions/try-eval.js +75 -0
  123. package/dist/lib/src/functions/try-eval.js.map +1 -0
  124. package/dist/lib/src/functions/update-metadata.js +42 -0
  125. package/dist/lib/src/functions/update-metadata.js.map +1 -0
  126. package/dist/lib/src/functions/utils.js +20 -0
  127. package/dist/lib/src/functions/utils.js.map +1 -0
  128. package/dist/lib/src/functions/with-builder.js +10 -0
  129. package/dist/lib/src/functions/with-builder.js.map +1 -0
  130. package/dist/lib/src/functions/with-children.js +77 -0
  131. package/dist/lib/src/functions/with-children.js.map +1 -0
  132. package/dist/lib/src/hooks/useIsPreviewing.js +16 -0
  133. package/dist/lib/src/hooks/useIsPreviewing.js.map +1 -0
  134. package/dist/lib/src/scripts/init-editing.js +18 -0
  135. package/dist/lib/src/scripts/init-editing.js.map +1 -0
  136. package/dist/lib/src/sdk-version.js +5 -0
  137. package/dist/lib/src/sdk-version.js.map +1 -0
  138. package/dist/lib/src/store/builder-async-requests.js +19 -0
  139. package/dist/lib/src/store/builder-async-requests.js.map +1 -0
  140. package/dist/lib/src/store/builder-meta.js +13 -0
  141. package/dist/lib/src/store/builder-meta.js.map +1 -0
  142. package/dist/lib/src/store/builder-store.js +15 -0
  143. package/dist/lib/src/store/builder-store.js.map +1 -0
  144. package/dist/lib/src/to-error.js +22 -0
  145. package/dist/lib/src/to-error.js.map +1 -0
  146. package/dist/lib/test/basic.test.js +212 -0
  147. package/dist/lib/test/basic.test.js.map +1 -0
  148. package/dist/lib/test/functions/render-block.js +24 -0
  149. package/dist/lib/test/functions/render-block.js.map +1 -0
  150. package/dist/lib/test/image.test.js +107 -0
  151. package/dist/lib/test/image.test.js.map +1 -0
  152. package/dist/lib/test/setupTests.js +8 -0
  153. package/dist/lib/test/setupTests.js.map +1 -0
  154. package/dist/types/lib/on-change.d.ts +8 -0
  155. package/dist/types/rollup.config.d.ts +44 -0
  156. package/dist/types/src/blocks/Button.d.ts +7 -0
  157. package/dist/types/src/blocks/Columns.d.ts +1 -0
  158. package/dist/types/src/blocks/CustomCode.d.ts +1 -0
  159. package/dist/types/src/blocks/Embed.d.ts +1 -0
  160. package/dist/types/src/blocks/Fragment.d.ts +5 -0
  161. package/dist/types/src/blocks/Image.d.ts +6 -0
  162. package/dist/types/src/blocks/Mutation.d.ts +8 -0
  163. package/dist/types/src/blocks/PersonalizationContainer.d.ts +19 -0
  164. package/dist/types/src/blocks/Router.d.ts +32 -0
  165. package/dist/types/src/blocks/Section.d.ts +1 -0
  166. package/dist/types/src/blocks/Slot.d.ts +5 -0
  167. package/dist/types/src/blocks/StateProvider.d.ts +1 -0
  168. package/dist/types/src/blocks/Symbol.d.ts +19 -0
  169. package/dist/types/src/blocks/Text.d.ts +6 -0
  170. package/dist/types/src/blocks/Video.d.ts +1 -0
  171. package/dist/types/src/blocks/forms/Button.d.ts +5 -0
  172. package/dist/types/src/blocks/forms/Form.d.ts +24 -0
  173. package/dist/types/src/blocks/forms/Input.d.ts +10 -0
  174. package/dist/types/src/blocks/forms/Label.d.ts +8 -0
  175. package/dist/types/src/blocks/forms/Select.d.ts +12 -0
  176. package/dist/types/src/blocks/forms/TextArea.d.ts +9 -0
  177. package/dist/types/src/blocks/raw/Img.d.ts +7 -0
  178. package/dist/types/src/blocks/raw/RawText.d.ts +8 -0
  179. package/dist/types/src/builder-react-lite.d.ts +17 -0
  180. package/dist/types/src/builder-react.d.ts +45 -0
  181. package/dist/types/src/components/Link.d.ts +9 -0
  182. package/dist/types/src/components/builder-block.component.d.ts +50 -0
  183. package/dist/types/src/components/builder-blocks.component.d.ts +29 -0
  184. package/dist/types/src/components/builder-component.component.d.ts +324 -0
  185. package/dist/types/src/components/builder-content.component.d.ts +271 -0
  186. package/dist/types/src/components/insert-spacer.component.d.ts +13 -0
  187. package/dist/types/src/components/no-wrap.d.ts +2 -0
  188. package/dist/types/src/components/variants-provider.component.d.ts +8 -0
  189. package/dist/types/src/constants/device-sizes.constant.d.ts +57 -0
  190. package/dist/types/src/constants/file-types.constant.d.ts +2 -0
  191. package/dist/types/src/decorators/builder-block.decorator.d.ts +5 -0
  192. package/dist/types/src/functions/apply-patch-with-mutation.d.ts +5 -0
  193. package/dist/types/src/functions/apply-patch-with-mutation.test.d.ts +1 -0
  194. package/dist/types/src/functions/block-to-html-string.d.ts +3 -0
  195. package/dist/types/src/functions/debonce-next-tick.d.ts +2 -0
  196. package/dist/types/src/functions/extract-localized-values.d.ts +2 -0
  197. package/dist/types/src/functions/filter-with-custom-targeting.d.ts +15 -0
  198. package/dist/types/src/functions/get-builder-pixel.d.ts +2 -0
  199. package/dist/types/src/functions/get.d.ts +1 -0
  200. package/dist/types/src/functions/is-debug.d.ts +1 -0
  201. package/dist/types/src/functions/no-wrap.d.ts +33 -0
  202. package/dist/types/src/functions/safe-dynamic-require.d.ts +3 -0
  203. package/dist/types/src/functions/set.d.ts +1 -0
  204. package/dist/types/src/functions/should-force-browser-runtime-in-node.d.ts +1 -0
  205. package/dist/types/src/functions/string-to-function.d.ts +7 -0
  206. package/dist/types/src/functions/throttle.d.ts +1 -0
  207. package/dist/types/src/functions/traverse.d.ts +34 -0
  208. package/dist/types/src/functions/try-eval.d.ts +1 -0
  209. package/dist/types/src/functions/update-metadata.d.ts +17 -0
  210. package/dist/types/src/functions/utils.d.ts +2 -0
  211. package/dist/types/src/functions/with-builder.d.ts +2 -0
  212. package/dist/types/src/functions/with-children.d.ts +29 -0
  213. package/dist/types/src/hooks/useIsPreviewing.d.ts +1 -0
  214. package/dist/types/src/scripts/init-editing.d.ts +1 -0
  215. package/dist/types/src/sdk-version.d.ts +1 -0
  216. package/dist/types/src/store/builder-async-requests.d.ts +13 -0
  217. package/dist/types/src/store/builder-meta.d.ts +6 -0
  218. package/dist/types/src/store/builder-store.d.ts +10 -0
  219. package/dist/types/src/to-error.d.ts +13 -0
  220. package/dist/types/test/basic.test.d.ts +4 -0
  221. package/dist/types/test/functions/render-block.d.ts +3 -0
  222. package/dist/types/test/image.test.d.ts +1 -0
  223. package/dist/types/test/setupTests.d.ts +0 -0
  224. package/package.json +1 -1
@@ -0,0 +1,556 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.BuilderBlock = exports.deepCloneWithConditions = void 0;
33
+ /** @jsx jsx */
34
+ var sdk_1 = require("@builder.io/sdk");
35
+ var core_1 = require("@emotion/core");
36
+ var react_1 = __importDefault(require("react"));
37
+ var device_sizes_constant_1 = require("../constants/device-sizes.constant");
38
+ var set_1 = require("../functions/set");
39
+ var string_to_function_1 = require("../functions/string-to-function");
40
+ var builder_async_requests_1 = require("../store/builder-async-requests");
41
+ var builder_store_1 = require("../store/builder-store");
42
+ var apply_patch_with_mutation_1 = require("../functions/apply-patch-with-mutation");
43
+ var block_to_html_string_1 = require("../functions/block-to-html-string");
44
+ var Link_1 = require("./Link");
45
+ var utils_1 = require("../functions/utils");
46
+ var extract_localized_values_1 = require("src/functions/extract-localized-values");
47
+ var camelCaseToKebabCase = function (str) {
48
+ return str ? str.replace(/([A-Z])/g, function (g) { return "-".concat(g[0].toLowerCase()); }) : '';
49
+ };
50
+ var kebabCaseToCamelCase = function (str) {
51
+ if (str === void 0) { str = ''; }
52
+ return str.replace(/-([a-z])/g, function (match) { return match[1].toUpperCase(); });
53
+ };
54
+ var Device = { desktop: 0, tablet: 1, mobile: 2 };
55
+ // Deep clone a block but without cloning any child blocks
56
+ function deepCloneWithConditions(obj) {
57
+ if (obj === null || typeof obj !== 'object') {
58
+ return obj;
59
+ }
60
+ if (Array.isArray(obj)) {
61
+ return obj.map(function (item) { return deepCloneWithConditions(item); });
62
+ }
63
+ if (obj['@type'] === '@builder.io/sdk:Element') {
64
+ return obj;
65
+ }
66
+ var clonedObj = {};
67
+ for (var key in obj) {
68
+ if (key !== 'meta' && Object.prototype.hasOwnProperty.call(obj, key)) {
69
+ clonedObj[key] = deepCloneWithConditions(obj[key]);
70
+ }
71
+ }
72
+ return clonedObj;
73
+ }
74
+ exports.deepCloneWithConditions = deepCloneWithConditions;
75
+ var voidElements = new Set([
76
+ 'area',
77
+ 'base',
78
+ 'br',
79
+ 'col',
80
+ 'embed',
81
+ 'hr',
82
+ 'img',
83
+ 'input',
84
+ 'link',
85
+ 'meta',
86
+ 'param',
87
+ 'source',
88
+ 'track',
89
+ 'wbr',
90
+ 'textarea', // In React, we want to treat this as void (no children, otherwise React throws errors)
91
+ ]);
92
+ var last = function (arr) { return arr[arr.length - 1]; };
93
+ function omit(obj, values) {
94
+ var newObject = Object.assign({}, obj);
95
+ for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {
96
+ var key = values_1[_i];
97
+ delete newObject[key];
98
+ }
99
+ return newObject;
100
+ }
101
+ var cssCase = function (property) {
102
+ if (!property) {
103
+ return property;
104
+ }
105
+ var str = camelCaseToKebabCase(property);
106
+ if (property[0] === property[0].toUpperCase()) {
107
+ str = '-' + str;
108
+ }
109
+ return str;
110
+ };
111
+ function capitalize(str) {
112
+ if (!str) {
113
+ return;
114
+ }
115
+ return str[0].toUpperCase() + str.slice(1);
116
+ }
117
+ var BuilderBlock = /** @class */ (function (_super) {
118
+ __extends(BuilderBlock, _super);
119
+ function BuilderBlock() {
120
+ var _this = _super !== null && _super.apply(this, arguments) || this;
121
+ _this.hydrated = false;
122
+ _this.state = {
123
+ hasError: false,
124
+ updates: 0,
125
+ };
126
+ _this.privateState = {
127
+ state: {},
128
+ rootState: {},
129
+ context: {},
130
+ update: function () {
131
+ /* Intentionally empty */
132
+ },
133
+ };
134
+ _this.onWindowMessage = function (event) {
135
+ var message = event.data;
136
+ if (!message) {
137
+ return;
138
+ }
139
+ switch (message.type) {
140
+ case 'builder.selectionChange': {
141
+ var data = message.data;
142
+ if (!data) {
143
+ break;
144
+ }
145
+ var selection = data.selection;
146
+ var id = _this.block && _this.block.id;
147
+ if (id && Array.isArray(selection) && selection.indexOf(id) > -1) {
148
+ setTimeout(function () {
149
+ window.$block = _this;
150
+ if (!window.$blocks) {
151
+ window.$blocks = [];
152
+ }
153
+ window.$blocks.push(_this);
154
+ });
155
+ }
156
+ break;
157
+ }
158
+ case 'builder.patchUpdates': {
159
+ var data = message.data;
160
+ if (!(data && data.data)) {
161
+ break;
162
+ }
163
+ var patches = data.data[_this.block.id];
164
+ if (!patches) {
165
+ return;
166
+ }
167
+ if (location.href.includes('builder.debug=true')) {
168
+ eval('debugger');
169
+ }
170
+ for (var _i = 0, patches_1 = patches; _i < patches_1.length; _i++) {
171
+ var patch = patches_1[_i];
172
+ (0, apply_patch_with_mutation_1.applyPatchWithMinimalMutationChain)(_this.props.block, patch, true);
173
+ }
174
+ _this.setState({ updates: _this.state.updates + 1 });
175
+ break;
176
+ }
177
+ }
178
+ };
179
+ return _this;
180
+ }
181
+ Object.defineProperty(BuilderBlock.prototype, "store", {
182
+ get: function () {
183
+ return this.privateState;
184
+ },
185
+ enumerable: false,
186
+ configurable: true
187
+ });
188
+ BuilderBlock.getDerivedStateFromError = function (error) {
189
+ return { hasError: true };
190
+ };
191
+ BuilderBlock.prototype.componentDidCatch = function (error, errorInfo) {
192
+ console.error('Builder block error:', error, errorInfo);
193
+ };
194
+ // TODO: handle adding return if none provided
195
+ // TODO: cache/memoize this (globally with LRU?)
196
+ BuilderBlock.prototype.stringToFunction = function (str, expression) {
197
+ if (expression === void 0) { expression = true; }
198
+ return (0, string_to_function_1.stringToFunction)(str, expression, this._errors, this._logs);
199
+ };
200
+ Object.defineProperty(BuilderBlock.prototype, "block", {
201
+ get: function () {
202
+ return this.props.block;
203
+ },
204
+ enumerable: false,
205
+ configurable: true
206
+ });
207
+ BuilderBlock.prototype.emotionCss = function (responsiveStyles) {
208
+ var _a, _b, _c, _d, _e, _f, _g;
209
+ var initialAnimationStepStyles;
210
+ var block = this.block;
211
+ var animation = block.animations && block.animations[0];
212
+ if (animation && animation.trigger !== 'hover') {
213
+ var firstStep = animation && animation.steps && animation.steps[0];
214
+ var stepStyles = firstStep && firstStep.styles;
215
+ if (stepStyles) {
216
+ initialAnimationStepStyles = stepStyles;
217
+ }
218
+ }
219
+ var reversedNames = device_sizes_constant_1.sizeNames.slice().reverse();
220
+ var styles = {};
221
+ if (responsiveStyles) {
222
+ var contentHasXSmallBreakpoint = Boolean((_c = (_b = (_a = this.privateState.context.builderContent) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.breakpoints) === null || _c === void 0 ? void 0 : _c.xsmall);
223
+ for (var _i = 0, reversedNames_1 = reversedNames; _i < reversedNames_1.length; _i++) {
224
+ var size = reversedNames_1[_i];
225
+ if (!contentHasXSmallBreakpoint && size === 'xsmall') {
226
+ // Only apply xsmall styles if xsmall breakpoint is enabled on content
227
+ // TODO: remove this once xsmall is made GA
228
+ continue;
229
+ }
230
+ if (size === 'large') {
231
+ if (!this.props.emailMode) {
232
+ styles["&.builder-block"] = Object.assign({}, responsiveStyles[size], initialAnimationStepStyles);
233
+ }
234
+ }
235
+ else {
236
+ var sizesPerBreakpoints = (0, device_sizes_constant_1.getSizesForBreakpoints)(((_e = (_d = this.privateState.context.builderContent) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.breakpoints) || {});
237
+ styles["@media only screen and (max-width: ".concat(sizesPerBreakpoints[size].max, "px)")] = {
238
+ '&.builder-block': responsiveStyles[size],
239
+ };
240
+ }
241
+ }
242
+ }
243
+ var hoverAnimation = block.animations && block.animations.find(function (item) { return item.trigger === 'hover'; });
244
+ if (hoverAnimation) {
245
+ styles[':hover'] = ((_g = (_f = hoverAnimation.steps) === null || _f === void 0 ? void 0 : _f[1]) === null || _g === void 0 ? void 0 : _g.styles) || {};
246
+ // TODO: if manually has set transition property deal with that
247
+ // TODO: only include properties explicitly set in the animation
248
+ // using Object.keys(styles)
249
+ styles.transition = "all ".concat(hoverAnimation.duration, "s ").concat(camelCaseToKebabCase(hoverAnimation.easing));
250
+ if (hoverAnimation.delay) {
251
+ styles.transitionDelay = hoverAnimation.delay + 's';
252
+ }
253
+ }
254
+ return styles;
255
+ };
256
+ BuilderBlock.prototype.eval = function (str) {
257
+ var fn = this.stringToFunction(str);
258
+ // TODO: only one root instance of this, don't rewrap every time...
259
+ return fn(this.privateState.state, undefined, this.block, sdk_1.builder, Device, this.privateState.update, sdk_1.Builder, this.privateState.context);
260
+ };
261
+ BuilderBlock.prototype.componentWillUnmount = function () {
262
+ if (sdk_1.Builder.isEditing) {
263
+ removeEventListener('message', this.onWindowMessage);
264
+ }
265
+ };
266
+ BuilderBlock.prototype.componentDidMount = function () {
267
+ var _this = this;
268
+ var _a;
269
+ this.hydrated = true;
270
+ var block = this.block;
271
+ var animations = block && block.animations;
272
+ if (sdk_1.Builder.isEditing) {
273
+ addEventListener('message', this.onWindowMessage);
274
+ }
275
+ // tslint:disable-next-line:comment-format
276
+ ///REACT15ONLY if (this.ref) { this.ref.setAttribute('builder-id', block.id); }
277
+ if (animations) {
278
+ var options = {
279
+ animations: (0, utils_1.fastClone)(animations),
280
+ };
281
+ // TODO: listen to Builder.editingMode and bind animations when editing
282
+ // and unbind when not
283
+ // TODO: apply bindings first
284
+ if (block.bindings) {
285
+ for (var key in block.bindings) {
286
+ if (!((_a = key.trim) === null || _a === void 0 ? void 0 : _a.call(key))) {
287
+ continue;
288
+ }
289
+ if (key.startsWith('animations.')) {
290
+ // TODO: this needs to run in getElement bc of local state per element for repeats
291
+ var value = this.stringToFunction(block.bindings[key]);
292
+ if (value !== undefined) {
293
+ (0, set_1.set)(options, key, value(this.privateState.state, null, block, sdk_1.builder, null, null, sdk_1.Builder, this.privateState.context));
294
+ }
295
+ }
296
+ }
297
+ }
298
+ sdk_1.Builder.animator.bindAnimations(options.animations
299
+ .filter(function (item) { return item.trigger !== 'hover'; })
300
+ .map(function (animation) { return (__assign(__assign({}, animation), { elementId: _this.block.id })); }));
301
+ }
302
+ };
303
+ // <!-- Builder Blocks --> in comments hmm
304
+ BuilderBlock.prototype.getElement = function (index, state) {
305
+ var _a;
306
+ var _this = this;
307
+ var _b, _c, _d, _e, _f;
308
+ if (index === void 0) { index = 0; }
309
+ if (state === void 0) { state = this.privateState.state; }
310
+ var _g = this.props, child = _g.child, fieldName = _g.fieldName;
311
+ var block = this.block;
312
+ var TagName = (block.tagName || 'div').toLowerCase();
313
+ if (TagName === 'template') {
314
+ var html = block.children
315
+ ? block.children.map(function (item) { return (0, block_to_html_string_1.blockToHtmlString)(item); }).join(' ')
316
+ : '';
317
+ console.debug('template html', html);
318
+ return (
319
+ // React has an undesired behavior (for us) for template tags, so we must
320
+ // turn the contents into a string
321
+ (0, core_1.jsx)("template", __assign({}, block.properties, { dangerouslySetInnerHTML: {
322
+ __html: html,
323
+ } })));
324
+ }
325
+ var InnerComponent;
326
+ var componentName = block.component && (block.component.name || block.component.component);
327
+ var componentInfo = null;
328
+ if (block.component && !block.component.class) {
329
+ if (block.component && block.component.tag) {
330
+ InnerComponent = block.component.tag;
331
+ }
332
+ else {
333
+ componentInfo = sdk_1.Builder.components.find(function (item) { return item.name === componentName; }) || null;
334
+ if (componentInfo && componentInfo.class) {
335
+ InnerComponent = componentInfo.class;
336
+ }
337
+ else if (componentInfo && componentInfo.tag) {
338
+ InnerComponent = componentInfo.tag;
339
+ }
340
+ else {
341
+ if (componentName === null || componentName === void 0 ? void 0 : componentName.startsWith('Builder:')) {
342
+ console.warn("Missing @builder.io/widgets installation, please install and import @builder.io/widgets to use ".concat(componentName.split(':')[1], " in your content, more info here: https://github.com/BuilderIO/builder/tree/main/packages/widgets"));
343
+ }
344
+ else if (componentName) {
345
+ console.warn("Missing registration for ".concat(componentName, ", have you included the registration in your bundle?"));
346
+ }
347
+ }
348
+ }
349
+ }
350
+ var TextTag = 'span';
351
+ var options = __assign(__assign({}, block.properties), { style: {}, responsiveStyles: (0, utils_1.fastClone)(block.responsiveStyles || {}) });
352
+ options = __assign(__assign({}, options.properties), options);
353
+ if (block.component) {
354
+ options.component = deepCloneWithConditions(block.component);
355
+ }
356
+ // Binding should be properties to href or href?
357
+ // Manual style editor show bindings
358
+ // Show if things bound in overlays hmm
359
+ if (block.bindings) {
360
+ for (var key in block.bindings) {
361
+ if (!((_b = key.trim) === null || _b === void 0 ? void 0 : _b.call(key))) {
362
+ continue;
363
+ }
364
+ var value = this.stringToFunction(block.bindings[key]);
365
+ // TODO: pass block, etc
366
+ (0, set_1.set)(options, key, value(state, null, block, (0, string_to_function_1.api)(state), Device, null, sdk_1.Builder, this.privateState.context));
367
+ }
368
+ }
369
+ if (options.hide) {
370
+ return null;
371
+ }
372
+ else {
373
+ delete options.hide;
374
+ }
375
+ // TODO: UI for this
376
+ if (('show' in options || (block.bindings && block.bindings.show)) && !options.show) {
377
+ return null;
378
+ }
379
+ else {
380
+ delete options.show;
381
+ }
382
+ if (block.actions) {
383
+ var _loop_1 = function (key) {
384
+ if (!((_c = key.trim) === null || _c === void 0 ? void 0 : _c.call(key))) {
385
+ return "continue";
386
+ }
387
+ var value = block.actions[key];
388
+ options['on' + capitalize(key)] = function (event) {
389
+ var useState = state;
390
+ if (typeof Proxy !== 'undefined') {
391
+ useState = new Proxy(state, {
392
+ set: function (obj, prop, value) {
393
+ obj[prop] = value;
394
+ _this.privateState.rootState[prop] = value;
395
+ return true;
396
+ },
397
+ });
398
+ }
399
+ var fn = _this.stringToFunction(value, false);
400
+ // TODO: only one root instance of this, don't rewrap every time...
401
+ return fn(useState, event, _this.block, sdk_1.builder, Device, _this.privateState.update, sdk_1.Builder, _this.privateState.context);
402
+ };
403
+ };
404
+ for (var key in block.actions) {
405
+ _loop_1(key);
406
+ }
407
+ }
408
+ var innerComponentProperties = (options.component || options.options) && __assign(__assign({}, options.options), (options.component.options || options.component.data));
409
+ if ((0, extract_localized_values_1.containsLocalizedValues)(innerComponentProperties)) {
410
+ if (!this.privateState.state.locale) {
411
+ console.warn('[Builder.io] In order to use localized fields in Builder, you must pass a locale prop to the BuilderComponent or to options object while fetching the content to resolve localized fields. Learn more: https://www.builder.io/c/docs/localization-inline#targeting-and-inline-localization');
412
+ }
413
+ innerComponentProperties = (0, extract_localized_values_1.extractLocalizedValues)(innerComponentProperties, (_d = this.privateState.state.locale) !== null && _d !== void 0 ? _d : 'Default');
414
+ }
415
+ var isVoid = voidElements.has(TagName);
416
+ var noWrap = componentInfo && (componentInfo.fragment || componentInfo.noWrap);
417
+ var styleStr = ((_e = options.attr) === null || _e === void 0 ? void 0 : _e.style) || (typeof options.style === 'string' ? options.style : '') || '';
418
+ if (typeof styleStr === 'string') {
419
+ if (typeof options.style !== 'object') {
420
+ options.style = {};
421
+ }
422
+ var styleSplit = styleStr.split(';');
423
+ for (var _i = 0, styleSplit_1 = styleSplit; _i < styleSplit_1.length; _i++) {
424
+ var pair = styleSplit_1[_i];
425
+ var stylePieces = pair.split(':');
426
+ if (!stylePieces.length) {
427
+ return;
428
+ }
429
+ var key = stylePieces[0], value = stylePieces[1];
430
+ if (!key) {
431
+ continue;
432
+ }
433
+ if (stylePieces.length > 2) {
434
+ value = stylePieces.slice(1).join(':');
435
+ }
436
+ options.style[kebabCaseToCamelCase(key)] = value;
437
+ }
438
+ }
439
+ var finalOptions = __assign(__assign(__assign({}, omit(options, ['class', 'component', 'attr', 'responsiveStyles'])), (_a = {}, _a[typeof TagName === 'string' && !TagName.includes('-') ? 'className' : 'class'] = "builder-block ".concat(this.id).concat(block.class ? " ".concat(block.class) : '').concat(block.component && !(['Image', 'Video', 'Banner'].indexOf(componentName) > -1)
440
+ ? " builder-has-component"
441
+ : '') +
442
+ (options.class ? ' ' + options.class : '') +
443
+ (this.hydrated && sdk_1.Builder.isEditing && ((_f = this.privateState.state._spacer) === null || _f === void 0 ? void 0 : _f.parent) === block.id
444
+ ? ' builder-spacer-parent'
445
+ : ''), _a.key = this.id + index, _a['builder-id'] = this.id, _a)), (index !== 0 && {
446
+ 'builder-index': index, // String(state.$index)
447
+ }));
448
+ // tslint:disable-next-line:comment-format
449
+ ///REACT15ONLY finalOptions.className = finalOptions.class
450
+ if (sdk_1.Builder.isEditing && this.hydrated) {
451
+ // TODO: removed bc JS can add styles inline too?
452
+ finalOptions['builder-inline-styles'] = !(options.attr && options.attr.style)
453
+ ? ''
454
+ : Object.keys(options.style).reduce(function (memo, key) { return (memo ? "".concat(memo, ";") : '') + "".concat(cssCase(key), ":").concat(options.style[key], ";"); }, '');
455
+ }
456
+ if (((finalOptions.properties && finalOptions.properties.href) ||
457
+ finalOptions.href) &&
458
+ TagName === 'div') {
459
+ TagName = 'a';
460
+ }
461
+ if (TagName === 'a') {
462
+ TagName = Link_1.Link;
463
+ }
464
+ // const css = this.css
465
+ // const styleTag = css.trim() && (
466
+ // <style className="builder-style">
467
+ // {(InnerComponent && !isBlock ? `.${this.id} > * { height: 100%; width: 100%; }` : '') +
468
+ // this.css}
469
+ // </style>
470
+ // )
471
+ var children = block.children || finalOptions.children || [];
472
+ // TODO: test it out
473
+ return ((0, core_1.jsx)(react_1.default.Fragment, null,
474
+ (0, core_1.jsx)(core_1.ClassNames, null, function (_a) {
475
+ var css = _a.css, cx = _a.cx;
476
+ if (!_this.props.emailMode) {
477
+ var addClass = ' ' + css(_this.emotionCss(options.responsiveStyles));
478
+ if (finalOptions.class) {
479
+ finalOptions.class += addClass;
480
+ }
481
+ if (finalOptions.className) {
482
+ finalOptions.className += addClass;
483
+ }
484
+ }
485
+ return ((0, core_1.jsx)(builder_async_requests_1.BuilderAsyncRequestsContext.Consumer, null, function (value) {
486
+ _this._asyncRequests = value && value.requests;
487
+ _this._errors = value && value.errors;
488
+ _this._logs = value && value.logs;
489
+ return isVoid ? ((0, core_1.jsx)(TagName, __assign({}, finalOptions))) : InnerComponent && (noWrap || _this.props.emailMode) ? (
490
+ // TODO: pass the class to be easier
491
+ // TODO: acceptsChildren option?
492
+ (0, core_1.jsx)(InnerComponent
493
+ // Final options maaay be wrong here hm
494
+ , __assign({}, innerComponentProperties, {
495
+ // should really call this builderAttributes bc people can name a
496
+ // componet input "attributes"
497
+ attributes: finalOptions, builderBlock: block, builderState: _this.privateState }))) : ((0, core_1.jsx)(TagName, __assign({}, finalOptions),
498
+ InnerComponent && ((0, core_1.jsx)(InnerComponent, __assign({ builderState: _this.privateState, builderBlock: block }, innerComponentProperties))),
499
+ block.text || options.text
500
+ ? options.text
501
+ : !InnerComponent && children && Array.isArray(children) && children.length
502
+ ? children.map(function (block, index) { return ((0, core_1.jsx)(BuilderBlock, { key: (_this.id || '') + index, block: block, index: index, size: _this.props.size, fieldName: _this.props.fieldName, child: _this.props.child, emailMode: _this.props.emailMode })); })
503
+ : null));
504
+ }));
505
+ })));
506
+ };
507
+ Object.defineProperty(BuilderBlock.prototype, "id", {
508
+ get: function () {
509
+ var block = this.block;
510
+ if (block.id && !block.id.startsWith('builder')) {
511
+ return 'builder-' + block.id;
512
+ }
513
+ return block.id || '';
514
+ },
515
+ enumerable: false,
516
+ configurable: true
517
+ });
518
+ BuilderBlock.prototype.contents = function (state) {
519
+ var _this = this;
520
+ var block = this.block;
521
+ // this.setState(state);
522
+ this.privateState = state;
523
+ if (block.repeat && block.repeat.collection) {
524
+ var collectionPath = block.repeat.collection;
525
+ var collectionName = last((collectionPath || '').trim().split('(')[0].trim().split('.'));
526
+ var itemName_1 = block.repeat.itemName || (collectionName ? collectionName + 'Item' : 'item');
527
+ var array = this.stringToFunction(collectionPath)(state.state, null, block, (0, string_to_function_1.api)(state), Device, null, sdk_1.Builder, this.privateState.context);
528
+ if (Array.isArray(array)) {
529
+ return array.map(function (data, index) {
530
+ var _a;
531
+ // TODO: Builder state produce the data
532
+ var childState = __assign(__assign({}, state.state), (_a = { $index: index, $item: data }, _a[itemName_1] = data, _a["$".concat(itemName_1, "Index")] = index, _a));
533
+ return ((0, core_1.jsx)(builder_store_1.BuilderStoreContext.Provider, { key: index, value: __assign(__assign({}, state), { state: childState }) }, _this.getElement(index, childState)));
534
+ });
535
+ }
536
+ return null;
537
+ }
538
+ return this.getElement();
539
+ };
540
+ BuilderBlock.prototype.render = function () {
541
+ var _this = this;
542
+ if (this.state.hasError) {
543
+ return ((0, core_1.jsx)("span", { css: {
544
+ display: 'inline-block',
545
+ padding: 5,
546
+ color: '#999',
547
+ fontSize: 11,
548
+ fontStyle: 'italic',
549
+ } }, "Builder block error :( Check console for details"));
550
+ }
551
+ return ((0, core_1.jsx)(builder_store_1.BuilderStoreContext.Consumer, null, function (value) { return _this.contents(value); }));
552
+ };
553
+ return BuilderBlock;
554
+ }(react_1.default.Component));
555
+ exports.BuilderBlock = BuilderBlock;
556
+ //# sourceMappingURL=builder-block.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder-block.component.js","sourceRoot":"","sources":["../../../../src/components/builder-block.component.tsx"],"names":[],"mappings":"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"}