@builder.io/mitosis 0.0.85 → 0.0.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/generators/angular.js +1 -1
- package/dist/src/generators/qwik/jsx.js +19 -21
- package/dist/src/generators/react/generator.js +5 -6
- package/dist/src/generators/react/state.js +12 -5
- package/dist/src/generators/react-native.js +2 -1
- package/dist/src/generators/rsc.js +3 -2
- package/dist/src/generators/solid/index.js +3 -2
- package/dist/src/generators/svelte/blocks.js +3 -2
- package/dist/src/generators/vue/blocks.js +59 -50
- package/dist/src/generators/vue/compositionApi.js +1 -1
- package/dist/src/generators/vue/optionsApi.js +1 -1
- package/dist/src/generators/vue/vue.js +2 -1
- package/dist/src/helpers/bindings.d.ts +2 -0
- package/dist/src/helpers/bindings.js +16 -0
- package/dist/src/helpers/get-styles.js +2 -1
- package/dist/src/parsers/angular.js +8 -7
- package/dist/src/parsers/builder/builder.js +30 -26
- package/dist/src/parsers/jsx/element-parser.js +18 -15
- package/dist/src/parsers/jsx/state.js +1 -12
- package/dist/src/parsers/svelte/helpers/bindings.js +5 -4
- package/dist/src/parsers/svelte/helpers/post-process.js +5 -8
- package/dist/src/parsers/svelte/html/each.d.ts +2 -33
- package/dist/src/parsers/svelte/html/each.js +3 -2
- package/dist/src/parsers/svelte/html/element.js +17 -23
- package/dist/src/parsers/svelte/html/if-else.js +3 -2
- package/dist/src/parsers/svelte/html/mustache-tag.js +5 -4
- package/dist/src/plugins/compile-away-builder-components.js +21 -20
- package/dist/src/types/mitosis-node.d.ts +9 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -53,6 +53,7 @@ var parsers_1 = require("../../helpers/parsers");
|
|
|
53
53
|
var __1 = require("../..");
|
|
54
54
|
var helpers_1 = require("./helpers");
|
|
55
55
|
var state_1 = require("../jsx/state");
|
|
56
|
+
var bindings_1 = require("../../helpers/bindings");
|
|
56
57
|
// Omit some superflous styles that can come from Builder's web importer
|
|
57
58
|
var styleOmitList = [
|
|
58
59
|
'backgroundRepeatX',
|
|
@@ -108,7 +109,7 @@ var getActionBindingsFromBlock = function (block, options) {
|
|
|
108
109
|
continue;
|
|
109
110
|
}
|
|
110
111
|
var useKey = "on".concat((0, lodash_1.upperFirst)(key));
|
|
111
|
-
bindings[useKey] = { code: "".concat(wrapBindingIfNeeded(value, options)) };
|
|
112
|
+
bindings[useKey] = (0, bindings_1.createSingleBinding)({ code: "".concat(wrapBindingIfNeeded(value, options)) });
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
return bindings;
|
|
@@ -225,18 +226,19 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
|
|
|
225
226
|
var css = getCssFromBlock(block);
|
|
226
227
|
var styleString = getStyleStringFromBlock(block, options);
|
|
227
228
|
var actionBindings = getActionBindingsFromBlock(block, options);
|
|
229
|
+
var bindings = __assign(__assign(__assign({ symbol: (0, bindings_1.createSingleBinding)({
|
|
230
|
+
code: JSON.stringify({
|
|
231
|
+
data: (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.symbol.data,
|
|
232
|
+
content: (_b = block.component) === null || _b === void 0 ? void 0 : _b.options.symbol.content,
|
|
233
|
+
}),
|
|
234
|
+
}) }, actionBindings), (styleString && {
|
|
235
|
+
style: (0, bindings_1.createSingleBinding)({ code: styleString }),
|
|
236
|
+
})), (Object.keys(css).length && {
|
|
237
|
+
css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
|
|
238
|
+
}));
|
|
228
239
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
229
240
|
name: 'Symbol',
|
|
230
|
-
bindings:
|
|
231
|
-
code: JSON.stringify({
|
|
232
|
-
data: (_a = block.component) === null || _a === void 0 ? void 0 : _a.options.symbol.data,
|
|
233
|
-
content: (_b = block.component) === null || _b === void 0 ? void 0 : _b.options.symbol.content,
|
|
234
|
-
}),
|
|
235
|
-
} }, actionBindings), (styleString && {
|
|
236
|
-
style: { code: styleString },
|
|
237
|
-
})), (Object.keys(css).length && {
|
|
238
|
-
css: { code: JSON.stringify(css) },
|
|
239
|
-
})),
|
|
241
|
+
bindings: bindings,
|
|
240
242
|
});
|
|
241
243
|
} }, (!exports.symbolBlocksAsChildren
|
|
242
244
|
? {}
|
|
@@ -255,15 +257,15 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
|
|
|
255
257
|
name: 'Symbol',
|
|
256
258
|
bindings: __assign(__assign(__assign({
|
|
257
259
|
// TODO: this doesn't use all attrs
|
|
258
|
-
symbol: {
|
|
260
|
+
symbol: (0, bindings_1.createSingleBinding)({
|
|
259
261
|
code: JSON.stringify({
|
|
260
262
|
data: (_c = block.component) === null || _c === void 0 ? void 0 : _c.options.symbol.content.data,
|
|
261
263
|
content: content, // TODO: convert to <SymbolInternal>...</SymbolInternal> so can be parsed
|
|
262
264
|
}),
|
|
263
|
-
} }, actionBindings), (styleString && {
|
|
264
|
-
style: { code: styleString },
|
|
265
|
+
}) }, actionBindings), (styleString && {
|
|
266
|
+
style: (0, bindings_1.createSingleBinding)({ code: styleString }),
|
|
265
267
|
})), (Object.keys(css).length && {
|
|
266
|
-
css: { code: JSON.stringify(css) },
|
|
268
|
+
css: (0, bindings_1.createSingleBinding)({ code: JSON.stringify(css) }),
|
|
267
269
|
})),
|
|
268
270
|
children: !blocks
|
|
269
271
|
? []
|
|
@@ -298,7 +300,9 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
|
|
|
298
300
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
299
301
|
name: 'For',
|
|
300
302
|
bindings: {
|
|
301
|
-
each:
|
|
303
|
+
each: (0, bindings_1.createSingleBinding)({
|
|
304
|
+
code: "state.".concat(block.component.options.repeat.collection),
|
|
305
|
+
}),
|
|
302
306
|
},
|
|
303
307
|
scope: {
|
|
304
308
|
forName: block.component.options.repeat.itemName,
|
|
@@ -332,9 +336,9 @@ var componentMappers = __assign(__assign({ Symbol: function (block, options) {
|
|
|
332
336
|
var innerBindings = {};
|
|
333
337
|
var componentOptionsText = blockBindings['component.options.text'];
|
|
334
338
|
if (componentOptionsText) {
|
|
335
|
-
innerBindings[options.preserveTextBlocks ? 'innerHTML' : '_text'] = {
|
|
339
|
+
innerBindings[options.preserveTextBlocks ? 'innerHTML' : '_text'] = (0, bindings_1.createSingleBinding)({
|
|
336
340
|
code: wrapBindingIfNeeded(componentOptionsText.code, options),
|
|
337
|
-
};
|
|
341
|
+
});
|
|
338
342
|
}
|
|
339
343
|
var innerProperties = (_a = {},
|
|
340
344
|
_a[options.preserveTextBlocks ? 'innerHTML' : '_text'] = block.component.options.text,
|
|
@@ -394,14 +398,14 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
|
|
|
394
398
|
if (isFragment) {
|
|
395
399
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
396
400
|
name: 'Show',
|
|
397
|
-
bindings: { when: { code: code } },
|
|
401
|
+
bindings: { when: (0, bindings_1.createSingleBinding)({ code: code }) },
|
|
398
402
|
children: ((_d = block.children) === null || _d === void 0 ? void 0 : _d.map(function (child) { return (0, exports.builderElementToMitosisNode)(child, options); })) || [],
|
|
399
403
|
});
|
|
400
404
|
}
|
|
401
405
|
else {
|
|
402
406
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
403
407
|
name: 'Show',
|
|
404
|
-
bindings: { when: { code: code } },
|
|
408
|
+
bindings: { when: (0, bindings_1.createSingleBinding)({ code: code }) },
|
|
405
409
|
children: [
|
|
406
410
|
(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),
|
|
407
411
|
],
|
|
@@ -416,9 +420,9 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
|
|
|
416
420
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
417
421
|
name: 'For',
|
|
418
422
|
bindings: {
|
|
419
|
-
each: {
|
|
423
|
+
each: (0, bindings_1.createSingleBinding)({
|
|
420
424
|
code: wrapBindingIfNeeded((_g = block.repeat) === null || _g === void 0 ? void 0 : _g.collection, options),
|
|
421
|
-
},
|
|
425
|
+
}),
|
|
422
426
|
},
|
|
423
427
|
scope: {
|
|
424
428
|
forName: ((_h = block.repeat) === null || _h === void 0 ? void 0 : _h.itemName) || 'item',
|
|
@@ -433,9 +437,9 @@ var builderElementToMitosisNode = function (block, options, _internalOptions) {
|
|
|
433
437
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
434
438
|
name: 'For',
|
|
435
439
|
bindings: {
|
|
436
|
-
each: {
|
|
440
|
+
each: (0, bindings_1.createSingleBinding)({
|
|
437
441
|
code: wrapBindingIfNeeded((_m = block.repeat) === null || _m === void 0 ? void 0 : _m.collection, options),
|
|
438
|
-
},
|
|
442
|
+
}),
|
|
439
443
|
},
|
|
440
444
|
scope: {
|
|
441
445
|
forName: ((_o = block.repeat) === null || _o === void 0 ? void 0 : _o.itemName) || 'item',
|
|
@@ -745,10 +749,10 @@ function mapBuilderBindingsToMitosisBindingWithCode(bindings) {
|
|
|
745
749
|
Object.keys(bindings).forEach(function (key) {
|
|
746
750
|
var value = bindings[key];
|
|
747
751
|
if (typeof value === 'string') {
|
|
748
|
-
result[key] = { code: value };
|
|
752
|
+
result[key] = (0, bindings_1.createSingleBinding)({ code: value });
|
|
749
753
|
}
|
|
750
754
|
else if (value && typeof value === 'object' && value.code) {
|
|
751
|
-
result[key] = { code: value.code };
|
|
755
|
+
result[key] = (0, bindings_1.createSingleBinding)({ code: value.code });
|
|
752
756
|
}
|
|
753
757
|
else {
|
|
754
758
|
throw new Error('Unexpected binding value: ' + JSON.stringify(value));
|
|
@@ -44,6 +44,7 @@ var nullable_1 = require("../../helpers/nullable");
|
|
|
44
44
|
var create_mitosis_node_1 = require("../../helpers/create-mitosis-node");
|
|
45
45
|
var function_1 = require("fp-ts/lib/function");
|
|
46
46
|
var helpers_1 = require("./helpers");
|
|
47
|
+
var bindings_1 = require("../../helpers/bindings");
|
|
47
48
|
var types = babel.types;
|
|
48
49
|
var getForArguments = function (params) {
|
|
49
50
|
var _a = params
|
|
@@ -81,11 +82,11 @@ var jsxElementToJson = function (node) {
|
|
|
81
82
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
82
83
|
name: 'For',
|
|
83
84
|
bindings: {
|
|
84
|
-
each: {
|
|
85
|
+
each: (0, bindings_1.createSingleBinding)({
|
|
85
86
|
code: (0, generator_1.default)(node.expression.callee)
|
|
86
87
|
.code // Remove .map or potentially ?.map
|
|
87
88
|
.replace(/\??\.map$/, ''),
|
|
88
|
-
},
|
|
89
|
+
}),
|
|
89
90
|
},
|
|
90
91
|
scope: forArguments,
|
|
91
92
|
children: [(0, exports.jsxElementToJson)(callback.body)],
|
|
@@ -99,7 +100,7 @@ var jsxElementToJson = function (node) {
|
|
|
99
100
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
100
101
|
name: 'Show',
|
|
101
102
|
bindings: {
|
|
102
|
-
when: { code: (0, generator_1.default)(node.expression.left).code },
|
|
103
|
+
when: (0, bindings_1.createSingleBinding)({ code: (0, generator_1.default)(node.expression.left).code }),
|
|
103
104
|
},
|
|
104
105
|
children: [(0, exports.jsxElementToJson)(node.expression.right)],
|
|
105
106
|
});
|
|
@@ -116,7 +117,7 @@ var jsxElementToJson = function (node) {
|
|
|
116
117
|
else: (0, exports.jsxElementToJson)(node.expression.alternate),
|
|
117
118
|
},
|
|
118
119
|
bindings: {
|
|
119
|
-
when: { code: (0, generator_1.default)(node.expression.test).code },
|
|
120
|
+
when: (0, bindings_1.createSingleBinding)({ code: (0, generator_1.default)(node.expression.test).code }),
|
|
120
121
|
},
|
|
121
122
|
children: [(0, exports.jsxElementToJson)(node.expression.consequent)],
|
|
122
123
|
});
|
|
@@ -124,7 +125,7 @@ var jsxElementToJson = function (node) {
|
|
|
124
125
|
// TODO: support {foo ? bar : baz}
|
|
125
126
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
126
127
|
bindings: {
|
|
127
|
-
_text: { code: (0, generator_1.default)(node.expression).code },
|
|
128
|
+
_text: (0, bindings_1.createSingleBinding)({ code: (0, generator_1.default)(node.expression).code }),
|
|
128
129
|
},
|
|
129
130
|
});
|
|
130
131
|
}
|
|
@@ -153,7 +154,7 @@ var jsxElementToJson = function (node) {
|
|
|
153
154
|
meta: {
|
|
154
155
|
else: elseValue || undefined,
|
|
155
156
|
},
|
|
156
|
-
bindings: __assign({}, (whenValue ? { when: { code: whenValue } } : {})),
|
|
157
|
+
bindings: __assign({}, (whenValue ? { when: (0, bindings_1.createSingleBinding)({ code: whenValue }) } : {})),
|
|
157
158
|
children: node.children.map(exports.jsxElementToJson).filter(nullable_1.checkIsDefined),
|
|
158
159
|
});
|
|
159
160
|
}
|
|
@@ -178,9 +179,9 @@ var jsxElementToJson = function (node) {
|
|
|
178
179
|
return (0, create_mitosis_node_1.createMitosisNode)({
|
|
179
180
|
name: 'For',
|
|
180
181
|
bindings: {
|
|
181
|
-
each: {
|
|
182
|
+
each: (0, bindings_1.createSingleBinding)({
|
|
182
183
|
code: forCode,
|
|
183
|
-
},
|
|
184
|
+
}),
|
|
184
185
|
},
|
|
185
186
|
scope: forArguments,
|
|
186
187
|
children: [(0, exports.jsxElementToJson)(childExpression.body)],
|
|
@@ -211,26 +212,27 @@ var jsxElementToJson = function (node) {
|
|
|
211
212
|
var value = item.value;
|
|
212
213
|
// boolean attribute
|
|
213
214
|
if (value === null) {
|
|
214
|
-
memo[key] = {
|
|
215
|
+
memo[key] = (0, bindings_1.createSingleBinding)({
|
|
215
216
|
code: 'true',
|
|
216
|
-
};
|
|
217
|
+
});
|
|
217
218
|
return memo;
|
|
218
219
|
}
|
|
219
220
|
if (types.isJSXExpressionContainer(value) && !types.isStringLiteral(value.expression)) {
|
|
220
221
|
var expression = value.expression;
|
|
221
222
|
if (types.isArrowFunctionExpression(expression)) {
|
|
222
223
|
if (key.startsWith('on')) {
|
|
223
|
-
|
|
224
|
+
var args = expression.params.map(function (node) { return node === null || node === void 0 ? void 0 : node.name; });
|
|
225
|
+
memo[key] = (0, bindings_1.createSingleBinding)({
|
|
224
226
|
code: (0, generator_1.default)(expression.body).code,
|
|
225
|
-
arguments:
|
|
226
|
-
};
|
|
227
|
+
arguments: args.length ? args : undefined,
|
|
228
|
+
});
|
|
227
229
|
}
|
|
228
230
|
else {
|
|
229
|
-
memo[key] = { code: (0, generator_1.default)(expression.body).code };
|
|
231
|
+
memo[key] = (0, bindings_1.createSingleBinding)({ code: (0, generator_1.default)(expression.body).code });
|
|
230
232
|
}
|
|
231
233
|
}
|
|
232
234
|
else {
|
|
233
|
-
memo[key] = { code: (0, generator_1.default)(expression).code };
|
|
235
|
+
memo[key] = (0, bindings_1.createSingleBinding)({ code: (0, generator_1.default)(expression).code });
|
|
234
236
|
}
|
|
235
237
|
return memo;
|
|
236
238
|
}
|
|
@@ -243,6 +245,7 @@ var jsxElementToJson = function (node) {
|
|
|
243
245
|
memo[key] = {
|
|
244
246
|
code: types.stringLiteral((0, generator_1.default)(item.argument).code).value,
|
|
245
247
|
type: 'spread',
|
|
248
|
+
spreadType: 'normal',
|
|
246
249
|
};
|
|
247
250
|
}
|
|
248
251
|
return memo;
|
|
@@ -112,21 +112,10 @@ function mapStateIdentifiers(json) {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
(0, traverse_1.default)(json).forEach(function (item) {
|
|
115
|
-
var _a, _b;
|
|
116
115
|
if ((0, is_mitosis_node_1.isMitosisNode)(item)) {
|
|
117
116
|
for (var key in item.bindings) {
|
|
118
117
|
var value = item.bindings[key];
|
|
119
|
-
|
|
120
|
-
item.bindings[key] = {
|
|
121
|
-
code: mapStateIdentifiersInExpression(value.code, stateProperties),
|
|
122
|
-
};
|
|
123
|
-
if ((_a = value.arguments) === null || _a === void 0 ? void 0 : _a.length) {
|
|
124
|
-
item.bindings[key].arguments = value.arguments;
|
|
125
|
-
}
|
|
126
|
-
if ((_b = value.type) === null || _b === void 0 ? void 0 : _b.length) {
|
|
127
|
-
item.bindings[key].type = value.type;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
118
|
+
item.bindings[key].code = mapStateIdentifiersInExpression(value.code, stateProperties);
|
|
130
119
|
}
|
|
131
120
|
consolidateClassBindings(item);
|
|
132
121
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.processBindings = void 0;
|
|
4
|
+
var bindings_1 = require("../../../helpers/bindings");
|
|
4
5
|
function replaceGroupWithChecked(node, isArray) {
|
|
5
6
|
var _a, _b, _c;
|
|
6
7
|
if (isArray === void 0) { isArray = false; }
|
|
@@ -19,9 +20,9 @@ function replaceGroupWithChecked(node, isArray) {
|
|
|
19
20
|
? "".concat(groupBinding, " === ").concat(bindingValue)
|
|
20
21
|
: "".concat(groupBinding, " === '").concat(propertyValue, "'");
|
|
21
22
|
}
|
|
22
|
-
node.bindings['checked'] = {
|
|
23
|
+
node.bindings['checked'] = (0, bindings_1.createSingleBinding)({
|
|
23
24
|
code: code,
|
|
24
|
-
};
|
|
25
|
+
});
|
|
25
26
|
delete node.bindings.group;
|
|
26
27
|
}
|
|
27
28
|
}
|
|
@@ -66,10 +67,10 @@ function processBindings(json, node) {
|
|
|
66
67
|
onChangeCode = "event.target.checked ? ".concat(binding, ".push(").concat(target, ") : ").concat(binding, ".splice(").concat(binding, ".indexOf(").concat(node.properties.value ? "'".concat(node.properties.value, "'") : (_g = node.bindings.value) === null || _g === void 0 ? void 0 : _g.code, "), 1)");
|
|
67
68
|
}
|
|
68
69
|
if (name !== 'ref' && binding) {
|
|
69
|
-
node.bindings['onChange'] = {
|
|
70
|
+
node.bindings['onChange'] = (0, bindings_1.createSingleBinding)({
|
|
70
71
|
code: onChangeCode,
|
|
71
72
|
arguments: ['event'],
|
|
72
|
-
};
|
|
73
|
+
});
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
exports.processBindings = processBindings;
|
|
@@ -119,15 +119,12 @@ function addPropertiesAndState(json, input) {
|
|
|
119
119
|
return output;
|
|
120
120
|
}
|
|
121
121
|
function addPropertiesAndStateToNode(json, node) {
|
|
122
|
-
var _a
|
|
123
|
-
for (var _i = 0,
|
|
124
|
-
var key =
|
|
122
|
+
var _a;
|
|
123
|
+
for (var _i = 0, _b = Object.keys(node.bindings); _i < _b.length; _i++) {
|
|
124
|
+
var key = _b[_i];
|
|
125
125
|
if (Object.prototype.hasOwnProperty.call(node.bindings, key)) {
|
|
126
|
-
node.bindings[key]
|
|
127
|
-
|
|
128
|
-
arguments: (_c = node.bindings[key]) === null || _c === void 0 ? void 0 : _c.arguments,
|
|
129
|
-
type: (_d = node.bindings[key]) === null || _d === void 0 ? void 0 : _d.type,
|
|
130
|
-
};
|
|
126
|
+
var value = node.bindings[key];
|
|
127
|
+
node.bindings[key].code = addPropertiesAndState(json, (_a = value === null || value === void 0 ? void 0 : value.code) !== null && _a !== void 0 ? _a : '').trim();
|
|
131
128
|
}
|
|
132
129
|
}
|
|
133
130
|
}
|
|
@@ -1,35 +1,4 @@
|
|
|
1
1
|
import type { TemplateNode } from 'svelte/types/compiler/interfaces';
|
|
2
2
|
import type { SveltosisComponent } from '../types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
scope: {
|
|
6
|
-
forName: any;
|
|
7
|
-
};
|
|
8
|
-
bindings: {
|
|
9
|
-
each: {
|
|
10
|
-
code: any;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
children: import("../../..").MitosisNode[];
|
|
14
|
-
'@type': "@builder.io/mitosis/node";
|
|
15
|
-
meta: import("../../../types/json").JSONObject;
|
|
16
|
-
properties: {
|
|
17
|
-
[key: string]: string | undefined;
|
|
18
|
-
};
|
|
19
|
-
} | {
|
|
20
|
-
name: string;
|
|
21
|
-
scope: {
|
|
22
|
-
forName: any;
|
|
23
|
-
};
|
|
24
|
-
bindings: {
|
|
25
|
-
each: {
|
|
26
|
-
code: any;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
children: import("../../..").MitosisNode[];
|
|
30
|
-
'@type': "@builder.io/mitosis/node";
|
|
31
|
-
meta: import("../../../types/json").JSONObject;
|
|
32
|
-
properties: {
|
|
33
|
-
[key: string]: string | undefined;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
3
|
+
import { MitosisNode } from '../../../types/mitosis-node';
|
|
4
|
+
export declare function parseEach(json: SveltosisComponent, node: TemplateNode): MitosisNode;
|
|
@@ -14,11 +14,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.parseEach = void 0;
|
|
15
15
|
var mitosis_node_1 = require("../helpers/mitosis-node");
|
|
16
16
|
var children_1 = require("../helpers/children");
|
|
17
|
+
var bindings_1 = require("../../../helpers/bindings");
|
|
17
18
|
function parseEach(json, node) {
|
|
18
19
|
return __assign(__assign({}, (0, mitosis_node_1.createMitosisNode)()), { name: 'For', scope: { forName: node.context.name }, bindings: {
|
|
19
|
-
each: {
|
|
20
|
+
each: (0, bindings_1.createSingleBinding)({
|
|
20
21
|
code: node.expression.name,
|
|
21
|
-
},
|
|
22
|
+
}),
|
|
22
23
|
}, children: (0, children_1.parseChildren)(json, node) });
|
|
23
24
|
}
|
|
24
25
|
exports.parseEach = parseEach;
|
|
@@ -18,6 +18,7 @@ var mitosis_node_1 = require("../helpers/mitosis-node");
|
|
|
18
18
|
var children_1 = require("../helpers/children");
|
|
19
19
|
var string_1 = require("../helpers/string");
|
|
20
20
|
var actions_1 = require("./actions");
|
|
21
|
+
var bindings_1 = require("../../../helpers/bindings");
|
|
21
22
|
var SPECIAL_ELEMENTS = new Set(['svelte:component', 'svelte:element']);
|
|
22
23
|
function parseElement(json, node) {
|
|
23
24
|
var _a;
|
|
@@ -28,9 +29,7 @@ function parseElement(json, node) {
|
|
|
28
29
|
var nodeReference = (0, string_1.uniqueName)(Object.keys(json.refs), node.name);
|
|
29
30
|
if (!Object.keys(json.refs).includes(nodeReference)) {
|
|
30
31
|
json.refs[nodeReference] = { argument: '', typeParameter: '' };
|
|
31
|
-
mitosisNode.bindings.ref = {
|
|
32
|
-
code: nodeReference,
|
|
33
|
-
};
|
|
32
|
+
mitosisNode.bindings.ref = (0, bindings_1.createSingleBinding)({ code: nodeReference });
|
|
34
33
|
}
|
|
35
34
|
return nodeReference;
|
|
36
35
|
};
|
|
@@ -72,23 +71,21 @@ function parseElement(json, node) {
|
|
|
72
71
|
? (0, string_1.insertAt)(mitosisNode.bindings.class.code, ' ${' + code + '}', mitosisNode.bindings.class.code.length - 1)
|
|
73
72
|
: '`${' + code + '}`';
|
|
74
73
|
}
|
|
75
|
-
mitosisNode.bindings[attribute.name] = {
|
|
76
|
-
code: code,
|
|
77
|
-
};
|
|
74
|
+
mitosisNode.bindings[attribute.name] = (0, bindings_1.createSingleBinding)({ code: code });
|
|
78
75
|
break;
|
|
79
76
|
}
|
|
80
77
|
case 'AttributeShorthand': {
|
|
81
78
|
// e.g. <input {value}/>
|
|
82
79
|
var value = attribute.value[0];
|
|
83
80
|
var code = value.expression.name;
|
|
84
|
-
mitosisNode.bindings[code] = {
|
|
85
|
-
code: code,
|
|
86
|
-
};
|
|
81
|
+
mitosisNode.bindings[code] = (0, bindings_1.createSingleBinding)({ code: code });
|
|
87
82
|
break;
|
|
88
83
|
}
|
|
89
84
|
default: {
|
|
90
85
|
var name_1 = attribute.name;
|
|
91
|
-
mitosisNode.bindings[name_1] =
|
|
86
|
+
mitosisNode.bindings[name_1] = (0, bindings_1.createSingleBinding)({
|
|
87
|
+
code: attribute.value.toString(),
|
|
88
|
+
});
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
91
|
break;
|
|
@@ -98,6 +95,7 @@ function parseElement(json, node) {
|
|
|
98
95
|
mitosisNode.bindings[expression.name] = {
|
|
99
96
|
code: expression.name,
|
|
100
97
|
type: 'spread',
|
|
98
|
+
spreadType: 'normal',
|
|
101
99
|
};
|
|
102
100
|
break;
|
|
103
101
|
}
|
|
@@ -145,7 +143,7 @@ function parseElement(json, node) {
|
|
|
145
143
|
arguments: ['event'],
|
|
146
144
|
};
|
|
147
145
|
}
|
|
148
|
-
mitosisNode.bindings["on".concat((0, lodash_1.upperFirst)(attribute.name))] = object;
|
|
146
|
+
mitosisNode.bindings["on".concat((0, lodash_1.upperFirst)(attribute.name))] = (0, bindings_1.createSingleBinding)(object);
|
|
149
147
|
// add event handlers as props (e.g. props.onClick)
|
|
150
148
|
json.props = __assign(__assign({}, json.props), (_a = {}, _a["on".concat((0, lodash_1.upperFirst)(attribute.name))] = { default: function () { return ({}); } }, _a));
|
|
151
149
|
break;
|
|
@@ -172,14 +170,14 @@ function parseElement(json, node) {
|
|
|
172
170
|
}
|
|
173
171
|
if (name_2 !== 'ref' && name_2 !== 'group' && name_2 !== 'this') {
|
|
174
172
|
var onChangeCode = "".concat(binding, " = event.target.value");
|
|
175
|
-
mitosisNode.bindings['onChange'] = {
|
|
173
|
+
mitosisNode.bindings['onChange'] = (0, bindings_1.createSingleBinding)({
|
|
176
174
|
code: onChangeCode,
|
|
177
175
|
arguments: ['event'],
|
|
178
|
-
};
|
|
176
|
+
});
|
|
179
177
|
}
|
|
180
|
-
mitosisNode.bindings[name_2] = {
|
|
178
|
+
mitosisNode.bindings[name_2] = (0, bindings_1.createSingleBinding)({
|
|
181
179
|
code: binding,
|
|
182
|
-
};
|
|
180
|
+
});
|
|
183
181
|
break;
|
|
184
182
|
}
|
|
185
183
|
case 'Class': {
|
|
@@ -200,16 +198,12 @@ function parseElement(json, node) {
|
|
|
200
198
|
Object.prototype.hasOwnProperty.call(mitosisNode.bindings.class, 'code') &&
|
|
201
199
|
((_u = mitosisNode.bindings.class) === null || _u === void 0 ? void 0 : _u.code.length)) {
|
|
202
200
|
code = (0, string_1.insertAt)(mitosisNode.bindings.class.code, ' ${' + binding + '}', mitosisNode.bindings.class.code.length - 1);
|
|
203
|
-
mitosisNode.bindings.class = {
|
|
204
|
-
code: code,
|
|
205
|
-
};
|
|
201
|
+
mitosisNode.bindings.class = (0, bindings_1.createSingleBinding)({ code: code });
|
|
206
202
|
}
|
|
207
203
|
else {
|
|
208
204
|
// otherwise just assign
|
|
209
205
|
code = '`' + code + '${' + binding + '}`';
|
|
210
|
-
mitosisNode.bindings.class = {
|
|
211
|
-
code: code,
|
|
212
|
-
};
|
|
206
|
+
mitosisNode.bindings.class = (0, bindings_1.createSingleBinding)({ code: code });
|
|
213
207
|
}
|
|
214
208
|
break;
|
|
215
209
|
}
|
|
@@ -228,9 +222,9 @@ function parseElement(json, node) {
|
|
|
228
222
|
if (filteredChildren.length === 1 && filteredChildren[0].type === 'RawMustacheTag') {
|
|
229
223
|
var child = filteredChildren[0];
|
|
230
224
|
mitosisNode.children = [];
|
|
231
|
-
mitosisNode.bindings.innerHTML = {
|
|
225
|
+
mitosisNode.bindings.innerHTML = (0, bindings_1.createSingleBinding)({
|
|
232
226
|
code: (0, astring_1.generate)(child.expression),
|
|
233
|
-
};
|
|
227
|
+
});
|
|
234
228
|
}
|
|
235
229
|
else {
|
|
236
230
|
mitosisNode.children = (0, children_1.parseChildren)(json, node);
|
|
@@ -16,14 +16,15 @@ var astring_1 = require("astring");
|
|
|
16
16
|
var _1 = require(".");
|
|
17
17
|
var mitosis_node_1 = require("../helpers/mitosis-node");
|
|
18
18
|
var children_1 = require("../helpers/children");
|
|
19
|
+
var bindings_1 = require("../../../helpers/bindings");
|
|
19
20
|
function parseIfElse(json, node) {
|
|
20
21
|
var _a, _b, _c;
|
|
21
22
|
var mitosisNode = (0, mitosis_node_1.createMitosisNode)();
|
|
22
23
|
mitosisNode.name = 'Show';
|
|
23
24
|
mitosisNode.bindings = {
|
|
24
|
-
when: {
|
|
25
|
+
when: (0, bindings_1.createSingleBinding)({
|
|
25
26
|
code: (0, astring_1.generate)(node.expression),
|
|
26
|
-
},
|
|
27
|
+
}),
|
|
27
28
|
};
|
|
28
29
|
mitosisNode.children = (0, children_1.parseChildren)(json, node);
|
|
29
30
|
if (node.else) {
|
|
@@ -2,22 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseRawMustacheTag = exports.parseMustacheTag = void 0;
|
|
4
4
|
var astring_1 = require("astring");
|
|
5
|
+
var bindings_1 = require("../../../helpers/bindings");
|
|
5
6
|
var mitosis_node_1 = require("../helpers/mitosis-node");
|
|
6
7
|
function parseMustacheTag(node) {
|
|
7
8
|
var mitosisNode = (0, mitosis_node_1.createMitosisNode)();
|
|
8
9
|
mitosisNode.name = 'div';
|
|
9
|
-
mitosisNode.bindings['_text'] = {
|
|
10
|
+
mitosisNode.bindings['_text'] = (0, bindings_1.createSingleBinding)({
|
|
10
11
|
code: (0, astring_1.generate)(node.expression),
|
|
11
|
-
};
|
|
12
|
+
});
|
|
12
13
|
return mitosisNode;
|
|
13
14
|
}
|
|
14
15
|
exports.parseMustacheTag = parseMustacheTag;
|
|
15
16
|
function parseRawMustacheTag(node) {
|
|
16
17
|
var mitosisNode = (0, mitosis_node_1.createMitosisNode)();
|
|
17
18
|
mitosisNode.name = 'div';
|
|
18
|
-
mitosisNode.bindings.innerHTML = {
|
|
19
|
+
mitosisNode.bindings.innerHTML = (0, bindings_1.createSingleBinding)({
|
|
19
20
|
code: (0, astring_1.generate)(node.expression),
|
|
20
|
-
};
|
|
21
|
+
});
|
|
21
22
|
return mitosisNode;
|
|
22
23
|
}
|
|
23
24
|
exports.parseRawMustacheTag = parseRawMustacheTag;
|