@cloud-ru/uikit-product-header 5.0.17

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 (240) hide show
  1. package/CHANGELOG.md +3498 -0
  2. package/LICENSE +201 -0
  3. package/README.md +322 -0
  4. package/dist/cjs/components/HeaderLayout/HeaderLayout.d.ts +12 -0
  5. package/dist/cjs/components/HeaderLayout/HeaderLayout.js +25 -0
  6. package/dist/cjs/components/HeaderLayout/index.d.ts +1 -0
  7. package/dist/cjs/components/HeaderLayout/index.js +17 -0
  8. package/dist/cjs/components/HeaderLayout/styles.module.css +35 -0
  9. package/dist/cjs/components/Logo/Logo.d.ts +20 -0
  10. package/dist/cjs/components/Logo/Logo.js +61 -0
  11. package/dist/cjs/components/Logo/index.d.ts +1 -0
  12. package/dist/cjs/components/Logo/index.js +17 -0
  13. package/dist/cjs/components/Logo/styles.module.css +28 -0
  14. package/dist/cjs/components/MainMenu/Content/Content.d.ts +20 -0
  15. package/dist/cjs/components/MainMenu/Content/Content.js +36 -0
  16. package/dist/cjs/components/MainMenu/Content/index.d.ts +1 -0
  17. package/dist/cjs/components/MainMenu/Content/index.js +17 -0
  18. package/dist/cjs/components/MainMenu/Content/styles.module.css +40 -0
  19. package/dist/cjs/components/MainMenu/MainMenu.d.ts +4 -0
  20. package/dist/cjs/components/MainMenu/MainMenu.js +16 -0
  21. package/dist/cjs/components/MainMenu/MenuDesktop/MenuDesktop.d.ts +2 -0
  22. package/dist/cjs/components/MainMenu/MenuDesktop/MenuDesktop.js +34 -0
  23. package/dist/cjs/components/MainMenu/MenuDesktop/index.d.ts +1 -0
  24. package/dist/cjs/components/MainMenu/MenuDesktop/index.js +17 -0
  25. package/dist/cjs/components/MainMenu/MenuDesktop/styles.module.css +94 -0
  26. package/dist/cjs/components/MainMenu/MenuMobile/MenuMobile.d.ts +2 -0
  27. package/dist/cjs/components/MainMenu/MenuMobile/MenuMobile.js +31 -0
  28. package/dist/cjs/components/MainMenu/MenuMobile/index.d.ts +1 -0
  29. package/dist/cjs/components/MainMenu/MenuMobile/index.js +17 -0
  30. package/dist/cjs/components/MainMenu/MenuMobile/styles.module.css +23 -0
  31. package/dist/cjs/components/MainMenu/Search/SearchDesktop/SearchDesktop.d.ts +2 -0
  32. package/dist/cjs/components/MainMenu/Search/SearchDesktop/SearchDesktop.js +18 -0
  33. package/dist/cjs/components/MainMenu/Search/SearchDesktop/index.d.ts +1 -0
  34. package/dist/cjs/components/MainMenu/Search/SearchDesktop/index.js +17 -0
  35. package/dist/cjs/components/MainMenu/Search/SearchDesktop/styles.module.css +17 -0
  36. package/dist/cjs/components/MainMenu/Search/SearchMobile/SearchMobile.d.ts +2 -0
  37. package/dist/cjs/components/MainMenu/Search/SearchMobile/SearchMobile.js +42 -0
  38. package/dist/cjs/components/MainMenu/Search/SearchMobile/constants.d.ts +4 -0
  39. package/dist/cjs/components/MainMenu/Search/SearchMobile/constants.js +7 -0
  40. package/dist/cjs/components/MainMenu/Search/SearchMobile/hooks.d.ts +12 -0
  41. package/dist/cjs/components/MainMenu/Search/SearchMobile/hooks.js +40 -0
  42. package/dist/cjs/components/MainMenu/Search/SearchMobile/index.d.ts +1 -0
  43. package/dist/cjs/components/MainMenu/Search/SearchMobile/index.js +17 -0
  44. package/dist/cjs/components/MainMenu/Search/SearchMobile/styles.module.css +57 -0
  45. package/dist/cjs/components/MainMenu/Search/SearchSettingsButton/SearchSettingsButton.d.ts +4 -0
  46. package/dist/cjs/components/MainMenu/Search/SearchSettingsButton/SearchSettingsButton.js +13 -0
  47. package/dist/cjs/components/MainMenu/Search/SearchSettingsButton/index.d.ts +1 -0
  48. package/dist/cjs/components/MainMenu/Search/SearchSettingsButton/index.js +17 -0
  49. package/dist/cjs/components/MainMenu/Search/SearchSettingsButton/styles.module.css +11 -0
  50. package/dist/cjs/components/MainMenu/Search/index.d.ts +3 -0
  51. package/dist/cjs/components/MainMenu/Search/index.js +19 -0
  52. package/dist/cjs/components/MainMenu/Search/types.d.ts +14 -0
  53. package/dist/cjs/components/MainMenu/Search/types.js +2 -0
  54. package/dist/cjs/components/MainMenu/Search/useSearch.d.ts +8 -0
  55. package/dist/cjs/components/MainMenu/Search/useSearch.js +169 -0
  56. package/dist/cjs/components/MainMenu/hooks.d.ts +10 -0
  57. package/dist/cjs/components/MainMenu/hooks.js +108 -0
  58. package/dist/cjs/components/MainMenu/index.d.ts +4 -0
  59. package/dist/cjs/components/MainMenu/index.js +20 -0
  60. package/dist/cjs/components/MainMenu/styles.module.css +28 -0
  61. package/dist/cjs/components/MainMenu/types.d.ts +49 -0
  62. package/dist/cjs/components/MainMenu/types.js +2 -0
  63. package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +7 -0
  64. package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.js +12 -0
  65. package/dist/cjs/components/PathBreadcrumbs/index.d.ts +1 -0
  66. package/dist/cjs/components/PathBreadcrumbs/index.js +17 -0
  67. package/dist/cjs/components/PathBreadcrumbs/styles.module.css +5 -0
  68. package/dist/cjs/components/PlatformLogo/Container.d.ts +12 -0
  69. package/dist/cjs/components/PlatformLogo/Container.js +28 -0
  70. package/dist/cjs/components/PlatformLogo/index.d.ts +4 -0
  71. package/dist/cjs/components/PlatformLogo/index.js +9 -0
  72. package/dist/cjs/components/PlatformLogo/styles.module.css +11 -0
  73. package/dist/cjs/components/UserMenu/UserMenu.d.ts +14 -0
  74. package/dist/cjs/components/UserMenu/UserMenu.js +54 -0
  75. package/dist/cjs/components/UserMenu/hooks/useLogoutItem.d.ts +6 -0
  76. package/dist/cjs/components/UserMenu/hooks/useLogoutItem.js +21 -0
  77. package/dist/cjs/components/UserMenu/hooks/useProfileItem.d.ts +3 -0
  78. package/dist/cjs/components/UserMenu/hooks/useProfileItem.js +29 -0
  79. package/dist/cjs/components/UserMenu/hooks/useThemeItem.d.ts +6 -0
  80. package/dist/cjs/components/UserMenu/hooks/useThemeItem.js +75 -0
  81. package/dist/cjs/components/UserMenu/hooks/useUserMenuItems.d.ts +13 -0
  82. package/dist/cjs/components/UserMenu/hooks/useUserMenuItems.js +42 -0
  83. package/dist/cjs/components/UserMenu/index.d.ts +2 -0
  84. package/dist/cjs/components/UserMenu/index.js +18 -0
  85. package/dist/cjs/components/UserMenu/styles.module.css +21 -0
  86. package/dist/cjs/components/UserMenu/types.d.ts +20 -0
  87. package/dist/cjs/components/UserMenu/types.js +8 -0
  88. package/dist/cjs/components/index.d.ts +6 -0
  89. package/dist/cjs/components/index.js +22 -0
  90. package/dist/cjs/hooks/index.d.ts +1 -0
  91. package/dist/cjs/hooks/index.js +17 -0
  92. package/dist/cjs/hooks/useLocalStorage.d.ts +1 -0
  93. package/dist/cjs/hooks/useLocalStorage.js +13 -0
  94. package/dist/cjs/index.d.ts +2 -0
  95. package/dist/cjs/index.js +18 -0
  96. package/dist/esm/components/HeaderLayout/HeaderLayout.d.ts +12 -0
  97. package/dist/esm/components/HeaderLayout/HeaderLayout.js +19 -0
  98. package/dist/esm/components/HeaderLayout/index.d.ts +1 -0
  99. package/dist/esm/components/HeaderLayout/index.js +1 -0
  100. package/dist/esm/components/HeaderLayout/styles.module.css +35 -0
  101. package/dist/esm/components/Logo/Logo.d.ts +20 -0
  102. package/dist/esm/components/Logo/Logo.js +54 -0
  103. package/dist/esm/components/Logo/index.d.ts +1 -0
  104. package/dist/esm/components/Logo/index.js +1 -0
  105. package/dist/esm/components/Logo/styles.module.css +28 -0
  106. package/dist/esm/components/MainMenu/Content/Content.d.ts +20 -0
  107. package/dist/esm/components/MainMenu/Content/Content.js +30 -0
  108. package/dist/esm/components/MainMenu/Content/index.d.ts +1 -0
  109. package/dist/esm/components/MainMenu/Content/index.js +1 -0
  110. package/dist/esm/components/MainMenu/Content/styles.module.css +40 -0
  111. package/dist/esm/components/MainMenu/MainMenu.d.ts +4 -0
  112. package/dist/esm/components/MainMenu/MainMenu.js +13 -0
  113. package/dist/esm/components/MainMenu/MenuDesktop/MenuDesktop.d.ts +2 -0
  114. package/dist/esm/components/MainMenu/MenuDesktop/MenuDesktop.js +28 -0
  115. package/dist/esm/components/MainMenu/MenuDesktop/index.d.ts +1 -0
  116. package/dist/esm/components/MainMenu/MenuDesktop/index.js +1 -0
  117. package/dist/esm/components/MainMenu/MenuDesktop/styles.module.css +94 -0
  118. package/dist/esm/components/MainMenu/MenuMobile/MenuMobile.d.ts +2 -0
  119. package/dist/esm/components/MainMenu/MenuMobile/MenuMobile.js +25 -0
  120. package/dist/esm/components/MainMenu/MenuMobile/index.d.ts +1 -0
  121. package/dist/esm/components/MainMenu/MenuMobile/index.js +1 -0
  122. package/dist/esm/components/MainMenu/MenuMobile/styles.module.css +23 -0
  123. package/dist/esm/components/MainMenu/Search/SearchDesktop/SearchDesktop.d.ts +2 -0
  124. package/dist/esm/components/MainMenu/Search/SearchDesktop/SearchDesktop.js +12 -0
  125. package/dist/esm/components/MainMenu/Search/SearchDesktop/index.d.ts +1 -0
  126. package/dist/esm/components/MainMenu/Search/SearchDesktop/index.js +1 -0
  127. package/dist/esm/components/MainMenu/Search/SearchDesktop/styles.module.css +17 -0
  128. package/dist/esm/components/MainMenu/Search/SearchMobile/SearchMobile.d.ts +2 -0
  129. package/dist/esm/components/MainMenu/Search/SearchMobile/SearchMobile.js +36 -0
  130. package/dist/esm/components/MainMenu/Search/SearchMobile/constants.d.ts +4 -0
  131. package/dist/esm/components/MainMenu/Search/SearchMobile/constants.js +4 -0
  132. package/dist/esm/components/MainMenu/Search/SearchMobile/hooks.d.ts +12 -0
  133. package/dist/esm/components/MainMenu/Search/SearchMobile/hooks.js +34 -0
  134. package/dist/esm/components/MainMenu/Search/SearchMobile/index.d.ts +1 -0
  135. package/dist/esm/components/MainMenu/Search/SearchMobile/index.js +1 -0
  136. package/dist/esm/components/MainMenu/Search/SearchMobile/styles.module.css +57 -0
  137. package/dist/esm/components/MainMenu/Search/SearchSettingsButton/SearchSettingsButton.d.ts +4 -0
  138. package/dist/esm/components/MainMenu/Search/SearchSettingsButton/SearchSettingsButton.js +7 -0
  139. package/dist/esm/components/MainMenu/Search/SearchSettingsButton/index.d.ts +1 -0
  140. package/dist/esm/components/MainMenu/Search/SearchSettingsButton/index.js +1 -0
  141. package/dist/esm/components/MainMenu/Search/SearchSettingsButton/styles.module.css +11 -0
  142. package/dist/esm/components/MainMenu/Search/index.d.ts +3 -0
  143. package/dist/esm/components/MainMenu/Search/index.js +3 -0
  144. package/dist/esm/components/MainMenu/Search/types.d.ts +14 -0
  145. package/dist/esm/components/MainMenu/Search/types.js +1 -0
  146. package/dist/esm/components/MainMenu/Search/useSearch.d.ts +8 -0
  147. package/dist/esm/components/MainMenu/Search/useSearch.js +161 -0
  148. package/dist/esm/components/MainMenu/hooks.d.ts +10 -0
  149. package/dist/esm/components/MainMenu/hooks.js +101 -0
  150. package/dist/esm/components/MainMenu/index.d.ts +4 -0
  151. package/dist/esm/components/MainMenu/index.js +4 -0
  152. package/dist/esm/components/MainMenu/styles.module.css +28 -0
  153. package/dist/esm/components/MainMenu/types.d.ts +49 -0
  154. package/dist/esm/components/MainMenu/types.js +1 -0
  155. package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +7 -0
  156. package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.js +6 -0
  157. package/dist/esm/components/PathBreadcrumbs/index.d.ts +1 -0
  158. package/dist/esm/components/PathBreadcrumbs/index.js +1 -0
  159. package/dist/esm/components/PathBreadcrumbs/styles.module.css +5 -0
  160. package/dist/esm/components/PlatformLogo/Container.d.ts +12 -0
  161. package/dist/esm/components/PlatformLogo/Container.js +20 -0
  162. package/dist/esm/components/PlatformLogo/index.d.ts +4 -0
  163. package/dist/esm/components/PlatformLogo/index.js +6 -0
  164. package/dist/esm/components/PlatformLogo/styles.module.css +11 -0
  165. package/dist/esm/components/UserMenu/UserMenu.d.ts +14 -0
  166. package/dist/esm/components/UserMenu/UserMenu.js +48 -0
  167. package/dist/esm/components/UserMenu/hooks/useLogoutItem.d.ts +6 -0
  168. package/dist/esm/components/UserMenu/hooks/useLogoutItem.js +18 -0
  169. package/dist/esm/components/UserMenu/hooks/useProfileItem.d.ts +3 -0
  170. package/dist/esm/components/UserMenu/hooks/useProfileItem.js +23 -0
  171. package/dist/esm/components/UserMenu/hooks/useThemeItem.d.ts +6 -0
  172. package/dist/esm/components/UserMenu/hooks/useThemeItem.js +72 -0
  173. package/dist/esm/components/UserMenu/hooks/useUserMenuItems.d.ts +13 -0
  174. package/dist/esm/components/UserMenu/hooks/useUserMenuItems.js +39 -0
  175. package/dist/esm/components/UserMenu/index.d.ts +2 -0
  176. package/dist/esm/components/UserMenu/index.js +2 -0
  177. package/dist/esm/components/UserMenu/styles.module.css +21 -0
  178. package/dist/esm/components/UserMenu/types.d.ts +20 -0
  179. package/dist/esm/components/UserMenu/types.js +5 -0
  180. package/dist/esm/components/index.d.ts +6 -0
  181. package/dist/esm/components/index.js +6 -0
  182. package/dist/esm/hooks/index.d.ts +1 -0
  183. package/dist/esm/hooks/index.js +1 -0
  184. package/dist/esm/hooks/useLocalStorage.d.ts +1 -0
  185. package/dist/esm/hooks/useLocalStorage.js +10 -0
  186. package/dist/esm/index.d.ts +2 -0
  187. package/dist/esm/index.js +2 -0
  188. package/package.json +68 -0
  189. package/src/components/HeaderLayout/HeaderLayout.tsx +46 -0
  190. package/src/components/HeaderLayout/index.ts +1 -0
  191. package/src/components/HeaderLayout/styles.module.scss +38 -0
  192. package/src/components/Logo/Logo.tsx +93 -0
  193. package/src/components/Logo/index.ts +1 -0
  194. package/src/components/Logo/styles.module.scss +30 -0
  195. package/src/components/MainMenu/Content/Content.tsx +137 -0
  196. package/src/components/MainMenu/Content/index.ts +1 -0
  197. package/src/components/MainMenu/Content/styles.module.scss +35 -0
  198. package/src/components/MainMenu/MainMenu.tsx +51 -0
  199. package/src/components/MainMenu/MenuDesktop/MenuDesktop.tsx +120 -0
  200. package/src/components/MainMenu/MenuDesktop/index.ts +1 -0
  201. package/src/components/MainMenu/MenuDesktop/styles.module.scss +108 -0
  202. package/src/components/MainMenu/MenuMobile/MenuMobile.tsx +83 -0
  203. package/src/components/MainMenu/MenuMobile/index.ts +1 -0
  204. package/src/components/MainMenu/MenuMobile/styles.module.scss +26 -0
  205. package/src/components/MainMenu/Search/SearchDesktop/SearchDesktop.tsx +46 -0
  206. package/src/components/MainMenu/Search/SearchDesktop/index.ts +1 -0
  207. package/src/components/MainMenu/Search/SearchDesktop/styles.module.scss +21 -0
  208. package/src/components/MainMenu/Search/SearchMobile/SearchMobile.tsx +102 -0
  209. package/src/components/MainMenu/Search/SearchMobile/constants.ts +4 -0
  210. package/src/components/MainMenu/Search/SearchMobile/hooks.ts +43 -0
  211. package/src/components/MainMenu/Search/SearchMobile/index.ts +1 -0
  212. package/src/components/MainMenu/Search/SearchMobile/styles.module.scss +72 -0
  213. package/src/components/MainMenu/Search/SearchSettingsButton/SearchSettingsButton.tsx +22 -0
  214. package/src/components/MainMenu/Search/SearchSettingsButton/index.ts +1 -0
  215. package/src/components/MainMenu/Search/SearchSettingsButton/styles.module.scss +13 -0
  216. package/src/components/MainMenu/Search/index.ts +3 -0
  217. package/src/components/MainMenu/Search/types.ts +20 -0
  218. package/src/components/MainMenu/Search/useSearch.tsx +212 -0
  219. package/src/components/MainMenu/hooks.tsx +135 -0
  220. package/src/components/MainMenu/index.ts +4 -0
  221. package/src/components/MainMenu/styles.module.scss +28 -0
  222. package/src/components/MainMenu/types.ts +62 -0
  223. package/src/components/PathBreadcrumbs/PathBreadcrumbs.tsx +21 -0
  224. package/src/components/PathBreadcrumbs/index.ts +1 -0
  225. package/src/components/PathBreadcrumbs/styles.module.scss +10 -0
  226. package/src/components/PlatformLogo/Container.tsx +32 -0
  227. package/src/components/PlatformLogo/index.ts +8 -0
  228. package/src/components/PlatformLogo/styles.module.scss +13 -0
  229. package/src/components/UserMenu/UserMenu.tsx +138 -0
  230. package/src/components/UserMenu/hooks/useLogoutItem.tsx +28 -0
  231. package/src/components/UserMenu/hooks/useProfileItem.tsx +41 -0
  232. package/src/components/UserMenu/hooks/useThemeItem.tsx +116 -0
  233. package/src/components/UserMenu/hooks/useUserMenuItems.ts +77 -0
  234. package/src/components/UserMenu/index.ts +2 -0
  235. package/src/components/UserMenu/styles.module.scss +21 -0
  236. package/src/components/UserMenu/types.ts +24 -0
  237. package/src/components/index.ts +6 -0
  238. package/src/hooks/index.ts +1 -0
  239. package/src/hooks/useLocalStorage.ts +15 -0
  240. package/src/index.ts +2 -0
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./PathBreadcrumbs"), exports);
@@ -0,0 +1,5 @@
1
+ .breadcrumbs{
2
+ padding:var(--dimension-1m, 8px) !important;
3
+ margin:calc(0px - var(--dimension-1m, 8px)) 0 !important;
4
+ min-width:0;
5
+ }
@@ -0,0 +1,12 @@
1
+ import { JSXElementConstructor, PropsWithChildren } from 'react';
2
+ import { WithSupportProps } from '@sbercloud/uikit-product-utils';
3
+ export type ContainerProps = PropsWithChildren<WithSupportProps<{
4
+ className?: string;
5
+ }>>;
6
+ export declare function Container({ children, ...otherProps }: ContainerProps): import("react/jsx-runtime").JSX.Element;
7
+ export type IconComponentProps = {
8
+ className?: string;
9
+ };
10
+ export declare const getPlatformIconComponent: (Icon: JSXElementConstructor<{
11
+ size: number;
12
+ }>) => (props: IconComponentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getPlatformIconComponent = void 0;
18
+ exports.Container = Container;
19
+ const jsx_runtime_1 = require("react/jsx-runtime");
20
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
21
+ function Container(_a) {
22
+ var { children } = _a, otherProps = __rest(_a, ["children"]);
23
+ return ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: styles_module_scss_1.default.container }, otherProps, { children: children })));
24
+ }
25
+ const getPlatformIconComponent = (Icon) => function IconComponent(props) {
26
+ return ((0, jsx_runtime_1.jsx)(Container, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(Icon, { size: 24 }) })));
27
+ };
28
+ exports.getPlatformIconComponent = getPlatformIconComponent;
@@ -0,0 +1,4 @@
1
+ export declare const AdvancedPlatformLogo: (props: import("./Container").IconComponentProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const EnterprisePlatformLogo: (props: import("./Container").IconComponentProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const EvolutionPlatformLogo: (props: import("./Container").IconComponentProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const MLSpacePlatformLogo: (props: import("./Container").IconComponentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MLSpacePlatformLogo = exports.EvolutionPlatformLogo = exports.EnterprisePlatformLogo = exports.AdvancedPlatformLogo = void 0;
4
+ const uikit_product_icons_1 = require("@sbercloud/uikit-product-icons");
5
+ const Container_1 = require("./Container");
6
+ exports.AdvancedPlatformLogo = (0, Container_1.getPlatformIconComponent)(uikit_product_icons_1.AdvancedSVG);
7
+ exports.EnterprisePlatformLogo = (0, Container_1.getPlatformIconComponent)(uikit_product_icons_1.VmwareSVG);
8
+ exports.EvolutionPlatformLogo = (0, Container_1.getPlatformIconComponent)(uikit_product_icons_1.EvolutionSVG);
9
+ exports.MLSpacePlatformLogo = (0, Container_1.getPlatformIconComponent)(uikit_product_icons_1.MlSpaceSVG);
@@ -0,0 +1,11 @@
1
+ .container{
2
+ width:24px;
3
+ height:24px;
4
+ color:var(--sys-primary-on-accent, #fbfffc);
5
+ fill:var(--sys-primary-on-accent, #fbfffc);
6
+ background-color:var(--sys-neutral-accent-default, #787b8a);
7
+ border-radius:var(--dimension-050m, 4px);
8
+ display:flex;
9
+ align-items:center;
10
+ justify-content:center;
11
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseItemProps, ListProps } from '@snack-uikit/list';
2
+ import { ThemeProps, UserProfileProps } from './types';
3
+ export type UserMenuProps = {
4
+ profile?: UserProfileProps;
5
+ theme?: ThemeProps;
6
+ items?: ListProps['items'];
7
+ settingItems?: BaseItemProps[];
8
+ onLogout?(): void;
9
+ open?: boolean;
10
+ setOpen?(open: boolean): void;
11
+ onClick?(): void;
12
+ isMobile?: boolean;
13
+ };
14
+ export declare function UserMenu({ profile, open: openProp, setOpen: setOpenProp, onLogout, items, settingItems, theme, isMobile, onClick, }: UserMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserMenu = UserMenu;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const uikit_product_locale_1 = require("@sbercloud/uikit-product-locale");
10
+ const uikit_product_mobile_drawer_1 = require("@sbercloud/uikit-product-mobile-drawer");
11
+ const avatar_1 = require("@snack-uikit/avatar");
12
+ const button_1 = require("@snack-uikit/button");
13
+ const list_1 = require("@snack-uikit/list");
14
+ const scroll_1 = require("@snack-uikit/scroll");
15
+ const utils_1 = require("@snack-uikit/utils");
16
+ const useUserMenuItems_1 = require("./hooks/useUserMenuItems");
17
+ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
18
+ function UserMenu({ profile = {}, open: openProp, setOpen: setOpenProp, onLogout, items, settingItems, theme, isMobile, onClick, }) {
19
+ const { t } = (0, uikit_product_locale_1.useLocale)('Header');
20
+ const [open = false, setOpen] = (0, utils_1.useValueControl)({ value: openProp, onChange: setOpenProp });
21
+ const { fullName = '', inviteCount } = profile;
22
+ const userMenuItems = (0, useUserMenuItems_1.useUserMenuItems)({
23
+ isMobile,
24
+ profile,
25
+ theme,
26
+ items,
27
+ settingItems,
28
+ onClose: () => {
29
+ setOpen(false);
30
+ },
31
+ onLogout,
32
+ });
33
+ const trigger = (0, react_1.useMemo)(() => ((0, jsx_runtime_1.jsx)(button_1.ButtonFunction, { size: 'm', onClick: () => {
34
+ setOpen === null || setOpen === void 0 ? void 0 : setOpen(true);
35
+ onClick === null || onClick === void 0 ? void 0 : onClick();
36
+ }, counter: Number(inviteCount)
37
+ ? {
38
+ value: Number(inviteCount),
39
+ appearance: 'primary',
40
+ }
41
+ : undefined, "data-test-id": 'header__user-menu__button', icon: (0, jsx_runtime_1.jsx)(avatar_1.Avatar, { size: 'xs', name: fullName, showTwoSymbols: true }) })), [fullName, inviteCount, onClick, setOpen]);
42
+ if (isMobile) {
43
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [trigger, (0, jsx_runtime_1.jsxs)(uikit_product_mobile_drawer_1.MobileDrawerCustom, { open: open, onClose: () => {
44
+ setOpen(false);
45
+ }, position: 'right', swipeEnabled: false, "data-test-id": 'header__user-menu-mobile', closeOnPopstate: true, children: [(0, jsx_runtime_1.jsx)(uikit_product_mobile_drawer_1.MobileDrawerCustom.Header, { title: t('user') }), (0, jsx_runtime_1.jsx)(scroll_1.Scroll, { barHideStrategy: 'never', children: (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.mobileList, children: (0, jsx_runtime_1.jsx)(list_1.List, { items: userMenuItems, selection: {
46
+ mode: 'single',
47
+ value: 'null',
48
+ }, size: 'm' }) }) })] })] }));
49
+ }
50
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(list_1.Droplist, { items: userMenuItems, selection: {
51
+ mode: 'single',
52
+ value: 'null',
53
+ }, trigger: 'click', placement: 'bottom-end', className: styles_module_scss_1.default.userMenuDroplist, closeOnPopstate: true, closeDroplistOnItemClick: true, "data-test-id": 'header__user-menu', children: trigger }) }));
54
+ }
@@ -0,0 +1,6 @@
1
+ import { ListProps } from '@snack-uikit/list';
2
+ type UseLogoutItemProps = {
3
+ onLogout?(): void;
4
+ };
5
+ export declare function useLogoutItem({ onLogout }: UseLogoutItemProps): ListProps['items'];
6
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLogoutItem = useLogoutItem;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const uikit_product_icons_1 = require("@sbercloud/uikit-product-icons");
7
+ const uikit_product_locale_1 = require("@sbercloud/uikit-product-locale");
8
+ function useLogoutItem({ onLogout }) {
9
+ const { t } = (0, uikit_product_locale_1.useLocale)('Header');
10
+ return (0, react_1.useMemo)(() => [
11
+ { type: 'group', divider: true, items: [] },
12
+ {
13
+ content: {
14
+ option: t('logout'),
15
+ },
16
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.ExitSVG, {}),
17
+ onClick: onLogout,
18
+ 'data-test-id': 'header__user-menu__logout',
19
+ },
20
+ ], [onLogout, t]);
21
+ }
@@ -0,0 +1,3 @@
1
+ import { BaseItemProps } from '@snack-uikit/list';
2
+ import { UserProfileProps } from '../types';
3
+ export declare function useProfileItem({ fullName, email, itemWrapRender, onClick, }: UserProfileProps): BaseItemProps;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useProfileItem = useProfileItem;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const uikit_product_icons_1 = require("@sbercloud/uikit-product-icons");
10
+ const avatar_1 = require("@snack-uikit/avatar");
11
+ const styles_module_scss_1 = __importDefault(require('../styles.module.css'));
12
+ function useProfileItem({ fullName = '', email = '', itemWrapRender, onClick, }) {
13
+ return (0, react_1.useMemo)(() => ({
14
+ content: {
15
+ option: fullName,
16
+ description: email,
17
+ truncate: {
18
+ description: 1,
19
+ },
20
+ },
21
+ onClick,
22
+ beforeContent: (0, jsx_runtime_1.jsx)(avatar_1.Avatar, { size: 'xs', name: fullName, showTwoSymbols: true }),
23
+ afterContent: ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.settingIcon, children: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.SettingsSVG, {}) })),
24
+ itemWrapRender,
25
+ id: 'header__user-menu__button',
26
+ 'data-test-id': 'header__user-menu__manage-profile',
27
+ className: styles_module_scss_1.default.userMenuInfoItem,
28
+ }), [email, fullName, itemWrapRender, onClick]);
29
+ }
@@ -0,0 +1,6 @@
1
+ import { DroplistProps } from '@snack-uikit/list';
2
+ import { ThemeProps } from '../types';
3
+ export declare function useThemeItem({ value: themeMode, onChange, isMobile, onClose, }: ThemeProps & {
4
+ isMobile?: boolean;
5
+ onClose?(): void;
6
+ }): DroplistProps['items'][0];
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useThemeItem = useThemeItem;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const uikit_product_icons_1 = require("@sbercloud/uikit-product-icons");
7
+ const uikit_product_locale_1 = require("@sbercloud/uikit-product-locale");
8
+ const uikit_product_mobile_modal_1 = require("@sbercloud/uikit-product-mobile-modal");
9
+ const list_1 = require("@snack-uikit/list");
10
+ const types_1 = require("../types");
11
+ function useThemeItem({ value: themeMode, onChange, isMobile, onClose, }) {
12
+ const { t } = (0, uikit_product_locale_1.useLocale)('Header');
13
+ const [open, setOpen] = (0, react_1.useState)(false);
14
+ const handleClick = (0, react_1.useCallback)((themeMode) => () => {
15
+ onChange === null || onChange === void 0 ? void 0 : onChange(themeMode);
16
+ !isMobile && (onClose === null || onClose === void 0 ? void 0 : onClose());
17
+ }, [isMobile, onChange, onClose]);
18
+ const themeModeOptions = (0, react_1.useMemo)(() => [
19
+ {
20
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.DaySVG, {}),
21
+ content: {
22
+ option: t('themeModeLight'),
23
+ },
24
+ onClick: handleClick(types_1.THEME_MODE.Light),
25
+ checked: themeMode === types_1.THEME_MODE.Light,
26
+ 'data-test-id': 'header__user-menu__theme-mode__light-option',
27
+ },
28
+ {
29
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.NightSVG, {}),
30
+ content: {
31
+ option: t('themeModeDark'),
32
+ },
33
+ checked: themeMode === types_1.THEME_MODE.Dark,
34
+ onClick: handleClick(types_1.THEME_MODE.Dark),
35
+ 'data-test-id': 'header__user-menu__theme-mode__dark-option',
36
+ },
37
+ {
38
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.LaptopPhoneSVG, {}),
39
+ content: {
40
+ option: t('themeModeSystem'),
41
+ },
42
+ checked: themeMode === types_1.THEME_MODE.System,
43
+ onClick: handleClick(types_1.THEME_MODE.System),
44
+ 'data-test-id': 'header__user-menu__theme-mode__system-option',
45
+ },
46
+ ], [handleClick, t, themeMode]);
47
+ const themeItem = (0, react_1.useMemo)(() => ({
48
+ type: 'next-list',
49
+ content: {
50
+ option: t('themeModeLabel'),
51
+ },
52
+ placement: 'left-start',
53
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.ThemeContrastSVG, {}),
54
+ 'data-test-id': 'header__user-menu__theme-mode',
55
+ items: themeModeOptions,
56
+ }), [t, themeModeOptions]);
57
+ const mobileThemeItem = (0, react_1.useMemo)(() => ({
58
+ id: 'header__user-menu__theme-mode',
59
+ beforeContent: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.ThemeContrastSVG, {}),
60
+ 'data-test-id': 'header__user-menu__theme-mode',
61
+ afterContent: ((0, jsx_runtime_1.jsx)("span", { style: {
62
+ color: 'var(--sys-neutral-text-light)',
63
+ }, children: (0, jsx_runtime_1.jsx)(uikit_product_icons_1.ChevronRightSVG, {}) })),
64
+ content: {
65
+ option: t('themeModeLabel'),
66
+ },
67
+ onClick: () => {
68
+ setOpen(true);
69
+ },
70
+ itemWrapRender: (node) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [node, (0, jsx_runtime_1.jsxs)(uikit_product_mobile_modal_1.MobileModalCustom, { open: open, onClose: () => {
71
+ setOpen(false);
72
+ }, closeButtonEnabled: true, closeOnPopstate: true, children: [(0, jsx_runtime_1.jsx)(uikit_product_mobile_modal_1.MobileModalCustom.Header, { title: t('themeModeLabel') }), (0, jsx_runtime_1.jsx)(list_1.List, { items: themeModeOptions, size: 'l', selection: { mode: 'single', value: themeMode } })] })] })),
73
+ }), [open, t, themeMode, themeModeOptions]);
74
+ return isMobile ? mobileThemeItem : themeItem;
75
+ }
@@ -0,0 +1,13 @@
1
+ import { BaseItemProps, ListProps } from '@snack-uikit/list';
2
+ import { ThemeProps, UserProfileProps } from '../types';
3
+ type UseMenuItems = {
4
+ profile: UserProfileProps;
5
+ theme?: ThemeProps;
6
+ items?: ListProps['items'];
7
+ settingItems?: BaseItemProps[];
8
+ onLogout?(): void;
9
+ onClose?(): void;
10
+ isMobile?: boolean;
11
+ };
12
+ export declare function useUserMenuItems({ profile, theme, onLogout, items: itemsProp, isMobile, onClose, settingItems, }: UseMenuItems): import("@snack-uikit/list/dist/esm/components/Items").Item[];
13
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUserMenuItems = useUserMenuItems;
4
+ const react_1 = require("react");
5
+ const list_1 = require("@snack-uikit/list");
6
+ const useLogoutItem_1 = require("./useLogoutItem");
7
+ const useProfileItem_1 = require("./useProfileItem");
8
+ const useThemeItem_1 = require("./useThemeItem");
9
+ const DIVIDER_ITEM = {
10
+ type: 'group',
11
+ divider: true,
12
+ items: [],
13
+ };
14
+ function useUserMenuItems({ profile, theme, onLogout, items: itemsProp = [], isMobile, onClose, settingItems = [], }) {
15
+ const profileItem = (0, useProfileItem_1.useProfileItem)(profile);
16
+ const themeItem = (0, useThemeItem_1.useThemeItem)(Object.assign(Object.assign({}, (theme || {})), { isMobile, onClose }));
17
+ const logoutItem = (0, useLogoutItem_1.useLogoutItem)({ onLogout });
18
+ const items = (0, react_1.useMemo)(() => {
19
+ let items = [profileItem];
20
+ if (themeItem) {
21
+ items = items.concat([DIVIDER_ITEM, themeItem]);
22
+ }
23
+ items = items.concat(itemsProp);
24
+ items = items.concat(logoutItem);
25
+ if (isMobile && Boolean(settingItems === null || settingItems === void 0 ? void 0 : settingItems.length)) {
26
+ items = items.concat([DIVIDER_ITEM, ...settingItems]);
27
+ }
28
+ return items.map(item => {
29
+ if ((0, list_1.isBaseItemProps)(item) && item.id !== 'header__user-menu__theme-mode') {
30
+ return Object.assign(Object.assign({}, item), { onClick: (e) => {
31
+ var _a;
32
+ (_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item, e);
33
+ if (!e.metaKey) {
34
+ onClose === null || onClose === void 0 ? void 0 : onClose();
35
+ }
36
+ } });
37
+ }
38
+ return item;
39
+ });
40
+ }, [isMobile, itemsProp, logoutItem, onClose, profileItem, settingItems, themeItem]);
41
+ return items;
42
+ }
@@ -0,0 +1,2 @@
1
+ export * from './UserMenu';
2
+ export * from './types';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./UserMenu"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,21 @@
1
+ .userMenuDroplist{
2
+ width:272px;
3
+ }
4
+
5
+ .mobileList{
6
+ padding:16px;
7
+ padding-top:0;
8
+ }
9
+
10
+ .settingIcon{
11
+ color:var(--sys-neutral-text-light, #8b8e9b);
12
+ }
13
+
14
+ .userMenuInfoItem [data-test-id=list__base-item-option]{
15
+ font-family:var(--sans-label-m-font-family, SB Sans Interface);
16
+ font-weight:var(--sans-label-m-font-weight, Semibold);
17
+ line-height:var(--sans-label-m-line-height, 16px);
18
+ font-size:var(--sans-label-m-font-size, 12px);
19
+ letter-spacing:var(--sans-label-m-letter-spacing, 0px);
20
+ paragraph-spacing:var(--sans-label-m-paragraph-spacing, 6.6px);
21
+ }
@@ -0,0 +1,20 @@
1
+ import { MouseEvent, ReactNode } from 'react';
2
+ export type UserProfileProps = {
3
+ fullName?: string;
4
+ email?: string;
5
+ inviteCount?: number;
6
+ onClick?(e: MouseEvent<HTMLElement>): void;
7
+ itemWrapRender?(node: ReactNode): ReactNode;
8
+ };
9
+ type ValueOf<T> = T[keyof T];
10
+ export declare const THEME_MODE: {
11
+ readonly Light: "light";
12
+ readonly Dark: "dark";
13
+ readonly System: "system";
14
+ };
15
+ export type ThemeMode = ValueOf<typeof THEME_MODE>;
16
+ export type ThemeProps = {
17
+ value?: ThemeMode;
18
+ onChange?(themeMode: ThemeMode): void;
19
+ };
20
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.THEME_MODE = void 0;
4
+ exports.THEME_MODE = {
5
+ Light: 'light',
6
+ Dark: 'dark',
7
+ System: 'system',
8
+ };
@@ -0,0 +1,6 @@
1
+ export * from './HeaderLayout';
2
+ export * from './MainMenu';
3
+ export * from './UserMenu';
4
+ export * from './Logo';
5
+ export * from './PathBreadcrumbs';
6
+ export * from './PlatformLogo';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./HeaderLayout"), exports);
18
+ __exportStar(require("./MainMenu"), exports);
19
+ __exportStar(require("./UserMenu"), exports);
20
+ __exportStar(require("./Logo"), exports);
21
+ __exportStar(require("./PathBreadcrumbs"), exports);
22
+ __exportStar(require("./PlatformLogo"), exports);
@@ -0,0 +1 @@
1
+ export * from './useLocalStorage';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useLocalStorage"), exports);
@@ -0,0 +1 @@
1
+ export declare function useLocalStorage<T extends string = string>(key: string, defaultValue: T): [T, (newValue: T) => void];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLocalStorage = useLocalStorage;
4
+ const react_1 = require("react");
5
+ function useLocalStorage(key, defaultValue) {
6
+ var _a;
7
+ const [value, setValueState] = (0, react_1.useState)((_a = localStorage.getItem(key)) !== null && _a !== void 0 ? _a : defaultValue);
8
+ const setValue = (0, react_1.useCallback)((newValue) => {
9
+ localStorage.setItem(key, newValue);
10
+ setValueState(newValue);
11
+ }, [key]);
12
+ return [value, setValue];
13
+ }
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ export * from './hooks';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./components"), exports);
18
+ __exportStar(require("./hooks"), exports);
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ import { WithSupportProps } from '@sbercloud/uikit-product-utils';
3
+ export type HeaderLayoutProps = WithSupportProps<{
4
+ className?: string;
5
+ menu?: ReactNode;
6
+ logo?: ReactNode;
7
+ select?: ReactNode;
8
+ breadcrumbs?: ReactNode;
9
+ toolbar?: ReactNode;
10
+ isMobile?: boolean;
11
+ }>;
12
+ export declare function HeaderLayout({ menu, logo, select, breadcrumbs, toolbar, className, isMobile, ...rest }: HeaderLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
13
+ import cn from 'classnames';
14
+ import { extractSupportProps } from '@sbercloud/uikit-product-utils';
15
+ import styles from './styles.module.css';
16
+ export function HeaderLayout(_a) {
17
+ var { menu, logo, select, breadcrumbs, toolbar, className, isMobile } = _a, rest = __rest(_a, ["menu", "logo", "select", "breadcrumbs", "toolbar", "className", "isMobile"]);
18
+ return (_jsxs("header", Object.assign({ className: cn(styles.header, className) }, extractSupportProps(rest), { children: [_jsxs("div", { className: styles.top, children: [_jsxs("div", { className: styles.left, children: [menu, logo, !isMobile && select, !isMobile && breadcrumbs] }), _jsx("div", { className: styles.right, children: toolbar })] }), isMobile && Boolean(breadcrumbs) && _jsx("div", { className: styles.bottom, children: breadcrumbs })] })));
19
+ }
@@ -0,0 +1 @@
1
+ export * from './HeaderLayout';
@@ -0,0 +1 @@
1
+ export * from './HeaderLayout';
@@ -0,0 +1,35 @@
1
+ .header{
2
+ box-sizing:border-box;
3
+ background-color:var(--sys-neutral-background, #eeeff3);
4
+ }
5
+
6
+ .top{
7
+ display:flex;
8
+ box-sizing:border-box;
9
+ align-items:center;
10
+ padding:0 var(--dimension-1m, 8px) 0 0;
11
+ height:var(--dimension-6m, 48px);
12
+ gap:var(--dimension-2m, 16px);
13
+ justify-content:space-between;
14
+ border-bottom:var(--border-width-012m, 1px) var(--border-styles-solid, solid) var(--sys-neutral-decor-default, #dde0ea);
15
+ }
16
+
17
+ .bottom{
18
+ height:32px;
19
+ box-sizing:border-box;
20
+ border-bottom:var(--border-width-012m, 1px) var(--border-styles-solid, solid) var(--sys-neutral-decor-default, #dde0ea);
21
+ display:flex;
22
+ align-items:center;
23
+ overflow:hidden;
24
+ }
25
+
26
+ .left{
27
+ display:flex;
28
+ min-width:0;
29
+ align-items:center;
30
+ }
31
+
32
+ .right{
33
+ display:flex;
34
+ align-items:center;
35
+ }