diff --git a/src/components/index.ts b/src/components/index.ts index d935f3f0f..57a26789d 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -33,7 +33,5 @@ export {default as OverflowScroller} from './OverflowScroller/OverflowScroller'; export {default as Author} from './Author/Author'; export {default as RouterLink} from './RouterLink/RouterLink'; export {default as HTML} from './HTML/HTML'; -export {default as Header} from './navigation/components/Header/Header'; -export * as Navigation from './navigation/components/index'; export type {RouterLinkProps} from './RouterLink/RouterLink'; diff --git a/src/components/navigation/components/index.ts b/src/components/navigation/components/index.ts deleted file mode 100644 index 36451387c..000000000 --- a/src/components/navigation/components/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export {default as Header} from './Header/Header'; -export {default as NavigationItem} from './NavigationItem/NavigationItem'; -export {default as Logo} from './Logo/Logo'; -export {default as MobileNavigation} from './MobileNavigation/MobileNavigation'; -export {default as Navigation} from './Navigation/Navigation'; -export {default as NavigationPopup} from './NavigationPopup/NavigationPopup'; -export {default as SocialIcon} from './SocialIcon/SocialIcon'; diff --git a/src/containers/PageConstructor/PageConstructor.tsx b/src/containers/PageConstructor/PageConstructor.tsx index c6931a54d..51cc147e5 100644 --- a/src/containers/PageConstructor/PageConstructor.tsx +++ b/src/containers/PageConstructor/PageConstructor.tsx @@ -28,7 +28,7 @@ import {ConstructorRow} from './components/ConstructorRow'; import {ConstructorFootnotes} from './components/ConstructorFootnotes'; import {ConstructorHeader} from './components/ConstructorItem'; import {ConstructorBlocks} from './components/ConstructorBlocks'; -import Layout from '../../components/navigation/containers/Layout/Layout'; +import Layout from '../../navigation/containers/Layout/Layout'; import './PageConstructor.scss'; diff --git a/src/models/navigation.ts b/src/models/navigation.ts index 2ae02b9c0..111962316 100644 --- a/src/models/navigation.ts +++ b/src/models/navigation.ts @@ -37,7 +37,10 @@ export interface NavigationSocialItem extends Omit { url: string; } -export type NavigationItem = NavigationLinkItem | NavigationButtonItem | NavigationDropdownItem; +export type NavigationItemModel = + | NavigationLinkItem + | NavigationButtonItem + | NavigationDropdownItem; export type NavigationItemData = | NavigationLinkItem @@ -47,24 +50,24 @@ export type NavigationItemData = export type DropdownItemData = Omit; -export interface NavigationLogo { +export interface NavigationLogoData { icon: ImageProps; text?: string; url?: string; } export interface HeaderData { - leftItems: NavigationItem[]; - rightItems?: NavigationItem[]; + leftItems: NavigationItemModel[]; + rightItems?: NavigationItemModel[]; } export interface FooterColumn { title: string; - links: NavigationItem[]; + links: NavigationItemModel[]; } export interface FooterUnderline { - links?: NavigationItem[]; + links?: NavigationItemModel[]; copyright?: string; } @@ -75,7 +78,7 @@ export interface FooterData { } export interface NavigationData { - logo: NavigationLogo; + logo: NavigationLogoData; header: HeaderData; footer?: FooterData; } diff --git a/src/components/navigation/components/Header/Header.scss b/src/navigation/components/Header/Header.scss similarity index 95% rename from src/components/navigation/components/Header/Header.scss rename to src/navigation/components/Header/Header.scss index abd5be65d..ddadd8c0b 100644 --- a/src/components/navigation/components/Header/Header.scss +++ b/src/navigation/components/Header/Header.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}header'; diff --git a/src/components/navigation/components/Header/Header.tsx b/src/navigation/components/Header/Header.tsx similarity index 91% rename from src/components/navigation/components/Header/Header.tsx rename to src/navigation/components/Header/Header.tsx index 6fd9a32b3..44fb636c8 100644 --- a/src/components/navigation/components/Header/Header.tsx +++ b/src/navigation/components/Header/Header.tsx @@ -1,16 +1,16 @@ import React, {MouseEvent, useCallback, useState} from 'react'; -import {block} from '../../../../utils'; -import {HeaderData, NavigationLogo} from '../../../../models'; -import {Col, Grid, Row} from '../../../../grid'; -import OutsideClick from '../../../OutsideClick/OutsideClick'; -import Control from '../../../Control/Control'; +import {block} from '../../../utils'; +import {HeaderData, NavigationLogoData} from '../../../models'; +import {Col, Grid, Row} from '../../../grid'; +import OutsideClick from '../../../components/OutsideClick/OutsideClick'; +import Control from '../../../components/Control/Control'; import Navigation from '../Navigation/Navigation'; import MobileNavigation from '../MobileNavigation/MobileNavigation'; import NavigationItem from '../NavigationItem/NavigationItem'; import Logo from '../Logo/Logo'; -import {NavigationClose, NavigationOpen} from '../../../../icons'; +import {NavigationClose, NavigationOpen} from '../../../icons'; import './Header.scss'; @@ -19,7 +19,7 @@ const b = block('header'); const ICON_SIZE = 36; export interface HeaderProps { - logo: NavigationLogo; + logo: NavigationLogoData; data: HeaderData; } diff --git a/src/components/navigation/components/Logo/Logo.scss b/src/navigation/components/Logo/Logo.scss similarity index 77% rename from src/components/navigation/components/Logo/Logo.scss rename to src/navigation/components/Logo/Logo.scss index 9a2f71bc4..31ecc7d1c 100644 --- a/src/components/navigation/components/Logo/Logo.scss +++ b/src/navigation/components/Logo/Logo.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}logo'; diff --git a/src/components/navigation/components/Logo/Logo.tsx b/src/navigation/components/Logo/Logo.tsx similarity index 61% rename from src/components/navigation/components/Logo/Logo.tsx rename to src/navigation/components/Logo/Logo.tsx index 20b8a6837..04a15d2be 100644 --- a/src/components/navigation/components/Logo/Logo.tsx +++ b/src/navigation/components/Logo/Logo.tsx @@ -1,16 +1,16 @@ import React from 'react'; -import {block} from '../../../../utils'; -import {NavigationLogo} from '../../../../models'; -import RouterLink from '../../../RouterLink/RouterLink'; -import {getMediaImage} from '../../../Media/Image/utils'; -import {Image} from '../../../index'; +import {block} from '../../../utils'; +import {NavigationLogoData} from '../../../models'; +import RouterLink from '../../../components/RouterLink/RouterLink'; +import {getMediaImage} from '../../../components/Media/Image/utils'; +import {Image} from '../../../components'; import './Logo.scss'; const b = block('logo'); -export interface LogoProps extends NavigationLogo { +export interface LogoProps extends NavigationLogoData { className?: string; } diff --git a/src/components/navigation/components/MobileNavigation/MobileNavigation.scss b/src/navigation/components/MobileNavigation/MobileNavigation.scss similarity index 92% rename from src/components/navigation/components/MobileNavigation/MobileNavigation.scss rename to src/navigation/components/MobileNavigation/MobileNavigation.scss index 9602b7f6c..2e614a966 100644 --- a/src/components/navigation/components/MobileNavigation/MobileNavigation.scss +++ b/src/navigation/components/MobileNavigation/MobileNavigation.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}mobile-navigation'; diff --git a/src/components/navigation/components/MobileNavigation/MobileNavigation.tsx b/src/navigation/components/MobileNavigation/MobileNavigation.tsx similarity index 94% rename from src/components/navigation/components/MobileNavigation/MobileNavigation.tsx rename to src/navigation/components/MobileNavigation/MobileNavigation.tsx index 637953a55..3d3b73ba4 100644 --- a/src/components/navigation/components/MobileNavigation/MobileNavigation.tsx +++ b/src/navigation/components/MobileNavigation/MobileNavigation.tsx @@ -1,13 +1,9 @@ import React, {MouseEventHandler, useRef, useCallback} from 'react'; import {Popup, Portal} from '@gravity-ui/uikit'; -import {block} from '../../../../utils'; -import Foldable from '../../../Foldable/Foldable'; -import { - NavigationItem as NavigationItemModel, - NavigationDropdownItem, - NavigationItemType, -} from '../../../../models/navigation'; +import {block} from '../../../utils'; +import Foldable from '../../../components/Foldable/Foldable'; +import {NavigationItemModel, NavigationDropdownItem, NavigationItemType} from '../../../models'; import NavigationItem from '../NavigationItem/NavigationItem'; import './MobileNavigation.scss'; diff --git a/src/components/navigation/components/Navigation/Navigation.scss b/src/navigation/components/Navigation/Navigation.scss similarity index 88% rename from src/components/navigation/components/Navigation/Navigation.scss rename to src/navigation/components/Navigation/Navigation.scss index bf08947e2..7d19de3a9 100644 --- a/src/components/navigation/components/Navigation/Navigation.scss +++ b/src/navigation/components/Navigation/Navigation.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}navigation'; diff --git a/src/components/navigation/components/Navigation/Navigation.tsx b/src/navigation/components/Navigation/Navigation.tsx similarity index 95% rename from src/components/navigation/components/Navigation/Navigation.tsx rename to src/navigation/components/Navigation/Navigation.tsx index bc2e0598f..108d6d871 100644 --- a/src/components/navigation/components/Navigation/Navigation.tsx +++ b/src/navigation/components/Navigation/Navigation.tsx @@ -9,16 +9,16 @@ import React, { useRef, } from 'react'; -import {block} from '../../../../utils'; -import OverflowScroller from '../../../OverflowScroller/OverflowScroller'; +import {block} from '../../../utils'; +import OverflowScroller from '../../../components/OverflowScroller/OverflowScroller'; import { NavigationDropdownItem, - NavigationItem as NavigationItemModel, + NavigationItemModel, NavigationItemType, -} from '../../../../models/navigation'; +} from '../../../models/navigation'; import NavigationPopup from '../NavigationPopup/NavigationPopup'; import NavigationItem from '../NavigationItem/NavigationItem'; -import {LocationContext} from '../../../../context/locationContext'; +import {LocationContext} from '../../../context/locationContext'; import './Navigation.scss'; diff --git a/src/components/navigation/components/NavigationItem/NavigationItem.scss b/src/navigation/components/NavigationItem/NavigationItem.scss similarity index 87% rename from src/components/navigation/components/NavigationItem/NavigationItem.scss rename to src/navigation/components/NavigationItem/NavigationItem.scss index 1c7f5f3fa..71619294f 100644 --- a/src/components/navigation/components/NavigationItem/NavigationItem.scss +++ b/src/navigation/components/NavigationItem/NavigationItem.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}navigation-item'; diff --git a/src/components/navigation/components/NavigationItem/NavigationItem.tsx b/src/navigation/components/NavigationItem/NavigationItem.tsx similarity index 90% rename from src/components/navigation/components/NavigationItem/NavigationItem.tsx rename to src/navigation/components/NavigationItem/NavigationItem.tsx index 9020730e6..77f8243ae 100644 --- a/src/components/navigation/components/NavigationItem/NavigationItem.tsx +++ b/src/navigation/components/NavigationItem/NavigationItem.tsx @@ -1,8 +1,8 @@ import React, {Fragment, MouseEventHandler, useContext, useMemo} from 'react'; -import {block, getLinkProps} from '../../../../utils'; -import {RouterLink, ToggleArrow, Button, Image} from '../../../index'; -import {LocationContext} from '../../../../context/locationContext'; +import {block, getLinkProps} from '../../../utils'; +import {RouterLink, ToggleArrow, Button, Image} from '../../../components'; +import {LocationContext} from '../../../context/locationContext'; import { NavigationItemType, NavigationLinkItem, @@ -10,10 +10,10 @@ import { ButtonProps, NavigationItemData, DropdownItemData, -} from '../../../../models'; -import {NavigationArrow} from '../../../../icons'; +} from '../../../models'; +import {NavigationArrow} from '../../../icons'; import SocialIcon from '../SocialIcon/SocialIcon'; -import {getMediaImage} from '../../../Media/Image/utils'; +import {getMediaImage} from '../../../components/Media/Image/utils'; import './NavigationItem.scss'; diff --git a/src/components/navigation/components/NavigationPopup/NavigationPopup.scss b/src/navigation/components/NavigationPopup/NavigationPopup.scss similarity index 86% rename from src/components/navigation/components/NavigationPopup/NavigationPopup.scss rename to src/navigation/components/NavigationPopup/NavigationPopup.scss index 175e27308..b37a19d27 100644 --- a/src/components/navigation/components/NavigationPopup/NavigationPopup.scss +++ b/src/navigation/components/NavigationPopup/NavigationPopup.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}navigation-popup'; diff --git a/src/components/navigation/components/NavigationPopup/NavigationPopup.tsx b/src/navigation/components/NavigationPopup/NavigationPopup.tsx similarity index 93% rename from src/components/navigation/components/NavigationPopup/NavigationPopup.tsx rename to src/navigation/components/NavigationPopup/NavigationPopup.tsx index 441227a52..bd12381cb 100644 --- a/src/components/navigation/components/NavigationPopup/NavigationPopup.tsx +++ b/src/navigation/components/NavigationPopup/NavigationPopup.tsx @@ -2,9 +2,9 @@ import _ from 'lodash'; import React, {useRef, useState, useEffect, useCallback} from 'react'; import {Portal} from '@gravity-ui/uikit'; -import {block} from '../../../../utils'; -import {OutsideClick} from '../../../index'; -import {NavigationLinkItem} from '../../../../models'; +import {block} from '../../../utils'; +import {OutsideClick} from '../../../components'; +import {NavigationLinkItem} from '../../../models'; import NavigationItem from '../NavigationItem/NavigationItem'; import './NavigationPopup.scss'; diff --git a/src/components/navigation/components/SocialIcon/SocialIcon.scss b/src/navigation/components/SocialIcon/SocialIcon.scss similarity index 82% rename from src/components/navigation/components/SocialIcon/SocialIcon.scss rename to src/navigation/components/SocialIcon/SocialIcon.scss index f1c1b4daa..26a5b7e13 100644 --- a/src/components/navigation/components/SocialIcon/SocialIcon.scss +++ b/src/navigation/components/SocialIcon/SocialIcon.scss @@ -1,5 +1,5 @@ -@import '../../../../../styles/variables.scss'; -@import '../../../../../styles/mixins.scss'; +@import '../../../../styles/variables'; +@import '../../../../styles/mixins'; $block: '.#{$ns}social-icon'; diff --git a/src/components/navigation/components/SocialIcon/SocialIcon.tsx b/src/navigation/components/SocialIcon/SocialIcon.tsx similarity index 50% rename from src/components/navigation/components/SocialIcon/SocialIcon.tsx rename to src/navigation/components/SocialIcon/SocialIcon.tsx index 7eee4fbe1..209f224d9 100644 --- a/src/components/navigation/components/SocialIcon/SocialIcon.tsx +++ b/src/navigation/components/SocialIcon/SocialIcon.tsx @@ -1,19 +1,19 @@ import React from 'react'; -import {block} from '../../../../utils'; -import {NavigationSocialItem} from '../../../../models'; -import {Image} from '../../../index'; -import {getMediaImage} from '../../../Media/Image/utils'; +import {block} from '../../../utils'; +import {NavigationSocialItem} from '../../../models'; +import {Image} from '../../../components'; +import {getMediaImage} from '../../../components/Media/Image/utils'; import './SocialIcon.scss'; const b = block('social-icon'); -export interface NavigationSocialItemProps extends NavigationSocialItem { +export interface NavigationSocialItemOwnProps extends NavigationSocialItem { className?: string; } -const SocialIcon: React.FC = ({icon, url, className}) => { +const SocialIcon: React.FC = ({icon, url, className}) => { const iconData = getMediaImage(icon); return ( diff --git a/src/components/navigation/containers/Layout/Layout.scss b/src/navigation/containers/Layout/Layout.scss similarity index 100% rename from src/components/navigation/containers/Layout/Layout.scss rename to src/navigation/containers/Layout/Layout.scss diff --git a/src/components/navigation/containers/Layout/Layout.tsx b/src/navigation/containers/Layout/Layout.tsx similarity index 84% rename from src/components/navigation/containers/Layout/Layout.tsx rename to src/navigation/containers/Layout/Layout.tsx index d4afeec80..7fc835b95 100644 --- a/src/components/navigation/containers/Layout/Layout.tsx +++ b/src/navigation/containers/Layout/Layout.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import {block} from '../../../../utils'; -import {NavigationData} from '../../../../models'; +import {block} from '../../../utils'; +import {NavigationData} from '../../../models'; import Header from '../../components/Header/Header'; import './Layout.scss';