'use client'; import type { ContentKitModal } from '@gitbook/api'; import React from 'react'; import classNames from 'classnames'; import { useContentKitClientContext } from './context'; import type { ContentKitClientElementProps } from './types'; export function ElementModal( props: ContentKitClientElementProps & { subtitle: React.ReactNode | null; children: React.ReactNode; } ) { const { element, subtitle, children } = props; const clientContext = useContentKitClientContext(); // TODO: // - close button // - invalid rendering on close? // - submit const [opened, setOpened] = React.useState(false); React.useEffect(() => { setOpened(true); }, []); const onClose = async () => { await clientContext.dispatchAction({ action: '@ui.modal.close', returnValue: element.returnValue || {}, }); }; return (
{ event.stopPropagation(); }} >
{element.title ? (

{element.title}

) : null} {subtitle ?
{subtitle}
: null}
{children}
); }