UNPKG

@atlaskit/primitives

Version:

Primitives are token-backed low-level building blocks.

32 lines (31 loc) 1.68 kB
import React, { type ReactNode, type Ref } from 'react'; import { type RouterLinkComponentProps } from '@atlaskit/app-provider'; import { type BoxProps } from './box'; export type LinkProps<RouterLinkConfig extends Record<string, any> = never> = RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<'a'>, 'href' | 'as' | 'children' | 'style'> & { /** * `children` should be defined to ensure links have text */ children: ReactNode; }; declare const Link: <RouterLinkConfig extends Record<string, any> = never>({ href, children, backgroundColor, padding, paddingBlock, paddingBlockStart, paddingBlockEnd, paddingInline, paddingInlineStart, paddingInlineEnd, testId, xcss: xcssStyles, target, rel, ...htmlAttributes }: LinkProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element; /** * __UNSAFE_LINK__ * * @internal Still under development. Do not use. * * A Link is a primitive component that renders an `<a>` anchor. It utilizes * the configured router link component in the AppProvider if set. * * - [Examples](https://atlassian.design/components/primitives/link/examples) * - [Code](https://atlassian.design/components/primitives/link/code) * - [Usage](https://atlassian.design/components/primitives/link/usage) */ declare const UNSAFE_LINK: <RouterLinkConfig extends Record<string, any> = never>(props: RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<"a">, "style" | "children" | "as" | "href"> & { /** * `children` should be defined to ensure links have text */ children: ReactNode; } & { ref?: React.Ref<HTMLAnchorElement> | undefined; }) => ReturnType<typeof Link>; export default UNSAFE_LINK;