@youwen/ai-design-system
Version:
Enterprise AI-driven design system with comprehensive design tokens
93 lines (92 loc) • 3.62 kB
JavaScript
import { jsx as s } from "react/jsx-runtime";
import * as a from "react";
import { Slot as l } from "@radix-ui/react-slot";
import { cva as u } from "class-variance-authority";
import { c as d } from "./charts-563ee857.mjs";
import "clsx";
import "tailwind-merge";
const p = u(
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
{
variants: {
variant: {
default: "bg-brand-primary text-neutral-0 hover:bg-brand-primary/90",
destructive: "bg-semantic-error text-neutral-0 hover:bg-semantic-error/90",
success: "bg-semantic-success text-neutral-0 hover:bg-semantic-success/90",
outline: "border border-neutral-200 bg-neutral-0 hover:bg-neutral-50 hover:text-neutral-950",
secondary: "bg-neutral-100 text-neutral-950 hover:bg-neutral-200",
ghost: "hover:bg-neutral-100 hover:text-neutral-950",
link: "text-brand-secondary underline-offset-4 hover:underline",
warning: "bg-semantic-warning text-neutral-0 hover:bg-semantic-warning/90",
info: "bg-semantic-info text-neutral-0 hover:bg-semantic-info/90",
// Figma设计规范按钮 - 学习v2的企业级样式
figma: "bg-[#6BB5FF] text-white border border-[#4F46E5] rounded-[8px] hover:bg-[#4F46E5] transition-all duration-200",
figmaOutline: "border border-[#6BB5FF] bg-transparent text-[#6BB5FF] rounded-[8px] hover:bg-[#6BB5FF] hover:text-white transition-all duration-200"
},
size: {
default: "h-10 px-4 py-2",
sm: "h-9 rounded-md px-3",
lg: "h-11 rounded-md px-8",
icon: "h-10 w-10",
// 企业级尺寸 - 学习v2规范
enterprise: "h-[41px] px-[15px] py-[10px] w-[165px] rounded-[20px] font-scto font-normal",
"enterprise-responsive": "h-[41px] px-[15px] py-[10px] min-w-[120px] rounded-[20px] font-scto font-normal",
// Figma精确尺寸
figma: "h-[32px] px-[16px] py-[8px]",
figmaLg: "h-[40px] px-[20px] py-[10px]"
}
},
defaultVariants: {
variant: "default",
size: "default"
}
}
), f = a.forwardRef(
({ className: e, variant: r, size: t, asChild: n = !1, ...i }, o) => /* @__PURE__ */ s(
n ? l : "button",
{
className: d(p({ variant: r, size: t, className: e })),
ref: o,
...i
}
)
);
f.displayName = "Button";
const c = u(
"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
{
variants: {
variant: {
default: "border-input",
error: "border-destructive focus-visible:ring-destructive",
success: "border-success focus-visible:ring-success"
},
size: {
default: "h-10",
sm: "h-9",
lg: "h-11"
}
},
defaultVariants: {
variant: "default",
size: "default"
}
}
), b = a.forwardRef(
({ className: e, variant: r, size: t, type: n, ...i }, o) => /* @__PURE__ */ s(
"input",
{
type: n,
className: d(c({ variant: r, size: t, className: e })),
ref: o,
...i
}
)
);
b.displayName = "Input";
export {
f as B,
b as I,
p as b,
c as i
};