@builder.io/mitosis 0.4.0 → 0.4.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 (196) hide show
  1. package/dist/src/constants/media-sizes.js +4 -5
  2. package/dist/src/generators/alpine/generate.js +114 -132
  3. package/dist/src/generators/alpine/render-mount-hook.js +8 -5
  4. package/dist/src/generators/alpine/render-update-hooks.js +13 -13
  5. package/dist/src/generators/angular/helpers.js +19 -9
  6. package/dist/src/generators/angular/index.js +599 -584
  7. package/dist/src/generators/builder.js +200 -165
  8. package/dist/src/generators/context/angular.js +32 -26
  9. package/dist/src/generators/context/helpers/context-with-symbol-key.js +25 -21
  10. package/dist/src/generators/context/qwik.js +21 -21
  11. package/dist/src/generators/context/react.js +22 -22
  12. package/dist/src/generators/context/rsc.js +20 -22
  13. package/dist/src/generators/context/solid.js +22 -22
  14. package/dist/src/generators/context/svelte.js +33 -28
  15. package/dist/src/generators/context/vue.js +1 -1
  16. package/dist/src/generators/helpers/context.js +6 -13
  17. package/dist/src/generators/helpers/functions.js +8 -8
  18. package/dist/src/generators/helpers/on-mount.js +9 -5
  19. package/dist/src/generators/helpers/rsc.js +7 -9
  20. package/dist/src/generators/html.js +995 -534
  21. package/dist/src/generators/liquid.js +81 -79
  22. package/dist/src/generators/lit/collect-class-string.js +10 -12
  23. package/dist/src/generators/lit/generate.js +204 -159
  24. package/dist/src/generators/marko/generate.js +193 -183
  25. package/dist/src/generators/minify.js +5 -9
  26. package/dist/src/generators/mitosis.js +135 -134
  27. package/dist/src/generators/qwik/component-generator.js +159 -154
  28. package/dist/src/generators/qwik/component.js +51 -81
  29. package/dist/src/generators/qwik/directives.js +68 -84
  30. package/dist/src/generators/qwik/helpers/add-prevent-default.js +6 -7
  31. package/dist/src/generators/qwik/helpers/convert-method-to-function.js +38 -38
  32. package/dist/src/generators/qwik/helpers/handlers.js +16 -25
  33. package/dist/src/generators/qwik/helpers/stable-inject.js +7 -8
  34. package/dist/src/generators/qwik/helpers/stable-serialize.js +7 -8
  35. package/dist/src/generators/qwik/helpers/state.js +36 -43
  36. package/dist/src/generators/qwik/helpers/styles.js +19 -40
  37. package/dist/src/generators/qwik/jsx.js +63 -75
  38. package/dist/src/generators/qwik/src-generator.js +134 -167
  39. package/dist/src/generators/react/blocks.js +122 -127
  40. package/dist/src/generators/react/generator.js +314 -259
  41. package/dist/src/generators/react/helpers.js +23 -28
  42. package/dist/src/generators/react/state.js +34 -51
  43. package/dist/src/generators/react-native/index.js +72 -84
  44. package/dist/src/generators/react-native/sanitize-react-native-block-styles.js +14 -26
  45. package/dist/src/generators/rsc.js +30 -36
  46. package/dist/src/generators/solid/blocks.js +46 -43
  47. package/dist/src/generators/solid/helpers/styles.js +11 -11
  48. package/dist/src/generators/solid/index.js +199 -190
  49. package/dist/src/generators/solid/state/helpers.js +76 -90
  50. package/dist/src/generators/solid/state/signals.js +30 -37
  51. package/dist/src/generators/solid/state/state.js +35 -48
  52. package/dist/src/generators/solid/state/store.js +40 -46
  53. package/dist/src/generators/stencil/collect-class-string.js +10 -12
  54. package/dist/src/generators/stencil/generate.js +158 -145
  55. package/dist/src/generators/svelte/blocks.js +146 -144
  56. package/dist/src/generators/svelte/helpers.js +10 -17
  57. package/dist/src/generators/svelte/svelte.js +321 -287
  58. package/dist/src/generators/swift-ui.js +162 -101
  59. package/dist/src/generators/taro.js +32 -36
  60. package/dist/src/generators/template.js +71 -74
  61. package/dist/src/generators/vue/blocks.js +116 -107
  62. package/dist/src/generators/vue/compositionApi.js +67 -50
  63. package/dist/src/generators/vue/helpers.js +71 -96
  64. package/dist/src/generators/vue/optionsApi.js +134 -105
  65. package/dist/src/generators/vue/vue.js +210 -207
  66. package/dist/src/helpers/babel-transform.js +40 -63
  67. package/dist/src/helpers/bindings.js +4 -12
  68. package/dist/src/helpers/camel-case.js +4 -5
  69. package/dist/src/helpers/capitalize.js +1 -1
  70. package/dist/src/helpers/component-file-extensions.js +23 -35
  71. package/dist/src/helpers/create-mitosis-component.js +22 -26
  72. package/dist/src/helpers/create-mitosis-context.js +5 -12
  73. package/dist/src/helpers/create-mitosis-node.js +10 -12
  74. package/dist/src/helpers/dash-case.js +2 -2
  75. package/dist/src/helpers/dedent.js +18 -22
  76. package/dist/src/helpers/event-handlers.js +1 -1
  77. package/dist/src/helpers/fast-clone.js +1 -1
  78. package/dist/src/helpers/filter-empty-text-nodes.js +2 -2
  79. package/dist/src/helpers/generic-format.js +7 -8
  80. package/dist/src/helpers/get-bindings.js +4 -4
  81. package/dist/src/helpers/get-components-used.js +3 -3
  82. package/dist/src/helpers/get-components.js +4 -4
  83. package/dist/src/helpers/get-custom-imports.js +10 -12
  84. package/dist/src/helpers/get-prop-functions.js +7 -8
  85. package/dist/src/helpers/get-props-ref.js +8 -8
  86. package/dist/src/helpers/get-props.js +12 -13
  87. package/dist/src/helpers/get-refs.js +4 -4
  88. package/dist/src/helpers/get-state-object-string.js +42 -61
  89. package/dist/src/helpers/get-state-used.js +7 -8
  90. package/dist/src/helpers/get-styles.js +6 -6
  91. package/dist/src/helpers/getters-to-functions.js +8 -12
  92. package/dist/src/helpers/handle-missing-state.js +3 -3
  93. package/dist/src/helpers/has-bindings-text.js +6 -6
  94. package/dist/src/helpers/has-component.js +4 -4
  95. package/dist/src/helpers/has-props.js +3 -3
  96. package/dist/src/helpers/has-stateful-dom.js +4 -4
  97. package/dist/src/helpers/has.js +3 -3
  98. package/dist/src/helpers/indent.js +2 -3
  99. package/dist/src/helpers/is-children.js +4 -5
  100. package/dist/src/helpers/is-component.js +1 -1
  101. package/dist/src/helpers/is-html-attribute.js +2 -11
  102. package/dist/src/helpers/is-mitosis-node.js +1 -1
  103. package/dist/src/helpers/is-root-text-node.js +1 -1
  104. package/dist/src/helpers/is-upper-case.js +1 -1
  105. package/dist/src/helpers/is-valid-attribute-name.js +1 -1
  106. package/dist/src/helpers/json.js +2 -2
  107. package/dist/src/helpers/map-refs.js +29 -40
  108. package/dist/src/helpers/merge-options.js +20 -31
  109. package/dist/src/helpers/mitosis-imports.js +5 -6
  110. package/dist/src/helpers/nodes/for.js +2 -3
  111. package/dist/src/helpers/nullable.js +1 -3
  112. package/dist/src/helpers/on-event.js +32 -36
  113. package/dist/src/helpers/output.js +4 -5
  114. package/dist/src/helpers/parse-node.js +13 -5
  115. package/dist/src/helpers/parsers.js +10 -14
  116. package/dist/src/helpers/patterns.js +6 -8
  117. package/dist/src/helpers/plugins/process-code/index.js +114 -120
  118. package/dist/src/helpers/plugins/process-signals.js +114 -125
  119. package/dist/src/helpers/plugins/process-target-blocks.js +18 -20
  120. package/dist/src/helpers/process-http-requests.js +8 -4
  121. package/dist/src/helpers/remove-surrounding-block.js +2 -2
  122. package/dist/src/helpers/render-imports.js +99 -111
  123. package/dist/src/helpers/replace-identifiers.js +40 -49
  124. package/dist/src/helpers/replace-new-lines-in-strings.js +3 -3
  125. package/dist/src/helpers/signals/signals.js +27 -35
  126. package/dist/src/helpers/slots.js +11 -20
  127. package/dist/src/helpers/state.js +1 -3
  128. package/dist/src/helpers/strip-meta-properties.js +6 -6
  129. package/dist/src/helpers/strip-state-and-props-refs.js +21 -32
  130. package/dist/src/helpers/styles/collect-css.js +39 -44
  131. package/dist/src/helpers/styles/collect-styled-components.js +30 -28
  132. package/dist/src/helpers/styles/helpers.js +23 -29
  133. package/dist/src/helpers/trace-reference-to-module-path.js +3 -4
  134. package/dist/src/helpers/transform-state-setters.js +16 -19
  135. package/dist/src/helpers/traverse-nodes.js +2 -2
  136. package/dist/src/helpers/try-prettier-format.js +3 -3
  137. package/dist/src/helpers/typescript-project.js +25 -25
  138. package/dist/src/helpers/typescript.js +1 -3
  139. package/dist/src/modules/plugins.js +20 -28
  140. package/dist/src/parsers/angular.js +49 -57
  141. package/dist/src/parsers/builder/builder.js +448 -343
  142. package/dist/src/parsers/builder/helpers.js +10 -10
  143. package/dist/src/parsers/context.js +15 -17
  144. package/dist/src/parsers/jsx/ast.js +11 -11
  145. package/dist/src/parsers/jsx/component-types.js +22 -32
  146. package/dist/src/parsers/jsx/context.js +12 -12
  147. package/dist/src/parsers/jsx/element-parser.js +43 -54
  148. package/dist/src/parsers/jsx/exports.js +12 -14
  149. package/dist/src/parsers/jsx/function-parser.js +108 -119
  150. package/dist/src/parsers/jsx/helpers.js +11 -13
  151. package/dist/src/parsers/jsx/hooks/helpers.js +14 -16
  152. package/dist/src/parsers/jsx/hooks/index.js +34 -44
  153. package/dist/src/parsers/jsx/hooks/use-target.js +27 -27
  154. package/dist/src/parsers/jsx/imports.js +7 -17
  155. package/dist/src/parsers/jsx/jsx.js +92 -91
  156. package/dist/src/parsers/jsx/props-types.js +8 -10
  157. package/dist/src/parsers/jsx/props.js +15 -23
  158. package/dist/src/parsers/jsx/signals.js +28 -29
  159. package/dist/src/parsers/jsx/state.d.ts +2 -4
  160. package/dist/src/parsers/jsx/state.js +59 -93
  161. package/dist/src/parsers/svelte/css/index.js +1 -1
  162. package/dist/src/parsers/svelte/helpers/bindings.js +18 -19
  163. package/dist/src/parsers/svelte/helpers/children.js +5 -6
  164. package/dist/src/parsers/svelte/helpers/expressions.js +7 -9
  165. package/dist/src/parsers/svelte/helpers/hooks.js +2 -2
  166. package/dist/src/parsers/svelte/helpers/post-process.js +49 -70
  167. package/dist/src/parsers/svelte/helpers/string.js +5 -5
  168. package/dist/src/parsers/svelte/html/actions.js +17 -10
  169. package/dist/src/parsers/svelte/html/each.js +11 -16
  170. package/dist/src/parsers/svelte/html/element.js +68 -78
  171. package/dist/src/parsers/svelte/html/fragment.js +3 -3
  172. package/dist/src/parsers/svelte/html/if-else.js +11 -18
  173. package/dist/src/parsers/svelte/html/index.js +14 -14
  174. package/dist/src/parsers/svelte/html/mustache-tag.js +5 -5
  175. package/dist/src/parsers/svelte/html/slot.js +5 -5
  176. package/dist/src/parsers/svelte/html/text.js +7 -14
  177. package/dist/src/parsers/svelte/index.js +23 -72
  178. package/dist/src/parsers/svelte/instance/context.js +17 -17
  179. package/dist/src/parsers/svelte/instance/expressions.js +2 -2
  180. package/dist/src/parsers/svelte/instance/functions.js +35 -30
  181. package/dist/src/parsers/svelte/instance/hooks.js +4 -5
  182. package/dist/src/parsers/svelte/instance/imports.js +11 -21
  183. package/dist/src/parsers/svelte/instance/index.js +22 -22
  184. package/dist/src/parsers/svelte/instance/properties.js +11 -23
  185. package/dist/src/parsers/svelte/instance/reactive.js +11 -11
  186. package/dist/src/parsers/svelte/instance/references.js +13 -13
  187. package/dist/src/parsers/svelte/instance/statements.js +3 -3
  188. package/dist/src/parsers/svelte/module/index.js +14 -26
  189. package/dist/src/parsers/svelte/typescript/index.js +27 -36
  190. package/dist/src/plugins/compile-away-builder-components.js +223 -156
  191. package/dist/src/plugins/compile-away-components.js +13 -21
  192. package/dist/src/plugins/map-styles.js +7 -7
  193. package/dist/src/symbols/symbol-processor.js +44 -62
  194. package/dist/src/targets.js +19 -19
  195. package/dist/src/types/mitosis-node.js +1 -1
  196. package/package.json +1 -1
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -33,62 +22,56 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
22
  __setModuleDefault(result, mod);
