tungsten 0.1.59 → 0.1.61

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 (240) hide show
  1. package/dist/AnyComponent.d.ts.map +1 -1
  2. package/dist/ComponentInstance.d.ts +1 -2
  3. package/dist/ComponentInstance.d.ts.map +1 -1
  4. package/dist/ComponentInstance.js +4 -1
  5. package/dist/ComponentRenderInfo.type.d.ts +6 -0
  6. package/dist/ComponentRenderInfo.type.d.ts.map +1 -0
  7. package/dist/ComponentRenderInfo.type.js +1 -0
  8. package/dist/Components.d.ts +18 -2
  9. package/dist/Components.d.ts.map +1 -1
  10. package/dist/Components.js +105 -4
  11. package/dist/ContentNode.d.ts +3 -1
  12. package/dist/ContentNode.d.ts.map +1 -1
  13. package/dist/ContentNode.js +1 -0
  14. package/dist/Framework.d.ts +1 -1
  15. package/dist/Framework.d.ts.map +1 -1
  16. package/dist/Framework.js +42 -25
  17. package/dist/FrameworkConfig.d.ts +20 -4
  18. package/dist/FrameworkConfig.d.ts.map +1 -1
  19. package/dist/FunctionComponent.d.ts +2 -0
  20. package/dist/FunctionComponent.d.ts.map +1 -1
  21. package/dist/FunctionComponentStandIn.d.ts +9 -4
  22. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  23. package/dist/FunctionComponentStandIn.js +17 -2
  24. package/dist/Instance/Instance.d.ts.map +1 -1
  25. package/dist/Instance/InstanceConfig.d.ts +2 -0
  26. package/dist/Instance/InstanceConfig.d.ts.map +1 -1
  27. package/dist/RenderedContentNode.d.ts +6 -1
  28. package/dist/RenderedContentNode.d.ts.map +1 -1
  29. package/dist/RenderedContentNode.js +2 -2
  30. package/dist/RenderingNode.d.ts +23 -8
  31. package/dist/RenderingNode.d.ts.map +1 -1
  32. package/dist/RenderingNode.js +39 -8
  33. package/dist/Servers/DevServer.d.ts.map +1 -1
  34. package/dist/Servers/DevServer.js +74 -25
  35. package/dist/Servers/ProdServer.d.ts +5 -1
  36. package/dist/Servers/ProdServer.d.ts.map +1 -1
  37. package/dist/Servers/ProdServer.js +49 -33
  38. package/dist/Store/makeStore.d.ts.map +1 -1
  39. package/dist/TungstenApp.d.ts +11 -0
  40. package/dist/TungstenApp.d.ts.map +1 -0
  41. package/dist/TungstenApp.js +46 -0
  42. package/dist/TungstenElement.d.ts +3 -0
  43. package/dist/TungstenElement.d.ts.map +1 -0
  44. package/dist/TungstenElement.js +1 -0
  45. package/dist/_client/client.d.ts +4 -1
  46. package/dist/_client/client.d.ts.map +1 -1
  47. package/dist/_client/client.js +16 -9
  48. package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
  49. package/dist/babelPlugins/BabelTransformBindVar.d.ts.map +1 -1
  50. package/dist/babelPlugins/BabelTransformCjsToEsm.d.ts +1 -1
  51. package/dist/babelPlugins/BabelTransformCjsToEsm.d.ts.map +1 -1
  52. package/dist/babelPlugins/BabelTransformCjsToFunction.d.ts +1 -1
  53. package/dist/babelPlugins/BabelTransformCjsToFunction.d.ts.map +1 -1
  54. package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts +1 -1
  55. package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts.map +1 -1
  56. package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
  57. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
  58. package/dist/babelPlugins/{BabelTransformCssImport.d.ts → BabelTransformCssImports.d.ts} +5 -3
  59. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -0
  60. package/dist/babelPlugins/BabelTransformCssImports.js +129 -0
  61. package/dist/babelPlugins/BabelTransformDependencyImportsOld.d.ts.map +1 -1
  62. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
  63. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  64. package/dist/babelPlugins/BabelTransformPackageImports.js +110 -45
  65. package/dist/babelPlugins/BabelTransformReactive.d.ts.map +1 -1
  66. package/dist/babelPlugins/BabelTransformReactiveSvelteStyle.d.ts.map +1 -1
  67. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
  68. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.js +5 -0
  69. package/dist/babelPlugins/BabelTransformRemoveServerCode.d.ts +2 -0
  70. package/dist/babelPlugins/BabelTransformRemoveServerCode.d.ts.map +1 -0
  71. package/dist/babelPlugins/BabelTransformRemoveServerCode.js +1 -0
  72. package/dist/babelPlugins/BabelTransformUniqueComponents.d.ts.map +1 -1
  73. package/dist/babelPlugins/fixImportsInSassErrorMessage.d.ts.map +1 -1
  74. package/dist/babelPlugins/{BabelTransformDependencyImportsCjs.d.ts → transformPackageImports/BabelTransformDependencyImportsCjs.d.ts} +1 -1
  75. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -0
  76. package/dist/babelPlugins/{BabelTransformDependencyImportsCjs.js → transformPackageImports/BabelTransformDependencyImportsCjs.js} +10 -3
  77. package/dist/babelPlugins/{BabelTransformDependencyImportsEsm.d.ts → transformPackageImports/BabelTransformDependencyImportsEsm.d.ts} +1 -1
  78. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -0
  79. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +112 -0
  80. package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.d.ts +2 -0
  81. package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.d.ts.map +1 -0
  82. package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.js +24 -0
  83. package/dist/bin/commands/compileSimplePackage.d.ts +2 -0
  84. package/dist/bin/commands/compileSimplePackage.d.ts.map +1 -0
  85. package/dist/bin/commands/compileSimplePackage.js +51 -0
  86. package/dist/bin/commands/static.js +2 -2
  87. package/dist/bin/index.d.ts.map +1 -1
  88. package/dist/bin/index.js +5 -0
  89. package/dist/browserStorage.d.ts.map +1 -1
  90. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  91. package/dist/build/babel.user.common.config.js +2 -56
  92. package/dist/build/bundle.d.ts +1 -2
  93. package/dist/build/bundle.d.ts.map +1 -1
  94. package/dist/build/bundle.js +7 -4
  95. package/dist/build/compileJavascript.d.ts.map +1 -1
  96. package/dist/build/compileJavascript.js +23 -11
  97. package/dist/build/compilePackages.d.ts +0 -5
  98. package/dist/build/compilePackages.d.ts.map +1 -1
  99. package/dist/build/compilePackages.js +89 -82
  100. package/dist/build/compileUserApp.d.ts.map +1 -1
  101. package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
  102. package/dist/build/copyPackageModulesToPackagesFolder.js +3 -1
  103. package/dist/build/createClientFiles.d.ts.map +1 -1
  104. package/dist/build/createClientFiles.js +43 -52
  105. package/dist/build/createInstanceConfigFile.d.ts +4 -0
  106. package/dist/build/createInstanceConfigFile.d.ts.map +1 -0
  107. package/dist/build/{createAppConfig.js → createInstanceConfigFile.js} +2 -2
  108. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  109. package/dist/build/makeBabelUserDevConfig.js +8 -14
  110. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  111. package/dist/build/makeBabelUserProdConfig.js +4 -5
  112. package/dist/componentProxyHandlers.d.ts.map +1 -1
  113. package/dist/components/Link.d.ts.map +1 -1
  114. package/dist/components/Link.js +1 -1
  115. package/dist/components/Stylesheet.d.ts.map +1 -1
  116. package/dist/components/Stylesheet.js +5 -3
  117. package/dist/createRef.d.ts +4 -2
  118. package/dist/createRef.d.ts.map +1 -1
  119. package/dist/createRef.js +5 -2
  120. package/dist/createRoutes.d.ts +3 -0
  121. package/dist/createRoutes.d.ts.map +1 -0
  122. package/dist/createRoutes.js +3 -0
  123. package/dist/defaultConfig.d.ts +1 -0
  124. package/dist/defaultConfig.d.ts.map +1 -1
  125. package/dist/defaultConfig.js +1 -0
  126. package/dist/findUserConfig.d.ts.map +1 -1
  127. package/dist/findUserConfig.js +1 -1
  128. package/dist/frameworkConfigSchema.d.ts +188 -0
  129. package/dist/frameworkConfigSchema.d.ts.map +1 -0
  130. package/dist/frameworkConfigSchema.js +65 -0
  131. package/dist/getConfig.d.ts +1 -15
  132. package/dist/getConfig.d.ts.map +1 -1
  133. package/dist/getConfig.js +12 -11
  134. package/dist/getRoutes.d.ts.map +1 -1
  135. package/dist/getRoutes.js +20 -15
  136. package/dist/getUserConfig.d.ts +3 -0
  137. package/dist/getUserConfig.d.ts.map +1 -0
  138. package/dist/getUserConfig.js +25 -0
  139. package/dist/hasDomain.d.ts.map +1 -1
  140. package/dist/hooks/getCurrentComponent.d.ts +4 -0
  141. package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
  142. package/dist/hooks/getCurrentComponent.js +8 -2
  143. package/dist/hooks/globalType.d.ts +2 -0
  144. package/dist/hooks/globalType.d.ts.map +1 -0
  145. package/dist/hooks/globalType.js +1 -0
  146. package/dist/hooks/useState.d.ts +1 -1
  147. package/dist/hooks/useState.d.ts.map +1 -1
  148. package/dist/hooks/useState.js +5 -5
  149. package/dist/hydrate/hydrate.d.ts +1 -1
  150. package/dist/hydrate/hydrate.d.ts.map +1 -1
  151. package/dist/hydrate/hydrate.js +159 -53
  152. package/dist/indexInner.d.ts +5 -3
  153. package/dist/indexInner.d.ts.map +1 -1
  154. package/dist/indexInner.js +5 -3
  155. package/dist/jsx-runtime.d.ts +2 -0
  156. package/dist/jsx-runtime.d.ts.map +1 -0
  157. package/dist/jsx-runtime.js +1 -0
  158. package/dist/jsxRuntime.d.ts +1 -1
  159. package/dist/jsxRuntime.d.ts.map +1 -1
  160. package/dist/jsxRuntime.js +10 -2
  161. package/dist/makeFinalConfig.d.ts.map +1 -1
  162. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts +4 -0
  163. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -0
  164. package/dist/makeInstanceConfigFromFrameworkConfig.js +12 -0
  165. package/dist/makeServerRpc.d.ts.map +1 -1
  166. package/dist/nbsp.d.ts +3 -0
  167. package/dist/nbsp.d.ts.map +1 -0
  168. package/dist/nbsp.js +8 -0
  169. package/dist/render/componentNodeToRenderingTree.d.ts +6 -0
  170. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -0
  171. package/dist/render/componentNodeToRenderingTree.js +41 -0
  172. package/dist/render/contentToHtml.d.ts +9 -0
  173. package/dist/render/contentToHtml.d.ts.map +1 -0
  174. package/dist/render/contentToHtml.js +44 -0
  175. package/dist/render/contentToHtmlDev.d.ts +9 -0
  176. package/dist/render/contentToHtmlDev.d.ts.map +1 -0
  177. package/dist/render/contentToHtmlDev.js +4 -0
  178. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  179. package/dist/render/contentTreeToRenderingTree.js +8 -8
  180. package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
  181. package/dist/render/functionComponentNodeToRenderingTree.js +4 -2
  182. package/dist/render/instantiateClassComponent.d.ts +2 -2
  183. package/dist/render/instantiateClassComponent.d.ts.map +1 -1
  184. package/dist/render/instantiateClassComponent.js +1 -1
  185. package/dist/render/instantiateComponent.d.ts.map +1 -1
  186. package/dist/render/processProps.d.ts.map +1 -1
  187. package/dist/render/processProps.js +1 -1
  188. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  189. package/dist/render/renderingTreeToHtml.js +42 -8
  190. package/dist/render/rootToHtml.d.ts +2 -1
  191. package/dist/render/rootToHtml.d.ts.map +1 -1
  192. package/dist/render/rootToHtml.js +12 -6
  193. package/dist/render/rootToHtmlDev.d.ts +4 -3
  194. package/dist/render/rootToHtmlDev.d.ts.map +1 -1
  195. package/dist/render/rootToHtmlDev.js +2 -2
  196. package/dist/routing/MatchedRoute.d.ts.map +1 -1
  197. package/dist/routing/MatchedRoute.js +0 -3
  198. package/dist/routing/runContentFunction.d.ts +2 -0
  199. package/dist/routing/runContentFunction.d.ts.map +1 -0
  200. package/dist/routing/runContentFunction.js +13 -0
  201. package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
  202. package/dist/staticGen/getAppRoutes.js +7 -6
  203. package/dist/staticGen/staticGen.d.ts.map +1 -1
  204. package/dist/staticGen/staticGen.js +9 -1
  205. package/dist/update/integrateUpdateVdom.d.ts +13 -1
  206. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  207. package/dist/update/integrateUpdateVdom.js +122 -61
  208. package/dist/update/integrateUpdateVdomPrebuild.d.ts +2 -0
  209. package/dist/update/integrateUpdateVdomPrebuild.d.ts.map +1 -0
  210. package/dist/update/integrateUpdateVdomPrebuild.js +1453 -0
  211. package/dist/validChildren.d.ts +4 -2
  212. package/dist/validChildren.d.ts.map +1 -1
  213. package/dist/validChildren.js +4 -0
  214. package/package.json +51 -45
  215. package/types/jsx/jsx.d.ts +10 -7
  216. package/dist/babelPlugins/BabelTransformCssImport.d.ts.map +0 -1
  217. package/dist/babelPlugins/BabelTransformCssImport.js +0 -80
  218. package/dist/babelPlugins/BabelTransformDependencyImportsCjs.d.ts.map +0 -1
  219. package/dist/babelPlugins/BabelTransformDependencyImportsEsm.d.ts.map +0 -1
  220. package/dist/babelPlugins/BabelTransformDependencyImportsEsm.js +0 -85
  221. package/dist/build/compileEnv.d.ts +0 -2
  222. package/dist/build/compileEnv.d.ts.map +0 -1
  223. package/dist/build/compileEnv.js +0 -132
  224. package/dist/build/createAppConfig.d.ts +0 -4
  225. package/dist/build/createAppConfig.d.ts.map +0 -1
  226. package/dist/build/webpack.user.prod.config.d.ts +0 -2
  227. package/dist/build/webpack.user.prod.config.d.ts.map +0 -1
  228. package/dist/build/webpack.user.prod.config.js +0 -337
  229. package/dist/createInstanceConfigFromFrameworkConfig.d.ts +0 -4
  230. package/dist/createInstanceConfigFromFrameworkConfig.d.ts.map +0 -1
  231. package/dist/createInstanceConfigFromFrameworkConfig.js +0 -9
  232. package/dist/getAppConfig.d.ts +0 -3
  233. package/dist/getAppConfig.d.ts.map +0 -1
  234. package/dist/getAppConfig.js +0 -12
  235. package/dist/render/componentNodeToRenderingToTree.d.ts +0 -6
  236. package/dist/render/componentNodeToRenderingToTree.d.ts.map +0 -1
  237. package/dist/render/componentNodeToRenderingToTree.js +0 -15
  238. package/dist/render/componentNodeToTree.d.ts +0 -5
  239. package/dist/render/componentNodeToTree.d.ts.map +0 -1
  240. package/dist/render/componentNodeToTree.js +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"getCurrentComponent.d.ts","sourceRoot":"","sources":["../../src/hooks/getCurrentComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAKrE,wBAAgB,mBAAmB,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAM/D"}
