22 lines
615 B
TypeScript
22 lines
615 B
TypeScript
import type { JSX } from "solid-js"
|
|
|
|
export function DockPrompt(props: {
|
|
kind: "question" | "permission"
|
|
header: JSX.Element
|
|
children: JSX.Element
|
|
footer: JSX.Element
|
|
ref?: (el: HTMLDivElement) => void
|
|
}) {
|
|
const slot = (name: string) => `${props.kind}-${name}`
|
|
|
|
return (
|
|
<div data-component="dock-prompt" data-kind={props.kind} ref={props.ref}>
|
|
<div data-slot={slot("body")}>
|
|
<div data-slot={slot("header")}>{props.header}</div>
|
|
<div data-slot={slot("content")}>{props.children}</div>
|
|
</div>
|
|
<div data-slot={slot("footer")}>{props.footer}</div>
|
|
</div>
|
|
)
|
|
}
|