34
23
  return result;
35
24
  };
36
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
- if (ar || !(i in from)) {
39
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
- ar[i] = from[i];
41
- }
42
- }
43
- return to.concat(ar || Array.prototype.slice.call(from));
44
- };
45
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
46
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
47
27
  };
48
28
  Object.defineProperty(exports, "__esModule", { value: true });
49
29
  exports.builderContentToMitosisComponent = exports.isBuilderElement = exports.createBuilderElement = exports.convertExportDefaultToReturn = exports.extractStateHook = exports.getMetaFromBlock = exports.builderElementToMitosisNode = exports.symbolBlocksAsChildren = void 0;
50
- var symbol_processor_1 = require("../../symbols/symbol-processor");
51
- var babel = __importStar(require("@babel/core"));
52
- var generator_1 = __importDefault(require("@babel/generator"));
53
- var json5_1 = __importDefault(require("json5"));
54
- var lodash_1 = require("lodash");
55
- var legacy_1 = __importDefault(require("neotraverse/legacy"));
56
- var media_sizes_1 = require("../../constants/media-sizes");
57
- var bindings_1 = require("../../helpers/bindings");
58
- var capitalize_1 = require("../../helpers/capitalize");
59
- var create_mitosis_component_1 = require("../../helpers/create-mitosis-component");
60
- var create_mitosis_node_1 = require("../../helpers/create-mitosis-node");
61
- var fast_clone_1 = require("../../helpers/fast-clone");
62
- var parsers_1 = require("../../helpers/parsers");
63
- var jsx_1 = require("../jsx");
64
- var state_1 = require("../jsx/state");
65
- var helpers_1 = require("./helpers");
30
+ const symbol_processor_1 = require("../../symbols/symbol-processor");
31
+ const babel = __importStar(require("@babel/core"));
32
+ const generator_1 = __importDefault(require("@babel/generator"));
33
+ const json5_1 = __importDefault(require("json5"));
34
+ const lodash_1 = require("lodash");
35
+ const legacy_1 = __importDefault(require("neotraverse/legacy"));
36
+ const media_sizes_1 = require("../../constants/media-sizes");
37
+ const bindings_1 = require("../../helpers/bindings");
38
+ const capitalize_1 = require("../../helpers/capitalize");
39
+ const create_mitosis_component_1 = require("../../helpers/create-mitosis-component");
40
+ const create_mitosis_node_1 = require("../../helpers/create-mitosis-node");
41
+ const fast_clone_1 = require("../../helpers/fast-clone");
42
+ const parsers_1 = require("../../helpers/parsers");
43
+ const jsx_1 = require("../jsx");
44
+ const state_1 = require("../jsx/state");
45
+ const helpers_1 = require("./helpers");
66
46
  // Omit some superflous styles that can come from Builder's web importer
