@databiosphere/findable-ui 8.0.2 → 9.0.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/lib/components/Export/components/ExportToTerra/components/ExportToTerraReady/exportToTerraReady.js +2 -2
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.js +2 -2
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/ConnectTerraToNIHAccount/connectTerraToNIHAccount.js +2 -2
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/CreateTerraAccount/createTerraAccount.js +2 -2
- package/lib/components/Filter/components/Filter/filter.js +2 -3
- package/lib/components/Filter/components/Filter/filter.styles.d.ts +3 -0
- package/lib/components/Filter/components/Filter/filter.styles.js +8 -1
- package/lib/components/Filter/components/FilterLabel/filterLabel.styles.d.ts +1 -1
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.js +5 -5
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.styles.d.ts +3 -0
- package/lib/components/Index/components/AzulFileDownload/azulFileDownload.styles.js +5 -0
- package/lib/components/Layout/components/ContentLayout/contentLayout.js +5 -3
- package/lib/components/Layout/components/ContentLayout/contentLayout.styles.d.ts +4 -0
- package/lib/components/Layout/components/ContentLayout/contentLayout.styles.js +7 -2
- package/lib/components/Layout/components/Footer/footer.js +1 -2
- package/lib/components/Layout/components/Footer/footer.styles.js +6 -1
- package/lib/components/Layout/components/Header/common/entities.d.ts +4 -0
- package/lib/components/Layout/components/Header/common/entities.js +5 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/RequestAuthentication/requestAuthentication.styles.d.ts +1 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Menu/components/Toolbar/toolbar.js +9 -7
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/constants.d.ts +4 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/constants.js +4 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.d.ts +8 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.js +12 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.js +23 -7
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.styles.js +4 -3
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchButton/searchButton.styles.d.ts +1 -1
- package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.js +2 -5
- package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.styles.d.ts +3 -0
- package/lib/components/Layout/components/Header/components/Content/components/Logo/logo.styles.js +11 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/common/utils.d.ts +15 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/common/utils.js +23 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationButtonLabel/navigationButtonLabel.d.ts +5 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationButtonLabel/navigationButtonLabel.js +5 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.js +3 -4
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.styles.d.ts +3 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.styles.js +23 -2
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/common/constants.d.ts +4 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/common/constants.js +19 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.d.ts +2 -1
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.js +20 -19
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.styles.d.ts +30 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.styles.js +16 -1
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenuItems/navigationMenuItems.js +13 -7
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/navigation.d.ts +2 -0
- package/lib/components/Layout/components/Header/components/Content/components/Navigation/navigation.js +11 -6
- package/lib/components/Layout/components/Header/components/Content/components/Slogan/slogan.styles.js +3 -1
- package/lib/components/Layout/components/Header/header.styles.js +7 -0
- package/lib/components/Layout/components/Nav/nav.styles.js +6 -0
- package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.js +2 -3
- package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.styles.d.ts +3 -0
- package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.styles.js +8 -1
- package/lib/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.styles.js +1 -1
- package/lib/components/Layout/components/Sidebar/sidebar.styles.js +2 -1
- package/lib/components/Links/common/entities.d.ts +4 -0
- package/lib/components/Links/common/entities.js +5 -0
- package/lib/components/Links/common/utils.js +1 -1
- package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.js +2 -2
- package/lib/components/Links/components/Link/link.d.ts +1 -1
- package/lib/components/Links/components/Link/link.js +5 -5
- package/lib/components/Table/components/Pagination/pagination.js +3 -3
- package/lib/components/common/Button/components/CallToActionButton/callToActionButton.js +2 -2
- package/lib/components/common/Button/components/HelpIconButton/helpIconButton.js +3 -3
- package/lib/components/common/Card/components/CardActionArea/cardActionArea.js +2 -2
- package/lib/components/common/IconButton/iconButton.styles.d.ts +0 -15
- package/lib/components/common/IconButton/iconButton.styles.js +0 -82
- package/lib/components/common/Socials/socials.d.ts +1 -1
- package/lib/components/common/Socials/socials.js +4 -5
- package/lib/components/common/Socials/socials.styles.d.ts +1 -0
- package/lib/components/common/Socials/socials.styles.js +9 -0
- package/lib/hooks/useMenuWithPosition.d.ts +14 -0
- package/lib/hooks/useMenuWithPosition.js +33 -0
- package/lib/theme/common/components.js +59 -1
- package/package.json +1 -1
- package/src/components/Export/components/ExportToTerra/components/ExportToTerraReady/exportToTerraReady.tsx +9 -2
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.tsx +9 -2
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/ConnectTerraToNIHAccount/connectTerraToNIHAccount.tsx +5 -2
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/CreateTerraAccount/createTerraAccount.tsx +9 -2
- package/src/components/Filter/components/Filter/filter.styles.ts +9 -1
- package/src/components/Filter/components/Filter/filter.tsx +2 -3
- package/src/components/Index/components/AzulFileDownload/azulFileDownload.styles.ts +6 -0
- package/src/components/Index/components/AzulFileDownload/azulFileDownload.tsx +13 -12
- package/src/components/Layout/components/ContentLayout/contentLayout.styles.ts +9 -6
- package/src/components/Layout/components/ContentLayout/contentLayout.tsx +9 -4
- package/src/components/Layout/components/Footer/footer.styles.ts +6 -1
- package/src/components/Layout/components/Footer/footer.tsx +1 -8
- package/src/components/Layout/components/Header/common/entities.ts +5 -0
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Menu/components/Toolbar/toolbar.tsx +23 -20
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/constants.ts +4 -0
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.ts +17 -0
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.styles.ts +7 -3
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.tsx +41 -16
- package/src/components/Layout/components/Header/components/Content/components/Logo/logo.styles.ts +12 -0
- package/src/components/Layout/components/Header/components/Content/components/Logo/logo.tsx +6 -18
- package/src/components/Layout/components/Header/components/Content/components/Navigation/common/utils.ts +27 -0
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationButtonLabel/navigationButtonLabel.tsx +22 -0
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.styles.ts +27 -2
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.tsx +8 -5
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/common/constants.ts +23 -0
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.styles.ts +17 -1
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.tsx +25 -23
- package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenuItems/navigationMenuItems.tsx +26 -5
- package/src/components/Layout/components/Header/components/Content/components/Navigation/navigation.tsx +29 -6
- package/src/components/Layout/components/Header/components/Content/components/Slogan/slogan.styles.ts +3 -1
- package/src/components/Layout/components/Header/header.styles.ts +7 -0
- package/src/components/Layout/components/Nav/nav.styles.ts +6 -0
- package/src/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.styles.ts +12 -1
- package/src/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.tsx +2 -7
- package/src/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.styles.ts +1 -1
- package/src/components/Layout/components/Sidebar/sidebar.styles.ts +2 -1
- package/src/components/Links/common/entities.ts +5 -0
- package/src/components/Links/common/utils.ts +1 -1
- package/src/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.tsx +2 -1
- package/src/components/Links/components/Link/link.tsx +12 -4
- package/src/components/Table/components/Pagination/pagination.tsx +5 -3
- package/src/components/common/Button/components/CallToActionButton/callToActionButton.tsx +6 -3
- package/src/components/common/Button/components/HelpIconButton/helpIconButton.tsx +6 -3
- package/src/components/common/Card/components/CardActionArea/cardActionArea.tsx +9 -2
- package/src/components/common/IconButton/iconButton.styles.ts +0 -88
- package/src/components/common/Socials/socials.styles.ts +10 -0
- package/src/components/common/Socials/socials.tsx +12 -10
- package/src/hooks/useMenuWithPosition.ts +49 -0
- package/src/theme/common/components.ts +59 -0
- package/types/data-explorer-ui.d.ts +1 -0
- package/src/components/common/IconButton/components/LoadingIconButton/loadingIconButton.stories.tsx +0 -15
- package/src/components/common/IconButton/components/LoadingIconButton/loadingIconButton.tsx +0 -15
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
import styled from "@emotion/styled";
|
|
2
|
-
import {
|
|
2
|
+
import { Dialog as MDialog } from "@mui/material";
|
|
3
|
+
import { inkLight } from "../../../../../../../../../../styles/common/mixins/colors";
|
|
4
|
+
import { textBody400, textUppercase500, } from "../../../../../../../../../../styles/common/mixins/fonts";
|
|
3
5
|
import { Button as DXButton } from "../../../../../../../../../common/Button/button";
|
|
6
|
+
export const Dialog = styled(MDialog) `
|
|
7
|
+
+ .MuiDialog-root {
|
|
8
|
+
.MuiButton-activeNav,
|
|
9
|
+
.MuiButton-nav {
|
|
10
|
+
${textBody400};
|
|
11
|
+
padding: 6px 48px;
|
|
12
|
+
|
|
13
|
+
&.Mui-disabled {
|
|
14
|
+
${textUppercase500};
|
|
15
|
+
color: ${inkLight};
|
|
16
|
+
margin-top: 20px;
|
|
17
|
+
opacity: 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&:first-of-type {
|
|
21
|
+
margin-top: 10px;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
4
26
|
export const Content = styled.div `
|
|
5
27
|
padding: 16px 0;
|
|
6
28
|
overflow-x: hidden;
|
|
7
29
|
overflow-y: auto;
|
|
8
30
|
`;
|
|
9
31
|
export const Button = styled(DXButton) `
|
|
10
|
-
${textHeadingSmall};
|
|
11
32
|
gap: 8px;
|
|
12
33
|
justify-content: flex-start;
|
|
13
34
|
padding: 12px 24px;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MenuProps as MMenuProps } from "@mui/material";
|
|
2
|
+
export declare const MENU_ANCHOR_ORIGIN_LEFT_BOTTOM: MMenuProps["anchorOrigin"];
|
|
3
|
+
export declare const MENU_ANCHOR_ORIGIN_RIGHT_TOP: MMenuProps["anchorOrigin"];
|
|
4
|
+
export declare const MENU_PROPS: Partial<MMenuProps>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const MENU_ANCHOR_ORIGIN_LEFT_BOTTOM = {
|
|
2
|
+
horizontal: "left",
|
|
3
|
+
vertical: "bottom",
|
|
4
|
+
};
|
|
5
|
+
export const MENU_ANCHOR_ORIGIN_RIGHT_TOP = {
|
|
6
|
+
horizontal: "right",
|
|
7
|
+
vertical: "top",
|
|
8
|
+
};
|
|
9
|
+
export const MENU_PROPS = {
|
|
10
|
+
slotProps: {
|
|
11
|
+
paper: {
|
|
12
|
+
variant: "menu",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
transformOrigin: {
|
|
16
|
+
horizontal: "left",
|
|
17
|
+
vertical: "top",
|
|
18
|
+
},
|
|
19
|
+
};
|
|
@@ -4,8 +4,9 @@ import { MenuItem } from "../NavigationMenuItems/navigationMenuItems";
|
|
|
4
4
|
export interface NavLinkMenuProps {
|
|
5
5
|
anchorOrigin?: MMenuProps["anchorOrigin"];
|
|
6
6
|
closeAncestor?: () => void;
|
|
7
|
+
disablePortal?: boolean;
|
|
7
8
|
menuItems: MenuItem[];
|
|
8
9
|
menuLabel: ReactNode;
|
|
9
10
|
pathname?: string;
|
|
10
11
|
}
|
|
11
|
-
export declare const NavigationMenu: ({ anchorOrigin, closeAncestor, menuItems, menuLabel, pathname, }: NavLinkMenuProps) => JSX.Element;
|
|
12
|
+
export declare const NavigationMenu: ({ anchorOrigin, closeAncestor, disablePortal, menuItems, menuLabel, pathname, }: NavLinkMenuProps) => JSX.Element;
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import ArrowDropDownRoundedIcon from "@mui/icons-material/ArrowDropDownRounded";
|
|
2
|
-
import React, {
|
|
2
|
+
import React, { Fragment } from "react";
|
|
3
3
|
import { useBreakpoint } from "../../../../../../../../../../hooks/useBreakpoint";
|
|
4
|
+
import { useMenuWithPosition } from "../../../../../../../../../../hooks/useMenuWithPosition";
|
|
5
|
+
import { NavigationButtonLabel } from "../NavigationButtonLabel/navigationButtonLabel";
|
|
4
6
|
import { NavigationMenuItems, } from "../NavigationMenuItems/navigationMenuItems";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
+
import { MENU_ANCHOR_ORIGIN_LEFT_BOTTOM, MENU_PROPS } from "./common/constants";
|
|
8
|
+
import { Button, Menu, StyledMenuItem } from "./navigationMenu.styles";
|
|
9
|
+
export const NavigationMenu = ({ anchorOrigin = MENU_ANCHOR_ORIGIN_LEFT_BOTTOM, closeAncestor, disablePortal, menuItems, menuLabel, pathname, }) => {
|
|
7
10
|
const { mdUp } = useBreakpoint();
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} },
|
|
23
|
-
React.createElement(NavigationMenuItems, { closeMenu: closeMenu, menuItems: menuItems, pathname: pathname }))));
|
|
11
|
+
const { anchorEl, onClose, onToggleOpen, open } = useMenuWithPosition();
|
|
12
|
+
const MenuItem = disablePortal ? StyledMenuItem : Fragment;
|
|
13
|
+
const menuItemProps = disablePortal ? { onMouseLeave: onClose } : {};
|
|
14
|
+
return (React.createElement(MenuItem, { ...menuItemProps },
|
|
15
|
+
React.createElement(Button, { EndIcon: ArrowDropDownRoundedIcon, isActive: open, onClick: onToggleOpen, variant: "nav" },
|
|
16
|
+
React.createElement(NavigationButtonLabel, { label: menuLabel })),
|
|
17
|
+
React.createElement(Menu, { ...MENU_PROPS, anchorEl: anchorEl, anchorOrigin: anchorOrigin, disablePortal: disablePortal, onClose: () => {
|
|
18
|
+
onClose();
|
|
19
|
+
closeAncestor?.();
|
|
20
|
+
}, open: mdUp && open },
|
|
21
|
+
React.createElement(NavigationMenuItems, { closeMenu: () => {
|
|
22
|
+
onClose();
|
|
23
|
+
closeAncestor?.();
|
|
24
|
+
}, menuItems: menuItems, pathname: pathname }))));
|
|
24
25
|
};
|
|
@@ -8,4 +8,34 @@ export declare const Menu: import("@emotion/styled").StyledComponent<import("@mu
|
|
|
8
8
|
export declare const Button: import("@emotion/styled").StyledComponent<Omit<import("../../../../../../../../../common/Button/button").ButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement> & {
|
|
9
9
|
theme?: import("@emotion/react").Theme | undefined;
|
|
10
10
|
} & Props, {}, {}>;
|
|
11
|
+
export declare const StyledMenuItem: import("@emotion/styled").StyledComponent<{
|
|
12
|
+
autoFocus?: boolean | undefined;
|
|
13
|
+
classes?: Partial<import("@mui/material").MenuItemClasses> | undefined;
|
|
14
|
+
dense?: boolean | undefined;
|
|
15
|
+
disabled?: boolean | undefined;
|
|
16
|
+
disableGutters?: boolean | undefined;
|
|
17
|
+
divider?: boolean | undefined;
|
|
18
|
+
selected?: boolean | undefined;
|
|
19
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
20
|
+
} & Omit<{
|
|
21
|
+
action?: import("react").Ref<import("@mui/material").ButtonBaseActions> | undefined;
|
|
22
|
+
centerRipple?: boolean | undefined;
|
|
23
|
+
children?: import("react").ReactNode;
|
|
24
|
+
classes?: Partial<import("@mui/material").ButtonBaseClasses> | undefined;
|
|
25
|
+
disabled?: boolean | undefined;
|
|
26
|
+
disableRipple?: boolean | undefined;
|
|
27
|
+
disableTouchRipple?: boolean | undefined;
|
|
28
|
+
focusRipple?: boolean | undefined;
|
|
29
|
+
focusVisibleClassName?: string | undefined;
|
|
30
|
+
LinkComponent?: import("react").ElementType<any> | undefined;
|
|
31
|
+
onFocusVisible?: import("react").FocusEventHandler<any> | undefined;
|
|
32
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
33
|
+
tabIndex?: number | undefined;
|
|
34
|
+
TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
|
|
35
|
+
touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions> | undefined;
|
|
36
|
+
}, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
|
|
37
|
+
ref?: ((instance: HTMLLIElement | null) => void) | import("react").RefObject<HTMLLIElement> | null | undefined;
|
|
38
|
+
}, keyof import("@mui/material/OverridableComponent").CommonProps | "autoFocus" | "tabIndex" | "children" | "sx" | "disabled" | "action" | "selected" | "dense" | "disableGutters" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "divider"> & {
|
|
39
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
40
|
+
}, {}, {}>;
|
|
11
41
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css } from "@emotion/react";
|
|
2
2
|
import styled from "@emotion/styled";
|
|
3
|
-
import { Menu as MMenu } from "@mui/material";
|
|
3
|
+
import { Menu as MMenu, MenuItem as MMenuItem } from "@mui/material";
|
|
4
4
|
import { inkLight, smokeLight, smokeMain, } from "../../../../../../../../../../styles/common/mixins/colors";
|
|
5
5
|
import { Button as DXButton } from "../../../../../../../../../common/Button/button";
|
|
6
6
|
export const Menu = styled(MMenu) `
|
|
@@ -24,11 +24,13 @@ export const Menu = styled(MMenu) `
|
|
|
24
24
|
.MuiListItemText-root {
|
|
25
25
|
display: grid;
|
|
26
26
|
gap: 4px;
|
|
27
|
+
white-space: normal;
|
|
27
28
|
|
|
28
29
|
.MuiListItemText-primary {
|
|
29
30
|
align-items: center;
|
|
30
31
|
display: flex;
|
|
31
32
|
gap: 4px;
|
|
33
|
+
min-width: 0;
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
.MuiListItemText-secondary {
|
|
@@ -37,6 +39,11 @@ export const Menu = styled(MMenu) `
|
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
|
|
42
|
+
&.Mui-disabled {
|
|
43
|
+
color: ${inkLight};
|
|
44
|
+
opacity: 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
40
47
|
&.Mui-selected {
|
|
41
48
|
background-color: ${smokeLight};
|
|
42
49
|
}
|
|
@@ -58,6 +65,11 @@ export const Menu = styled(MMenu) `
|
|
|
58
65
|
margin: 8px 0;
|
|
59
66
|
}
|
|
60
67
|
}
|
|
68
|
+
|
|
69
|
+
.MuiPopover-root {
|
|
70
|
+
cursor: default;
|
|
71
|
+
z-index: -1;
|
|
72
|
+
}
|
|
61
73
|
`;
|
|
62
74
|
export const Button = styled(DXButton, {
|
|
63
75
|
shouldForwardProp: (prop) => prop !== "isActive",
|
|
@@ -68,3 +80,6 @@ export const Button = styled(DXButton, {
|
|
|
68
80
|
background-color: ${smokeLight(props)};
|
|
69
81
|
`};
|
|
70
82
|
`;
|
|
83
|
+
export const StyledMenuItem = styled(MMenuItem) `
|
|
84
|
+
padding: 0;
|
|
85
|
+
`;
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
import { Divider, ListItemIcon, ListItemText, MenuItem as MMenuItem, } from "@mui/material";
|
|
2
2
|
import { useRouter } from "next/router";
|
|
3
3
|
import React, { Fragment } from "react";
|
|
4
|
-
import { TEXT_BODY_400, TEXT_BODY_500, TEXT_BODY_SMALL_400_2_LINES, } from "../../../../../../../../../../theme/common/typography";
|
|
5
|
-
import { ANCHOR_TARGET } from "../../../../../../../../../Links/common/entities";
|
|
4
|
+
import { TEXT_BODY_400, TEXT_BODY_500, TEXT_BODY_SMALL_400_2_LINES, TEXT_UPPERCASE_500, } from "../../../../../../../../../../theme/common/typography";
|
|
5
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE, } from "../../../../../../../../../Links/common/entities";
|
|
6
6
|
import { isClientSideNavigation } from "../../../../../../../../../Links/common/utils";
|
|
7
|
+
import { isNavigationLinkSelected } from "../../common/utils";
|
|
8
|
+
import { MENU_ANCHOR_ORIGIN_RIGHT_TOP } from "../NavigationMenu/common/constants";
|
|
7
9
|
import { NavigationMenu } from "../NavigationMenu/navigationMenu";
|
|
8
10
|
export const NavigationMenuItems = ({ closeMenu, menuItems, pathname, }) => {
|
|
9
11
|
const router = useRouter();
|
|
10
|
-
return (React.createElement(React.Fragment, null, menuItems.map(({ description, divider, icon, label, menuItems: nestedMenuItems, target = ANCHOR_TARGET.SELF, url, }, i) => nestedMenuItems ? (React.createElement(NavigationMenu, { key: i, anchorOrigin:
|
|
11
|
-
React.createElement(MMenuItem, { onClick: () => {
|
|
12
|
+
return (React.createElement(React.Fragment, null, menuItems.map(({ description, divider, icon, label, menuItems: nestedMenuItems, selectedMatch, target = ANCHOR_TARGET.SELF, url, }, i) => nestedMenuItems ? (React.createElement(NavigationMenu, { key: i, anchorOrigin: MENU_ANCHOR_ORIGIN_RIGHT_TOP, closeAncestor: closeMenu, disablePortal: true, menuItems: nestedMenuItems, menuLabel: label, pathname: pathname })) : (React.createElement(Fragment, { key: i },
|
|
13
|
+
React.createElement(MMenuItem, { disabled: !url, onClick: () => {
|
|
12
14
|
closeMenu();
|
|
13
15
|
isClientSideNavigation(url)
|
|
14
16
|
? router.push(url)
|
|
15
|
-
: window.open(url, target,
|
|
16
|
-
}, selected: url
|
|
17
|
+
: window.open(url, target, REL_ATTRIBUTE.NO_OPENER_NO_REFERRER);
|
|
18
|
+
}, selected: isNavigationLinkSelected(url, pathname, selectedMatch) },
|
|
17
19
|
icon && React.createElement(ListItemIcon, null, icon),
|
|
18
20
|
React.createElement(ListItemText, { primary: label, primaryTypographyProps: {
|
|
19
|
-
variant:
|
|
21
|
+
variant: url
|
|
22
|
+
? description
|
|
23
|
+
? TEXT_BODY_500
|
|
24
|
+
: TEXT_BODY_400
|
|
25
|
+
: TEXT_UPPERCASE_500,
|
|
20
26
|
}, secondary: description, secondaryTypographyProps: {
|
|
21
27
|
variant: TEXT_BODY_SMALL_400_2_LINES,
|
|
22
28
|
} })),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { CSSProperties, ReactNode } from "react";
|
|
2
2
|
import { BreakpointKey } from "../../../../../../../../hooks/useBreakpointHelper";
|
|
3
3
|
import { ANCHOR_TARGET } from "../../../../../../../Links/common/entities";
|
|
4
|
+
import { SELECTED_MATCH } from "../../../../common/entities";
|
|
4
5
|
import { HeaderProps } from "../../../../header";
|
|
5
6
|
import { MenuItem } from "./components/NavigationMenuItems/navigationMenuItems";
|
|
6
7
|
export interface NavLinkItem {
|
|
@@ -8,6 +9,7 @@ export interface NavLinkItem {
|
|
|
8
9
|
flatten?: Partial<Record<BreakpointKey, boolean>>;
|
|
9
10
|
label: ReactNode;
|
|
10
11
|
menuItems?: MenuItem[];
|
|
12
|
+
selectedMatch?: SELECTED_MATCH;
|
|
11
13
|
target?: ANCHOR_TARGET;
|
|
12
14
|
url: string;
|
|
13
15
|
visible?: Partial<Record<BreakpointKey, boolean>>;
|
|
@@ -2,22 +2,27 @@ import { Button, Divider } from "@mui/material";
|
|
|
2
2
|
import { useRouter } from "next/router";
|
|
3
3
|
import React, { forwardRef, Fragment } from "react";
|
|
4
4
|
import { useBreakpoint } from "../../../../../../../../hooks/useBreakpoint";
|
|
5
|
-
import { ANCHOR_TARGET } from "../../../../../../../Links/common/entities";
|
|
5
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE, } from "../../../../../../../Links/common/entities";
|
|
6
6
|
import { isClientSideNavigation } from "../../../../../../../Links/common/utils";
|
|
7
|
+
import { isNavigationLinkSelected } from "./common/utils";
|
|
8
|
+
import { NavigationButtonLabel } from "./components/NavigationButtonLabel/navigationButtonLabel";
|
|
7
9
|
import { NavigationDrawer } from "./components/NavigationDrawer/navigationDrawer";
|
|
8
10
|
import { NavigationMenu } from "./components/NavigationMenu/navigationMenu";
|
|
9
11
|
import { Navigation as Links } from "./navigation.styles";
|
|
10
12
|
export const Navigation = forwardRef(function Navigation({ className, closeAncestor, headerProps, links, pathname, style, }, ref) {
|
|
11
13
|
const { mdUp } = useBreakpoint();
|
|
12
14
|
const router = useRouter();
|
|
13
|
-
return (React.createElement(Links, { ref: ref, className: className, style: style }, links.map(({ divider, label, menuItems, target = ANCHOR_TARGET.SELF, url }, i) => menuItems ? (React.createElement(Fragment, { key: i },
|
|
15
|
+
return (React.createElement(Links, { ref: ref, className: className, style: style }, links.map(({ divider, label, menuItems, selectedMatch, target = ANCHOR_TARGET.SELF, url, }, i) => menuItems ? (React.createElement(Fragment, { key: i },
|
|
14
16
|
mdUp ? (React.createElement(NavigationMenu, { closeAncestor: closeAncestor, menuItems: menuItems, menuLabel: label, pathname: pathname })) : (React.createElement(NavigationDrawer, { closeAncestor: closeAncestor, headerProps: headerProps, menuItems: menuItems, menuLabel: label, pathname: pathname })),
|
|
15
17
|
divider && React.createElement(Divider, null))) : (React.createElement(Fragment, { key: i },
|
|
16
|
-
React.createElement(Button, { onClick: () => {
|
|
18
|
+
React.createElement(Button, { disabled: !url, onClick: () => {
|
|
19
|
+
closeAncestor?.();
|
|
17
20
|
isClientSideNavigation(url)
|
|
18
21
|
? router.push(url)
|
|
19
|
-
: window.open(url, target,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
: window.open(url, target, REL_ATTRIBUTE.NO_OPENER_NO_REFERRER);
|
|
23
|
+
}, variant: isNavigationLinkSelected(url, pathname, selectedMatch)
|
|
24
|
+
? "activeNav"
|
|
25
|
+
: "nav" },
|
|
26
|
+
React.createElement(NavigationButtonLabel, { label: label })),
|
|
22
27
|
divider && React.createElement(Divider, null))))));
|
|
23
28
|
});
|
|
@@ -10,7 +10,10 @@ export const AppBar = styled(MAppBar) `
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.MuiToolbar-root {
|
|
13
|
+
display: grid;
|
|
13
14
|
gap: 16px;
|
|
15
|
+
grid-template-areas: "left center right";
|
|
16
|
+
grid-template-columns: 1fr auto 1fr;
|
|
14
17
|
height: ${HEADER_HEIGHT}px;
|
|
15
18
|
min-height: unset;
|
|
16
19
|
}
|
|
@@ -23,6 +26,7 @@ const group = css `
|
|
|
23
26
|
export const Left = styled.div `
|
|
24
27
|
${group};
|
|
25
28
|
gap: 16px;
|
|
29
|
+
grid-area: left;
|
|
26
30
|
justify-content: flex-start;
|
|
27
31
|
|
|
28
32
|
.MuiButton-navPrimary {
|
|
@@ -33,9 +37,12 @@ export const Left = styled.div `
|
|
|
33
37
|
`;
|
|
34
38
|
export const Center = styled.div `
|
|
35
39
|
${group};
|
|
40
|
+
grid-area: center;
|
|
36
41
|
justify-content: center;
|
|
37
42
|
`;
|
|
38
43
|
export const Right = styled.div `
|
|
39
44
|
${group};
|
|
45
|
+
gap: 8px;
|
|
46
|
+
grid-area: right;
|
|
40
47
|
justify-content: flex-end;
|
|
41
48
|
`;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { CloseRounded } from "@mui/icons-material";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { CloseDrawerIconButton } from "../../../../../common/IconButton/iconButton.styles";
|
|
4
3
|
import { DrawerTransition } from "../../../../../Filter/components/Filter/components/DrawerTransition/drawerTransition";
|
|
5
|
-
import { TemporarySidebar } from "./sidebarDrawer.styles";
|
|
4
|
+
import { IconButton, TemporarySidebar } from "./sidebarDrawer.styles";
|
|
6
5
|
const DEFAULT_POSITION = { left: 0, top: 0 };
|
|
7
6
|
const DRAWER_SLOT_PROPS = {
|
|
8
7
|
paper: { square: true },
|
|
@@ -10,6 +9,6 @@ const DRAWER_SLOT_PROPS = {
|
|
|
10
9
|
};
|
|
11
10
|
export const SidebarDrawer = ({ children, drawerOpen = false, onDrawerClose, }) => {
|
|
12
11
|
return (React.createElement(TemporarySidebar, { anchorPosition: DEFAULT_POSITION, anchorReference: "anchorPosition", hideBackdrop: false, marginThreshold: 0, onClose: onDrawerClose, open: drawerOpen, slotProps: DRAWER_SLOT_PROPS, TransitionComponent: DrawerTransition, transitionDuration: drawerOpen ? 250 : 300 },
|
|
13
|
-
React.createElement(
|
|
12
|
+
React.createElement(IconButton, { Icon: CloseRounded, onClick: onDrawerClose, size: "medium" }),
|
|
14
13
|
children));
|
|
15
14
|
};
|
package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.styles.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export declare const TemporarySidebar: import("@emotion/styled").StyledComponent<import("@mui/material").PopoverProps & {
|
|
2
2
|
theme?: import("@emotion/react").Theme | undefined;
|
|
3
3
|
}, {}, {}>;
|
|
4
|
+
export declare const IconButton: import("@emotion/styled").StyledComponent<import("../../../../../common/IconButton/iconButton").IconButtonProps & {
|
|
5
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
6
|
+
}, {}, {}>;
|
package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.styles.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import styled from "@emotion/styled";
|
|
2
2
|
import { Popover as MPopover } from "@mui/material";
|
|
3
3
|
import { mediaDesktopSmallDown } from "../../../../../../styles/common/mixins/breakpoints";
|
|
4
|
-
import { smokeLight } from "../../../../../../styles/common/mixins/colors";
|
|
4
|
+
import { smokeLight, white, } from "../../../../../../styles/common/mixins/colors";
|
|
5
|
+
import { IconButton as DXIconButton } from "../../../../../common/IconButton/iconButton";
|
|
5
6
|
export const TemporarySidebar = styled(MPopover) `
|
|
6
7
|
&.MuiPopover-root {
|
|
7
8
|
${mediaDesktopSmallDown} {
|
|
@@ -16,3 +17,9 @@ export const TemporarySidebar = styled(MPopover) `
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
`;
|
|
20
|
+
export const IconButton = styled(DXIconButton) `
|
|
21
|
+
color: ${white};
|
|
22
|
+
left: calc(100% + 4px);
|
|
23
|
+
position: absolute;
|
|
24
|
+
top: 4px;
|
|
25
|
+
`;
|
|
@@ -6,7 +6,7 @@ export const SidebarPositioner = styled("div") `
|
|
|
6
6
|
padding: 16px 0;
|
|
7
7
|
|
|
8
8
|
${mediaDesktopSmallUp} {
|
|
9
|
-
height:
|
|
9
|
+
max-height: 100vh;
|
|
10
10
|
overflow: auto;
|
|
11
11
|
padding: ${({ headerHeight }) => headerHeight}px 0 0;
|
|
12
12
|
position: sticky;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import styled from "@emotion/styled";
|
|
2
|
+
import { smokeMain } from "../../../../styles/common/mixins/colors";
|
|
2
3
|
export const Sidebar = styled.div `
|
|
3
4
|
align-self: stretch;
|
|
4
|
-
border-right: 1px solid ${
|
|
5
|
+
border-right: 1px solid ${smokeMain};
|
|
5
6
|
box-sizing: content-box;
|
|
6
7
|
width: 264px;
|
|
7
8
|
`;
|
|
@@ -4,6 +4,10 @@ export declare enum ANCHOR_TARGET {
|
|
|
4
4
|
BLANK = "_blank",
|
|
5
5
|
SELF = "_self"
|
|
6
6
|
}
|
|
7
|
+
export declare enum REL_ATTRIBUTE {
|
|
8
|
+
NO_OPENER = "noopener",
|
|
9
|
+
NO_OPENER_NO_REFERRER = "noopener noreferrer"
|
|
10
|
+
}
|
|
7
11
|
export declare type StrictUrlObject = Omit<UrlObject, "href" | "query"> & {
|
|
8
12
|
href: string;
|
|
9
13
|
query: string;
|
|
@@ -3,3 +3,8 @@ export var ANCHOR_TARGET;
|
|
|
3
3
|
ANCHOR_TARGET["BLANK"] = "_blank";
|
|
4
4
|
ANCHOR_TARGET["SELF"] = "_self";
|
|
5
5
|
})(ANCHOR_TARGET || (ANCHOR_TARGET = {}));
|
|
6
|
+
export var REL_ATTRIBUTE;
|
|
7
|
+
(function (REL_ATTRIBUTE) {
|
|
8
|
+
REL_ATTRIBUTE["NO_OPENER"] = "noopener";
|
|
9
|
+
REL_ATTRIBUTE["NO_OPENER_NO_REFERRER"] = "noopener noreferrer";
|
|
10
|
+
})(REL_ATTRIBUTE || (REL_ATTRIBUTE = {}));
|
|
@@ -5,7 +5,7 @@ import { URL_OBJECT_KEYS } from "./constants";
|
|
|
5
5
|
* @returns true if the given link is an internal link.
|
|
6
6
|
*/
|
|
7
7
|
export function isClientSideNavigation(link) {
|
|
8
|
-
return /^\/(?!\/)
|
|
8
|
+
return /^\/(?!\/)|^#/.test(link);
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Returns true if the given url is a URL object with href and query.
|
|
@@ -2,7 +2,7 @@ import Link from "next/link";
|
|
|
2
2
|
import React, { useCallback } from "react";
|
|
3
3
|
import { useExploreState } from "../../../../../../hooks/useExploreState";
|
|
4
4
|
import { ExploreActionKind, } from "../../../../../../providers/exploreState";
|
|
5
|
-
import { ANCHOR_TARGET, } from "../../../../common/entities";
|
|
5
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE, } from "../../../../common/entities";
|
|
6
6
|
const PARAM_FILTER = "filter";
|
|
7
7
|
const PARAM_SORTING = "sorting";
|
|
8
8
|
export const ExploreViewLink = ({ className, label, onClick, target = ANCHOR_TARGET.SELF, url, }) => {
|
|
@@ -20,7 +20,7 @@ export const ExploreViewLink = ({ className, label, onClick, target = ANCHOR_TAR
|
|
|
20
20
|
});
|
|
21
21
|
onClick?.();
|
|
22
22
|
}, [exploreDispatch, onClick, url]);
|
|
23
|
-
return (React.createElement(Link, { className: className, href: url.href, onClick: onNavigate, rel:
|
|
23
|
+
return (React.createElement(Link, { className: className, href: url.href, onClick: onNavigate, rel: REL_ATTRIBUTE.NO_OPENER, target: target }, label));
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* Returns the entity list type "entityListType" inferred from the given href.
|
|
@@ -12,4 +12,4 @@ export interface LinkProps {
|
|
|
12
12
|
TypographyProps?: TypographyProps;
|
|
13
13
|
url: Url;
|
|
14
14
|
}
|
|
15
|
-
export declare const Link: ({ className, copyable, label, noWrap, onClick, target, TypographyProps, url, }: LinkProps) => JSX.Element;
|
|
15
|
+
export declare const Link: ({ className, copyable, label, noWrap, onClick, target, TypographyProps, url, ...props }: LinkProps) => JSX.Element;
|
|
@@ -3,10 +3,10 @@ import NLink from "next/link";
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { isValidUrl } from "../../../../common/utils";
|
|
5
5
|
import { CopyToClipboard } from "../../../common/CopyToClipboard/copyToClipboard";
|
|
6
|
-
import { ANCHOR_TARGET } from "../../common/entities";
|
|
6
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE } from "../../common/entities";
|
|
7
7
|
import { isClientSideNavigation, isURLObjectWithHrefAndQuery, isURLString, } from "../../common/utils";
|
|
8
8
|
import { ExploreViewLink } from "./components/ExploreViewLink/exploreViewLink";
|
|
9
|
-
export const Link = ({ className, copyable = false, label, noWrap = false, onClick, target, TypographyProps, url, }) => {
|
|
9
|
+
export const Link = ({ className, copyable = false, label, noWrap = false, onClick, target, TypographyProps, url, ...props /* Spread props to allow for specific MuiLink prop overrides. */ }) => {
|
|
10
10
|
if (isURLObjectWithHrefAndQuery(url)) {
|
|
11
11
|
/* Internal navigation - explore link */
|
|
12
12
|
return (React.createElement(ExploreViewLink, { className: className, label: label, onClick: onClick, target: target, url: url }));
|
|
@@ -16,16 +16,16 @@ export const Link = ({ className, copyable = false, label, noWrap = false, onCli
|
|
|
16
16
|
/* Client-side navigation */
|
|
17
17
|
return (React.createElement(React.Fragment, null,
|
|
18
18
|
React.createElement(NLink, { href: url, legacyBehavior: true, passHref: true },
|
|
19
|
-
React.createElement(MLink, { className: className, rel:
|
|
19
|
+
React.createElement(MLink, { className: className, rel: REL_ATTRIBUTE.NO_OPENER, noWrap: noWrap, target: target || ANCHOR_TARGET.SELF, onClick: onClick, ...TypographyProps, ...props }, label)),
|
|
20
20
|
copyable && React.createElement(CopyToClipboard, { copyStr: url })));
|
|
21
21
|
}
|
|
22
22
|
if (isValidUrl(url)) {
|
|
23
23
|
/* External navigation */
|
|
24
24
|
return (React.createElement(React.Fragment, null,
|
|
25
|
-
React.createElement(MLink, { className: className, href: url, noWrap: noWrap, onClick: onClick, rel:
|
|
25
|
+
React.createElement(MLink, { className: className, href: url, noWrap: noWrap, onClick: onClick, rel: REL_ATTRIBUTE.NO_OPENER_NO_REFERRER, target: target || ANCHOR_TARGET.BLANK, ...TypographyProps, ...props }, label),
|
|
26
26
|
copyable && React.createElement(CopyToClipboard, { copyStr: url })));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
/* Invalid URL */
|
|
30
|
-
return (React.createElement(MTypography, { component: "span", variant: "inherit", ...TypographyProps }, label));
|
|
30
|
+
return (React.createElement(MTypography, { component: "span", variant: "inherit", ...TypographyProps, ...props }, label));
|
|
31
31
|
};
|
|
@@ -2,7 +2,7 @@ import EastRoundedIcon from "@mui/icons-material/EastRounded";
|
|
|
2
2
|
import WestRoundedIcon from "@mui/icons-material/WestRounded";
|
|
3
3
|
import { Typography } from "@mui/material";
|
|
4
4
|
import React from "react";
|
|
5
|
-
import {
|
|
5
|
+
import { IconButton } from "../../../common/IconButton/iconButton";
|
|
6
6
|
import { Stack } from "../../../common/Stack/stack";
|
|
7
7
|
import { Pagination as TablePagination } from "./pagination.styles";
|
|
8
8
|
export const Pagination = ({ canNextPage = true, canPreviousPage = true, currentPage, onNextPage, onPreviousPage, totalPage, }) => {
|
|
@@ -14,6 +14,6 @@ export const Pagination = ({ canNextPage = true, canPreviousPage = true, current
|
|
|
14
14
|
" of ",
|
|
15
15
|
totalPage)),
|
|
16
16
|
React.createElement(Stack, { direction: "row", gap: 2 },
|
|
17
|
-
React.createElement(
|
|
18
|
-
React.createElement(
|
|
17
|
+
React.createElement(IconButton, { color: "secondary", disabled: !canPreviousPage, Icon: WestRoundedIcon, onClick: onPreviousPage }),
|
|
18
|
+
React.createElement(IconButton, { color: "secondary", disabled: !canNextPage, Icon: EastRoundedIcon, onClick: onNextPage }))));
|
|
19
19
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import NLink from "next/link";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { ANCHOR_TARGET } from "../../../../Links/common/entities";
|
|
3
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE, } from "../../../../Links/common/entities";
|
|
4
4
|
import { isClientSideNavigation } from "../../../../Links/common/utils";
|
|
5
5
|
import { ButtonPrimary } from "../ButtonPrimary/buttonPrimary";
|
|
6
6
|
export const CallToActionButton = ({ ButtonElType: Button = ButtonPrimary, callToAction, className, disabled = false, }) => {
|
|
7
7
|
const { label, target, url } = callToAction;
|
|
8
8
|
const isInternal = isClientSideNavigation(url);
|
|
9
9
|
return isInternal ? (React.createElement(NLink, { href: url, legacyBehavior: true, passHref: true },
|
|
10
|
-
React.createElement(Button, { className: className, disabled: disabled, href: "passHref", rel:
|
|
10
|
+
React.createElement(Button, { className: className, disabled: disabled, href: "passHref", rel: REL_ATTRIBUTE.NO_OPENER, target: target || ANCHOR_TARGET.SELF }, label))) : (React.createElement(Button, { className: className, disabled: disabled, href: url, rel: REL_ATTRIBUTE.NO_OPENER_NO_REFERRER, target: target || ANCHOR_TARGET.BLANK }, label));
|
|
11
11
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import Link from "next/link";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { ANCHOR_TARGET } from "../../../../Links/common/entities";
|
|
3
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE, } from "../../../../Links/common/entities";
|
|
4
4
|
import { isClientSideNavigation } from "../../../../Links/common/utils";
|
|
5
5
|
import { HelpIcon } from "../../../CustomIcon/components/HelpIcon/helpIcon";
|
|
6
6
|
import { HelpIconButton as Button } from "./helpIconButton.styles";
|
|
7
7
|
export const HelpIconButton = ({ size = "small", target, url, }) => {
|
|
8
8
|
const isInternal = isClientSideNavigation(url);
|
|
9
9
|
return isInternal ? (React.createElement(Link, { href: url, legacyBehavior: true, passHref: true },
|
|
10
|
-
React.createElement(Button, { href: "passHref", rel:
|
|
11
|
-
React.createElement(HelpIcon, { fontSize: size })))) : (React.createElement(Button, { href: url, rel:
|
|
10
|
+
React.createElement(Button, { href: "passHref", rel: REL_ATTRIBUTE.NO_OPENER, target: target || ANCHOR_TARGET.SELF },
|
|
11
|
+
React.createElement(HelpIcon, { fontSize: size })))) : (React.createElement(Button, { href: url, rel: REL_ATTRIBUTE.NO_OPENER_NO_REFERRER, target: target || ANCHOR_TARGET.BLANK },
|
|
12
12
|
React.createElement(HelpIcon, { fontSize: size })));
|
|
13
13
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CardActionArea as MCardActionArea } from "@mui/material";
|
|
2
2
|
import { useRouter } from "next/router";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { ANCHOR_TARGET } from "../../../../Links/common/entities";
|
|
4
|
+
import { ANCHOR_TARGET, REL_ATTRIBUTE, } from "../../../../Links/common/entities";
|
|
5
5
|
import { isClientSideNavigation } from "../../../../Links/common/utils";
|
|
6
6
|
export const CardActionArea = ({ cardUrl, children, }) => {
|
|
7
7
|
const { push } = useRouter();
|
|
@@ -13,7 +13,7 @@ export const CardActionArea = ({ cardUrl, children, }) => {
|
|
|
13
13
|
push(url);
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
|
-
window.open(url, ANCHOR_TARGET.BLANK,
|
|
16
|
+
window.open(url, ANCHOR_TARGET.BLANK, REL_ATTRIBUTE.NO_OPENER_NO_REFERRER);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
};
|
|
@@ -32,19 +32,4 @@ export declare const Button: import("@emotion/styled").StyledComponent<{
|
|
|
32
32
|
}, keyof import("@mui/material/OverridableComponent").CommonProps | "tabIndex" | "color" | "children" | "sx" | "disabled" | "action" | "size" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge"> & {
|
|
33
33
|
theme?: import("@emotion/react").Theme | undefined;
|
|
34
34
|
} & Props, {}, {}>;
|
|
35
|
-
export declare const IconButtonPrimary: import("@emotion/styled").StyledComponent<import("./iconButton").IconButtonProps & {
|
|
36
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
37
|
-
}, {}, {}>;
|
|
38
|
-
export declare const IconButtonSecondary: import("@emotion/styled").StyledComponent<import("./iconButton").IconButtonProps & {
|
|
39
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
40
|
-
}, {}, {}>;
|
|
41
|
-
export declare const MockIconButtonPrimary: import("@emotion/styled").StyledComponent<{
|
|
42
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
43
|
-
as?: import("react").ElementType<any> | undefined;
|
|
44
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
|
|
45
|
-
export declare const CloseDrawerIconButton: import("@emotion/styled").StyledComponent<import("./iconButton").IconButtonProps & {
|
|
46
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
47
|
-
}, {}, {}>;
|
|
48
|
-
export declare const IconButtonSocials: import("@mui/material").ExtendButtonBase<import("@mui/material").IconButtonTypeMap<{}, "button">>;
|
|
49
|
-
export declare const IconButtonSocialsFooter: import("@mui/material").ExtendButtonBase<import("@mui/material").IconButtonTypeMap<{}, "button">>;
|
|
50
35
|
export {};
|