@builder.io/react 8.0.5 → 8.0.6-1

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 (231) hide show
  1. package/.npmrc +1 -0
  2. package/package.json +5 -4
  3. package/scripts/fix-core-version.sh +0 -0
  4. package/scripts/set-sdk-version.sh +0 -0
  5. package/src/components/builder-block.component.tsx +9 -0
  6. package/src/components/builder-component.component.tsx +1 -0
  7. package/src/constants/device-sizes.constant.ts +22 -6
  8. package/.yarnrc.yml +0 -1
  9. package/dist/builder-react-lite.cjs.js +0 -2
  10. package/dist/builder-react-lite.cjs.js.map +0 -1
  11. package/dist/builder-react-lite.esm.js +0 -2
  12. package/dist/builder-react-lite.esm.js.map +0 -1
  13. package/dist/builder-react.browser.js +0 -11
  14. package/dist/builder-react.browser.js.map +0 -1
  15. package/dist/builder-react.cjs.js +0 -2
  16. package/dist/builder-react.cjs.js.map +0 -1
  17. package/dist/builder-react.es5.js +0 -2
  18. package/dist/builder-react.es5.js.map +0 -1
  19. package/dist/builder-react.unpkg.js +0 -11
  20. package/dist/builder-react.unpkg.js.map +0 -1
  21. package/dist/lib/lib/on-change.js +0 -228
  22. package/dist/lib/lib/on-change.js.map +0 -1
  23. package/dist/lib/package.json +0 -109
  24. package/dist/lib/rollup.config.js +0 -131
  25. package/dist/lib/rollup.config.js.map +0 -1
  26. package/dist/lib/src/blocks/Button.js +0 -86
  27. package/dist/lib/src/blocks/Button.js.map +0 -1
  28. package/dist/lib/src/blocks/Columns.js +0 -243
  29. package/dist/lib/src/blocks/Columns.js.map +0 -1
  30. package/dist/lib/src/blocks/CustomCode.js +0 -227
  31. package/dist/lib/src/blocks/CustomCode.js.map +0 -1
  32. package/dist/lib/src/blocks/Embed.js +0 -114
  33. package/dist/lib/src/blocks/Embed.js.map +0 -1
  34. package/dist/lib/src/blocks/Fragment.js +0 -45
  35. package/dist/lib/src/blocks/Fragment.js.map +0 -1
  36. package/dist/lib/src/blocks/Image.js +0 -532
  37. package/dist/lib/src/blocks/Image.js.map +0 -1
  38. package/dist/lib/src/blocks/Mutation.js +0 -93
  39. package/dist/lib/src/blocks/Mutation.js.map +0 -1
  40. package/dist/lib/src/blocks/PersonalizationContainer.js +0 -174
  41. package/dist/lib/src/blocks/PersonalizationContainer.js.map +0 -1
  42. package/dist/lib/src/blocks/Router.js +0 -354
  43. package/dist/lib/src/blocks/Router.js.map +0 -1
  44. package/dist/lib/src/blocks/Section.js +0 -150
  45. package/dist/lib/src/blocks/Section.js.map +0 -1
  46. package/dist/lib/src/blocks/Slot.js +0 -41
  47. package/dist/lib/src/blocks/Slot.js.map +0 -1
  48. package/dist/lib/src/blocks/StateProvider.js +0 -61
  49. package/dist/lib/src/blocks/StateProvider.js.map +0 -1
  50. package/dist/lib/src/blocks/Symbol.js +0 -192
  51. package/dist/lib/src/blocks/Symbol.js.map +0 -1
  52. package/dist/lib/src/blocks/Text.js +0 -132
  53. package/dist/lib/src/blocks/Text.js.map +0 -1
  54. package/dist/lib/src/blocks/Video.js +0 -261
  55. package/dist/lib/src/blocks/Video.js.map +0 -1
  56. package/dist/lib/src/blocks/forms/Button.js +0 -74
  57. package/dist/lib/src/blocks/forms/Button.js.map +0 -1
  58. package/dist/lib/src/blocks/forms/Form.js +0 -590
  59. package/dist/lib/src/blocks/forms/Form.js.map +0 -1
  60. package/dist/lib/src/blocks/forms/Input.js +0 -133
  61. package/dist/lib/src/blocks/forms/Input.js.map +0 -1
  62. package/dist/lib/src/blocks/forms/Label.js +0 -81
  63. package/dist/lib/src/blocks/forms/Label.js.map +0 -1
  64. package/dist/lib/src/blocks/forms/Select.js +0 -104
  65. package/dist/lib/src/blocks/forms/Select.js.map +0 -1
  66. package/dist/lib/src/blocks/forms/TextArea.js +0 -89
  67. package/dist/lib/src/blocks/forms/TextArea.js.map +0 -1
  68. package/dist/lib/src/blocks/raw/Img.js +0 -66
  69. package/dist/lib/src/blocks/raw/Img.js.map +0 -1
  70. package/dist/lib/src/blocks/raw/RawText.js +0 -47
  71. package/dist/lib/src/blocks/raw/RawText.js.map +0 -1
  72. package/dist/lib/src/builder-react-lite.js +0 -31
  73. package/dist/lib/src/builder-react-lite.js.map +0 -1
  74. package/dist/lib/src/builder-react.js +0 -106
  75. package/dist/lib/src/builder-react.js.map +0 -1
  76. package/dist/lib/src/components/Link.js +0 -35
  77. package/dist/lib/src/components/Link.js.map +0 -1
  78. package/dist/lib/src/components/builder-block.component.js +0 -550
  79. package/dist/lib/src/components/builder-block.component.js.map +0 -1
  80. package/dist/lib/src/components/builder-blocks.component.js +0 -167
  81. package/dist/lib/src/components/builder-blocks.component.js.map +0 -1
  82. package/dist/lib/src/components/builder-component.component.js +0 -1125
  83. package/dist/lib/src/components/builder-component.component.js.map +0 -1
  84. package/dist/lib/src/components/builder-content.component.js +0 -321
  85. package/dist/lib/src/components/builder-content.component.js.map +0 -1
  86. package/dist/lib/src/components/insert-spacer.component.js +0 -106
  87. package/dist/lib/src/components/insert-spacer.component.js.map +0 -1
  88. package/dist/lib/src/components/no-wrap.js +0 -7
  89. package/dist/lib/src/components/no-wrap.js.map +0 -1
  90. package/dist/lib/src/components/variants-provider.component.js +0 -108
  91. package/dist/lib/src/components/variants-provider.component.js.map +0 -1
  92. package/dist/lib/src/constants/device-sizes.constant.js +0 -80
  93. package/dist/lib/src/constants/device-sizes.constant.js.map +0 -1
  94. package/dist/lib/src/constants/file-types.constant.js +0 -72
  95. package/dist/lib/src/constants/file-types.constant.js.map +0 -1
  96. package/dist/lib/src/decorators/builder-block.decorator.js +0 -10
  97. package/dist/lib/src/decorators/builder-block.decorator.js.map +0 -1
  98. package/dist/lib/src/functions/apply-patch-with-mutation.js +0 -80
  99. package/dist/lib/src/functions/apply-patch-with-mutation.js.map +0 -1
  100. package/dist/lib/src/functions/apply-patch-with-mutation.test.js +0 -54
  101. package/dist/lib/src/functions/apply-patch-with-mutation.test.js.map +0 -1
  102. package/dist/lib/src/functions/block-to-html-string.js +0 -21
  103. package/dist/lib/src/functions/block-to-html-string.js.map +0 -1
  104. package/dist/lib/src/functions/debonce-next-tick.js +0 -43
  105. package/dist/lib/src/functions/debonce-next-tick.js.map +0 -1
  106. package/dist/lib/src/functions/extract-localized-values.js +0 -35
  107. package/dist/lib/src/functions/extract-localized-values.js.map +0 -1
  108. package/dist/lib/src/functions/filter-with-custom-targeting.js +0 -88
  109. package/dist/lib/src/functions/filter-with-custom-targeting.js.map +0 -1
  110. package/dist/lib/src/functions/get-builder-pixel.js +0 -27
  111. package/dist/lib/src/functions/get-builder-pixel.js.map +0 -1
  112. package/dist/lib/src/functions/get.js +0 -12
  113. package/dist/lib/src/functions/get.js.map +0 -1
  114. package/dist/lib/src/functions/is-debug.js +0 -8
  115. package/dist/lib/src/functions/is-debug.js.map +0 -1
  116. package/dist/lib/src/functions/no-wrap.js +0 -60
  117. package/dist/lib/src/functions/no-wrap.js.map +0 -1
  118. package/dist/lib/src/functions/safe-dynamic-require.js +0 -51
  119. package/dist/lib/src/functions/safe-dynamic-require.js.map +0 -1
  120. package/dist/lib/src/functions/set.js +0 -21
  121. package/dist/lib/src/functions/set.js.map +0 -1
  122. package/dist/lib/src/functions/should-force-browser-runtime-in-node.js +0 -22
  123. package/dist/lib/src/functions/should-force-browser-runtime-in-node.js.map +0 -1
  124. package/dist/lib/src/functions/string-to-function.js +0 -166
  125. package/dist/lib/src/functions/string-to-function.js.map +0 -1
  126. package/dist/lib/src/functions/throttle.js +0 -42
  127. package/dist/lib/src/functions/throttle.js.map +0 -1
  128. package/dist/lib/src/functions/traverse.js +0 -72
  129. package/dist/lib/src/functions/traverse.js.map +0 -1
  130. package/dist/lib/src/functions/try-eval.js +0 -75
  131. package/dist/lib/src/functions/try-eval.js.map +0 -1
  132. package/dist/lib/src/functions/update-metadata.js +0 -42
  133. package/dist/lib/src/functions/update-metadata.js.map +0 -1
  134. package/dist/lib/src/functions/utils.js +0 -20
  135. package/dist/lib/src/functions/utils.js.map +0 -1
  136. package/dist/lib/src/functions/with-builder.js +0 -10
  137. package/dist/lib/src/functions/with-builder.js.map +0 -1
  138. package/dist/lib/src/functions/with-children.js +0 -77
  139. package/dist/lib/src/functions/with-children.js.map +0 -1
  140. package/dist/lib/src/hooks/useIsPreviewing.js +0 -16
  141. package/dist/lib/src/hooks/useIsPreviewing.js.map +0 -1
  142. package/dist/lib/src/scripts/init-editing.js +0 -18
  143. package/dist/lib/src/scripts/init-editing.js.map +0 -1
  144. package/dist/lib/src/sdk-version.js +0 -5
  145. package/dist/lib/src/sdk-version.js.map +0 -1
  146. package/dist/lib/src/store/builder-async-requests.js +0 -19
  147. package/dist/lib/src/store/builder-async-requests.js.map +0 -1
  148. package/dist/lib/src/store/builder-meta.js +0 -13
  149. package/dist/lib/src/store/builder-meta.js.map +0 -1
  150. package/dist/lib/src/store/builder-store.js +0 -15
  151. package/dist/lib/src/store/builder-store.js.map +0 -1
  152. package/dist/lib/src/to-error.js +0 -22
  153. package/dist/lib/src/to-error.js.map +0 -1
  154. package/dist/lib/test/basic.test.js +0 -212
  155. package/dist/lib/test/basic.test.js.map +0 -1
  156. package/dist/lib/test/functions/render-block.js +0 -24
  157. package/dist/lib/test/functions/render-block.js.map +0 -1
  158. package/dist/lib/test/image.test.js +0 -107
  159. package/dist/lib/test/image.test.js.map +0 -1
  160. package/dist/lib/test/setupTests.js +0 -8
  161. package/dist/lib/test/setupTests.js.map +0 -1
  162. package/dist/types/lib/on-change.d.ts +0 -8
  163. package/dist/types/rollup.config.d.ts +0 -44
  164. package/dist/types/src/blocks/Button.d.ts +0 -7
  165. package/dist/types/src/blocks/Columns.d.ts +0 -1
  166. package/dist/types/src/blocks/CustomCode.d.ts +0 -1
  167. package/dist/types/src/blocks/Embed.d.ts +0 -1
  168. package/dist/types/src/blocks/Fragment.d.ts +0 -5
  169. package/dist/types/src/blocks/Image.d.ts +0 -6
  170. package/dist/types/src/blocks/Mutation.d.ts +0 -8
  171. package/dist/types/src/blocks/PersonalizationContainer.d.ts +0 -19
  172. package/dist/types/src/blocks/Router.d.ts +0 -32
  173. package/dist/types/src/blocks/Section.d.ts +0 -1
  174. package/dist/types/src/blocks/Slot.d.ts +0 -5
  175. package/dist/types/src/blocks/StateProvider.d.ts +0 -1
  176. package/dist/types/src/blocks/Symbol.d.ts +0 -19
  177. package/dist/types/src/blocks/Text.d.ts +0 -6
  178. package/dist/types/src/blocks/Video.d.ts +0 -1
  179. package/dist/types/src/blocks/forms/Button.d.ts +0 -5
  180. package/dist/types/src/blocks/forms/Form.d.ts +0 -24
  181. package/dist/types/src/blocks/forms/Input.d.ts +0 -10
  182. package/dist/types/src/blocks/forms/Label.d.ts +0 -8
  183. package/dist/types/src/blocks/forms/Select.d.ts +0 -12
  184. package/dist/types/src/blocks/forms/TextArea.d.ts +0 -9
  185. package/dist/types/src/blocks/raw/Img.d.ts +0 -7
  186. package/dist/types/src/blocks/raw/RawText.d.ts +0 -8
  187. package/dist/types/src/builder-react-lite.d.ts +0 -17
  188. package/dist/types/src/builder-react.d.ts +0 -45
  189. package/dist/types/src/components/Link.d.ts +0 -9
  190. package/dist/types/src/components/builder-block.component.d.ts +0 -50
  191. package/dist/types/src/components/builder-blocks.component.d.ts +0 -29
  192. package/dist/types/src/components/builder-component.component.d.ts +0 -324
  193. package/dist/types/src/components/builder-content.component.d.ts +0 -271
  194. package/dist/types/src/components/insert-spacer.component.d.ts +0 -13
  195. package/dist/types/src/components/no-wrap.d.ts +0 -2
  196. package/dist/types/src/components/variants-provider.component.d.ts +0 -8
  197. package/dist/types/src/constants/device-sizes.constant.d.ts +0 -56
  198. package/dist/types/src/constants/file-types.constant.d.ts +0 -2
  199. package/dist/types/src/decorators/builder-block.decorator.d.ts +0 -5
  200. package/dist/types/src/functions/apply-patch-with-mutation.d.ts +0 -5
  201. package/dist/types/src/functions/apply-patch-with-mutation.test.d.ts +0 -1
  202. package/dist/types/src/functions/block-to-html-string.d.ts +0 -3
  203. package/dist/types/src/functions/debonce-next-tick.d.ts +0 -2
  204. package/dist/types/src/functions/extract-localized-values.d.ts +0 -2
  205. package/dist/types/src/functions/filter-with-custom-targeting.d.ts +0 -15
  206. package/dist/types/src/functions/get-builder-pixel.d.ts +0 -2
  207. package/dist/types/src/functions/get.d.ts +0 -1
  208. package/dist/types/src/functions/is-debug.d.ts +0 -1
  209. package/dist/types/src/functions/no-wrap.d.ts +0 -33
  210. package/dist/types/src/functions/safe-dynamic-require.d.ts +0 -3
  211. package/dist/types/src/functions/set.d.ts +0 -1
  212. package/dist/types/src/functions/should-force-browser-runtime-in-node.d.ts +0 -1
  213. package/dist/types/src/functions/string-to-function.d.ts +0 -7
  214. package/dist/types/src/functions/throttle.d.ts +0 -1
  215. package/dist/types/src/functions/traverse.d.ts +0 -34
  216. package/dist/types/src/functions/try-eval.d.ts +0 -1
  217. package/dist/types/src/functions/update-metadata.d.ts +0 -17
  218. package/dist/types/src/functions/utils.d.ts +0 -2
  219. package/dist/types/src/functions/with-builder.d.ts +0 -2
  220. package/dist/types/src/functions/with-children.d.ts +0 -29
  221. package/dist/types/src/hooks/useIsPreviewing.d.ts +0 -1
  222. package/dist/types/src/scripts/init-editing.d.ts +0 -1
  223. package/dist/types/src/sdk-version.d.ts +0 -1
  224. package/dist/types/src/store/builder-async-requests.d.ts +0 -13
  225. package/dist/types/src/store/builder-meta.d.ts +0 -6
  226. package/dist/types/src/store/builder-store.d.ts +0 -10
  227. package/dist/types/src/to-error.d.ts +0 -13
  228. package/dist/types/test/basic.test.d.ts +0 -4
  229. package/dist/types/test/functions/render-block.d.ts +0 -3
  230. package/dist/types/test/image.test.d.ts +0 -1
  231. package/dist/types/test/setupTests.d.ts +0 -0
