16 lines
907 B
TypeScript
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;
|