@builder.io/mitosis 0.0.104-0 → 0.0.105

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 (87) hide show
  1. package/dist/src/generators/alpine/generate.js +11 -11
  2. package/dist/src/generators/angular.js +17 -17
  3. package/dist/src/generators/builder.d.ts +1 -1
  4. package/dist/src/generators/builder.js +10 -10
  5. package/dist/src/generators/html.js +19 -20
  6. package/dist/src/generators/liquid.js +4 -4
  7. package/dist/src/generators/lit/generate.js +14 -14
  8. package/dist/src/generators/marko/generate.js +13 -13
  9. package/dist/src/generators/mitosis.d.ts +1 -1
  10. package/dist/src/generators/mitosis.js +2 -2
  11. package/dist/src/generators/qwik/component-generator.js +8 -8
  12. package/dist/src/generators/qwik/component.js +3 -3
  13. package/dist/src/generators/qwik/helpers/state.js +1 -1
  14. package/dist/src/generators/qwik/jsx.d.ts +1 -1
  15. package/dist/src/generators/qwik/src-generator.js +1 -1
  16. package/dist/src/generators/react/blocks.js +3 -3
  17. package/dist/src/generators/react/generator.js +26 -22
  18. package/dist/src/generators/react/helpers.js +9 -14
  19. package/dist/src/generators/react/index.d.ts +1 -1
  20. package/dist/src/generators/react/index.js +2 -2
  21. package/dist/src/generators/react/state.js +2 -2
  22. package/dist/src/generators/react-native/index.js +5 -5
  23. package/dist/src/generators/rsc.js +2 -2
  24. package/dist/src/generators/solid/index.js +28 -25
  25. package/dist/src/generators/solid/state/helpers.js +2 -2
  26. package/dist/src/generators/solid/state/state.js +1 -1
  27. package/dist/src/generators/solid/state/store.js +1 -1
  28. package/dist/src/generators/stencil/generate.js +11 -11
  29. package/dist/src/generators/svelte/blocks.js +21 -6
  30. package/dist/src/generators/svelte/helpers.js +1 -1
  31. package/dist/src/generators/svelte/svelte.js +11 -11
  32. package/dist/src/generators/swift-ui.js +2 -2
  33. package/dist/src/generators/taro.d.ts +1 -1
  34. package/dist/src/generators/taro.js +2 -2
  35. package/dist/src/generators/template.js +4 -4
  36. package/dist/src/generators/vue/blocks.js +5 -5
  37. package/dist/src/generators/vue/compositionApi.d.ts +1 -1
  38. package/dist/src/generators/vue/compositionApi.js +2 -3
  39. package/dist/src/generators/vue/helpers.js +4 -4
  40. package/dist/src/generators/vue/index.d.ts +1 -1
  41. package/dist/src/generators/vue/index.js +1 -1
  42. package/dist/src/generators/vue/optionsApi.d.ts +1 -1
  43. package/dist/src/generators/vue/vue.js +15 -15
  44. package/dist/src/helpers/babel-transform.js +2 -2
  45. package/dist/src/helpers/get-state-object-string.d.ts +1 -1
  46. package/dist/src/helpers/has-bindings-text.js +1 -1
  47. package/dist/src/helpers/is-root-text-node.d.ts +1 -1
  48. package/dist/src/helpers/map-refs.js +2 -2
  49. package/dist/src/helpers/parsers.js +1 -1
  50. package/dist/src/helpers/plugins/process-code.d.ts +1 -1
  51. package/dist/src/helpers/styles/collect-css.js +3 -2
  52. package/dist/src/helpers/styles/collect-styled-components.js +1 -1
  53. package/dist/src/helpers/traverse-nodes.d.ts +1 -1
  54. package/dist/src/index.d.ts +41 -41
  55. package/dist/src/index.js +41 -41
  56. package/dist/src/parsers/angular.js +5 -5
  57. package/dist/src/parsers/builder/builder.d.ts +1 -1
  58. package/dist/src/parsers/builder/builder.js +5 -5
  59. package/dist/src/parsers/builder/helpers.d.ts +1 -1
  60. package/dist/src/parsers/builder/helpers.js +1 -1
  61. package/dist/src/parsers/jsx/context.js +1 -1
  62. package/dist/src/parsers/jsx/element-parser.js +3 -3
  63. package/dist/src/parsers/jsx/function-parser.js +4 -4
  64. package/dist/src/parsers/jsx/index.d.ts +1 -1
  65. package/dist/src/parsers/jsx/index.js +3 -3
  66. package/dist/src/parsers/jsx/jsx.js +10 -10
  67. package/dist/src/parsers/jsx/state.js +1 -1
  68. package/dist/src/parsers/svelte/html/actions.js +1 -1
  69. package/dist/src/parsers/svelte/html/each.d.ts +1 -1
  70. package/dist/src/parsers/svelte/html/each.js +1 -1
  71. package/dist/src/parsers/svelte/html/element.js +1 -1
  72. package/dist/src/parsers/svelte/html/fragment.js +1 -1
  73. package/dist/src/parsers/svelte/html/if-else.js +1 -1
  74. package/dist/src/parsers/svelte/index.js +5 -5
  75. package/dist/src/parsers/svelte/instance/context.d.ts +1 -1
  76. package/dist/src/parsers/svelte/instance/index.js +4 -4
  77. package/dist/src/parsers/svelte/instance/references.d.ts +1 -1
  78. package/dist/src/parsers/svelte/module/index.js +1 -1
  79. package/dist/src/plugins/compile-away-builder-components.d.ts +1 -1
  80. package/dist/src/plugins/compile-away-builder-components.js +2 -2
  81. package/dist/src/plugins/map-styles.d.ts +1 -1
  82. package/dist/src/symbols/symbol-processor.js +1 -1
  83. package/dist/src/targets.js +9 -10
  84. package/dist/src/types/config.d.ts +3 -0
  85. package/dist/tsconfig.build.tsbuildinfo +1 -1
  86. package/jsx-runtime.d.ts +1 -0
  87. package/package.json +2 -3