1
+ {"version":3,"file":"getCurrentComponent.d.ts","sourceRoot":"","sources":["../../src/hooks/getCurrentComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAMrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAElF,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,8CAA8C,EAAE,2BAA2B,CAAA;CAClF;AAED,wBAAgB,mBAAmB,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAc/D"}
@@ -1,10 +1,16 @@
1
1
  import { globalObj } from "./globalObj.js";
2
2
  import { isDev } from "../isDev.js";
3
- import { TungstenError } from "../TungstenError.js";
3
+ import { TungstenError, TungstenProductionError } from "../TungstenError.js";
4
4
  export function getCurrentComponent() {
5
5
  //console.log('getting current component')
6
6
  // @ts-ignore
7
7
  const comp = globalObj.__tungsten_current_function_component_stand_in;
8
- if (isDev && !comp) throw new TungstenError(`getCurrentComponent() error - no function component stand in found. Did you call a hook incorrectly?`);
8
+ if (!comp) {
9
+ if (isDev) {
10
+ throw new TungstenError(`getCurrentComponent() error - no function component stand in found. Did you call a hook incorrectly?`);
11
+ } else {
12
+ throw new TungstenProductionError();
13
+ }
14
+ }
9
15
  return comp;
10
16
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=globalType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalType.d.ts","sourceRoot":"","sources":["../../src/hooks/globalType.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,3 @@
1
1
  export type UpdateFunction<T> = (newValue: T) => void;
2
- export declare function useState<T>(...args: T extends undefined ? [defaultValue?: T] : [defaultValue: T]): [T, (newValue: T) => void];
2
+ export declare function useState<T>(...defaultValue: T extends undefined ? [defaultValue?: T] : [defaultValue: T]): [T, (newValue: T) => void];
3
3
  //# sourceMappingURL=useState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;AASrD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,SAAS,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GAC3F,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CA4B/B"}
1
+ {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;AASrD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,SAAS,SAAS,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GACnG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CA4B/B"}
@@ -2,12 +2,12 @@ import { getCurrentComponent } from "./getCurrentComponent.js";
2
2
  import { TungstenError, TungstenProductionError } from "../TungstenError.js";
3
3
  import { isDev } from "../isDev.js";
4
4
  const thisHook = 'useState';
5
- // don't need these dumb overloads
6
- // export function useState<T extends undefined>(): [T, (newValue: T) => void]
5
+ // overloads just so TS errs say defaultValue not args
6
+ // export function useState<T extends undefined>(defaultValue?: T): [T, (newValue: T) => void]
7
7
  // export function useState<T>(defaultValue: T): [T, (newValue: T) => void]
8
8
  // export function useState<T>(...args: T extends undefined ? [defaultValue?: T] : [defaultValue: T])
9
9
  // : [T, (newValue: T) => void] {
10
- export function useState(...args) {
10
+ export function useState(...defaultValue) {
11
11
  // what do we do here?
12
12
  const c = getCurrentComponent();
13
13
  if (c === undefined) {
@@ -31,7 +31,7 @@ export function useState(...args) {
31
31
  return [c.state[index], update];
32
32
  } else {
33
33
  //console.log('useState initial run')
34
- c.state[index] = args[0];
35
- return [args[0], update]; // eslint-disable-line no-type-assertion/no-type-assertion -- args[0] can only be undefined if T includes undefined
34
+ c.state[index] = defaultValue[0];
35
+ return [defaultValue[0], update]; // eslint-disable-line no-type-assertion/no-type-assertion -- args[0] can only be undefined if T includes undefined
36
36
  }
37
37
  }
@@ -1,5 +1,5 @@
1
1
  import type { InstanceConfig } from '../Instance/InstanceConfig.js';
2
2
  import type { AppRoutes } from '../routing/AppRoutes.js';
3
3
  import { TungstenBaseComponentType } from '../Components.jsx';
4
- export declare function hydrate(appRoutes: AppRoutes, RootComponent: TungstenBaseComponentType, instanceConfig: InstanceConfig): Promise<void>;
4
+ export declare function hydrate(appRoutes: AppRoutes, RootComponent: TungstenBaseComponentType | null, instanceConfig: InstanceConfig): Promise<void>;
5
5
  //# sourceMappingURL=hydrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/hydrate/hydrate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAyBxD,OAAO,EAAE,yBAAyB,EAAoD,MAAM,mBAAmB,CAAA;AAgC/G,wBAAsB,OAAO,CACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,yBAAyB,EACxC,cAAc,EAAE,cAAc,iBAyCjC"}
1
+ {"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/hydrate/hydrate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AA0BxD,OAAO,EAAE,yBAAyB,EAAoD,MAAM,mBAAmB,CAAA;AAiC/G,wBAAsB,OAAO,CACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,yBAAyB,GAAG,IAAI,EAC/C,cAAc,EAAE,cAAc,iBAyDjC"}
@@ -1,4 +1,6 @@
1
- import { $head, $number, $string, makeRenderedContentNodeNonRendered, makeRenderedContentNodeClassComponent, makeRenderedContentNodeFunctionComponent } from "../RenderedContentNode.js";
1
+ import { integrateElementUpdateVdom } from "../update/integrateUpdateVdom.js";
2
+ //import type { RouteType } from '../routing/RouteType.js'
3
+ import { $number, $string, makeRenderedContentNodeNonRendered, makeRenderedContentNodeClassComponent, makeRenderedContentNodeFunctionComponent } from "../RenderedContentNode.js";
2
4
  import { ContentNodeElementIsHtml, ContentNodeIsHtml, ContentNodeIsComponent, ContentNodeComponentIsClassComponent, ContentNodeIsElement } from "../ContentNode.js";
3
5
  import { IsHTMLElement } from "../DomNodes.js";
4
6
  import { DomPointer } from "../DomPointer.js";
@@ -23,6 +25,7 @@ import { bindableHtmlElementsNumber, bindableHtmlElementsString } from "../compo
23
25
  import { checkedValueToBoolean } from "../checkedValueToBoolean.js";
24
26
  import { Default404 } from "../routing/Default404.js";
25
27
  import { initStores } from 'tungsten/Servers/initStores.js';
28
+ import { MatchedRoute } from 'tungsten/indexInner.js';
26
29
  import { jsx as _jsx } from "tungsten/jsxRuntime.js";
27
30
  function debug(...texts) {
28
31
  //console.log(...texts)
@@ -38,7 +41,7 @@ export async function hydrate(appRoutes, RootComponent, instanceConfig) {
38
41
  //console.log('hydration global data ', __tungsten_global_data__)
39
42
  const location = window.location.pathname;
40
43
  const routes = typeof appRoutes === 'function' ? appRoutes(null) : appRoutes;
41
- const matchedRouteInfo = hydrationRouting(__tungsten_matched_route_info__, location, routes);
44
+ const matchedRouteInfo = hydrationRouting(__tungsten_matched_route_info__, routes);
42
45
  const globalData = __tungsten_global_data__;
43
46
  const {
44
47
  internalStore,
@@ -59,15 +62,29 @@ export async function hydrate(appRoutes, RootComponent, instanceConfig) {
59
62
  if (typeof __tungsten_route_data__ !== 'undefined') {
60
63
  instance.routeData = __tungsten_route_data__;
61
64
  }
62
- //await hydrateRootComponent( instance, RootComponent, new DomPointer(document, 0) ) // dom pointer at doctype?
63
- await hydrateRootComponent(instance, RootComponent, new DomPointer(document, 1), makeDefaultHydrateMeta()); // dom pointer at html?
65
+ const domPointer = new DomPointer(document, 1);
66
+ const meta = makeDefaultHydrateMeta();
67
+ if (RootComponent !== null) {
68
+ await hydrateRootComponent(instance, RootComponent, domPointer, meta); // dom pointer at html?
69
+ // FUTURE: await hydrateNode(content, element, domPointer, instance, meta)
70
+ } else {
71
+ await hydrateRootComponent(instance, MatchedRoute, domPointer, meta); // dom pointer at html?
72
+ // const { params, content: contentOrContentFunction, data } = matchedRouteInfo
73
+ // const content = (typeof contentOrContentFunction === 'function')
74
+ // ? contentOrContentFunction(data, params, {}, globalData, location)
75
+ // : contentOrContentFunction
76
+ // console.log('hydration content:', content)
77
+ // hydrateNode(content, null, domPointer, instance, meta)
78
+ }
64
79
  instance.hydrationComplete = true;
65
80
  //// Can components update while hydrating is still taking place
66
81
  //// -- probably yes
67
82
  //// Can we pause any further update until hydration completes, to retain coherency?
68
83
  //// Or should we set a value on each component that is hydrating to guarantee correctness? seems better
69
84
  }
70
- function hydrationRouting(matchedRouteInfo, location, routes) {
85
+ function hydrationRouting(matchedRouteInfo,
86
+ //location: string,
87
+ routes) {
71
88
  const {
72
89
  key
73
90
  } = matchedRouteInfo;
@@ -92,7 +109,7 @@ async function hydrateRootComponent(instance, RootComponent, domPointer, meta) {
92
109
  routeParams: undefined,
93
110
  routeData: undefined,
94
111
  instance,
95
- parentComponent: null
112
+ parentElement: null
96
113
  });
97
114
  await element.__init();
98
115
  handleRootTitle(element);
@@ -150,42 +167,129 @@ async function hydrateClassComponent(node, parentElement, domPointer, instance,
150
167
  } = node;
151
168
  debug('Component', Component);
152
169
  debug('domPointer', domPointer, domPointer.index);
170
+ const domIndexStart = domPointer.index;
171
+ const openingNode = domPointer.get();
172
+ if (openingNode.nodeType !== Node.COMMENT_NODE) {
173
+ throwError('hydrateFunctionComponent', 'expected to find a comment, but instead found ' + openingNode.toString() + ' type ' + openingNode.nodeType.toString());
174
+ }
175
+ const openingComment = openingNode; // eslint-disable-line no-type-assertion/no-type-assertion
176
+ domPointer.increment();
153
177
  //// InstantiateClassComponent???
154
178
  const element = new Component({
155
179
  props,
156
180
  routeParams,
157
181
  routeData,
158
182
  instance,
159
- parentComponent: parentElement
183
+ parentElement
160
184
  });
161
185
  await element.__init();
162
186
  //// Add to parent childNodes?
163
187
  //const content = await element.__styledContent()
164
- const content = await element.__initialContent();
165
- debug('content', content);
166
- const domIndexStart = domPointer.index;
167
- const openingNode = domPointer.get();
168
- if (openingNode.nodeType !== Node.COMMENT_NODE) {
169
- throwError('hydrateFunctionComponent', 'expected to find a comment, but instead found ' + openingNode.toString() + ' type ' + openingNode.nodeType.toString());
170
- }
171
- const openingComment = openingNode; // eslint-disable-line no-type-assertion/no-type-assertion
172
- domPointer.increment();
173
- const renderedContent = await hydrateNode(content, element, domPointer, instance, meta);
174
- const closingNode = domPointer.get();
175
- if (closingNode.nodeType !== Node.COMMENT_NODE) {
176
- throwError('hydrateFunctionComponent', 'expected to find a comment, but instead found ' + closingNode.toString() + ' type ' + closingNode.nodeType.toString());
188
+ const initialContent = await element.__initialContent();
189
+ debug('content', initialContent);
190
+ const render = Component.render;
191
+ //console.log('render', render)
192
+ //console.log('Component', Component)
193
+ if (render) {
194
+ const placeholderContent = typeof render === 'object' ? render.placeholder : null;
195
+ //console.log('hydrating content', placeholderContent)
196
+ const renderedPlaceholderContent = await hydrateNode(placeholderContent, element, domPointer, instance, meta);
197
+ /*
198
+ 1. Init Element
199
+ 2. Find existing nodes (opening comment, use meta to get closing comment)
200
+ 3. Create DOM Region
201
+ 4. Assign DOM Region to element
202
+ 5. Hydrate the current content to get a renderedContentTree
203
+ 6. Assign current content to element
204
+ 7. Get initial content
205
+ 8. integrateUpdate with new content
206
+ 9. set DomPointer to end?
207
+ 10. Return a rendered content node?
208
+ */
209
+ const closingNode = domPointer.get();
210
+ if (closingNode.nodeType !== Node.COMMENT_NODE) {
211
+ throwError('hydrateFunctionComponent', 'expected to find a comment, but instead found ' + closingNode.toString() + ' type ' + closingNode.nodeType.toString());
212
+ }
213
+ const closingComment = closingNode; // eslint-disable-line no-type-assertion/no-type-assertion
214
+ domPointer.increment();
215
+ const domIndexCount = domPointer.index - domIndexStart;
216
+ debug('DOM region', domPointer.parent, domIndexStart, domIndexCount);
217
+ element.__domRegion = new DomRegion(domPointer.parent, domIndexStart, domIndexCount);
218
+ debug('el dom region', element.constructor.name, element.__domRegion);
219
+ if (element.__domRegion.lastElement) debug('last el children', element.__domRegion.lastElement.childNodes);
220
+ //console.log('hydrated', element.constructor.name, 'with content', renderedContent)
221
+ element.__currentContent = renderedPlaceholderContent;
222
+ console.log('client side comp is initializing with', initialContent);
223
+ const updateResult = await integrateElementUpdateVdom(element, initialContent);
224
+ element.__currentContent = updateResult.renderedContent;
225
+ element.__didHydrate();
226
+ return makeRenderedContentNodeClassComponent(node, element, openingComment, closingComment);
227
+ } else {
228
+ const renderedContent = await hydrateNode(initialContent, element, domPointer, instance, meta);
229
+ const closingNode = domPointer.get();
230
+ if (closingNode.nodeType !== Node.COMMENT_NODE) {
231
+ throwError('hydrateFunctionComponent', 'expected to find a comment, but instead found ' + closingNode.toString() + ' type ' + closingNode.nodeType.toString());
232
+ }
233
+ const closingComment = closingNode; // eslint-disable-line no-type-assertion/no-type-assertion
234
+ domPointer.increment();
235
+ const domIndexCount = domPointer.index - domIndexStart;
236
+ debug('DOM region', domPointer.parent, domIndexStart, domIndexCount);
237
+ element.__domRegion = new DomRegion(domPointer.parent, domIndexStart, domIndexCount);
238
+ debug('el dom region', element.constructor.name, element.__domRegion);
239
+ if (element.__domRegion.lastElement) debug('last el children', element.__domRegion.lastElement.childNodes);
240
+ //console.log('hydrated', element.constructor.name, 'with content', renderedContent)
241
+ element.__currentContent = renderedContent;
242
+ element.__didHydrate();
243
+ return makeRenderedContentNodeClassComponent(node, element, openingComment, closingComment);
177
244
  }
178
- const closingComment = closingNode; // eslint-disable-line no-type-assertion/no-type-assertion
179
- domPointer.increment();
180
- const domIndexCount = domPointer.index - domIndexStart;
181
- debug('DOM region', domPointer.parent, domIndexStart, domIndexCount);
182
- element.__domRegion = new DomRegion(domPointer.parent, domIndexStart, domIndexCount);
183
- debug('el dom region', element.constructor.name, element.__domRegion);
184
- if (element.__domRegion.lastElement) debug('last el children', element.__domRegion.lastElement.childNodes);
185
- //console.log('hydrated', element.constructor.name, 'with content', renderedContent)
186
- element.__currentContent = renderedContent;
187
- element.__didHydrate();
188
- return makeRenderedContentNodeClassComponent(node, element, openingComment, closingComment);
245
+ }
246
+ async function renderClassComponent({
247
+ node,
248
+ element,
249
+ domPointer,
250
+ openingComment,
251
+ closingComment
252
+ }) {
253
+ //console.log('-updateClassComponent', newNode)
254
+ //const element = node.element
255
+ element.props = node[$props];
256
+ debug('rendering client class component', node);
257
+ //console.log('update class component', newNode)
258
+ //console.log('old element', element)
259
+ //console.log('domPointer before updating comp', domPointer)
260
+ //console.log('domPointer children', [...domPointer.parent.childNodes])
261
+ //throwError('','')
262
+ const updateResult = await element.__update(); // this going to run code on a Tungsten Base Component class
263
+ // which is going to call back to integrateUpdateVdom in this file
264
+ domPointer.increment(updateResult.nodesLength); // bump the dom pointer index forward by the number of nodes
265
+ // within that element's content
266
+ element.__didUpdate();
267
+ return {
268
+ ...node,
269
+ element,
270
+ openingComment,
271
+ closingComment
272
+ };
273
+ }
274
+ async function renderFunctionComponent({
275
+ node,
276
+ standIn,
277
+ domPointer,
278
+ openingComment,
279
+ closingComment
280
+ }) {
281
+ // this func does not seem to be updating the dom pointer index
282
+ //console.log('updateFunctionComponent')
283
+ //const standIn = node.element
284
+ standIn.props = node[$props];
285
+ const updateResult = await standIn.update();
286
+ domPointer.increment(updateResult.nodesLength); // bump the dom pointer index forward by the number of nodes within that element's content
287
+ return {
288
+ ...node,
289
+ element: standIn,
290
+ openingComment,
291
+ closingComment
292
+ };
189
293
  }
190
294
  async function hydrateFunctionComponent(node, parentElement, domPointer, instance, meta) {
191
295
  debug('----\nhydrateComponent');
@@ -320,8 +424,9 @@ async function hydrateNodeSingle(node, parentElement, domPointer, instance, meta
320
424
  instance.persistentHeadChildren = persistentHeadChildren;
321
425
  debug('head node - skipping, because we add a lot to this during initial render, breaking matching');
322
426
  domPointer.increment();
427
+ //return { [$type]: $head, domNode: node as HTMLElement } // eslint-disable-line no-type-assertion/no-type-assertion
323
428
  return {
324
- [$type]: $head,
429
+ [$type]: 'head',
325
430
  domNode: node
326
431
  }; // eslint-disable-line no-type-assertion/no-type-assertion
327
432
  }
@@ -360,6 +465,12 @@ async function hydrateNodeSingle(node, parentElement, domPointer, instance, meta
360
465
  debug('hydarating atts');
361
466
  hydrateAttributes(node, domNode);
362
467
  //!!! node.domElement = domNode
468
+ // look up any refs
469
+ //const props = node[$props]
470
+ //const ref = node[$props].ref
471
+ if ('ref' in node[$props]) {
472
+ node[$props].ref.current = domNode;
473
+ }
363
474
  debug('valid children', validChildren(node[$props].children), node[$props].children);
364
475
  const children = node[$props].children;
365
476
  let renderedChildren = $contentNull;
@@ -379,27 +490,7 @@ async function hydrateNodeSingle(node, parentElement, domPointer, instance, meta
379
490
  };
380
491
  } else if (ContentNodeIsComponent(node)) {
381
492
  debug('comp');
382
- if (ContentNodeComponentIsClassComponent(node)) {
383
- node;
384
- /// Component?
385
- debug('found a class component while trying to hydrate');
386
- const renderedNode = await hydrateClassComponent(node, parentElement, domPointer, instance, meta);
387
- return renderedNode;
388
- // return {
389
- // ...node,
390
- // element
391
- // }
392
- } else {
393
- node;
394
- /// Component?
395
- debug('found a function component while trying to hydrate');
396
- const renderedNode = await hydrateFunctionComponent(node, parentElement, domPointer, instance, meta);
397
- return renderedNode;
398
- // return {
399
- // ...node,
400
- // element
401
- // }
402
- }
493
+ return hydrateNodeComponent(node, parentElement, domPointer, instance, meta);
403
494
  }
404
495
  // confirm that this code is not reached
405
496
  const n = node; // eslint-disable-line @typescript-eslint/no-unused-vars
@@ -408,6 +499,21 @@ async function hydrateNodeSingle(node, parentElement, domPointer, instance, meta
408
499
  //return makeRenderedContentNodeNonRendered()
409
500
  }
410
501
  //// !!!! We need to handle bind here (or somewhere)
502
+ async function hydrateNodeComponent(node, parentElement, domPointer, instance, meta) {
503
+ if (ContentNodeComponentIsClassComponent(node)) {
504
+ node;
505
+ /// Component?
506
+ debug('found a class component while trying to hydrate');
507
+ const renderedNode = await hydrateClassComponent(node, parentElement, domPointer, instance, meta);
508
+ return renderedNode;
509
+ } else {
510
+ node;
511
+ /// Component?
512
+ debug('found a function component while trying to hydrate');
513
+ const renderedNode = await hydrateFunctionComponent(node, parentElement, domPointer, instance, meta);
514
+ return renderedNode;
515
+ }
516
+ }
411
517
  // export type HTMLBindableElement = HTMLButtonElement | HTMLDataElement | HTMLInputElement | HTMLLIElement
412
518
  // | HTMLMeterElement | HTMLOptionElement | HTMLParamElement | HTMLProgressElement | HTMLSelectElement | HTMLTextAreaElement
413
519
  function hydrateAttributes(node, domNode) {
@@ -1,3 +1,4 @@
1
+ export * from './TungstenApp.jsx';
1
2
  export { TungstenSimpleComponent, TungstenSimpleComponent as SimpleComponent, // static component
2
3
  TungstenStatefulComponent, TungstenStatefulComponent as StatefulComponent, // stateful component
3
4
  TungstenBaseSimpleStoreComponent, TungstenBaseSimpleStoreComponent as BaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenBaseStatefulStoreComponent as BaseStatefulStoreComponent, } from './Components.jsx';
@@ -12,6 +13,10 @@ export * from './components/bindable/BindableInputTyped.jsx';
12
13
  export * from './components/bindable/BindableRadio.jsx';
13
14
  export * from './components/bindable/BindableSelect.jsx';
14
15
  export * from './components/bindable/BindableTextarea.jsx';
16
+ export * from './components/GoToComponent.jsx';
17
+ export * from './components/Lazy.js';
18
+ export * from './components/Link.jsx';
19
+ export * from './nbsp.js';
15
20
  export * from './browserStorage.js';
16
21
  export { createElement } from './createElement.js';
17
22
  export * from './createRef.js';
@@ -19,7 +24,6 @@ export { foreach } from './foreach.js';
19
24
  export * from './helpers/index.js';
20
25
  export * from './hooks/index.js';
21
26
  export * from './hydrate/hydrate.js';
22
- export * from './components/GoToComponent.jsx';
23
27
  export * from './jsxRuntime.js';
24
28
  export * from './env/parseEnv.js';
25
29
  export * from './makeServerRpc.js';
@@ -28,8 +32,6 @@ export { isClient } from './isClient.js';
28
32
  export { isServer } from './isServer.js';
29
33
  export { isDev } from './isDev.js';
30
34
  export { isProd } from './isProd.js';
31
- export * from './components/Lazy.js';
32
- export * from './components/Link.jsx';
33
35
  export { logAndReturn } from './logAndReturn.js';
34
36
  export * from './requests/index.js';
35
37
  export { registerGlobalData, type GlobalData, type GlobalDataFunction } from './routing/registerGlobalData.js';
@@ -1 +1 @@
1
- {"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexInner.d.ts","sourceRoot":"","sources":["../src/indexInner.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACH,uBAAuB,EAAE,uBAAuB,IAAI,eAAe,EAAE,mBAAmB;AACxF,yBAAyB,EAAE,yBAAyB,IAAI,iBAAiB,EAAE,qBAAqB;AAEhG,gCAAgC,EAAE,gCAAgC,IAAI,wBAAwB,EAC9F,kCAAkC,EAAE,kCAAkC,IAAI,0BAA0B,GACvG,MAAM,kBAAkB,CAAA;AAEzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4CAA4C,CAAA;AAC1D,cAAc,yCAAyC,CAAA;AACvD,cAAc,8CAA8C,CAAA;AAC5D,cAAc,yCAAyC,CAAA;AACvD,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,cAAc,gBAAgB,CAAA;AAG9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAC9G,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,6BAA6B,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,cAAc,gBAAgB,CAAA;AAI9B,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAC5F,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AACnF,cAAc,kBAAkB,CAAA;AAEhC,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAClF,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,YAAY,EACR,0BAA0B,EAAE,0BAA0B,IAAI,SAAS,EACnE,gCAAgC,EAAE,gCAAgC,IAAI,eAAe,EACrF,cAAc,EACjB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAG7C,mBAAmB,mBAAmB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  // core
2
+ export * from "./TungstenApp.js";
2
3
  export { TungstenSimpleComponent, TungstenSimpleComponent as SimpleComponent,
3
4
  // static component
4
5
  TungstenStatefulComponent, TungstenStatefulComponent as StatefulComponent,
@@ -17,6 +18,10 @@ export * from "./components/bindable/BindableInputTyped.js";
17
18
  export * from "./components/bindable/BindableRadio.js";
18
19
  export * from "./components/bindable/BindableSelect.js";
19
20
  export * from "./components/bindable/BindableTextarea.js";
21
+ export * from "./components/GoToComponent.js";
22
+ export * from "./components/Lazy.js";
23
+ export * from "./components/Link.js";
24
+ export * from "./nbsp.js";
20
25
  export * from "./browserStorage.js";
21
26
  export { createElement } from "./createElement.js";
22
27
  export * from "./createRef.js";
@@ -26,7 +31,6 @@ export { foreach } from "./foreach.js";
26
31
  export * from "./helpers/index.js";
27
32
  export * from "./hooks/index.js";
28
33
  export * from "./hydrate/hydrate.js";
29
- export * from "./components/GoToComponent.js";
30
34
  export * from "./jsxRuntime.js";
31
35
  //export { tungstenPrivateEnv, tungstenPublicEnv } from './env/env.js'
32
36
  export * from "./env/parseEnv.js";
@@ -36,8 +40,6 @@ export { isClient } from "./isClient.js";
36
40
  export { isServer } from "./isServer.js";
37
41
  export { isDev } from "./isDev.js";
38
42
  export { isProd } from "./isProd.js";
39
- export * from "./components/Lazy.js";
40
- export * from "./components/Link.js";
41
43
  export { logAndReturn } from "./logAndReturn.js";
42
44
  //export * from './RenderRoutes.js' // maybe we won't use render routes, instead Router and Route
43
45
  export * from "./requests/index.js";
@@ -0,0 +1,2 @@
1
+ export { jsx, jsxs, Fragment, type JsxNodeType } from './jsxRuntime.js';
2
+ //# sourceMappingURL=jsx-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1 @@
1
+ export { jsx, jsxs, Fragment } from "./jsxRuntime.js";
@@ -6,5 +6,5 @@ export * from './contentNodeSymbols.js';
6
6
  export declare const Fragment: 60107;
7
7
  export type JsxNodeType = string | AnyComponentType | typeof Fragment;
8
8
  export declare function jsx(type: JsxNodeType | string | number | boolean | null | undefined, props: TungstenComponentGenericProps, key: KeyAttr): ContentNode;
9
- export declare const jsxs: typeof jsx;
9
+ export declare const jsxs: (...args: Parameters<typeof jsx>) => ContentNode;
10
10
  //# sourceMappingURL=jsxRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsxRuntime.d.ts","sourceRoot":"","sources":["../src/jsxRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,6BAA6B,EAAoD,MAAM,kBAAkB,CAAA;AACvH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAM9C,cAAc,yBAAyB,CAAA;AAEvC,eAAO,MAAM,QAAQ,EAAG,KAAe,CAAA;AAEvC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,GAAG,OAAO,QAAQ,CAAA;AAkBrE,wBAAgB,GAAG,CACf,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EAChE,KAAK,EAAE,6BAA6B,EACpC,GAAG,EAAE,OAAO,GACb,WAAW,CAgEb;AAID,eAAO,MAAM,IAAI,YAAM,CAAA"}
1
+ {"version":3,"file":"jsxRuntime.d.ts","sourceRoot":"","sources":["../src/jsxRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,6BAA6B,EAAoD,MAAM,kBAAkB,CAAA;AACvH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAM9C,cAAc,yBAAyB,CAAA;AAGvC,eAAO,MAAM,QAAQ,EAAG,KAAe,CAAA;AAGvC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,GAAG,OAAO,QAAQ,CAAA;AAkBrE,wBAAgB,GAAG,CACf,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EAChE,KAAK,EAAE,6BAA6B,EACpC,GAAG,EAAE,OAAO,GACb,WAAW,CAyEb;AAID,eAAO,MAAM,IAAI,GAAY,GAAG,MAAM,UAAU,CAAC,OAAO,GAAG,CAAC,gBAG3D,CAAA"}
@@ -4,6 +4,7 @@ import { $key, $props, $type } from "./contentNodeSymbols.js";
4
4
  import { packageNameCapitalized } from "./settings.js";
5
5
  import { throwError } from "./throwError.js";
6
6
  export * from "./contentNodeSymbols.js";
7
+ //import { inspect } from 'util'
7
8
  export const Fragment = 0xeacb; // code taken from react for fragments
8
9
  // (?outdated?) this doesn't seem to handle string/number/undefined correctly
9
10
  function classNameArrayToString(array) {
@@ -18,6 +19,10 @@ function ComponentIsClassComponent(c) {
18
19
  }
19
20
  // jsx func to turn a jsx element into a tree node
20
21
  export function jsx(type, props, key) {
22
+ // console.log('--jsx--')
23
+ // console.log('type', type)
24
+ // console.log('type', JSON.stringify(props))
25
+ // console.log('key', key)
21
26
  // merge together class and className, into className
22
27
  // and convert any arrays to strings in the process
23
28
  if (Array.isArray(props.className)) props.className = classNameArrayToString(props.className);
@@ -78,8 +83,11 @@ export function jsx(type, props, key) {
78
83
  if (typeof type === 'number') {
79
84
  return String(type);
80
85
  }
81
- throw new TungstenError(`${packageNameCapitalized} JSX Runtime error: did not recognize element, expected a string, function, class (type function), or fragment. Received type ${typeof type}: ${type}`);
86
+ throw new TungstenError(`${packageNameCapitalized} JSX Runtime error: did not recognize element` + `, expected a string, function, class (type function), or fragment.` + ` Received type ${typeof type}: ${type}`);
82
87
  }
83
88
  // jsxs is used when children is an array instead of a single object
84
89
  // just use the same function for both
85
- export const jsxs = jsx;
90
+ export const jsxs = function (...args) {
91
+ //console.log('jsxs')
92
+ return jsx(...args);
93
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"makeFinalConfig.d.ts","sourceRoot":"","sources":["../src/makeFinalConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGpF,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,uBAAuB,CAYpF"}
1
+ {"version":3,"file":"makeFinalConfig.d.ts","sourceRoot":"","sources":["../src/makeFinalConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGpF,wBAAgB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,uBAAuB,CAWpF"}
@@ -0,0 +1,4 @@
1
+ import type { InstanceConfig } from './Instance/InstanceConfig.js';
2
+ import type { FrameworkConfigComplete } from './FrameworkConfig.js';
3
+ export declare function makeInstanceConfigFromFrameworkConfig(frameworkConfig: FrameworkConfigComplete, dev?: boolean): InstanceConfig;
4
+ //# sourceMappingURL=makeInstanceConfigFromFrameworkConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeInstanceConfigFromFrameworkConfig.d.ts","sourceRoot":"","sources":["../src/makeInstanceConfigFromFrameworkConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,wBAAgB,qCAAqC,CACjD,eAAe,EAAE,uBAAuB,EAAE,GAAG,GAAE,OAAe,GAC/D,cAAc,CAUhB"}
@@ -0,0 +1,12 @@
1
+ import { isProd } from "./isProd.js";
2
+ export function makeInstanceConfigFromFrameworkConfig(frameworkConfig, dev = false) {
3
+ const c = {
4
+ prod: isProd,
5
+ useRootComponent: frameworkConfig.useRootComponent,
6
+ clientSideNav: frameworkConfig.clientSideNav,
7
+ siteBasePath: dev ? '' : frameworkConfig.siteBasePath,
8
+ staticSite: frameworkConfig.staticSite
9
+ };
10
+ if ('sourceDir' in frameworkConfig) c.sourceDir = frameworkConfig.sourceDir;
11
+ return c;
12
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"makeServerRpc.d.ts","sourceRoot":"","sources":["../src/makeServerRpc.ts"],"names":[],"mappings":"AAaA,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;AAC7C,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AA4C1C,eAAO,MAAM,sBAAsB,GAAY,CAAC,SAAS,WAAW,kBAAkB,CAAC,KAAG,CAGzF,CAAA;AAED,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAA;AAG1C,eAAO,MAAM,oBAAoB,GAAY,CAAC,iBAAiB,aAAa,CAAC,CAAC,CAAC,kBAAkB,cAAc,CAAC,CAAC,CAAC,KAAG,cAAc,CAAC,CAAC,CAMpI,CAAA"}
1
+ {"version":3,"file":"makeServerRpc.d.ts","sourceRoot":"","sources":["../src/makeServerRpc.ts"],"names":[],"mappings":"AAaA,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;AAC7C,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AA4C1C,eAAO,MAAM,sBAAsB,GAAY,CAAC,SAAS,WAAW,EAAE,gBAAgB,CAAC,KAAG,CAGzF,CAAA;AAED,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAA;AAG1C,eAAO,MAAM,oBAAoB,GAAY,CAAC,EAAE,eAAe,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,cAAc,CAAC,CAAC,CAAC,KAAG,cAAc,CAAC,CAAC,CAMpI,CAAA"}
package/dist/nbsp.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare const nbsp: import("./ContentNode.js").ContentNode;
2
+ export declare const space: import("./ContentNode.js").ContentNode;
3
+ //# sourceMappingURL=nbsp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nbsp.d.ts","sourceRoot":"","sources":["../src/nbsp.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,wCAAc,CAAA;AAC/B,eAAO,MAAM,KAAK,wCAAc,CAAA"}
package/dist/nbsp.js ADDED
@@ -0,0 +1,8 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "tungsten/jsxRuntime.js";
2
+ //export function Space() { return '&nbsp;' }
3
+ export const nbsp = _jsx(_Fragment, {
4
+ children: "\xA0"
5
+ });
6
+ export const space = _jsx(_Fragment, {
7
+ children: nbsp
8
+ });
@@ -0,0 +1,6 @@
1
+ import type { Instance } from '../Instance/Instance.js';
2
+ import { type RenderingNodeComponent } from '../RenderingNode.js';
3
+ import { type ContentNodeComponent } from '../ContentNode.js';
4
+ import { AnyComponent } from '../AnyComponent.js';
5
+ export declare function componentNodeToRenderingTree(componentNode: ContentNodeComponent, parentComponent: AnyComponent | null, instance: Instance, noEscape: boolean): Promise<RenderingNodeComponent>;
6
+ //# sourceMappingURL=componentNodeToRenderingTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentNodeToRenderingTree.d.ts","sourceRoot":"","sources":["../../src/render/componentNodeToRenderingTree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EACH,KAAK,sBAAsB,EAG9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAGhH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GACjH,OAAO,CAAC,sBAAsB,CAAC,CA6CjC"}