@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,90 +1,100 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __assign = (this && this.__assign) || function () {
7
- __assign = Object.assign || function(t) {
8
- for (var s, i = 1, n = arguments.length; i < n; i++) {
9
- s = arguments[i];
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
- t[p] = s[p];
12
- }
13
- return t;
14
- };
15
- return __assign.apply(this, arguments);
16
- };
17
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
4
  };
20
5
  Object.defineProperty(exports, "__esModule", { value: true });
21
6
  exports.componentToBuilder = exports.blockToBuilder = void 0;
22
- var json5_1 = __importDefault(require("json5"));
23
- var lodash_1 = require("lodash");
24
- var legacy_1 = __importDefault(require("neotraverse/legacy"));
25
- var standalone_1 = require("prettier/standalone");
26
- var media_sizes_1 = require("../constants/media-sizes");
27
- var dedent_1 = require("../helpers/dedent");
28
- var fast_clone_1 = require("../helpers/fast-clone");
29
- var filter_empty_text_nodes_1 = require("../helpers/filter-empty-text-nodes");
30
- var get_state_object_string_1 = require("../helpers/get-state-object-string");
31
- var has_props_1 = require("../helpers/has-props");
32
- var is_component_1 = require("../helpers/is-component");
33
- var is_upper_case_1 = require("../helpers/is-upper-case");
34
- var remove_surrounding_block_1 = require("../helpers/remove-surrounding-block");
35
- var state_1 = require("../helpers/state");
36
- var builder_1 = require("../parsers/builder");
37
- var symbol_processor_1 = require("../symbols/symbol-processor");
38
- var on_mount_1 = require("./helpers/on-mount");
39
- var omitMetaProperties = function (obj) {
40
- return (0, lodash_1.omitBy)(obj, function (_value, key) { return key.startsWith('$'); });
41
- };
42
- var builderBlockPrefixes = ['Amp', 'Core', 'Builder', 'Raw', 'Form'];
43
- var mapComponentName = function (name) {
7
+ const is_mitosis_node_1 = require("../helpers/is-mitosis-node");
8
+ const replace_identifiers_1 = require("../helpers/replace-identifiers");
9
+ const core_1 = require("@babel/core");
10
+ const json5_1 = __importDefault(require("json5"));
11
+ const lodash_1 = require("lodash");
12
+ const legacy_1 = __importDefault(require("neotraverse/legacy"));
13
+ const standalone_1 = require("prettier/standalone");
14
+ const media_sizes_1 = require("../constants/media-sizes");
15
+ const dedent_1 = require("../helpers/dedent");
16
+ const fast_clone_1 = require("../helpers/fast-clone");
17
+ const filter_empty_text_nodes_1 = require("../helpers/filter-empty-text-nodes");
18
+ const get_state_object_string_1 = require("../helpers/get-state-object-string");
19
+ const has_props_1 = require("../helpers/has-props");
20
+ const is_component_1 = require("../helpers/is-component");
21
+ const is_upper_case_1 = require("../helpers/is-upper-case");
22
+ const remove_surrounding_block_1 = require("../helpers/remove-surrounding-block");
23
+ const state_1 = require("../helpers/state");
24
+ const builder_1 = require("../parsers/builder");
25
+ const symbol_processor_1 = require("../symbols/symbol-processor");
26
+ const on_mount_1 = require("./helpers/on-mount");
27
+ const omitMetaProperties = (obj) => (0, lodash_1.omitBy)(obj, (_value, key) => key.startsWith('$'));
28
+ const builderBlockPrefixes = ['Amp', 'Core', 'Builder', 'Raw', 'Form'];
29
+ const mapComponentName = (name) => {
44
30
  if (name === 'CustomCode') {
45
31
  return 'Custom Code';
46
32
  }
47
- for (var _i = 0, builderBlockPrefixes_1 = builderBlockPrefixes; _i < builderBlockPrefixes_1.length; _i++) {
48
- var prefix = builderBlockPrefixes_1[_i];
33
+ for (const prefix of builderBlockPrefixes) {
49
34
  if (name.startsWith(prefix)) {
50
- var suffix = name.replace(prefix, '');
35
+ const suffix = name.replace(prefix, '');
51
36
  if ((0, is_upper_case_1.isUpperCase)(suffix[0])) {
52
- return "".concat(prefix, ":").concat(name.replace(prefix, ''));
37
+ return `${prefix}:${name.replace(prefix, '')}`;
53
38
  }
54
39
  }
55
40
  }
56
41
  return name;
57
42
  };
58
- var componentMappers = __assign(__assign({}, (!builder_1.symbolBlocksAsChildren
59
- ? {}
60
- : {
61
- Symbol: function (node, options) {
62
- var child = node.children[0];
63
- var symbolOptions = (node.bindings.symbol && json5_1.default.parse(node.bindings.symbol.code)) || {};
64
- if (child) {
65
- (0, lodash_1.set)(symbolOptions, 'content.data.blocks', child.children.map(function (item) { return (0, exports.blockToBuilder)(item, options); }));
66
- }
67
- return el({
68
- component: {
69
- name: 'Symbol',
70
- options: {
71
- // TODO: forward other symbol options
72
- symbol: symbolOptions,
43
+ const componentMappers = {
44
+ // TODO: add back if this direction (blocks as children not prop) is desired
45
+ ...(!builder_1.symbolBlocksAsChildren
46
+ ? {}
47
+ : {
48
+ Symbol(node, options) {
49
+ const child = node.children[0];
50
+ const symbolOptions = (node.bindings.symbol && json5_1.default.parse(node.bindings.symbol.code)) || {};
51
+ if (child) {
52
+ (0, lodash_1.set)(symbolOptions, 'content.data.blocks', child.children.map((item) => (0, exports.blockToBuilder)(item, options)));
53
+ }
54
+ return el({
55
+ component: {
56
+ name: 'Symbol',
57
+ options: {
58
+ // TODO: forward other symbol options
59
+ symbol: symbolOptions,
60
+ },
73
61
  },
74
- },
75
- }, options);
76
- },
77
- })), { Columns: function (node, options) {
78
- var block = (0, exports.blockToBuilder)(node, options, { skipMapper: true });
79
- var columns = block.children.map(function (item) { return ({
62
+ }, options);
63
+ },
64
+ }),
65
+ Columns(node, options) {
66
+ const block = (0, exports.blockToBuilder)(node, options, { skipMapper: true });
67
+ const columns = block.children.map((item) => ({
80
68
  blocks: item.children,
81
- }); });
69
+ }));
82
70
  block.component.options.columns = columns;
83
71
  block.children = [];
84
72
  return block;
85
- }, For: function (_node, options) {
73
+ },
74
+ For(_node, options) {
86
75
  var _a;
87
- var node = _node;
76
+ // rename `index` var to `state.$index`
77
+ const replaceIndex = (node) => {
78
+ (0, legacy_1.default)(node).forEach(function (thing) {
79
+ if ((0, is_mitosis_node_1.isMitosisNode)(thing)) {
80
+ for (const [key, value] of Object.entries(thing.bindings)) {
81
+ if (value === null || value === void 0 ? void 0 : value.code.includes('index')) {
82
+ thing.bindings[key].code = (0, replace_identifiers_1.replaceNodes)({
83
+ code: value.code,
84
+ nodeMaps: [
85
+ {
86
+ from: core_1.types.identifier('index'),
87
+ to: core_1.types.memberExpression(core_1.types.identifier('state'), core_1.types.identifier('$index')),
88
+ },
89
+ ],
90
+ });
91
+ }
92
+ }
93
+ }
94
+ });
95
+ return node;
96
+ };
97
+ const node = _node;
88
98
  return el({
89
99
  component: {
90
100
  name: 'Core:Fragment',
@@ -95,9 +105,10 @@ var componentMappers = __assign(__assign({}, (!builder_1.symbolBlocksAsChildren
95
105
  },
96
106
  children: node.children
97
107
  .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
98
- .map(function (node) { return (0, exports.blockToBuilder)(node, options); }),
108
+ .map((node) => (0, exports.blockToBuilder)(replaceIndex(node), options)),
99
109
  }, options);
100
- }, Show: function (node, options) {
110
+ },
111
+ Show(node, options) {
101
112
  var _a;
102
113
  return el({
103
114
  // TODO: the reverse mapping for this
@@ -109,14 +120,19 @@ var componentMappers = __assign(__assign({}, (!builder_1.symbolBlocksAsChildren
109
120
  },
110
121
  children: node.children
111
122
  .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
112
- .map(function (node) { return (0, exports.blockToBuilder)(node, options); }),
123
+ .map((node) => (0, exports.blockToBuilder)(node, options)),
113
124
  }, options);
114
- } });
115
- var el = function (options, toBuilderOptions) { return (__assign(__assign({ '@type': '@builder.io/sdk:Element' }, (toBuilderOptions.includeIds && {
116
- id: 'builder-' + (0, symbol_processor_1.hashCodeAsString)(options),
117
- })), options)); };
125
+ },
126
+ };
127
+ const el = (options, toBuilderOptions) => ({
128
+ '@type': '@builder.io/sdk:Element',
129
+ ...(toBuilderOptions.includeIds && {
130
+ id: 'builder-' + (0, symbol_processor_1.hashCodeAsString)(options),
131
+ }),
132
+ ...options,
133
+ });
118
134
  function tryFormat(code) {
119
- var str = code;
135
+ let str = code;
120
136
  try {
121
137
  str = (0, standalone_1.format)(str, {
122
138
  parser: 'babel',
@@ -131,24 +147,23 @@ function tryFormat(code) {
131
147
  }
132
148
  return str;
133
149
  }
134
- var blockToBuilder = function (json, options, _internalOptions) {
135
- var _a;
136
- var _b, _c, _d, _e, _f, _g;
137
- if (options === void 0) { options = {}; }
138
- if (_internalOptions === void 0) { _internalOptions = {}; }
139
- var mapper = !_internalOptions.skipMapper && componentMappers[json.name];
150
+ const blockToBuilder = (json, options = {}, _internalOptions = {}) => {
151
+ var _a, _b, _c, _d, _e, _f;
152
+ const mapper = !_internalOptions.skipMapper && componentMappers[json.name];
140
153
  if (mapper) {
141
154
  return mapper(json, options);
142
155
  }
143
- if (json.properties._text || ((_b = json.bindings._text) === null || _b === void 0 ? void 0 : _b.code)) {
156
+ if (json.properties._text || ((_a = json.bindings._text) === null || _a === void 0 ? void 0 : _a.code)) {
144
157
  return el({
145
158
  tagName: 'span',
146
- bindings: __assign({}, (((_c = json.bindings._text) === null || _c === void 0 ? void 0 : _c.code)
147
- ? {
148
- 'component.options.text': json.bindings._text.code,
149
- 'json.bindings._text.code': undefined,
150
- }
151
- : {})),
159
+ bindings: {
160
+ ...(((_b = json.bindings._text) === null || _b === void 0 ? void 0 : _b.code)
161
+ ? {
162
+ 'component.options.text': json.bindings._text.code,
163
+ 'json.bindings._text.code': undefined,
164
+ }
165
+ : {}),
166
+ },
152
167
  component: {
153
168
  name: 'Text',
154
169
  options: {
@@ -157,119 +172,139 @@ var blockToBuilder = function (json, options, _internalOptions) {
157
172
  },
158
173
  }, options);
159
174
  }
160
- var thisIsComponent = (0, is_component_1.isComponent)(json);
161
- var bindings = json.bindings;
162
- var actions = {};
163
- for (var key in bindings) {
164
- var eventBindingKeyRegex = /^on([A-Z])/;
165
- var firstCharMatchForEventBindingKey = (_d = key.match(eventBindingKeyRegex)) === null || _d === void 0 ? void 0 : _d[1];
175
+ const thisIsComponent = (0, is_component_1.isComponent)(json);
176
+ let bindings = json.bindings;
177
+ const actions = {};
178
+ for (const key in bindings) {
179
+ const eventBindingKeyRegex = /^on([A-Z])/;
180
+ const firstCharMatchForEventBindingKey = (_c = key.match(eventBindingKeyRegex)) === null || _c === void 0 ? void 0 : _c[1];
166
181
  if (firstCharMatchForEventBindingKey) {
167
182
  actions[key.replace(eventBindingKeyRegex, firstCharMatchForEventBindingKey.toLowerCase())] =
168
- (0, remove_surrounding_block_1.removeSurroundingBlock)((_e = bindings[key]) === null || _e === void 0 ? void 0 : _e.code);
183
+ (0, remove_surrounding_block_1.removeSurroundingBlock)((_d = bindings[key]) === null || _d === void 0 ? void 0 : _d.code);
169
184
  delete bindings[key];
170
185
  }
171
186
  }
172
- var builderBindings = {};
173
- var componentOptions = omitMetaProperties(json.properties);
187
+ const builderBindings = {};
188
+ const componentOptions = omitMetaProperties(json.properties);
174
189
  if (thisIsComponent) {
175
- var _loop_1 = function (key) {
190
+ for (const key in bindings) {
176
191
  if (key === 'css') {
177
- return "continue";
192
+ continue;
178
193
  }
179
- var value = bindings[key];
180
- var parsed = (0, lodash_1.attempt)(function () { return json5_1.default.parse(value === null || value === void 0 ? void 0 : value.code); });
194
+ const value = bindings[key];
195
+ const parsed = (0, lodash_1.attempt)(() => json5_1.default.parse(value === null || value === void 0 ? void 0 : value.code));
181
196
  if (!(parsed instanceof Error)) {
182
197
  componentOptions[key] = parsed;
183
198
  }
184
199
  else {
185
- builderBindings["component.options.".concat(key)] = bindings[key].code;
200
+ builderBindings[`component.options.${key}`] = bindings[key].code;
186
201
  }
187
- };
188
- for (var key in bindings) {
189
- _loop_1(key);
190
202
  }
191
203
  }
192
- var hasCss = !!((_f = bindings.css) === null || _f === void 0 ? void 0 : _f.code);
193
- var responsiveStyles = {
204
+ const hasCss = !!((_e = bindings.css) === null || _e === void 0 ? void 0 : _e.code);
205
+ let responsiveStyles = {
194
206
  large: {},
195
207
  };
196
208
  if (hasCss) {
197
- var cssRules = json5_1.default.parse((_g = bindings.css) === null || _g === void 0 ? void 0 : _g.code);
198
- var cssRuleKeys = Object.keys(cssRules);
199
- for (var _i = 0, cssRuleKeys_1 = cssRuleKeys; _i < cssRuleKeys_1.length; _i++) {
200
- var ruleKey = cssRuleKeys_1[_i];
201
- var mediaQueryMatch = ruleKey.match(media_sizes_1.mediaQueryRegex);
209
+ const cssRules = json5_1.default.parse((_f = bindings.css) === null || _f === void 0 ? void 0 : _f.code);
210
+ const cssRuleKeys = Object.keys(cssRules);
211
+ for (const ruleKey of cssRuleKeys) {
212
+ const mediaQueryMatch = ruleKey.match(media_sizes_1.mediaQueryRegex);
202
213
  if (mediaQueryMatch) {
203
- var fullmatch = mediaQueryMatch[0], pixelSize = mediaQueryMatch[1];
204
- var sizeForWidth = media_sizes_1.sizes.getSizeForWidth(Number(pixelSize));
205
- var currentSizeStyles = responsiveStyles[sizeForWidth] || {};
206
- responsiveStyles[sizeForWidth] = __assign(__assign({}, currentSizeStyles), cssRules[ruleKey]);
214
+ const [fullmatch, pixelSize] = mediaQueryMatch;
215
+ const sizeForWidth = media_sizes_1.sizes.getSizeForWidth(Number(pixelSize));
216
+ const currentSizeStyles = responsiveStyles[sizeForWidth] || {};
217
+ responsiveStyles[sizeForWidth] = {
218
+ ...currentSizeStyles,
219
+ ...cssRules[ruleKey],
220
+ };
207
221
  }
208
222
  else {
209
- responsiveStyles.large = __assign(__assign({}, responsiveStyles.large), (_a = {}, _a[ruleKey] = cssRules[ruleKey], _a));
223
+ responsiveStyles.large = {
224
+ ...responsiveStyles.large,
225
+ [ruleKey]: cssRules[ruleKey],
226
+ };
210
227
  }
211
228
  }
212
229
  delete json.bindings.css;
213
230
  }
214
231
  if (thisIsComponent) {
215
- for (var key in json.bindings) {
216
- builderBindings["component.options.".concat(key)] = json.bindings[key].code;
232
+ for (const key in json.bindings) {
233
+ builderBindings[`component.options.${key}`] = json.bindings[key].code;
217
234
  }
218
235
  }
219
- return el(__assign(__assign(__assign(__assign({ tagName: thisIsComponent ? undefined : json.name }, (hasCss && {
220
- responsiveStyles: responsiveStyles,
221
- })), { layerName: json.properties.$name }), (thisIsComponent && {
222
- component: {
223
- name: mapComponentName(json.name),
224
- options: componentOptions,
225
- },
226
- })), { code: {
236
+ return el({
237
+ tagName: thisIsComponent ? undefined : json.name,
238
+ ...(hasCss && {
239
+ responsiveStyles,
240
+ }),
241
+ layerName: json.properties.$name,
242
+ ...(thisIsComponent && {
243
+ component: {
244
+ name: mapComponentName(json.name),
245
+ options: componentOptions,
246
+ },
247
+ }),
248
+ code: {
227
249
  bindings: builderBindings,
228
- actions: actions,
229
- }, properties: thisIsComponent ? undefined : omitMetaProperties(json.properties), bindings: thisIsComponent
250
+ actions,
251
+ },
252
+ properties: thisIsComponent ? undefined : omitMetaProperties(json.properties),
253
+ bindings: thisIsComponent
230
254
  ? builderBindings
231
- : (0, lodash_1.omit)((0, lodash_1.mapValues)(bindings, function (value) { return value === null || value === void 0 ? void 0 : value.code; }), 'css'), actions: actions, children: json.children
255
+ : (0, lodash_1.omit)((0, lodash_1.mapValues)(bindings, (value) => value === null || value === void 0 ? void 0 : value.code), 'css'),
256
+ actions,
257
+ children: json.children
232
258
  .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
233
- .map(function (child) { return (0, exports.blockToBuilder)(child, options); }) }), options);
259
+ .map((child) => (0, exports.blockToBuilder)(child, options)),
260
+ }, options);
234
261
  };
235
262
  exports.blockToBuilder = blockToBuilder;
236
- var componentToBuilder = function (options) {
237
- if (options === void 0) { options = {}; }
238
- return function (_a) {
239
- var _b, _c;
240
- var component = _a.component;
241
- var hasState = (0, state_1.checkHasState)(component);
242
- var result = (0, fast_clone_1.fastClone)({
243
- data: {
244
- httpRequests: (_c = (_b = component === null || component === void 0 ? void 0 : component.meta) === null || _b === void 0 ? void 0 : _b.useMetadata) === null || _c === void 0 ? void 0 : _c.httpRequests,
245
- jsCode: tryFormat((0, dedent_1.dedent)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n\n ", "\n \n ", "\n "], ["\n ", "\n\n ", "\n \n ", "\n "])), !(0, has_props_1.hasProps)(component) ? '' : "var props = state;", !hasState ? '' : "Object.assign(state, ".concat((0, get_state_object_string_1.getStateObjectStringFromComponent)(component), ");"), (0, on_mount_1.stringifySingleScopeOnMount)(component))),
246
- tsCode: tryFormat((0, dedent_1.dedent)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n\n ", "\n\n ", "\n "], ["\n ", "\n\n ", "\n\n ", "\n "])), !(0, has_props_1.hasProps)(component) ? '' : "var props = state;", !hasState ? '' : "useStore(".concat((0, get_state_object_string_1.getStateObjectStringFromComponent)(component), ");"), !component.hooks.onMount.length
247
- ? ''
248
- : "onMount(() => {\n ".concat((0, on_mount_1.stringifySingleScopeOnMount)(component), "\n })"))),
249
- blocks: component.children
250
- .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
251
- .map(function (child) { return (0, exports.blockToBuilder)(child, options); }),
252
- },
263
+ const componentToBuilder = (options = {}) => ({ component }) => {
264
+ var _a, _b;
265
+ const hasState = (0, state_1.checkHasState)(component);
266
+ const result = (0, fast_clone_1.fastClone)({
267
+ data: {
268
+ httpRequests: (_b = (_a = component === null || component === void 0 ? void 0 : component.meta) === null || _a === void 0 ? void 0 : _a.useMetadata) === null || _b === void 0 ? void 0 : _b.httpRequests,
269
+ jsCode: tryFormat((0, dedent_1.dedent) `
270
+ ${!(0, has_props_1.hasProps)(component) ? '' : `var props = state;`}
271
+
272
+ ${!hasState ? '' : `Object.assign(state, ${(0, get_state_object_string_1.getStateObjectStringFromComponent)(component)});`}
273
+
274
+ ${(0, on_mount_1.stringifySingleScopeOnMount)(component)}
275
+ `),
276
+ tsCode: tryFormat((0, dedent_1.dedent) `
277
+ ${!(0, has_props_1.hasProps)(component) ? '' : `var props = state;`}
278
+
279
+ ${!hasState ? '' : `useStore(${(0, get_state_object_string_1.getStateObjectStringFromComponent)(component)});`}
280
+
281
+ ${!component.hooks.onMount.length
282
+ ? ''
283
+ : `onMount(() => {
284
+ ${(0, on_mount_1.stringifySingleScopeOnMount)(component)}
285
+ })`}
286
+ `),
287
+ blocks: component.children
288
+ .filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
289
+ .map((child) => (0, exports.blockToBuilder)(child, options)),
290
+ },
291
+ });
292
+ const subComponentMap = {};
293
+ for (const subComponent of component.subComponents) {
294
+ const name = subComponent.name;
295
+ subComponentMap[name] = (0, exports.componentToBuilder)(options)({
296
+ component: subComponent,
253
297
  });
254
- var subComponentMap = {};
255
- for (var _i = 0, _d = component.subComponents; _i < _d.length; _i++) {
256
- var subComponent = _d[_i];
257
- var name_1 = subComponent.name;
258
- subComponentMap[name_1] = (0, exports.componentToBuilder)(options)({
259
- component: subComponent,
260
- });
261
- }
262
- (0, legacy_1.default)([result, subComponentMap]).forEach(function (el) {
263
- var _a;
264
- if ((0, builder_1.isBuilderElement)(el)) {
265
- var value = subComponentMap[(_a = el.component) === null || _a === void 0 ? void 0 : _a.name];
266
- if (value) {
267
- (0, lodash_1.set)(el, 'component.options.symbol.content', value);
268
- }
298
+ }
299
+ (0, legacy_1.default)([result, subComponentMap]).forEach(function (el) {
300
+ var _a;
301
+ if ((0, builder_1.isBuilderElement)(el)) {
302
+ const value = subComponentMap[(_a = el.component) === null || _a === void 0 ? void 0 : _a.name];
303
+ if (value) {
304
+ (0, lodash_1.set)(el, 'component.options.symbol.content', value);
269
305
  }
270
- });
271
- return result;
272
- };
306
+ }
307
+ });
308
+ return result;
273
309
  };
274
310
  exports.componentToBuilder = componentToBuilder;
275
- var templateObject_1, templateObject_2;
@@ -1,32 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contextToAngular = void 0;
4
- var get_state_object_string_1 = require("../../helpers/get-state-object-string");
5
- var standalone_1 = require("prettier/standalone");
6
- var contextToAngular = function (options) {
7
- if (options === void 0) { options = { typescript: false }; }
8
- return function (_a) {
9
- var context = _a.context;
10
- var str = "\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class ".concat(context.name, "Context {\n ").concat((0, get_state_object_string_1.stringifyContextValue)(context.value)
11
- .replace(/^\{/, '')
12
- .replace(/\}$/, '')
13
- .replaceAll(',', ';\n')
14
- .replaceAll(':', ': any = '), "\n constructor() { }\n}\n ");
15
- if (options.format !== false) {
16
- try {
17
- str = (0, standalone_1.format)(str, {
18
- parser: 'typescript',
19
- plugins: [
20
- require('prettier/parser-typescript'), // To support running in browsers
21
- ],
22
- });
23
- }
24
- catch (err) {
25
- console.error('Format error for file:', str);
26
- throw err;
27
- }
4
+ const get_state_object_string_1 = require("../../helpers/get-state-object-string");
5
+ const standalone_1 = require("prettier/standalone");
6
+ const contextToAngular = (options = { typescript: false }) => ({ context }) => {
7
+ let str = `
8
+ import { Injectable } from '@angular/core';
9
+
10
+ @Injectable({
11
+ providedIn: 'root'
12
+ })
13
+ export default class ${context.name}Context {
14
+ ${(0, get_state_object_string_1.stringifyContextValue)(context.value)
15
+ .replace(/^\{/, '')
16
+ .replace(/\}$/, '')
17
+ .replaceAll(',', ';\n')
18
+ .replaceAll(':', ': any = ')}
19
+ constructor() { }
20
+ }
21
+ `;
22
+ if (options.format !== false) {
23
+ try {
24
+ str = (0, standalone_1.format)(str, {
25
+ parser: 'typescript',
26
+ plugins: [
27
+ require('prettier/parser-typescript'), // To support running in browsers
28
+ ],
29
+ });
28
30
  }
29
- return str;
30
- };
31
+ catch (err) {
32
+ console.error('Format error for file:', str);
33
+ throw err;
34
+ }
35
+ }
36
+ return str;
31
37
  };
32
38
  exports.contextToAngular = contextToAngular;
@@ -1,27 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getContextWithSymbolKey = void 0;
4
- var standalone_1 = require("prettier/standalone");
5
- var get_state_object_string_1 = require("../../../helpers/get-state-object-string");
6
- var getContextWithSymbolKey = function (options) {
7
- return function (_a) {
8
- var context = _a.context;
9
- var str = "\n const key = Symbol(); \n\n export default {\n ".concat(context.name, ": ").concat((0, get_state_object_string_1.stringifyContextValue)(context.value), ", \n key \n }\n ");
10
- if (options.prettier !== false) {
11
- try {
12
- str = (0, standalone_1.format)(str, {
13
- parser: 'typescript',
14
- plugins: [
15
- require('prettier/parser-typescript'), // To support running in browsers
16
- ],
17
- });
18
- }
19
- catch (err) {
20
- console.error('Format error for file:', str);
21
- throw err;
22
- }
4
+ const standalone_1 = require("prettier/standalone");
5
+ const get_state_object_string_1 = require("../../../helpers/get-state-object-string");
6
+ const getContextWithSymbolKey = (options) => ({ context }) => {
7
+ let str = `
8
+ const key = Symbol();
9
+
10
+ export default {
11
+ ${context.name}: ${(0, get_state_object_string_1.stringifyContextValue)(context.value)},
12
+ key
13
+ }
14
+ `;
15
+ if (options.prettier !== false) {
16
+ try {
17
+ str = (0, standalone_1.format)(str, {
18
+ parser: 'typescript',
19
+ plugins: [
20
+ require('prettier/parser-typescript'), // To support running in browsers
21
+ ],
22
+ });
23
23
  }
24
- return str;
25
- };
24
+ catch (err) {
25
+ console.error('Format error for file:', str);
26
+ throw err;
27
+ }
28
+ }
29
+ return str;
26
30
  };
27
31
  exports.getContextWithSymbolKey = getContextWithSymbolKey;
@@ -1,27 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contextToQwik = void 0;
4
- var standalone_1 = require("prettier/standalone");
5
- var contextToQwik = function (options) {
6
- if (options === void 0) { options = {}; }
7
- return function (_a) {
8
- var context = _a.context;
9
- var str = "\n import { createContextId } from '@builder.io/qwik';\n\n export default createContextId<any>(\"".concat(context.name, "\")\n ");
10
- if (options.format !== false) {
11
- try {
12
- str = (0, standalone_1.format)(str, {
13
- parser: 'typescript',
14
- plugins: [
15
- require('prettier/parser-typescript'), // To support running in browsers
16
- ],
17
- });
18
- }
19
- catch (err) {
20
- console.error('Format error for file:', str);
21
- throw err;
22
- }
4
+ const standalone_1 = require("prettier/standalone");
5
+ const contextToQwik = (options = {}) => ({ context }) => {
6
+ let str = `
7
+ import { createContextId } from '@builder.io/qwik';
8
+
9
+ export default createContextId<any>("${context.name}")
10
+ `;
11
+ if (options.format !== false) {
12
+ try {
13
+ str = (0, standalone_1.format)(str, {
14
+ parser: 'typescript',
15
+ plugins: [
16
+ require('prettier/parser-typescript'), // To support running in browsers
17
+ ],
18
+ });
23
19
  }
24
- return str;
25
- };
20
+ catch (err) {
21
+ console.error('Format error for file:', str);
22
+ throw err;
23
+ }
24
+ }
25
+ return str;
26
26
  };
27
27
  exports.contextToQwik = contextToQwik;