@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.
- package/README.md +7 -6
- package/dist/canvas/accessibility.js +174 -174
- package/dist/canvas/accessibility.js.map +1 -10
- package/dist/canvas/events.js +264 -360
- package/dist/canvas/events.js.map +1 -11
- package/dist/canvas/index.js +11 -47
- package/dist/canvas/index.js.map +1 -9
- package/dist/canvas/input.js +178 -289
- package/dist/canvas/input.js.map +1 -11
- package/dist/canvas/layout.js +349 -547
- package/dist/canvas/layout.js.map +1 -12
- package/dist/canvas/paint.js +1122 -1146
- package/dist/canvas/paint.js.map +1 -12
- package/dist/canvas/renderer.js +352 -2259
- package/dist/canvas/renderer.js.map +1 -17
- package/dist/canvas/text.js +129 -264
- package/dist/canvas/text.js.map +1 -11
- package/dist/canvas/types.js +7 -2
- package/dist/canvas/types.js.map +1 -9
- package/dist/canvas/utils.js +158 -161
- package/dist/canvas/utils.js.map +1 -10
- package/dist/dom/applicators/advanced-layout.js +105 -138
- package/dist/dom/applicators/advanced-layout.js.map +1 -10
- package/dist/dom/applicators/background.js +36 -76
- package/dist/dom/applicators/background.js.map +1 -10
- package/dist/dom/applicators/border.js +82 -106
- package/dist/dom/applicators/border.js.map +1 -10
- package/dist/dom/applicators/color.js +17 -58
- package/dist/dom/applicators/color.js.map +1 -10
- package/dist/dom/applicators/display.js +39 -79
- package/dist/dom/applicators/display.js.map +1 -10
- package/dist/dom/applicators/effects.js +121 -147
- package/dist/dom/applicators/effects.js.map +1 -10
- package/dist/dom/applicators/events.js +413 -450
- package/dist/dom/applicators/events.js.map +1 -11
- package/dist/dom/applicators/font.js +119 -140
- package/dist/dom/applicators/font.js.map +1 -10
- package/dist/dom/applicators/index.js +386 -1770
- package/dist/dom/applicators/index.js.map +1 -26
- package/dist/dom/applicators/layout.js +143 -149
- package/dist/dom/applicators/layout.js.map +1 -10
- package/dist/dom/applicators/margin.js +64 -105
- package/dist/dom/applicators/margin.js.map +1 -10
- package/dist/dom/applicators/padding.js +64 -105
- package/dist/dom/applicators/padding.js.map +1 -10
- package/dist/dom/applicators/size.js +169 -172
- package/dist/dom/applicators/size.js.map +1 -10
- package/dist/dom/applicators/transform.js +73 -114
- package/dist/dom/applicators/transform.js.map +1 -10
- package/dist/dom/applicators/transition.js +47 -88
- package/dist/dom/applicators/transition.js.map +1 -10
- package/dist/dom/applicators/types.js +7 -2
- package/dist/dom/applicators/types.js.map +1 -9
- package/dist/dom/applicators/typography.js +68 -109
- package/dist/dom/applicators/typography.js.map +1 -10
- package/dist/dom/canvas/index.js +49 -83
- package/dist/dom/canvas/index.js.map +1 -10
- package/dist/dom/components/app.js +16 -63
- package/dist/dom/components/app.js.map +1 -10
- package/dist/dom/components/audio.js +31 -76
- package/dist/dom/components/audio.js.map +1 -10
- package/dist/dom/components/avatar.js +41 -87
- package/dist/dom/components/avatar.js.map +1 -10
- package/dist/dom/components/badge.js +35 -83
- package/dist/dom/components/badge.js.map +1 -10
- package/dist/dom/components/button.js +26 -69
- package/dist/dom/components/button.js.map +1 -10
- package/dist/dom/components/card.js +13 -63
- package/dist/dom/components/card.js.map +1 -10
- package/dist/dom/components/center.js +21 -65
- package/dist/dom/components/center.js.map +1 -10
- package/dist/dom/components/checkbox.js +37 -82
- package/dist/dom/components/checkbox.js.map +1 -10
- package/dist/dom/components/column.js +16 -62
- package/dist/dom/components/column.js.map +1 -10
- package/dist/dom/components/container.js +11 -59
- package/dist/dom/components/container.js.map +1 -10
- package/dist/dom/components/divider.js +27 -73
- package/dist/dom/components/divider.js.map +1 -10
- package/dist/dom/components/grid.js +41 -80
- package/dist/dom/components/grid.js.map +1 -10
- package/dist/dom/components/heading.js +28 -74
- package/dist/dom/components/heading.js.map +1 -10
- package/dist/dom/components/hypenapp.js +291 -288
- package/dist/dom/components/hypenapp.js.map +1 -10
- package/dist/dom/components/image.js +18 -67
- package/dist/dom/components/image.js.map +1 -10
- package/dist/dom/components/index.js +109 -1427
- package/dist/dom/components/index.js.map +1 -42
- package/dist/dom/components/input.js +19 -69
- package/dist/dom/components/input.js.map +1 -10
- package/dist/dom/components/link.js +23 -70
- package/dist/dom/components/link.js.map +1 -10
- package/dist/dom/components/list.js +26 -72
- package/dist/dom/components/list.js.map +1 -10
- package/dist/dom/components/paragraph.js +14 -63
- package/dist/dom/components/paragraph.js.map +1 -10
- package/dist/dom/components/progressbar.js +38 -85
- package/dist/dom/components/progressbar.js.map +1 -10
- package/dist/dom/components/route.js +27 -73
- package/dist/dom/components/route.js.map +1 -10
- package/dist/dom/components/router.js +15 -62
- package/dist/dom/components/router.js.map +1 -10
- package/dist/dom/components/row.js +25 -70
- package/dist/dom/components/row.js.map +1 -10
- package/dist/dom/components/select.js +42 -85
- package/dist/dom/components/select.js.map +1 -10
- package/dist/dom/components/slider.js +31 -76
- package/dist/dom/components/slider.js.map +1 -10
- package/dist/dom/components/spacer.js +10 -60
- package/dist/dom/components/spacer.js.map +1 -10
- package/dist/dom/components/spinner.js +41 -88
- package/dist/dom/components/spinner.js.map +1 -10
- package/dist/dom/components/stack.js +19 -67
- package/dist/dom/components/stack.js.map +1 -10
- package/dist/dom/components/switch.js +50 -93
- package/dist/dom/components/switch.js.map +1 -10
- package/dist/dom/components/text.js +24 -69
- package/dist/dom/components/text.js.map +1 -10
- package/dist/dom/components/textarea.js +35 -79
- package/dist/dom/components/textarea.js.map +1 -10
- package/dist/dom/components/video.js +35 -79
- package/dist/dom/components/video.js.map +1 -10
- package/dist/dom/debug.js +159 -160
- package/dist/dom/debug.js.map +1 -10
- package/dist/dom/element-data.js +181 -143
- package/dist/dom/element-data.js.map +1 -10
- package/dist/dom/events.js +133 -142
- package/dist/dom/events.js.map +1 -10
- package/dist/dom/index.js +11 -48
- package/dist/dom/index.js.map +1 -9
- package/dist/dom/renderer.js +311 -3596
- package/dist/dom/renderer.js.map +1 -62
- package/dist/index.d.ts +2 -2
- package/dist/index.js +36 -53
- package/dist/index.js.map +1 -9
- package/package.json +2 -16
- package/src/canvas/QUICKSTART.md +4 -3
- package/src/canvas/README.md +3 -2
- package/src/dom/README.md +4 -3
- package/src/index.ts +2 -2
- package/dist/client.d.ts +0 -19
- package/dist/client.js +0 -45
- package/dist/client.js.map +0 -9
- package/dist/hypen.d.ts +0 -140
- package/dist/hypen.js +0 -3909
- package/dist/hypen.js.map +0 -63
- package/src/client.ts +0 -20
- 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
|
|
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
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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.
|
|
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.
|
|
45
|
+
"@hypen-space/core": "^0.4.38"
|
|
60
46
|
},
|
|
61
47
|
"devDependencies": {
|
|
62
48
|
"@types/bun": "latest",
|
package/src/canvas/QUICKSTART.md
CHANGED
|
@@ -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 {
|
|
32
|
-
import {
|
|
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 = {
|
package/src/canvas/README.md
CHANGED
|
@@ -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 {
|
|
18
|
-
import {
|
|
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 {
|
|
42
|
-
import {
|
|
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/
|
|
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
|
|
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
|
|
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
|
package/dist/client.js.map
DELETED
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>;
|