diff --git a/packages/@headlessui-react/package.json b/packages/@headlessui-react/package.json index fae75b2ca9..37eaffb1d3 100644 --- a/packages/@headlessui-react/package.json +++ b/packages/@headlessui-react/package.json @@ -42,9 +42,19 @@ "clean": "rimraf ./dist" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + }, "devDependencies": { "@testing-library/react": "^15.0.7", "@types/react": "^18.3.3", diff --git a/packages/@headlessui-react/src/internal/floating.tsx b/packages/@headlessui-react/src/internal/floating.tsx index 66f22f33a4..aa7214f7e1 100644 --- a/packages/@headlessui-react/src/internal/floating.tsx +++ b/packages/@headlessui-react/src/internal/floating.tsx @@ -9,6 +9,7 @@ import { useInnerOffset, useInteractions, type InnerProps, + type ReferenceType, type UseFloatingReturn, } from '@floating-ui/react' import * as React from 'react' @@ -73,9 +74,11 @@ export type InternalFloatingPanelProps = Partial<{ } }> +type FloatingReference = (node: ReferenceType | null) => void + let FloatingContext = createContext<{ styles?: UseFloatingReturn['floatingStyles'] - setReference: UseFloatingReturn['refs']['setReference'] + setReference: FloatingReference setFloating: UseFloatingReturn['refs']['setFloating'] getReferenceProps: ReturnType['getReferenceProps'] getFloatingProps: ReturnType['getFloatingProps'] @@ -106,7 +109,7 @@ export function useResolvedAnchor