@hypen-space/web 0.4.36 → 0.4.38

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 (149) hide show
  1. package/README.md +7 -6
  2. package/dist/canvas/accessibility.js +174 -174
  3. package/dist/canvas/accessibility.js.map +1 -10
  4. package/dist/canvas/events.js +264 -360
  5. package/dist/canvas/events.js.map +1 -11
  6. package/dist/canvas/index.js +11 -47
  7. package/dist/canvas/index.js.map +1 -9
  8. package/dist/canvas/input.js +178 -289
  9. package/dist/canvas/input.js.map +1 -11
  10. package/dist/canvas/layout.js +349 -547
  11. package/dist/canvas/layout.js.map +1 -12
  12. package/dist/canvas/paint.js +1122 -1146
  13. package/dist/canvas/paint.js.map +1 -12
  14. package/dist/canvas/renderer.js +352 -2259
  15. package/dist/canvas/renderer.js.map +1 -17
  16. package/dist/canvas/text.js +129 -264
  17. package/dist/canvas/text.js.map +1 -11
  18. package/dist/canvas/types.js +7 -2
  19. package/dist/canvas/types.js.map +1 -9
  20. package/dist/canvas/utils.js +158 -161
  21. package/dist/canvas/utils.js.map +1 -10
  22. package/dist/dom/applicators/advanced-layout.js +105 -138
  23. package/dist/dom/applicators/advanced-layout.js.map +1 -10
  24. package/dist/dom/applicators/background.js +36 -76
  25. package/dist/dom/applicators/background.js.map +1 -10
  26. package/dist/dom/applicators/border.js +82 -106
  27. package/dist/dom/applicators/border.js.map +1 -10
  28. package/dist/dom/applicators/color.js +17 -58
  29. package/dist/dom/applicators/color.js.map +1 -10
  30. package/dist/dom/applicators/display.js +39 -79
  31. package/dist/dom/applicators/display.js.map +1 -10
  32. package/dist/dom/applicators/effects.js +121 -147
  33. package/dist/dom/applicators/effects.js.map +1 -10
  34. package/dist/dom/applicators/events.js +413 -450
  35. package/dist/dom/applicators/events.js.map +1 -11
  36. package/dist/dom/applicators/font.js +119 -140
  37. package/dist/dom/applicators/font.js.map +1 -10
  38. package/dist/dom/applicators/index.js +386 -1770
  39. package/dist/dom/applicators/index.js.map +1 -26
  40. package/dist/dom/applicators/layout.js +143 -149
  41. package/dist/dom/applicators/layout.js.map +1 -10
  42. package/dist/dom/applicators/margin.js +64 -105
  43. package/dist/dom/applicators/margin.js.map +1 -10
  44. package/dist/dom/applicators/padding.js +64 -105
  45. package/dist/dom/applicators/padding.js.map +1 -10
  46. package/dist/dom/applicators/size.js +169 -172
  47. package/dist/dom/applicators/size.js.map +1 -10
  48. package/dist/dom/applicators/transform.js +73 -114
  49. package/dist/dom/applicators/transform.js.map +1 -10
  50. package/dist/dom/applicators/transition.js +47 -88
  51. package/dist/dom/applicators/transition.js.map +1 -10
  52. package/dist/dom/applicators/types.js +7 -2
  53. package/dist/dom/applicators/types.js.map +1 -9
  54. package/dist/dom/applicators/typography.js +68 -109
  55. package/dist/dom/applicators/typography.js.map +1 -10
  56. package/dist/dom/canvas/index.js +49 -83
  57. package/dist/dom/canvas/index.js.map +1 -10
  58. package/dist/dom/components/app.js +16 -63
  59. package/dist/dom/components/app.js.map +1 -10
  60. package/dist/dom/components/audio.js +31 -76
  61. package/dist/dom/components/audio.js.map +1 -10
  62. package/dist/dom/components/avatar.js +41 -87
  63. package/dist/dom/components/avatar.js.map +1 -10
  64. package/dist/dom/components/badge.js +35 -83
  65. package/dist/dom/components/badge.js.map +1 -10
  66. package/dist/dom/components/button.js +26 -69
  67. package/dist/dom/components/button.js.map +1 -10
  68. package/dist/dom/components/card.js +13 -63
  69. package/dist/dom/components/card.js.map +1 -10
  70. package/dist/dom/components/center.js +21 -65
  71. package/dist/dom/components/center.js.map +1 -10
  72. package/dist/dom/components/checkbox.js +37 -82
  73. package/dist/dom/components/checkbox.js.map +1 -10
  74. package/dist/dom/components/column.js +16 -62
  75. package/dist/dom/components/column.js.map +1 -10
  76. package/dist/dom/components/container.js +11 -59
  77. package/dist/dom/components/container.js.map +1 -10
  78. package/dist/dom/components/divider.js +27 -73
  79. package/dist/dom/components/divider.js.map +1 -10
  80. package/dist/dom/components/grid.js +41 -80
  81. package/dist/dom/components/grid.js.map +1 -10
  82. package/dist/dom/components/heading.js +28 -74
  83. package/dist/dom/components/heading.js.map +1 -10
  84. package/dist/dom/components/hypenapp.js +291 -288
  85. package/dist/dom/components/hypenapp.js.map +1 -10
  86. package/dist/dom/components/image.js +18 -67
  87. package/dist/dom/components/image.js.map +1 -10
  88. package/dist/dom/components/index.js +109 -1427
  89. package/dist/dom/components/index.js.map +1 -42
  90. package/dist/dom/components/input.js +19 -69
  91. package/dist/dom/components/input.js.map +1 -10
  92. package/dist/dom/components/link.js +23 -70
  93. package/dist/dom/components/link.js.map +1 -10
  94. package/dist/dom/components/list.js +26 -72
  95. package/dist/dom/components/list.js.map +1 -10
  96. package/dist/dom/components/paragraph.js +14 -63
  97. package/dist/dom/components/paragraph.js.map +1 -10
  98. package/dist/dom/components/progressbar.js +38 -85
  99. package/dist/dom/components/progressbar.js.map +1 -10
  100. package/dist/dom/components/route.js +27 -73
  101. package/dist/dom/components/route.js.map +1 -10
  102. package/dist/dom/components/router.js +15 -62
  103. package/dist/dom/components/router.js.map +1 -10
  104. package/dist/dom/components/row.js +25 -70
  105. package/dist/dom/components/row.js.map +1 -10
  106. package/dist/dom/components/select.js +42 -85
  107. package/dist/dom/components/select.js.map +1 -10
  108. package/dist/dom/components/slider.js +31 -76
  109. package/dist/dom/components/slider.js.map +1 -10
  110. package/dist/dom/components/spacer.js +10 -60
  111. package/dist/dom/components/spacer.js.map +1 -10
  112. package/dist/dom/components/spinner.js +41 -88
  113. package/dist/dom/components/spinner.js.map +1 -10
  114. package/dist/dom/components/stack.js +19 -67
  115. package/dist/dom/components/stack.js.map +1 -10
  116. package/dist/dom/components/switch.js +50 -93
  117. package/dist/dom/components/switch.js.map +1 -10
  118. package/dist/dom/components/text.js +24 -69
  119. package/dist/dom/components/text.js.map +1 -10
  120. package/dist/dom/components/textarea.js +35 -79
  121. package/dist/dom/components/textarea.js.map +1 -10
  122. package/dist/dom/components/video.js +35 -79
  123. package/dist/dom/components/video.js.map +1 -10
  124. package/dist/dom/debug.js +159 -160
  125. package/dist/dom/debug.js.map +1 -10
  126. package/dist/dom/element-data.js +181 -143
  127. package/dist/dom/element-data.js.map +1 -10
  128. package/dist/dom/events.js +133 -142
  129. package/dist/dom/events.js.map +1 -10
  130. package/dist/dom/index.js +11 -48
  131. package/dist/dom/index.js.map +1 -9
  132. package/dist/dom/renderer.js +311 -3596
  133. package/dist/dom/renderer.js.map +1 -62
  134. package/dist/index.d.ts +2 -2
  135. package/dist/index.js +36 -53
  136. package/dist/index.js.map +1 -9
  137. package/package.json +2 -16
  138. package/src/canvas/QUICKSTART.md +4 -3
  139. package/src/canvas/README.md +3 -2
  140. package/src/dom/README.md +4 -3
  141. package/src/index.ts +2 -2
  142. package/dist/client.d.ts +0 -19
  143. package/dist/client.js +0 -45
  144. package/dist/client.js.map +0 -9
  145. package/dist/hypen.d.ts +0 -140
  146. package/dist/hypen.js +0 -3909
  147. package/dist/hypen.js.map +0 -63
  148. package/src/client.ts +0 -20
  149. package/src/hypen.ts +0 -556
