// This file is auto-generated by "@aria-ui/cli". Do not edit this file directly. import { registerMenuSubmenuTriggerElement, type MenuSubmenuTriggerElement, type MenuSubmenuTriggerProps as MenuSubmenuTriggerElementProps } from '@prosekit/web/menu'; import { createElement, forwardRef, useCallback, useRef, type ForwardedRef, type ForwardRefExoticComponent, type HTMLAttributes, type RefAttributes, useLayoutEffect } from 'react'; /** Props for the {@link MenuSubmenuTrigger} React component. */ export interface MenuSubmenuTriggerProps { /** * The unique value for this submenu trigger in the parent menu. * * @default "" */ value?: MenuSubmenuTriggerElementProps['value']; /** * Whether this submenu trigger is disabled. * * @default false */ disabled?: MenuSubmenuTriggerElementProps['disabled']; } function MenuSubmenuTriggerComponent(props: MenuSubmenuTriggerProps, forwardedRef: ForwardedRef) { registerMenuSubmenuTriggerElement(); const elementRef = useRef(null); const { disabled: p0, value: p1, ...restProps } = props; useLayoutEffect(() => { const element = elementRef.current as Record | null; if (!element) return; Object.assign(element, { disabled: p0, value: p1 }); }); const mergedRef = useCallback( (element: MenuSubmenuTriggerElement | null) => { elementRef.current = element; if (typeof forwardedRef === 'function') { forwardedRef(element); } else if (forwardedRef) { forwardedRef.current = element; } }, [forwardedRef], ); return createElement('prosekit-menu-submenu-trigger', { ...restProps, ref: mergedRef, suppressHydrationWarning: true }); } /** A React component that renders an `prosekit-menu-submenu-trigger` custom element. */ export const MenuSubmenuTrigger: ForwardRefExoticComponent & RefAttributes> = /* @__PURE__ */ forwardRef(MenuSubmenuTriggerComponent);