link
ora-ui/linkFreeComponent
ora-ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by ora-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ora-ui.com/r/link.jsonSource
1import { mergeProps } from '@base-ui/react/merge-props';2import { useRender } from '@base-ui/react/use-render';3import { cva, type VariantProps } from 'class-variance-authority';45import { cn } from '@/registry/lib/utils';67type Theme = 'gray' | 'accent' | 'destructive' | (string & {});89const linkVariants = cva(10 'decoration-1 decoration-secondary underline-offset-[calc(.025em+2px)] focus-visible:outline-2 focus-visible:outline-focus rounded-xs',11 {12 variants: {13 underline: {14 always: 'underline',15 hover: 'no-underline hover:underline',16 none: 'no-underline',17 },18 theme: {19 gray: '',20 accent: 'text-secondary',21 destructive: 'text-secondary',22 },23 },24 defaultVariants: {25 underline: 'hover',26 theme: 'gray',27 },28 }29);3031interface LinkProps32 extends useRender.ComponentProps<'a'>, Omit<VariantProps<typeof linkVariants>, 'theme'> {33 theme?: Theme;34}3536function Link({ className, underline, theme = 'gray', render, ...props }: LinkProps) {37 return useRender({38 defaultTagName: 'a',39 props: mergeProps<'a'>(40 {41 className: cn(42 linkVariants({ underline, theme: theme as 'gray' | 'accent' | 'destructive', className })43 ),44 ...({45 'data-slot': 'link',46 'data-theme': theme !== 'gray' ? theme : undefined,47 } as React.HTMLAttributes<HTMLAnchorElement>),48 },49 props50 ),51 render,52 state: { slot: 'link' },53 });54}5556export { Link, linkVariants };
What it pulls in
npm packages
Other registry items
Files it writes
More from ora-ui
All 31 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | ora-ui | Components | Free | 2 deps | |
| alert-dialogalert-dialog | ora-ui | Components | Free | 1 dep | |
| avataravatar | ora-ui | Components | Free | 1 dep | |
| avatar-groupavatar-group | ora-ui | Components | Free | no deps | |
| badgebadge | ora-ui | Components | Free | 2 deps | |
| buttonbutton | ora-ui | Components | Free | 2 deps | |
| button-groupbutton-group | ora-ui | Components | Free | 2 deps | |
| checkboxcheckbox | ora-ui | Components | Free | 3 deps |
