diff --git a/packages/sanity/src/_singletons/form/inputs/ReferenceInput/ReferenceItemRefContext.ts b/packages/sanity/src/_singletons/form/inputs/ReferenceInput/ReferenceItemRefContext.ts new file mode 100644 index 00000000000..1767b200f6c --- /dev/null +++ b/packages/sanity/src/_singletons/form/inputs/ReferenceInput/ReferenceItemRefContext.ts @@ -0,0 +1,18 @@ +/* eslint-disable import/no-duplicates */ +import type {MutableRefObject} from 'react' +import {createContext} from 'react' + +/** + * @internal + */ +export interface ReferenceItemRef { + menuRef: MutableRefObject + containerRef: MutableRefObject +} + +/** + * This is a way to store ref of the menu as well as the container of the ReferenceItem + * so it can be used down the tree for clickOutside handling + * @internal + */ +export const ReferenceItemRefContext = createContext(null) diff --git a/packages/sanity/src/_singletons/index.ts b/packages/sanity/src/_singletons/index.ts index 158a0cdd1b3..c750fd3514d 100644 --- a/packages/sanity/src/_singletons/index.ts +++ b/packages/sanity/src/_singletons/index.ts @@ -15,3 +15,4 @@ export * from './form/inputs/arrays/ArrayOfObjectsInput/List/VirtualizerScrollIn export * from './form/inputs/arrays/common/SortableItemIdContext' export * from './form/inputs/PortableText/PortableTextMarkersContext' export * from './form/inputs/PortableText/PortableTextMemberItemsContext' +export * from './form/inputs/ReferenceInput/ReferenceItemRefContext' diff --git a/packages/sanity/src/core/form/inputs/ReferenceInput/ReferenceItemRefProvider.tsx b/packages/sanity/src/core/form/inputs/ReferenceInput/ReferenceItemRefProvider.tsx index 871e1a18632..3db53c53172 100644 --- a/packages/sanity/src/core/form/inputs/ReferenceInput/ReferenceItemRefProvider.tsx +++ b/packages/sanity/src/core/form/inputs/ReferenceInput/ReferenceItemRefProvider.tsx @@ -1,6 +1,5 @@ import {type ReactNode} from 'react' - -import {type ReferenceItemRef, ReferenceItemRefContext} from './useReferenceItemRef' +import {type ReferenceItemRef, ReferenceItemRefContext} from 'sanity/_singletons' /** * @internal diff --git a/packages/sanity/src/core/form/inputs/ReferenceInput/useReferenceItemRef.ts b/packages/sanity/src/core/form/inputs/ReferenceInput/useReferenceItemRef.ts index 7026d92d017..dcb550b965a 100644 --- a/packages/sanity/src/core/form/inputs/ReferenceInput/useReferenceItemRef.ts +++ b/packages/sanity/src/core/form/inputs/ReferenceInput/useReferenceItemRef.ts @@ -1,19 +1,5 @@ -import {createContext, type MutableRefObject, useContext} from 'react' - -/** - * @internal - */ -export interface ReferenceItemRef { - menuRef: MutableRefObject - containerRef: MutableRefObject -} - -/** - * This is a way to store ref of the menu as well as the container of the ReferenceItem - * so it can be used down the tree for clickOutside handling - * @internal - */ -export const ReferenceItemRefContext = createContext(null) +import {useContext} from 'react' +import {type ReferenceItemRef, ReferenceItemRefContext} from 'sanity/_singletons' /** * @internal