From 416340a9f587a573e5fc335f0d266cad60404bf3 Mon Sep 17 00:00:00 2001 From: Sheila Sheikh <166654065+sheila-semrush@users.noreply.github.com> Date: Wed, 22 Jul 2026 12:06:33 +0200 Subject: [PATCH 1/3] [select] fix indeterminate state not showing with undefined size --- semcore/select/src/style/select.shadow.css | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/semcore/select/src/style/select.shadow.css b/semcore/select/src/style/select.shadow.css index acc81137c6..4eefa785f3 100644 --- a/semcore/select/src/style/select.shadow.css +++ b/semcore/select/src/style/select.shadow.css @@ -81,14 +81,11 @@ SOptionCheckbox[indeterminate]:after { margin: auto; /* disable-tokens-validator */ border-radius: 1px; + width: 8px; + height: 2px; } SOptionCheckbox[indeterminate][size='l']:after { width: 12px; height: 2px; } - -SOptionCheckbox[indeterminate][size='m']:after { - width: 8px; - height: 2px; -} From 1a6bc51106b5ebae61faf5bf2b4f1fcd2741b362 Mon Sep 17 00:00:00 2001 From: Slizhevsky Vladislav Date: Thu, 23 Jul 2026 10:45:52 +0200 Subject: [PATCH 2/3] [select] fix indeterminate state not showing with undefined size --- semcore/select/src/Select.jsx | 3 +-- semcore/select/src/style/select.shadow.css | 7 +++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/semcore/select/src/Select.jsx b/semcore/select/src/Select.jsx index d48b1d4e7b..0eddb1fdb6 100644 --- a/semcore/select/src/Select.jsx +++ b/semcore/select/src/Select.jsx @@ -229,10 +229,9 @@ class RootSelect extends AbstractDropdown { } getOptionCheckboxProps() { - const { size, resolveColor } = this.asProps; + const { resolveColor } = this.asProps; return { - size, resolveColor, }; } diff --git a/semcore/select/src/style/select.shadow.css b/semcore/select/src/style/select.shadow.css index 4eefa785f3..acc81137c6 100644 --- a/semcore/select/src/style/select.shadow.css +++ b/semcore/select/src/style/select.shadow.css @@ -81,11 +81,14 @@ SOptionCheckbox[indeterminate]:after { margin: auto; /* disable-tokens-validator */ border-radius: 1px; - width: 8px; - height: 2px; } SOptionCheckbox[indeterminate][size='l']:after { width: 12px; height: 2px; } + +SOptionCheckbox[indeterminate][size='m']:after { + width: 8px; + height: 2px; +} From db6dfe6f54df0227fb08770f7c4f8a6ec84e89cf Mon Sep 17 00:00:00 2001 From: Valeryia Zimnitskaya Date: Thu, 23 Jul 2026 11:55:05 +0200 Subject: [PATCH 3/3] [select] update test --- .../select/__tests__/select.browser-test.tsx | 27 +++++++++++++++++++ .../options_checkbox_group_and_hint.tsx | 5 +++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/semcore/select/__tests__/select.browser-test.tsx b/semcore/select/__tests__/select.browser-test.tsx index 7d18d2a2e9..5a98ec3360 100644 --- a/semcore/select/__tests__/select.browser-test.tsx +++ b/semcore/select/__tests__/select.browser-test.tsx @@ -93,6 +93,33 @@ test.describe(`${TAG.VISUAL} `, () => { }); }); + test('Verify indeterminate checkbox has default size when Select size is omitted', { + tag: [TAG.PRIORITY_HIGH, '@select', '@checkbox'], + }, async ({ page }) => { + await loadPage(page, 'stories/components/select/tests/examples/options_checkbox_group_and_hint.tsx', 'en', { + omitSize: true, + showLabel: false, + option2ShowCheckbox: false, + option3ShowCheckbox: true, + option3CheckboxIndeterminate: true, + showGroup: false, + }); + + await locators.selectTrigger(page).click(); + await locators.options(page).first().waitFor({ state: 'visible' }); + + const checkbox = page.locator('[data-ui-name="Select.Option.Checkbox"]'); + await expect(checkbox).toHaveCount(1); + await expect(checkbox).toHaveCSS('width', '16px'); + await expect(checkbox).toHaveCSS('height', '16px'); + + const indicatorSize = await checkbox.evaluate((element) => { + const style = window.getComputedStyle(element, '::after'); + return { width: style.width, height: style.height }; + }); + expect(indicatorSize).toEqual({ width: '8px', height: '2px' }); + }); + const subcomponentsConfigVariables = [ // Test trigger size and state variations { description: 'trigger M normal, list M, no search', triggerSize: 'm', triggerState: 'normal', triggerDisabled: false, triggerLoading: false, listSize: 'm', showInputSearch: false }, diff --git a/stories/components/select/tests/examples/options_checkbox_group_and_hint.tsx b/stories/components/select/tests/examples/options_checkbox_group_and_hint.tsx index 03c73a3345..944c357065 100644 --- a/stories/components/select/tests/examples/options_checkbox_group_and_hint.tsx +++ b/stories/components/select/tests/examples/options_checkbox_group_and_hint.tsx @@ -7,6 +7,7 @@ import React from 'react'; export type SelectAdvancedConfigProps = SelectProps & { // Main Select props size?: 'm' | 'l'; + omitSize?: boolean; labelText?: string; showLabel?: boolean; triggerPlaceholder?: string; @@ -62,6 +63,7 @@ const Demo = (props: SelectAdvancedConfigProps) => { showLabel = true, triggerPlaceholder = 'Select an option', size = 'm', + omitSize = false, disabled = undefined, state = undefined, visible = undefined, @@ -120,7 +122,7 @@ const Demo = (props: SelectAdvancedConfigProps) => { )}