UNPKG

@atlaskit/side-navigation

Version:

A highly composable side navigation component that supports nested views.

51 lines (49 loc) • 2.07 kB
/* link-item.tsx generated by @compiled/babel-plugin v3.0.2 */ import _extends from "@babel/runtime/helpers/extends"; import "./link-item.compiled.css"; import * as React from 'react'; import { ax, ix } from "@compiled/react/runtime"; import { forwardRef } from 'react'; import Link from '@atlaskit/menu/link-item'; import { useShouldNestedElementRender } from '../NestableNavigationContent/use-should-nested-element-render'; const styles = { root: "_2rkofajl _1rjcu2gc _18zru2gc _bfhksm61 _1a391k8s _racp1k8s _30l3azsu _irr31dpa _ppn2azsu _183jfcek", selectedStyles: "_bfhk15s3 _syaz6x5g _10536x5g _irr3ufnl _30l36x5g _1di6nozp _9h8h6x5g", rootMotion: "_v564hxmd _o7kshxmd _1ggl87vo", selectedMotion: "_v5641rrn _o7kshxmd _1ggl87vo" }; /** * __Link item__ * * Renders an item wrapped in an anchor tag, useful when you have an item that * should change routes using native browser navigation. For SPA transitions use * a [custom item](https://atlassian.design/components/side-navigation/examples#custom-item) * with the respective router logic. * * - [Examples](https://atlassian.design/components/side-navigation/examples#link-item) * - [Code](https://atlassian.design/components/side-navigation/code) * * @deprecated `@atlaskit/side-navigation` is deprecated. Use `@atlaskit/navigation-system` instead. */ export const LinkItem = /*#__PURE__*/forwardRef(({ href, children, className, ...rest }, ref) => { const { shouldRender } = useShouldNestedElementRender(); if (!shouldRender) { return null; } // Anchor content will be handled by LinkItem return /*#__PURE__*/React.createElement(Link, _extends({ ref: ref, href: href // eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides , // eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides, @atlaskit/ui-styling-standard/no-classname-prop className: ax([styles.root, styles.rootMotion, rest.isSelected && styles.selectedStyles, rest.isSelected && styles.selectedMotion, className]) }, rest), children); });