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

@ -1,4 +1,8 @@
<script>
/**
* @event {FocusEvent | CustomEvent<FocusEvent>} blur
*/
/**
* @typedef {any} MultiSelectItemId
* @typedef {string} MultiSelectItemText
@ -337,6 +341,9 @@
if (inputRef) inputRef.focus();
}
}}"
on:blur="{(e) => {
if (!filterable) dispatch('blur', e);
}}"
id="{id}"
disabled="{disabled}"
translateWithId="{translateWithId}"