@hypen-space/web 0.4.5 → 0.4.12
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/dist/canvas/index.js +17 -1
- package/dist/canvas/index.js.map +3 -3
- package/dist/canvas/renderer.d.ts +4 -0
- package/dist/canvas/renderer.js +17 -1
- package/dist/canvas/renderer.js.map +3 -3
- package/dist/client.js +11 -4
- package/dist/client.js.map +4 -4
- package/dist/dom/applicators/advanced-layout.js +1 -4
- package/dist/dom/applicators/advanced-layout.js.map +3 -3
- package/dist/dom/applicators/index.js +1 -4
- package/dist/dom/applicators/index.js.map +3 -3
- package/dist/dom/index.js +11 -4
- package/dist/dom/index.js.map +4 -4
- package/dist/dom/renderer.d.ts +4 -0
- package/dist/dom/renderer.js +11 -4
- package/dist/dom/renderer.js.map +4 -4
- package/dist/hypen.js +11 -4
- package/dist/hypen.js.map +4 -4
- package/dist/index.js +27 -4
- package/dist/index.js.map +5 -5
- package/package.json +2 -2
- package/src/canvas/renderer.ts +23 -0
- package/src/dom/applicators/advanced-layout.ts +0 -4
- package/src/dom/renderer.ts +14 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hypen-space/web",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.12",
|
|
4
4
|
"description": "Hypen web renderers - DOM and Canvas rendering for browsers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"clean": "rm -rf dist"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@hypen-space/core": "^0.4.
|
|
59
|
+
"@hypen-space/core": "^0.4.12"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/bun": "latest",
|
package/src/canvas/renderer.ts
CHANGED
|
@@ -141,6 +141,10 @@ export class CanvasRenderer implements Renderer {
|
|
|
141
141
|
this.onSetProp(patch.id!, patch.name!, patch.value);
|
|
142
142
|
break;
|
|
143
143
|
|
|
144
|
+
case "removeProp":
|
|
145
|
+
this.onRemoveProp(patch.id!, patch.name!);
|
|
146
|
+
break;
|
|
147
|
+
|
|
144
148
|
case "setText":
|
|
145
149
|
this.onSetText(patch.id!, patch.text!);
|
|
146
150
|
break;
|
|
@@ -202,6 +206,25 @@ export class CanvasRenderer implements Renderer {
|
|
|
202
206
|
this.accessibilityLayer.updateNode(node);
|
|
203
207
|
}
|
|
204
208
|
|
|
209
|
+
/**
|
|
210
|
+
* Remove a property from a node
|
|
211
|
+
*/
|
|
212
|
+
private onRemoveProp(id: string, name: string): void {
|
|
213
|
+
const node = this.nodes.get(id);
|
|
214
|
+
if (!node) return;
|
|
215
|
+
|
|
216
|
+
delete node.props[name];
|
|
217
|
+
|
|
218
|
+
if (name === "visible") {
|
|
219
|
+
node.visible = true;
|
|
220
|
+
}
|
|
221
|
+
if (name === "opacity") {
|
|
222
|
+
node.opacity = 1;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
this.accessibilityLayer.updateNode(node);
|
|
226
|
+
}
|
|
227
|
+
|
|
205
228
|
/**
|
|
206
229
|
* Set text on node
|
|
207
230
|
*/
|
|
@@ -23,10 +23,6 @@ export const advancedLayoutHandlers: Record<string, ApplicatorHandler> = {
|
|
|
23
23
|
el.style.alignContent = String(value);
|
|
24
24
|
},
|
|
25
25
|
|
|
26
|
-
alignSelf: (el, value) => {
|
|
27
|
-
el.style.alignSelf = String(value);
|
|
28
|
-
},
|
|
29
|
-
|
|
30
26
|
order: (el, value) => {
|
|
31
27
|
el.style.order = String(value);
|
|
32
28
|
},
|
package/src/dom/renderer.ts
CHANGED
|
@@ -144,6 +144,9 @@ export class DOMRenderer {
|
|
|
144
144
|
case "setProp":
|
|
145
145
|
this.onSetProp(id!, patch.name!, patch.value);
|
|
146
146
|
break;
|
|
147
|
+
case "removeProp":
|
|
148
|
+
this.onRemoveProp(id!, patch.name!);
|
|
149
|
+
break;
|
|
147
150
|
case "setText":
|
|
148
151
|
this.onSetText(id!, patch.text!);
|
|
149
152
|
break;
|
|
@@ -239,6 +242,17 @@ export class DOMRenderer {
|
|
|
239
242
|
this.applicators.apply(element, name, value);
|
|
240
243
|
}
|
|
241
244
|
|
|
245
|
+
/**
|
|
246
|
+
* Remove a property from an element
|
|
247
|
+
*/
|
|
248
|
+
private onRemoveProp(id: string, name: string): void {
|
|
249
|
+
const element = this.nodes.get(id);
|
|
250
|
+
if (!element) return;
|
|
251
|
+
|
|
252
|
+
this.debugTracker.trackRerender(id, element, `removeProp:${name}`);
|
|
253
|
+
this.applicators.apply(element, name, undefined);
|
|
254
|
+
}
|
|
255
|
+
|
|
242
256
|
/**
|
|
243
257
|
* Set text content
|
|
244
258
|
*/
|