From 44c066a519feb63835ca2062ead78c2881d77f0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Walczak?= Date: Fri, 7 Aug 2026 10:38:53 +0200 Subject: [PATCH] fix(image-web): use icon size in structure preview Size the Structure mode placeholder using iconSize when the Image widget data source is an icon. Refs mendix/web-widgets#2373 --- .../image-web/src/Image.editorConfig.ts | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/packages/pluggableWidgets/image-web/src/Image.editorConfig.ts b/packages/pluggableWidgets/image-web/src/Image.editorConfig.ts index a76f9930b3..b0e617f68c 100644 --- a/packages/pluggableWidgets/image-web/src/Image.editorConfig.ts +++ b/packages/pluggableWidgets/image-web/src/Image.editorConfig.ts @@ -124,22 +124,30 @@ export function getPreview( ): StructurePreviewProps | null { const palette = structurePreviewPalette[isDarkMode ? "dark" : "light"]; - if (!values.isBackgroundImage) { - const [width, height, property] = getImageWithDimensions(); - return { - type: "Image", - document: decodeURIComponent( - (isDarkMode ? StructurePreviewImageSvgDark : StructurePreviewImageSvg).replace( - "data:image/svg+xml,", - "" - ) - ), - property, - width, - height - }; +if (!values.isBackgroundImage) { + let [width, height, property] = getImageWithDimensions(); + + if (values.datasource === "icon") { + const iconSize = values.iconSize ?? 14; + width = iconSize; + height = iconSize; + property = undefined; } + return { + type: "Image", + document: decodeURIComponent( + (isDarkMode ? StructurePreviewImageSvgDark : StructurePreviewImageSvg).replace( + "data:image/svg+xml,", + "" + ) + ), + property, + width, + height + }; +} + const titleHeader: RowLayoutProps = { type: "RowLayout", columnSize: "fixed",