From d03d2ccf0cbb046decc4530f2c762e721ce6f755 Mon Sep 17 00:00:00 2001 From: Lidiya Georgieva Date: Thu, 12 Mar 2026 17:07:31 +0200 Subject: [PATCH 1/2] feat(ui5-radio-button): enable font-size based scaling --- packages/main/src/themes/RadioButton.css | 26 +++++++++++++++++-- .../main/src/themes/base/sizes-parameters.css | 3 +-- packages/main/test/pages/RadioButton.html | 6 +++++ .../main/test/pages/styles/RadioButton.css | 16 ++++++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/packages/main/src/themes/RadioButton.css b/packages/main/src/themes/RadioButton.css index 2cf1e9379006..acd5f20e5868 100644 --- a/packages/main/src/themes/RadioButton.css +++ b/packages/main/src/themes/RadioButton.css @@ -12,6 +12,29 @@ overflow: hidden; color: var(--_ui5_radio_button_color); border-radius: var(--_ui5_radio_button_border_radius); + font-size: 1rem; + + /* Enable font-size based scaling - all em values below are relative to font-size */ + --_ui5_radio_button_inner_size: 2.75em; + --_ui5_radio_button_svg_size: 1.375em; + --_ui5_radio_button_height: 2.75em; + --_ui5_radio_button_outer_ring_padding: 0 0.625em; + --_ui5_radio_button_outer_ring_padding_with_label: 0 0.6875em; + --_ui5_radio_button_label_offset: 0.125em; + --_ui5_radio_button_focus_dist: 0.375em; + --_ui5_radio_button_label_font_size: 0.875em; +} + +/* Compact mode - override em values */ +@container style(--ui5_content_density: compact) { + :host { + --_ui5_radio_button_inner_size: 2em; + --_ui5_radio_button_svg_size: 1em; + --_ui5_radio_button_height: 2em; + --_ui5_radio_button_outer_ring_padding: 0 0.5em; + --_ui5_radio_button_outer_ring_padding_with_label: 0 0.5em; + --_ui5_radio_button_focus_dist: 0.375em; + } } :host(:not([disabled])) .ui5-radio-root { @@ -194,7 +217,6 @@ padding: var(--_ui5_radio_button_outer_ring_padding); flex-shrink: 0; height: var(--_ui5_radio_button_inner_size); - font-size: 1rem; /* override font size of the message dialog */ pointer-events: none; vertical-align: top; } @@ -218,12 +240,12 @@ display: flex; align-items: center; padding-inline-end: var(--_ui5_radio_button_label_offset); - padding-block: var(--_ui5_radio_button_label_side_padding); vertical-align: top; max-width: 100%; pointer-events: none; color: var(--_ui5_radio_button_label_color); overflow-wrap: break-word; + font-size: var(--_ui5_radio_button_label_font_size); } :host([wrapping-type="None"][text]) .ui5-radio-root { diff --git a/packages/main/src/themes/base/sizes-parameters.css b/packages/main/src/themes/base/sizes-parameters.css index 839beba0dd2d..5a81788b7613 100644 --- a/packages/main/src/themes/base/sizes-parameters.css +++ b/packages/main/src/themes/base/sizes-parameters.css @@ -123,7 +123,7 @@ /* Radio Button */ --_ui5_radio_button_height: 2.75rem; - --_ui5_radio_button_label_side_padding: .875rem; + --_ui5_radio_button_inner_size: 2.75rem; --_ui5_radio_button_svg_size: 1.375rem; @@ -322,7 +322,6 @@ /* Radio Button */ --_ui5_radio_button_height: 2rem; - --_ui5_radio_button_label_side_padding: .5rem; --_ui5_radio_button_inner_size: 2rem; --_ui5_radio_button_svg_size: 1rem; diff --git a/packages/main/test/pages/RadioButton.html b/packages/main/test/pages/RadioButton.html index 11376127dcb4..992ce39f6f0e 100644 --- a/packages/main/test/pages/RadioButton.html +++ b/packages/main/test/pages/RadioButton.html @@ -172,6 +172,12 @@ + + + + + +