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/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/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) => { )}