import type { Component, ComponentProps, JSX, ValidComponent } from "solid-js" import { splitProps } from "solid-js" import * as DialogPrimitive from "@kobalte/core/dialog" import type { PolymorphicProps } from "@kobalte/core/polymorphic" import { cn } from "../../lib/utils" const Dialog = DialogPrimitive.Root const DialogTrigger = DialogPrimitive.Trigger const DialogPortal: Component = (props) => { const [, rest] = splitProps(props, ["children"]) return (
{props.children}
) } type DialogOverlayProps = DialogPrimitive.DialogOverlayProps & { class?: string | undefined } const DialogOverlay = ( props: PolymorphicProps> ) => { const [, rest] = splitProps(props as DialogOverlayProps, ["class"]) return ( ) } type DialogContentProps = DialogPrimitive.DialogContentProps & { class?: string | undefined children?: JSX.Element } const DialogContent = ( props: PolymorphicProps> ) => { const [, rest] = splitProps(props as DialogContentProps, ["class", "children"]) return ( {props.children} Close ) } const DialogHeader: Component> = (props) => { const [, rest] = splitProps(props, ["class"]) return (
) } const DialogFooter: Component> = (props) => { const [, rest] = splitProps(props, ["class"]) return (
) } type DialogTitleProps = DialogPrimitive.DialogTitleProps & { class?: string | undefined } const DialogTitle = ( props: PolymorphicProps> ) => { const [, rest] = splitProps(props as DialogTitleProps, ["class"]) return ( ) } type DialogDescriptionProps = DialogPrimitive.DialogDescriptionProps & { class?: string | undefined } const DialogDescription = ( props: PolymorphicProps> ) => { const [, rest] = splitProps(props as DialogDescriptionProps, ["class"]) return ( ) } export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription }