From e1f3ef862a6a35adebb6d1c3b31a820a6bc5b9e0 Mon Sep 17 00:00:00 2001 From: Ernest Date: Wed, 14 Sep 2022 21:01:34 +0800 Subject: [PATCH] Prevent option selection in `ComboboxInput` while composing (#1850) * Fix should do nothing when event is fired within a composing session * update changelog * link to PR instead of issue Co-authored-by: Robin Malfait --- packages/@headlessui-react/CHANGELOG.md | 4 +++- .../@headlessui-react/src/components/combobox/combobox.tsx | 1 + packages/@headlessui-vue/CHANGELOG.md | 4 +++- packages/@headlessui-vue/src/components/combobox/combobox.ts | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/@headlessui-react/CHANGELOG.md b/packages/@headlessui-react/CHANGELOG.md index 3440ede..2cc23ce 100644 --- a/packages/@headlessui-react/CHANGELOG.md +++ b/packages/@headlessui-react/CHANGELOG.md @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Nothing yet! +### Fixed + +- Prevent option selection in `Combobox.Input` while composing ([#1850](https://github.com/tailwindlabs/headlessui/issues/1850)) ## [1.7.1] - 2022-09-12 diff --git a/packages/@headlessui-react/src/components/combobox/combobox.tsx b/packages/@headlessui-react/src/components/combobox/combobox.tsx index 276c97a..e1a5df8 100644 --- a/packages/@headlessui-react/src/components/combobox/combobox.tsx +++ b/packages/@headlessui-react/src/components/combobox/combobox.tsx @@ -713,6 +713,7 @@ let Input = forwardRefWithAs(function Input< case Keys.Enter: if (data.comboboxState !== ComboboxState.Open) return + if (event.nativeEvent.isComposing) return event.preventDefault() event.stopPropagation() diff --git a/packages/@headlessui-vue/CHANGELOG.md b/packages/@headlessui-vue/CHANGELOG.md index 250e43d..3680212 100644 --- a/packages/@headlessui-vue/CHANGELOG.md +++ b/packages/@headlessui-vue/CHANGELOG.md @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Nothing yet! +### Fixed + +- Prevent option selection in `ComboboxInput` while composing ([#1850](https://github.com/tailwindlabs/headlessui/issues/1850)) ## [1.7.1] - 2022-09-12 diff --git a/packages/@headlessui-vue/src/components/combobox/combobox.ts b/packages/@headlessui-vue/src/components/combobox/combobox.ts index b9c73b7..157255a 100644 --- a/packages/@headlessui-vue/src/components/combobox/combobox.ts +++ b/packages/@headlessui-vue/src/components/combobox/combobox.ts @@ -674,6 +674,7 @@ export let ComboboxInput = defineComponent({ case Keys.Enter: if (api.comboboxState.value !== ComboboxStates.Open) return + if (event.isComposing) return event.preventDefault() event.stopPropagation()