From 645ec2da6769d4d3135f492cbcb71c9f6478bc7a Mon Sep 17 00:00:00 2001 From: Mirko Pecora Date: Mon, 2 Mar 2026 17:21:39 +0100 Subject: [PATCH 1/2] fix: property alias for width and height --- src/core/dom-renderer/domRendererTypes.ts | 1 - src/core/elementNode.ts | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core/dom-renderer/domRendererTypes.ts b/src/core/dom-renderer/domRendererTypes.ts index c772d97..09da81f 100644 --- a/src/core/dom-renderer/domRendererTypes.ts +++ b/src/core/dom-renderer/domRendererTypes.ts @@ -123,7 +123,6 @@ export interface IRendererMain extends IEventEmitter { createNode(props: Partial): IRendererNode; createShader: typeof lng.RendererMain.prototype.createShader; createTexture: typeof lng.RendererMain.prototype.createTexture; - //createEffect: typeof lng.RendererMain.prototype.createEffect; } export interface DomRendererMainSettings { diff --git a/src/core/elementNode.ts b/src/core/elementNode.ts index 28f602c..5f150ec 100644 --- a/src/core/elementNode.ts +++ b/src/core/elementNode.ts @@ -116,7 +116,7 @@ const parseAndAssignShaderProps = ( props[actualPrefix] = obj; Object.entries(obj).forEach(([key, value]) => { - let transformedKey = key === 'width' ? 'w' : key; + let transformedKey = getPropertyAlias(key); // If border side and key is width/w, transform to side (bottom/left/right/top) if (side && transformedKey === 'w') { @@ -138,8 +138,8 @@ export function convertToShader( } function getPropertyAlias(name: string) { - if (name === 'w') return 'width'; - if (name === 'h') return 'height'; + if (name === 'width') return 'w'; + if (name === 'height') return 'h'; return name; } @@ -1001,6 +1001,7 @@ export class ElementNode extends Object { } } // Delay setting focus so children can render (useful for Row + Column) + nextActiveElement = this; if (focusQueued === false) { focusQueued = true; @@ -1010,6 +1011,9 @@ export class ElementNode extends Object { focusQueued = false; }); } + // queueMicrotask(() => { + // setActiveElement(this); + // }); } else { this._autofocus = true; } From 9ab2bd91252068cf960a75929394570408353875 Mon Sep 17 00:00:00 2001 From: Mirko Pecora Date: Mon, 2 Mar 2026 17:26:03 +0100 Subject: [PATCH 2/2] fix: setFocus --- src/core/elementNode.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/core/elementNode.ts b/src/core/elementNode.ts index 5f150ec..e048a89 100644 --- a/src/core/elementNode.ts +++ b/src/core/elementNode.ts @@ -1001,19 +1001,18 @@ export class ElementNode extends Object { } } // Delay setting focus so children can render (useful for Row + Column) - nextActiveElement = this; if (focusQueued === false) { focusQueued = true; queueMicrotask(() => { - if (nextActiveElement) setActiveElement(nextActiveElement); - nextActiveElement = null; focusQueued = false; + if (nextActiveElement) { + const element = nextActiveElement; + nextActiveElement = null; + setActiveElement(element); + } }); } - // queueMicrotask(() => { - // setActiveElement(this); - // }); } else { this._autofocus = true; }