@cloud-ru/ds-uikit-product-header 2.1.6 → 2.1.8-preview-d9442369.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.d.ts +33 -0
- package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.js +24 -0
- package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/index.d.ts +1 -0
- package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/index.js +17 -0
- package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/styles.module.css +168 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.d.ts +6 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.js +42 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/constants.d.ts +6 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/constants.js +6 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/index.d.ts +3 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/index.js +19 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/styles.module.css +236 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/types.d.ts +13 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/types.js +2 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.d.ts +7 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.js +23 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/index.d.ts +1 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/index.js +17 -0
- package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/styles.module.css +34 -0
- package/dist/cjs/components/ListCustom/index.d.ts +3 -0
- package/dist/cjs/components/ListCustom/index.js +19 -0
- package/dist/cjs/components/ListCustom/renderListCustom.d.ts +4 -0
- package/dist/cjs/components/ListCustom/renderListCustom.js +14 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.js +2 -3
- package/dist/cjs/components/UserMenu/UserMenu.js +2 -4
- package/dist/cjs/components/UserMenu/hooks/useThemeItem.js +1 -4
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/style.css +438 -0
- package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.d.ts +33 -0
- package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.js +18 -0
- package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/index.d.ts +1 -0
- package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/index.js +1 -0
- package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/styles.module.css +168 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.d.ts +6 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.js +36 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/constants.d.ts +6 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/constants.js +3 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/index.d.ts +3 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/index.js +3 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/styles.module.css +236 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/types.d.ts +13 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/types.js +1 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.d.ts +7 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.js +17 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/index.d.ts +1 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/index.js +1 -0
- package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/styles.module.css +34 -0
- package/dist/esm/components/ListCustom/index.d.ts +3 -0
- package/dist/esm/components/ListCustom/index.js +3 -0
- package/dist/esm/components/ListCustom/renderListCustom.d.ts +4 -0
- package/dist/esm/components/ListCustom/renderListCustom.js +10 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.js +2 -3
- package/dist/esm/components/UserMenu/UserMenu.js +2 -4
- package/dist/esm/components/UserMenu/hooks/useThemeItem.js +1 -4
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/style.css +438 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +31 -28
- package/src/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.tsx +106 -0
- package/src/components/ListCustom/helperComponents/ContentWrapperCustom/index.ts +1 -0
- package/src/components/ListCustom/helperComponents/ContentWrapperCustom/styles.module.scss +205 -0
- package/src/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.tsx +146 -0
- package/src/components/ListCustom/helperComponents/ListItemCustom/constants.ts +4 -0
- package/src/components/ListCustom/helperComponents/ListItemCustom/index.ts +3 -0
- package/src/components/ListCustom/helperComponents/ListItemCustom/styles.module.scss +218 -0
- package/src/components/ListCustom/helperComponents/ListItemCustom/types.ts +18 -0
- package/src/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.tsx +56 -0
- package/src/components/ListCustom/helperComponents/ListItemGroupCustom/index.ts +1 -0
- package/src/components/ListCustom/helperComponents/ListItemGroupCustom/styles.module.scss +52 -0
- package/src/components/ListCustom/index.ts +3 -0
- package/src/components/ListCustom/renderListCustom.tsx +13 -0
- package/src/components/ListCustom/specs/readme.md +197 -0
- package/src/components/MainMenu/helperComponents/Favorites/Favorites.tsx +8 -3
- package/src/components/UserMenu/UserMenu.tsx +5 -5
- package/src/components/UserMenu/hooks/useThemeItem.tsx +1 -4
- package/src/components/index.ts +1 -0
package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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.ListItemGroupCustom = ListItemGroupCustom;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const divider_1 = require("@cloud-ru/ds-divider");
|
|
9
|
+
const ContentWrapperCustom_1 = require("../ContentWrapperCustom");
|
|
10
|
+
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
11
|
+
/**
|
|
12
|
+
* Кастомная оболочка заголовка группы `List`/`Droplist` (Figma `listItemGroupCustom`).
|
|
13
|
+
* Передаётся в `groupItemRender`: subtitle / subtitleTertiary / divider.
|
|
14
|
+
*/
|
|
15
|
+
function ListItemGroupCustom({ label, beforeContent, truncate, groupVariant = 'subtitleTertiary', divider, selectButtonNode, level, }) {
|
|
16
|
+
if (label) {
|
|
17
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.root, "data-level-one": level === 1 || undefined, "data-level-more-one": level > 1 || undefined, style: { '--level': level }, children: [(0, jsx_runtime_1.jsx)(ContentWrapperCustom_1.ContentWrapperCustom, { layout: 'group', beforeContent: beforeContent, label: label, truncate: truncate ? { variant: truncate.variant, label: 1 } : undefined, groupVariant: groupVariant, selectButton: selectButtonNode }), divider && ((0, jsx_runtime_1.jsx)(divider_1.Divider, { className: styles_module_scss_1.default.divider, variant: groupVariant === 'subtitle' ? divider_1.VARIANT.Regular : divider_1.VARIANT.Thin }))] }));
|
|
18
|
+
}
|
|
19
|
+
if (divider) {
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.dividerOnly, children: (0, jsx_runtime_1.jsx)(divider_1.Divider, { variant: divider_1.VARIANT.Regular }) }));
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ListItemGroupCustom';
|
|
@@ -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("./ListItemGroupCustom"), exports);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.root{
|
|
2
|
+
position:relative;
|
|
3
|
+
display:flex;
|
|
4
|
+
gap:var(--sn-list-anatomy-size-s-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-platform-comfort-spacing-control-wrapper-horizontal-s, var(--sn-platform-comfort-spacing-control-wrapper-vertical-s, var(--sn-platform-comfort-scale-025-xs, var(--sn-primitive-dimension-4, 4px))))));
|
|
5
|
+
align-items:center;
|
|
6
|
+
box-sizing:border-box;
|
|
7
|
+
width:100%;
|
|
8
|
+
min-width:100%;
|
|
9
|
+
padding:var(--sn-list-anatomy-size-s-subtitle-paddingTop, var(--sn-primitive-dimension-8, 8px)) var(--sn-primitive-dimension-8, 8px) var(--sn-list-anatomy-size-s-listItem-paddingVertical, var(--sn-density-spacing-control-container-vertical-s, var(--sn-platform-comfort-spacing-control-container-vertical-s, var(--sn-platform-comfort-scale-025-2xs, var(--sn-primitive-dimension-2, 2px)))));
|
|
10
|
+
}
|
|
11
|
+
.root:focus-visible{
|
|
12
|
+
outline:var(--sn-theme-color-available-complementary, #000000) solid var(--sn-primitive-strokeWeight-strokeSemiBold, 2px);
|
|
13
|
+
outline-offset:calc(0px - var(--sn-primitive-strokeWeight-strokeSemiBold, 2px));
|
|
14
|
+
}
|
|
15
|
+
.root[data-level-one], .root[data-level-more-one]{
|
|
16
|
+
padding-left:calc(var(--sn-primitive-dimension-8, 8px) + var(--level, 0) * var(--sn-list-anatomy-size-s-listItem-nestingLevel-paddingLeft, var(--sn-density-nestingLevel-s-paddingLeft, var(--sn-platform-comfort-icon-half-xs, var(--sn-primitive-dimension-12, 12px)))) + var(--sn-list-anatomy-size-s-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-platform-comfort-spacing-control-wrapper-horizontal-s, var(--sn-platform-comfort-spacing-control-wrapper-vertical-s, var(--sn-platform-comfort-scale-025-xs, var(--sn-primitive-dimension-4, 4px)))))));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.dividerOnly{
|
|
20
|
+
display:flex;
|
|
21
|
+
align-items:flex-end;
|
|
22
|
+
box-sizing:border-box;
|
|
23
|
+
width:100%;
|
|
24
|
+
padding:var(--sn-list-anatomy-size-s-listItem-paddingVertical, var(--sn-density-spacing-control-container-vertical-s, var(--sn-platform-comfort-spacing-control-container-vertical-s, var(--sn-platform-comfort-scale-025-2xs, var(--sn-primitive-dimension-2, 2px))))) var(--sn-primitive-dimension-8, 8px);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.divider{
|
|
28
|
+
position:absolute;
|
|
29
|
+
top:0;
|
|
30
|
+
right:0;
|
|
31
|
+
left:0;
|
|
32
|
+
width:auto;
|
|
33
|
+
min-width:0;
|
|
34
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./helperComponents/ListItemCustom"), exports);
|
|
18
|
+
__exportStar(require("./helperComponents/ListItemGroupCustom"), exports);
|
|
19
|
+
__exportStar(require("./renderListCustom"), exports);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GroupItemRenderProps, ItemRenderProps } from '@cloud-ru/ds-list';
|
|
2
|
+
/** Стабильные рендеры для `itemRender` / `groupItemRender` у `List`/`Droplist`. */
|
|
3
|
+
export declare function renderListItemCustom(props: ItemRenderProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare function renderListItemGroupCustom(props: GroupItemRenderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderListItemCustom = renderListItemCustom;
|
|
4
|
+
exports.renderListItemGroupCustom = renderListItemGroupCustom;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const ListItemCustom_1 = require("./helperComponents/ListItemCustom");
|
|
7
|
+
const ListItemGroupCustom_1 = require("./helperComponents/ListItemGroupCustom");
|
|
8
|
+
/** Стабильные рендеры для `itemRender` / `groupItemRender` у `List`/`Droplist`. */
|
|
9
|
+
function renderListItemCustom(props) {
|
|
10
|
+
return (0, jsx_runtime_1.jsx)(ListItemCustom_1.ListItemCustom, { ...props });
|
|
11
|
+
}
|
|
12
|
+
function renderListItemGroupCustom(props) {
|
|
13
|
+
return (0, jsx_runtime_1.jsx)(ListItemGroupCustom_1.ListItemGroupCustom, { ...props });
|
|
14
|
+
}
|
|
@@ -12,8 +12,8 @@ const segment_control_1 = require("@cloud-ru/ds-segment-control");
|
|
|
12
12
|
const utils_1 = require("@cloud-ru/ds-utils");
|
|
13
13
|
const classnames_1 = __importDefault(require("classnames"));
|
|
14
14
|
const react_1 = require("react");
|
|
15
|
-
const useDesktopComfortClassName_1 = require("../../../../hooks/useDesktopComfortClassName");
|
|
16
15
|
const locale_1 = require("../../../../locale");
|
|
16
|
+
const ListCustom_1 = require("../../../ListCustom");
|
|
17
17
|
const utils_2 = require("../../utils");
|
|
18
18
|
const components_1 = require("./components");
|
|
19
19
|
const constants_1 = require("./constants");
|
|
@@ -21,7 +21,6 @@ const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
|
21
21
|
function Favorites({ favorite, servicesById, headerClassName, isMobile }) {
|
|
22
22
|
const { t } = locale_1.headerLocale.useTranslations();
|
|
23
23
|
const loading = favorite.loading;
|
|
24
|
-
const comfortClassName = (0, useDesktopComfortClassName_1.useDesktopComfortClassName)();
|
|
25
24
|
const [segment, setSegment] = (0, utils_1.useValueControl)({
|
|
26
25
|
value: favorite.segment,
|
|
27
26
|
defaultValue: constants_1.FAVORITES_SEGMENT.Favorites,
|
|
@@ -44,5 +43,5 @@ function Favorites({ favorite, servicesById, headerClassName, isMobile }) {
|
|
|
44
43
|
favorite.onFavoriteServiceClick?.(service.id, event);
|
|
45
44
|
service.onClick(event);
|
|
46
45
|
});
|
|
47
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.root, "data-test-id": constants_1.FAVORITES_TEST_IDS.root, children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(styles_module_scss_1.default.header, headerClassName), "data-test-id": constants_1.FAVORITES_TEST_IDS.header, children: [(0, jsx_runtime_1.jsx)(segment_control_1.SegmentControl, { size: 'm', width: segment_control_1.WIDTH.Full, value: segment, onChange: setSegment, className: styles_module_scss_1.default.segmentControl, "data-test-id": constants_1.FAVORITES_TEST_IDS.segmentControl, items: segmentControlItems }), favorite.actions && ((0, jsx_runtime_1.jsx)(list_1.Droplist, { size: '
|
|
46
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.root, "data-test-id": constants_1.FAVORITES_TEST_IDS.root, children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(styles_module_scss_1.default.header, headerClassName), "data-test-id": constants_1.FAVORITES_TEST_IDS.header, children: [(0, jsx_runtime_1.jsx)(segment_control_1.SegmentControl, { size: 'm', width: segment_control_1.WIDTH.Full, value: segment, onChange: setSegment, className: styles_module_scss_1.default.segmentControl, "data-test-id": constants_1.FAVORITES_TEST_IDS.segmentControl, items: segmentControlItems }), favorite.actions && ((0, jsx_runtime_1.jsx)(list_1.Droplist, { ...favorite.actions, size: 's', closeDroplistOnItemClick: true, itemRender: ListCustom_1.renderListItemCustom, groupItemRender: ListCustom_1.renderListItemGroupCustom, children: (0, jsx_runtime_1.jsx)(button_1.Button, { view: 'simple', size: 'm', appearance: 'neutral', icon: (0, jsx_runtime_1.jsx)(system_1.KebabSVG, { size: 24 }), "data-test-id": constants_1.FAVORITES_TEST_IDS.settingsButton, disabled: loading }) }))] }), loading ? ((0, jsx_runtime_1.jsx)(components_1.FavoritesItemsSkeleton, {})) : ((0, jsx_runtime_1.jsx)(components_1.Content, { isMobile: isMobile, favoriteIds: favorite.value, onFavoriteChange: favorite.onChange, favoriteItems: favoriteItems, recentItems: recentItems, segment: resolvedSegment, setSegment: setSegment, onFavoriteServiceClick: handleFavoriteServiceClick, onRecentServiceClick: handleRecentServiceClick }))] }));
|
|
48
47
|
}
|
|
@@ -8,13 +8,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const avatar_1 = require("@cloud-ru/ds-avatar");
|
|
9
9
|
const list_1 = require("@cloud-ru/ds-list");
|
|
10
10
|
const utils_1 = require("@cloud-ru/ds-utils");
|
|
11
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
12
11
|
const react_1 = require("react");
|
|
13
12
|
const constants_1 = require("../../constants");
|
|
14
|
-
const useDesktopComfortClassName_1 = require("../../hooks/useDesktopComfortClassName");
|
|
15
13
|
const useMobileLayout_1 = require("../../hooks/useMobileLayout");
|
|
16
14
|
const locale_1 = require("../../locale");
|
|
17
15
|
const HeaderButton_1 = require("../HeaderButton");
|
|
16
|
+
const ListCustom_1 = require("../ListCustom");
|
|
18
17
|
const useUserMenuItems_1 = require("./hooks/useUserMenuItems");
|
|
19
18
|
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
20
19
|
// Выбор темы ведёт корневой список: `value` — текущая тема, `id` опций совпадает с
|
|
@@ -25,7 +24,6 @@ const SELECTION_STUB = { mode: 'single', value: '__empty_stub__', onChange: () =
|
|
|
25
24
|
function UserMenu({ profile = {}, open: openProp, setOpen: setOpenProp, onLogout, topItems, organizationItems, bottomItems, settingItems, theme, onClick, triggerTooltip, }) {
|
|
26
25
|
const { t } = locale_1.headerLocale.useTranslations();
|
|
27
26
|
const isMobile = (0, useMobileLayout_1.useMobileLayout)();
|
|
28
|
-
const comfortClassName = (0, useDesktopComfortClassName_1.useDesktopComfortClassName)();
|
|
29
27
|
const [open = false, setOpen] = (0, utils_1.useValueControl)({ value: openProp, onChange: setOpenProp });
|
|
30
28
|
const { fullName = '', inviteCount } = profile;
|
|
31
29
|
const handleClose = (0, react_1.useCallback)(() => {
|
|
@@ -51,5 +49,5 @@ function UserMenu({ profile = {}, open: openProp, setOpen: setOpenProp, onLogout
|
|
|
51
49
|
appearance: 'primary',
|
|
52
50
|
}
|
|
53
51
|
: undefined, "data-test-id": constants_1.TEST_IDS.userMenu.button, icon: (0, jsx_runtime_1.jsx)(avatar_1.Avatar, { appearance: 'red', size: 's', name: fullName, showTwoSymbols: true }), "data-pressed": open })), [fullName, inviteCount, onClick, open, setOpen, isMobile, triggerTooltip]);
|
|
54
|
-
return ((0, jsx_runtime_1.jsx)(list_1.Droplist, { open: open, onOpenChange: setOpen, size: '
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(list_1.Droplist, { open: open, onOpenChange: setOpen, size: 's', selection: SELECTION_STUB, pinTop: pinTop, items: menuItems, pinBottom: pinBottom, scroll: !isMobile, trigger: 'click', placement: 'bottom-end', className: styles_module_scss_1.default.userMenuDroplist, closeOnPopstate: true, "data-test-id": constants_1.TEST_IDS.userMenu.root, label: t('user'), snapPoints: list_1.SNAP_POINTS_PRESET.full, withDividers: false, triggerClassName: styles_module_scss_1.default.userMenuDroplistTrigger, itemRender: ListCustom_1.renderListItemCustom, groupItemRender: ListCustom_1.renderListItemGroupCustom, children: trigger }));
|
|
55
53
|
}
|
|
@@ -5,12 +5,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const system_1 = require("@cloud-ru/ds-icons/interface/system");
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const constants_1 = require("../../../constants");
|
|
8
|
-
const useDesktopComfortClassName_1 = require("../../../hooks/useDesktopComfortClassName");
|
|
9
8
|
const locale_1 = require("../../../locale");
|
|
10
9
|
const types_1 = require("../types");
|
|
11
10
|
function useThemeItem({ value: themeMode, onChange, isMobile, onClose, }) {
|
|
12
11
|
const { t } = locale_1.headerLocale.useTranslations();
|
|
13
|
-
const comfortClassName = (0, useDesktopComfortClassName_1.useDesktopComfortClassName)();
|
|
14
12
|
const handleClick = (0, react_1.useCallback)((themeMode) => () => {
|
|
15
13
|
onChange?.(themeMode);
|
|
16
14
|
!isMobile && onClose?.();
|
|
@@ -53,6 +51,5 @@ function useThemeItem({ value: themeMode, onChange, isMobile, onClose, }) {
|
|
|
53
51
|
beforeContent: (0, jsx_runtime_1.jsx)(system_1.ThemeContrastSVG, {}),
|
|
54
52
|
'data-test-id': constants_1.TEST_IDS.userMenu.themeMode,
|
|
55
53
|
items: themeModeOptions,
|
|
56
|
-
|
|
57
|
-
}), [comfortClassName, t, themeModeOptions]);
|
|
54
|
+
}), [t, themeModeOptions]);
|
|
58
55
|
}
|
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./HeaderButton"), exports);
|
|
18
18
|
__exportStar(require("./HeaderLayout"), exports);
|
|
19
|
+
__exportStar(require("./ListCustom"), exports);
|
|
19
20
|
__exportStar(require("./MainMenu"), exports);
|
|
20
21
|
__exportStar(require("./UserMenu"), exports);
|
|
21
22
|
__exportStar(require("./Logo"), exports);
|