@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.
Files changed (80) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.d.ts +33 -0
  3. package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.js +24 -0
  4. package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/index.d.ts +1 -0
  5. package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/index.js +17 -0
  6. package/dist/cjs/components/ListCustom/helperComponents/ContentWrapperCustom/styles.module.css +168 -0
  7. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.d.ts +6 -0
  8. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.js +42 -0
  9. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/constants.d.ts +6 -0
  10. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/constants.js +6 -0
  11. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/index.d.ts +3 -0
  12. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/index.js +19 -0
  13. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/styles.module.css +236 -0
  14. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/types.d.ts +13 -0
  15. package/dist/cjs/components/ListCustom/helperComponents/ListItemCustom/types.js +2 -0
  16. package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.d.ts +7 -0
  17. package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.js +23 -0
  18. package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/index.d.ts +1 -0
  19. package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/index.js +17 -0
  20. package/dist/cjs/components/ListCustom/helperComponents/ListItemGroupCustom/styles.module.css +34 -0
  21. package/dist/cjs/components/ListCustom/index.d.ts +3 -0
  22. package/dist/cjs/components/ListCustom/index.js +19 -0
  23. package/dist/cjs/components/ListCustom/renderListCustom.d.ts +4 -0
  24. package/dist/cjs/components/ListCustom/renderListCustom.js +14 -0
  25. package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.js +2 -3
  26. package/dist/cjs/components/UserMenu/UserMenu.js +2 -4
  27. package/dist/cjs/components/UserMenu/hooks/useThemeItem.js +1 -4
  28. package/dist/cjs/components/index.d.ts +1 -0
  29. package/dist/cjs/components/index.js +1 -0
  30. package/dist/cjs/style.css +438 -0
  31. package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.d.ts +33 -0
  32. package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.js +18 -0
  33. package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/index.d.ts +1 -0
  34. package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/index.js +1 -0
  35. package/dist/esm/components/ListCustom/helperComponents/ContentWrapperCustom/styles.module.css +168 -0
  36. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.d.ts +6 -0
  37. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.js +36 -0
  38. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/constants.d.ts +6 -0
  39. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/constants.js +3 -0
  40. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/index.d.ts +3 -0
  41. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/index.js +3 -0
  42. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/styles.module.css +236 -0
  43. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/types.d.ts +13 -0
  44. package/dist/esm/components/ListCustom/helperComponents/ListItemCustom/types.js +1 -0
  45. package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.d.ts +7 -0
  46. package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.js +17 -0
  47. package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/index.d.ts +1 -0
  48. package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/index.js +1 -0
  49. package/dist/esm/components/ListCustom/helperComponents/ListItemGroupCustom/styles.module.css +34 -0
  50. package/dist/esm/components/ListCustom/index.d.ts +3 -0
  51. package/dist/esm/components/ListCustom/index.js +3 -0
  52. package/dist/esm/components/ListCustom/renderListCustom.d.ts +4 -0
  53. package/dist/esm/components/ListCustom/renderListCustom.js +10 -0
  54. package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.js +2 -3
  55. package/dist/esm/components/UserMenu/UserMenu.js +2 -4
  56. package/dist/esm/components/UserMenu/hooks/useThemeItem.js +1 -4
  57. package/dist/esm/components/index.d.ts +1 -0
  58. package/dist/esm/components/index.js +1 -0
  59. package/dist/esm/style.css +438 -0
  60. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  61. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  62. package/package.json +31 -28
  63. package/src/components/ListCustom/helperComponents/ContentWrapperCustom/ContentWrapperCustom.tsx +106 -0
  64. package/src/components/ListCustom/helperComponents/ContentWrapperCustom/index.ts +1 -0
  65. package/src/components/ListCustom/helperComponents/ContentWrapperCustom/styles.module.scss +205 -0
  66. package/src/components/ListCustom/helperComponents/ListItemCustom/ListItemCustom.tsx +146 -0
  67. package/src/components/ListCustom/helperComponents/ListItemCustom/constants.ts +4 -0
  68. package/src/components/ListCustom/helperComponents/ListItemCustom/index.ts +3 -0
  69. package/src/components/ListCustom/helperComponents/ListItemCustom/styles.module.scss +218 -0
  70. package/src/components/ListCustom/helperComponents/ListItemCustom/types.ts +18 -0
  71. package/src/components/ListCustom/helperComponents/ListItemGroupCustom/ListItemGroupCustom.tsx +56 -0
  72. package/src/components/ListCustom/helperComponents/ListItemGroupCustom/index.ts +1 -0
  73. package/src/components/ListCustom/helperComponents/ListItemGroupCustom/styles.module.scss +52 -0
  74. package/src/components/ListCustom/index.ts +3 -0
  75. package/src/components/ListCustom/renderListCustom.tsx +13 -0
  76. package/src/components/ListCustom/specs/readme.md +197 -0
  77. package/src/components/MainMenu/helperComponents/Favorites/Favorites.tsx +8 -3
  78. package/src/components/UserMenu/UserMenu.tsx +5 -5
  79. package/src/components/UserMenu/hooks/useThemeItem.tsx +1 -4
  80. package/src/components/index.ts +1 -0
@@ -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,3 @@
1
+ export * from './helperComponents/ListItemCustom';
2
+ export * from './helperComponents/ListItemGroupCustom';
3
+ export * from './renderListCustom';
@@ -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: 'm', ...favorite.actions, className: comfortClassName, closeDroplistOnItemClick: true, 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 }))] }));
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: 'm', selection: SELECTION_STUB, pinTop: pinTop, items: menuItems, pinBottom: pinBottom, scroll: !isMobile, trigger: 'click', placement: 'bottom-end', className: (0, classnames_1.default)(styles_module_scss_1.default.userMenuDroplist, comfortClassName), 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, children: trigger }));
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
- listClassName: comfortClassName,
57
- }), [comfortClassName, t, themeModeOptions]);
54
+ }), [t, themeModeOptions]);
58
55
  }
@@ -1,5 +1,6 @@
1
1
  export * from './HeaderButton';
2
2
  export * from './HeaderLayout';
3
+ export * from './ListCustom';
3
4
  export * from './MainMenu';
4
5
  export * from './UserMenu';
5
6
  export * from './Logo';
@@ -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);