import { z } from "zod/v4";
import type { JSX } from "solid-js";
import type { ComponentMeta } from "../../meta";
const str = z.string(), bool = z.boolean().optional(), strArr = z.union([z.string(), z.array(z.string())]).optional();
export const AccordionRootPropsSchema = z.object({ value: strArr.describe("Controlled expanded item value(s)"), defaultValue: strArr.describe("Initial expanded item value(s) when uncontrolled"), multiple: bool.describe("Allow multiple items to be expanded simultaneously"), collapsible: bool.describe("Allow the currently open item to be closed by clicking it again"), disabled: bool.describe("Disable all accordion items") });
export interface AccordionRootProps extends z.infer<typeof AccordionRootPropsSchema>, Omit<JSX.HTMLAttributes<HTMLDivElement>, keyof z.infer<typeof AccordionRootPropsSchema>> { onValueChange?: (value: string | string[]) => void; children: JSX.Element; }
export const AccordionItemPropsSchema = z.object({ value: str.describe("Unique value identifying this accordion item"), disabled: bool.describe("Disable this specific accordion item") });
export const AccordionMeta: ComponentMeta = { name: "Accordion", description: "Vertically stacked sections that expand/collapse to show content one at a time or multiple", parts: ["Root", "Item", "Header", "Trigger", "Content"] as const, requiredParts: ["Root", "Item", "Trigger", "Content"] as const } as const;
