import classNames from 'classnames'
import { Dialog as _Dialog } from 'radix-ui'
import { CSSProperties, ReactNode } from 'react'
import { useDirection, useTranslation } from '../../hooks/useTranslation/useTranslation'
import { TldrawUiButton } from './Button/TldrawUiButton'
import { TldrawUiButtonIcon } from './Button/TldrawUiButtonIcon'
/** @public */
export interface TLUiDialogHeaderProps {
className?: string
children: ReactNode
}
/** @public @react */
export function TldrawUiDialogHeader({ className, children }: TLUiDialogHeaderProps) {
return
{children}
}
/** @public */
export interface TLUiDialogTitleProps {
className?: string
children: ReactNode
style?: CSSProperties
}
/** @public @react */
export function TldrawUiDialogTitle({ className, children, style }: TLUiDialogTitleProps) {
const dir = useDirection()
return (
<_Dialog.Title
dir={dir}
className={classNames('tlui-dialog__header__title', className)}
style={style}
>
{children}
)
}
/** @public @react */
export function TldrawUiDialogCloseButton() {
const msg = useTranslation()
const dir = useDirection()
return (
<_Dialog.DialogClose data-testid="dialog.close" dir={dir} asChild>
(e.target as HTMLButtonElement).click()}
>
)
}
/** @public */
export interface TLUiDialogBodyProps {
className?: string
children: ReactNode
style?: CSSProperties
}
/** @public @react */
export function TldrawUiDialogBody({ className, children, style }: TLUiDialogBodyProps) {
return (
{children}
)
}
/** @public */
export interface TLUiDialogFooterProps {
className?: string
children?: ReactNode
}
/** @public @react */
export function TldrawUiDialogFooter({ className, children }: TLUiDialogFooterProps) {
return {children}
}