fix(multi-select): non-filterable MultiSelect should dispatch a blur event (#1080)

The non-filterable `MultiSelect` is missing a `blur` event.

Implementation-wise, we have to dispatch it and include the event as the `detail`. Otherwise, the filterable variant will dispatch "blur" twice because it has both a button and input.

The filterable `MultiSelect` continues to forward the blur event to the input.
This commit is contained in:
metonym 2022-02-10 08:27:09 -08:00 committed by GitHub
commit 63f52b4683
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 9 deletions

View file

@ -212,6 +212,7 @@ export interface MultiSelectProps
export default class MultiSelect extends SvelteComponentTyped<
MultiSelectProps,
{
blur: FocusEvent | CustomEvent<FocusEvent>;
select: CustomEvent<{
selectedIds: MultiSelectItemId[];
selected: MultiSelectItem[];
@ -221,7 +222,6 @@ export default class MultiSelect extends SvelteComponentTyped<
keydown: WindowEventMap["keydown"];
keyup: WindowEventMap["keyup"];
focus: WindowEventMap["focus"];
blur: WindowEventMap["blur"];
},
{}
> {}