package/dist/index.d.ts CHANGED
@@ -5,10 +5,10 @@
5
5
  * This entry point is WASM-free — it only contains renderers and the remote UI
6
6
  * embed component.
7
7
  *
8
- * For client-side rendering (with WASM engine), use "@hypen-space/web/client":
8
+ * For client-side rendering (with WASM engine), use "@hypen-space/web-engine":
9
9
  *
10
10
  * ```typescript
11
- * import { render } from "@hypen-space/web/client";
11
+ * import { render } from "@hypen-space/web-engine";
12
12
  * await render("Counter", "#app");
13
13
  * ```
14
14
  *
package/dist/index.js CHANGED
@@ -1,53 +1,36 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- function __accessProp(key) {
6
- return this[key];
7
- }
8
- var __toCommonJS = (from) => {
9
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
- if (entry)
11
- return entry;
12
- entry = __defProp({}, "__esModule", { value: true });
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (var key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(entry, key))
16
- __defProp(entry, key, {
17
- get: __accessProp.bind(from, key),
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- }
21
- __moduleCache.set(from, entry);
22
- return entry;
23
- };
24
- var __moduleCache;
25
- var __returnValue = (v) => v;
26
- function __exportSetter(name, newValue) {
27
- this[name] = __returnValue.bind(null, newValue);
28
- }
29
- var __export = (target, all) => {
30
- for (var name in all)
31
- __defProp(target, name, {
32
- get: all[name],
33
- enumerable: true,
34
- configurable: true,
35
- set: __exportSetter.bind(all, name)
36
- });
37
- };
38
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
39
- export {
40
- hypenAppHandler,
41
- disconnectHypenApp,
42
- defaultDebugConfig,
43
- canvasHandler,
44
- canvasApplicators,
45
- RerenderTracker,
46
- EventManager,
47
- DOMRenderer,
48
- ComponentRegistry,
49
- CanvasRenderer,
50
- ApplicatorRegistry
51
- };
52
-
53
- //# debugId=C38ECEF35986116164756E2164756E21
1
+ /**
2
+ * @hypen-space/web - Hypen Web Renderers
3
+ *
4
+ * Browser-only package providing DOM and Canvas rendering for Hypen applications.
5
+ * This entry point is WASM-free — it only contains renderers and the remote UI
6
+ * embed component.
7
+ *
8
+ * For client-side rendering (with WASM engine), use "@hypen-space/web-engine":
9
+ *
10
+ * ```typescript
11
+ * import { render } from "@hypen-space/web-engine";
12
+ * await render("Counter", "#app");
13
+ * ```
14
+ *
15
+ * For remote UI (no WASM needed in the browser):
16
+ *
17
+ * ```typescript
18
+ * import { DOMRenderer } from "@hypen-space/web";
19
+ * ```
20
+ */
21
+ // ============================================================================
22
+ // DOM RENDERER
23
+ // ============================================================================
24
+ export { DOMRenderer } from "./dom/renderer.js";
25
+ export { ComponentRegistry } from "./dom/components/index.js";
26
+ export { ApplicatorRegistry } from "./dom/applicators/index.js";
27
+ export { EventManager } from "./dom/events.js";
28
+ export { RerenderTracker, defaultDebugConfig } from "./dom/debug.js";
29
+ // HypenApp - Embed remote Hypen apps
30
+ export { hypenAppHandler, disconnectHypenApp } from "./dom/components/hypenapp.js";
31
+ // ============================================================================
32
+ // CANVAS RENDERER
33
+ // ============================================================================
34
+ export { CanvasRenderer } from "./canvas/renderer.js";
35
+ export { canvasHandler, canvasApplicators } from "./dom/canvas/index.js";
36
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,9 +1 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [
5
- ],
6
- "mappings": "",
7
- "debugId": "C38ECEF35986116164756E2164756E21",
8
- "names": []
9
- }
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAoB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEvF,qCAAqC;AACrC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEnF,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypen-space/web",
3
- "version": "0.4.36",
3
+ "version": "0.4.38",
4
4
  "description": "Hypen web renderers - DOM and Canvas rendering for browsers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,20 +28,6 @@
