@builder.io/mitosis 0.0.56-14 → 0.0.56-15

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 (171) hide show
  1. package/dist/src/__tests__/angular.test.js +2 -104
  2. package/dist/src/__tests__/builder.test.js +3 -3
  3. package/dist/src/__tests__/data/basic-child-component.raw.jsx +1 -2
  4. package/dist/src/__tests__/data/basic-context.raw.jsx +1 -1
  5. package/dist/src/__tests__/data/basic-custom-mitosis-package.raw.jsx +2 -4
  6. package/dist/src/__tests__/data/basic-for-show.raw.jsx +2 -3
  7. package/dist/src/__tests__/data/basic-for.raw.jsx +2 -3
  8. package/dist/src/__tests__/data/basic-forwardRef-metadata.raw.d.ts +1 -1
  9. package/dist/src/__tests__/data/basic-forwardRef-metadata.raw.jsx +1 -1
  10. package/dist/src/__tests__/data/basic-forwardRef.raw.d.ts +1 -1
  11. package/dist/src/__tests__/data/basic-forwardRef.raw.jsx +1 -1
  12. package/dist/src/__tests__/data/basic-onChange.raw.jsx +1 -1
  13. package/dist/src/__tests__/data/basic-onMount-update.raw.jsx +1 -1
  14. package/dist/src/__tests__/data/basic-onUpdate-return.raw.jsx +1 -1
  15. package/dist/src/__tests__/data/basic-outputs-meta.raw.jsx +1 -1
  16. package/dist/src/__tests__/data/basic-outputs.raw.jsx +1 -1
  17. package/dist/src/__tests__/data/basic-preserve-export-or-local-statement.raw.d.ts +6 -0
  18. package/dist/src/__tests__/data/basic-preserve-export-or-local-statement.raw.jsx +14 -0
  19. package/dist/src/__tests__/data/basic-props-destructure.raw.d.ts +6 -0
  20. package/dist/src/__tests__/data/basic-props-destructure.raw.jsx +14 -0
  21. package/dist/src/__tests__/data/basic-props.raw.d.ts +6 -0
  22. package/dist/src/__tests__/data/basic-props.raw.jsx +13 -0
  23. package/dist/src/__tests__/data/basic-ref-usePrevious.raw.jsx +1 -1
  24. package/dist/src/__tests__/data/basic-ref.raw.jsx +1 -1
  25. package/dist/src/__tests__/data/basic.raw.d.ts +3 -1
  26. package/dist/src/__tests__/data/basic.raw.jsx +5 -2
  27. package/dist/src/__tests__/data/blocks/classname-jsx.raw.jsx +1 -1
  28. package/dist/src/__tests__/data/blocks/columns.raw.jsx +1 -1
  29. package/dist/src/__tests__/data/blocks/custom-code.raw.jsx +2 -6
  30. package/dist/src/__tests__/data/blocks/embed.raw.jsx +2 -6
  31. package/dist/src/__tests__/data/blocks/form.raw.jsx +2 -2
  32. package/dist/src/__tests__/data/blocks/image.raw.jsx +8 -9
  33. package/dist/src/__tests__/data/blocks/img-state.raw.jsx +1 -1
  34. package/dist/src/__tests__/data/blocks/input.raw.jsx +1 -3
  35. package/dist/src/__tests__/data/blocks/multiple-onUpdateWithDeps.raw.jsx +7 -1
  36. package/dist/src/__tests__/data/blocks/onInit.raw.jsx +1 -1
  37. package/dist/src/__tests__/data/blocks/onUpdateWithDeps.raw.jsx +1 -1
  38. package/dist/src/__tests__/data/blocks/section-state.raw.jsx +1 -1
  39. package/dist/src/__tests__/data/blocks/select.raw.jsx +1 -3
  40. package/dist/src/__tests__/data/blocks/shadow-dom.raw.jsx +2 -4
  41. package/dist/src/__tests__/data/blocks/stamped-io.raw.jsx +2 -4
  42. package/dist/src/__tests__/data/blocks/text.raw.jsx +2 -5
  43. package/dist/src/__tests__/data/state/component-props-interface.raw.d.ts +6 -0
  44. package/dist/src/__tests__/data/state/component-props-interface.raw.jsx +6 -0
  45. package/dist/src/__tests__/data/state/component-props-type.raw.d.ts +6 -0
  46. package/dist/src/__tests__/data/state/component-props-type.raw.jsx +6 -0
  47. package/dist/src/__tests__/data/state/preserve-typing.raw.d.ts +8 -0
  48. package/dist/src/__tests__/data/state/preserve-typing.raw.jsx +6 -0
  49. package/dist/src/__tests__/data/state/state-and-store.raw.d.ts +1 -0
  50. package/dist/src/__tests__/data/state/state-and-store.raw.jsx +14 -0
  51. package/dist/src/__tests__/data/types/component-props-interface.raw.jsx +1 -1
  52. package/dist/src/__tests__/data/types/component-props-type.raw.jsx +1 -1
  53. package/dist/src/__tests__/data/types/preserve-typing.raw.jsx +1 -1
  54. package/dist/src/__tests__/data/types copy/component-props-interface.raw.d.ts +6 -0
  55. package/dist/src/__tests__/data/types copy/component-props-interface.raw.jsx +6 -0
  56. package/dist/src/__tests__/data/types copy/component-props-type.raw.d.ts +6 -0
  57. package/dist/src/__tests__/data/types copy/component-props-type.raw.jsx +6 -0
  58. package/dist/src/__tests__/data/types copy/preserve-typing.raw.d.ts +8 -0
  59. package/dist/src/__tests__/data/types copy/preserve-typing.raw.jsx +6 -0
  60. package/dist/src/__tests__/html.test.js +2 -145
  61. package/dist/src/__tests__/liquid.test.js +2 -109
  62. package/dist/src/__tests__/parse-jsx.test.js +22 -0
  63. package/dist/src/__tests__/qwik.test.js +40 -5
  64. package/dist/src/__tests__/react-native.test.js +2 -135
  65. package/dist/src/__tests__/react.test.js +5 -177
  66. package/dist/src/__tests__/shared.d.ts +3 -0
  67. package/dist/src/__tests__/shared.js +210 -0
  68. package/dist/src/__tests__/solid.test.js +2 -103
  69. package/dist/src/__tests__/stencil.test.js +3 -98
  70. package/dist/src/__tests__/svelte.test.js +6 -0
  71. package/dist/src/__tests__/vue.test.js +2 -134
  72. package/dist/src/__tests__/webcomponent.test copy.d.ts +1 -0
  73. package/dist/src/__tests__/webcomponent.test copy.js +224 -0
  74. package/dist/src/__tests__/webcomponent.test.js +6 -165
  75. package/dist/src/constants/hooks.d.ts +6 -0
  76. package/dist/src/constants/hooks.js +9 -0
  77. package/dist/src/generators/angular.d.ts +1 -1
  78. package/dist/src/generators/angular.js +24 -27
  79. package/dist/src/generators/builder.d.ts +1 -1
  80. package/dist/src/generators/builder.js +6 -12
  81. package/dist/src/generators/context/svelte.d.ts +1 -1
  82. package/dist/src/generators/helpers/context.js +1 -2
  83. package/dist/src/generators/html.d.ts +1 -1
  84. package/dist/src/generators/html.js +32 -45
  85. package/dist/src/generators/liquid.d.ts +1 -1
  86. package/dist/src/generators/liquid.js +4 -12
  87. package/dist/src/generators/mitosis.d.ts +1 -1
  88. package/dist/src/generators/mitosis.js +7 -25
  89. package/dist/src/generators/qwik/component.js +2 -4
  90. package/dist/src/generators/qwik/directives.js +2 -6
  91. package/dist/src/generators/qwik/index.d.ts +2 -1
  92. package/dist/src/generators/qwik/jsx.js +1 -2
  93. package/dist/src/generators/qwik/src-generator.d.ts +1 -1
  94. package/dist/src/generators/qwik/src-generator.js +16 -4
  95. package/dist/src/generators/qwik/styles.js +1 -2
  96. package/dist/src/generators/react-native.d.ts +1 -1
  97. package/dist/src/generators/react-native.js +3 -6
  98. package/dist/src/generators/react.d.ts +1 -1
  99. package/dist/src/generators/react.js +17 -35
  100. package/dist/src/generators/solid.d.ts +1 -1
  101. package/dist/src/generators/solid.js +3 -9
  102. package/dist/src/generators/stencil/generate.d.ts +1 -1
  103. package/dist/src/generators/stencil/generate.js +3 -9
  104. package/dist/src/generators/svelte.d.ts +1 -1
  105. package/dist/src/generators/svelte.js +7 -24
  106. package/dist/src/generators/swift-ui.d.ts +1 -1
  107. package/dist/src/generators/swift-ui.js +6 -12
  108. package/dist/src/generators/template.d.ts +1 -1
  109. package/dist/src/generators/template.js +4 -12
  110. package/dist/src/generators/vue.d.ts +12 -6
  111. package/dist/src/generators/vue.js +39 -29
  112. package/dist/src/helpers/babel-transform.js +3 -8
  113. package/dist/src/helpers/collect-styles.js +1 -2
  114. package/dist/src/helpers/fast-clone.js +1 -3
  115. package/dist/src/helpers/filter-empty-text-nodes.js +1 -2
  116. package/dist/src/helpers/getters-to-functions.d.ts +1 -1
  117. package/dist/src/helpers/getters-to-functions.js +1 -1
  118. package/dist/src/helpers/is-children.js +1 -2
  119. package/dist/src/helpers/is-component.js +1 -3
  120. package/dist/src/helpers/is-html-attribute.js +2 -18
  121. package/dist/src/helpers/parsers.js +1 -2
  122. package/dist/src/helpers/render-imports copy.d.ts +4 -0
  123. package/dist/src/helpers/render-imports copy.js +112 -0
  124. package/dist/src/helpers/render-imports.d.ts +16 -2
  125. package/dist/src/helpers/render-imports.js +80 -45
  126. package/dist/src/helpers/render-imports.test.d.ts +1 -0
  127. package/dist/src/helpers/render-imports.test.js +19 -0
  128. package/dist/src/helpers/replace-idenifiers.js +2 -5
  129. package/dist/src/helpers/strip-state-and-props-refs.js +2 -6
  130. package/dist/src/helpers/typescript.d.ts +2 -0
  131. package/dist/src/helpers/typescript.js +2 -0
  132. package/dist/src/index.d.ts +4 -2
  133. package/dist/src/index.js +23 -8
  134. package/dist/src/modules/plugins.d.ts +1 -1
  135. package/dist/src/parsers/angular.js +10 -28
  136. package/dist/src/parsers/builder.js +15 -33
  137. package/dist/src/parsers/jsx.js +97 -77
  138. package/dist/src/parsers/liquid.js +51 -149
  139. package/dist/src/plugins/compile-away-builder-components.js +4 -10
  140. package/dist/src/symbols/symbol-processor.js +1 -3
  141. package/dist/src/targets.d.ts +4 -3
  142. package/dist/src/targets.js +5 -1
  143. package/dist/src/types/config.d.ts +35 -17
  144. package/dist/src/types/transpiler.d.ts +14 -0
  145. package/dist/src/types/transpiler.js +2 -0
  146. package/dist/test/qwik/Accordion/low.jsx +1 -0
  147. package/dist/test/qwik/For/low.jsx +1 -0
  148. package/dist/test/qwik/Image/med.js +2 -1
  149. package/dist/test/qwik/Image.slow/med.js +2 -1
  150. package/dist/test/qwik/bindings/low.cjs +3 -2
  151. package/dist/test/qwik/button/low.js +1 -0
  152. package/dist/test/qwik/component/bindings/low.jsx +2 -1
  153. package/dist/test/qwik/component/component/inputs/med.cjsx +2 -1
  154. package/dist/test/qwik/for-loop.bindings/high.cjs +0 -0
  155. package/dist/test/qwik/for-loop.bindings/low.cjs +47 -0
  156. package/dist/test/qwik/for-loop.bindings/med.cjs +5 -0
  157. package/dist/test/qwik/hello_world/stylesheet/low.jsx +1 -0
  158. package/dist/test/qwik/mount/high.cjs +0 -0
  159. package/dist/test/qwik/mount/low.cjs +44 -0
  160. package/dist/test/qwik/mount/med.cjs +3 -0
  161. package/dist/test/qwik/page-with-symbol/low.js +1 -0
  162. package/dist/test/qwik/show-hide/med.jsx +2 -1
  163. package/dist/test/qwik/svg/low.js +1 -0
  164. package/dist/test/qwik/todo/Todo.cjs/med.cjs +1 -0
  165. package/dist/test/qwik/todo/Todo.js/med.js +1 -0
  166. package/dist/test/qwik/todo/Todo.tsx/med.tsx +1 -0
  167. package/dist/test/qwik/todos/Todo.tsx/low.tsx +1 -0
  168. package/dist/tsconfig.build.tsbuildinfo +1 -1
  169. package/dist/tsconfig.tsbuildinfo +1 -1
  170. package/package.json +6 -2
  171. package/README.md +0 -239
