JSPM

  • Created
  • Published
  • Downloads 11864
  • Score
    100M100P100Q189063F
  • License MIT

Gravity UI Navigation components

Package Exports

  • @gravity-ui/navigation
  • @gravity-ui/navigation/build/cjs/index.js
  • @gravity-ui/navigation/build/esm/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@gravity-ui/navigation) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@gravity-ui/navigation · npm package CI storybook

Aside Header Navigation · Preview →

Install

npm install @gravity-ui/navigation

Ensure that peer dependencies are installed in your project

npm install --dev @gravity-ui/uikit@^3.0.2 @bem-react/classname@1.6.0 react@^16.0.0

Components

  • AsideHeader
  • MobileHeader
  • FooterItem
  • MobileHeaderFooterItem
  • Drawer
  • DrawerItem
  • PageLayout
  • PageLayoutAside
  • AsideFallback

Optimization

If your app content needs to be rendered faster than by passing it throw AsideHeader props, you may need to switch usage of AsideHeader to advanced style with PageLayout like this:

--- Main.tsx
+++ Main.tsx
-import {AsideHeader} from './AsideHeader'
+import {PageLayout, AsideFallback} from '@gravity-ui/navigation';
+const Aside = React.lazy(() =>
+    import('./Aside').then(({Aside}) => ({ default: Aside }))
+);

-    <AsideHeader renderContent={renderContent} {...restProps} />
+    <PageLayout>
+        <Suspense fallback={<AsideFallback />}>
+           <Aside />
+        </Suspense>
+
+        <PageLayout.Content>
+            <ContentExample />
+        </PageLayout.Content>
+    </PageLayout>
--- Aside.tsx
+++ Aside.tsx
-import {AsideHeader} from '@gravity-ui/navigation';
+import {PageLayoutAside} from '@gravity-ui/navigation';

export const Aside: FC = () => {
    return (
-        <AsideHeader {...props}>
+        <PageLayoutAside {...props}/>
    );
};

Imports

import {AsideHeader} from '@gravity-ui/navigation';

CSS variables

Used for themization Navigation's components

AsideHeader vars

Name Description Default
--gn-aside-header-background-color Сolor of decorations and selected items --g-color-base-warning-light
--gn-aside-header-subheader-divider-line-color Divider line color for withDecoration and expanded AsideHeader Light theme: --g-color-line-generic, Dark theme: --g-color-line-generic-solid
--gn-aside-header-collapse-button-divider-line-color --gn-aside-header-subheader-divider-line-color
--gn-aside-header-footer-item-icon-color --g-color-text-primary
--gn-aside-header-subheader-item-icon-color --g-color-text-primary
--gn-aside-header-item-icon-background-size Background size used when AsideHeader is compact 38px
--gn-aside-header-divider-line-color Vertical color divider between AsideHeader and content Light theme: --g-color-line-generic, Dark theme: --g-color-line-generic-solid