@@ -1,3 +1,3 @@
1
+ export { blockToReact } from './blocks';
1
2
  export * from './generator';
2
3
  export * from './types';
3
- export { blockToReact } from './blocks';
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.blockToReact = void 0;
18
- __exportStar(require("./generator"), exports);
19
- __exportStar(require("./types"), exports);
20
18
  var blocks_1 = require("./blocks");
21
19
  Object.defineProperty(exports, "blockToReact", { enumerable: true, get: function () { return blocks_1.blockToReact; } });
20
+ __exportStar(require("./generator"), exports);
21
+ __exportStar(require("./types"), exports);
@@ -16,13 +16,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.updateStateSettersInCode = exports.updateStateSetters = exports.getUseStateCode = exports.processHookCode = void 0;
18
18
  var core_1 = require("@babel/core");
19
+ var function_1 = require("fp-ts/lib/function");
19
20
  var traverse_1 = __importDefault(require("traverse"));
20
21
  var capitalize_1 = require("../../helpers/capitalize");
21
22
  var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
22
- var function_1 = require("fp-ts/lib/function");
23
- var helpers_1 = require("./helpers");
24
23
  var patterns_1 = require("../../helpers/patterns");
25
24
  var transform_state_setters_1 = require("../../helpers/transform-state-setters");
25
+ var helpers_1 = require("./helpers");
26
26
  /**
27
27
  * Removes all `this.` references.
28
28
  */
@@ -17,15 +17,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.componentToReactNative = exports.collectReactNativeStyles = void 0;
18
18
  var json5_1 = __importDefault(require("json5"));
19
19
  var lodash_1 = require("lodash");
20
- var fast_clone_1 = require("../../helpers/fast-clone");
21
20
  var traverse_1 = __importDefault(require("traverse"));
22
- var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
23
- var react_1 = require("../react");
21
+ var html_tags_1 = require("../../constants/html_tags");
24
22
  var bindings_1 = require("../../helpers/bindings");
25
- var merge_options_1 = require("../../helpers/merge-options");
23
+ var fast_clone_1 = require("../../helpers/fast-clone");
26
24
  var is_children_1 = __importDefault(require("../../helpers/is-children"));
25
+ var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
26
+ var merge_options_1 = require("../../helpers/merge-options");
27
+ var react_1 = require("../react");
27
28
  var sanitize_react_native_block_styles_1 = require("./sanitize-react-native-block-styles");
28
- var html_tags_1 = require("../../constants/html_tags");
29
29
  var stylePropertiesThatMustBeNumber = new Set(['lineHeight']);
30
30
  var MEDIA_QUERY_KEY_REGEX = /^@media.*/;