@@ -1,109 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var angular_1 = require("../generators/angular");
4
- var jsx_1 = require("../parsers/jsx");
5
- var multipleOnUpdate = require('./data/blocks/multiple-onUpdate.raw');
6
- var onUpdate = require('./data/blocks/onUpdate.raw');
7
- var onMount = require('./data/blocks/onMount.raw');
8
- var onInitonMount = require('./data/blocks/onInit-onMount.raw');
9
- var onInit = require('./data/blocks/onInit.raw');
10
- var basicFor = require('./data/basic-for.raw');
11
- var basic = require('./data/basic.raw');
12
- var basicChildComponent = require('./data/basic-child-component.raw');
13
- var basicOutputsMeta = require('./data/basic-outputs-meta.raw');
14
- var basicOutputs = require('./data/basic-outputs.raw');
15
- var contentSlotHtml = require('./data/blocks/content-slot-html.raw');
16
- var contentSlotJsx = require('./data/blocks/content-slot-jsx.raw');
17
- var slotJsx = require('./data/blocks/slot-jsx.raw');
18
- var classNameJsx = require('./data/blocks/classname-jsx.raw');
19
- var text = require('./data/blocks/text.raw');
20
- // const slotHtml = require('./data/blocks/slot-html.raw');
4
+ var shared_1 = require("./shared");
21
5
  describe('Angular', function () {
22
- test('Basic', function () {
23
- var component = (0, jsx_1.parseJsx)(basic);
24
- var output = (0, angular_1.componentToAngular)()({ component: component });
25
- expect(output).toMatchSnapshot();
26
- });
27
- test('Basic Child Component', function () {
28
- var component = (0, jsx_1.parseJsx)(basicChildComponent);
29
- var output = (0, angular_1.componentToAngular)()({ component: component });
30
- expect(output).toMatchSnapshot();
31
- });
32
- test('basic outputs meta', function () {
33
- var component = (0, jsx_1.parseJsx)(basicOutputsMeta);
34
- var output = (0, angular_1.componentToAngular)()({ component: component });
35
- expect(output).toMatchSnapshot();
36
- });
37
- test('basic outputs', function () {
38
- var component = (0, jsx_1.parseJsx)(basicOutputs);
39
- var output = (0, angular_1.componentToAngular)()({ component: component });
40
- expect(output).toMatchSnapshot();
41
- });
42
- test('basic outputs same as meta', function () {
43
- var component = (0, jsx_1.parseJsx)(basicOutputs);
44
- var componentMeta = (0, jsx_1.parseJsx)(basicOutputsMeta);
45
- var output = (0, angular_1.componentToAngular)()({ component: component });
46
- var outputMeta = (0, angular_1.componentToAngular)()({ component: componentMeta });
47
- expect(output).toMatch(outputMeta);
48
- });
49
- test('multiple onUpdate', function () {
50
- var component = (0, jsx_1.parseJsx)(multipleOnUpdate);
51
- var output = (0, angular_1.componentToAngular)()({ component: component });
52
- expect(output).toMatchSnapshot();
53
- });
54
- test('onUpdate', function () {
55
- var component = (0, jsx_1.parseJsx)(onUpdate);
56
- var output = (0, angular_1.componentToAngular)()({ component: component });
57
- expect(output).toMatchSnapshot();
58
- });
59
- test('onMount', function () {
60
- var component = (0, jsx_1.parseJsx)(onMount);
61
- var output = (0, angular_1.componentToAngular)()({ component: component });
62
- expect(output).toMatchSnapshot();
63
- });
64
- test('onInit and onMount', function () {
65
- var component = (0, jsx_1.parseJsx)(onInitonMount);
66
- var output = (0, angular_1.componentToAngular)()({ component: component });
67
- expect(output).toMatchSnapshot();
68
- });
69
- test('onInit', function () {
70
- var component = (0, jsx_1.parseJsx)(onInit);
71
- var output = (0, angular_1.componentToAngular)()({ component: component });
72
- expect(output).toMatchSnapshot();
73
- });
74
- test('BasicFor', function () {
75
- var component = (0, jsx_1.parseJsx)(basicFor);
76
- var output = (0, angular_1.componentToAngular)()({ component: component });
77
- expect(output).toMatchSnapshot();
78
- });
79
- test('ng-content and Slot', function () {
80
- var component = (0, jsx_1.parseJsx)(contentSlotHtml);
81
- var output = (0, angular_1.componentToAngular)()({ component: component });
82
- expect(output).toMatchSnapshot();
83
- });
84
- test('ng-content and Slot jsx-props', function () {
85
- var component = (0, jsx_1.parseJsx)(contentSlotJsx);
86
- var output = (0, angular_1.componentToAngular)()({ component: component });
87
- expect(output).toMatchSnapshot();
88
- });
89
- test('Slot Jsx', function () {
90
- var component = (0, jsx_1.parseJsx)(slotJsx);
91
- var output = (0, angular_1.componentToAngular)()({ component: component });
92
- expect(output).toMatchSnapshot();
93
- });
94
- // test('Slot Html', () => {
95
- // const component = parseJsx(slotHtml);
96
- // const output = componentToAngular()({ component });
97
- // expect(output).toMatchSnapshot();
98
- // });
99
- test('className to class', function () {
100
- var component = (0, jsx_1.parseJsx)(classNameJsx);
101
- var output = (0, angular_1.componentToAngular)()({ component: component });
102
- expect(output).toMatchSnapshot();
103
- });
104
- test('Text', function () {
105
- var component = (0, jsx_1.parseJsx)(text);
106
- var output = (0, angular_1.componentToAngular)()({ component: component });
107
- expect(output).toMatchSnapshot();
108
- });
6
+ (0, shared_1.runTestsForTarget)('angular', (0, angular_1.componentToAngular)());
109
7
  });
