@hazelcast/ui 1.3.3-next.7 → 1.3.3-next.9
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/AppHeader/AppHeader.d.ts +14 -0
- package/lib/AppHeader/AppHeader.js +15 -0
- package/lib/AppHeader/AppHeader.js.map +1 -0
- package/lib/AppHeader/AppHeader.module.scss +25 -0
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.d.ts +12 -0
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.js +7 -0
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.js.map +1 -0
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss +29 -0
- package/lib/AppHeader/AppHeaderLogo/index.d.ts +1 -0
- package/lib/AppHeader/AppHeaderLogo/index.js +2 -0
- package/lib/AppHeader/AppHeaderLogo/index.js.map +1 -0
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.d.ts +7 -0
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.js +14 -0
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.js.map +1 -0
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss +11 -0
- package/lib/AppHeader/AppHeaderMenu/index.d.ts +1 -0
- package/lib/AppHeader/AppHeaderMenu/index.js +2 -0
- package/lib/AppHeader/AppHeaderMenu/index.js.map +1 -0
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.d.ts +5 -0
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.js +10 -0
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.js.map +1 -0
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss +13 -0
- package/lib/AppHeader/EnvironmentBadge/index.d.ts +1 -0
- package/lib/AppHeader/EnvironmentBadge/index.js +2 -0
- package/lib/AppHeader/EnvironmentBadge/index.js.map +1 -0
- package/lib/AppHeader/SelectCluster/SelectCluster.d.ts +9 -0
- package/lib/AppHeader/SelectCluster/SelectCluster.js +37 -0
- package/lib/AppHeader/SelectCluster/SelectCluster.js.map +1 -0
- package/lib/AppHeader/SelectCluster/SelectCluster.module.scss +99 -0
- package/lib/AppHeader/SelectCluster/index.d.ts +1 -0
- package/lib/AppHeader/SelectCluster/index.js +2 -0
- package/lib/AppHeader/SelectCluster/index.js.map +1 -0
- package/lib/AppHeader/index.d.ts +1 -0
- package/lib/AppHeader/index.js +2 -0
- package/lib/AppHeader/index.js.map +1 -0
- package/lib/AppSidebar/AppSidebar.d.ts +10 -0
- package/lib/AppSidebar/AppSidebar.js +31 -0
- package/lib/AppSidebar/AppSidebar.js.map +1 -0
- package/lib/AppSidebar/AppSidebar.module.scss +64 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.d.ts +6 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js +22 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js.map +1 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss +16 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/index.d.ts +1 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/index.js +2 -0
- package/lib/AppSidebar/AppSidebarFavoriteButton/index.js.map +1 -0
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.d.ts +7 -0
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js +11 -0
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js.map +1 -0
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss +12 -0
- package/lib/AppSidebar/AppSidebarFavorites/index.d.ts +1 -0
- package/lib/AppSidebar/AppSidebarFavorites/index.js +2 -0
- package/lib/AppSidebar/AppSidebarFavorites/index.js.map +1 -0
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.d.ts +30 -0
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.js +25 -0
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.js.map +1 -0
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss +86 -0
- package/lib/AppSidebar/AppSidebarItem/index.d.ts +1 -0
- package/lib/AppSidebar/AppSidebarItem/index.js +2 -0
- package/lib/AppSidebar/AppSidebarItem/index.js.map +1 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.d.ts +6 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js +6 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js.map +1 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss +24 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/index.d.ts +1 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/index.js +2 -0
- package/lib/AppSidebar/AppSidebarMenuItemCounter/index.js.map +1 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.d.ts +12 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.js +15 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.js.map +1 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss +55 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.d.ts +11 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js +45 -0
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js.map +1 -0
- package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.d.ts +2 -0
- package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.js +3 -0
- package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.js.map +1 -0
- package/lib/AppSidebar/AppSidebarSection/index.d.ts +1 -0
- package/lib/AppSidebar/AppSidebarSection/index.js +2 -0
- package/lib/AppSidebar/AppSidebarSection/index.js.map +1 -0
- package/lib/AppSidebar/appSidebarContext.d.ts +10 -0
- package/lib/AppSidebar/appSidebarContext.js +11 -0
- package/lib/AppSidebar/appSidebarContext.js.map +1 -0
- package/lib/AppSidebar/index.d.ts +5 -0
- package/lib/AppSidebar/index.js +6 -0
- package/lib/AppSidebar/index.js.map +1 -0
- package/lib/Button.d.ts +5 -2
- package/lib/Button.js +10 -9
- package/lib/Button.js.map +1 -1
- package/lib/Button.module.scss +30 -1
- package/lib/CenteredLoader.d.ts +5 -0
- package/lib/CenteredLoader.js +6 -0
- package/lib/CenteredLoader.js.map +1 -0
- package/lib/CenteredLoader.module.scss +11 -0
- package/lib/Link.d.ts +1 -1
- package/lib/Link.js +1 -0
- package/lib/Link.js.map +1 -1
- package/lib/Link.module.scss +4 -0
- package/lib/Overlay.module.scss +1 -1
- package/lib/Select/Common.js +8 -12
- package/lib/Select/Common.js.map +1 -1
- package/lib/Select/Common.module.scss +1 -1
- package/lib/Select/SelectField.d.ts +1 -0
- package/lib/Select/SelectField.js.map +1 -1
- package/lib/Tooltip.d.ts +2 -0
- package/lib/Tooltip.js +20 -13
- package/lib/Tooltip.js.map +1 -1
- package/lib/Tooltip.module.scss +94 -70
- package/package.json +9 -3
- package/styles/constants/_colors.scss +5 -1
- package/styles/helpers/_a11y.scss +8 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AppHeaderMenuProps } from './AppHeaderMenu';
|
|
3
|
+
import { AppHeaderLogoProps } from './AppHeaderLogo';
|
|
4
|
+
import { SelectClusterProps } from './SelectCluster';
|
|
5
|
+
export interface AppHeaderProps {
|
|
6
|
+
name: ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
environment?: 'production';
|
|
10
|
+
logoProps: AppHeaderLogoProps;
|
|
11
|
+
clusterSelectProps?: SelectClusterProps;
|
|
12
|
+
menuContent?: AppHeaderMenuProps['children'];
|
|
13
|
+
}
|
|
14
|
+
export declare const AppHeader: ({ name, className, children, environment, clusterSelectProps, logoProps, menuContent }: AppHeaderProps) => JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cls from 'classnames';
|
|
3
|
+
import { EnvironmentBadge } from './EnvironmentBadge';
|
|
4
|
+
import { AppHeaderMenu } from './AppHeaderMenu';
|
|
5
|
+
import { AppHeaderLogo } from './AppHeaderLogo';
|
|
6
|
+
import { SelectCluster } from './SelectCluster';
|
|
7
|
+
import styles from './AppHeader.module.scss';
|
|
8
|
+
export const AppHeader = ({ name, className, children, environment, clusterSelectProps, logoProps, menuContent }) => (React.createElement("header", { className: cls(styles.root, className) },
|
|
9
|
+
React.createElement(AppHeaderLogo, { ...logoProps }),
|
|
10
|
+
React.createElement("span", { className: styles.name }, name),
|
|
11
|
+
clusterSelectProps && React.createElement(SelectCluster, { ...clusterSelectProps }),
|
|
12
|
+
children,
|
|
13
|
+
environment && React.createElement(EnvironmentBadge, { environment: environment }),
|
|
14
|
+
React.createElement("div", { className: styles.aside }, menuContent && React.createElement(AppHeaderMenu, null, menuContent))));
|
|
15
|
+
//# sourceMappingURL=AppHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppHeader.js","sourceRoot":"","sources":["../../src/AppHeader/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,GAAG,MAAM,YAAY,CAAA;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAA;AAEnE,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAY5C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAkB,EAAE,EAAE,CAAC,CACnI,gCAAQ,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;IAC5C,oBAAC,aAAa,OAAK,SAAS,GAAI;IAChC,8BAAM,SAAS,EAAE,MAAM,CAAC,IAAI,IAAG,IAAI,CAAQ;IAC1C,kBAAkB,IAAI,oBAAC,aAAa,OAAK,kBAAkB,GAAI;IAC/D,QAAQ;IACR,WAAW,IAAI,oBAAC,gBAAgB,IAAC,WAAW,EAAE,WAAW,GAAI;IAC9D,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK,IAAG,WAAW,IAAI,oBAAC,aAAa,QAAE,WAAW,CAAiB,CAAO,CAC1F,CACV,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@use '../../styles/constants' as c;
|
|
2
|
+
|
|
3
|
+
.root {
|
|
4
|
+
background: c.$brandSecondary;
|
|
5
|
+
color: c.$colorNeutralLighter;
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
height: 59px;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
width: 100%;
|
|
12
|
+
padding: 0 c.$grid * 5;
|
|
13
|
+
overflow-x: auto;
|
|
14
|
+
flex-shrink: 0;
|
|
15
|
+
gap: c.$grid * 5;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.name {
|
|
19
|
+
color: c.$brandPrimary;
|
|
20
|
+
font-weight: 600;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.aside {
|
|
24
|
+
margin-left: auto;
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentType, HTMLAttributes, ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { DataTestProp } from '@hazelcast/helpers';
|
|
3
|
+
export interface LinkProps extends DataTestProp {
|
|
4
|
+
className?: string;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export interface AppHeaderLogoProps {
|
|
8
|
+
wrapperProps?: HTMLAttributes<HTMLDivElement>;
|
|
9
|
+
imgProps?: ImgHTMLAttributes<HTMLImageElement>;
|
|
10
|
+
LinkComponent: ComponentType<LinkProps>;
|
|
11
|
+
}
|
|
12
|
+
export declare const AppHeaderLogo: ({ imgProps, wrapperProps, LinkComponent }: AppHeaderLogoProps) => JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cls from 'classnames';
|
|
3
|
+
import styles from './AppHeaderLogo.module.scss';
|
|
4
|
+
export const AppHeaderLogo = ({ imgProps, wrapperProps, LinkComponent }) => (React.createElement("div", { ...wrapperProps, className: cls(styles.root, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className) },
|
|
5
|
+
React.createElement(LinkComponent, { className: styles.link, "data-test": "logo-link" },
|
|
6
|
+
React.createElement("img", { alt: "Home", src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDExIiBoZWlnaHQ9IjU1IiB2aWV3Qm94PSIwIDAgNDExIDU1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE1NTNfMTgyMDMpIj4KICAgICAgICA8cGF0aCBkPSJNMjUwLjg4IDkuNDUzNDRDMjUzLjU5NiA4LjAyNzUgMjU2LjU0NSA3LjMwMjIxIDI1OS42NDcgNy4zMDIyMUMyNjIuOTYxIDcuMzAyMjEgMjY2LjEwOCA4LjEwODQ4IDI2OS4wMzMgOS43MjEwMkMyNjkuNzQzIDEwLjA1OSAyNzAuMzMxIDEwLjIyMSAyNzAuODMgMTAuMjIxQzI3MS42NTMgMTAuMjIxIDI3Mi4zNDMgOS44NzI0MiAyNzIuODE4IDkuMjE0MDJDMjczLjI1OSA4LjYwNDkyIDI3My40ODQgNy44NzYxIDI3My40ODQgNy4wNDE2N0MyNzMuNDg0IDUuNDgxOTQgMjcyLjg2OSA0LjI3NzgxIDI3MS42NSAzLjQ2MDk4QzI2OS45NjUgMi4zNTg5NiAyNjguMDM1IDEuNDk2MzUgMjY1LjkwNiAwLjg5NzgxMkMyNjMuNzg0IDAuMjk5MjcxIDI2MS41NjcgMCAyNTkuMzEyIDBDMjU1LjE2OCAwIDI1MS4xNTYgMC45OTI4NzUgMjQ3LjM5NSAyLjk1Mzk4QzI0My42MTMgNC45MjU2NSAyNDAuNDkzIDcuOTk1ODEgMjM4LjExOSAxMi4wOEMyMzUuNzQ3IDE2LjE2MDYgMjM0LjU0OCAyMS4yMTY1IDIzNC41NDggMjcuMTA2OUMyMzQuNTQ4IDMyLjk5NzIgMjM1Ljc1MSAzNy45OTMzIDIzOC4xMTkgNDIuMDk1MUMyNDAuNDkgNDYuMjAzOSAyNDMuNTk1IDQ5LjMwOTMgMjQ3LjM1NCA1MS4zMzAyQzI1MS4wOTUgNTMuMzQ0MSAyNTUuMDk2IDU0LjM2MTcgMjU5LjI0NCA1NC4zNjE3QzI2My45NDUgNTQuMzYxNyAyNjguMTIgNTMuMTQ3IDI3MS42MjYgNTAuNzY2OUMyNzIuMjE3IDUwLjQxMTMgMjcyLjY4MiA0OS45MTQ5IDI3My4wMDYgNDkuMjkxN0MyNzMuMzI0IDQ4LjY4MjYgMjczLjQ4NCA0OC4wNDE4IDI3My40ODQgNDcuMzkwNEMyNzMuNDg0IDQ2LjQ5OTYgMjczLjIzNSA0NS43MjUxIDI3Mi43NCA0NS4wOTEzQzI3Mi4yMTcgNDQuNDIyNCAyNzEuNTEzIDQ0LjA2NjcgMjcwLjY5NiA0NC4wNjY3QzI3MC4xMzYgNDQuMDY2NyAyNjkuNiA0NC4yMjE3IDI2OS4xMjUgNDQuNTEzOUMyNjYuMTQ5IDQ2LjE1NDYgMjYyLjk1OCA0Ni45ODU1IDI1OS42NDQgNDYuOTg1NUMyNTYuNSA0Ni45ODU1IDI1My41MzEgNDYuMjM5MSAyNTAuODE4IDQ0Ljc2NzRDMjQ4LjEyMyA0My4zMDYyIDI0NS45MTkgNDEuMDUyOSAyNDQuMjcyIDM4LjA3MDhDMjQyLjYxOCAzNS4wODE2IDI0MS43ODEgMzEuMzkxNyAyNDEuNzgxIDI3LjExMDRDMjQxLjc4MSAyMi44MjkxIDI0Mi42MjkgMTkuMDEyNSAyNDQuMzAzIDE2LjA0OEMyNDUuOTcgMTMuMDkwNSAyNDguMTg0IDEwLjg3NTkgMjUwLjg3NiA5LjQ2MDQ4TDI1MC44OCA5LjQ1MzQ0WiIgZmlsbD0iI0YwRjZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjEuMTU2IDEwLjg0MDdDMzYyLjk5MSA5LjcyMTA4IDM2NC4yMjEgNy40MjkwMSAzNTkuMjA1IDMuMTc1ODVDMzU5LjE3OCAzLjE1NDcyIDM1OS4xNTEgMy4xMzM2IDM1OS4xMjMgMy4xMDg5NUMzNTYuNTIzIDEuMDU5ODMgMzUzLjI4MSAwLjA3NzUxNDYgMzQ5LjU2MyAwLjA3NzUxNDZDMzQ2LjgwMyAwLjA3NzUxNDYgMzQ0LjI3NCAwLjY0Nzg5IDM0Mi4wNDcgMS43NzgwOEMzMzkuNzk1IDIuOTE1MzEgMzM4LjAwMSA0LjU3MzYyIDMzNi43MTcgNi43MDM3MkMzMzUuNDI5IDguODMzODMgMzM0Ljc3NiAxMS4yOTg0IDMzNC43NzYgMTQuMDI3MUMzMzQuNzc2IDE3LjAwOTIgMzM1LjQ1NiAxOS41NDA3IDMzNi43OTkgMjEuNTU0NkMzMzguMTE0IDIzLjUyOTggMzM5LjcyNyAyNS4xNDIzIDM0MS41OTIgMjYuMzQ2NUMzNDMuNDA3IDI3LjUxODkgMzQ1LjgyMiAyOC44MDA1IDM0OC43NjQgMzAuMTU2QzM1MS4wOTcgMzEuMjU0NSAzNTIuOTgzIDMyLjIxOTIgMzU0LjM2IDMzLjAyNTVDMzU1LjY4MyAzMy44MDAxIDM1Ni43OTYgMzQuNzc4OCAzNTcuNjgxIDM1LjkzMDJDMzU4LjUzNiAzNy4wNDYzIDM1OC45NDkgMzguMzU5NSAzNTguOTQ5IDM5Ljk1MUMzNTguOTQ5IDQyLjIxODQgMzU4LjE4NyA0My45ODkzIDM1Ni42MjIgNDUuMzU5QzM1NS4wNDQgNDYuNzM5MSAzNTIuODY3IDQ3LjQ0MzMgMzUwLjE1MSA0Ny40NDMzQzM0Ny44NTIgNDcuNDQzMyAzNDYuMDg1IDQ3LjIwMDMgMzQ0LjE4MiA0Ni4wODQyQzM0My42MzIgNDUuNzYwMyAzNDIuOTA0IDQ1LjE1MTIgMzQyLjE1NiA0NC4zMDk3QzMzOS44NDMgNDEuNzIxOSAzMzkuMTYgNDAuMTMwNSAzMzYuNzEzIDQwLjc4MTlDMzM0Ljg0MSA0MS4yODE4IDMzMy44NzEgNDMuNDgyMyAzMzQuNzY2IDQ2LjAxMDNDMzM1Ljk1MSA0OS4zNTg2IDMzOS44NTcgNTEuNjI5NiAzMzkuODU3IDUxLjYyOTZDMzQyLjc0NyA1My41OTQyIDM0Ni4yNjMgNTQuMzMgMzUwLjE0OCA1NC4zM0MzNTMuMjUgNTQuMzMgMzU2LjA2MiA1My43MzUgMzU4LjUwOCA1Mi41NjYxQzM2MC45NzggNTEuMzgzMSAzNjIuOTQgNDkuNjU0NCAzNjQuMzM3IDQ3LjQyOTJDMzY1Ljc0MSA0NS4yMDA1IDM2Ni40NTIgNDIuNTYzNCAzNjYuNDUyIDM5LjU4ODNDMzY2LjQ1MiAzNi42MTMyIDM2NS43ODIgMzQuMDg4OCAzNjQuNDYgMzIuMDk2QzM2My4xNjIgMzAuMTM4NCAzNjEuNTU2IDI4LjU3MTYgMzU5LjY4IDI3LjQzNzlDMzU3Ljg2OSAyNi4zNDI5IDM1NS40NTcgMjUuMTI0NyAzNTIuNTA1IDIzLjgxMTVDMzUwLjA5IDIyLjc2NTggMzQ4LjE1NiAyMS44MjU3IDM0Ni43NTggMjEuMDE5NEMzNDUuNDE5IDIwLjI0ODQgMzQ0LjI4MSAxOS4yNDg1IDM0My4zNzkgMTguMDQ3OEMzNDIuNTAxIDE2Ljg4NiAzNDIuMDc3IDE1LjQ5NTIgMzQyLjA3NyAxMy44MDUyQzM0Mi4wNzcgMTEuNjg1NyAzNDIuNzcxIDEwLjA2MjYgMzQ0LjE5OSA4LjgzNzM1QzM0NS42NDggNy41OTgwMSAzNDcuNDcyIDYuOTY3NzkgMzQ5LjYyNSA2Ljk2Nzc5QzM1MS43NzcgNi45Njc3OSAzNTMuMzgzIDcuNzAwMTIgMzU0Ljg4NyA4LjgwMjE0QzM1NC45NzUgOC44NjkwMyAzNTUuODAyIDkuNjE1NDUgMzU1LjgwMiA5LjYxNTQ1QzM1OC41NzcgMTIuMjkxMyAzNjEuMTQ5IDEwLjg0MDcgMzYxLjE0OSAxMC44NDA3SDM2MS4xNTZaIiBmaWxsPSIjRjBGNkZGIi8+CiAgICAgICAgPHBhdGggZD0iTTMzLjY3MjMgMC44ODAxMjdDMzEuNzE0NiAwLjg4MDEyNyAzMC4xMjkzIDIuNTEzNzkgMzAuMTI5MyA0LjUzMTIzVjIzLjYxNzdINy4zNzA4NFY0LjUzMTIzQzcuMzcwODQgMi41MTM3OSA1Ljc4NTUgMC44ODAxMjcgMy44Mjc3NSAwLjg4MDEyN0MxLjg3IDAuODgwMTI3IDAuMjg0NjY4IDIuNTEzNzkgMC4yODQ2NjggNC41MzEyM1Y0OS44NzZDMC4yODQ2NjggNTEuODkzNSAxLjg3IDUzLjUyNzEgMy44Mjc3NSA1My41MjcxQzUuNzg1NSA1My41MjcxIDcuMzcwODQgNTEuODkzNSA3LjM3MDg0IDQ5Ljg3NlYzMC43NDc0SDMwLjEyOTNWNDkuODc2QzMwLjEyOTMgNTEuODkzNSAzMS43MTQ2IDUzLjUyNzEgMzMuNjcyMyA1My41MjcxQzM1LjYzMDEgNTMuNTI3MSAzNy4yMTU0IDUxLjg5MzUgMzcuMjE1NCA0OS44NzZWNC41MzEyM0MzNy4yMTU0IDIuNTEzNzkgMzUuNjMwMSAwLjg4MDEyNyAzMy42NzIzIDAuODgwMTI3WiIgZmlsbD0iI0YwRjZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik04OC44NzE3IDQ4LjYzNjhMNzQuNDUgNC42MTkzOEM3NC4wNzA3IDMuNTIwODggNzMuNTIwNiAyLjYyNjU5IDcyLjgyMDIgMS45NTc2M0M3Mi4wNzIgMS4yNDk5NCA3MS4yMTc4IDAuODg3Mjk5IDcwLjI3ODIgMC44ODcyOTlINjguNzg4NkM2Ny45MzQ0IDAuODg3Mjk5IDY3LjExMSAxLjI2MDUxIDY2LjM0MjIgMS45OTI4NEM2NS42MTQ1IDIuNjg5OTcgNjUuMDc0NiAzLjU3NzIyIDY0LjczOTggNC42Mjk5NEw2MC4zOTcyIDE3LjkzMTdMNjMuNzYyNiAyOC44Njc0QzY2LjUzMzUgMTkuMjkwNyA2OS41MTk3IDEwLjkyODcgNjkuNjYzMiAxMC40NDY0TDgyLjA0ODYgNTAuOTM1OUM4Mi42NTM0IDUyLjkxODIgODQuNzIzOSA1My45OTkxIDg2LjYzMDQgNTMuMzMwMUM4OC41MDYxIDUyLjY3MTcgODkuNTEwNiA1MC41NzMzIDg4Ljg3NTEgNDguNjQwNEw4OC44NzE3IDQ4LjYzNjhaIiBmaWxsPSIjRjBGNkZGIi8+CiAgICAgICAgPHBhdGggZD0iTTU3LjY2MDUgMjYuNjI4MUw1MC40NTEzIDQ4LjYzNjlDNDkuODE1OCA1MC41Njk4IDUwLjgyMDMgNTIuNjY4MiA1Mi42OTYxIDUzLjMyNjZDNTQuNjA2IDUzLjk5NTYgNTYuNjczMSA1Mi45MTQ3IDU3LjI3NzggNTAuOTMyNEw2MS4xNjk0IDM3LjYzNDNMNTcuNjYwNSAyNi42MjQ2VjI2LjYyODFaIiBmaWxsPSIjMTBBNEIzIi8+CiAgICAgICAgPHBhdGggZD0iTTMyNC4zNDkgNDguNjM2OEwzMDkuOTI3IDQuNjE5MzhDMzA5LjU0OCAzLjUyMDg4IDMwOC45OTggMi42MjY1OSAzMDguMjk3IDEuOTU3NjNDMzA3LjU0OSAxLjI0OTk0IDMwNi42OTUgMC44ODcyOTkgMzA1Ljc1NSAwLjg4NzI5OUgzMDQuMjY2QzMwMy40MTEgMC44ODcyOTkgMzAyLjU4OCAxLjI2MDUxIDMwMS44MTkgMS45OTI4NEMzMDEuMDkyIDIuNjg5OTcgMzAwLjU1MiAzLjU3NzIyIDMwMC4yMTcgNC42Mjk5NEwyOTUuODc0IDE3LjkzMTdMMjk5LjI0IDI4Ljg2NzRDMzAyLjAxMSAxOS4yOTA3IDMwNC45OTcgMTAuOTI4NyAzMDUuMTQgMTAuNDQ2NEwzMTcuNTI2IDUwLjkzNTlDMzE4LjEzIDUyLjkxODIgMzIwLjIwMSA1My45OTkxIDMyMi4xMDcgNTMuMzMwMUMzMjMuOTgzIDUyLjY3MTcgMzI0Ljk4OCA1MC41NzMzIDMyNC4zNTIgNDguNjQwNEwzMjQuMzQ5IDQ4LjYzNjhaIiBmaWxsPSIjRjBGNkZGIi8+CiAgICAgICAgPHBhdGggZD0iTTI5My4xMzggMjYuNjI4MUwyODUuOTI4IDQ4LjYzNjlDMjg1LjI5MyA1MC41Njk4IDI4Ni4yOTcgNTIuNjY4MiAyODguMTczIDUzLjMyNjZDMjkwLjA4MyA1My45OTU2IDI5Mi4xNSA1Mi45MTQ3IDI5Mi43NTUgNTAuOTMyNEwyOTYuNjQ2IDM3LjYzNDNMMjkzLjEzOCAyNi42MjQ2VjI2LjYyODFaIiBmaWxsPSIjMTBBNEIzIi8+CiAgICAgICAgPHBhdGggZD0iTTEzMy40MTkgNDYuNDQzNEgxMTAuOTI3TDEzNS4yNTMgNS42OTMyMkMxMzUuNzE1IDQuOTAxMDQgMTM1Ljk0IDQuMjE4IDEzNS45NCAzLjYwMTg1QzEzNS45NCAyLjgyMDIyIDEzNS42MTkgMi4xMzM2NiAxMzUuMDA0IDEuNjE5NjJDMTM0LjQyNyAxLjEzMzc1IDEzMy42NTggMC44OTA4MDggMTMyLjcyMiAwLjg5MDgwOEgxMDMuNzMxQzEwMS44MzIgMC44OTA4MDggMTAwLjI5NCAyLjQ3NTE4IDEwMC4yOTQgNC40MzI3N0MxMDAuMjk0IDYuMzkwMzUgMTAxLjgzMiA3Ljk3NDcyIDEwMy43MzEgNy45NzQ3MkgxMjYuMTUxTDEwMS42NDQgNDguNzA3MkMxMDEuMTgyIDQ5LjQ0MzEgMTAwLjk0NyA1MC4xNTQzIDEwMC45NDcgNTAuODE5N0MxMDAuOTQ3IDUxLjY1NDIgMTAxLjI2MSA1Mi4zNTEzIDEwMS44NTIgNTIuODQwN0MxMDIuNDA2IDUzLjI5ODQgMTAzLjE2MSA1My41MzA4IDEwNC4wOTcgNTMuNTMwOEgxMzMuNDE1QzEzNS4zMTUgNTMuNTMwOCAxMzYuODUyIDUxLjk0NjQgMTM2Ljg1MiA0OS45ODg4QzEzNi44NTIgNDguMDMxMiAxMzUuMzE1IDQ2LjQ0NjkgMTMzLjQxNSA0Ni40NDY5TDEzMy40MTkgNDYuNDQzNFoiIGZpbGw9IiNGMEY2RkYiLz4KICAgICAgICA8cGF0aCBkPSJNMTg3LjYwMyA0LjM5NzQ1QzE4Ny42MDMgMi40MjkzIDE4Ni4wNTYgMC44MzA4NDEgMTg0LjE0MiAwLjgzMDg0MUgxNTcuNDA3QzE1NS41NDEgMC44MzA4NDEgMTU0LjAzMSAyLjM4NzA1IDE1NC4wMzEgNC4zMDk0MlY3Ljk2MDUzSDE4NC4xNDZDMTg2LjA1NiA3Ljk2MDUzIDE4Ny42MDcgNi4zNjU1OSAxODcuNjA3IDQuMzkzOTJMMTg3LjYwMyA0LjM5NzQ1WiIgZmlsbD0iI0YwRjZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xODQuMzMgNDYuMzk3NkgxNTQuMjE2VjUwLjA0ODdDMTU0LjIxNiA1MS45NzEgMTU1LjcyNiA1My41MjcyIDE1Ny41OTIgNTMuNTI3MkgxODQuMzI3QzE4Ni4yMzcgNTMuNTI3MiAxODcuNzg4IDUxLjkzMjMgMTg3Ljc4OCA0OS45NjA2QzE4Ny43ODggNDcuOTg5IDE4Ni4yNCA0Ni4zOTQgMTg0LjMyNyA0Ni4zOTRMMTg0LjMzIDQ2LjM5NzZaIiBmaWxsPSIjRjBGNkZGIi8+CiAgICAgICAgPHBhdGggZD0iTTE4NC4zMyAyMy42MTQySDE0NS43OFYzMC43NDM5SDE4NC4zM0MxODYuMjQgMzAuNzQzOSAxODcuNzkxIDI5LjE0OSAxODcuNzkxIDI3LjE3NzNDMTg3Ljc5MSAyNS4yMDkxIDE4Ni4yNDMgMjMuNjEwNyAxODQuMzMgMjMuNjEwN1YyMy42MTQyWiIgZmlsbD0iI0YwRjZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjUuNTMyIDQ2LjM5NzVIMjA4LjE0OFY0LjU4MDUzQzIwOC4xNDggMi41MzQ5MyAyMDYuNTM5IDAuODc2NjE3IDIwNC41NTMgMC44NzY2MTdDMjAyLjU2OCAwLjg3NjYxNyAyMDAuOTU5IDIuNTM0OTMgMjAwLjk1OSA0LjU4MDUzVjUwLjA0NTFDMjAwLjk1OSA1MS45Njc0IDIwMi40NjkgNTMuNTIzNiAyMDQuMzM1IDUzLjUyMzZIMjI1LjUyOEMyMjcuNDM4IDUzLjUyMzYgMjI4Ljk4OSA1MS45Mjg3IDIyOC45ODkgNDkuOTU3QzIyOC45ODkgNDcuOTg1NCAyMjcuNDQyIDQ2LjM5MDQgMjI1LjUyOCA0Ni4zOTA0TDIyNS41MzIgNDYuMzk3NVoiIGZpbGw9IiNGMEY2RkYiLz4KICAgICAgICA8cGF0aCBkPSJNNDAzLjQxIDAuODgwMTM4SDM3Ni43MzNDMzc0LjgyMyAwLjg4MDEzOCAzNzMuMjcyIDIuNDc1MDggMzczLjI3MiA0LjQ0Njc0QzM3My4yNzIgNi40MTg0MSAzNzQuODE5IDguMDEzMzUgMzc2LjczMyA4LjAxMzM1SDM4Ni40NzdWNDkuODMwM0MzODYuNDc3IDUxLjg3NTkgMzg4LjA4NiA1My41MzQyIDM5MC4wNzEgNTMuNTM0MkMzOTIuMDU2IDUzLjUzNDIgMzkzLjY2NiA1MS44NzU5IDM5My42NjYgNDkuODMwM1Y4LjAwOTgzSDQwMy40MUM0MDUuMzIgOC4wMDk4MyA0MDYuODcxIDYuNDE0ODkgNDA2Ljg3MSA0LjQ0MzIyQzQwNi44NzEgMi40NzE1NSA0MDUuMzIzIDAuODc2NjE3IDQwMy40MSAwLjg3NjYxN1YwLjg4MDEzOFoiIGZpbGw9IiNGMEY2RkYiLz4KICAgIDwvZz4KICAgIDxkZWZzPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMTU1M18xODIwMyI+CiAgICAgICAgICAgIDxyZWN0IHdpZHRoPSI0MTAiIGhlaWdodD0iNTUiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjI4NDY2OCkiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgPC9kZWZzPgo8L3N2Zz4K", ...imgProps }))));
|
|
7
|
+
//# sourceMappingURL=AppHeaderLogo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppHeaderLogo.js","sourceRoot":"","sources":["../../../src/AppHeader/AppHeaderLogo/AppHeaderLogo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAA;AAC1F,OAAO,GAAG,MAAM,YAAY,CAAA;AAG5B,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAahD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAsB,EAAE,EAAE,CAAC,CAC9F,gCAAS,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC;IACzE,oBAAC,aAAa,IAAC,SAAS,EAAE,MAAM,CAAC,IAAI,eAAY,WAAW;QAC1D,6BACE,GAAG,EAAC,MAAM,EACV,GAAG,EAAC,w0SAAw0S,KACx0S,QAAQ,GACZ,CACY,CACZ,CACP,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@use '../../../styles/helpers' as h;
|
|
2
|
+
|
|
3
|
+
.root {
|
|
4
|
+
flex: 0 0 auto;
|
|
5
|
+
display: flex;
|
|
6
|
+
justify-content: center;
|
|
7
|
+
align-items: center;
|
|
8
|
+
height: 17px;
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
|
|
11
|
+
.link {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
max-height: 100%;
|
|
15
|
+
|
|
16
|
+
&:focus {
|
|
17
|
+
outline: none;
|
|
18
|
+
|
|
19
|
+
@include h.outlineSimple;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
img {
|
|
23
|
+
height: auto;
|
|
24
|
+
width: auto;
|
|
25
|
+
max-width: 100%;
|
|
26
|
+
max-height: 100%;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AppHeaderLogo';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppHeader/AppHeaderLogo/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { Menu as MenuIcon } from 'react-feather';
|
|
3
|
+
import { Button } from '../../Button';
|
|
4
|
+
import { Popover } from '../../Popover';
|
|
5
|
+
import { useOpenCloseState } from '../../hooks';
|
|
6
|
+
import styles from './AppHeaderMenu.module.scss';
|
|
7
|
+
export const AppHeaderMenu = ({ children }) => {
|
|
8
|
+
const [anchorElement, setAnchorElement] = useState();
|
|
9
|
+
const { isOpen, toggle, close } = useOpenCloseState();
|
|
10
|
+
return (React.createElement(React.Fragment, null,
|
|
11
|
+
React.createElement(Button, { variant: "text", color: "light", iconSize: "medium", onClick: toggle, iconRight: MenuIcon, ref: setAnchorElement, "data-test": "app-header-menu-toggle", iconRightAriaLabel: "menu icon", className: styles.toggleButton }, "Menu"),
|
|
12
|
+
React.createElement(Popover, { open: isOpen, anchorElement: anchorElement, onClose: close, className: styles.content }, children({ onClose: close }))));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=AppHeaderMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppHeaderMenu.js","sourceRoot":"","sources":["../../../src/AppHeader/AppHeaderMenu/AppHeaderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAMhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAsB,EAAE,EAAE;IAChE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAsB,CAAA;IACxE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAErD,OAAO,CACL;QACE,oBAAC,MAAM,IACL,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EACb,QAAQ,EAAC,QAAQ,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,EACnB,GAAG,EAAE,gBAAgB,eACX,wBAAwB,EAClC,kBAAkB,EAAC,WAAW,EAC9B,SAAS,EAAE,MAAM,CAAC,YAAY,WAGvB;QACT,oBAAC,OAAO,IAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,IAC3F,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACrB,CACT,CACJ,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AppHeaderMenu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppHeader/AppHeaderMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box } from 'react-feather';
|
|
3
|
+
import { Icon } from '../../Icon';
|
|
4
|
+
import styles from './EnvironmentBadge.module.scss';
|
|
5
|
+
export const EnvironmentBadge = ({ environment }) => {
|
|
6
|
+
return (React.createElement("span", { className: styles.root, "data-test": "environment-badge" },
|
|
7
|
+
React.createElement(Icon, { icon: Box }),
|
|
8
|
+
environment));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=EnvironmentBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentBadge.js","sourceRoot":"","sources":["../../../src/AppHeader/EnvironmentBadge/EnvironmentBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,MAAM,MAAM,gCAAgC,CAAA;AAMnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,WAAW,EAAyB,EAAE,EAAE;IACzE,OAAO,CACL,8BAAM,SAAS,EAAE,MAAM,CAAC,IAAI,eAAY,mBAAmB;QACzD,oBAAC,IAAI,IAAC,IAAI,EAAE,GAAG,GAAI;QAClB,WAAW,CACP,CACR,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@use '../../../styles/constants' as c;
|
|
2
|
+
|
|
3
|
+
.root {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
gap: c.$grid * 2;
|
|
7
|
+
color: #000;
|
|
8
|
+
background: c.$colorError;
|
|
9
|
+
border-radius: c.$grid * 3.5;
|
|
10
|
+
padding: 0 c.$grid * 3;
|
|
11
|
+
height: c.$grid * 7;
|
|
12
|
+
text-transform: capitalize;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './EnvironmentBadge';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppHeader/EnvironmentBadge/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
export type SelectClusterProps = {
|
|
3
|
+
clusterVersions?: Record<string, string | null> | null;
|
|
4
|
+
clusterName: string | null;
|
|
5
|
+
clusterNames: string[] | null;
|
|
6
|
+
isReadOnly?: boolean;
|
|
7
|
+
onChange: (value: string | null) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const SelectCluster: FC<SelectClusterProps>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import cn from 'classnames';
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
|
+
import { CheckCircle } from 'react-feather';
|
|
4
|
+
import { SelectField } from '../../Select';
|
|
5
|
+
import { CenteredLoader } from '../../CenteredLoader';
|
|
6
|
+
import styles from './SelectCluster.module.scss';
|
|
7
|
+
const getSafeValue = (clusterName, clusterNames) => {
|
|
8
|
+
if (!(clusterNames === null || clusterNames === void 0 ? void 0 : clusterNames.length)) {
|
|
9
|
+
return { status: 'disabled', value: 'No Clusters' };
|
|
10
|
+
}
|
|
11
|
+
if (!clusterName) {
|
|
12
|
+
return {
|
|
13
|
+
status: 'disconnected',
|
|
14
|
+
value: 'Select Cluster',
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
status: clusterNames.includes(clusterName) ? 'connected' : 'disconnected',
|
|
19
|
+
value: clusterName,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export const SelectCluster = ({ clusterVersions, clusterName, clusterNames, isReadOnly, onChange }) => {
|
|
23
|
+
const options = useMemo(() => (clusterNames !== null && clusterNames !== void 0 ? clusterNames : []).map((name) => ({
|
|
24
|
+
label: name,
|
|
25
|
+
value: name,
|
|
26
|
+
trailingNote: clusterVersions && clusterVersions[name] ? (React.createElement("span", { "data-test": "cluster-version" }, clusterVersions[name])) : (React.createElement(CenteredLoader, { size: "small" })),
|
|
27
|
+
})), [clusterVersions, clusterNames]);
|
|
28
|
+
const { status, value } = getSafeValue(clusterName, clusterNames);
|
|
29
|
+
const disabled = isReadOnly || status === 'disabled';
|
|
30
|
+
return (React.createElement(SelectField, { name: "cluster", label: "Select Cluster", showAriaLabel: true, size: "small", "data-test": "select-cluster", className: cn(styles.select, { [styles.disabled]: disabled }), classNames: {
|
|
31
|
+
menuPortal: () => styles.menuPortal,
|
|
32
|
+
}, disabled: disabled, iconLeft: CheckCircle, iconLeftAriaLabel: "Select cluster", iconLeftContainerClassName: styles.selectIconLeftContainer, iconLeftClassName: cn(styles.selectIconLeft, {
|
|
33
|
+
[styles.disabled]: status === 'disabled',
|
|
34
|
+
[styles.disconnected]: status === 'disconnected',
|
|
35
|
+
}), isClearable: false, onChange: onChange, options: options, value: value }));
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=SelectCluster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectCluster.js","sourceRoot":"","sources":["../../../src/AppHeader/SelectCluster/SelectCluster.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAEhD,MAAM,YAAY,GAAG,CACnB,WAA0B,EAC1B,YAA6B,EAI7B,EAAE;IACF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;QACzB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;KACpD;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,gBAAgB;SACxB,CAAA;KACF;IAED,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QACzE,KAAK,EAAE,WAAW;KACnB,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5H,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EACV,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzC,2CAAgB,iBAAiB,IAAE,eAAe,CAAC,IAAI,CAAC,CAAQ,CACjE,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAChC;KACJ,CAAC,CAAC,EACL,CAAC,eAAe,EAAE,YAAY,CAAC,CAChC,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,UAAU,IAAI,MAAM,KAAK,UAAU,CAAA;IAEpD,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,gBAAgB,EACtB,aAAa,QACb,IAAI,EAAC,OAAO,eACF,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC7D,UAAU,EAAE;YACV,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU;SACpC,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,EACrB,iBAAiB,EAAC,gBAAgB,EAClC,0BAA0B,EAAE,MAAM,CAAC,uBAAuB,EAC1D,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;YAC3C,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU;YACxC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc;SACjD,CAAC,EACF,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
@use '../../../styles/constants' as c;
|
|
2
|
+
@use '../../../styles/helpers' as h;
|
|
3
|
+
|
|
4
|
+
$selectContainer: ':global .hz-select-field';
|
|
5
|
+
$selectControl: ':global .hz-select-field__control';
|
|
6
|
+
$selectValueContainer: ':global .hz-select-field__value-container';
|
|
7
|
+
$selectTrailingNote: ':global .hz-select-field__trailing-note';
|
|
8
|
+
$selectValue: ':global .hz-select-field__single-value';
|
|
9
|
+
$selectMenuPortal: ':global .hz-select-field__menu-portal';
|
|
10
|
+
$selectMenu: ':global .hz-select-field__menu';
|
|
11
|
+
$selectMenuList: ':global .hz-select-field__menu-list';
|
|
12
|
+
$selectMenuNotice: ':global .hz-select-field__menu-notice';
|
|
13
|
+
$selectOption: ':global .hz-select-field__option';
|
|
14
|
+
$selectGroup: ':global .hz-select-field__group';
|
|
15
|
+
$selectGroupHeading: ':global .hz-select-field__group-heading';
|
|
16
|
+
$selectFieldIndicators: ':global .hz-select-field__indicators';
|
|
17
|
+
|
|
18
|
+
.select {
|
|
19
|
+
width: 260px;
|
|
20
|
+
|
|
21
|
+
&.disabled {
|
|
22
|
+
#{$selectControl} {
|
|
23
|
+
color: c.$colorTextSecondary;
|
|
24
|
+
background-color: transparent;
|
|
25
|
+
|
|
26
|
+
#{$selectValue},
|
|
27
|
+
#{$selectTrailingNote},
|
|
28
|
+
#{$selectFieldIndicators} svg {
|
|
29
|
+
color: c.$colorTextSecondary;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
#{$selectControl} {
|
|
35
|
+
border: none;
|
|
36
|
+
background: none;
|
|
37
|
+
border-radius: unset;
|
|
38
|
+
|
|
39
|
+
#{$selectValueContainer},
|
|
40
|
+
#{$selectTrailingNote} {
|
|
41
|
+
color: c.$colorNeutralLighter;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#{$selectValue} {
|
|
46
|
+
color: c.$colorNeutralLighter;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#{$selectFieldIndicators} {
|
|
50
|
+
svg {
|
|
51
|
+
color: c.$colorNeutralLighter;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.selectIconLeftContainer {
|
|
56
|
+
box-sizing: content-box;
|
|
57
|
+
|
|
58
|
+
.selectIconLeft {
|
|
59
|
+
color: c.$colorSuccess;
|
|
60
|
+
|
|
61
|
+
&.disconnected {
|
|
62
|
+
color: c.$colorError;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&.disabled {
|
|
66
|
+
color: c.$colorTextSecondary;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.menuPortal {
|
|
73
|
+
#{$selectMenu} {
|
|
74
|
+
border: none;
|
|
75
|
+
background: c.$brandSecondary;
|
|
76
|
+
border-radius: 0 0 c.$borderRadius c.$borderRadius;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
#{$selectOption} {
|
|
80
|
+
&:active {
|
|
81
|
+
background: none;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
#{$selectValueContainer},
|
|
85
|
+
#{$selectTrailingNote} {
|
|
86
|
+
color: c.$colorNeutralLighter;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
&--is-focused {
|
|
90
|
+
background: c.$brandAccent;
|
|
91
|
+
box-shadow: none;
|
|
92
|
+
|
|
93
|
+
#{$selectValueContainer},
|
|
94
|
+
#{$selectTrailingNote} {
|
|
95
|
+
color: c.$brandColorText;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SelectCluster';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppHeader/SelectCluster/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AppHeader';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AppHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface AppSidebarProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
storageKey?: string;
|
|
6
|
+
open?: boolean;
|
|
7
|
+
initialOpen?: boolean;
|
|
8
|
+
footer?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare const AppSidebar: ({ children, className, storageKey, open: controlledOpen, initialOpen, footer, }: AppSidebarProps) => JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { ChevronsLeft, ChevronsRight } from 'react-feather';
|
|
4
|
+
import createPersistedState from 'use-persisted-state';
|
|
5
|
+
import { IconButton } from '../IconButton';
|
|
6
|
+
import { appSidebarContext } from './appSidebarContext';
|
|
7
|
+
import styles from './AppSidebar.module.scss';
|
|
8
|
+
export const AppSidebar = ({ children, className, storageKey = 'SideBarMenu', open: controlledOpen, initialOpen = true, footer, }) => {
|
|
9
|
+
const usePersistedSidebarStorageState = createPersistedState(storageKey);
|
|
10
|
+
const usePersistedFavoritesState = createPersistedState('sideBarFavorites');
|
|
11
|
+
const [favorites, setFavorites] = usePersistedFavoritesState([]);
|
|
12
|
+
const [isOpen, setIsOpen] = usePersistedSidebarStorageState(initialOpen);
|
|
13
|
+
const toggle = useCallback(() => setIsOpen((value) => !value), [setIsOpen]);
|
|
14
|
+
const open = useCallback(() => setIsOpen(true), [setIsOpen]);
|
|
15
|
+
const close = useCallback(() => setIsOpen(false), [setIsOpen]);
|
|
16
|
+
const isCollapsed = controlledOpen !== undefined ? !controlledOpen : !isOpen;
|
|
17
|
+
return (React.createElement("aside", { className: cn(styles.root, { [styles.collapsed]: isCollapsed }, className) },
|
|
18
|
+
React.createElement(IconButton, { size: "medium", icon: !isCollapsed ? ChevronsLeft : ChevronsRight, onClick: toggle, className: styles.toggle }),
|
|
19
|
+
React.createElement(appSidebarContext.Provider, { value: {
|
|
20
|
+
open,
|
|
21
|
+
close,
|
|
22
|
+
isOpen: !isCollapsed,
|
|
23
|
+
toggle,
|
|
24
|
+
favorites,
|
|
25
|
+
setFavorites,
|
|
26
|
+
} },
|
|
27
|
+
React.createElement("div", { className: styles.wrapper },
|
|
28
|
+
React.createElement("div", { className: styles.content }, children),
|
|
29
|
+
footer && React.createElement("footer", { className: styles.footer }, footer)))));
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=AppSidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSidebar.js","sourceRoot":"","sources":["../../src/AppSidebar/AppSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,WAAW,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,oBAAoB,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAW7C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,aAAa,EAC1B,IAAI,EAAE,cAAc,EACpB,WAAW,GAAG,IAAI,EAClB,MAAM,GACU,EAAE,EAAE;IACpB,MAAM,+BAA+B,GAAG,oBAAoB,CAAU,UAAU,CAAC,CAAA;IACjF,MAAM,0BAA0B,GAAG,oBAAoB,CAAW,kBAAkB,CAAC,CAAA;IAErF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAA;IAExE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9D,MAAM,WAAW,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE5E,OAAO,CACL,+BAAO,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC;QAC/E,oBAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,GAAI;QAC1H,oBAAC,iBAAiB,CAAC,QAAQ,IACzB,KAAK,EAAE;gBACL,IAAI;gBACJ,KAAK;gBACL,MAAM,EAAE,CAAC,WAAW;gBACpB,MAAM;gBACN,SAAS;gBACT,YAAY;aACb;YAED,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO;gBAC5B,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO,IAAG,QAAQ,CAAO;gBAC/C,MAAM,IAAI,gCAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,IAAG,MAAM,CAAU,CAC1D,CACqB,CACvB,CACT,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
@use '../../styles/constants' as c;
|
|
2
|
+
|
|
3
|
+
$width: 264px;
|
|
4
|
+
$collapsedWidth: 74px;
|
|
5
|
+
$offset: c.$grid * 4;
|
|
6
|
+
|
|
7
|
+
.root {
|
|
8
|
+
width: $width;
|
|
9
|
+
height: 100%;
|
|
10
|
+
flex-shrink: 0;
|
|
11
|
+
position: relative;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
color: c.$colorNeutralLighter;
|
|
14
|
+
background: c.$brandSecondary;
|
|
15
|
+
transition: 200ms width;
|
|
16
|
+
|
|
17
|
+
* {
|
|
18
|
+
box-sizing: border-box;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.toggle {
|
|
22
|
+
color: #1ee6fa;
|
|
23
|
+
position: absolute;
|
|
24
|
+
right: -#{c.$grid * 3};
|
|
25
|
+
top: 0;
|
|
26
|
+
z-index: c.$zIndex1000;
|
|
27
|
+
border-radius: 50%;
|
|
28
|
+
background: #0e3454;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.wrapper {
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
overflow-y: auto;
|
|
35
|
+
overflow-x: hidden;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.content {
|
|
39
|
+
width: 86%;
|
|
40
|
+
margin: 0 auto;
|
|
41
|
+
padding: $offset 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.footer {
|
|
45
|
+
color: c.$colorNeutralLight;
|
|
46
|
+
text-align: center;
|
|
47
|
+
margin-top: auto;
|
|
48
|
+
word-break: break-all;
|
|
49
|
+
padding: 0 c.$grid * 4 c.$grid * 2.5;
|
|
50
|
+
font-size: c.$fontSizeBodySmall;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&.collapsed {
|
|
54
|
+
width: $collapsedWidth;
|
|
55
|
+
|
|
56
|
+
.content {
|
|
57
|
+
max-width: calc($collapsedWidth - $offset * 1.5);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.footer {
|
|
61
|
+
padding: 0 c.$grid;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useContext, useMemo } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { Star } from 'react-feather';
|
|
4
|
+
import { IconButton } from '../../IconButton';
|
|
5
|
+
import { appSidebarContext } from '../appSidebarContext';
|
|
6
|
+
import styles from './AppSidebarFavoriteButton.module.scss';
|
|
7
|
+
export const AppSidebarFavoriteButton = ({ id, className }) => {
|
|
8
|
+
const { favorites, setFavorites } = useContext(appSidebarContext);
|
|
9
|
+
const isFavoriteItem = useMemo(() => favorites.find((item) => item === id), [favorites, id]);
|
|
10
|
+
const handleToggleFavorite = () => {
|
|
11
|
+
if (isFavoriteItem) {
|
|
12
|
+
setFavorites((value) => value.filter((item) => item !== id));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
setFavorites((value) => [...value, id]);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
return (React.createElement(IconButton, { className: cn(styles.root, {
|
|
19
|
+
[styles.isFilled]: isFavoriteItem,
|
|
20
|
+
}, className), onClick: handleToggleFavorite, ariaLabel: "Favorite Item", icon: Star, size: "medium" }));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=AppSidebarFavoriteButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSidebarFavoriteButton.js","sourceRoot":"","sources":["../../../src/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,MAAM,MAAM,wCAAwC,CAAA;AAO3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAiC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;IAE5F,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,cAAc,EAAE;YAClB,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;SAC7D;aAAM;YACL,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;SACxC;IACH,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,UAAU,IACT,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,IAAI,EACX;YACE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc;SAClC,EACD,SAAS,CACV,EACD,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAC,eAAe,EACzB,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,QAAQ,GACb,CACH,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@use '../../../styles/constants' as c;
|
|
2
|
+
|
|
3
|
+
[class].root {
|
|
4
|
+
position: absolute;
|
|
5
|
+
top: 50%;
|
|
6
|
+
z-index: 1;
|
|
7
|
+
left: c.$grid * 3;
|
|
8
|
+
color: c.$brandColorText;
|
|
9
|
+
transform: translateY(-50%);
|
|
10
|
+
|
|
11
|
+
&.isFilled {
|
|
12
|
+
svg {
|
|
13
|
+
fill: c.$brandColorText;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AppSidebarFavoriteButton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AppSidebar/AppSidebarFavoriteButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Star } from 'react-feather';
|
|
3
|
+
import { AppSidebarSection } from '../AppSidebarSection';
|
|
4
|
+
import { appSidebarContext } from '../appSidebarContext';
|
|
5
|
+
import styles from './AppSidebarFavorites.module.scss';
|
|
6
|
+
export const AppSidebarFavorites = ({ children }) => {
|
|
7
|
+
const { favorites } = useContext(appSidebarContext);
|
|
8
|
+
return (React.createElement(AppSidebarSection, { active: false, ariaLabel: "favorites", id: "favorites", title: "Favorites", icon: Star },
|
|
9
|
+
React.createElement("div", { className: styles.content }, favorites.length > 0 ? (children({ items: favorites })) : (React.createElement("div", { className: styles.placeholder, "data-test": "sidebar-menu-no-favorites" }, "No favorites")))));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=AppSidebarFavorites.js.map
|