diff --git a/packages/@headlessui-react/CHANGELOG.md b/packages/@headlessui-react/CHANGELOG.md index 6961276..f8c3cc4 100644 --- a/packages/@headlessui-react/CHANGELOG.md +++ b/packages/@headlessui-react/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Use `useId` instead of React internals (for React 19 compatibility) ([#3254](https://github.com/tailwindlabs/headlessui/pull/3254)) - Ensure `ComboboxInput` does not sync with current value while typing ([#3259](https://github.com/tailwindlabs/headlessui/pull/3259)) - Cancel outside click behavior on touch devices when scrolling ([#3266](https://github.com/tailwindlabs/headlessui/pull/3266)) +- Correctly apply conditional classses when using `` and `` components ([#3303](https://github.com/tailwindlabs/headlessui/pull/3303)) ### Changed diff --git a/packages/@headlessui-react/src/components/combobox/combobox.tsx b/packages/@headlessui-react/src/components/combobox/combobox.tsx index 89008c7..6927a4e 100644 --- a/packages/@headlessui-react/src/components/combobox/combobox.tsx +++ b/packages/@headlessui-react/src/components/combobox/combobox.tsx @@ -41,7 +41,7 @@ import { useResolveButtonType } from '../../hooks/use-resolve-button-type' import { useScrollLock } from '../../hooks/use-scroll-lock' import { useSyncRefs } from '../../hooks/use-sync-refs' import { useTrackedPointer } from '../../hooks/use-tracked-pointer' -import { useTransitionData, type TransitionData } from '../../hooks/use-transition-data' +import { useTransition, type TransitionData } from '../../hooks/use-transition' import { useTreeWalker } from '../../hooks/use-tree-walker' import { useWatch } from '../../hooks/use-watch' import { useDisabled } from '../../internal/disabled' @@ -1610,7 +1610,7 @@ function OptionsFn( let ownerDocument = useOwnerDocument(data.optionsRef) let usesOpenClosedState = useOpenClosed() - let [visible, transitionData] = useTransitionData( + let [visible, transitionData] = useTransition( transition, data.optionsRef, usesOpenClosedState !== null diff --git a/packages/@headlessui-react/src/components/disclosure/disclosure.tsx b/packages/@headlessui-react/src/components/disclosure/disclosure.tsx index fcf624f..fa47e65 100644 --- a/packages/@headlessui-react/src/components/disclosure/disclosure.tsx +++ b/packages/@headlessui-react/src/components/disclosure/disclosure.tsx @@ -24,7 +24,7 @@ import { useEvent } from '../../hooks/use-event' import { useId } from '../../hooks/use-id' import { useResolveButtonType } from '../../hooks/use-resolve-button-type' import { optionalRef, useSyncRefs } from '../../hooks/use-sync-refs' -import { useTransitionData, type TransitionData } from '../../hooks/use-transition-data' +import { useTransition, type TransitionData } from '../../hooks/use-transition' import { CloseProvider } from '../../internal/close-provider' import { OpenClosedProvider, State, useOpenClosed } from '../../internal/open-closed' import type { Props } from '../../types' @@ -458,7 +458,7 @@ function PanelFn( }, [id, dispatch]) let usesOpenClosedState = useOpenClosed() - let [visible, transitionData] = useTransitionData( + let [visible, transitionData] = useTransition( transition, state.panelRef, usesOpenClosedState !== null diff --git a/packages/@headlessui-react/src/components/listbox/listbox.tsx b/packages/@headlessui-react/src/components/listbox/listbox.tsx index 8a66aec..3cf1069 100644 --- a/packages/@headlessui-react/src/components/listbox/listbox.tsx +++ b/packages/@headlessui-react/src/components/listbox/listbox.tsx @@ -42,7 +42,7 @@ import { useScrollLock } from '../../hooks/use-scroll-lock' import { useSyncRefs } from '../../hooks/use-sync-refs' import { useTextValue } from '../../hooks/use-text-value' import { useTrackedPointer } from '../../hooks/use-tracked-pointer' -import { useTransitionData, type TransitionData } from '../../hooks/use-transition-data' +import { useTransition, type TransitionData } from '../../hooks/use-transition' import { useDisabled } from '../../internal/disabled' import { FloatingProvider, @@ -919,7 +919,7 @@ function OptionsFn( let ownerDocument = useOwnerDocument(data.optionsRef) let usesOpenClosedState = useOpenClosed() - let [visible, transitionData] = useTransitionData( + let [visible, transitionData] = useTransition( transition, data.optionsRef, usesOpenClosedState !== null diff --git a/packages/@headlessui-react/src/components/menu/menu.tsx b/packages/@headlessui-react/src/components/menu/menu.tsx index 2b40a8c..7fb21a2 100644 --- a/packages/@headlessui-react/src/components/menu/menu.tsx +++ b/packages/@headlessui-react/src/components/menu/menu.tsx @@ -37,7 +37,7 @@ import { useScrollLock } from '../../hooks/use-scroll-lock' import { useSyncRefs } from '../../hooks/use-sync-refs' import { useTextValue } from '../../hooks/use-text-value' import { useTrackedPointer } from '../../hooks/use-tracked-pointer' -import { useTransitionData, type TransitionData } from '../../hooks/use-transition-data' +import { useTransition, type TransitionData } from '../../hooks/use-transition' import { useTreeWalker } from '../../hooks/use-tree-walker' import { FloatingProvider, @@ -612,7 +612,7 @@ function ItemsFn( } let usesOpenClosedState = useOpenClosed() - let [visible, transitionData] = useTransitionData( + let [visible, transitionData] = useTransition( transition, state.itemsRef, usesOpenClosedState !== null diff --git a/packages/@headlessui-react/src/components/popover/popover.tsx b/packages/@headlessui-react/src/components/popover/popover.tsx index cc8cf85..67826d7 100644 --- a/packages/@headlessui-react/src/components/popover/popover.tsx +++ b/packages/@headlessui-react/src/components/popover/popover.tsx @@ -36,7 +36,7 @@ import { useMainTreeNode, useRootContainers } from '../../hooks/use-root-contain import { useScrollLock } from '../../hooks/use-scroll-lock' import { optionalRef, useSyncRefs } from '../../hooks/use-sync-refs' import { Direction as TabDirection, useTabDirection } from '../../hooks/use-tab-direction' -import { useTransitionData, type TransitionData } from '../../hooks/use-transition-data' +import { useTransition, type TransitionData } from '../../hooks/use-transition' import { CloseProvider } from '../../internal/close-provider' import { FloatingProvider, @@ -750,7 +750,7 @@ function OverlayFn( let overlayRef = useSyncRefs(ref, internalOverlayRef) let usesOpenClosedState = useOpenClosed() - let [visible, transitionData] = useTransitionData( + let [visible, transitionData] = useTransition( transition, internalOverlayRef, usesOpenClosedState !== null @@ -862,7 +862,7 @@ function PanelFn( }, [id, dispatch]) let usesOpenClosedState = useOpenClosed() - let [visible, transitionData] = useTransitionData( + let [visible, transitionData] = useTransition( transition, internalPanelRef, usesOpenClosedState !== null diff --git a/packages/@headlessui-react/src/components/transition/__snapshots__/transition.test.tsx.snap b/packages/@headlessui-react/src/components/transition/__snapshots__/transition.test.tsx.snap index df81926..1bc2914 100644 --- a/packages/@headlessui-react/src/components/transition/__snapshots__/transition.test.tsx.snap +++ b/packages/@headlessui-react/src/components/transition/__snapshots__/transition.test.tsx.snap @@ -4,29 +4,11 @@ exports[`Setup API nested should be possible to change the underlying DOM tag of
-
-