UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

27 lines (26 loc) 713 B
'use client'; import * as React from 'react'; import { mergeReactProps } from '../../utils/mergeReactProps.js'; import { useEnhancedEffect } from '../../utils/useEnhancedEffect.js'; import { useBaseUiId } from '../../utils/useBaseUiId.js'; export function usePopoverTitle(params) { const { titleId, setTitleId } = params; const id = useBaseUiId(titleId); const getTitleProps = React.useCallback((externalProps = {}) => { return mergeReactProps(externalProps, { id }); }, [id]); useEnhancedEffect(() => { setTitleId(id); return () => { setTitleId(undefined); }; }, [setTitleId, id]); return React.useMemo(() => ({ getTitleProps }), [getTitleProps]); }