@@ -160,7 +160,7 @@ describe('Builder', function () {
160
160
  });
161
161
  }); });
162
162
  test('Regenerate Image', function () {
163
- var code = (0, dedent_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n import { useState } from \"@builder.io/mitosis\";\n import { Image } from \"@components\";\n\n export default function MyComponent(props) {\n const state = useState({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <Image\n image=\"https://cdn.builder.io/api/v1/image/foobar\"\n sizes=\"100vw\"\n backgroundSize=\"contain\"\n css={{\n marignTop: \"50px\",\n display: \"block\",\n }}\n />\n </div>\n );\n }\n "], ["\n import { useState } from \"@builder.io/mitosis\";\n import { Image } from \"@components\";\n\n export default function MyComponent(props) {\n const state = useState({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <Image\n image=\"https://cdn.builder.io/api/v1/image/foobar\"\n sizes=\"100vw\"\n backgroundSize=\"contain\"\n css={{\n marignTop: \"50px\",\n display: \"block\",\n }}\n />\n </div>\n );\n }\n "])));
163
+ var code = (0, dedent_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n import { useStore } from \"@builder.io/mitosis\";\n import { Image } from \"@components\";\n\n export default function MyComponent(props) {\n const state = useStore({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <Image\n image=\"https://cdn.builder.io/api/v1/image/foobar\"\n sizes=\"100vw\"\n backgroundSize=\"contain\"\n css={{\n marignTop: \"50px\",\n display: \"block\",\n }}\n />\n </div>\n );\n }\n "], ["\n import { useStore } from \"@builder.io/mitosis\";\n import { Image } from \"@components\";\n\n export default function MyComponent(props) {\n const state = useStore({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <Image\n image=\"https://cdn.builder.io/api/v1/image/foobar\"\n sizes=\"100vw\"\n backgroundSize=\"contain\"\n css={{\n marignTop: \"50px\",\n display: \"block\",\n }}\n />\n </div>\n );\n }\n "])));
164
164
  var component = (0, jsx_1.parseJsx)(code);