31
31
  var sanitizeStyle = function (obj) { return function (key, value) {
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.componentToRsc = void 0;
7
- var bindings_1 = require("../helpers/bindings");
8
7
  var traverse_1 = __importDefault(require("traverse"));
8
+ var bindings_1 = require("../helpers/bindings");
9
9
  var fast_clone_1 = require("../helpers/fast-clone");
10
10
  var is_mitosis_node_1 = require("../helpers/is-mitosis-node");
11
- var react_1 = require("./react");
12
11
  var merge_options_1 = require("../helpers/merge-options");
12
+ var react_1 = require("./react");
13
13
  /**
14
14
  * Transform react to be RSC compatible, such as
15
15
  * - remove event listeners
@@ -51,33 +51,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.componentToSolid = void 0;
54
+ var Array_1 = require("fp-ts/lib/Array");
55
+ var S = __importStar(require("fp-ts/string"));
56
+ var hash_sum_1 = __importDefault(require("hash-sum"));
54
57
  var standalone_1 = require("prettier/standalone");
58
+ var traverse_1 = __importDefault(require("traverse"));
59
+ var bindings_1 = require("../../helpers/bindings");
60
+ var create_mitosis_node_1 = require("../../helpers/create-mitosis-node");
55
61
  var dedent_1 = require("../../helpers/dedent");
56
- var helpers_1 = require("../../helpers/styles/helpers");
57
- var get_refs_1 = require("../../helpers/get-refs");
58
- var render_imports_1 = require("../../helpers/render-imports");
59
- var plugins_1 = require("../../modules/plugins");
60
62
  var fast_clone_1 = require("../../helpers/fast-clone");
61
- var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
62
- var get_components_used_1 = require("../../helpers/get-components-used");
63
- var traverse_1 = __importDefault(require("traverse"));
64
- var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
65
63
  var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
66
- var create_mitosis_node_1 = require("../../helpers/create-mitosis-node");
67
- var state_1 = require("./state");
68
- var nullable_1 = require("../../helpers/nullable");
64
+ var get_components_used_1 = require("../../helpers/get-components-used");
65
+ var get_refs_1 = require("../../helpers/get-refs");
69
66
  var get_state_object_string_1 = require("../../helpers/get-state-object-string");
70
- var collect_css_1 = require("../../helpers/styles/collect-css");
71
- var hash_sum_1 = __importDefault(require("hash-sum"));
72
- var Array_1 = require("fp-ts/lib/Array");
73
- var S = __importStar(require("fp-ts/string"));
74
- var helpers_2 = require("./state/helpers");
67
+ var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
68
+ var is_root_text_node_1 = require("../../helpers/is-root-text-node");
75
69
  var merge_options_1 = require("../../helpers/merge-options");
70
+ var nullable_1 = require("../../helpers/nullable");
76
71
  var process_code_1 = require("../../helpers/plugins/process-code");
72
+ var render_imports_1 = require("../../helpers/render-imports");
73
+ var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
74
+ var collect_css_1 = require("../../helpers/styles/collect-css");
75
+ var helpers_1 = require("../../helpers/styles/helpers");
76
+ var plugins_1 = require("../../modules/plugins");
77
77
  var context_1 = require("../helpers/context");
78
78
  var blocks_1 = require("./blocks");
79
- var bindings_1 = require("../../helpers/bindings");
80
- var is_root_text_node_1 = require("../../helpers/is-root-text-node");
79
+ var state_1 = require("./state");
80
+ var helpers_2 = require("./state/helpers");
81
81
  // Transform <foo.bar key={value} /> to <Dynamic compnent={foo.bar} key={value} />
82
82
  function processDynamicComponents(json, options) {
83
83
  var found = false;
@@ -127,7 +127,7 @@ var DEFAULT_OPTIONS = {
127
127
  };
128
128
  var componentToSolid = function (passedOptions) {
129
129
  return function (_a) {
130
- var _b, _c, _d, _e, _f, _g;
130
+ var _b, _c, _d, _e, _f, _g, _h;
131
131
  var component = _a.component;
132
132
  var json = (0, fast_clone_1.fastClone)(component);
133
133
  var options = (0, merge_options_1.mergeOptions)(DEFAULT_OPTIONS, passedOptions);
@@ -154,8 +154,11 @@ var componentToSolid = function (passedOptions) {
154
154
  }
155
155
  addProviderComponents(json, options);
156
156
  var componentHasStyles = (0, helpers_1.hasCss)(json);
157
+ var hasCustomStyles = !!((_b = json.style) === null || _b === void 0 ? void 0 : _b.length);
158
+ var shouldInjectCustomStyles = hasCustomStyles && options.stylesType === 'styled-components';
157
159
  var addWrapper = json.children.filter(filter_empty_text_nodes_1.filterEmptyTextNodes).length !== 1 ||
158
160
  options.stylesType === 'style-tag' ||
161
+ shouldInjectCustomStyles ||
159
162
  (0, is_root_text_node_1.isRootTextNode)(json);
160
163
  // we need to run this before we run the code processor plugin, so the dynamic component variables are transformed
161
164
  var foundDynamicComponents = processDynamicComponents(json, options);
@@ -172,14 +175,14 @@ var componentToSolid = function (passedOptions) {
172
175
  (0, context_1.hasGetContext)(json) ? 'useContext' : undefined,
173
176
  hasShowComponent ? 'Show' : undefined,
174
177
  hasForComponent ? 'For' : undefined,
175
- ((_b = json.hooks.onMount) === null || _b === void 0 ? void 0 : _b.code) ? 'onMount' : undefined
176
- ], (((_c = json.hooks.onUpdate) === null || _c === void 0 ? void 0 : _c.length) ? ['on', 'createEffect'] : []), true), ((_d = state === null || state === void 0 ? void 0 : state.import.solidjs) !== null && _d !== void 0 ? _d : []), true).filter(nullable_1.checkIsDefined));
177
- var storeImports = (_e = state === null || state === void 0 ? void 0 : state.import.store) !== null && _e !== void 0 ? _e : [];
178
+ ((_c = json.hooks.onMount) === null || _c === void 0 ? void 0 : _c.code) ? 'onMount' : undefined
179
+ ], (((_d = json.hooks.onUpdate) === null || _d === void 0 ? void 0 : _d.length) ? ['on', 'createEffect'] : []), true), ((_e = state === null || state === void 0 ? void 0 : state.import.solidjs) !== null && _e !== void 0 ? _e : []), true).filter(nullable_1.checkIsDefined));
180
+ var storeImports = (_f = state === null || state === void 0 ? void 0 : state.import.store) !== null && _f !== void 0 ? _f : [];
178
181
  var propType = json.propsTypeRef || 'any';
179
182
  var propsArgs = "props".concat(options.typescript ? ":".concat(propType) : '');
180
- var str = (0, dedent_1.dedent)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\n function ", "(", ") {\n ", "\n\n ", "\n ", "\n\n ", "\n ", "\n\n return (", "\n ", "\n ", "\n ", ")\n }\n\n export default ", ";\n "], ["\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\n function ", "(", ") {\n ", "\n\n ", "\n ", "\n\n ", "\n ", "\n\n return (", "\n ", "\n ", "\n ", ")\n }\n\n export default ", ";\n "])), solidJSImports.length > 0 ? "import { ".concat(solidJSImports.join(', '), " } from 'solid-js';") : '', !foundDynamicComponents ? '' : "import { Dynamic } from 'solid-js/web';", storeImports.length > 0 ? "import { ".concat(storeImports.join(', '), " } from 'solid-js/store';") : '', !componentHasStyles && options.stylesType === 'styled-components'
183
+ var str = (0, dedent_1.dedent)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\n function ", "(", ") {\n ", "\n\n ", "\n ", "\n\n ", "\n ", "\n\n return (", "\n ", "\n ", "\n ", "\n ", ")\n }\n\n export default ", ";\n "], ["\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\n function ", "(", ") {\n ", "\n\n ", "\n ", "\n\n ", "\n ", "\n\n return (", "\n ", "\n ", "\n ", "\n ", ")\n }\n\n export default ", ";\n "])), solidJSImports.length > 0 ? "import { ".concat(solidJSImports.join(', '), " } from 'solid-js';") : '', !foundDynamicComponents ? '' : "import { Dynamic } from 'solid-js/web';", storeImports.length > 0 ? "import { ".concat(storeImports.join(', '), " } from 'solid-js/store';") : '', !componentHasStyles && options.stylesType === 'styled-components'
181
184
  ? ''
182
- : "import { css } from \"solid-styled-components\";", json.types && options.typescript ? json.types.join('\n') : '', (0, render_imports_1.renderPreComponent)({ component: json, target: 'solid' }), json.name, propsArgs, (_f = state === null || state === void 0 ? void 0 : state.str) !== null && _f !== void 0 ? _f : '', getRefsString(json, options), getContextString(json, options), !((_g = json.hooks.onMount) === null || _g === void 0 ? void 0 : _g.code) ? '' : "onMount(() => { ".concat(json.hooks.onMount.code, " })"), json.hooks.onUpdate
185
+ : "import { css } from \"solid-styled-components\";", json.types && options.typescript ? json.types.join('\n') : '', (0, render_imports_1.renderPreComponent)({ component: json, target: 'solid' }), json.name, propsArgs, (_g = state === null || state === void 0 ? void 0 : state.str) !== null && _g !== void 0 ? _g : '', getRefsString(json, options), getContextString(json, options), !((_h = json.hooks.onMount) === null || _h === void 0 ? void 0 : _h.code) ? '' : "onMount(() => { ".concat(json.hooks.onMount.code, " })"), json.hooks.onUpdate
183
186
  ? json.hooks.onUpdate
184
187
  .map(function (hook, index) {
185
188
  if (hook.deps) {
@@ -198,7 +201,7 @@ var componentToSolid = function (passedOptions) {
198
201
  .join('\n'), options.stylesType === 'style-tag' && css && css.trim().length > 4
199
202
  ? // We add the jsx attribute so prettier formats this nicely
200
203
  "<style jsx>{`".concat(css, "`}</style>")
201
- : '', addWrapper ? '</>' : '', json.name);
204
+ : '', shouldInjectCustomStyles ? "<style>{`".concat(json.style, "`}</style>") : '', addWrapper ? '</>' : '', json.name);
202
205
  if (options.plugins) {
203
206
  str = (0, plugins_1.runPreCodePlugins)(str, options.plugins);
204
207
  }
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateStateCode = exports.getStateTypeForValue = exports.getStateSetterName = void 0;
4
4
  var core_1 = require("@babel/core");
5
- var strip_state_and_props_refs_1 = require("../../../helpers/strip-state-and-props-refs");
6
5
  var function_1 = require("fp-ts/lib/function");
7
- var transform_state_setters_1 = require("../../../helpers/transform-state-setters");
8
6
  var capitalize_1 = require("../../../helpers/capitalize");
9
7
  var replace_identifiers_1 = require("../../../helpers/replace-identifiers");
8
+ var strip_state_and_props_refs_1 = require("../../../helpers/strip-state-and-props-refs");
9
+ var transform_state_setters_1 = require("../../../helpers/transform-state-setters");
10
10
  var getStateSetterName = function (stateName) { return "set".concat((0, capitalize_1.capitalize)(stateName)); };
11
11
  exports.getStateSetterName = getStateSetterName;
12
12
  var getStateTypeForValue = function (_a) {
@@ -21,8 +21,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.getState = void 0;
24
- var get_state_object_string_1 = require("../../../helpers/get-state-object-string");
25
24
  var function_1 = require("fp-ts/lib/function");
25
+ var get_state_object_string_1 = require("../../../helpers/get-state-object-string");
26
26
  var state_1 = require("../../../helpers/state");
27
27
  var helpers_1 = require("./helpers");
28
28
  var signals_1 = require("./signals");
@@ -11,9 +11,9 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getStoreCode = void 0;
13
13
  var core_1 = require("@babel/core");
14
+ var function_1 = require("fp-ts/lib/function");
14
15
  var babel_transform_1 = require("../../../helpers/babel-transform");
15
16
  var capitalize_1 = require("../../../helpers/capitalize");
16
- var function_1 = require("fp-ts/lib/function");
17
17
  var patterns_1 = require("../../../helpers/patterns");
18
18
  var helpers_1 = require("./helpers");
19
19
  var collectUsedStateAndPropsInFunction = function (fnValue) {
@@ -6,23 +6,23 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.componentToStencil = void 0;
8
8
  var standalone_1 = require("prettier/standalone");
9
+ var dash_case_1 = require("../../helpers/dash-case");
9
10
  var dedent_1 = require("../../helpers/dedent");
10
- var get_state_object_string_1 = require("../../helpers/get-state-object-string");
11
- var render_imports_1 = require("../../helpers/render-imports");
12
- var jsx_1 = require("../../parsers/jsx");
13
- var mitosis_node_1 = require("../../types/mitosis-node");
14
- var plugins_1 = require("../../modules/plugins");
15
11
  var fast_clone_1 = require("../../helpers/fast-clone");
16
- var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
17
- var collect_class_string_1 = require("./collect-class-string");
18
- var get_props_1 = require("../../helpers/get-props");
19
- var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
20
12
  var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
21
- var dash_case_1 = require("../../helpers/dash-case");
22
- var collect_css_1 = require("../../helpers/styles/collect-css");
13
+ var get_props_1 = require("../../helpers/get-props");
14
+ var get_state_object_string_1 = require("../../helpers/get-state-object-string");
23
15
  var indent_1 = require("../../helpers/indent");
24
16
  var map_refs_1 = require("../../helpers/map-refs");
25
17
  var for_1 = require("../../helpers/nodes/for");
18
+ var render_imports_1 = require("../../helpers/render-imports");
19
+ var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
20
+ var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
21
+ var collect_css_1 = require("../../helpers/styles/collect-css");
22
+ var plugins_1 = require("../../modules/plugins");
23
+ var jsx_1 = require("../../parsers/jsx");
24
+ var mitosis_node_1 = require("../../types/mitosis-node");
25
+ var collect_class_string_1 = require("./collect-class-string");
26
26
  var blockToStencil = function (json, options) {
27
27
  var _a, _b, _c, _d;
28
28
  if (options === void 0) { options = {}; }
@@ -5,14 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.blockToSvelte = void 0;
7
7
  var jsx_1 = require("../../parsers/jsx");
8
- var is_children_1 = __importDefault(require("../../helpers/is-children"));
9
- var remove_surrounding_block_1 = require("../../helpers/remove-surrounding-block");
10
- var slots_1 = require("../../helpers/slots");
11
8
  var html_tags_1 = require("../../constants/html_tags");
9
+ var bindings_1 = require("../../helpers/bindings");
10
+ var is_children_1 = __importDefault(require("../../helpers/is-children"));
12
11
  var is_upper_case_1 = require("../../helpers/is-upper-case");
13
12
  var for_1 = require("../../helpers/nodes/for");
13
+ var remove_surrounding_block_1 = require("../../helpers/remove-surrounding-block");
14
+ var slots_1 = require("../../helpers/slots");
14
15
  var helpers_1 = require("./helpers");
15
- var bindings_1 = require("../../helpers/bindings");
16
16
  /**
17
17
  * blockToSvelte executed after stripStateAndProps,
18
18
  * when stripStateAndProps is executed,
@@ -93,6 +93,20 @@ var getTagName = function (_a) {
93
93
  if (parentComponent && json.name === parentComponent.name) {
94
94
  return SVELTE_SPECIAL_TAGS.SELF;
95
95
  }
96
+ /**
97
+ * These are special HTML tags that svelte requires `<svelte:element this={TAG}>`
98
+ */
99
+ var SPECIAL_HTML_TAGS = ['style', 'script', 'template'];
100
+ if (SPECIAL_HTML_TAGS.includes(json.name)) {
101
+ json.bindings.this = (0, bindings_1.createSingleBinding)({
102
+ code: json.name === 'style'
103
+ ? // We have to obfuscate `"style"` due to a limitation in the svelte-preprocessor plugin.
104
+ // https://github.com/sveltejs/vite-plugin-svelte/issues/315#issuecomment-1109000027
105
+ "\"sty\" + \"le\""
106
+ : "\"".concat(json.name, "\""),
107
+ });
108
+ return SVELTE_SPECIAL_TAGS.ELEMENT;
109
+ }
96
110
  var isValidHtmlTag = html_tags_1.VALID_HTML_TAGS.includes(json.name);
97
111
  var isSpecialSvelteTag = json.name.startsWith('svelte:');
98
112
  // Check if any import matches `json.name`
@@ -100,12 +114,13 @@ var getTagName = function (_a) {
100
114
  var imports = _a.imports;
101
115
  return Object.keys(imports).some(function (name) { return name === json.name; });
102
116
  });
103
- // TO-DO: no way to decide between <svelte:component> and <svelte:element>...need to do that through metadata
104
- // overrides for now
117
+ // If none of these are true, then we have some type of dynamic tag name
105
118
  if (!isValidHtmlTag && !isSpecialSvelteTag && !hasMatchingImport) {
106
119
  json.bindings.this = (0, bindings_1.createSingleBinding)({
107
120
  code: (0, helpers_1.stripStateAndProps)({ json: parentComponent, options: options })(json.name),
108
121
  });
122
+ // TO-DO: no way to perfectly decide between <svelte:component> and <svelte:element> for dynamic
123
+ // values...need to do that through metadata overrides for now.
109
124
  return SVELTE_SPECIAL_TAGS.COMPONENT;
110
125
  }
111
126
  return json.name;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stripStateAndProps = void 0;
4
- var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
5
4
  var slots_1 = require("../../helpers/slots");
5
+ var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
6
6
  var stripStateAndProps = function (_a) {
7
7
  var options = _a.options, json = _a.json;
8
8
  return function (code) {
@@ -17,30 +17,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.componentToSvelte = void 0;
20
+ var function_1 = require("fp-ts/lib/function");
20
21
  var standalone_1 = require("prettier/standalone");
21
22
  var traverse_1 = __importDefault(require("traverse"));
22
- var collect_css_1 = require("../../helpers/styles/collect-css");
23
+ var babel_transform_1 = require("../../helpers/babel-transform");
23
24
  var dedent_1 = require("../../helpers/dedent");
24
- var helpers_1 = require("../../helpers/styles/helpers");
25
25
  var fast_clone_1 = require("../../helpers/fast-clone");
26
26
  var get_props_1 = require("../../helpers/get-props");
27
27
  var get_refs_1 = require("../../helpers/get-refs");
28
28
  var get_state_object_string_1 = require("../../helpers/get-state-object-string");
29
+ var getters_to_functions_1 = require("../../helpers/getters-to-functions");
29
30
  var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
31
+ var merge_options_1 = require("../../helpers/merge-options");
32
+ var patterns_1 = require("../../helpers/patterns");
33
+ var process_code_1 = require("../../helpers/plugins/process-code");
30
34
  var render_imports_1 = require("../../helpers/render-imports");
31
- var plugins_1 = require("../../modules/plugins");
35
+ var slots_1 = require("../../helpers/slots");
32
36
  var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
33
- var getters_to_functions_1 = require("../../helpers/getters-to-functions");
34
- var babel_transform_1 = require("../../helpers/babel-transform");
35
- var function_1 = require("fp-ts/lib/function");
37
+ var collect_css_1 = require("../../helpers/styles/collect-css");
38
+ var helpers_1 = require("../../helpers/styles/helpers");
39
+ var plugins_1 = require("../../modules/plugins");
36
40
  var context_1 = require("../helpers/context");
37
- var slots_1 = require("../../helpers/slots");
38
41
  var functions_1 = require("../helpers/functions");
39
- var merge_options_1 = require("../../helpers/merge-options");
40
- var process_code_1 = require("../../helpers/plugins/process-code");
41
- var helpers_2 = require("./helpers");
42
42
  var blocks_1 = require("./blocks");
43
- var patterns_1 = require("../../helpers/patterns");
43
+ var helpers_2 = require("./helpers");
44
44
  var getContextCode = function (json) {
45
45
  var contextGetters = json.context.get;
46
46
  return Object.entries(contextGetters)
@@ -8,7 +8,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.componentToSwift = void 0;
11
- var try_prettier_format_1 = require("../helpers/try-prettier-format");
12
11
  var traverse_1 = __importDefault(require("traverse"));
13
12
  var dedent_1 = require("../helpers/dedent");
14
13
  var fast_clone_1 = require("../helpers/fast-clone");
@@ -18,8 +17,9 @@ var get_state_object_string_1 = require("../helpers/get-state-object-string");
18
17
  var get_styles_1 = require("../helpers/get-styles");
19
18
  var is_children_1 = __importDefault(require("../helpers/is-children"));
20
19
  var is_mitosis_node_1 = require("../helpers/is-mitosis-node");
21
- var mitosis_node_1 = require("../types/mitosis-node");
22
20
  var state_1 = require("../helpers/state");
21
+ var try_prettier_format_1 = require("../helpers/try-prettier-format");
22
+ var mitosis_node_1 = require("../types/mitosis-node");
23
23
  var scrolls = function (json) {
24
24
  var _a;
25
25
  return ((_a = (0, get_styles_1.getStyles)(json)) === null || _a === void 0 ? void 0 : _a.overflow) === 'auto';
@@ -1,7 +1,7 @@
1
1
  import { ClassStyleMap } from '../helpers/styles/helpers';
2
2
  import { MitosisComponent } from '../types/mitosis-component';
3
- import { ToReactOptions } from './react';
4
3
  import { TranspilerGenerator } from '../types/transpiler';
4
+ import { ToReactOptions } from './react';
5
5
  export declare const DEFAULT_Component_SET: Set<string>;
6
6
  export declare type ToTaroOptions = ToReactOptions;
7
7
  export declare const collectTaroStyles: (json: MitosisComponent) => ClassStyleMap;
@@ -7,11 +7,11 @@ exports.componentToTaro = exports.TagMap = exports.collectTaroStyles = exports.D
7
7
  var json5_1 = __importDefault(require("json5"));
8
8
  var lodash_1 = require("lodash");
9
9
  var traverse_1 = __importDefault(require("traverse"));
10
+ var bindings_1 = require("../helpers/bindings");
10
11
  var fast_clone_1 = require("../helpers/fast-clone");
11
12
  var is_mitosis_node_1 = require("../helpers/is-mitosis-node");
12
- var react_1 = require("./react");
13
- var bindings_1 = require("../helpers/bindings");
14
13
  var merge_options_1 = require("../helpers/merge-options");
14
+ var react_1 = require("./react");
15
15
  // @tarojs/components
16
16
  exports.DEFAULT_Component_SET = new Set([
17
17
  'View',
@@ -6,13 +6,13 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.componentToTemplate = void 0;
8
8
  var standalone_1 = require("prettier/standalone");
9
- var collect_css_1 = require("../helpers/styles/collect-css");
9
+ var dedent_1 = require("../helpers/dedent");
10
10
  var fast_clone_1 = require("../helpers/fast-clone");
11
+ var get_state_object_string_1 = require("../helpers/get-state-object-string");
12
+ var collect_css_1 = require("../helpers/styles/collect-css");
13
+ var plugins_1 = require("../modules/plugins");
11
14
  var jsx_1 = require("../parsers/jsx");
12
15
  var mitosis_node_1 = require("../types/mitosis-node");
13
- var plugins_1 = require("../modules/plugins");
14
- var dedent_1 = require("../helpers/dedent");
15
- var get_state_object_string_1 = require("../helpers/get-state-object-string");
16
16
  var mappers = {
17
17
  Fragment: function (json, options) {
18
18
  return "<div>".concat(json.children.map(function (item) { return blockToTemplate(item, options); }).join('\n'), "</div>");
@@ -19,12 +19,12 @@ var function_1 = require("fp-ts/lib/function");
19
19
  var filter_empty_text_nodes_1 = require("../../helpers/filter-empty-text-nodes");
20
20
  var is_children_1 = __importDefault(require("../../helpers/is-children"));
21
21
  var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
22
+ var nullable_1 = require("../../helpers/nullable");
22
23
  var remove_surrounding_block_1 = require("../../helpers/remove-surrounding-block");
23
24
  var replace_identifiers_1 = require("../../helpers/replace-identifiers");
24
25
  var slots_1 = require("../../helpers/slots");
25
26
  var jsx_1 = require("../../parsers/jsx");
26
27
  var helpers_1 = require("./helpers");
27
- var nullable_1 = require("../../helpers/nullable");
28
28
  var SPECIAL_PROPERTIES = {
29
29
  V_IF: 'v-if',
30
30
  V_FOR: 'v-for',
@@ -204,6 +204,7 @@ var NODE_MAPPERS = {
204
204
  return "<slot name=\"".concat((0, slots_1.stripSlotPrefix)(slotName, SLOT_PREFIX).toLowerCase(), "\">").concat(renderChildren(), "</slot>");
205
205
  },
206
206
  };
207
+ var SPECIAL_HTML_TAGS = ['style', 'script'];
207
208
  var stringifyBinding = function (node) {
208
209
  return function (_a) {
209
210
  var key = _a[0], value = _a[1];
@@ -292,11 +293,10 @@ var blockToVue = function (node, options, scope) {
292
293
  if ((0, is_children_1.default)({ node: node })) {
293
294
  return "<slot/>";
294
295
  }
295
- if (node.name === 'style') {
296
- // Vue doesn't allow <style>...</style> in templates, but does support the synonymous
297
- // <component is="'style'">...</component>
296
+ if (SPECIAL_HTML_TAGS.includes(node.name)) {
297
+ // Vue doesn't allow style/script tags in templates, but does support them through dynamic components.
298
298
  node.name = 'component';
299
- node.bindings.is = { code: "'style'", type: 'single' };
299
+ node.bindings.is = { code: "".concat(node.name), type: 'single' };
300
300
  }
301
301
  if (node.properties._text) {
302
302
  return "".concat(node.properties._text);
@@ -1,3 +1,3 @@
1
- import { MitosisComponent, extendedHook } from '../../types/mitosis-component';
1
+ import { extendedHook, MitosisComponent } from '../../types/mitosis-component';
2
2
  import { ToVueOptions } from './types';
3
3
  export declare function generateCompositionApiScript(component: MitosisComponent, options: ToVueOptions, template: string, props: Array<string>, onUpdateWithDeps: extendedHook[], onUpdateWithoutDeps: extendedHook[]): string;
@@ -12,9 +12,8 @@ var json5_1 = __importDefault(require("json5"));
12
12
  var lodash_1 = require("lodash");
13
13
  var dedent_1 = require("../../helpers/dedent");
14
14
  var get_state_object_string_1 = require("../../helpers/get-state-object-string");
15
- var helpers_1 = require("./helpers");
16
15
  var strip_state_and_props_refs_1 = require("../../helpers/strip-state-and-props-refs");
17
- var helpers_2 = require("./helpers");
16
+ var helpers_1 = require("./helpers");
18
17
  var getCompositionPropDefinition = function (_a) {
19
18
  var options = _a.options, component = _a.component, props = _a.props;
20
19
  var isTs = options.typescript;
@@ -90,7 +89,7 @@ function generateCompositionApiScript(component, options, template, props, onUpd
90
89
  var computedCode = "const ".concat(key, " = computed(").concat(getterAsFunction, ")");
91
90
  return computedCode;
92
91
  }).join('\n')) || '', (onUpdateWithoutDeps === null || onUpdateWithoutDeps === void 0 ? void 0 : onUpdateWithoutDeps.map(function (hook) { return "onUpdated(() => ".concat(hook.code, ")"); }).join('\n')) || '', (onUpdateWithDeps === null || onUpdateWithDeps === void 0 ? void 0 : onUpdateWithDeps.map(function (hook) {
93
- return "watch(() => ".concat((0, helpers_2.processBinding)({
92
+ return "watch(() => ".concat((0, helpers_1.processBinding)({
94
93
  code: hook.deps || '',
95
94
  options: options,
96
95
  json: component,
@@ -21,15 +21,15 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.getContextKey = exports.checkIfContextHasStrName = exports.getContextValue = exports.processBinding = exports.getContextNames = exports.renameMitosisComponentsToKebabCase = exports.encodeQuotes = exports.invertBooleanExpression = exports.getOnUpdateHookName = exports.addBindingsToJson = exports.addPropertiesToJson = void 0;
24
- var get_state_object_string_1 = require("../../helpers/get-state-object-string");
25
- var babel_transform_1 = require("../../helpers/babel-transform");
26
24
  var core_1 = require("@babel/core");
25
+ var function_1 = require("fp-ts/lib/function");
27
26
  var lodash_1 = require("lodash");
27
+ var html_tags_1 = require("../../constants/html_tags");
28
+ var babel_transform_1 = require("../../helpers/babel-transform");
29
+ var get_state_object_string_1 = require("../../helpers/get-state-object-string");
28
30
  var patterns_1 = require("../../helpers/patterns");
29
31
  var replace_identifiers_1 = require("../../helpers/replace-identifiers");
30
32
  var slots_1 = require("../../helpers/slots");
31
- var html_tags_1 = require("../../constants/html_tags");
32
- var function_1 = require("fp-ts/lib/function");
33
33
  var addPropertiesToJson = function (properties) {
34
34
  return function (json) { return (__assign(__assign({}, json), { properties: __assign(__assign({}, json.properties), properties) })); };
35
35
  };
@@ -1,2 +1,2 @@
1
- export * from './vue';
2
1
  export * from './types';
2
+ export * from './vue';
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./vue"), exports);
18
17
  __exportStar(require("./types"), exports);
18
+ __exportStar(require("./vue"), exports);
@@ -1,3 +1,3 @@
1
- import { MitosisComponent, extendedHook } from '../../types/mitosis-component';
1
+ import { extendedHook, MitosisComponent } from '../../types/mitosis-component';
2
2
  import { ToVueOptions } from './types';
3
3
  export declare function generateOptionsApiScript(component: MitosisComponent, options: ToVueOptions, path: string | undefined, template: string, props: string[], onUpdateWithDeps: extendedHook[], onUpdateWithoutDeps: extendedHook[]): string;
@@ -19,31 +19,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.componentToVue3 = exports.componentToVue2 = void 0;
22
+ var function_1 = require("fp-ts/lib/function");
23
+ var lodash_1 = require("lodash");
22
24
  var standalone_1 = require("prettier/standalone");
23
- var collect_css_1 = require("../../helpers/styles/collect-css");
25
+ var traverse_1 = __importDefault(require("traverse"));
26
+ var babel_transform_1 = require("../../helpers/babel-transform");
27
+ var bindings_1 = require("../../helpers/bindings");
24
28
  var dedent_1 = require("../../helpers/dedent");
25
29
  var fast_clone_1 = require("../../helpers/fast-clone");
26
- var map_refs_1 = require("../../helpers/map-refs");
27
- var render_imports_1 = require("../../helpers/render-imports");
28
30
  var get_props_1 = require("../../helpers/get-props");
29
- var plugins_1 = require("../../modules/plugins");
30
- var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
31
31
  var is_mitosis_node_1 = require("../../helpers/is-mitosis-node");
32
- var traverse_1 = __importDefault(require("traverse"));
33
- var lodash_1 = require("lodash");
32
+ var map_refs_1 = require("../../helpers/map-refs");
33
+ var merge_options_1 = require("../../helpers/merge-options");
34
+ var process_code_1 = require("../../helpers/plugins/process-code");
34
35
  var process_http_requests_1 = require("../../helpers/process-http-requests");
35
- var function_1 = require("fp-ts/lib/function");
36
+ var render_imports_1 = require("../../helpers/render-imports");
37
+ var replace_identifiers_1 = require("../../helpers/replace-identifiers");
36
38
  var slots_1 = require("../../helpers/slots");
39
+ var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
40
+ var collect_css_1 = require("../../helpers/styles/collect-css");
41
+ var plugins_1 = require("../../modules/plugins");
37
42
  var functions_1 = require("../helpers/functions");
43
+ var blocks_1 = require("./blocks");
44
+ var compositionApi_1 = require("./compositionApi");
38
45
  var helpers_1 = require("./helpers");
39
46
  var optionsApi_1 = require("./optionsApi");
40
- var compositionApi_1 = require("./compositionApi");
41
- var blocks_1 = require("./blocks");
42
- var merge_options_1 = require("../../helpers/merge-options");
43
- var process_code_1 = require("../../helpers/plugins/process-code");
44
- var bindings_1 = require("../../helpers/bindings");
45
- var replace_identifiers_1 = require("../../helpers/replace-identifiers");
46
- var babel_transform_1 = require("../../helpers/babel-transform");
47
47
  // Transform <foo.bar key="value" /> to <component :is="foo.bar" key="value" />
48
48
  function processDynamicComponents(json, _options) {
49
49
  (0, traverse_1.default)(json).forEach(function (node) {
@@ -47,10 +47,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
47
47
  };
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
49
  exports.convertTypeScriptToJS = exports.babelTransformExpression = exports.babelTransformCode = void 0;
50
- var preset_typescript_1 = __importDefault(require("@babel/preset-typescript"));
51
50
  var babel = __importStar(require("@babel/core"));
52
- var plugin_syntax_typescript_1 = __importDefault(require("@babel/plugin-syntax-typescript"));
53
51
  var plugin_syntax_decorators_1 = __importDefault(require("@babel/plugin-syntax-decorators"));
52
+ var plugin_syntax_typescript_1 = __importDefault(require("@babel/plugin-syntax-typescript"));
53
+ var preset_typescript_1 = __importDefault(require("@babel/preset-typescript"));
54
54
  var function_1 = require("fp-ts/lib/function");
55
55
  var patterns_1 = require("./patterns");
56
56
  var handleErrorOrExpression = function (_a) {
@@ -1,5 +1,5 @@
1
- import { MitosisContext } from '../types/mitosis-context';
2
1
  import { MitosisComponent } from '../types/mitosis-component';
2
+ import { MitosisContext } from '../types/mitosis-context';
3
3
  interface GetStateObjectStringOptions {
4
4
  data?: boolean;
5
5
  functions?: boolean;