diff --git a/packages/@headlessui-react/CHANGELOG.md b/packages/@headlessui-react/CHANGELOG.md
index 1d63568..f98abbf 100644
--- a/packages/@headlessui-react/CHANGELOG.md
+++ b/packages/@headlessui-react/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Expose `disabled` state on `` component ([#2918](https://github.com/tailwindlabs/headlessui/pull/2918))
- Prevent default behaviour when clicking outside of a `Dialog.Panel` ([#2919](https://github.com/tailwindlabs/headlessui/pull/2919))
+- Use `isFocused` instead of `isFocusVisible` for `Input` and `Textarea` components ([#2940](https://github.com/tailwindlabs/headlessui/pull/2940))
## [2.0.0-alpha.4] - 2024-01-03
diff --git a/packages/@headlessui-react/src/components/combobox/combobox.tsx b/packages/@headlessui-react/src/components/combobox/combobox.tsx
index a788bc7..8bfd8a7 100644
--- a/packages/@headlessui-react/src/components/combobox/combobox.tsx
+++ b/packages/@headlessui-react/src/components/combobox/combobox.tsx
@@ -1317,10 +1317,7 @@ function InputFn<
let labelledBy = useLabelledBy()
let describedBy = useDescribedBy()
- let { isFocusVisible: focus, focusProps } = useFocusRing({
- isTextInput: true,
- autoFocus: props.autoFocus ?? false,
- })
+ let { isFocused: focus, focusProps } = useFocusRing({ autoFocus: props.autoFocus ?? false })
let { isHovered: hover, hoverProps } = useHover({ isDisabled: data.disabled ?? false })
let slot = useMemo(
@@ -1479,10 +1476,7 @@ function ButtonFn(
let labelledBy = useLabelledBy([id])
- let { isFocusVisible: focus, focusProps } = useFocusRing({
- isTextInput: true,
- autoFocus: props.autoFocus ?? false,
- })
+ let { isFocusVisible: focus, focusProps } = useFocusRing({ autoFocus: props.autoFocus ?? false })
let { isHovered: hover, hoverProps } = useHover({ isDisabled: data.disabled ?? false })
let { pressed: active, pressProps } = useActivePress({ disabled: data.disabled ?? false })
diff --git a/packages/@headlessui-react/src/components/input/input.tsx b/packages/@headlessui-react/src/components/input/input.tsx
index f42634e..27b0d68 100644
--- a/packages/@headlessui-react/src/components/input/input.tsx
+++ b/packages/@headlessui-react/src/components/input/input.tsx
@@ -56,8 +56,7 @@ function InputFn(
let labelledBy = useLabelledBy()
let describedBy = useDescribedBy()
- let { isFocusVisible: focus, focusProps } = useFocusRing({
- isTextInput: true,
+ let { isFocused: focus, focusProps } = useFocusRing({
autoFocus: props.autoFocus ?? false,
})
let { isHovered: hover, hoverProps } = useHover({ isDisabled: disabled ?? false })
diff --git a/packages/@headlessui-react/src/components/textarea/textarea.tsx b/packages/@headlessui-react/src/components/textarea/textarea.tsx
index 13ac8b0..9091f8d 100644
--- a/packages/@headlessui-react/src/components/textarea/textarea.tsx
+++ b/packages/@headlessui-react/src/components/textarea/textarea.tsx
@@ -56,7 +56,7 @@ function TextareaFn(
let labelledBy = useLabelledBy()
let describedBy = useDescribedBy()
- let { isFocusVisible: focus, focusProps } = useFocusRing({ autoFocus: props.autoFocus ?? false })
+ let { isFocused: focus, focusProps } = useFocusRing({ autoFocus: props.autoFocus ?? false })
let { isHovered: hover, hoverProps } = useHover({ isDisabled: disabled ?? false })
let ourProps = mergeProps(