165
165
  var builderJson = (0, builder_1.componentToBuilder)()({ component: component });
166
166
  var backToMitosis = (0, builder_2.builderContentToMitosisComponent)(builderJson);
@@ -174,7 +174,7 @@ describe('Builder', function () {
174
174
  expect(react).toMatchSnapshot();
175
175
  });
176
176
  test('Regenerate Text', function () {
177
- var code = (0, dedent_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n import { useState } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useState({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <h2\n css={{\n marginBottom: \"20px\",\n }}\n >\n Hello!\n </h2>\n </div>\n );\n }\n "], ["\n import { useState } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useState({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <h2\n css={{\n marginBottom: \"20px\",\n }}\n >\n Hello!\n </h2>\n </div>\n );\n }\n "])));
177
+ var code = (0, dedent_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n import { useStore } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useStore({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <h2\n css={{\n marginBottom: \"20px\",\n }}\n >\n Hello!\n </h2>\n </div>\n );\n }\n "], ["\n import { useStore } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useStore({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <div\n css={{\n padding: \"20px\",\n }}\n >\n <h2\n css={{\n marginBottom: \"20px\",\n }}\n >\n Hello!\n </h2>\n </div>\n );\n }\n "])));
178
178
  var component = (0, jsx_1.parseJsx)(code);
179
179
  var builderJson = (0, builder_1.componentToBuilder)()({ component: component });
180
180
  var backToMitosis = (0, builder_2.builderContentToMitosisComponent)(builderJson);
@@ -184,7 +184,7 @@ describe('Builder', function () {
184
184
  expect(mitosis.trim()).toEqual(code.trim());
185
185
  });
186
186
  test('Regenerate loop', function () {
187
- var code = (0, dedent_1.default)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n import { useState, For } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useState({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <For each={state.people}>\n {(person, index) => (\n <div\n key={person}\n css={{\n padding: \"10px 0\",\n }}\n >\n <span>{person}</span>\n <span>{index}</span>\n </div>\n )}\n </For>\n );\n }\n "], ["\n import { useState, For } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useState({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <For each={state.people}>\n {(person, index) => (\n <div\n key={person}\n css={{\n padding: \"10px 0\",\n }}\n >\n <span>{person}</span>\n <span>{index}</span>\n </div>\n )}\n </For>\n );\n }\n "])));
187
+ var code = (0, dedent_1.default)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n import { useStore, For } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useStore({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <For each={state.people}>\n {(person, index) => (\n <div\n key={person}\n css={{\n padding: \"10px 0\",\n }}\n >\n <span>{person}</span>\n <span>{index}</span>\n </div>\n )}\n </For>\n );\n }\n "], ["\n import { useStore, For } from \"@builder.io/mitosis\";\n\n export default function MyComponent(props) {\n const state = useStore({ people: [\"Steve\", \"Sewell\"] });\n\n return (\n <For each={state.people}>\n {(person, index) => (\n <div\n key={person}\n css={{\n padding: \"10px 0\",\n }}\n >\n <span>{person}</span>\n <span>{index}</span>\n </div>\n )}\n </For>\n );\n }\n "])));
188
188
  var component = (0, jsx_1.parseJsx)(code);
189
189
  var builderJson = (0, builder_1.componentToBuilder)()({ component: component });
190
190
  var backToMitosis = (0, builder_2.builderContentToMitosisComponent)(builderJson);
@@ -7,12 +7,11 @@ var mitosis_1 = require("@builder.io/mitosis");
7
7
  var basic_raw_1 = __importDefault(require("./basic.raw"));
8
8
  var basic_onMount_update_raw_1 = __importDefault(require("./basic-onMount-update.raw"));
9
9
  function MyBasicChildComponent() {
10
- var state = (0, mitosis_1.useState)({
10
+ var state = (0, mitosis_1.useStore)({
11
11
  name: 'Steve',
12
12
  dev: 'PatrickJS',
13
13
  });
14
14
  return (<div>
15
- {/*// @ts-ignore */}
16
15
  <basic_raw_1.default id={state.dev}/>
17
16
  <div>
18
17
  <basic_onMount_update_raw_1.default hi={state.name} bye={state.dev}/>
@@ -5,7 +5,7 @@ var injection_js_1 = require("@dummy/injection-js");
5
5
  function MyBasicComponent() {
6
6
  (0, mitosis_1.setContext)(injection_js_1.Injector, (0, injection_js_1.createInjector)());
7
7
  var myService = (0, mitosis_1.useContext)(injection_js_1.MyService);
8
- var state = (0, mitosis_1.useState)({
8
+ var state = (0, mitosis_1.useStore)({
9
9
  name: 'PatrickJS',
10
10
  });
11
11
  (0, mitosis_1.onInit)(function () {
@@ -2,11 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var custom_mitosis_1 = require("@dummy/custom-mitosis");
4
4
  function MyBasicComponent() {
5
- var state = (0, custom_mitosis_1.useState)({
5
+ var state = (0, custom_mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  });
8
- return (<div>
9
- Hello {state.name}! I can run in React, Qwik, Vue, Solid, or Liquid!
10
- </div>);
8
+ return <div>Hello {state.name}! I can run in React, Qwik, Vue, Solid, or Liquid!</div>;
11
9
  }
12
10
  exports.default = MyBasicComponent;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicForShowComponent() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  names: ['Steve', 'PatrickJS'],
8
8
  });
@@ -12,8 +12,7 @@ function MyBasicForShowComponent() {
12
12
  <input value={state.name} onChange={function (event) {
13
13
  state.name = event.target.value + ' and ' + person;
14
14
  }}/>
15
- Hello {person}! I can run in Qwik, Web Component, React, Vue, Solid,
16
- or Liquid!
15
+ Hello {person}! I can run in Qwik, Web Component, React, Vue, Solid, or Liquid!
17
16
  </mitosis_1.Show>); }}
18
17
  </mitosis_1.For>
19
18
  </div>);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicForComponent() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  names: ['Steve', 'PatrickJS'],
8
8
  });
@@ -15,8 +15,7 @@ function MyBasicForComponent() {
15
15
  <input value={state.name} onChange={function (event) {
16
16
  state.name = event.target.value + ' and ' + person;
17
17
  }}/>
18
- Hello {person}! I can run in Qwik, Web Component, React, Vue, Solid,
19
- or Liquid!
18
+ Hello {person}! I can run in Qwik, Web Component, React, Vue, Solid, or Liquid!
20
19
  </>); }}
21
20
  </mitosis_1.For>
22
21
  </div>);
@@ -1,5 +1,5 @@
1
1
  export interface Props {
2
2
  showInput: boolean;
3
- inputRef: any;
3
+ inputRef: HTMLInputElement;
4
4
  }
5
5
  export default function MyBasicForwardRefComponent(props: Props): JSX.Element;
@@ -5,7 +5,7 @@ var mitosis_1 = require("@builder.io/mitosis");
5
5
  forwardRef: 'inputRef',
6
6
  });
7
7
  function MyBasicForwardRefComponent(props) {
8
- var state = (0, mitosis_1.useState)({
8
+ var state = (0, mitosis_1.useStore)({
9
9
  name: 'PatrickJS',
10
10
  });
11
11
  return (<div>
@@ -1,5 +1,5 @@
1
1
  export interface Props {
2
2
  showInput: boolean;
3
- inputRef: any;
3
+ inputRef: HTMLInputElement;
4
4
  }
5
5
  export default function MyBasicForwardRefComponent(props: Props): JSX.Element;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicForwardRefComponent(props) {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  });
8
8
  return (<div>
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicComponent() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'Steve',
7
7
  });
8
8
  return (<div class="test" css={{
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicOnMountUpdateComponent(props) {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  names: ['Steve', 'PatrickJS'],
8
8
  });
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicOnUpdateReturnComponent() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  });
8
8
  (0, mitosis_1.onUpdate)(function () {
@@ -5,7 +5,7 @@ var mitosis_1 = require("@builder.io/mitosis");
5
5
  outputs: ['onMessage', 'onEvent'],
6
6
  });
7
7
  function MyBasicOutputsComponent(props) {
8
- var state = (0, mitosis_1.useState)({
8
+ var state = (0, mitosis_1.useStore)({
9
9
  name: 'PatrickJS',
10
10
  });
11
11
  (0, mitosis_1.onMount)(function () {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicOutputsComponent(props) {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  name: 'PatrickJS',
7
7
  });
8
8
  (0, mitosis_1.onMount)(function () {
@@ -0,0 +1,6 @@
1
+ export declare const a = 3;
2
+ export declare const bar: () => void;
3
+ export declare function run<T>(value: T): void;
4
+ export default function MyBasicComponent(props: {
5
+ id: string;
6
+ }): JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = exports.bar = exports.a = void 0;
4
+ var b = 3;
5
+ var foo = function () { };
6
+ exports.a = 3;
7
+ var bar = function () { };
8
+ exports.bar = bar;
9
+ function run(value) { }
10
+ exports.run = run;
11
+ function MyBasicComponent(props) {
12
+ return <div></div>;
13
+ }
14
+ exports.default = MyBasicComponent;
@@ -0,0 +1,6 @@
1
+ declare type Props = {
2
+ children: any;
3
+ type: string;
4
+ };
5
+ export default function MyBasicComponent({ children: c, type }: Props): JSX.Element;
6
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mitosis_1 = require("@builder.io/mitosis");
4
+ function MyBasicComponent(_a) {
5
+ var c = _a.children, type = _a.type;
6
+ var state = (0, mitosis_1.useStore)({
7
+ name: 'Decadef20',
8
+ });
9
+ return (<div>
10
+ {c} {type}
11
+ Hello! I can run in React, Vue, Solid, or Liquid!
12
+ </div>);
13
+ }
14
+ exports.default = MyBasicComponent;
@@ -0,0 +1,6 @@
1
+ declare type Props = {
2
+ children: any;
3
+ type: string;
4
+ };
5
+ export default function MyBasicComponent(props: Props): JSX.Element;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mitosis_1 = require("@builder.io/mitosis");
4
+ function MyBasicComponent(props) {
5
+ var state = (0, mitosis_1.useStore)({
6
+ name: 'Decadef20',
7
+ });
8
+ return (<div>
9
+ {props.children} {props.type}
10
+ Hello! I can run in React, Vue, Solid, or Liquid!
11
+ </div>);
12
+ }
13
+ exports.default = MyBasicComponent;
@@ -15,7 +15,7 @@ function usePrevious(value) {
15
15
  }
16
16
  exports.usePrevious = usePrevious;
17
17
  function MyPreviousComponent(props) {
18
- var state = (0, mitosis_1.useState)({
18
+ var state = (0, mitosis_1.useStore)({
19
19
  count: 0,
20
20
  });
21
21
  var prevCount = (0, mitosis_1.useRef)(state.count);
@@ -4,7 +4,7 @@ var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MyBasicRefComponent(props) {
5
5
  var inputRef = (0, mitosis_1.useRef)(null);
6
6
  var inputNoArgRef = (0, mitosis_1.useRef)(null);
7
- var state = (0, mitosis_1.useState)({
7
+ var state = (0, mitosis_1.useStore)({
8
8
  name: 'PatrickJS',
9
9
  });
10
10
  function onBlur() {
@@ -1,4 +1,6 @@
1
1
  export declare const DEFAULT_VALUES: {
2
2
  name: string;
3
3
  };
4
- export default function MyBasicComponent(): JSX.Element;
4
+ export default function MyBasicComponent(props: {
5
+ id: string;
6
+ }): JSX.Element;
@@ -5,9 +5,12 @@ var mitosis_1 = require("@builder.io/mitosis");
5
5
  exports.DEFAULT_VALUES = {
6
6
  name: 'Steve',
7
7
  };
8
- function MyBasicComponent() {
9
- var state = (0, mitosis_1.useState)({
8
+ function MyBasicComponent(props) {
9
+ var state = (0, mitosis_1.useStore)({
10
10
  name: 'Steve',
11
+ underscore_fn_name: function () {
12
+ return 'bar';
13
+ },
11
14
  });
12
15
  return (<div class="test" css={{
13
16
  padding: '10px',
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function ClassNameCode(props) {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  bindings: 'a binding',
7
7
  });
8
8
  return (<div>
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function Column(props) {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  getColumns: function () {
7
7
  return props.columns || [];
8
8
  },
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function CustomCode(props) {
5
5
  var elem = (0, mitosis_1.useRef)(null);
6
- var state = (0, mitosis_1.useState)({
6
+ var state = (0, mitosis_1.useStore)({
7
7
  scriptsInserted: [],
8
8
  scriptsRun: [],
9
9
  findAndRunScripts: function () {
@@ -24,11 +24,7 @@ function CustomCode(props) {
24
24
  document.head.appendChild(newScript);
25
25
  }
26
26
  else if (!script.type ||
27
- [
28
- 'text/javascript',
29
- 'application/javascript',
30
- 'application/ecmascript',
31
- ].includes(script.type)) {
27
+ ['text/javascript', 'application/javascript', 'application/ecmascript'].includes(script.type)) {
32
28
  if (state.scriptsRun.includes(script.innerText)) {
33
29
  continue;
34
30
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function Embed(props) {
5
5
  var elem = (0, mitosis_1.useRef)(null);
6
- var state = (0, mitosis_1.useState)({
6
+ var state = (0, mitosis_1.useStore)({
7
7
  scriptsInserted: [],
8
8
  scriptsRun: [],
9
9
  findAndRunScripts: function () {
@@ -24,11 +24,7 @@ function Embed(props) {
24
24
  document.head.appendChild(newScript);
25
25
  }
26
26
  else if (!script.type ||
27
- [
28
- 'text/javascript',
29
- 'application/javascript',
30
- 'application/ecmascript',
31
- ].includes(script.type)) {
27
+ ['text/javascript', 'application/javascript', 'application/ecmascript'].includes(script.type)) {
32
28
  if (state.scriptsRun.includes(script.innerText)) {
33
29
  continue;
34
30
  }
@@ -44,7 +44,7 @@ var _fake_3 = require("@fake");
44
44
  var _fake_4 = require("@fake");
45
45
  function FormComponent(props) {
46
46
  var _a;
47
- var state = (0, mitosis_1.useState)({
47
+ var state = (0, mitosis_1.useStore)({
48
48
  state: 'unsubmitted',
49
49
  // TODO: separate response and error?
50
50
  responseData: null,
@@ -246,7 +246,7 @@ function FormComponent(props) {
246
246
  return (<form validate={props.validate} ref={formRef} action={!props.sendWithJs && props.action} method={props.method} name={props.name} onSubmit={function (event) { return state.onSubmit(event); }} {...props.attributes}>
247
247
  <mitosis_1.Show when={props.builderBlock && props.builderBlock.children}>
248
248
  <mitosis_1.For each={(_a = props.builderBlock) === null || _a === void 0 ? void 0 : _a.children}>
249
- {function (block, index) { return (<_fake_1.BuilderBlock key={block.id} block={block} index={index}/>); }}
249
+ {function (block, index) { return <_fake_1.BuilderBlock key={block.id} block={block} index={index}/>; }}
250
250
  </mitosis_1.For>
251
251
  </mitosis_1.Show>
252
252
 
@@ -3,22 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function Image(props) {
5
5
  var pictureRef = (0, mitosis_1.useRef)();
6
- var state = (0, mitosis_1.useState)({
6
+ var state = (0, mitosis_1.useStore)({
7
7
  scrollListener: null,
8
8
  imageLoaded: false,
9
- load: false,
10
9
  setLoaded: function () {
11
10
  state.imageLoaded = true;
12
11
  },
13
- isBrowser: function () {
14
- return (typeof window !== 'undefined' &&
15
- window.navigator.product != 'ReactNative');
16
- },
17
12
  useLazyLoading: function () {
18
13
  // TODO: Add more checks here, like testing for real web browsers
19
- return !!props.lazy && state.isBrowser();
14
+ return !!props.lazy && isBrowser();
20
15
  },
21
16
  });
17
+ function isBrowser() {
18
+ return typeof window !== 'undefined' && window.navigator.product != 'ReactNative';
19
+ }
20
+ var _a = (0, mitosis_1.useState)(false), load = _a[0], setLoad = _a[1];
22
21
  (0, mitosis_1.onMount)(function () {
23
22
  if (state.useLazyLoading()) {
24
23
  // throttled scroll capture listener
@@ -27,7 +26,7 @@ function Image(props) {
27
26
  var rect = pictureRef.getBoundingClientRect();
28
27
  var buffer = window.innerHeight / 2;
29
28
  if (rect.top < window.innerHeight + buffer) {
30
- state.load = true;
29
+ setLoad(true);
31
30
  state.scrollListener = null;
32
31
  window.removeEventListener('scroll', listener_1);
33
32
  }
@@ -48,7 +47,7 @@ function Image(props) {
48
47
  });
49
48
  return (<>
50
49
  <picture ref={pictureRef}>
51
- <mitosis_1.Show when={!state.useLazyLoading() || state.load}>
50
+ <mitosis_1.Show when={!state.useLazyLoading() || load}>
52
51
  <img alt={props.altText} aria-role={props.altText ? 'presentation' : undefined} css={{
53
52
  opacity: '1',
54
53
  transition: 'opacity 0.2s ease-in-out',
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function ImgStateComponent() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  canShow: true,
7
7
  images: ['http://example.com/qwik.png'],
8
8
  });
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  require("@builder.io/mitosis");
4
4
  var sdk_1 = require("@builder.io/sdk");
5
5
  function FormInputComponent(props) {
6
- return (<input {...props.attributes} key={sdk_1.Builder.isEditing && props.defaultValue
7
- ? props.defaultValue
8
- : 'default-key'} placeholder={props.placeholder} type={props.type} name={props.name} value={props.value} defaultValue={props.defaultValue} required={props.required}/>);
6
+ return (<input {...props.attributes} key={sdk_1.Builder.isEditing && props.defaultValue ? props.defaultValue : 'default-key'} placeholder={props.placeholder} type={props.type} name={props.name} value={props.value} defaultValue={props.defaultValue} required={props.required}/>);
9
7
  }
10
8
  exports.default = FormInputComponent;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function MultipleOnUpdateWithDeps() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  a: 'a',
7
7
  b: 'b',
8
8
  c: 'c',
@@ -10,9 +10,15 @@ function MultipleOnUpdateWithDeps() {
10
10
  });
11
11
  (0, mitosis_1.onUpdate)(function () {
12
12
  console.log('Runs when a or b changes', state.a, state.b);
13
+ if (state.a === 'a') {
14
+ state.a = 'b';
15
+ }
13
16
  }, [state.a, state.b]);
14
17
  (0, mitosis_1.onUpdate)(function () {
15
18
  console.log('Runs when c or d changes', state.c, state.d);
19
+ if (state.a === 'a') {
20
+ state.a = 'b';
21
+ }
16
22
  }, [state.c, state.d]);
17
23
  return <div />;
18
24
  }
@@ -6,7 +6,7 @@ exports.defaultValues = {
6
6
  name: 'PatrickJS',
7
7
  };
8
8
  function OnInit(props) {
9
- var state = (0, mitosis_1.useState)({
9
+ var state = (0, mitosis_1.useStore)({
10
10
  // name: props.name
11
11
  // name: defaultValues.name || props.name,
12
12
  name: '',
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var mitosis_1 = require("@builder.io/mitosis");
4
4
  function OnUpdateWithDeps() {
5
- var state = (0, mitosis_1.useState)({
5
+ var state = (0, mitosis_1.useStore)({
6
6
  a: 'a',
7
7
  b: 'b',
8
8
  });