@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.
Files changed (111) hide show
  1. package/lib/AppHeader/AppHeader.d.ts +14 -0
  2. package/lib/AppHeader/AppHeader.js +15 -0
  3. package/lib/AppHeader/AppHeader.js.map +1 -0
  4. package/lib/AppHeader/AppHeader.module.scss +25 -0
  5. package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.d.ts +12 -0
  6. package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.js +7 -0
  7. package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.js.map +1 -0
  8. package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss +29 -0
  9. package/lib/AppHeader/AppHeaderLogo/index.d.ts +1 -0
  10. package/lib/AppHeader/AppHeaderLogo/index.js +2 -0
  11. package/lib/AppHeader/AppHeaderLogo/index.js.map +1 -0
  12. package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.d.ts +7 -0
  13. package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.js +14 -0
  14. package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.js.map +1 -0
  15. package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss +11 -0
  16. package/lib/AppHeader/AppHeaderMenu/index.d.ts +1 -0
  17. package/lib/AppHeader/AppHeaderMenu/index.js +2 -0
  18. package/lib/AppHeader/AppHeaderMenu/index.js.map +1 -0
  19. package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.d.ts +5 -0
  20. package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.js +10 -0
  21. package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.js.map +1 -0
  22. package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss +13 -0
  23. package/lib/AppHeader/EnvironmentBadge/index.d.ts +1 -0
  24. package/lib/AppHeader/EnvironmentBadge/index.js +2 -0
  25. package/lib/AppHeader/EnvironmentBadge/index.js.map +1 -0
  26. package/lib/AppHeader/SelectCluster/SelectCluster.d.ts +9 -0
  27. package/lib/AppHeader/SelectCluster/SelectCluster.js +37 -0
  28. package/lib/AppHeader/SelectCluster/SelectCluster.js.map +1 -0
  29. package/lib/AppHeader/SelectCluster/SelectCluster.module.scss +99 -0
  30. package/lib/AppHeader/SelectCluster/index.d.ts +1 -0
  31. package/lib/AppHeader/SelectCluster/index.js +2 -0
  32. package/lib/AppHeader/SelectCluster/index.js.map +1 -0
  33. package/lib/AppHeader/index.d.ts +1 -0
  34. package/lib/AppHeader/index.js +2 -0
  35. package/lib/AppHeader/index.js.map +1 -0
  36. package/lib/AppSidebar/AppSidebar.d.ts +10 -0
  37. package/lib/AppSidebar/AppSidebar.js +31 -0
  38. package/lib/AppSidebar/AppSidebar.js.map +1 -0
  39. package/lib/AppSidebar/AppSidebar.module.scss +64 -0
  40. package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.d.ts +6 -0
  41. package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js +22 -0
  42. package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js.map +1 -0
  43. package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss +16 -0
  44. package/lib/AppSidebar/AppSidebarFavoriteButton/index.d.ts +1 -0
  45. package/lib/AppSidebar/AppSidebarFavoriteButton/index.js +2 -0
  46. package/lib/AppSidebar/AppSidebarFavoriteButton/index.js.map +1 -0
  47. package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.d.ts +7 -0
  48. package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js +11 -0
  49. package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js.map +1 -0
  50. package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss +12 -0
  51. package/lib/AppSidebar/AppSidebarFavorites/index.d.ts +1 -0
  52. package/lib/AppSidebar/AppSidebarFavorites/index.js +2 -0
  53. package/lib/AppSidebar/AppSidebarFavorites/index.js.map +1 -0
  54. package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.d.ts +30 -0
  55. package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.js +25 -0
  56. package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.js.map +1 -0
  57. package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss +86 -0
  58. package/lib/AppSidebar/AppSidebarItem/index.d.ts +1 -0
  59. package/lib/AppSidebar/AppSidebarItem/index.js +2 -0
  60. package/lib/AppSidebar/AppSidebarItem/index.js.map +1 -0
  61. package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.d.ts +6 -0
  62. package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js +6 -0
  63. package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js.map +1 -0
  64. package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss +24 -0
  65. package/lib/AppSidebar/AppSidebarMenuItemCounter/index.d.ts +1 -0
  66. package/lib/AppSidebar/AppSidebarMenuItemCounter/index.js +2 -0
  67. package/lib/AppSidebar/AppSidebarMenuItemCounter/index.js.map +1 -0
  68. package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.d.ts +12 -0
  69. package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.js +15 -0
  70. package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.js.map +1 -0
  71. package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss +55 -0
  72. package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.d.ts +11 -0
  73. package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js +45 -0
  74. package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js.map +1 -0
  75. package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.d.ts +2 -0
  76. package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.js +3 -0
  77. package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.js.map +1 -0
  78. package/lib/AppSidebar/AppSidebarSection/index.d.ts +1 -0
  79. package/lib/AppSidebar/AppSidebarSection/index.js +2 -0
  80. package/lib/AppSidebar/AppSidebarSection/index.js.map +1 -0
  81. package/lib/AppSidebar/appSidebarContext.d.ts +10 -0
  82. package/lib/AppSidebar/appSidebarContext.js +11 -0
  83. package/lib/AppSidebar/appSidebarContext.js.map +1 -0
  84. package/lib/AppSidebar/index.d.ts +5 -0
  85. package/lib/AppSidebar/index.js +6 -0
  86. package/lib/AppSidebar/index.js.map +1 -0
  87. package/lib/Button.d.ts +5 -2
  88. package/lib/Button.js +10 -9
  89. package/lib/Button.js.map +1 -1
  90. package/lib/Button.module.scss +30 -1
  91. package/lib/CenteredLoader.d.ts +5 -0
  92. package/lib/CenteredLoader.js +6 -0
  93. package/lib/CenteredLoader.js.map +1 -0
  94. package/lib/CenteredLoader.module.scss +11 -0
  95. package/lib/Link.d.ts +1 -1
  96. package/lib/Link.js +1 -0
  97. package/lib/Link.js.map +1 -1
  98. package/lib/Link.module.scss +4 -0
  99. package/lib/Overlay.module.scss +1 -1
  100. package/lib/Select/Common.js +8 -12
  101. package/lib/Select/Common.js.map +1 -1
  102. package/lib/Select/Common.module.scss +1 -1
  103. package/lib/Select/SelectField.d.ts +1 -0
  104. package/lib/Select/SelectField.js.map +1 -1
  105. package/lib/Tooltip.d.ts +2 -0
  106. package/lib/Tooltip.js +20 -13
  107. package/lib/Tooltip.js.map +1 -1
  108. package/lib/Tooltip.module.scss +94 -70
  109. package/package.json +9 -3
  110. package/styles/constants/_colors.scss +5 -1
  111. 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,2 @@
