import { z } from "zod/v4";
import type { JSX } from "solid-js";
import type { ComponentMeta } from "../../meta";
export const SliderRootPropsSchema = z.object({
  value: z.array(z.number()).optional().describe("Controlled value(s) as an array of numbers"),
  defaultValue: z.array(z.number()).optional().describe("Initial value(s) (uncontrolled)"),
  min: z.number().optional().describe("Minimum allowed value. Defaults to 0"),
  max: z.number().optional().describe("Maximum allowed value. Defaults to 100"),
  step: z.number().optional().describe("Step increment. Defaults to 1"),
  disabled: z.boolean().optional().describe("Whether the slider is disabled"),
  orientation: z.enum(["horizontal", "vertical"]).optional().describe("Layout orientation. Defaults to 'horizontal'"),
});
export interface SliderRootProps extends z.infer<typeof SliderRootPropsSchema> { onValueChange?: (value: number[]) => void; children: JSX.Element; }
export const SliderMeta: ComponentMeta = {
  name: "Slider", description: "Range input for selecting numeric values by dragging a thumb along a track",
  parts: ["Root", "Track", "Fill", "Thumb", "Label", "ValueLabel"] as const, requiredParts: ["Root", "Track", "Thumb"] as const,
} as const;
