@vela-ui/react
Version:
Vela UI React components
61 lines (58 loc) • 1.38 kB
JavaScript
import {
buttonVariants
} from "./chunk-BDRWTFDD.mjs";
// src/components/link.tsx
import { Link as AriaLink, composeRenderProps } from "react-aria-components";
import { tv } from "tailwind-variants";
import { jsx } from "react/jsx-runtime";
var linkVariants = tv({
base: "underline-offset-4 outline-0 outline-offset-2 outline-current focus-visible:outline-2",
variants: {
variant: {
hover: "hover:underline",
underline: "underline",
none: "no-underline"
},
isDisabled: {
true: "pointer-events-none cursor-default opacity-50"
}
},
defaultVariants: {
variant: "hover"
}
});
function Link({ className, variant, ...props }) {
return /* @__PURE__ */ jsx(
AriaLink,
{
"data-slot": "link",
className: composeRenderProps(
className,
(className2, renderProps) => linkVariants({ ...renderProps, variant, className: className2 })
),
...props
}
);
}
function LinkButton({ className, variant, size, ...props }) {
return /* @__PURE__ */ jsx(
AriaLink,
{
"data-slot": "link",
className: composeRenderProps(
className,
(className2, renderProps) => buttonVariants({
...renderProps,
variant,
size,
className: className2
})
),
...props
}
);
}
export {
Link,
LinkButton
};