1
+ export * from './AppHeaderLogo';
2
+ //# sourceMappingURL=index.js.map
@@ -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,7 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppHeaderMenuProps {
3
+ children: (props: {
4
+ onClose: () => void;
5
+ }) => ReactNode;
6
+ }
7
+ export declare const AppHeaderMenu: ({ children }: AppHeaderMenuProps) => JSX.Element;
@@ -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,11 @@
1
+ @use '../../../styles/constants' as c;
2
+
3
+ .content {
4
+ padding: c.$grid * 2;
5
+ color: c.$colorNeutralLighter;
6
+ background: c.$brandSecondary;
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: start;
10
+ gap: c.$grid * 2;
11
+ }
@@ -0,0 +1 @@
1
+ export * from './AppHeaderMenu';
@@ -0,0 +1,2 @@
1
+ export * from './AppHeaderMenu';
2
+ //# sourceMappingURL=index.js.map
@@ -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,5 @@
1
+ /// <reference types="react" />
2
+ export interface EnvironmentBadgeProps {
3
+ environment: string;
4
+ }
5
+ export declare const EnvironmentBadge: ({ environment }: EnvironmentBadgeProps) => JSX.Element;
@@ -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,2 @@
1
+ export * from './EnvironmentBadge';
2
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export * from './SelectCluster';
2
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export * from './AppHeader';
2
+ //# sourceMappingURL=index.js.map
@@ -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,6 @@
1
+ /// <reference types="react" />
2
+ export interface AppSidebarFavoriteButtonProps {
3
+ id: string;
4
+ className?: string;
5
+ }
6
+ export declare const AppSidebarFavoriteButton: ({ id, className }: AppSidebarFavoriteButtonProps) => JSX.Element;
@@ -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,2 @@
1
+ export * from './AppSidebarFavoriteButton';
2
+ //# sourceMappingURL=index.js.map
@@ -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,7 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppSidebarFavoritesProps {
3
+ children: (props: {
4
+ items: string[];
5
+ }) => ReactNode;
6
+ }
7
+ export declare const AppSidebarFavorites: ({ children }: AppSidebarFavoritesProps) => JSX.Element;
@@ -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