2026-03-29 20:38:44 +07:00

16 lines
907 B
TypeScript

import { z } from "zod/v4";
import type { JSX } from "solid-js";
import type { ComponentMeta } from "../../meta";
export const LinkPropsSchema = z.object({
href: z.string().optional().describe("The URL the link navigates to. Removed from the DOM when disabled."),
external: z.boolean().optional().describe("When true, opens the link in a new tab with rel='noopener noreferrer'."),
disabled: z.boolean().optional().describe("When true, prevents navigation and marks the link as aria-disabled."),
});
export interface LinkProps extends z.infer<typeof LinkPropsSchema>, Omit<JSX.AnchorHTMLAttributes<HTMLAnchorElement>, keyof z.infer<typeof LinkPropsSchema>> { children?: JSX.Element; }
export const LinkMeta: ComponentMeta = {
name: "Link",
description: "Navigation anchor element with external link and disabled support",
parts: ["Link"] as const,
requiredParts: ["Link"] as const,
} as const;