@digigov/ui 0.30.0-navlist.alpha.3 → 0.30.1
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/CHANGELOG.md +28 -1
- package/admin/Drawer/__stories__/Default.js +43 -9
- package/admin/Pagination/index.d.ts +1 -1
- package/app/BottomInfoContainer/index.d.ts +9 -0
- package/app/BottomInfoContainer/index.js +35 -0
- package/app/BottomInfoContent/index.d.ts +9 -0
- package/app/BottomInfoContent/index.js +48 -0
- package/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
- package/app/Header/__stories__/WithHeaderNavigation.js +6 -6
- package/app/Header/__stories__/WithNavigation.js +49 -18
- package/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
- package/app/QrCodeScanner/index.spec.js +4 -2
- package/app/ThemeSelectorOptions/index.d.ts +2 -0
- package/app/ThemeSelectorOptions/index.js +80 -0
- package/app/index.d.ts +3 -0
- package/app/index.js +39 -0
- package/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
- package/core/Accordion/index.d.ts +2 -2
- package/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
- package/core/Button/BackButton.d.ts +1 -1
- package/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
- package/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
- package/core/Divider/index.d.ts +1 -1
- package/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
- package/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
- package/core/List/__snapshots__/index.spec.tsx.snap +3 -318
- package/core/NavList/Nav.d.ts +3 -0
- package/core/NavList/Nav.js +30 -0
- package/core/NavList/NavList.d.ts +2 -3
- package/core/NavList/NavList.js +20 -32
- package/core/NavList/NavList.stories.d.ts +2 -0
- package/core/NavList/NavList.stories.js +28 -0
- package/core/NavList/NavList.stories.playwright.json +12 -12
- package/core/NavList/NavListAuto.d.ts +4 -0
- package/core/NavList/NavListAuto.js +42 -0
- package/core/NavList/NavListBase.d.ts +2 -2
- package/core/NavList/NavListBase.js +11 -6
- package/core/NavList/NavListContext.d.ts +7 -1
- package/core/NavList/NavListContext.js +19 -5
- package/core/NavList/NavListItem.d.ts +1 -10
- package/core/NavList/NavListItem.js +17 -121
- package/core/NavList/NavListItemAuto.d.ts +8 -0
- package/core/NavList/NavListItemAuto.js +65 -0
- package/core/NavList/NavListItemBase.d.ts +9 -11
- package/core/NavList/NavListItemBase.js +47 -139
- package/core/NavList/NavListItemButton.d.ts +3 -0
- package/core/NavList/NavListItemButton.js +30 -0
- package/core/NavList/NavListItemLink.d.ts +3 -0
- package/core/NavList/NavListItemLink.js +30 -0
- package/core/NavList/NavListSubMenu.d.ts +2 -2
- package/core/NavList/NavListSubMenu.js +3 -5
- package/core/NavList/NavMenu.d.ts +1 -1
- package/core/NavList/NavMenu.js +19 -8
- package/core/NavList/NavMenuContainer.d.ts +1 -1
- package/core/NavList/NavMenuContainer.js +19 -8
- package/core/NavList/NavMenuContainerContent.d.ts +1 -1
- package/core/NavList/NavMenuContainerContent.js +19 -8
- package/core/NavList/NavMenuContainerContentList.d.ts +1 -1
- package/core/NavList/NavMenuContainerContentList.js +19 -8
- package/core/NavList/NavMenuContainerContentListItem.d.ts +1 -1
- package/core/NavList/NavMenuContainerContentListItem.js +19 -8
- package/core/NavList/NavMenuContainerTitle.d.ts +1 -1
- package/core/NavList/NavMenuContainerTitle.js +19 -8
- package/core/NavList/NavVertical.d.ts +1 -1
- package/core/NavList/NavVertical.js +19 -8
- package/core/NavList/NavVerticalItem.d.ts +1 -1
- package/core/NavList/NavVerticalItem.js +19 -8
- package/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
- package/core/NavList/__stories__/Default.js +54 -13
- package/core/NavList/__stories__/NavHorizontalLayout.js +42 -16
- package/core/NavList/__stories__/NavListAutoExample.d.ts +2 -0
- package/core/NavList/__stories__/NavListAutoExample.js +63 -0
- package/core/NavList/__stories__/NavListEpathlaExample.d.ts +2 -0
- package/core/NavList/__stories__/NavListEpathlaExample.js +141 -0
- package/core/NavList/index.d.ts +8 -15
- package/core/NavList/index.js +38 -84
- package/core/NavList/types.d.ts +8 -3
- package/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
- package/core/NotificationBanner/__stories__/Default.js +1 -1
- package/core/NotificationBanner/__stories__/Success.js +1 -1
- package/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
- package/core/SvgIcon/index.d.ts +1 -0
- package/core/SvgIcon/index.js +14 -0
- package/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
- package/es/admin/Drawer/__stories__/Default.js +41 -10
- package/es/app/BottomInfoContainer/index.js +20 -0
- package/es/app/BottomInfoContent/index.js +33 -0
- package/es/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
- package/es/app/Header/__stories__/WithHeaderNavigation.js +6 -6
- package/es/app/Header/__stories__/WithNavigation.js +48 -18
- package/es/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
- package/es/app/QrCodeScanner/index.spec.js +4 -2
- package/es/app/ThemeSelectorOptions/index.js +55 -0
- package/es/app/index.js +4 -1
- package/es/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
- package/es/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
- package/es/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
- package/es/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
- package/es/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
- package/es/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
- package/es/core/List/__snapshots__/index.spec.tsx.snap +3 -318
- package/es/core/NavList/Nav.js +3 -0
- package/es/core/NavList/NavList.js +2 -24
- package/es/core/NavList/NavList.stories.js +2 -0
- package/es/core/NavList/NavList.stories.playwright.json +12 -12
- package/es/core/NavList/NavListAuto.js +25 -0
- package/es/core/NavList/NavListBase.js +10 -6
- package/es/core/NavList/NavListContext.js +17 -5
- package/es/core/NavList/NavListItem.js +17 -113
- package/es/core/NavList/NavListItemAuto.js +40 -0
- package/es/core/NavList/NavListItemBase.js +42 -130
- package/es/core/NavList/NavListItemButton.js +3 -0
- package/es/core/NavList/NavListItemLink.js +3 -0
- package/es/core/NavList/NavListSubMenu.js +3 -5
- package/es/core/NavList/NavMenu.js +1 -1
- package/es/core/NavList/NavMenuContainer.js +1 -1
- package/es/core/NavList/NavMenuContainerContent.js +1 -1
- package/es/core/NavList/NavMenuContainerContentList.js +1 -1
- package/es/core/NavList/NavMenuContainerContentListItem.js +1 -1
- package/es/core/NavList/NavMenuContainerTitle.js +1 -1
- package/es/core/NavList/NavVertical.js +1 -1
- package/es/core/NavList/NavVerticalItem.js +1 -1
- package/es/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
- package/es/core/NavList/__stories__/Default.js +45 -13
- package/es/core/NavList/__stories__/NavHorizontalLayout.js +34 -15
- package/es/core/NavList/__stories__/NavListAutoExample.js +48 -0
- package/es/core/NavList/__stories__/NavListEpathlaExample.js +123 -0
- package/es/core/NavList/index.js +8 -43
- package/es/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
- package/es/core/NotificationBanner/__stories__/Default.js +1 -1
- package/es/core/NotificationBanner/__stories__/Success.js +1 -1
- package/es/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
- package/es/core/SvgIcon/index.js +1 -0
- package/es/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
- package/es/govgr/Footer/Copyright.js +5 -2
- package/es/hooks/useNavList.js +36 -0
- package/es/hooks/useTheme.js +43 -0
- package/es/hooks/useTogglableSections.js +2 -2
- package/es/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
- package/es/registry.js +20 -10
- package/esm/admin/Drawer/__stories__/Default.js +41 -10
- package/esm/app/BottomInfoContainer/index.js +20 -0
- package/esm/app/BottomInfoContent/index.js +33 -0
- package/esm/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
- package/esm/app/Header/__stories__/WithHeaderNavigation.js +6 -6
- package/esm/app/Header/__stories__/WithNavigation.js +48 -18
- package/esm/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
- package/esm/app/QrCodeScanner/index.spec.js +4 -2
- package/esm/app/ThemeSelectorOptions/index.js +55 -0
- package/esm/app/index.js +4 -1
- package/esm/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
- package/esm/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
- package/esm/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
- package/esm/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
- package/esm/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
- package/esm/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
- package/esm/core/List/__snapshots__/index.spec.tsx.snap +3 -318
- package/esm/core/NavList/Nav.js +3 -0
- package/esm/core/NavList/NavList.js +2 -24
- package/esm/core/NavList/NavList.stories.js +2 -0
- package/esm/core/NavList/NavList.stories.playwright.json +12 -12
- package/esm/core/NavList/NavListAuto.js +25 -0
- package/esm/core/NavList/NavListBase.js +10 -6
- package/esm/core/NavList/NavListContext.js +17 -5
- package/esm/core/NavList/NavListItem.js +17 -113
- package/esm/core/NavList/NavListItemAuto.js +40 -0
- package/esm/core/NavList/NavListItemBase.js +42 -130
- package/esm/core/NavList/NavListItemButton.js +3 -0
- package/esm/core/NavList/NavListItemLink.js +3 -0
- package/esm/core/NavList/NavListSubMenu.js +3 -5
- package/esm/core/NavList/NavMenu.js +1 -1
- package/esm/core/NavList/NavMenuContainer.js +1 -1
- package/esm/core/NavList/NavMenuContainerContent.js +1 -1
- package/esm/core/NavList/NavMenuContainerContentList.js +1 -1
- package/esm/core/NavList/NavMenuContainerContentListItem.js +1 -1
- package/esm/core/NavList/NavMenuContainerTitle.js +1 -1
- package/esm/core/NavList/NavVertical.js +1 -1
- package/esm/core/NavList/NavVerticalItem.js +1 -1
- package/esm/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
- package/esm/core/NavList/__stories__/Default.js +45 -13
- package/esm/core/NavList/__stories__/NavHorizontalLayout.js +34 -15
- package/esm/core/NavList/__stories__/NavListAutoExample.js +48 -0
- package/esm/core/NavList/__stories__/NavListEpathlaExample.js +123 -0
- package/esm/core/NavList/index.js +8 -43
- package/esm/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
- package/esm/core/NotificationBanner/__stories__/Default.js +1 -1
- package/esm/core/NotificationBanner/__stories__/Success.js +1 -1
- package/esm/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
- package/esm/core/SvgIcon/index.js +1 -0
- package/esm/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
- package/esm/govgr/Footer/Copyright.js +5 -2
- package/esm/hooks/useNavList.js +36 -0
- package/esm/hooks/useTheme.js +43 -0
- package/esm/hooks/useTogglableSections.js +2 -2
- package/esm/index.js +1 -1
- package/esm/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
- package/esm/registry.js +20 -10
- package/govgr/Footer/Copyright.js +7 -2
- package/hooks/useNavList.d.ts +8 -0
- package/hooks/useNavList.js +52 -0
- package/hooks/useTheme.d.ts +8 -0
- package/hooks/useTheme.js +58 -0
- package/hooks/useTogglableSections.d.ts +2 -2
- package/hooks/useTogglableSections.js +2 -2
- package/layouts/Basic/Content/index.d.ts +1 -1
- package/layouts/Basic/Side/index.d.ts +1 -1
- package/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
- package/package.json +3 -3
- package/registry.d.ts +10 -5
- package/registry.js +29 -14
- package/src/admin/Drawer/__stories__/Default.tsx +59 -11
- package/src/app/BottomInfoContainer/index.tsx +19 -0
- package/src/app/BottomInfoContent/index.tsx +32 -0
- package/src/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
- package/src/app/Header/__stories__/WithHeaderNavigation.tsx +10 -10
- package/src/app/Header/__stories__/WithNavigation.tsx +50 -41
- package/src/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
- package/src/app/QrCodeScanner/index.spec.tsx +10 -8
- package/src/app/ThemeSelectorOptions/index.tsx +54 -0
- package/src/app/index.ts +3 -0
- package/src/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
- package/src/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
- package/src/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
- package/src/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
- package/src/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
- package/src/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
- package/src/core/List/__snapshots__/index.spec.tsx.snap +3 -318
- package/src/core/NavList/Nav.tsx +3 -0
- package/src/core/NavList/NavList.stories.js +2 -0
- package/src/core/NavList/NavList.stories.playwright.json +12 -12
- package/src/core/NavList/NavList.tsx +2 -23
- package/src/core/NavList/NavListAuto.tsx +20 -0
- package/src/core/NavList/NavListBase.tsx +8 -7
- package/src/core/NavList/NavListContext.tsx +17 -5
- package/src/core/NavList/NavListItem.tsx +30 -115
- package/src/core/NavList/NavListItemAuto.tsx +41 -0
- package/src/core/NavList/NavListItemBase.tsx +56 -139
- package/src/core/NavList/NavListItemButton.tsx +3 -0
- package/src/core/NavList/NavListItemLink.tsx +3 -0
- package/src/core/NavList/NavListSubMenu.tsx +6 -12
- package/src/core/NavList/NavMenu.tsx +1 -2
- package/src/core/NavList/NavMenuContainer.tsx +1 -2
- package/src/core/NavList/NavMenuContainerContent.tsx +1 -2
- package/src/core/NavList/NavMenuContainerContentList.tsx +1 -2
- package/src/core/NavList/NavMenuContainerContentListItem.tsx +1 -2
- package/src/core/NavList/NavMenuContainerTitle.tsx +1 -2
- package/src/core/NavList/NavVertical.tsx +1 -2
- package/src/core/NavList/NavVerticalItem.tsx +1 -2
- package/src/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
- package/src/core/NavList/__stories__/Default.tsx +61 -16
- package/src/core/NavList/__stories__/NavHorizontalLayout.tsx +50 -45
- package/src/core/NavList/__stories__/NavListAutoExample.tsx +53 -0
- package/src/core/NavList/__stories__/NavListEpathlaExample.tsx +174 -0
- package/src/core/NavList/index.tsx +8 -48
- package/src/core/NavList/types.tsx +10 -4
- package/src/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
- package/src/core/NotificationBanner/__stories__/Default.tsx +1 -1
- package/src/core/NotificationBanner/__stories__/Success.tsx +1 -1
- package/src/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
- package/src/core/SvgIcon/index.tsx +1 -0
- package/src/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
- package/src/govgr/Footer/Copyright.tsx +2 -1
- package/src/hooks/useNavList.ts +36 -0
- package/src/hooks/useTheme.ts +49 -0
- package/src/hooks/useTogglableSections.tsx +3 -3
- package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
- package/src/registry.js +20 -10
- package/typography/Caption/index.d.ts +1 -1
- package/core/NavList/NavHorizontal.d.ts +0 -3
- package/core/NavList/NavHorizontal.js +0 -19
- package/core/NavList/NavHorizontalList.d.ts +0 -3
- package/core/NavList/NavHorizontalList.js +0 -19
- package/core/NavList/NavHorizontalListItem.d.ts +0 -4
- package/core/NavList/NavHorizontalListItem.js +0 -30
- package/core/NavList/NavHorizontalListItemButton.d.ts +0 -3
- package/core/NavList/NavHorizontalListItemButton.js +0 -19
- package/core/NavList/NavHorizontalListItemLink.d.ts +0 -3
- package/core/NavList/NavHorizontalListItemLink.js +0 -19
- package/es/core/NavList/NavHorizontal.js +0 -3
- package/es/core/NavList/NavHorizontalList.js +0 -3
- package/es/core/NavList/NavHorizontalListItem.js +0 -13
- package/es/core/NavList/NavHorizontalListItemButton.js +0 -3
- package/es/core/NavList/NavHorizontalListItemLink.js +0 -3
- package/esm/core/NavList/NavHorizontal.js +0 -3
- package/esm/core/NavList/NavHorizontalList.js +0 -3
- package/esm/core/NavList/NavHorizontalListItem.js +0 -13
- package/esm/core/NavList/NavHorizontalListItemButton.js +0 -3
- package/esm/core/NavList/NavHorizontalListItemLink.js +0 -3
- package/src/core/NavList/NavHorizontal.tsx +0 -4
- package/src/core/NavList/NavHorizontalList.tsx +0 -4
- package/src/core/NavList/NavHorizontalListItem.tsx +0 -32
- package/src/core/NavList/NavHorizontalListItemButton.tsx +0 -3
- package/src/core/NavList/NavHorizontalListItemLink.tsx +0 -3
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import Divider from '@digigov/react-core/SectionBreak';
|
|
3
|
+
import NavListItemBase from '@digigov/ui/core/NavList/NavListItemBase';
|
|
4
|
+
import NavListSubMenu from '@digigov/ui/core/NavList/NavListSubMenu';
|
|
5
|
+
import NavListContext from '@digigov/ui/core/NavList/NavListContext';
|
|
6
|
+
|
|
7
|
+
export interface NavListItemAutoProps {
|
|
8
|
+
item?: any;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
role?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const NavListItemAuto: React.FC<NavListItemAutoProps> = ({
|
|
14
|
+
item,
|
|
15
|
+
children,
|
|
16
|
+
role,
|
|
17
|
+
...props
|
|
18
|
+
}) => {
|
|
19
|
+
const { layout, showDividers, links, container, setRegister } = useContext(
|
|
20
|
+
NavListContext
|
|
21
|
+
);
|
|
22
|
+
const { subMenu } = links.find((link) => link.name === item.name) || {};
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<React.Fragment>
|
|
26
|
+
<NavListItemBase
|
|
27
|
+
container={container}
|
|
28
|
+
setRegister={setRegister}
|
|
29
|
+
item={item}
|
|
30
|
+
layout={layout}
|
|
31
|
+
role={role}
|
|
32
|
+
{...props}
|
|
33
|
+
>
|
|
34
|
+
{subMenu && subMenu?.length > 0 && <NavListSubMenu links={subMenu} />}
|
|
35
|
+
</NavListItemBase>
|
|
36
|
+
{showDividers && <Divider />}
|
|
37
|
+
</React.Fragment>
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export default NavListItemAuto;
|
|
@@ -1,149 +1,66 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
4
|
-
import ExpandMore from '@material-ui/icons/ExpandMore';
|
|
1
|
+
import React from 'react';
|
|
5
2
|
import Link from '@digigov/ui/core/Link';
|
|
6
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
isNavListItemLinkInterface,
|
|
5
|
+
NavListLayout,
|
|
6
|
+
} from '@digigov/ui/core/NavList/types';
|
|
7
|
+
import NavListItem from '@digigov/ui/core/NavList/NavListItem';
|
|
8
|
+
import NavMenu from '@digigov/ui/core/NavList/NavMenu';
|
|
9
|
+
import NavMenuContainer from '@digigov/ui/core/NavList/NavMenuContainer';
|
|
10
|
+
import NavMenuContainerTitle from '@digigov/ui/core/NavList/NavMenuContainerTitle';
|
|
11
|
+
import NavMenuContainerContent from '@digigov/ui/core/NavList/NavMenuContainerContent';
|
|
12
|
+
import NavMenuContainerContentList from '@digigov/ui/core/NavList/NavMenuContainerContentList';
|
|
13
|
+
import NavMenuContainerContentListItem from '@digigov/ui/core/NavList/NavMenuContainerContentListItem';
|
|
7
14
|
|
|
8
|
-
const TRAILING_SLASH = /\/$/gm;
|
|
9
|
-
export const useNavListItemBaseStyles = makeStyles(
|
|
10
|
-
(theme) => {
|
|
11
|
-
const transition = {
|
|
12
|
-
duration: theme.transitions.duration.shortest,
|
|
13
|
-
};
|
|
14
|
-
return {
|
|
15
|
-
root: {
|
|
16
|
-
position: 'relative',
|
|
17
|
-
listStyle: 'none',
|
|
18
|
-
boxSizing: 'border-box',
|
|
19
|
-
textAlign: 'left',
|
|
20
|
-
margin: theme.spacing(0),
|
|
21
|
-
...theme.typography.body1,
|
|
22
|
-
'&$horizontal': {
|
|
23
|
-
flexDirection: 'column',
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
link: {
|
|
27
|
-
display: 'flex',
|
|
28
|
-
flexGrow: 1,
|
|
29
|
-
padding: theme.spacing(1),
|
|
30
|
-
textDecoration: 'none',
|
|
31
|
-
'&:hover': {
|
|
32
|
-
textDecoration: 'underline',
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
selected: {
|
|
36
|
-
fontWeight: 'bolder',
|
|
37
|
-
'&$horizontal': {
|
|
38
|
-
borderStyle: 'solid',
|
|
39
|
-
borderColor: theme.palette.secondary.main,
|
|
40
|
-
borderTop: 0,
|
|
41
|
-
borderLeft: 0,
|
|
42
|
-
borderRight: 0,
|
|
43
|
-
},
|
|
44
|
-
'&$vertical': {
|
|
45
|
-
border: 0,
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
// Pseudoclasses - do not remove //
|
|
49
|
-
horizontal: {},
|
|
50
|
-
vertical: {},
|
|
51
|
-
// End Pseudoclasses //
|
|
52
|
-
label: {
|
|
53
|
-
display: 'flex',
|
|
54
|
-
alignItems: 'center',
|
|
55
|
-
flex: 'auto',
|
|
56
|
-
},
|
|
57
|
-
icon: {
|
|
58
|
-
display: 'flex',
|
|
59
|
-
alignItems: 'center',
|
|
60
|
-
transform: 'rotate(0deg)',
|
|
61
|
-
transition: theme.transitions.create('transform', transition),
|
|
62
|
-
'&$open': {
|
|
63
|
-
transform: 'rotate(180deg)',
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
submenu: {
|
|
67
|
-
display: 'flex',
|
|
68
|
-
},
|
|
69
|
-
/* Pseudo-class applied to the Expand icon if `open={true}`. */
|
|
70
|
-
open: {},
|
|
71
|
-
};
|
|
72
|
-
},
|
|
73
|
-
{ name: 'MuiNavListItemBase' }
|
|
74
|
-
);
|
|
75
15
|
export interface NavListItemBaseProps {
|
|
16
|
+
container?: (key: string) => { active: boolean; id: string };
|
|
17
|
+
setRegister?: (name: string) => any;
|
|
76
18
|
children?: React.ReactNode;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
className?: string;
|
|
80
|
-
expandOn?: 'hover' | 'click';
|
|
81
|
-
selected?: boolean;
|
|
82
|
-
isNested?: boolean;
|
|
83
|
-
horizontal?: boolean;
|
|
84
|
-
open?: boolean;
|
|
85
|
-
onClick?: (e: any) => void;
|
|
19
|
+
item?: any;
|
|
20
|
+
layout?: NavListLayout;
|
|
86
21
|
role?: string;
|
|
87
22
|
}
|
|
88
23
|
|
|
89
|
-
export const NavListItemBase
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
open = false,
|
|
99
|
-
horizontal = false,
|
|
100
|
-
selected = false,
|
|
101
|
-
isNested,
|
|
102
|
-
expandOn,
|
|
103
|
-
onClick,
|
|
104
|
-
role,
|
|
105
|
-
...props
|
|
106
|
-
},
|
|
107
|
-
ref
|
|
108
|
-
) {
|
|
109
|
-
const classes = useNavListItemBaseStyles();
|
|
110
|
-
const [privateSelected, setPrivateSelected] = useState<boolean>(selected);
|
|
111
|
-
const { router } = useRouter();
|
|
112
|
-
|
|
113
|
-
useEffect(() => {
|
|
114
|
-
const asPath = router?.asPath.split('?').shift();
|
|
115
|
-
const isSelected =
|
|
116
|
-
asPath?.replace(TRAILING_SLASH, '') === href.replace(TRAILING_SLASH, '');
|
|
117
|
-
if (isSelected !== privateSelected) {
|
|
118
|
-
setPrivateSelected(isSelected);
|
|
119
|
-
}
|
|
120
|
-
}, [href, router?.asPath, selected, privateSelected]);
|
|
24
|
+
export const NavListItemBase: React.FC<NavListItemBaseProps> = ({
|
|
25
|
+
container,
|
|
26
|
+
setRegister,
|
|
27
|
+
children,
|
|
28
|
+
item,
|
|
29
|
+
layout = 'horizontal',
|
|
30
|
+
role,
|
|
31
|
+
...props
|
|
32
|
+
}) => {
|
|
121
33
|
return (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
34
|
+
<>
|
|
35
|
+
<NavListItem
|
|
36
|
+
layout={layout}
|
|
37
|
+
link={item}
|
|
38
|
+
setRegister={setRegister}
|
|
39
|
+
role="menuitem"
|
|
40
|
+
{...props}
|
|
41
|
+
/>
|
|
42
|
+
<NavMenu layout={layout} {...(container && container(item.name))}>
|
|
43
|
+
<NavMenuContainer layout={layout} paddingLeft={5} paddingRight={5}>
|
|
44
|
+
<NavMenuContainerTitle layout={layout}>
|
|
45
|
+
{item.label}
|
|
46
|
+
</NavMenuContainerTitle>
|
|
47
|
+
<NavMenuContainerContent>
|
|
48
|
+
<NavMenuContainerContentList layout={layout}>
|
|
49
|
+
{item.subMenu?.map((subMenu, menuIndex) => {
|
|
50
|
+
return (
|
|
51
|
+
isNavListItemLinkInterface(subMenu) && (
|
|
52
|
+
<NavMenuContainerContentListItem key={menuIndex}>
|
|
53
|
+
<Link href={subMenu.href}>{subMenu.label}</Link>
|
|
54
|
+
</NavMenuContainerContentListItem>
|
|
55
|
+
)
|
|
56
|
+
);
|
|
57
|
+
})}
|
|
58
|
+
</NavMenuContainerContentList>
|
|
59
|
+
</NavMenuContainerContent>
|
|
60
|
+
</NavMenuContainer>
|
|
61
|
+
</NavMenu>
|
|
62
|
+
</>
|
|
147
63
|
);
|
|
148
|
-
}
|
|
64
|
+
};
|
|
65
|
+
|
|
149
66
|
export default NavListItemBase;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { NavListAutoProps } from '@digigov/ui/core/NavList/types';
|
|
3
3
|
import { NavListBase } from '@digigov/ui/core/NavList/NavListBase';
|
|
4
4
|
import NavListItemBase from '@digigov/ui/core/NavList/NavListItemBase';
|
|
5
5
|
import NavListContext, {
|
|
6
6
|
NavLinkInterface,
|
|
7
7
|
} from '@digigov/ui/core/NavList/NavListContext';
|
|
8
8
|
|
|
9
|
-
export interface NavListSubMenuProps extends
|
|
9
|
+
export interface NavListSubMenuProps extends NavListAutoProps {
|
|
10
10
|
links: NavLinkInterface[];
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -14,19 +14,13 @@ export const NavListSubMenu: React.FC<NavListSubMenuProps> = ({
|
|
|
14
14
|
links,
|
|
15
15
|
...props
|
|
16
16
|
}) => {
|
|
17
|
-
const {
|
|
17
|
+
const { layout } = useContext(NavListContext);
|
|
18
|
+
|
|
18
19
|
return (
|
|
19
|
-
<NavListBase subMenu floating={horizontal} {...props}>
|
|
20
|
+
<NavListBase subMenu floating={layout === 'horizontal'} {...props}>
|
|
20
21
|
{links &&
|
|
21
22
|
links.map((subMenuLink, key) => {
|
|
22
|
-
return
|
|
23
|
-
<NavListItemBase
|
|
24
|
-
expandOn="hover"
|
|
25
|
-
key={key}
|
|
26
|
-
href={subMenuLink.href}
|
|
27
|
-
label={subMenuLink.label}
|
|
28
|
-
/>
|
|
29
|
-
);
|
|
23
|
+
return <NavListItemBase key={key} item={subMenuLink} />;
|
|
30
24
|
})}
|
|
31
25
|
</NavListBase>
|
|
32
26
|
);
|