@gravity-ui/navigation 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/build/cjs/components/AsideHeader/AsideHeader.d.ts +2 -44
- package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +13 -5
- package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +3 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/FirstPanel.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/Header.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/Panels.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/types.d.ts +29 -0
- package/build/cjs/components/AsideHeader/utils.d.ts +1 -0
- package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +10 -0
- package/build/cjs/components/CompositeBar/Item/Item.d.ts +1 -0
- package/build/cjs/components/CompositeBar/constants.d.ts +0 -1
- package/build/cjs/components/constants.d.ts +1 -1
- package/build/cjs/components/types.d.ts +1 -0
- package/build/cjs/components/utils/cn.d.ts +3 -3
- package/build/cjs/index.js +4515 -4492
- package/build/cjs/index.js.map +1 -1
- package/build/esm/components/AsideHeader/AsideHeader.d.ts +2 -44
- package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +13 -5
- package/build/esm/components/AsideHeader/__stories__/moc.d.ts +3 -1
- package/build/esm/components/AsideHeader/components/CollapseButton.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/FirstPanel.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/Header.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/Panels.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/types.d.ts +29 -0
- package/build/esm/components/AsideHeader/utils.d.ts +1 -0
- package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +10 -0
- package/build/esm/components/CompositeBar/Item/Item.d.ts +1 -0
- package/build/esm/components/CompositeBar/constants.d.ts +0 -1
- package/build/esm/components/constants.d.ts +1 -1
- package/build/esm/components/types.d.ts +1 -0
- package/build/esm/components/utils/cn.d.ts +3 -3
- package/build/esm/index.js +4514 -4491
- package/build/esm/index.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ npm install @gravity-ui/navigation
|
|
|
13
13
|
Ensure that peer dependencies are installed in your project
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npm install --dev @gravity-ui/uikit@^3.0.2 bem-
|
|
16
|
+
npm install --dev @gravity-ui/uikit@^3.0.2 @bem-react/classname@1.6.0 react@^16.0.0
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Components
|
|
@@ -30,3 +30,19 @@ npm install --dev @gravity-ui/uikit@^3.0.2 bem-cn-lite@4.0.0 react@^16.0.0
|
|
|
30
30
|
```ts
|
|
31
31
|
import {AsideHeader} from '@gravity-ui/navigation';
|
|
32
32
|
```
|
|
33
|
+
|
|
34
|
+
## CSS variables
|
|
35
|
+
|
|
36
|
+
Used for themization Navigation's components
|
|
37
|
+
|
|
38
|
+
### AsideHeader vars
|
|
39
|
+
|
|
40
|
+
| Name | Description | Default |
|
|
41
|
+
| :----------------------------------------------------- | :--------------------------------------------------------------- | :--------------------------------------------------------------------- |
|
|
42
|
+
| `--gn-aside-header-background-color` | Сolor of decorations and selected items | `--g-color-base-warning-light` |
|
|
43
|
+
| `--gn-aside-header-subheader-divider-line-color` | Divider line color for withDecoration and expanded `AsideHeader` | `--g-color-base-warning-light` |
|
|
44
|
+
| `--gn-aside-header-collapse-button-divider-line-color` | | `--gn-aside-header-subheader-divider-line-color` |
|
|
45
|
+
| `--gn-aside-header-footer-item-icon-color` | | `--g-color-text-primary` |
|
|
46
|
+
| `--gn-aside-header-subheader-item-icon-color` | | `--g-color-text-primary` |
|
|
47
|
+
| `--gn-aside-header-item-icon-background-size` | Background size used when `AsideHeader` is compact | `38px` |
|
|
48
|
+
| `--gn-aside-header-divider-line-color` | Vertical color divider between `AsideHeader` and content | Light theme: `transparent`, Dark theme: `--g-color-line-generic-solid` |
|
|
@@ -1,48 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { DrawerItemProps } from '../Drawer/Drawer';
|
|
4
|
-
import { RenderContentType } from '../Content';
|
|
2
|
+
import { AsideHeaderGeneralProps, AsideHeaderDefaultProps, AsideHeaderInnerProps } from './types';
|
|
5
3
|
import './AsideHeader.scss';
|
|
6
|
-
interface AsideHeaderGeneralProps {
|
|
7
|
-
logo: LogoProps;
|
|
8
|
-
compact: boolean;
|
|
9
|
-
multipleTooltip?: boolean;
|
|
10
|
-
className?: string;
|
|
11
|
-
collapseTitle?: string;
|
|
12
|
-
expandTitle?: string;
|
|
13
|
-
menuMoreTitle?: string;
|
|
14
|
-
renderContent?: RenderContentType;
|
|
15
|
-
renderFooter?: (data: {
|
|
16
|
-
size: number;
|
|
17
|
-
compact: boolean;
|
|
18
|
-
asideRef: React.RefObject<HTMLDivElement>;
|
|
19
|
-
}) => React.ReactNode;
|
|
20
|
-
onClosePanel?: () => void;
|
|
21
|
-
onChangeCompact?: (compact: boolean) => void;
|
|
22
|
-
}
|
|
23
|
-
interface AsideHeaderDefaultProps {
|
|
24
|
-
panelItems: DrawerItemProps[];
|
|
25
|
-
subheaderItems: SubheaderMenuItem[];
|
|
26
|
-
menuItems: MenuItem[];
|
|
27
|
-
headerDecoration: boolean;
|
|
28
|
-
}
|
|
29
4
|
export interface AsideHeaderProps extends AsideHeaderGeneralProps, Partial<AsideHeaderDefaultProps> {
|
|
30
5
|
}
|
|
31
|
-
|
|
32
|
-
export declare class AsideHeader extends React.Component<AsideHeaderInnerProps> {
|
|
33
|
-
static defaultProps: AsideHeaderDefaultProps;
|
|
34
|
-
asideRef: React.RefObject<HTMLDivElement>;
|
|
35
|
-
render(): React.JSX.Element;
|
|
36
|
-
private renderFirstPane;
|
|
37
|
-
private renderSecondPane;
|
|
38
|
-
private renderLogo;
|
|
39
|
-
private renderHeader;
|
|
40
|
-
private renderFooter;
|
|
41
|
-
private renderPanels;
|
|
42
|
-
private renderCollapseButton;
|
|
43
|
-
private onCollapseButtonClick;
|
|
44
|
-
private onCloseDrawer;
|
|
45
|
-
private onItemClick;
|
|
46
|
-
private onLogoClick;
|
|
47
|
-
}
|
|
48
|
-
export {};
|
|
6
|
+
export declare const AsideHeader: (props: AsideHeaderInnerProps) => React.JSX.Element;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { MenuItem } from '../types';
|
|
3
|
+
import { AsideHeaderInnerProps } from './types';
|
|
4
|
+
export interface AsideHeaderInnerContextType extends AsideHeaderInnerProps {
|
|
4
5
|
size: number;
|
|
6
|
+
onItemClick: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
5
7
|
}
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
+
export declare const AsideHeaderInnerContext: React.Context<AsideHeaderInnerContextType | undefined>;
|
|
9
|
+
export declare const AsideHeaderInnerContextProvider: React.Provider<AsideHeaderInnerContextType | undefined>;
|
|
10
|
+
export declare const useAsideHeaderInnerContext: () => AsideHeaderInnerContextType;
|
|
11
|
+
export interface AsideHeaderContextType {
|
|
12
|
+
compact?: boolean;
|
|
13
|
+
size: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const AsideHeaderContext: React.Context<AsideHeaderContextType | undefined>;
|
|
16
|
+
export declare const AsideHeaderContextProvider: React.Provider<AsideHeaderContextType | undefined>;
|
|
8
17
|
export declare const useAsideHeaderContext: () => AsideHeaderContextType;
|
|
9
|
-
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import { MenuItem } from '
|
|
1
|
+
import { MenuItem } from '../../types';
|
|
2
|
+
import { AsideHeaderContextType } from '../AsideHeaderContext';
|
|
3
|
+
export declare const EMPTY_CONTEXT_VALUE: AsideHeaderContextType;
|
|
2
4
|
export declare const menuItemsShowcase: MenuItem[];
|
|
3
5
|
export declare const text = "\nDid you attend? He sang by grove ripe -\nThe bard of love, the singer of his mourning.\nWhen fields were silent by the early morning,\nTo sad and simple sounds of a pipe\nDid you attend?\n\nDid you behold in dark of forest leaf\nThe bard of love, the singer of his sadness?\nThe trace of tears, the smile, the utter paleness,\nThe quiet look, full of eternal grief,\nDid you behold?\n\nThen did you sigh when hearing how cries\nThe bard of love, the singer of his dole?\nWhen in the woods you saw the young man, sole,\nAnd met the look of his extinguished eyes,\nThen did you sigh?\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FirstPanel } from './FirstPanel';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { RenderContentType } from '../Content';
|
|
3
|
+
import { DrawerItemProps } from '../Drawer/Drawer';
|
|
4
|
+
import { LogoProps, MenuItem, SubheaderMenuItem, OpenModalSubscriber } from '../types';
|
|
5
|
+
export interface AsideHeaderGeneralProps {
|
|
6
|
+
logo: LogoProps;
|
|
7
|
+
compact: boolean;
|
|
8
|
+
multipleTooltip?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
collapseTitle?: string;
|
|
11
|
+
expandTitle?: string;
|
|
12
|
+
menuMoreTitle?: string;
|
|
13
|
+
renderContent?: RenderContentType;
|
|
14
|
+
renderFooter?: (data: {
|
|
15
|
+
size: number;
|
|
16
|
+
compact: boolean;
|
|
17
|
+
asideRef: React.RefObject<HTMLDivElement>;
|
|
18
|
+
}) => React.ReactNode;
|
|
19
|
+
onClosePanel?: () => void;
|
|
20
|
+
onChangeCompact?: (compact: boolean) => void;
|
|
21
|
+
openModalSubscriber?: (subscriber: OpenModalSubscriber) => void;
|
|
22
|
+
}
|
|
23
|
+
export interface AsideHeaderDefaultProps {
|
|
24
|
+
panelItems?: DrawerItemProps[];
|
|
25
|
+
subheaderItems?: SubheaderMenuItem[];
|
|
26
|
+
menuItems?: MenuItem[];
|
|
27
|
+
headerDecoration?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export type AsideHeaderInnerProps = AsideHeaderGeneralProps & AsideHeaderDefaultProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const b: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './HighlightedItem.scss';
|
|
3
|
+
interface ItemInnerProps {
|
|
4
|
+
iconRef: React.RefObject<HTMLDivElement>;
|
|
5
|
+
iconNode: React.ReactNode;
|
|
6
|
+
onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
7
|
+
onClickCapture?: (event: React.SyntheticEvent) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const HighlightedItem: React.FC<ItemInnerProps>;
|
|
10
|
+
export {};
|
|
@@ -16,6 +16,7 @@ export interface ItemProps extends ItemPopup {
|
|
|
16
16
|
enableTooltip?: boolean;
|
|
17
17
|
onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
18
18
|
onItemClickCapture?: (event: React.SyntheticEvent) => void;
|
|
19
|
+
bringForward?: boolean;
|
|
19
20
|
}
|
|
20
21
|
interface ItemInnerProps extends ItemProps {
|
|
21
22
|
className?: string;
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { IconProps } from '@gravity-ui/uikit';
|
|
3
3
|
import { ItemProps } from 'src/components/CompositeBar/Item/Item';
|
|
4
4
|
export type MenuItemType = 'regular' | 'action' | 'divider';
|
|
5
|
+
export type OpenModalSubscriber = (open: boolean) => void;
|
|
5
6
|
export interface MakeItemParams {
|
|
6
7
|
icon?: React.ReactNode;
|
|
7
8
|
title: React.ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import bemBlock from 'bem-cn-lite';
|
|
2
|
-
export type CnBlock = ReturnType<typeof bemBlock>;
|
|
3
1
|
export type CnMods = Record<string, string | boolean | undefined>;
|
|
4
2
|
export declare const NAMESPACE = "gn-";
|
|
5
|
-
export declare
|
|
3
|
+
export declare const cn: import("@bem-react/classname").ClassNameInitilizer;
|
|
4
|
+
export declare const block: import("@bem-react/classname").ClassNameInitilizer;
|
|
5
|
+
export type CnBlock = ReturnType<typeof cn>;
|