import { type Assign, Dialog, type PolymorphicProps, ark } from '@ark-ui/solid' import type { ComponentProps } from 'solid-js' import { type DrawerVariantProps, drawer } from 'styled-system/recipes' import type { HTMLStyledProps } from 'styled-system/types' import { createStyleContext } from './utils/create-style-context' const { withRootProvider, withContext } = createStyleContext(drawer) export type RootProviderProps = ComponentProps export const RootProvider = withRootProvider>(Dialog.RootProvider) export type RootProps = ComponentProps export const Root = withRootProvider>(Dialog.Root) export type BackdropProps = ComponentProps export const Backdrop = withContext, Dialog.BackdropProps>>( Dialog.Backdrop, 'backdrop', ) export type CloseTriggerProps = ComponentProps export const CloseTrigger = withContext< Assign, Dialog.CloseTriggerProps> >(Dialog.CloseTrigger, 'closeTrigger') export type ContentProps = ComponentProps export const Content = withContext, Dialog.ContentProps>>( Dialog.Content, 'content', ) export type DescriptionProps = ComponentProps export const Description = withContext, Dialog.DescriptionProps>>( Dialog.Description, 'description', ) export type PositionerProps = ComponentProps export const Positioner = withContext, Dialog.PositionerProps>>( Dialog.Positioner, 'positioner', ) export type TitleProps = ComponentProps export const Title = withContext, Dialog.TitleProps>>( Dialog.Title, 'title', ) export type TriggerProps = ComponentProps export const Trigger = withContext, Dialog.TriggerProps>>( Dialog.Trigger, 'trigger', ) export const Header = withContext, PolymorphicProps<'div'>>>( ark.div, 'header', ) export const Body = withContext, PolymorphicProps<'div'>>>( ark.div, 'body', ) export const Footer = withContext, PolymorphicProps<'div'>>>( ark.div, 'footer', ) export { DialogContext as Context, type DialogContextProps as ContextProps, } from '@ark-ui/solid'