@@ -1,590 +0,0 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
44
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
- var __importDefault = (this && this.__importDefault) || function (mod) {
65
- return (mod && mod.__esModule) ? mod : { "default": mod };
66
- };
67
- Object.defineProperty(exports, "__esModule", { value: true });
68
- exports.Form = void 0;
69
- /** @jsx jsx */
70
- var core_1 = require("@emotion/core");
71
- var react_1 = __importDefault(require("react"));
72
- var builder_block_component_1 = require("../../components/builder-block.component");
73
- var sdk_1 = require("@builder.io/sdk");
74
- var builder_blocks_component_1 = require("../../components/builder-blocks.component");
75
- var builder_store_1 = require("../../store/builder-store");
76
- var set_1 = require("../../functions/set");
77
- var get_1 = require("../../functions/get");
78
- var with_builder_1 = require("../../functions/with-builder");
79
- var MULTIPART_CONTENT_TYPE = 'multipart/form-data';
80
- var JSON_CONTENT_TYPE = 'application/json';
81
- var ENCODED_CONTENT_TYPE = 'application/x-www-form-urlencoded';
82
- var FormComponent = /** @class */ (function (_super) {
83
- __extends(FormComponent, _super);
84
- function FormComponent() {
85
- var _this = _super !== null && _super.apply(this, arguments) || this;
86
- _this.ref = null;
87
- // TODO: link this state to global state and allow togglign the modes in
88
- // the style and or data editor. TODO: for now some kind of input for preview state
89
- // that only impacts in the editor?
90
- _this.state = {
91
- state: 'unsubmitted',
92
- // TODO: separate response and error?
93
- responseData: null,
94
- formErrorMessage: '',
95
- };
96
- return _this;
97
- }
98
- Object.defineProperty(FormComponent.prototype, "submissionState", {
99
- get: function () {
100
- return (sdk_1.Builder.isEditing && this.props.previewState) || this.state.state;
101
- },
102
- enumerable: false,
103
- configurable: true
104
- });
105
- FormComponent.prototype.render = function () {
106
- var _this = this;
107
- return (
108
- // TODO: JS data bindings
109
- (0, core_1.jsx)(builder_store_1.BuilderStoreContext.Consumer, null, function (state) { return ((0, core_1.jsx)(builder_store_1.BuilderStoreContext.Provider, { value: __assign(__assign({}, state), { state: __assign(__assign({}, state.state), { formErrorMessage: _this.state.formErrorMessage }) }) },
110
- (0, core_1.jsx)("form", __assign({}, (!_this.props.validate ? { noValidate: true } : {}), { ref: function (ref) { return (_this.ref = ref); }, action: !_this.props.sendWithJs && _this.props.action ? _this.props.action : undefined, method: _this.props.method, name: _this.props.name, onSubmit: function (event) {
111
- var _a;
112
- var sendWithJs = _this.props.sendWithJs || _this.props.sendSubmissionsTo === 'email';
113
- // TODO: custom validate event that can preventDefault and use ref or event to set
114
- // invalid message
115
- if (_this.props.sendSubmissionsTo === 'zapier') {
116
- event.preventDefault();
117
- // TODO: send submission to zapier
118
- }
119
- else if (sendWithJs) {
120
- if (!(_this.props.action || _this.props.sendSubmissionsTo === 'email')) {
121
- event.preventDefault();
122
- return;
123
- }
124
- event.preventDefault();
125
- // TODO: error and success state
126
- var el = event.currentTarget;
127
- var headers = _this.props.customHeaders || {};
128
- var body = void 0;
129
- var formData = new FormData(el);
130
- // TODO: maybe support null
131
- var formPairs = Array.from(event.currentTarget.querySelectorAll('input,select,textarea'))
132
- .filter(function (el) { return !!el.name; })
133
- .map(function (el) {
134
- var value;
135
- var key = el.name;
136
- if (el instanceof HTMLInputElement) {
137
- if (el.type === 'radio') {
138
- if (el.checked) {
139
- value = el.name;
140
- return { key: key, value: value };
141
- }
142
- }
143
- else if (el.type === 'checkbox') {
144
- value = el.checked;
145
- }
146
- else if (el.type === 'number' || el.type === 'range') {
147
- var num = el.valueAsNumber;
148
- if (!isNaN(num)) {
149
- value = num;
150
- }
151
- }
152
- else if (el.type === 'file') {
153
- // TODO: one vs multiple files
154
- value = el.files;
155
- }
156
- else {
157
- value = el.value;
158
- }
159
- }
160
- else {
161
- value = el.value;
162
- }
163
- return { key: key, value: value };
164
- });
165
- var contentType_1 = _this.props.contentType;
166
- if (_this.props.sendSubmissionsTo === 'email') {
167
- contentType_1 = MULTIPART_CONTENT_TYPE;
168
- }
169
- Array.from(formPairs).forEach(function (_a) {
170
- var value = _a.value;
171
- if (value instanceof File ||
172
- (Array.isArray(value) && value[0] instanceof File) ||
173
- value instanceof FileList) {
174
- contentType_1 = MULTIPART_CONTENT_TYPE;
175
- }
176
- });
177
- if (contentType_1 === MULTIPART_CONTENT_TYPE) {
178
- body = formData;
179
- }
180
- else if (contentType_1 === JSON_CONTENT_TYPE) {
181
- var json_1 = {};
182
- Array.from(formPairs).forEach(function (_a) {
183
- var value = _a.value, key = _a.key;
184
- (0, set_1.set)(json_1, key, value);
185
- });
186
- body = JSON.stringify(json_1);
187
- }
188
- else if (contentType_1 === ENCODED_CONTENT_TYPE) {
189
- body = Array.from(formPairs)
190
- .map(function (_a) {
191
- var value = _a.value, key = _a.key;
192
- return (encodeURIComponent(key) +
193
- '=' +
194
- encodeURIComponent(value));
195
- })
196
- .join('&');
197
- }
198
- else {
199
- // Unsupported content type
200
- console.error('Unsupported content type: ', contentType_1);
201
- return;
202
- }
203
- if (contentType_1 && contentType_1 !== MULTIPART_CONTENT_TYPE) {
204
- if (
205
- // Zapier doesn't allow content-type header to be sent from browsers
206
- !(sendWithJs && ((_a = _this.props.action) === null || _a === void 0 ? void 0 : _a.includes('zapier.com')))) {
207
- headers['content-type'] = contentType_1;
208
- }
209
- }
210
- var presubmitEvent = new CustomEvent('presubmit', {
211
- detail: {
212
- body: body,
213
- },
214
- });
215
- if (_this.ref) {
216
- _this.ref.dispatchEvent(presubmitEvent);
217
- if (presubmitEvent.defaultPrevented) {
218
- return;
219
- }
220
- }
221
- _this.setState(__assign(__assign({}, _this.state), { state: 'sending' }));
222
- var formUrl = "".concat(sdk_1.builder.env === 'dev' ? 'http://localhost:5000' : 'https://builder.io', "/api/v1/form-submit?apiKey=").concat(sdk_1.builder.apiKey, "&to=").concat(btoa(_this.props.sendSubmissionsToEmail || ''), "&name=").concat(encodeURIComponent(_this.props.name || ''));
223
- fetch(_this.props.sendSubmissionsTo === 'email' ? formUrl : _this.props.action, // TODO: throw error if no action URL
224
- {
225
- body: body,
226
- headers: headers,
227
- method: _this.props.method || 'post',
228
- }).then(function (res) { return __awaiter(_this, void 0, void 0, function () {
229
- var body, contentType, message, submitSuccessEvent, event_1;
230
- return __generator(this, function (_a) {
231
- switch (_a.label) {
232
- case 0:
233
- contentType = res.headers.get('content-type');
234
- if (!(contentType && contentType.indexOf(JSON_CONTENT_TYPE) !== -1)) return [3 /*break*/, 2];
235
- return [4 /*yield*/, res.json()];
236
- case 1:
237
- body = _a.sent();
238
- return [3 /*break*/, 4];
239
- case 2: return [4 /*yield*/, res.text()];
240
- case 3:
241
- body = _a.sent();
242
- _a.label = 4;
243
- case 4:
244
- if (!res.ok && this.props.errorMessagePath) {
245
- message = (0, get_1.get)(body, this.props.errorMessagePath);
246
- if (message) {
247
- if (typeof message !== 'string') {
248
- // TODO: ideally convert json to yaml so it woul dbe like
249
- // error: - email has been taken
250
- message = JSON.stringify(message);
251
- }
252
- this.setState(__assign(__assign({}, this.state), { formErrorMessage: message }));
253
- }
254
- }
255
- this.setState(__assign(__assign({}, this.state), { responseData: body, state: res.ok ? 'success' : 'error' }));
256
- if (res.ok) {
257
- submitSuccessEvent = new CustomEvent('submit:success', {
258
- detail: {
259
- res: res,
260
- body: body,
261
- },
262
- });
263
- if (this.ref) {
264
- this.ref.dispatchEvent(submitSuccessEvent);
265
- if (submitSuccessEvent.defaultPrevented) {
266
- return [2 /*return*/];
267
- }
268
- // TODO: option to turn this on/off?
269
- if (this.props.resetFormOnSubmit !== false) {
270
- this.ref.reset();
271
- }
272
- }
273
- // TODO: client side route event first that can be preventDefaulted
274
- if (this.props.successUrl) {
275
- if (this.ref) {
276
- event_1 = new CustomEvent('route', {
277
- detail: {
278
- url: this.props.successUrl,
279
- },
280
- });
281
- this.ref.dispatchEvent(event_1);
282
- if (!event_1.defaultPrevented) {
283
- location.href = this.props.successUrl;
284
- }
285
- }
286
- else {
287
- location.href = this.props.successUrl;
288
- }
289
- }
290
- }
291
- return [2 /*return*/];
292
- }
293
- });
294
- }); }, function (err) {
295
- var submitErrorEvent = new CustomEvent('submit:error', {
296
- detail: {
297
- error: err,
298
- },
299
- });
300
- if (_this.ref) {
301
- _this.ref.dispatchEvent(submitErrorEvent);
302
- if (submitErrorEvent.defaultPrevented) {
303
- return;
304
- }
305
- }
306
- // TODO: send submit error event
307
- _this.setState(__assign(__assign({}, _this.state), { responseData: err, state: 'error' }));
308
- });
309
- }
310
- } }, _this.props.attributes),
311
- _this.props.builderBlock &&
312
- _this.props.builderBlock.children &&
313
- _this.props.builderBlock.children.map(function (block, index) { return ((0, core_1.jsx)(builder_block_component_1.BuilderBlock, { key: block.id, block: block })); }),
314
- _this.submissionState === 'error' && ((0, core_1.jsx)(builder_blocks_component_1.BuilderBlocks, { dataPath: "errorMessage", blocks: _this.props.errorMessage })),
315
- _this.submissionState === 'sending' && ((0, core_1.jsx)(builder_blocks_component_1.BuilderBlocks, { dataPath: "sendingMessage", blocks: _this.props.sendingMessage })),
316
- _this.submissionState === 'error' && _this.state.responseData && (
317
- // TODO: tag to edit
318
- (0, core_1.jsx)("pre", { className: "builder-form-error-text", css: { padding: 10, color: 'red', textAlign: 'center' } }, JSON.stringify(_this.state.responseData, null, 2))),
319
- _this.submissionState === 'success' && ((0, core_1.jsx)(builder_blocks_component_1.BuilderBlocks, { dataPath: "successMessage", blocks: _this.props.successMessage }))))); }));
320
- };
321
- return FormComponent;
322
- }(react_1.default.Component));
323
- exports.Form = (0, with_builder_1.withBuilder)(FormComponent, {
324
- name: 'Form:Form',
325
- // editableTags: ['builder-form-error']
326
- defaults: {
327
- responsiveStyles: {
328
- large: {
329
- marginTop: '15px',
330
- paddingBottom: '15px',
331
- },
332
- },
333
- },
334
- image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fef36d2a846134910b64b88e6d18c5ca5',
335
- inputs: [
336
- {
337
- name: 'sendSubmissionsTo',
338
- type: 'string',
339
- // TODO: save to builder data and user can download as csv
340
- // TODO: easy for mode too or computed add/remove fields form mode
341
- // so you can edit details and high level mode at same time...
342
- // Later - more integrations like mailchimp
343
- // /api/v1/form-submit?to=mailchimp
344
- enum: [
345
- {
346
- label: 'Send to email',
347
- value: 'email',
348
- helperText: 'Send form submissions to the email address of your choosing',
349
- },
350
- {
351
- label: 'Custom',
352
- value: 'custom',
353
- helperText: 'Handle where the form requests go manually with a little code, e.g. to your own custom backend',
354
- },
355
- ],
356
- defaultValue: 'email',
357
- },
358
- {
359
- name: 'sendSubmissionsToEmail',
360
- type: 'string',
361
- required: true,
362
- defaultValue: 'your@email.com',
363
- showIf: 'options.get("sendSubmissionsTo") === "email"',
364
- },
365
- {
366
- name: 'sendWithJs',
367
- type: 'boolean',
368
- helperText: 'Set to false to use basic html form action',
369
- defaultValue: true,
370
- showIf: 'options.get("sendSubmissionsTo") === "custom"',
371
- },
372
- {
373
- name: 'name',
374
- type: 'string',
375
- defaultValue: 'My form',
376
- // advanced: true
377
- },
378
- {
379
- name: 'action',
380
- type: 'string',
381
- helperText: 'URL to send the form data to',
382
- showIf: 'options.get("sendSubmissionsTo") === "custom"',
383
- },
384
- {
385
- name: 'contentType',
386
- type: 'string',
387
- defaultValue: JSON_CONTENT_TYPE,
388
- advanced: true,
389
- // TODO: do automatically if file input
390
- enum: [JSON_CONTENT_TYPE, MULTIPART_CONTENT_TYPE, ENCODED_CONTENT_TYPE],
391
- showIf: 'options.get("sendSubmissionsTo") === "custom" && options.get("sendWithJs") === true',
392
- },
393
- {
394
- name: 'method',
395
- type: 'string',
396
- showIf: 'options.get("sendSubmissionsTo") === "custom"',
397
- defaultValue: 'POST',
398
- advanced: true,
399
- },
400
- {
401
- name: 'previewState',
402
- type: 'string',
403
- // TODO: persist: false flag
404
- enum: ['unsubmitted', 'sending', 'success', 'error'],
405
- defaultValue: 'unsubmitted',
406
- helperText: 'Choose a state to edit, e.g. choose "success" to show what users see on success and edit the message',
407
- showIf: 'options.get("sendSubmissionsTo") !== "zapier" && options.get("sendWithJs") === true',
408
- },
409
- {
410
- name: 'successUrl',
411
- type: 'url',
412
- helperText: 'Optional URL to redirect the user to on form submission success',
413
- showIf: 'options.get("sendSubmissionsTo") !== "zapier" && options.get("sendWithJs") === true',
414
- },
415
- {
416
- name: 'resetFormOnSubmit',
417
- type: 'boolean',
418
- showIf: function (options) {
419
- return options.get('sendSubmissionsTo') === 'custom' && options.get('sendWithJs') === true;
420
- },
421
- advanced: true,
422
- },
423
- {
424
- name: 'successMessage',
425
- type: 'uiBlocks',
426
- hideFromUI: true,
427
- defaultValue: [
428
- {
429
- '@type': '@builder.io/sdk:Element',
430
- responsiveStyles: {
431
- large: {
432
- marginTop: '10px',
433
- },
434
- },
435
- component: {
436
- name: 'Text',
437
- options: {
438
- text: '<span>Thanks!</span>',
439
- },
440
- },
441
- },
442
- ],
443
- },
444
- {
445
- name: 'validate',
446
- type: 'boolean',
447
- defaultValue: true,
448
- advanced: true,
449
- },
450
- {
451
- name: 'errorMessagePath',
452
- type: 'text',
453
- advanced: true,
454
- helperText: 'Path to where to get the error message from in a JSON response to display to the user, e.g. "error.message" for a response like { "error": { "message": "this username is taken" }}',
455
- },
456
- {
457
- name: 'errorMessage',
458
- type: 'uiBlocks',
459
- hideFromUI: true,
460
- defaultValue: [
461
- {
462
- '@type': '@builder.io/sdk:Element',
463
- responsiveStyles: {
464
- large: {
465
- marginTop: '10px',
466
- },
467
- },
468
- bindings: {
469
- 'component.options.text': 'state.formErrorMessage || block.component.options.text',
470
- },
471
- component: {
472
- name: 'Text',
473
- options: {
474
- // TODO: how pull in API message
475
- text: '<span>Form submission error :( Please check your answers and try again</span>',
476
- },
477
- },
478
- },
479
- ],
480
- },
481
- {
482
- name: 'sendingMessage',
483
- type: 'uiBlocks',
484
- hideFromUI: true,
485
- defaultValue: [
486
- {
487
- '@type': '@builder.io/sdk:Element',
488
- responsiveStyles: {
489
- large: {
490
- marginTop: '10px',
491
- },
492
- },
493
- component: {
494
- name: 'Text',
495
- options: {
496
- // TODO: how pull in API message
497
- text: '<span>Sending...</span>',
498
- },
499
- },
500
- },
501
- ],
502
- },
503
- __assign(__assign({ name: 'customHeaders', type: 'map' }, {
504
- valueType: {
505
- type: 'string',
506
- },
507
- }), { advanced: true, showIf: 'options.get("sendSubmissionsTo") === "custom" && options.get("sendWithJs") === true' }),
508
- // TODO: custom headers or any fetch options
509
- // TODO: json vs serialized (i.e. send on client or not)
510
- // TODO: success/fail stuff
511
- ],
512
- noWrap: true,
513
- // TODO: defaultChildren with two inputs and submit button
514
- canHaveChildren: true,
515
- defaultChildren: [
516
- {
517
- '@type': '@builder.io/sdk:Element',
518
- responsiveStyles: {
519
- large: {
520
- marginTop: '10px',
521
- },
522
- },
523
- component: {
524
- name: 'Text',
525
- options: {
526
- text: '<span>Enter your name</span>',
527
- },
528
- },
529
- },
530
- {
531
- '@type': '@builder.io/sdk:Element',
532
- responsiveStyles: {
533
- large: {
534
- marginTop: '10px',
535
- },
536
- },
537
- component: {
538
- name: 'Form:Input',
539
- options: {
540
- name: 'name',
541
- placeholder: 'Jane Doe',
542
- },
543
- },
544
- },
545
- {
546
- '@type': '@builder.io/sdk:Element',
547
- responsiveStyles: {
548
- large: {
549
- marginTop: '10px',
550
- },
551
- },
552
- component: {
553
- name: 'Text',
554
- options: {
555
- text: '<span>Enter your email</span>',
556
- },
557
- },
558
- },
559
- {
560
- '@type': '@builder.io/sdk:Element',
561
- responsiveStyles: {
562
- large: {
563
- marginTop: '10px',
564
- },
565
- },
566
- component: {
567
- name: 'Form:Input',
568
- options: {
569
- name: 'email',
570
- placeholder: 'jane@doe.com',
571
- },
572
- },
573
- },
574
- {
575
- '@type': '@builder.io/sdk:Element',
576
- responsiveStyles: {
577
- large: {
578
- marginTop: '10px',
579
- },
580
- },
581
- component: {
582
- name: 'Form:SubmitButton',
583
- options: {
584
- text: 'Submit',
585
- },
586
- },
587
- },
588
- ],
589
- });
590
- //# sourceMappingURL=Form.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../../../src/blocks/forms/Form.tsx"],"names":[],"mappings":"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"}