import { z } from "zod/v4";
import type { JSX } from "solid-js";
import type { ComponentMeta } from "../../meta";
export const CollapsibleRootPropsSchema = z.object({
  open: z.boolean().optional().describe("Controlled open state"),
  defaultOpen: z.boolean().optional().describe("Initial open state when uncontrolled"),
  disabled: z.boolean().optional().describe("Prevent the collapsible from being toggled"),
});
export interface CollapsibleRootProps extends z.infer<typeof CollapsibleRootPropsSchema>, Omit<JSX.HTMLAttributes<HTMLDivElement>, keyof z.infer<typeof CollapsibleRootPropsSchema>> { onOpenChange?: (open: boolean) => void; children: JSX.Element; }
export const CollapsibleMeta: ComponentMeta = {
  name: "Collapsible",
  description: "Content section that can be expanded or collapsed with a trigger",
  parts: ["Root", "Trigger", "Content"] as const,
  requiredParts: ["Root", "Trigger", "Content"] as const,
} as const;
