import { z } from "zod/v4";
import type { JSX } from "solid-js";
import type { ComponentMeta } from "../../meta";
export const ButtonPropsSchema = z.object({
  type: z.enum(["button", "submit", "reset"]).optional().describe("Button type attribute. Defaults to 'button' to prevent accidental form submission."),
  disabled: z.boolean().optional().describe("When true, disables the button and prevents click handlers."),
});
export interface ButtonProps extends z.infer<typeof ButtonPropsSchema>, Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, keyof z.infer<typeof ButtonPropsSchema>> { children?: JSX.Element; }
export const ButtonMeta: ComponentMeta = {
  name: "Button",
  description: "Clickable element that triggers an action. Defaults type to 'button' to prevent form submission",
  parts: ["Button"] as const,
  requiredParts: ["Button"] as const,
} as const;
