Skip to content

Commit 26205f4

Browse files
authored
refactor: split some combo-box mixin logic into base mixin (#9344)
1 parent 3cd8907 commit 26205f4

File tree

6 files changed

+930
-691
lines changed

6 files changed

+930
-691
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/**
2+
* @license
3+
* Copyright (c) 2015 - 2025 Vaadin Ltd.
4+
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5+
*/
6+
import type { Constructor } from '@open-wc/dedupe-mixin';
7+
import type { DisabledMixinClass } from '@vaadin/a11y-base/src/disabled-mixin.js';
8+
import type { FocusMixinClass } from '@vaadin/a11y-base/src/focus-mixin.js';
9+
import type { KeyboardMixinClass } from '@vaadin/a11y-base/src/keyboard-mixin.js';
10+
import type { OverlayClassMixinClass } from '@vaadin/component-base/src/overlay-class-mixin.js';
11+
import type { InputMixinClass } from '@vaadin/field-base/src/input-mixin.js';
12+
import type { ValidateMixinClass } from '@vaadin/field-base/src/validate-mixin.js';
13+
14+
export declare function ComboBoxBaseMixin<T extends Constructor<HTMLElement>>(
15+
base: T,
16+
): Constructor<ComboBoxBaseMixinClass> &
17+
Constructor<DisabledMixinClass> &
18+
Constructor<FocusMixinClass> &
19+
Constructor<InputMixinClass> &
20+
Constructor<KeyboardMixinClass> &
21+
Constructor<OverlayClassMixinClass> &
22+
Constructor<ValidateMixinClass> &
23+
T;
24+
25+
export declare class ComboBoxBaseMixinClass {
26+
/**
27+
* True if the dropdown is open, false otherwise.
28+
*/
29+
opened: boolean;
30+
31+
/**
32+
* Set true to prevent the overlay from opening automatically.
33+
* @attr {boolean} auto-open-disabled
34+
*/
35+
autoOpenDisabled: boolean | null | undefined;
36+
37+
/**
38+
* When present, it specifies that the field is read-only.
39+
*/
40+
readonly: boolean;
41+
42+
/**
43+
* Tag name prefix used by scroller and items.
44+
*/
45+
protected readonly _tagNamePrefix: string;
46+
47+
/**
48+
* Opens the dropdown list.
49+
*/
50+
open(): void;
51+
52+
/**
53+
* Closes the dropdown list.
54+
*/
55+
close(): void;
56+
}

0 commit comments

Comments
 (0)