28
28
  "bun": "./src/canvas/index.ts",
29
29
  "import": "./dist/canvas/index.js",
30
30
  "default": "./dist/canvas/index.js"
31
- },
32
- "./client": {
33
- "types": "./dist/client.d.ts",
34
- "browser": "./dist/client.js",
35
- "bun": "./src/client.ts",
36
- "import": "./dist/client.js",
37
- "default": "./dist/client.js"
38
- },
39
- "./hypen": {
40
- "types": "./dist/hypen.d.ts",
41
- "browser": "./dist/hypen.js",
42
- "bun": "./src/hypen.ts",
43
- "import": "./dist/hypen.js",
44
- "default": "./dist/hypen.js"
45
31
  }
46
32
  },
47
33
  "files": [
@@ -56,7 +42,7 @@
56
42
  "clean": "rm -rf dist"
57
43
  },
58
44
  "dependencies": {
59
- "@hypen-space/core": "^0.4.36"
45
+ "@hypen-space/core": "^0.4.38"
60
46
  },
61
47
  "devDependencies": {
62
48
  "@types/bun": "latest",
@@ -5,7 +5,7 @@ Get started with the Hypen Canvas Renderer in 5 minutes.
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- bun add @hypen-space/core
8
+ bun add @hypen-space/core @hypen-space/web @hypen-space/web-engine
9
9
  ```
10
10
 
11
11
  ## Basic Setup
@@ -28,8 +28,9 @@ bun add @hypen-space/core
28
28
  ### 2. Create App (`app.ts`)
29
29
 
30
30
  ```typescript
31
- import { Engine, app, HypenModuleInstance } from "@hypen-space/core";
32
- import { CanvasRenderer } from "@hypen-space/core/canvas";
31
+ import { app, HypenModuleInstance } from "@hypen-space/core";
32
+ import { Engine } from "@hypen-space/web-engine";
33
+ import { CanvasRenderer } from "@hypen-space/web/canvas";
33
34
 
34
35
  // Define state
35
36
  type AppState = {
@@ -14,8 +14,9 @@ The Canvas Renderer is a complete alternative to the DOM renderer that draws all
14
14
  ## Quick Start
15
15
 
16
16
  ```typescript
17
- import { Engine, app } from "@hypen-space/core";
18
- import { CanvasRenderer } from "@hypen-space/core/canvas";
17
+ import { app } from "@hypen-space/core";
18
+ import { Engine } from "@hypen-space/web-engine";
19
+ import { CanvasRenderer } from "@hypen-space/web/canvas";
19
20
 
20
21
  // Setup canvas
21
22
  const canvas = document.getElementById("app") as HTMLCanvasElement;
package/src/dom/README.md CHANGED
@@ -38,8 +38,9 @@ src/dom/
38
38
  ### Browser Import
39
39
 
40
40
  ```typescript
41
- import { Engine, app, HypenModuleInstance } from "@hypen-space/core";
42
- import { DOMRenderer } from "@hypen-space/core/dom";
41
+ import { app, HypenModuleInstance } from "@hypen-space/core";
42
+ import { Engine } from "@hypen-space/web-engine";
43
+ import { DOMRenderer } from "@hypen-space/web";
43
44
 
44
45
  const engine = new Engine();
45
46
  await engine.init();
@@ -54,7 +55,7 @@ engine.setRenderCallback((patches) => {
54
55
 
55
56
  ```typescript
56
57
  // This will fail in Node.js/Bun (no DOM)
57
- import { DOMRenderer } from "@hypen-space/core/dom"; // ❌ Error
58
+ import { DOMRenderer } from "@hypen-space/web"; // ❌ Error (no DOM in Node.js)
58
59
 
59
60
  // Use server-safe renderer instead
60
61
  import { ConsoleRenderer } from "@hypen-space/core"; // ✅ Works
package/src/index.ts CHANGED
@@ -5,10 +5,10 @@
5
5
  * This entry point is WASM-free — it only contains renderers and the remote UI
6
6
  * embed component.
7
7
  *
8
- * For client-side rendering (with WASM engine), use "@hypen-space/web/client":
8
+ * For client-side rendering (with WASM engine), use "@hypen-space/web-engine":
9
9
  *
10
10
  * ```typescript
11
- * import { render } from "@hypen-space/web/client";
11
+ * import { render } from "@hypen-space/web-engine";
12
12
  * await render("Counter", "#app");
13
13
  * ```
14
14
  *
package/dist/client.d.ts DELETED
@@ -1,19 +0,0 @@
1
- /**
2
- * @hypen-space/web/client - Client-side rendering with WASM engine
3
- *
4
- * This entry point includes the Hypen orchestrator which connects the
5
- * BrowserEngine (WASM) with the DOM renderer. Use this when you want
6
- * to run the engine client-side in the browser.
7
- *
8
- * For remote UI (server-side engine, no WASM in browser), use the
9
- * default import from "@hypen-space/web" instead.
10
- *
11
- * @example
12
- * ```typescript
13
- * import { render } from "@hypen-space/web/client";
14
- *
15
- * await render("Counter", "#app");
16
- * ```
17
- */
18
- export { Hypen, render, renderWithComponents } from "./hypen.js";
19
- export type { HypenConfig } from "./hypen.js";
package/dist/client.js DELETED
@@ -1,45 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- function __accessProp(key) {
6
- return this[key];
7
- }
8
- var __toCommonJS = (from) => {
9
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
- if (entry)
11
- return entry;
12
- entry = __defProp({}, "__esModule", { value: true });
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (var key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(entry, key))
16
- __defProp(entry, key, {
17
- get: __accessProp.bind(from, key),
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- }
21
- __moduleCache.set(from, entry);
22
- return entry;
23
- };
24
- var __moduleCache;
25
- var __returnValue = (v) => v;
26
- function __exportSetter(name, newValue) {
27
- this[name] = __returnValue.bind(null, newValue);
28
- }
29
- var __export = (target, all) => {
30
- for (var name in all)
31
- __defProp(target, name, {
32
- get: all[name],
33
- enumerable: true,
34
- configurable: true,
35
- set: __exportSetter.bind(all, name)
36
- });
37
- };
38
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
39
- export {
40
- renderWithComponents,
41
- render,
42
- Hypen
43
- };
44
-
45
- //# debugId=B840971A20931BAE64756E2164756E21
@@ -1,9 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [
5
- ],
6
- "mappings": "",
7
- "debugId": "B840971A20931BAE64756E2164756E21",
8
- "names": []
9
- }
package/dist/hypen.d.ts DELETED
@@ -1,140 +0,0 @@
1
- /**
2
- * Hypen - High-Level API for Web Applications
3
- *
4
- * Simple API for rendering Hypen applications (like ReactDOM.render)
5
- */
6
- import { HypenModuleInstance } from "@hypen-space/core/app";
7
- import type { HypenModuleDefinition } from "@hypen-space/core/app";
8
- import { HypenRouter } from "@hypen-space/core/router";
9
- import { HypenGlobalContext } from "@hypen-space/core/context";
10
- export interface HypenConfig {
11
- /** Base directory for components (default: "./src/components") */
12
- componentsDir?: string;
13
- /** Enable debug logging */
14
- debug?: boolean;
15
- /** Custom WASM URL */
16
- wasmUrl?: string;
17
- /** Custom WASM JS glue URL */
18
- jsUrl?: string;
19
- /** Enable re-render heatmap debugging */
20
- debugHeatmap?: boolean;
21
- /** Heatmap increment per re-render (default: 5%) */
22
- heatmapIncrement?: number;
23
- /** Heatmap fade out duration in ms (default: 2000) */
24
- heatmapFadeOut?: number;
25
- }
26
- export declare class Hypen {
27
- private engine;
28
- private renderer;
29
- private moduleInstance;
30
- private container;
31
- private config;
32
- private router;
33
- private globalContext;
34
- private moduleInstances;
35
- constructor(config?: HypenConfig);
36
- /**
37
- * Initialize the Hypen runtime
38
- * Must be called before render()
39
- */
40
- init(): Promise<void>;
41
- /**
42
- * Load all components from the components directory
43
- */
44
- loadComponents(componentsDir?: string): Promise<void>;
45
- /**
46
- * Render a component to a DOM container
47
- *
48
- * @param componentName - Name of the component to render (e.g., "HomePage")
49
- * @param containerSelector - CSS selector or HTMLElement for the mount point
50
- */
51
- render(componentName: string, containerSelector: string | HTMLElement): Promise<void>;
52
- /**
53
- * Unmount and cleanup
54
- */
55
- unmount(): Promise<void>;
56
- /**
57
- * Get the current module instance
58
- */
59
- getModuleInstance(): HypenModuleInstance<any> | null;
60
- /**
61
- * Get the current state
62
- */
63
- getState(): any;
64
- /**
65
- * Get the router instance
66
- */
67
- getRouter(): HypenRouter;
68
- /**
69
- * Get the global context
70
- */
71
- getGlobalContext(): HypenGlobalContext;
72
- /**
73
- * Enable or disable debug heatmap mode
74
- */
75
- setDebugHeatmap(enabled: boolean): void;
76
- /**
77
- * Reset debug tracking for all elements
78
- */
79
- resetDebugTracking(): void;
80
- /**
81
- * Get debug statistics
82
- */
83
- getDebugStats(): {
84
- totalRerenders: number;
85
- elementCount: number;
86
- avgRerenders: number;
87
- } | null;
88
- /**
89
- * Render a lazy route component into a specific route element
90
- * This is called by the Router when a route becomes active
91
- */
92
- renderLazyRoute(routePath: string, componentName: string, routeElement: HTMLElement): Promise<void>;
93
- /**
94
- * Extract module ID from component name or .id() applicator
95
- */
96
- private extractModuleId;
97
- /**
98
- * Create module instances for all components that have state
99
- */
100
- private createNestedModuleInstances;
101
- /**
102
- * Get merged state from all module instances
103
- */
104
- private getMergedState;
105
- /**
106
- * Set up component resolver for the engine
107
- */
108
- private setupComponentResolver;
109
- }
110
- /**
111
- * Quick render function (like ReactDOM.render)
112
- *
113
- * @example
114
- * ```typescript
115
- * import { render } from "@hypen-space/web/client";
116
- *
117
- * await render("HomePage", "#app");
118
- * ```
119
- */
120
- export declare function render(componentName: string, containerSelector: string | HTMLElement, config?: HypenConfig): Promise<Hypen>;
121
- /**
122
- * Render with explicit component loading
123
- *
124
- * @example
125
- * ```typescript
126
- * import { renderWithComponents } from "@hypen-space/web/client";
127
- * import HomePage from "./components/HomePage/component";
128
- * import homePageTemplate from "./components/HomePage/component.hypen";
129
- *
130
- * await renderWithComponents(
131
- * { HomePage: { module: HomePage, template: homePageTemplate } },
132
- * "HomePage",
133
- * "#app"
134
- * );
135
- * ```
136
- */
137
- export declare function renderWithComponents(components: Record<string, {
138
- module: HypenModuleDefinition;
139
- template: string;
140
- }>, componentName: string, containerSelector: string | HTMLElement, config?: HypenConfig): Promise<Hypen>;