67
- var styleOmitList = [
47
+ const styleOmitList = [
68
48
  'backgroundRepeatX',
69
49
  'backgroundRepeatY',
70
50
  'backgroundPositionX',
71
51
  'backgroundPositionY',
72
52
  ];
73
- var getCssFromBlock = function (block) {
53
+ const getCssFromBlock = (block) => {
74
54
  var _a;
75
- var blockSizes = Object.keys(block.responsiveStyles || {}).filter(function (size) {
76
- return media_sizes_1.sizeNames.includes(size);
77
- });
78
- var css = {};
79
- for (var _i = 0, blockSizes_1 = blockSizes; _i < blockSizes_1.length; _i++) {
80
- var size = blockSizes_1[_i];
55
+ const blockSizes = Object.keys(block.responsiveStyles || {}).filter((size) => media_sizes_1.sizeNames.includes(size));
56
+ let css = {};
57
+ for (const size of blockSizes) {
81
58
  if (size === 'large') {
82
- css = (0, lodash_1.omit)(__assign(__assign({}, css), (_a = block.responsiveStyles) === null || _a === void 0 ? void 0 : _a.large), styleOmitList);
59
+ css = (0, lodash_1.omit)({
60
+ ...css,
61
+ ...(_a = block.responsiveStyles) === null || _a === void 0 ? void 0 : _a.large,
62
+ }, styleOmitList);
83
63
  }
84
64
  else if (block.responsiveStyles && block.responsiveStyles[size]) {
85
- var mediaQueryKey = "@media (max-width: ".concat(media_sizes_1.sizes[size].max, "px)");
86
- css[mediaQueryKey] = (0, lodash_1.omit)(__assign(__assign({}, css[mediaQueryKey]), block.responsiveStyles[size]), styleOmitList);
65
+ const mediaQueryKey = `@media (max-width: ${media_sizes_1.sizes[size].max}px)`;
66
+ css[mediaQueryKey] = (0, lodash_1.omit)({
67
+ ...css[mediaQueryKey],
68
+ ...block.responsiveStyles[size],
69
+ }, styleOmitList);
87
70
  }
88
71
  }
89
72
  return css;
90
73
  };
91
- var verifyIsValid = function (code) {
74
+ const verifyIsValid = (code) => {
92
75
  try {
93
76
  if (babel.parse(code)) {
94
77
  return { valid: true, error: null };
@@ -99,71 +82,73 @@ var verifyIsValid = function (code) {
99
82
  }
100
83
  return { valid: false, error: null };
101
84
  };
102
- var getActionBindingsFromBlock = function (block, options) {
85
+ const getActionBindingsFromBlock = (block, options) => {
103
86
  var _a;
104
- var actions = __assign(__assign({}, block.actions), (_a = block.code) === null || _a === void 0 ? void 0 : _a.actions);
105
- var bindings = {};
106
- var actionKeys = Object.keys(actions);
87
+ const actions = {
88
+ ...block.actions,
89
+ ...(_a = block.code) === null || _a === void 0 ? void 0 : _a.actions,
90
+ };
91
+ const bindings = {};
92
+ const actionKeys = Object.keys(actions);
107
93
  if (actionKeys.length) {
108
- for (var _i = 0, actionKeys_1 = actionKeys; _i < actionKeys_1.length; _i++) {
109
- var key = actionKeys_1[_i];
110
- var value = actions[key];
94
+ for (const key of actionKeys) {
95
+ const value = actions[key];
111
96
  // Skip empty values
112
97
  if (!value.trim()) {
113
98
  continue;
114
99
  }
115
- var _b = verifyIsValid(value), error = _b.error, valid = _b.valid;
100
+ const { error, valid } = verifyIsValid(value);
116
101
  if (!valid) {
117
102
  console.warn('Skipping invalid binding', error);
118
103
  continue;
119
104
  }
120
- var useKey = "on".concat((0, lodash_1.upperFirst)(key));
121
- bindings[useKey] = (0, bindings_1.createSingleBinding)({ code: "".concat(wrapBindingIfNeeded(value, options)) });
105
+ const useKey = `on${(0, lodash_1.upperFirst)(key)}`;
106
+ bindings[useKey] = (0, bindings_1.createSingleBinding)({ code: `${wrapBindingIfNeeded(value, options)}` });
122
107
  }
123
108
  }
124
109
  return bindings;
125
110
  };
126
- var getStyleStringFromBlock = function (block, options) {
111
+ const getStyleStringFromBlock = (block, options) => {
127
112
  var _a, _b;
128
- var styleBindings = {};
129
- var styleString = '';
113
+ const styleBindings = {};
114
+ let styleString = '';
130
115
  if (block.bindings) {
131
- for (var key in block.bindings) {
116
+ for (const key in block.bindings) {
132
117
  if (key.includes('style') && key.includes('.')) {
133
- var styleProperty = key.split('.')[1];
118
+ const styleProperty = key.split('.')[1];
134
119
  styleBindings[styleProperty] = convertExportDefaultToReturn(((_b = (_a = block.code) === null || _a === void 0 ? void 0 : _a.bindings) === null || _b === void 0 ? void 0 : _b[key]) || block.bindings[key]);
135
120
  }
136
121
  }
137
122
  }
138
- var styleKeys = Object.keys(styleBindings);
123
+ const styleKeys = Object.keys(styleBindings);
139
124
  if (styleKeys.length) {
140
125
  styleString = '{';
141
- styleKeys.forEach(function (key) {
126
+ styleKeys.forEach((key) => {
142
127
  // TODO: figure out how to have multiline style bindings here
143
128
  // I tried (function{binding code})() and that did not work
144
- styleString += " ".concat(key, ": ").concat((options.includeBuilderExtras
129
+ styleString += ` ${key}: ${(options.includeBuilderExtras
145
130
  ? wrapBinding(styleBindings[key])
146
131
  : styleBindings[key]
147
132
  .replace(/var _virtual_index\s*=\s*/g, '')
148
- .replace(/;*\s*return _virtual_index;*/, '')).replace(/;$/, ''), ",");
133
+ .replace(/;*\s*return _virtual_index;*/, '')).replace(/;$/, '')},`;
149
134
  });
150
135
  styleString += ' }';
151
136
  }
152
137
  return styleString;
153
138
  };
154
- var hasComponent = function (block) {
139
+ const hasComponent = (block) => {
155
140
  var _a;
156
141
  return Boolean((_a = block.component) === null || _a === void 0 ? void 0 : _a.name);
157
142
  };
158
- var hasProperties = function (block) {
143
+ const hasProperties = (block) => {
159
144
  return Boolean(block.properties && Object.keys(block.properties).length);
160
145
  };
161
- var hasBindings = function (block) {
146
+ const hasBindings = (block) => {
162
147
  return Boolean(block.bindings && Object.keys(block.bindings).length);
163
148
  };
164
- var hasStyles = function (block) {
149
+ const hasStyles = (block) => {
165
150
  if (block.responsiveStyles) {
166
- for (var key in block.responsiveStyles) {
151
+ for (const key in block.responsiveStyles) {
167
152
  if (Object.keys(block.responsiveStyles[key]).length) {
168
153
  return true;
169
154
  }
@@ -171,48 +156,53 @@ var hasStyles = function (block) {
171
156
  }
172
157
  return false;
173
158
  };
174
- var wrapBindingIfNeeded = function (value, options) {
159
+ const wrapBindingIfNeeded = (value, options) => {
175
160
  if (options.includeBuilderExtras) {
176
161
  return wrapBinding(value);
177
162
  }
178
163
  if ((value === null || value === void 0 ? void 0 : value.includes(';')) && !(value === null || value === void 0 ? void 0 : value.trim().startsWith('{'))) {
179
- return "{ ".concat(value, " }");
164
+ return `{ ${value} }`;
180
165
  }
181
166
  return value;
182
167
  };
183
- var getBlockActions = function (block, options) {
168
+ const getBlockActions = (block, options) => {
184
169
  var _a;
185
- var obj = __assign(__assign({}, block.actions), (_a = block.code) === null || _a === void 0 ? void 0 : _a.actions);
170
+ const obj = {
171
+ ...block.actions,
172
+ ...(_a = block.code) === null || _a === void 0 ? void 0 : _a.actions,
173
+ };
186
174
  if (options.includeBuilderExtras) {
187
- for (var key in obj) {
188
- var value = obj[key];
175
+ for (const key in obj) {
176
+ const value = obj[key];
189
177
  // TODO: plugin/option for for this
190
178
  obj[key] = wrapBinding(value);
191
179
  }
192
180
  }
193
181
  return obj;
194
182
  };
195
- var getBlockActionsAsBindings = function (block, options) {
196
- return (0, lodash_1.mapKeys)(getBlockActions(block, options), function (value, key) { return "on".concat((0, capitalize_1.capitalize)(key)); });
183
+ const getBlockActionsAsBindings = (block, options) => {
184
+ return (0, lodash_1.mapKeys)(getBlockActions(block, options), (value, key) => `on${(0, capitalize_1.capitalize)(key)}`);
197
185
  };
198
- var isValidBindingKey = function (str) {
186
+ const isValidBindingKey = (str) => {
199
187
  return Boolean(str && /^[a-z0-9_\.]$/i.test(str));
200
188
  };
201
- var getBlockNonActionBindings = function (block, options) {
189
+ const getBlockNonActionBindings = (block, options) => {
202
190
  var _a;
203
- var _b;
204
- var obj = __assign(__assign({}, block.bindings), (_b = block.code) === null || _b === void 0 ? void 0 : _b.bindings);
191
+ const obj = {
192
+ ...block.bindings,
193
+ ...(_a = block.code) === null || _a === void 0 ? void 0 : _a.bindings,
194
+ };
205
195
  if (options.includeBuilderExtras) {
206
- for (var key in obj) {
196
+ for (const key in obj) {
207
197
  if (!isValidBindingKey(key)) {
208
198
  console.warn('Skipping invalid binding key:', key);
209
199
  continue;
210
200
  }
211
- var value = obj[key];
201
+ const value = obj[key];
212
202
  // TODO: verify the bindings are valid
213
- var _c = verifyIsValid(value), valid = _c.valid, error = _c.error;
203
+ let { valid, error } = verifyIsValid(value);
214
204
  if (!valid) {
215
- (_a = verifyIsValid("function () { ".concat(value, " }")), valid = _a.valid, error = _a.error);
205
+ ({ valid, error } = verifyIsValid(`function () { ${value} }`));
216
206
  }
217
207
  if (valid) {
218
208
  obj[key] = wrapBinding(value);
@@ -232,128 +222,162 @@ function wrapBinding(value) {
232
222
  if (!(value.includes(';') || value.match(/(^|\s|;)return[^a-z0-9A-Z]/))) {
233
223
  return value;
234
224
  }
235
- return "(() => {\n try { ".concat((0, parsers_1.isExpression)(value) ? 'return ' : '').concat(value, " }\n catch (err) {\n console.warn('Builder code error', err);\n }\n })()");
225
+ return `(() => {
226
+ try { ${(0, parsers_1.isExpression)(value) ? 'return ' : ''}${value} }
227
+ catch (err) {
228
+ console.warn('Builder code error', err);
229
+ }
230
+ })()`;
236
231
  }
237
- var getBlockBindings = function (block, options) {
238
- var obj = __assign(__assign({}, getBlockNonActionBindings(block, options)), getBlockActionsAsBindings(block, options));
232
+ const getBlockBindings = (block, options) => {
233
+ const obj = {
234
+ ...getBlockNonActionBindings(block, options),
235
+ ...getBlockActionsAsBindings(block, options),
236
+ };
239
237
  return obj;
240
238
  };
241
239
  // add back if this direction (blocks as children not prop) is desired
242
240
  exports.symbolBlocksAsChildren = false;
243
- var componentMappers = __assign(__assign({ Symbol: function (block, options) {
241
+ const componentMappers = {
242
+ Symbol(block, options) {
244
243
  var _a, _b;
245
- var css = getCssFromBlock(block);
246
- var styleString = getStyleStringFromBlock(block, options);
247
- var actionBindings = getActionBindingsFromBlock(block, options);
248
- var bindings = __assign(__assign(__assign({ symbol: (0, bindings_1.createSingleBinding)({
244
+ let css = getCssFromBlock(block);
245
+ const styleString = getStyleStringFromBlock(block, options);
246
+ const actionBindings = getActionBindingsFromBlock(block, options);
247
+ const bindings = {
248
+ symbol: (0, bindings_1.createSingleBinding)({
249
249
  code: JSON.stringify({
250
250
  data: (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.symbol.data,
251
251
  content: (_b = block.component) === null || _b === void 0 ? void 0 : _b.options.symbol.content,
252
252
  }),
253
- }) }, actionBindings), (styleString && {
254
- style: (0, bindings_1.createSingleBinding)({ code: styleString }),
255
- })), (Object.keys(css).length && {
256
- css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
257
- }));
253
+ }),
254
+ ...actionBindings,
255
+ ...(styleString && {
256
+ style: (0, bindings_1.createSingleBinding)({ code: styleString }),
257
+ }),
258
+ ...(Object.keys(css).length && {
259
+ css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
260
+ }),
261
+ };
258
262
  return (0, create_mitosis_node_1.createMitosisNode)({
259
263
  name: 'Symbol',
260
264
  bindings: bindings,
261
265
  meta: (0, exports.getMetaFromBlock)(block, options),
262
266
  });
263
- } }, (!exports.symbolBlocksAsChildren
264
- ? {}
265
- : {
266
- Symbol: function (block, options) {
267
- var _a, _b, _c;
268
- var css = getCssFromBlock(block);
269
- var styleString = getStyleStringFromBlock(block, options);
270
- var actionBindings = getActionBindingsFromBlock(block, options);
271
- var content = (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.symbol.content;
272
- var blocks = (_b = content === null || content === void 0 ? void 0 : content.data) === null || _b === void 0 ? void 0 : _b.blocks;
273
- if (blocks) {
274
- content.data.blocks = null;
275
- }
276
- return (0, create_mitosis_node_1.createMitosisNode)({
277
- name: 'Symbol',
278
- bindings: __assign(__assign(__assign({
279
- // TODO: this doesn't use all attrs
280
- symbol: (0, bindings_1.createSingleBinding)({
281
- code: JSON.stringify({
282
- data: (_c = block.component) === null || _c === void 0 ? void 0 : _c.options.symbol.content.data,
283
- content: content, // TODO: convert to <SymbolInternal>...</SymbolInternal> so can be parsed
267
+ },
268
+ ...(!exports.symbolBlocksAsChildren
269
+ ? {}
270
+ : {
271
+ Symbol(block, options) {
272
+ var _a, _b, _c;
273
+ let css = getCssFromBlock(block);
274
+ const styleString = getStyleStringFromBlock(block, options);
275
+ const actionBindings = getActionBindingsFromBlock(block, options);
276
+ const content = (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.symbol.content;
277
+ const blocks = (_b = content === null || content === void 0 ? void 0 : content.data) === null || _b === void 0 ? void 0 : _b.blocks;
278
+ if (blocks) {
279
+ content.data.blocks = null;
280
+ }
281
+ return (0, create_mitosis_node_1.createMitosisNode)({
282
+ name: 'Symbol',
283
+ bindings: {
284
+ // TODO: this doesn't use all attrs
285
+ symbol: (0, bindings_1.createSingleBinding)({
286
+ code: JSON.stringify({
287
+ data: (_c = block.component) === null || _c === void 0 ? void 0 : _c.options.symbol.content.data,
288
+ content: content, // TODO: convert to <SymbolInternal>...</SymbolInternal> so can be parsed
289
+ }),
284
290
  }),
285
- }) }, actionBindings), (styleString && {
286
- style: (0, bindings_1.createSingleBinding)({ code: styleString }),
287
- })), (Object.keys(css).length && {
288
- css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
289
- })),
290
- meta: (0, exports.getMetaFromBlock)(block, options),
291
- children: !blocks
292
- ? []
293
- : [
294
- (0, create_mitosis_node_1.createMitosisNode)({
295
- // TODO: the Builder generator side of this converting to blocks
296
- name: 'BuilderSymbolContents',
297
- children: blocks.map(function (item) { return (0, exports.builderElementToMitosisNode)(item, options); }),
291
+ ...actionBindings,
292
+ ...(styleString && {
293
+ style: (0, bindings_1.createSingleBinding)({ code: styleString }),
298
294
  }),
299
- ],
300
- });
301
- },
302
- })), { Columns: function (block, options) {
295
+ ...(Object.keys(css).length && {
296
+ css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
297
+ }),
298
+ },
299
+ meta: (0, exports.getMetaFromBlock)(block, options),
300
+ children: !blocks
301
+ ? []
302
+ : [
303
+ (0, create_mitosis_node_1.createMitosisNode)({
304
+ // TODO: the Builder generator side of this converting to blocks
305
+ name: 'BuilderSymbolContents',
306
+ children: blocks.map((item) => (0, exports.builderElementToMitosisNode)(item, options)),
307
+ }),
308
+ ],
309
+ });
310
+ },
311
+ }),
312
+ Columns(block, options) {
303
313
  var _a, _b;
304
- var node = (0, exports.builderElementToMitosisNode)(block, options, {
314
+ const node = (0, exports.builderElementToMitosisNode)(block, options, {
305
315
  skipMapper: true,
306
316
  });
307
317
  delete node.bindings.columns;
308
318
  delete node.properties.columns;
309
319
  node.children =
310
- ((_b = (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.columns) === null || _b === void 0 ? void 0 : _b.map(function (col, index) {
320
+ ((_b = (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.columns) === null || _b === void 0 ? void 0 : _b.map((col, index) => {
311
321
  var _a;
312
- return (0, create_mitosis_node_1.createMitosisNode)(__assign(__assign({ name: 'Column', bindings: {
322
+ return (0, create_mitosis_node_1.createMitosisNode)({
323
+ name: 'Column',
324
+ bindings: {
313
325
  width: { code: (_a = col.width) === null || _a === void 0 ? void 0 : _a.toString() },
314
- } }, (col.link && {
315
- properties: {
316
- link: col.link,
317
326
  },
318
- })), { meta: (0, exports.getMetaFromBlock)(block, options), children: col.blocks.map(function (col) { return (0, exports.builderElementToMitosisNode)(col, options); }) }));
327
+ ...(col.link && {
328
+ properties: {
329
+ link: col.link,
330
+ },
331
+ }),
332
+ meta: (0, exports.getMetaFromBlock)(block, options),
333
+ children: col.blocks.map((col) => (0, exports.builderElementToMitosisNode)(col, options)),
334
+ });
319
335
  })) || [];
320
336
  return node;
321
- }, 'Shopify:For': function (block, options) {
337
+ },
338
+ 'Shopify:For': (block, options) => {
322
339
  return (0, create_mitosis_node_1.createMitosisNode)({
323
340
  name: 'For',
324
341
  bindings: {
325
342
  each: (0, bindings_1.createSingleBinding)({
326
- code: "state.".concat(block.component.options.repeat.collection),
343
+ code: `state.${block.component.options.repeat.collection}`,
327
344
  }),
328
345
  },
329
346
  scope: {
330
347
  forName: block.component.options.repeat.itemName,
331
- indexName: '$index',
332
348
  },
333
349
  meta: (0, exports.getMetaFromBlock)(block, options),
334
- children: (block.children || []).map(function (child) { return (0, exports.builderElementToMitosisNode)(child, options); }),
350
+ children: (block.children || []).map((child) => (0, exports.builderElementToMitosisNode)(updateBindings(child, 'state.$index', 'index'), options)),
335
351
  });
336
- }, Text: function (block, options) {
352
+ },
353
+ Text: (block, options) => {
337
354
  var _a;
338
- var _b;
339
- var css = getCssFromBlock(block);
340
- var styleString = getStyleStringFromBlock(block, options);
341
- var actionBindings = getActionBindingsFromBlock(block, options);
342
- var blockBindings = __assign(__assign({}, mapBuilderBindingsToMitosisBindingWithCode(block.bindings)), mapBuilderBindingsToMitosisBindingWithCode((_b = block.code) === null || _b === void 0 ? void 0 : _b.bindings));
343
- var bindings = __assign(__assign(__assign(__assign({}, (0, lodash_1.omitBy)(blockBindings, function (value, key) {
344
- if (key === 'component.options.text') {
345
- return true;
346
- }
347
- if (key && key.includes('style')) {
348
- return true;
349
- }
350
- return false;
351
- })), actionBindings), (styleString && {
352
- style: { code: styleString },
353
- })), (Object.keys(css).length && {
354
- css: { code: JSON.stringify(css) },
355
- }));
356
- var properties = __assign({}, block.properties);
355
+ let css = getCssFromBlock(block);
356
+ const styleString = getStyleStringFromBlock(block, options);
357
+ const actionBindings = getActionBindingsFromBlock(block, options);
358
+ const blockBindings = {
359
+ ...mapBuilderBindingsToMitosisBindingWithCode(block.bindings),
360
+ ...mapBuilderBindingsToMitosisBindingWithCode((_a = block.code) === null || _a === void 0 ? void 0 : _a.bindings),
361
+ };
362
+ const bindings = {
363
+ ...(0, lodash_1.omitBy)(blockBindings, (value, key) => {
364
+ if (key === 'component.options.text') {
365
+ return true;
366
+ }
367
+ if (key && key.includes('style')) {
368
+ return true;
369
+ }
370
+ return false;
371
+ }),
372
+ ...actionBindings,
373
+ ...(styleString && {
374
+ style: { code: styleString },
375
+ }),
376
+ ...(Object.keys(css).length && {
377
+ css: { code: JSON.stringify(css) },
378
+ }),
379
+ };
380
+ const properties = { ...block.properties };
357
381
  if (options.includeBuilderExtras && block.id)
358
382
  properties['builder-id'] = block.id;
359
383
  if (block.class)
@@ -361,41 +385,47 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
361
385
  if (block.layerName) {
362
386
  properties.$name = block.layerName;
363
387
  }
364
- var innerBindings = {};
365
- var componentOptionsText = blockBindings['component.options.text'];
388
+ const innerBindings = {};
389
+ const componentOptionsText = blockBindings['component.options.text'];
366
390
  if (componentOptionsText) {
367
391
  innerBindings[options.preserveTextBlocks ? 'innerHTML' : '_text'] = (0, bindings_1.createSingleBinding)({
368
392
  code: wrapBindingIfNeeded(componentOptionsText.code, options),
369
393
  });
370
394
  }
371
- var text = block.component.options.text;
372
- var innerProperties = innerBindings._text
395
+ const text = block.component.options.text;
396
+ const innerProperties = innerBindings._text
373
397
  ? {}
374
- : (_a = {},
375
- _a[options.preserveTextBlocks ? 'innerHTML' : '_text'] = text,
376
- _a);
398
+ : {
399
+ [options.preserveTextBlocks ? 'innerHTML' : '_text']: text,
400
+ };
377
401
  if (options.preserveTextBlocks) {
378
402
  return (0, create_mitosis_node_1.createMitosisNode)({
379
403
  name: block.tagName || 'div',
380
- bindings: bindings,
381
- properties: properties,
404
+ bindings,
405
+ properties,
382
406
  meta: (0, exports.getMetaFromBlock)(block, options),
383
407
  children: [
384
408
  (0, create_mitosis_node_1.createMitosisNode)({
385
409
  bindings: innerBindings,
386
- properties: __assign(__assign({}, innerProperties), { class: 'builder-text' }),
410
+ properties: {
411
+ ...innerProperties,
412
+ class: 'builder-text',
413
+ },
387
414
  }),
388
415
  ],
389
416
  });
390
417
  }
391
418
  // Disabling for now
392
- var assumeLink = false;
393
- var finalProperties = __assign(__assign({}, (assumeLink
394
- ? {
395
- href: '...',
396
- }
397
- : {})), properties);
398
- var finalTagname = block.tagName || (assumeLink ? 'a' : 'div');
419
+ const assumeLink = false;
420
+ const finalProperties = {
421
+ ...(assumeLink
422
+ ? {
423
+ href: '...',
424
+ }
425
+ : {}),
426
+ ...properties,
427
+ };
428
+ const finalTagname = block.tagName || (assumeLink ? 'a' : 'div');
399
429
  if ((block.tagName && block.tagName !== 'div') ||
400
430
  hasStyles(block) ||
401
431
  hasComponent(block) ||
@@ -403,7 +433,7 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
403
433
  hasProperties(block)) {
404
434
  return (0, create_mitosis_node_1.createMitosisNode)({
405
435
  name: finalTagname,
406
- bindings: bindings,
436
+ bindings,
407
437
  properties: finalProperties,
408
438
  meta: (0, exports.getMetaFromBlock)(block, options),
409
439
  children: [
@@ -416,52 +446,57 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
416
446
  }
417
447
  return (0, create_mitosis_node_1.createMitosisNode)({
418
448
  name: finalTagname,
419
- properties: __assign(__assign(__assign({}, finalProperties), properties), innerProperties),
420
- bindings: __assign(__assign({}, bindings), innerBindings),
449
+ properties: {
450
+ ...finalProperties,
451
+ ...properties,
452
+ ...innerProperties,
453
+ },
454
+ bindings: {
455
+ ...bindings,
456
+ ...innerBindings,
457
+ },
421
458
  meta: (0, exports.getMetaFromBlock)(block, options),
422
459
  });
423
- } });
424
- var builderElementToMitosisNode = function (block, options, _internalOptions) {
425
- var _a;
426
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
427
- if (_internalOptions === void 0) { _internalOptions = {}; }
428
- var _x = options.includeSpecialBindings, includeSpecialBindings = _x === void 0 ? true : _x;
429
- if (((_b = block.component) === null || _b === void 0 ? void 0 : _b.name) === 'Core:Fragment') {
460
+ },
461
+ };
462
+ const builderElementToMitosisNode = (block, options, _internalOptions = {}) => {
463
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
464
+ const { includeSpecialBindings = true } = options;
465
+ if (((_a = block.component) === null || _a === void 0 ? void 0 : _a.name) === 'Core:Fragment') {
430
466
  block.component.name = 'Fragment';
431
467
  }
432
- var forBinding = (_c = block.repeat) === null || _c === void 0 ? void 0 : _c.collection;
468
+ const forBinding = (_b = block.repeat) === null || _b === void 0 ? void 0 : _b.collection;
433
469
  if (forBinding) {
434
- var isFragment = ((_d = block.component) === null || _d === void 0 ? void 0 : _d.name) === 'Fragment';
470
+ const isFragment = ((_c = block.component) === null || _c === void 0 ? void 0 : _c.name) === 'Fragment';
435
471
  // TODO: handle having other things, like a repeat too
436
472
  if (isFragment) {
437
473
  return (0, create_mitosis_node_1.createMitosisNode)({
438
474
  name: 'For',
439
475
  bindings: {
440
476
  each: (0, bindings_1.createSingleBinding)({
441
- code: wrapBindingIfNeeded((_e = block.repeat) === null || _e === void 0 ? void 0 : _e.collection, options),
477
+ code: wrapBindingIfNeeded((_d = block.repeat) === null || _d === void 0 ? void 0 : _d.collection, options),
442
478
  }),
443
479
  },
444
480
  scope: {
445
- forName: ((_f = block.repeat) === null || _f === void 0 ? void 0 : _f.itemName) || 'item',
446
- indexName: '$index',
481
+ forName: ((_e = block.repeat) === null || _e === void 0 ? void 0 : _e.itemName) || 'item',
447
482
  },
448
483
  meta: (0, exports.getMetaFromBlock)(block, options),
449
- children: ((_g = block.children) === null || _g === void 0 ? void 0 : _g.map(function (child) { return (0, exports.builderElementToMitosisNode)(child, options); })) || [],
484
+ children: ((_f = block.children) === null || _f === void 0 ? void 0 : _f.map((child) => (0, exports.builderElementToMitosisNode)(updateBindings(child, 'state.$index', 'index'), options))) || [],
450
485
  });
451
486
  }
452
487
  else {
453
- var useBlock = ((_h = block.component) === null || _h === void 0 ? void 0 : _h.name) === 'Core:Fragment' && ((_j = block.children) === null || _j === void 0 ? void 0 : _j.length) === 1
488
+ const useBlock = ((_g = block.component) === null || _g === void 0 ? void 0 : _g.name) === 'Core:Fragment' && ((_h = block.children) === null || _h === void 0 ? void 0 : _h.length) === 1
454
489
  ? block.children[0]
455
490
  : block;
456
491
  return (0, create_mitosis_node_1.createMitosisNode)({
457
492
  name: 'For',
458
493
  bindings: {
459
494
  each: (0, bindings_1.createSingleBinding)({
460
- code: wrapBindingIfNeeded((_k = block.repeat) === null || _k === void 0 ? void 0 : _k.collection, options),
495
+ code: wrapBindingIfNeeded((_j = block.repeat) === null || _j === void 0 ? void 0 : _j.collection, options),
461
496
  }),
462
497
  },
463
498
  scope: {
464
- forName: ((_l = block.repeat) === null || _l === void 0 ? void 0 : _l.itemName) || 'item',
499
+ forName: ((_k = block.repeat) === null || _k === void 0 ? void 0 : _k.itemName) || 'item',
465
500
  indexName: '$index',
466
501
  },
467
502
  meta: (0, exports.getMetaFromBlock)(block, options),
@@ -471,77 +506,92 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
471
506
  }
472
507
  // Special builder properties
473
508
  // TODO: support hide and repeat
474
- var blockBindings = getBlockBindings(block, options);
475
- var code = undefined;
509
+ const blockBindings = getBlockBindings(block, options);
510
+ let code = undefined;
476
511
  if (blockBindings.show) {
477
512
  code = wrapBindingIfNeeded(blockBindings.show, options);
478
513
  }
479
514
  else if (blockBindings.hide) {
480
- code = "!(".concat(wrapBindingIfNeeded(blockBindings.hide, options), ")");
515
+ code = `!(${wrapBindingIfNeeded(blockBindings.hide, options)})`;
481
516
  }
482
517
  if (code) {
483
- var isFragment = ((_m = block.component) === null || _m === void 0 ? void 0 : _m.name) === 'Fragment';
518
+ const isFragment = ((_l = block.component) === null || _l === void 0 ? void 0 : _l.name) === 'Fragment';
484
519
  // TODO: handle having other things, like a repeat too
485
520
  if (isFragment) {
486
521
  return (0, create_mitosis_node_1.createMitosisNode)({
487
522
  name: 'Show',
488
- bindings: { when: (0, bindings_1.createSingleBinding)({ code: code }) },
523
+ bindings: { when: (0, bindings_1.createSingleBinding)({ code }) },
489
524
  meta: (0, exports.getMetaFromBlock)(block, options),
490
- children: ((_o = block.children) === null || _o === void 0 ? void 0 : _o.map(function (child) { return (0, exports.builderElementToMitosisNode)(child, options); })) || [],
525
+ children: ((_m = block.children) === null || _m === void 0 ? void 0 : _m.map((child) => (0, exports.builderElementToMitosisNode)(child, options))) || [],
491
526
  });
492
527
  }
493
528
  else {
494
529
  return (0, create_mitosis_node_1.createMitosisNode)({
495
530
  name: 'Show',
496
- bindings: { when: (0, bindings_1.createSingleBinding)({ code: code }) },
531
+ bindings: { when: (0, bindings_1.createSingleBinding)({ code }) },
497
532
  meta: (0, exports.getMetaFromBlock)(block, options),
498
533
  children: [
499
- (0, exports.builderElementToMitosisNode)(__assign(__assign({}, block), { code: __assign(__assign({}, block.code), { bindings: (0, lodash_1.omit)(blockBindings, 'show', 'hide') }), bindings: (0, lodash_1.omit)(blockBindings, 'show', 'hide') }), options),
534
+ (0, exports.builderElementToMitosisNode)({
535
+ ...block,
536
+ code: {
537
+ ...block.code,
538
+ bindings: (0, lodash_1.omit)(blockBindings, 'show', 'hide'),
539
+ },
540
+ bindings: (0, lodash_1.omit)(blockBindings, 'show', 'hide'),
541
+ }, options),
500
542
  ],
501
543
  });
502
544
  }
503
545
  }
504
- var mapper = !_internalOptions.skipMapper && block.component && componentMappers[block.component.name];
546
+ const mapper = !_internalOptions.skipMapper && block.component && componentMappers[block.component.name];
505
547
  if (mapper) {
506
548
  return mapper(block, options);
507
549
  }
508
- var bindings = {};
509
- var children = [];
510
- var slots = {};
550
+ const bindings = {};
551
+ const children = [];
552
+ const slots = {};
511
553
  if (blockBindings) {
512
- for (var key in blockBindings) {
554
+ for (const key in blockBindings) {
513
555
  if (key === 'css') {
514
556
  continue;
515
557
  }
516
- var useKey = key.replace(/^(component\.)?options\./, '');
558
+ const useKey = key.replace(/^(component\.)?options\./, '');
517
559
  if (!useKey.includes('.')) {
518
560
  bindings[useKey] = (0, bindings_1.createSingleBinding)({
519
561
  code: blockBindings[key].code || blockBindings[key],
520
562
  });
521
563
  }
522
564
  else if (useKey.includes('style') && useKey.includes('.')) {
523
- var styleProperty = useKey.split('.')[1];
565
+ const styleProperty = useKey.split('.')[1];
524
566
  // TODO: add me in
525
567
  // styleBindings[styleProperty] =
526
568
  // block.code?.bindings?.[key] || blockBindings[key];
527
569
  }
528
570
  }
529
571
  }
530
- var properties = __assign(__assign(__assign({}, block.properties), (options.includeBuilderExtras && (_a = {},
531
- _a['builder-id'] = block.id,
532
- _a))), (options.includeBuilderExtras && getBuilderPropsForSymbol(block)));
572
+ const properties = {
573
+ ...block.properties,
574
+ ...(options.includeBuilderExtras && {
575
+ ['builder-id']: block.id,
576
+ // class: `builder-block ${block.id} ${block.properties?.class || ''}`,
577
+ }),
578
+ ...(options.includeBuilderExtras && getBuilderPropsForSymbol(block)),
579
+ };
533
580
  if (block.layerName) {
534
581
  properties.$name = block.layerName;
535
582
  }
536
583
  if (block.linkUrl) {
537
584
  properties.href = block.linkUrl;
538
585
  }
539
- if ((_p = block.component) === null || _p === void 0 ? void 0 : _p.options) {
540
- for (var key in block.component.options) {
541
- var value = block.component.options[key];
542
- var valueIsArrayOfBuilderElements = Array.isArray(value) && value.every(exports.isBuilderElement);
543
- var transformBldrElementToMitosisNode = function (item) {
544
- var node = (0, exports.builderElementToMitosisNode)(item, __assign(__assign({}, options), { includeSpecialBindings: false }));
586
+ if ((_o = block.component) === null || _o === void 0 ? void 0 : _o.options) {
587
+ for (const key in block.component.options) {
588
+ const value = block.component.options[key];
589
+ const valueIsArrayOfBuilderElements = Array.isArray(value) && value.every(exports.isBuilderElement);
590
+ const transformBldrElementToMitosisNode = (item) => {
591
+ const node = (0, exports.builderElementToMitosisNode)(item, {
592
+ ...options,
593
+ includeSpecialBindings: false,
594
+ });
545
595
  return node;
546
596
  };
547
597
  if ((0, exports.isBuilderElement)(value)) {
@@ -551,8 +601,8 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
551
601
  properties[key] = value;
552
602
  }
553
603
  else if (valueIsArrayOfBuilderElements) {
554
- var childrenElements = value
555
- .filter(function (item) {
604
+ const childrenElements = value
605
+ .filter((item) => {
556
606
  var _a, _b;
557
607
  if ((_b = (_a = item.properties) === null || _a === void 0 ? void 0 : _a.src) === null || _b === void 0 ? void 0 : _b.includes('/api/v1/pixel')) {
558
608
  return false;
@@ -570,41 +620,52 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
570
620
  if (block.component && block.tagName && block.tagName !== 'div') {
571
621
  properties.builderTag = block.tagName;
572
622
  }
573
- var css = getCssFromBlock(block);
574
- var styleString = getStyleStringFromBlock(block, options);
575
- var actionBindings = getActionBindingsFromBlock(block, options);
576
- for (var binding in blockBindings) {
623
+ const css = getCssFromBlock(block);
624
+ let styleString = getStyleStringFromBlock(block, options);
625
+ const actionBindings = getActionBindingsFromBlock(block, options);
626
+ for (const binding in blockBindings) {
577
627
  if (binding.startsWith('component.options') || binding.startsWith('options')) {
578
- var value = blockBindings[binding];
579
- var useKey = binding.replace(/^(component\.options\.|options\.)/, '');
628
+ const value = blockBindings[binding];
629
+ const useKey = binding.replace(/^(component\.options\.|options\.)/, '');
580
630
  bindings[useKey] = (0, bindings_1.createSingleBinding)({ code: value });
581
631
  }
582
632
  }
583
- var node = (0, create_mitosis_node_1.createMitosisNode)({
584
- name: ((_r = (_q = block.component) === null || _q === void 0 ? void 0 : _q.name) === null || _r === void 0 ? void 0 : _r.replace(/[^a-z0-9]/gi, '')) ||
633
+ const node = (0, create_mitosis_node_1.createMitosisNode)({
634
+ name: ((_q = (_p = block.component) === null || _p === void 0 ? void 0 : _p.name) === null || _q === void 0 ? void 0 : _q.replace(/[^a-z0-9]/gi, '')) ||
585
635
  block.tagName ||
586
636
  (block.linkUrl ? 'a' : 'div'),
587
- properties: __assign(__assign(__assign({}, (block.component && includeSpecialBindings && { $tagName: block.tagName })), (block.class && { class: block.class })), properties),
588
- bindings: __assign(__assign(__assign(__assign({}, bindings), actionBindings), (styleString && {
589
- style: (0, bindings_1.createSingleBinding)({ code: styleString }),
590
- })), (css &&
591
- Object.keys(css).length && {
592
- css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
593
- })),
594
- slots: __assign({}, slots),
637
+ properties: {
638
+ ...(block.component && includeSpecialBindings && { $tagName: block.tagName }),
639
+ ...(block.class && { class: block.class }),
640
+ ...properties,
641
+ },
642
+ bindings: {
643
+ ...bindings,
644
+ ...actionBindings,
645
+ ...(styleString && {
646
+ style: (0, bindings_1.createSingleBinding)({ code: styleString }),
647
+ }),
648
+ ...(css &&
649
+ Object.keys(css).length && {
650
+ css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
651
+ }),
652
+ },
653
+ slots: {
654
+ ...slots,
655
+ },
595
656
  meta: (0, exports.getMetaFromBlock)(block, options),
596
657
  });
597
658
  // Has single text node child
598
- var firstChild = (_s = block.children) === null || _s === void 0 ? void 0 : _s[0];
599
- if (((_t = block.children) === null || _t === void 0 ? void 0 : _t.length) === 1 &&
600
- ((_u = firstChild === null || firstChild === void 0 ? void 0 : firstChild.component) === null || _u === void 0 ? void 0 : _u.name) === 'Text' &&
659
+ const firstChild = (_r = block.children) === null || _r === void 0 ? void 0 : _r[0];
660
+ if (((_s = block.children) === null || _s === void 0 ? void 0 : _s.length) === 1 &&
661
+ ((_t = firstChild === null || firstChild === void 0 ? void 0 : firstChild.component) === null || _t === void 0 ? void 0 : _t.name) === 'Text' &&
601
662
  !options.preserveTextBlocks) {
602
- var textProperties = (0, exports.builderElementToMitosisNode)(firstChild, options);
603
- var parsedNodeCss = json5_1.default.parse(((_v = node.bindings.css) === null || _v === void 0 ? void 0 : _v.code) || '{}');
604
- var parsedTextCss = json5_1.default.parse(((_w = textProperties.bindings.css) === null || _w === void 0 ? void 0 : _w.code) || '{}');
605
- var mergedCss = combineStyles(parsedNodeCss, parsedTextCss);
663
+ const textProperties = (0, exports.builderElementToMitosisNode)(firstChild, options);
664
+ const parsedNodeCss = json5_1.default.parse(((_u = node.bindings.css) === null || _u === void 0 ? void 0 : _u.code) || '{}');
665
+ const parsedTextCss = json5_1.default.parse(((_v = textProperties.bindings.css) === null || _v === void 0 ? void 0 : _v.code) || '{}');
666
+ const mergedCss = combineStyles(parsedNodeCss, parsedTextCss);
606
667
  // Don't merge if text has styling that matters
607
- var doNotMerge =
668
+ const doNotMerge =
608
669
  // Text has flex alignment
609
670
  ['end', 'right', 'center'].includes(parsedTextCss.alignSelf) ||
610
671
  // Text has specific styling
@@ -613,42 +674,51 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
613
674
  parsedTextCss.background;
614
675
  if (!doNotMerge) {
615
676
  return (0, lodash_1.merge)({}, textProperties, node, {
616
- bindings: __assign({}, (Object.keys(mergedCss).length && {
617
- css: { code: json5_1.default.stringify(mergedCss) },
618
- })),
677
+ bindings: {
678
+ ...(Object.keys(mergedCss).length && {
679
+ css: { code: json5_1.default.stringify(mergedCss) },
680
+ }),
681
+ },
619
682
  });
620
683
  }
621
684
  }
622
- node.children = children.concat((block.children || []).map(function (item) { return (0, exports.builderElementToMitosisNode)(item, options); }));
685
+ node.children = children.concat((block.children || []).map((item) => (0, exports.builderElementToMitosisNode)(item, options)));
623
686
  return node;
624
687
  };
625
688
  exports.builderElementToMitosisNode = builderElementToMitosisNode;
626
- var getBuilderPropsForSymbol = function (block) {
689
+ const getBuilderPropsForSymbol = (block) => {
627
690
  var _a, _b;
628
691
  if (((_a = block.children) === null || _a === void 0 ? void 0 : _a.length) === 1) {
629
- var child = block.children[0];
630
- var builderContentId = (_b = child.properties) === null || _b === void 0 ? void 0 : _b['builder-content-id'];
692
+ const child = block.children[0];
693
+ const builderContentId = (_b = child.properties) === null || _b === void 0 ? void 0 : _b['builder-content-id'];
631
694
  if (builderContentId) {
632
695
  return { 'builder-content-id': builderContentId };
633
696
  }
634
697
  }
635
698
  return undefined;
636
699
  };
637
- var getMetaFromBlock = function (block, options) {
638
- var _a = options.includeMeta, includeMeta = _a === void 0 ? false : _a;
700
+ const getMetaFromBlock = (block, options) => {
701
+ const { includeMeta = false } = options;
639
702
  return includeMeta
640
- ? __assign({ 'builder-id': block.id }, block.meta) : {};
703
+ ? {
704
+ 'builder-id': block.id,
705
+ ...block.meta,
706
+ }
707
+ : {};
641
708
  };
642
709
  exports.getMetaFromBlock = getMetaFromBlock;
643
- var getHooks = function (content) {
710
+ const getHooks = (content) => {
644
711
  var _a, _b;
645
- var code = convertExportDefaultToReturn(((_a = content.data) === null || _a === void 0 ? void 0 : _a.tsCode) || ((_b = content.data) === null || _b === void 0 ? void 0 : _b.jsCode) || '');
712
+ const code = convertExportDefaultToReturn(((_a = content.data) === null || _a === void 0 ? void 0 : _a.tsCode) || ((_b = content.data) === null || _b === void 0 ? void 0 : _b.jsCode) || '');
646
713
  try {
647
- return (0, jsx_1.parseJsx)("\n export default function TemporaryComponent() {\n ".concat(
714
+ return (0, jsx_1.parseJsx)(`
715
+ export default function TemporaryComponent() {
716
+ ${
648
717
  // Mitosis parser looks for useStore to be a variable assignment,
649
718
  // but in Builder that's not how it works. For now do a replace to
650
719
  // easily resuse the same parsing code as this is the only difference
651
- code.replace("useStore(", "var state = useStore("), "\n }"));
720
+ code.replace(`useStore(`, `var state = useStore(`)}
721
+ }`);
652
722
  }
653
723
  catch (err) {
654
724
  console.warn('Could not parse js code as a Mitosis component body', err, code);
@@ -661,18 +731,18 @@ var getHooks = function (content) {
661
731
  * code extracted
662
732
  */
663
733
  function extractStateHook(code) {
664
- var types = babel.types;
665
- var state = {};
666
- var body = (0, parsers_1.parseCode)(code);
667
- var newBody = body.slice();
668
- for (var i = 0; i < body.length; i++) {
669
- var statement = body[i];
734
+ const { types } = babel;
735
+ let state = {};
736
+ const body = (0, parsers_1.parseCode)(code);
737
+ const newBody = body.slice();
738
+ for (let i = 0; i < body.length; i++) {
739
+ const statement = body[i];
670
740
  if (types.isExpressionStatement(statement)) {
671
- var expression = statement.expression;
741
+ const { expression } = statement;
672
742
  // Check for useStore
673
743
  if (types.isCallExpression(expression)) {
674
744
  if (types.isIdentifier(expression.callee) && expression.callee.name === 'useStore') {
675
- var arg = expression.arguments[0];
745
+ const arg = expression.arguments[0];
676
746
  if (types.isObjectExpression(arg)) {
677
747
  state = (0, state_1.parseStateObjectToMitosisState)(arg);
678
748
  newBody.splice(i, 1);
@@ -683,7 +753,7 @@ function extractStateHook(code) {
683
753
  expression.callee.object.name === 'Object') {
684
754
  if (types.isIdentifier(expression.callee.property) &&
685
755
  expression.callee.property.name === 'assign') {
686
- var arg = expression.arguments[1];
756
+ const arg = expression.arguments[1];
687
757
  if (types.isObjectExpression(arg)) {
688
758
  state = (0, state_1.parseStateObjectToMitosisState)(arg);
689
759
  newBody.splice(i, 1);
@@ -694,17 +764,17 @@ function extractStateHook(code) {
694
764
  }
695
765
  }
696
766
  }
697
- var newCode = (0, generator_1.default)(types.program(newBody)).code || '';
698
- return { code: newCode, state: state };
767
+ const newCode = (0, generator_1.default)(types.program(newBody)).code || '';
768
+ return { code: newCode, state };
699
769
  }
700
770
  exports.extractStateHook = extractStateHook;
701
771
  function convertExportDefaultToReturn(code) {
702
772
  try {
703
- var types = babel.types;
704
- var body = (0, parsers_1.parseCode)(code);
705
- var newBody = body.slice();
706
- for (var i = 0; i < body.length; i++) {
707
- var statement = body[i];
773
+ const { types } = babel;
774
+ const body = (0, parsers_1.parseCode)(code);
775
+ const newBody = body.slice();
776
+ for (let i = 0; i < body.length; i++) {
777
+ const statement = body[i];
708
778
  if (types.isExportDefaultDeclaration(statement)) {
709
779
  if (types.isCallExpression(statement.declaration) ||
710
780
  types.isExpression(statement.declaration)) {
@@ -715,7 +785,7 @@ function convertExportDefaultToReturn(code) {
715
785
  return (0, generator_1.default)(types.program(newBody)).code || '';
716
786
  }
717
787
  catch (e) {
718
- var error = e;
788
+ const error = e;
719
789
  if (error.code === 'BABEL_PARSE_ERROR') {
720
790
  return code;
721
791
  }
@@ -725,11 +795,32 @@ function convertExportDefaultToReturn(code) {
725
795
  }
726
796
  }
727
797
  exports.convertExportDefaultToReturn = convertExportDefaultToReturn;
798
+ const updateBindings = (node, from, to) => {
799
+ (0, legacy_1.default)(node).forEach(function (item) {
800
+ if ((0, exports.isBuilderElement)(item)) {
801
+ if (item.bindings) {
802
+ for (const [key, value] of Object.entries(item.bindings)) {
803
+ if (value === null || value === void 0 ? void 0 : value.includes(from)) {
804
+ item.bindings[key] = value.replaceAll(from, to);
805
+ }
806
+ }
807
+ }
808
+ if (item.actions) {
809
+ for (const [key, value] of Object.entries(item.actions)) {
810
+ if (value === null || value === void 0 ? void 0 : value.includes(from)) {
811
+ item.actions[key] = value.replaceAll(from, to);
812
+ }
813
+ }
814
+ }
815
+ }
816
+ });
817
+ return node;
818
+ };
728
819
  // TODO: maybe this should be part of the builder -> Mitosis part
729
820
  function extractSymbols(json) {
730
821
  var _a, _b, _c, _d;
731
- var subComponents = [];
732
- var symbols = [];
822
+ const subComponents = [];
823
+ const symbols = [];
733
824
  (0, legacy_1.default)(json).forEach(function (item) {
734
825
  var _a;
735
826
  if ((0, exports.isBuilderElement)(item)) {
@@ -738,14 +829,13 @@ function extractSymbols(json) {
738
829
  }
739
830
  }
740
831
  });
741
- var symbolsSortedDeepestFirst = (0, lodash_1.sortBy)(symbols, function (info) { return info.depth; })
832
+ const symbolsSortedDeepestFirst = (0, lodash_1.sortBy)(symbols, (info) => info.depth)
742
833
  .reverse()
743
- .map(function (el) { return el.element; });
744
- var symbolsFound = 0;
745
- for (var _i = 0, symbolsSortedDeepestFirst_1 = symbolsSortedDeepestFirst; _i < symbolsSortedDeepestFirst_1.length; _i++) {
746
- var el = symbolsSortedDeepestFirst_1[_i];
747
- var symbolValue = (_b = (_a = el.component) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.symbol;
748
- var elContent = symbolValue === null || symbolValue === void 0 ? void 0 : symbolValue.content;
834
+ .map((el) => el.element);
835
+ let symbolsFound = 0;
836
+ for (const el of symbolsSortedDeepestFirst) {
837
+ const symbolValue = (_b = (_a = el.component) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.symbol;
838
+ const elContent = symbolValue === null || symbolValue === void 0 ? void 0 : symbolValue.content;
749
839
  if (!elContent) {
750
840
  console.warn('Symbol missing content', el.id);
751
841
  if ((_c = el.component) === null || _c === void 0 ? void 0 : _c.options.symbol.content) {
@@ -753,7 +843,7 @@ function extractSymbols(json) {
753
843
  }
754
844
  continue;
755
845
  }
756
- var componentName = 'Symbol' + ++symbolsFound;
846
+ const componentName = 'Symbol' + ++symbolsFound;
757
847
  el.component.name = componentName;
758
848
  if ((_d = el.component) === null || _d === void 0 ? void 0 : _d.options.symbol.content) {
759
849
  delete el.component.options.symbol.content;
@@ -765,18 +855,19 @@ function extractSymbols(json) {
765
855
  }
766
856
  return {
767
857
  content: json,
768
- subComponents: subComponents,
858
+ subComponents,
769
859
  };
770
860
  }
771
- var createBuilderElement = function (options) { return (__assign({ '@type': '@builder.io/sdk:Element', id: 'builder-' + (0, symbol_processor_1.hashCodeAsString)(options) }, options)); };
861
+ const createBuilderElement = (options) => ({
862
+ '@type': '@builder.io/sdk:Element',
863
+ id: 'builder-' + (0, symbol_processor_1.hashCodeAsString)(options),
864
+ ...options,
865
+ });
772
866
  exports.createBuilderElement = createBuilderElement;
773
- var isBuilderElement = function (el) {
774
- return (el === null || el === void 0 ? void 0 : el['@type']) === '@builder.io/sdk:Element';
775
- };
867
+ const isBuilderElement = (el) => (el === null || el === void 0 ? void 0 : el['@type']) === '@builder.io/sdk:Element';
776
868
  exports.isBuilderElement = isBuilderElement;
777
- var builderContentPartToMitosisComponent = function (builderContent, options) {
869
+ const builderContentPartToMitosisComponent = (builderContent, options = {}) => {
778
870
  var _a, _b, _c, _d, _e, _f, _g, _h;
779
- if (options === void 0) { options = {}; }
780
871
  builderContent = (0, fast_clone_1.fastClone)(builderContent);
781
872
  (0, legacy_1.default)(builderContent).forEach(function (elem) {
782
873
  var _a, _b;
@@ -785,7 +876,7 @@ var builderContentPartToMitosisComponent = function (builderContent, options) {
785
876
  // blocks can contain arbitrary HTML
786
877
  // List taken from https://developer.mozilla.org/en-US/docs/Glossary/Empty_element
787
878
  // TODO: Maybe this should be using something more robust than a regular expression
788
- var voidElemRegex = /(<area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr[^>]+)>/gm;
879
+ const voidElemRegex = /(<area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr[^>]+)>/gm;
789
880
  try {
790
881
  if (((_a = elem.component) === null || _a === void 0 ? void 0 : _a.name) === 'Text') {
791
882
  elem.component.options.text = elem.component.options.text.replace(voidElemRegex, '$1 />');
@@ -804,54 +895,67 @@ var builderContentPartToMitosisComponent = function (builderContent, options) {
804
895
  }
805
896
  }
806
897
  });
807
- var _j = extractStateHook(((_a = builderContent === null || builderContent === void 0 ? void 0 : builderContent.data) === null || _a === void 0 ? void 0 : _a.tsCode) || ((_b = builderContent === null || builderContent === void 0 ? void 0 : builderContent.data) === null || _b === void 0 ? void 0 : _b.jsCode) || ''), state = _j.state, code = _j.code;
808
- var customCode = convertExportDefaultToReturn(code);
809
- var parsed = getHooks(builderContent);
810
- var parsedState = (parsed === null || parsed === void 0 ? void 0 : parsed.state) || {};
811
- var mitosisState = Object.keys(parsedState).length > 0
898
+ const { state, code } = extractStateHook(((_a = builderContent === null || builderContent === void 0 ? void 0 : builderContent.data) === null || _a === void 0 ? void 0 : _a.tsCode) || ((_b = builderContent === null || builderContent === void 0 ? void 0 : builderContent.data) === null || _b === void 0 ? void 0 : _b.jsCode) || '');
899
+ const customCode = convertExportDefaultToReturn(code);
900
+ const parsed = getHooks(builderContent);
901
+ const parsedState = (parsed === null || parsed === void 0 ? void 0 : parsed.state) || {};
902
+ const mitosisState = Object.keys(parsedState).length > 0
812
903
  ? parsedState
813
- : __assign(__assign({}, state), (0, helpers_1.mapBuilderContentStateToMitosisState)(((_c = builderContent.data) === null || _c === void 0 ? void 0 : _c.state) || {}));
814
- var componentJson = (0, create_mitosis_component_1.createMitosisComponent)({
815
- meta: __assign({ useMetadata: {
904
+ : {
905
+ ...state,
906
+ ...(0, helpers_1.mapBuilderContentStateToMitosisState)(((_c = builderContent.data) === null || _c === void 0 ? void 0 : _c.state) || {}),
907
+ };
908
+ const componentJson = (0, create_mitosis_component_1.createMitosisComponent)({
909
+ meta: {
910
+ useMetadata: {
816
911
  httpRequests: (_d = builderContent.data) === null || _d === void 0 ? void 0 : _d.httpRequests,
817
- } }, (((_e = builderContent.data) === null || _e === void 0 ? void 0 : _e.cssCode) && { cssCode: builderContent.data.cssCode })),
818
- inputs: (_g = (_f = builderContent.data) === null || _f === void 0 ? void 0 : _f.inputs) === null || _g === void 0 ? void 0 : _g.map(function (input) { return ({
912
+ },
913
+ ...(((_e = builderContent.data) === null || _e === void 0 ? void 0 : _e.cssCode) && { cssCode: builderContent.data.cssCode }),
914
+ },
915
+ inputs: (_g = (_f = builderContent.data) === null || _f === void 0 ? void 0 : _f.inputs) === null || _g === void 0 ? void 0 : _g.map((input) => ({
819
916
  name: input.name,
820
917
  defaultValue: input.defaultValue,
821
- }); }),
918
+ })),
822
919
  state: mitosisState,
823
920
  hooks: {
824
- onMount: __spreadArray([], ((parsed === null || parsed === void 0 ? void 0 : parsed.hooks.onMount.length)
825
- ? parsed === null || parsed === void 0 ? void 0 : parsed.hooks.onMount
826
- : customCode
827
- ? [{ code: customCode }]
828
- : []), true),
921
+ onMount: [
922
+ ...((parsed === null || parsed === void 0 ? void 0 : parsed.hooks.onMount.length)
923
+ ? parsed === null || parsed === void 0 ? void 0 : parsed.hooks.onMount
924
+ : customCode
925
+ ? [{ code: customCode }]
926
+ : []),
927
+ ],
829
928
  },
830
929
  children: (((_h = builderContent.data) === null || _h === void 0 ? void 0 : _h.blocks) || [])
831
- .filter(function (item) {
930
+ .filter((item) => {
832
931
  var _a, _b;
833
932
  if ((_b = (_a = item.properties) === null || _a === void 0 ? void 0 : _a.src) === null || _b === void 0 ? void 0 : _b.includes('/api/v1/pixel')) {
834
933
  return false;
835
934
  }
836
935
  return true;
837
936
  })
838
- .map(function (item) { return (0, exports.builderElementToMitosisNode)(item, options); }),
937
+ .map((item) => (0, exports.builderElementToMitosisNode)(item, options)),
839
938
  });
840
939
  return componentJson;
841
940
  };
842
- var builderContentToMitosisComponent = function (builderContent, options) {
843
- if (options === void 0) { options = {}; }
941
+ const builderContentToMitosisComponent = (builderContent, options = {}) => {
844
942
  builderContent = (0, fast_clone_1.fastClone)(builderContent);
845
- var separated = extractSymbols(builderContent);
846
- var componentJson = __assign(__assign({}, builderContentPartToMitosisComponent(separated.content, options)), { subComponents: separated.subComponents.map(function (item) { return (__assign(__assign({}, builderContentPartToMitosisComponent(item.content, options)), { name: item.name })); }) });
943
+ const separated = extractSymbols(builderContent);
944
+ const componentJson = {
945
+ ...builderContentPartToMitosisComponent(separated.content, options),
946
+ subComponents: separated.subComponents.map((item) => ({
947
+ ...builderContentPartToMitosisComponent(item.content, options),
948
+ name: item.name,
949
+ })),
950
+ };
847
951
  return componentJson;
848
952
  };
849
953
  exports.builderContentToMitosisComponent = builderContentToMitosisComponent;
850
954
  function mapBuilderBindingsToMitosisBindingWithCode(bindings) {
851
- var result = {};
955
+ const result = {};
852
956
  bindings &&
853
- Object.keys(bindings).forEach(function (key) {
854
- var value = bindings[key];
957
+ Object.keys(bindings).forEach((key) => {
958
+ const value = bindings[key];
855
959
  if (typeof value === 'string') {
856
960
  result[key] = (0, bindings_1.createSingleBinding)({ code: value });
857
961
  }
@@ -865,29 +969,30 @@ function mapBuilderBindingsToMitosisBindingWithCode(bindings) {
865
969
  return result;
866
970
  }
867
971
  function removeFalsey(obj) {
868
- return (0, lodash_1.omitBy)(obj, function (value) { return !value || value === '0' || value === '0px' || value === 'none' || value === '0%'; });
972
+ return (0, lodash_1.omitBy)(obj, (value) => !value || value === '0' || value === '0px' || value === 'none' || value === '0%');
869
973
  }
870
974
  function combineStyles(parent, child) {
871
- var marginStyles = ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'];
872
- var paddingStyles = ['paddingTop', 'paddingBottom', 'paddingLeft', 'paddingRight'];
873
- var distanceStylesToCombine = __spreadArray(__spreadArray([], paddingStyles, true), marginStyles, true);
874
- var merged = __assign(__assign({}, (0, lodash_1.omit)(removeFalsey(child), distanceStylesToCombine)), removeFalsey(parent));
875
- for (var _i = 0, distanceStylesToCombine_1 = distanceStylesToCombine; _i < distanceStylesToCombine_1.length; _i++) {
876
- var key = distanceStylesToCombine_1[_i];
975
+ const marginStyles = ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'];
976
+ const paddingStyles = ['paddingTop', 'paddingBottom', 'paddingLeft', 'paddingRight'];
977
+ const distanceStylesToCombine = [...paddingStyles, ...marginStyles];
978
+ const merged = {
979
+ ...(0, lodash_1.omit)(removeFalsey(child), distanceStylesToCombine),
980
+ ...removeFalsey(parent),
981
+ };
982
+ for (const key of distanceStylesToCombine) {
877
983
  // Funky things happen if different alignment
878
984
  if (parent.alignSelf !== child.alignSelf && (key === 'marginLeft' || key === 'marginRight')) {
879
985
  merged[key] = parent[key];
880
986
  continue;
881
987
  }
882
- var childNum = parseFloat(child[key]) || 0;
883
- var parentKeyToUse = key.replace(/margin/, 'padding');
884
- var parentNum = parseFloat(parent[parentKeyToUse]) || 0;
988
+ const childNum = parseFloat(child[key]) || 0;
989
+ const parentKeyToUse = key.replace(/margin/, 'padding');
990
+ const parentNum = parseFloat(parent[parentKeyToUse]) || 0;
885
991
  if (childNum || parentNum) {
886
- merged[parentKeyToUse] = "".concat(childNum + parentNum, "px");
992
+ merged[parentKeyToUse] = `${childNum + parentNum}px`;
887
993
  }
888
994
  }
889
- for (var _a = 0, _b = Object.entries(merged); _a < _b.length; _a++) {
890
- var _c = _b[_a], key = _c[0], value = _c[1];
995
+ for (const [key, value] of Object.entries(merged)) {
891
996
  if (value && typeof value === 'object') {
892
997
  merged[key] = combineStyles(parent[key] || {}, child[key] || {});
893
998
  }