@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,26 +1,15 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
6
  exports.componentToRsc = void 0;
18
- var legacy_1 = __importDefault(require("neotraverse/legacy"));
19
- var is_mitosis_node_1 = require("../helpers/is-mitosis-node");
20
- var merge_options_1 = require("../helpers/merge-options");
21
- var nullable_1 = require("../helpers/nullable");
22
- var rsc_1 = require("./helpers/rsc");
23
- var react_1 = require("./react");
7
+ const legacy_1 = __importDefault(require("neotraverse/legacy"));
8
+ const is_mitosis_node_1 = require("../helpers/is-mitosis-node");
9
+ const merge_options_1 = require("../helpers/merge-options");
10
+ const nullable_1 = require("../helpers/nullable");
11
+ const rsc_1 = require("./helpers/rsc");
12
+ const react_1 = require("./react");
24
13
  /**
25
14
  * Transform react to be RSC compatible, such as
26
15
  * - remove event listeners
@@ -28,18 +17,18 @@ var react_1 = require("./react");
28
17
  * - remove refs
29
18
  * - transform context to prop drilling
30
19
  */
31
- var RSC_TRANSFORM_PLUGIN = function () { return ({
20
+ const RSC_TRANSFORM_PLUGIN = () => ({
32
21
  json: {
33
- pre: function (json) {
22
+ pre: (json) => {
34
23
  json.hooks.onMount = [];
35
24
  delete json.hooks.onUnMount;
36
25
  delete json.hooks.onUpdate;
37
26
  json.refs = {};
38
27
  json.context.get = {};
39
28
  json.context.set = {};
40
- (0, legacy_1.default)(json).forEach(function (node) {
29
+ (0, legacy_1.default)(json).forEach((node) => {
41
30
  if ((0, is_mitosis_node_1.isMitosisNode)(node)) {
42
- var isComponent = node.name.match(/[A-Z]/);
31
+ const isComponent = node.name.match(/[A-Z]/);
43
32
  // if (isComponent) {
44
33
  // // Drill context down, aka
45
34
  // // function (props) { return <Component _context{props._context} /> }
@@ -61,23 +50,28 @@ var RSC_TRANSFORM_PLUGIN = function () { return ({
61
50
  });
62
51
  },
63
52
  },
64
- }); };
65
- var RscOptions = {
53
+ });
54
+ const RscOptions = {
66
55
  plugins: [RSC_TRANSFORM_PLUGIN],
67
56
  stateType: 'variables',
68
57
  };
69
- var componentToRsc = function (_options) {
70
- if (_options === void 0) { _options = {}; }
71
- return function (_a) {
72
- var _b, _c, _d, _e, _f;
73
- var component = _a.component, path = _a.path;
74
- if (!(0, nullable_1.checkIsDefined)((_c = (_b = component.meta.useMetadata) === null || _b === void 0 ? void 0 : _b.rsc) === null || _c === void 0 ? void 0 : _c.componentType) &&
75
- !(0, rsc_1.checkIfIsClientComponent)(component)) {
76
- component.meta.useMetadata = __assign(__assign({}, component.meta.useMetadata), { rsc: __assign(__assign({}, (_d = component.meta.useMetadata) === null || _d === void 0 ? void 0 : _d.rsc), { componentType: 'server' }) });
77
- }
78
- var isRSC = ((_f = (_e = component.meta.useMetadata) === null || _e === void 0 ? void 0 : _e.rsc) === null || _f === void 0 ? void 0 : _f.componentType) === 'server';
79
- var options = (0, merge_options_1.mergeOptions)(__assign({ rsc: true }, (isRSC ? RscOptions : {})), _options);
80
- return (0, react_1.componentToReact)(options)({ component: component, path: path });
81
- };
58
+ const componentToRsc = (_options = {}) => ({ component, path }) => {
59
+ var _a, _b, _c, _d, _e;
60
+ if (!(0, nullable_1.checkIsDefined)((_b = (_a = component.meta.useMetadata) === null || _a === void 0 ? void 0 : _a.rsc) === null || _b === void 0 ? void 0 : _b.componentType) &&
61
+ !(0, rsc_1.checkIfIsClientComponent)(component)) {
62
+ component.meta.useMetadata = {
63
+ ...component.meta.useMetadata,
64
+ rsc: {
65
+ ...(_c = component.meta.useMetadata) === null || _c === void 0 ? void 0 : _c.rsc,
66
+ componentType: 'server',
67
+ },
68
+ };
69
+ }
70
+ const isRSC = ((_e = (_d = component.meta.useMetadata) === null || _d === void 0 ? void 0 : _d.rsc) === null || _e === void 0 ? void 0 : _e.componentType) === 'server';
71
+ const options = (0, merge_options_1.mergeOptions)({
72
+ rsc: true,
73
+ ...(isRSC ? RscOptions : {}),
74
+ }, _options);
75
+ return (0, react_1.componentToReact)(options)({ component, path });
82
76
  };
83
77
  exports.componentToRsc = componentToRsc;
@@ -1,74 +1,78 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.blockToSolid = void 0;
4
- var babel_transform_1 = require("../../helpers/babel-transform");
5
- var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
6
- var typescript_1 = require("../../helpers/typescript");
7
- var mitosis_node_1 = require("../../types/mitosis-node");
8
- var core_1 = require("@babel/core");
9
- var lodash_1 = require("lodash");
10
- var html_tags_1 = require("../../constants/html_tags");
11
- var styles_1 = require("./helpers/styles");
12
- var ATTTRIBUTE_MAPPERS = {
4
+ const babel_transform_1 = require("../../helpers/babel-transform");
5
+ const filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
6
+ const typescript_1 = require("../../helpers/typescript");
7
+ const mitosis_node_1 = require("../../types/mitosis-node");
8
+ const core_1 = require("@babel/core");
9
+ const lodash_1 = require("lodash");
10
+ const html_tags_1 = require("../../constants/html_tags");
11
+ const styles_1 = require("./helpers/styles");
12
+ const ATTTRIBUTE_MAPPERS = {
13
13
  // for: 'htmlFor',
14
14
  };
15
- var transformAttributeName = function (name) {
15
+ const transformAttributeName = (name) => {
16
16
  if ((0, typescript_1.objectHasKey)(ATTTRIBUTE_MAPPERS, name))
17
17
  return ATTTRIBUTE_MAPPERS[name];
18
18
  return name;
19
19
  };
20
- var blockToSolid = function (_a) {
21
- var _b, _c;
22
- var json = _a.json, options = _a.options, component = _a.component;
20
+ const blockToSolid = ({ json, options, component, }) => {
21
+ var _a, _b;
23
22
  if (json.properties._text) {
24
23
  return json.properties._text;
25
24
  }
26
- if ((_b = json.bindings._text) === null || _b === void 0 ? void 0 : _b.code) {
27
- return "{".concat(json.bindings._text.code, "}");
25
+ if ((_a = json.bindings._text) === null || _a === void 0 ? void 0 : _a.code) {
26
+ return `{${json.bindings._text.code}}`;
28
27
  }
29
28
  if ((0, mitosis_node_1.checkIsForNode)(json)) {
30
- var needsWrapper = json.children.length !== 1;
29
+ const needsWrapper = json.children.length !== 1;
31
30
  // The SolidJS `<For>` component has a special index() signal function.
32
31
  // https://www.solidjs.com/docs/latest#%3Cfor%3E
33
- return "<For each={".concat((_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code, "}>\n {(").concat(json.scope.forName, ", _index) => {\n const ").concat(json.scope.indexName || 'index', " = _index();\n return ").concat(needsWrapper ? '<>' : '').concat(json.children
32
+ return `<For each={${(_b = json.bindings.each) === null || _b === void 0 ? void 0 : _b.code}}>
33
+ {(${json.scope.forName}, _index) => {
34
+ const ${json.scope.indexName || 'index'} = _index();
35
+ return ${needsWrapper ? '<>' : ''}${json.children
34
36
  .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
35
- .map(function (child) { return (0, exports.blockToSolid)({ component: component, json: child, options: options }); }), "}}\n ").concat(needsWrapper ? '</>' : '', "\n </For>");
37
+ .map((child) => (0, exports.blockToSolid)({ component, json: child, options }))}}}
38
+ ${needsWrapper ? '</>' : ''}
39
+ </For>`;
36
40
  }
37
- var str = '';
41
+ let str = '';
38
42
  if (json.name === 'Fragment') {
39
43
  str += '<';
40
44
  }
41
45
  else {
42
- str += "<".concat(json.name, " ");
46
+ str += `<${json.name} `;
43
47
  }
44
48
  if (json.name === 'Show' && json.meta.else) {
45
- str += "fallback={".concat((0, exports.blockToSolid)({ component: component, json: json.meta.else, options: options }), "}");
49
+ str += `fallback={${(0, exports.blockToSolid)({ component, json: json.meta.else, options })}}`;
46
50
  }
47
- var classString = (0, styles_1.collectClassString)(json, options);
51
+ const classString = (0, styles_1.collectClassString)(json, options);
48
52
  if (classString) {
49
- str += " class=".concat(classString, " ");
53
+ str += ` class=${classString} `;
50
54
  }
51
- for (var key in json.properties) {
52
- var value = json.properties[key];
53
- var newKey = transformAttributeName(key);
54
- str += " ".concat(newKey, "=\"").concat(value, "\" ");
55
+ for (const key in json.properties) {
56
+ const value = json.properties[key];
57
+ const newKey = transformAttributeName(key);
58
+ str += ` ${newKey}="${value}" `;
55
59
  }
56
- for (var key in json.bindings) {
57
- var _d = json.bindings[key], code = _d.code, _e = _d.arguments, cusArg = _e === void 0 ? ['event'] : _e, type = _d.type;
60
+ for (const key in json.bindings) {
61
+ const { code, arguments: cusArg = ['event'], type } = json.bindings[key];
58
62
  if (!code)
59
63
  continue;
60
64
  if (type === 'spread') {
61
- str += " {...(".concat(code, ")} ");
65
+ str += ` {...(${code})} `;
62
66
  }
63
67
  else if (key.startsWith('on')) {
64
- var useKey = key === 'onChange' && json.name === 'input' ? 'onInput' : key;
65
- str += " ".concat(useKey, "={(").concat(cusArg.join(','), ") => ").concat(code, "} ");
68
+ const useKey = key === 'onChange' && json.name === 'input' ? 'onInput' : key;
69
+ str += ` ${useKey}={(${cusArg.join(',')}) => ${code}} `;
66
70
  }
67
71
  else if (key === 'ref' && options.typescript) {
68
- str += " ".concat(key, "={").concat(code, "!} ");
72
+ str += ` ${key}={${code}!} `;
69
73
  }
70
74
  else {
71
- var useValue = code;
75
+ let useValue = code;
72
76
  if (key === 'style') {
73
77
  // Convert camelCase keys to kebab-case
74
78
  // TODO: support more than top level objects, may need
@@ -76,24 +80,23 @@ var blockToSolid = function (_a) {
76
80
  // object literal, such as ternaries and other expression
77
81
  // types
78
82
  useValue = (0, babel_transform_1.babelTransformExpression)(code, {
79
- ObjectExpression: function (path) {
83
+ ObjectExpression(path) {
80
84
  // TODO: limit to top level objects only
81
- for (var _i = 0, _a = path.node.properties; _i < _a.length; _i++) {
82
- var property = _a[_i];
85
+ for (const property of path.node.properties) {
83
86
  if (core_1.types.isObjectProperty(property)) {
84
87
  if (core_1.types.isIdentifier(property.key) || core_1.types.isStringLiteral(property.key)) {
85
- var key_1 = core_1.types.isIdentifier(property.key)
88
+ const key = core_1.types.isIdentifier(property.key)
86
89
  ? property.key.name
87
90
  : property.key.value;
88
- property.key = core_1.types.stringLiteral((0, lodash_1.kebabCase)(key_1));
91
+ property.key = core_1.types.stringLiteral((0, lodash_1.kebabCase)(key));
89
92
  }
90
93
  }
91
94
  }
92
95
  },
93
96
  });
94
97
  }
95
- var newKey = transformAttributeName(key);
96
- str += " ".concat(newKey, "={").concat(useValue, "} ");
98
+ const newKey = transformAttributeName(key);
99
+ str += ` ${newKey}={${useValue}} `;
97
100
  }
98
101
  }
99
102
  if (html_tags_1.SELF_CLOSING_HTML_TAGS.has(json.name)) {
@@ -103,14 +106,14 @@ var blockToSolid = function (_a) {
103
106
  if (json.children) {
104
107
  str += json.children
105
108
  .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
106
- .map(function (item) { return (0, exports.blockToSolid)({ component: component, json: item, options: options }); })
109
+ .map((item) => (0, exports.blockToSolid)({ component, json: item, options }))
107
110
  .join('\n');
108
111
  }
109
112
  if (json.name === 'Fragment') {
110
113
  str += '</>';
111
114
  }
112
115
  else {
113
- str += "</".concat(json.name, ">");
116
+ str += `</${json.name}>`;
114
117
  }
115
118
  return str;
116
119
  };
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.collectClassString = void 0;
4
4
  // This should really be a preprocessor mapping the `class` attribute binding based on what other values have
5
5
  // to make this more pluggable
6
- var collectClassString = function (json, options) {
6
+ const collectClassString = (json, options) => {
7
7
  var _a, _b, _c;
8
- var staticClasses = [];
8
+ const staticClasses = [];
9
9
  if (json.properties.class) {
10
10
  staticClasses.push(json.properties.class);
11
11
  delete json.properties.class;
@@ -14,7 +14,7 @@ var collectClassString = function (json, options) {
14
14
  staticClasses.push(json.properties.className);
15
15
  delete json.properties.className;
16
16
  }
17
- var dynamicClasses = [];
17
+ const dynamicClasses = [];
18
18
  if (typeof ((_a = json.bindings.class) === null || _a === void 0 ? void 0 : _a.code) === 'string') {
19
19
  dynamicClasses.push(json.bindings.class.code);
20
20
  delete json.bindings.class;
@@ -26,21 +26,21 @@ var collectClassString = function (json, options) {
26
26
  if (typeof ((_c = json.bindings.css) === null || _c === void 0 ? void 0 : _c.code) === 'string' &&
27
27
  json.bindings.css.code.trim().length > 4 &&
28
28
  options.stylesType === 'styled-components') {
29
- dynamicClasses.push("css(".concat(json.bindings.css.code, ")"));
29
+ dynamicClasses.push(`css(${json.bindings.css.code})`);
30
30
  }
31
31
  delete json.bindings.css;
32
- var staticClassesString = staticClasses.join(' ');
33
- var dynamicClassesString = dynamicClasses.join(" + ' ' + ");
34
- var hasStaticClasses = Boolean(staticClasses.length);
35
- var hasDynamicClasses = Boolean(dynamicClasses.length);
32
+ const staticClassesString = staticClasses.join(' ');
33
+ const dynamicClassesString = dynamicClasses.join(" + ' ' + ");
34
+ const hasStaticClasses = Boolean(staticClasses.length);
35
+ const hasDynamicClasses = Boolean(dynamicClasses.length);
36
36
  if (hasStaticClasses && !hasDynamicClasses) {
37
- return "\"".concat(staticClassesString, "\"");
37
+ return `"${staticClassesString}"`;
38
38
  }
39
39
  if (hasDynamicClasses && !hasStaticClasses) {
40
- return "{".concat(dynamicClassesString, "}");
40
+ return `{${dynamicClassesString}}`;
41
41
  }
42
42
  if (hasDynamicClasses && hasStaticClasses) {
43
- return "{\"".concat(staticClassesString, " \" + ").concat(dynamicClassesString, "}");
43
+ return `{"${staticClassesString} " + ${dynamicClassesString}}`;
44
44
  }
45
45
  return null;
46
46
  };