From e0f751a30fbfd850d26b6de8ed976bbe6b0ae988 Mon Sep 17 00:00:00 2001 From: Cosma Alex Vergari Date: Tue, 10 Nov 2026 17:48:58 +0100 Subject: [PATCH] feat: add support for array to clipping prop --- src/core/dom-renderer/domRenderer.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/dom-renderer/domRenderer.ts b/src/core/dom-renderer/domRenderer.ts index edee1a5..5f735e2 100644 --- a/src/core/dom-renderer/domRenderer.ts +++ b/src/core/dom-renderer/domRenderer.ts @@ -334,7 +334,12 @@ function updateNodeStyles(node: DOMNode | DOMText) { if (props.alpha !== 1) style += `opacity: ${props.alpha};`; - if (props.clipping) { + if (Array.isArray(props.clipping)) { + // [top, right, bottom, left] margins grow the clip box past the node's + // bounds, as in the WebGL renderer. Legacy `clip` (every node is absolute) + const [t, r, b, l] = props.clipping; + style += `clip: rect(${-t}px, ${props.w + r}px, ${props.h + b}px, ${-l}px);`; + } else if (props.clipping) { style += `overflow: hidden;`; }