Skip to content

Commit 5edb14e

Browse files
authored
fix: remove select options padding to make it more clickable, fixes #391 (#397)
* fix: remove select options padding to make it more clickable, fixes #391
1 parent ddb59f4 commit 5edb14e

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

packages/multiple-select-vanilla/src/MultipleSelectInstance.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export class MultipleSelectInstance {
5050
protected selectAllElm?: HTMLInputElement | null;
5151
protected searchInputElm?: HTMLInputElement | null;
5252
protected selectGroupElms?: NodeListOf<HTMLInputElement>;
53-
protected selectItemElms?: NodeListOf<HTMLInputElement>;
53+
protected selectCheckboxElms?: NodeListOf<HTMLInputElement>;
5454
protected noResultsElm?: HTMLDivElement | null;
5555
protected options: MultipleSelectOption;
5656
protected selectAllName = '';
@@ -835,7 +835,7 @@ export class MultipleSelectInstance {
835835
this.selectGroupElms = this.dropElm?.querySelectorAll<HTMLInputElement>(
836836
`input[data-name="${this.selectGroupName}"],span[data-name="${this.selectGroupName}"]`,
837837
);
838-
this.selectItemElms = this.dropElm?.querySelectorAll<HTMLInputElement>(`input[data-name="${this.selectItemName}"]:enabled`);
838+
this.selectCheckboxElms = this.dropElm?.querySelectorAll<HTMLInputElement>(`input[data-name="${this.selectItemName}"]:enabled`);
839839
this.noResultsElm = this.dropElm?.querySelector<HTMLDivElement>('.ms-no-results');
840840

841841
const toggleOpen = (e: MouseEvent & { target: HTMLElement }) => {
@@ -922,7 +922,7 @@ export class MultipleSelectInstance {
922922
if (this.options.filterAcceptOnEnter && ['Enter', 'Space'].includes(e.code) && this.searchInputElm?.value) {
923923
if (this.options.single) {
924924
const visibleLiElms: HTMLInputElement[] = [];
925-
this.selectItemElms?.forEach(selectedElm => {
925+
this.selectCheckboxElms?.forEach(selectedElm => {
926926
if (selectedElm.closest('li')?.style.display !== 'none') {
927927
visibleLiElms.push(selectedElm);
928928
}
@@ -1006,9 +1006,9 @@ export class MultipleSelectInstance {
10061006
);
10071007
}
10081008

1009-
if (this.selectItemElms) {
1009+
if (this.selectCheckboxElms) {
10101010
this._bindEventService.bind(
1011-
this.selectItemElms,
1011+
this.selectCheckboxElms,
10121012
'click',
10131013
((e: MouseEvent & { currentTarget: HTMLInputElement }) => {
10141014
const selectElm = e.currentTarget;

packages/multiple-select-vanilla/src/styles/_variables.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ $ms-drop-padding: 0 !default;
6363
$ms-drop-list-item-align-items: center !default;
6464
$ms-drop-list-item-display: flex !default;
6565
$ms-drop-list-item-level1-padding-left: 8px !default;
66-
$ms-drop-list-item-padding: 0.25rem 8px !default;
66+
$ms-drop-list-item-padding: 0 !default;
6767
$ms-drop-list-item-disabled-filter: Alpha(Opacity = 35) !default;
6868
$ms-drop-list-item-disabled-opacity: 0.35 !default;
6969
$ms-drop-scrollbar-color: #c1c1c1 #f1f1f1 !default;
@@ -73,7 +73,7 @@ $ms-infinite-empty-option-height: 20px !default;
7373
$ms-label-column-gap: 0 !default;
7474
$ms-label-margin-bottom: 0 !default;
7575
$ms-label-min-height: 1.25rem !default;
76-
$ms-label-padding: 0 0 0 2px !default;
76+
$ms-label-padding: 0.25rem 8px !default;
7777
$ms-label-text-padding-left: 8px !default;
7878
$ms-loading-gap: 4px !default;
7979
$ms-loading-icon-size: 1.15em !default;

playwright/e2e/example03.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { test, expect } from '@playwright/test';
1+
import { expect, test } from '@playwright/test';
22

33
test.describe('Example 03 - Multiple Width', () => {
44
test('each item should be around 44px wide and expect item selected to show in select parent element', async ({ page }) => {
@@ -9,7 +9,7 @@ test.describe('Example 03 - Multiple Width', () => {
99
await page.getByRole('option', { name: '15' }).click();
1010
let elm16 = await page.locator('label').filter({ hasText: '16' });
1111
await elm16.click();
12-
expect((await elm16!.boundingBox())!.width).toBe(54);
12+
expect((await elm16!.boundingBox())!.width).toBe(70);
1313

1414
elm16 = await page.locator('div[data-test=select1] .ms-drop li:nth-of-type(16)');
1515
await elm16.focus();

playwright/e2e/options30.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { test, expect, type Page } from '@playwright/test';
1+
import { expect, type Page, test } from '@playwright/test';
22

3-
async function assertDropSize(page: Page, selector: string, type: 'height' | 'width', expectation: number, range = 15) {
3+
async function assertDropSize(page: Page, selector: string, type: 'height' | 'width', expectation: number, range = 20) {
44
const dropElm1 = await page.locator(selector);
55
const elmSize = (await dropElm1?.boundingBox())![type];
66
expect(elmSize).toBeGreaterThanOrEqual(expectation - range);

0 commit comments

Comments
 (0)