@cloud-ru/ds-uikit-product-header 1.5.1 → 1.5.2-preview-0406cbd2.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 (95) hide show
  1. package/README.md +0 -1
  2. package/dist/cjs/components/HeaderButton/HeaderButton.js +1 -3
  3. package/dist/cjs/components/HeaderLayout/HeaderLayout.js +1 -12
  4. package/dist/cjs/components/HeaderLayout/styles.module.css +8 -1
  5. package/dist/cjs/components/Logo/styles.module.css +1 -0
  6. package/dist/cjs/components/MainMenu/helperComponents/Banners/MenuBanner.js +1 -3
  7. package/dist/cjs/components/MainMenu/helperComponents/Banners/styles.module.css +1 -0
  8. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.js +1 -1
  9. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.css +1 -0
  10. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +1 -1
  11. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +2 -2
  12. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +9 -2
  13. package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.js +3 -1
  14. package/dist/cjs/components/MainMenu/helperComponents/Favorites/styles.module.css +5 -2
  15. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +2 -1
  16. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +2 -1
  17. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.js +2 -2
  18. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.css +3 -0
  19. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +1 -6
  20. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/styles.module.css +1 -5
  21. package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/styles.module.css +6 -6
  22. package/dist/cjs/components/MainMenu/helperComponents/Search/styles.module.css +3 -1
  23. package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +1 -2
  24. package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.js +2 -2
  25. package/dist/cjs/components/PlatformLogo/styles.module.css +3 -1
  26. package/dist/cjs/components/UserMenu/UserMenu.js +5 -1
  27. package/dist/cjs/components/UserMenu/styles.module.css +1 -1
  28. package/dist/cjs/hooks/useDesktopComfortClassName.d.ts +2 -0
  29. package/dist/cjs/hooks/useDesktopComfortClassName.js +11 -0
  30. package/dist/cjs/hooks/useMobileLayout.js +1 -0
  31. package/dist/cjs/locale/index.d.ts +8 -8
  32. package/dist/cjs/locale/index.js +4 -4
  33. package/dist/cjs/style.css +44 -20
  34. package/dist/esm/components/HeaderButton/HeaderButton.js +1 -3
  35. package/dist/esm/components/HeaderLayout/HeaderLayout.js +1 -12
  36. package/dist/esm/components/HeaderLayout/styles.module.css +8 -1
  37. package/dist/esm/components/Logo/styles.module.css +1 -0
  38. package/dist/esm/components/MainMenu/helperComponents/Banners/MenuBanner.js +1 -3
  39. package/dist/esm/components/MainMenu/helperComponents/Banners/styles.module.css +1 -0
  40. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.js +1 -1
  41. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.css +1 -0
  42. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +1 -1
  43. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +2 -2
  44. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +9 -2
  45. package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.js +3 -1
  46. package/dist/esm/components/MainMenu/helperComponents/Favorites/styles.module.css +5 -2
  47. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +2 -1
  48. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +2 -1
  49. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.js +2 -2
  50. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.css +3 -0
  51. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +1 -6
  52. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/styles.module.css +1 -5
  53. package/dist/esm/components/MainMenu/helperComponents/MountAnimation/styles.module.css +6 -6
  54. package/dist/esm/components/MainMenu/helperComponents/Search/styles.module.css +3 -1
  55. package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +1 -2
  56. package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.js +2 -2
  57. package/dist/esm/components/PlatformLogo/styles.module.css +3 -1
  58. package/dist/esm/components/UserMenu/UserMenu.js +5 -1
  59. package/dist/esm/components/UserMenu/styles.module.css +1 -1
  60. package/dist/esm/hooks/useDesktopComfortClassName.d.ts +2 -0
  61. package/dist/esm/hooks/useDesktopComfortClassName.js +8 -0
  62. package/dist/esm/hooks/useMobileLayout.js +1 -0
  63. package/dist/esm/locale/index.d.ts +8 -8
  64. package/dist/esm/locale/index.js +4 -4
  65. package/dist/esm/style.css +44 -20
  66. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  67. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  68. package/package.json +28 -28
  69. package/src/components/HeaderButton/HeaderButton.tsx +1 -4
  70. package/src/components/HeaderLayout/HeaderLayout.tsx +10 -21
  71. package/src/components/HeaderLayout/styles.module.scss +11 -1
  72. package/src/components/Logo/styles.module.scss +1 -0
  73. package/src/components/MainMenu/helperComponents/Banners/MenuBanner.tsx +1 -3
  74. package/src/components/MainMenu/helperComponents/Banners/styles.module.scss +1 -0
  75. package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.tsx +1 -1
  76. package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.scss +2 -0
  77. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.tsx +5 -1
  78. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.tsx +12 -2
  79. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.scss +13 -2
  80. package/src/components/MainMenu/helperComponents/Favorites/Favorites.tsx +3 -1
  81. package/src/components/MainMenu/helperComponents/Favorites/styles.module.scss +12 -7
  82. package/src/components/MainMenu/helperComponents/MenuDesktop/styles.module.scss +4 -2
  83. package/src/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.tsx +3 -2
  84. package/src/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.scss +4 -0
  85. package/src/components/MainMenu/helperComponents/MenuMobile/MenuMobile.tsx +46 -52
  86. package/src/components/MainMenu/helperComponents/MenuMobile/styles.module.scss +1 -7
  87. package/src/components/MainMenu/helperComponents/MountAnimation/styles.module.scss +4 -2
  88. package/src/components/MainMenu/helperComponents/Search/styles.module.scss +3 -3
  89. package/src/components/PathBreadcrumbs/PathBreadcrumbs.tsx +2 -3
  90. package/src/components/PlatformLogo/styles.module.scss +4 -1
  91. package/src/components/UserMenu/UserMenu.tsx +5 -1
  92. package/src/components/UserMenu/styles.module.scss +1 -1
  93. package/src/hooks/useDesktopComfortClassName.ts +11 -0
  94. package/src/hooks/useMobileLayout.ts +1 -0
  95. package/src/locale/index.ts +4 -4
@@ -5,17 +5,17 @@
5
5
  animation-fill-mode:forwards;
6
6
  }
7
7
  .wrapper[data-animation-type=fade-slide-up-right]{
8
- transform:translate(-12px, 4px);
8
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), var(--sn-primitive-dimension-4, 4px));
9
9
  opacity:0;
10
10
  animation-name:fade-slide-up-right;
11
11
  }
12
12
  .wrapper[data-animation-type=fade-slide-up]{
13
- transform:translate(0, 4px);
13
+ transform:translate(0, var(--sn-primitive-dimension-4, 4px));
14
14
  opacity:0;
15
15
  animation-name:fade-slide-up;
16
16
  }
17
17
  .wrapper[data-animation-type=slide-right]{
18
- transform:translate(-12px, 0);
18
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), 0);
19
19
  animation-name:slide-right;
20
20
  }
21
21
  .wrapper[data-animation-type=fade-in]{
@@ -32,7 +32,7 @@
32
32
  }
33
33
  @keyframes fade-slide-up{
34
34
  0%{
35
- transform:translate(0, 4px);
35
+ transform:translate(0, var(--sn-primitive-dimension-4, 4px));
36
36
  opacity:0;
37
37
  }
38
38
  100%{
@@ -42,7 +42,7 @@
42
42
  }
43
43
  @keyframes fade-slide-up-right{
44
44
  0%{
45
- transform:translate(-12px, 4px);
45
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), var(--sn-primitive-dimension-4, 4px));
46
46
  opacity:0;
47
47
  }
48
48
  100%{
@@ -52,7 +52,7 @@
52
52
  }
53
53
  @keyframes slide-right{
54
54
  0%{
55
- transform:translate(-12px, 0);
55
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), 0);
56
56
  }
57
57
  100%{
58
58
  transform:translate(0, 0);
@@ -1,6 +1,8 @@
1
1
  .searchWrap:not([data-mobile]){
2
2
  flex:1 1 auto;
3
- padding:var(--sn-primitive-dimension-2, 2px) var(--sn-primitive-dimension-10, 10px);
3
+ box-sizing:border-box;
4
+ margin:0 var(--sn-primitive-dimension-4, 4px);
5
+ padding:var(--sn-primitive-dimension-4, 4px) var(--sn-primitive-dimension-12, 12px);
4
6
  }
5
7
 
6
8
  .search{
@@ -1,7 +1,6 @@
1
1
  import { BreadcrumbsProps } from '@cloud-ru/ds-breadcrumbs';
2
2
  type PathBreadcrumbsProps = {
3
3
  items: BreadcrumbsProps['items'];
4
- isMobile?: boolean;
5
4
  };
6
- export declare function PathBreadcrumbs({ isMobile, items }: PathBreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function PathBreadcrumbs({ items }: PathBreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
7
6
  export {};
@@ -2,6 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Breadcrumbs } from '@cloud-ru/ds-breadcrumbs';
3
3
  import { TEST_IDS } from '../../constants.js';
4
4
  import styles from './styles.module.css';
5
- export function PathBreadcrumbs({ isMobile, items }) {
6
- return (_jsx(Breadcrumbs, { items: items, className: styles.breadcrumbs, inactiveLastItem: items.length > 1, separator: '/', size: isMobile ? 'xs' : 's', "data-test-id": TEST_IDS.breadcrumbs.root }));
5
+ export function PathBreadcrumbs({ items }) {
6
+ return (_jsx(Breadcrumbs, { items: items, className: styles.breadcrumbs, inactiveLastItem: items.length > 1, separator: '/', size: 'xs', "data-test-id": TEST_IDS.breadcrumbs.root }));
7
7
  }
@@ -2,8 +2,10 @@
2
2
  display:flex;
3
3
  align-items:center;
4
4
  justify-content:center;
5
+ box-sizing:border-box;
5
6
  width:var(--sn-primitive-dimension-24, 24px);
6
7
  height:var(--sn-primitive-dimension-24, 24px);
7
8
  border-radius:var(--sn-density-radius-2xs, var(--sn-platform-comfort-radius-2xs, var(--sn-primitive-dimension-4, 4px)));
8
- background:var(--sn-theme-color-neutral-decor, var(--sn-brand-color-neutral-80, var(--sn-brand-palette-gray-80, #e3e5ed)));
9
+ color:var(--sn-theme-color-neutral-onAccent, var(--sn-brand-color-neutral-99, var(--sn-brand-palette-gray-99, #ffffff)));
10
+ background:var(--sn-theme-color-neutral-accent, var(--sn-brand-color-neutral-50, var(--sn-brand-palette-gray-50, #8b8fa7)));
9
11
  }
@@ -2,8 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Avatar } from '@cloud-ru/ds-avatar';
3
3
  import { Droplist } from '@cloud-ru/ds-list';
4
4
  import { useValueControl } from '@cloud-ru/ds-utils';
5
+ import cn from 'classnames';
5
6
  import { useMemo } from 'react';
6
7
  import { BOTTOM_SHEET_FULLSCREEN_SNAP_POINTS, TEST_IDS } from '../../constants.js';
8
+ import { useDesktopComfortClassName } from '../../hooks/useDesktopComfortClassName.js';
7
9
  import { useMobileLayout } from '../../hooks/useMobileLayout.js';
8
10
  import { headerLocale } from '../../locale/index.js';
9
11
  import { HeaderButton } from '../HeaderButton/index.js';
@@ -17,6 +19,7 @@ const SELECTION_STUB = { mode: 'single', value: '__empty_stub__', onChange: () =
17
19
  export function UserMenu({ profile = {}, open: openProp, setOpen: setOpenProp, onLogout, items, settingItems, theme, onClick, triggerTooltip, }) {
18
20
  const { t } = headerLocale.useTranslations();
19
21
  const isMobile = useMobileLayout();
22
+ const comfortClassName = useDesktopComfortClassName();
20
23
  const [open = false, setOpen] = useValueControl({ value: openProp, onChange: setOpenProp });
21
24
  const { fullName = '', inviteCount } = profile;
22
25
  const userMenuItems = useUserMenuItems({
@@ -36,7 +39,8 @@ export function UserMenu({ profile = {}, open: openProp, setOpen: setOpenProp, o
36
39
  }, counter: Number(inviteCount)
37
40
  ? {
38
41
  value: Number(inviteCount),
42
+ appearance: 'primary',
39
43
  }
40
44
  : undefined, "data-test-id": TEST_IDS.userMenu.button, icon: _jsx(Avatar, { appearance: 'red', size: 's', name: fullName, showTwoSymbols: true }), "data-pressed": open })), [fullName, inviteCount, onClick, open, setOpen, isMobile, triggerTooltip]);
41
- return (_jsx(Droplist, { open: open, onOpenChange: setOpen, size: 'm', selection: SELECTION_STUB, items: userMenuItems, trigger: 'click', placement: 'bottom-end', className: styles.userMenuDroplist, closeOnPopstate: true, "data-test-id": TEST_IDS.userMenu.root, label: t('user'), snapPoints: BOTTOM_SHEET_FULLSCREEN_SNAP_POINTS, children: trigger }));
45
+ return (_jsx(Droplist, { open: open, onOpenChange: setOpen, size: 'm', selection: SELECTION_STUB, items: userMenuItems, trigger: 'click', placement: 'bottom-end', className: cn(styles.userMenuDroplist, comfortClassName), closeOnPopstate: true, "data-test-id": TEST_IDS.userMenu.root, label: t('user'), snapPoints: BOTTOM_SHEET_FULLSCREEN_SNAP_POINTS, children: trigger }));
42
46
  }
@@ -1,5 +1,5 @@
1
1
  .userMenuDroplist{
2
- width:272px;
2
+ width:256px;
3
3
  }
4
4
 
5
5
  .userMenuTrigger{
@@ -0,0 +1,2 @@
1
+ /** Класс плотности comfort для выпадающих списков шапки на desktop; на mobile остаётся compact из темы. */
2
+ export declare function useDesktopComfortClassName(): string | undefined;
@@ -0,0 +1,8 @@
1
+ import { DENSITY, useThemeClassnames } from '@cloud-ru/ds-theme';
2
+ import { useMobileLayout } from './useMobileLayout.js';
3
+ /** Класс плотности comfort для выпадающих списков шапки на desktop; на mobile остаётся compact из темы. */
4
+ export function useDesktopComfortClassName() {
5
+ const isMobile = useMobileLayout();
6
+ const comfortClassName = useThemeClassnames({ density: DENSITY.Comfort });
7
+ return isMobile ? undefined : comfortClassName;
8
+ }
@@ -1,5 +1,6 @@
1
1
  import { LAYOUT_TYPE, useAdaptiveLayout } from '@cloud-ru/ds-adaptive';
2
2
  export function useMobileLayout() {
3
3
  const { layoutType } = useAdaptiveLayout();
4
+ // Осознанное исключение из isMobileLayout: desktop-шапка не помещается на tablet и desktopSmall
4
5
  return layoutType !== LAYOUT_TYPE.Desktop;
5
6
  }
@@ -3,11 +3,11 @@ declare const HEADER_MESSAGES: {
3
3
  readonly searchByServices: "Search by services and their sections";
4
4
  readonly services: "Services";
5
5
  readonly user: "User";
6
- readonly logout: "Log out";
6
+ readonly logout: "Log out of account";
7
7
  readonly noData: "No data";
8
8
  readonly noDataFound: "Nothing found";
9
9
  readonly dragGroup: "Drag group";
10
- readonly themeModeLabel: "Theme";
10
+ readonly themeModeLabel: "Interface theme";
11
11
  readonly themeModeLight: "Light";
12
12
  readonly themeModeDark: "Dark";
13
13
  readonly themeModeSystem: "System";
@@ -31,11 +31,11 @@ declare const HEADER_MESSAGES: {
31
31
  readonly searchByServices: "Поиск по сервисам и их разделам";
32
32
  readonly services: "Сервисы";
33
33
  readonly user: "Пользователь";
34
- readonly logout: "Выйти";
34
+ readonly logout: "Выйти из аккаунта";
35
35
  readonly noData: "Нет данных";
36
36
  readonly noDataFound: "Ничего не найдено";
37
37
  readonly dragGroup: "Перетащить группу";
38
- readonly themeModeLabel: "Тема";
38
+ readonly themeModeLabel: "Тема интерфейса";
39
39
  readonly themeModeLight: "Светлая";
40
40
  readonly themeModeDark: "Тёмная";
41
41
  readonly themeModeSystem: "Системная";
@@ -62,11 +62,11 @@ export declare const headerLocale: import("@cloud-ru/ds-locale").DefinedLocale<{
62
62
  readonly searchByServices: "Search by services and their sections";
63
63
  readonly services: "Services";
64
64
  readonly user: "User";
65
- readonly logout: "Log out";
65
+ readonly logout: "Log out of account";
66
66
  readonly noData: "No data";
67
67
  readonly noDataFound: "Nothing found";
68
68
  readonly dragGroup: "Drag group";
69
- readonly themeModeLabel: "Theme";
69
+ readonly themeModeLabel: "Interface theme";
70
70
  readonly themeModeLight: "Light";
71
71
  readonly themeModeDark: "Dark";
72
72
  readonly themeModeSystem: "System";
@@ -90,11 +90,11 @@ export declare const headerLocale: import("@cloud-ru/ds-locale").DefinedLocale<{
90
90
  readonly searchByServices: "Поиск по сервисам и их разделам";
91
91
  readonly services: "Сервисы";
92
92
  readonly user: "Пользователь";
93
- readonly logout: "Выйти";
93
+ readonly logout: "Выйти из аккаунта";
94
94
  readonly noData: "Нет данных";
95
95
  readonly noDataFound: "Ничего не найдено";
96
96
  readonly dragGroup: "Перетащить группу";
97
- readonly themeModeLabel: "Тема";
97
+ readonly themeModeLabel: "Тема интерфейса";
98
98
  readonly themeModeLight: "Светлая";
99
99
  readonly themeModeDark: "Тёмная";
100
100
  readonly themeModeSystem: "Системная";
@@ -4,11 +4,11 @@ const HEADER_MESSAGES = defineMessages({
4
4
  searchByServices: 'Search by services and their sections',
5
5
  services: 'Services',
6
6
  user: 'User',
7
- logout: 'Log out',
7
+ logout: 'Log out of account',
8
8
  noData: 'No data',
9
9
  noDataFound: 'Nothing found',
10
10
  dragGroup: 'Drag group',
11
- themeModeLabel: 'Theme',
11
+ themeModeLabel: 'Interface theme',
12
12
  themeModeLight: 'Light',
13
13
  themeModeDark: 'Dark',
14
14
  themeModeSystem: 'System',
@@ -32,11 +32,11 @@ const HEADER_MESSAGES = defineMessages({
32
32
  searchByServices: 'Поиск по сервисам и их разделам',
33
33
  services: 'Сервисы',
34
34
  user: 'Пользователь',
35
- logout: 'Выйти',
35
+ logout: 'Выйти из аккаунта',
36
36
  noData: 'Нет данных',
37
37
  noDataFound: 'Ничего не найдено',
38
38
  dragGroup: 'Перетащить группу',
39
- themeModeLabel: 'Тема',
39
+ themeModeLabel: 'Тема интерфейса',
40
40
  themeModeLight: 'Светлая',
41
41
  themeModeDark: 'Тёмная',
42
42
  themeModeSystem: 'Системная',
@@ -21,7 +21,6 @@
21
21
  align-items:center;
22
22
  box-sizing:border-box;
23
23
  height:var(--sn-primitive-dimension-24, 24px);
24
- border-bottom:var(--sn-primitive-strokeWeight-strokeRegular, 1px) solid var(--sn-theme-color-available-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-default-borderColor, rgba(159, 166, 198, 0.3019607843)));
25
24
  }
26
25
 
27
26
  .left{
@@ -38,6 +37,14 @@
38
37
  align-items:center;
39
38
  height:100%;
40
39
  }
40
+
41
+ .header[data-mobile] .top{
42
+ padding:var(--sn-primitive-dimension-0, 0px);
43
+ }
44
+ .header[data-mobile] .left,
45
+ .header[data-mobile] .right{
46
+ gap:var(--sn-primitive-dimension-0, 0px);
47
+ }
41
48
  .logoImg{
42
49
  width:auto;
43
50
  min-height:var(--sn-primitive-dimension-24, 24px);
@@ -76,6 +83,7 @@
76
83
  .logo{
77
84
  position:relative;
78
85
  flex-shrink:0;
86
+ box-sizing:border-box;
79
87
  }
80
88
  .logo:active:not([data-disabled]) .iconDefault{
81
89
  opacity:0;
@@ -104,6 +112,7 @@
104
112
  }
105
113
 
106
114
  .root{
115
+ box-sizing:border-box;
107
116
  width:100%;
108
117
  min-width:0;
109
118
  }
@@ -158,6 +167,7 @@
158
167
  gap:var(--sn-primitive-dimension-8, 8px);
159
168
  align-items:center;
160
169
  justify-content:space-between;
170
+ box-sizing:border-box;
161
171
  width:100%;
162
172
  min-width:0;
163
173
  min-height:var(--sn-primitive-dimension-32, 32px);
@@ -301,7 +311,7 @@
301
311
  }
302
312
  @media (hover: hover){
303
313
  .header:hover{
304
- background-color:var(--sn-theme-color-material-stateLayer-neutral-onBackground-hovered-filled, var(--sn-brand-color-state-neutral-forLightMode-hovered-background, rgba(188, 195, 220, 0.1490196078)));
314
+ background-color:var(--sn-theme-color-neutral-decorTransparent, var(--sn-brand-color-neutral-transparent-forLightMode, rgba(124, 131, 182, 0.0784313725)));
305
315
  }
306
316
  .header:hover .headerActions{
307
317
  pointer-events:auto;
@@ -324,6 +334,7 @@
324
334
  overflow-x:clip;
325
335
  display:flex;
326
336
  flex-direction:column;
337
+ box-sizing:border-box;
327
338
  width:100%;
328
339
  min-width:0;
329
340
  padding:var(--sn-primitive-dimension-4, 4px) var(--sn-primitive-dimension-8, 8px) var(--sn-primitive-dimension-8, 8px) var(--sn-primitive-dimension-12, 12px);
@@ -383,6 +394,12 @@
383
394
  grid-template-columns:repeat(3, minmax(auto, 1fr));
384
395
  gap:var(--sn-primitive-dimension-4, 4px);
385
396
  }
397
+ .groupBody:not([data-mobile]):not([data-subcategory-body]){
398
+ padding:var(--sn-primitive-dimension-4, 4px);
399
+ }
400
+ .groupBody:not([data-mobile]):not([data-show-description]){
401
+ gap:var(--sn-primitive-dimension-0, 0px);
402
+ }
386
403
  @container (width <= 728px){
387
404
  .groupBody:not([data-mobile]){
388
405
  grid-template-columns:repeat(2, minmax(auto, 1fr));
@@ -399,7 +416,7 @@
399
416
  }
400
417
 
401
418
  .decoration{
402
- --highlight-border-width:1px;
419
+ --highlight-border-width:var(--sn-primitive-strokeWeight-strokeRegular, 1px);
403
420
  position:absolute;
404
421
  top:0;
405
422
  left:0;
@@ -590,16 +607,18 @@
590
607
 
591
608
  .listScrollInner{
592
609
  height:100%;
593
- max-height:calc(var(--sn-primitive-dimension-32, 32px) * 12 + var(--sn-primitive-dimension-4, 4px) + var(--sn-primitive-dimension-8, 8px));
610
+ max-height:calc((var(--sn-primitive-dimension-32, 32px) + var(--sn-primitive-dimension-4, 4px)) * 12 + var(--sn-primitive-dimension-8, 8px));
594
611
  }
595
612
  .listScrollInner[data-mobile]{
596
- max-height:calc(var(--sn-primitive-dimension-40, 40px) * 6 + var(--sn-primitive-dimension-4, 4px) + var(--sn-primitive-dimension-8, 8px));
613
+ max-height:calc((var(--sn-primitive-dimension-40, 40px) + var(--sn-primitive-dimension-4, 4px)) * 6 + var(--sn-primitive-dimension-8, 8px));
597
614
  }
598
615
 
599
616
  .list{
600
617
  display:flex;
601
618
  flex-direction:column;
619
+ gap:var(--sn-primitive-dimension-4, 4px);
602
620
  align-items:stretch;
621
+ box-sizing:border-box;
603
622
  width:100%;
604
623
  padding:var(--sn-primitive-dimension-4, 4px) var(--sn-primitive-dimension-8, 8px) var(--sn-primitive-dimension-8, 8px);
605
624
  }
@@ -625,6 +644,7 @@
625
644
  flex-direction:column;
626
645
  gap:var(--sn-primitive-dimension-4, 4px);
627
646
  align-items:stretch;
647
+ box-sizing:border-box;
628
648
  width:100%;
629
649
  padding:var(--sn-primitive-dimension-8, 8px);
630
650
  }
@@ -705,13 +725,14 @@
705
725
  display:flex;
706
726
  flex-direction:column;
707
727
  gap:var(--sn-primitive-dimension-4, 4px);
728
+ box-sizing:border-box;
708
729
  width:100%;
709
730
  min-width:0;
710
731
  padding:var(--sn-primitive-dimension-16, 16px);
711
732
  }
712
733
 
713
734
  .menu{
714
- --snack-menu-header-height:40px;
735
+ --snack-menu-header-height:var(--sn-primitive-dimension-40, 40px);
715
736
  --snack-menu-left-width:263px;
716
737
  position:relative;
717
738
  height:100vh;
@@ -743,19 +764,17 @@
743
764
  box-sizing:border-box;
744
765
  background-color:var(--sn-theme-color-neutral-background, var(--sn-brand-color-neutral-90, var(--sn-brand-palette-gray-90, #eeeff3)));
745
766
  }
767
+ .container[data-mobile]{
768
+ gap:var(--sn-primitive-dimension-0, 0px);
769
+ }
746
770
 
747
771
  .closeButton{
748
772
  flex-grow:1;
749
773
  flex-shrink:1;
750
774
  justify-content:flex-start;
751
775
  }
752
- .densityScope{
753
- display:contents;
754
- }
755
-
756
776
  .menuHeader{
757
777
  height:var(--sn-primitive-dimension-40, 40px);
758
- padding:0 var(--sn-primitive-dimension-4, 4px);
759
778
  }
760
779
 
761
780
  .rightContent{
@@ -773,6 +792,7 @@
773
792
  display:flex;
774
793
  flex-direction:column;
775
794
  gap:var(--sn-primitive-dimension-8, 8px);
795
+ box-sizing:border-box;
776
796
  min-height:100%;
777
797
  margin-top:calc(var(--sn-primitive-dimension-40, 40px) + var(--sn-divider-anatomy-container-height, var(--sn-primitive-dimension-1, 1px)));
778
798
  padding:var(--sn-primitive-dimension-16, 16px);
@@ -784,17 +804,17 @@
784
804
  animation-fill-mode:forwards;
785
805
  }
786
806
  .wrapper[data-animation-type=fade-slide-up-right]{
787
- transform:translate(-12px, 4px);
807
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), var(--sn-primitive-dimension-4, 4px));
788
808
  opacity:0;
789
809
  animation-name:fade-slide-up-right;
790
810
  }
791
811
  .wrapper[data-animation-type=fade-slide-up]{
792
- transform:translate(0, 4px);
812
+ transform:translate(0, var(--sn-primitive-dimension-4, 4px));
793
813
  opacity:0;
794
814
  animation-name:fade-slide-up;
795
815
  }
796
816
  .wrapper[data-animation-type=slide-right]{
797
- transform:translate(-12px, 0);
817
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), 0);
798
818
  animation-name:slide-right;
799
819
  }
800
820
  .wrapper[data-animation-type=fade-in]{
@@ -811,7 +831,7 @@
811
831
  }
812
832
  @keyframes fade-slide-up{
813
833
  0%{
814
- transform:translate(0, 4px);
834
+ transform:translate(0, var(--sn-primitive-dimension-4, 4px));
815
835
  opacity:0;
816
836
  }
817
837
  100%{
@@ -821,7 +841,7 @@
821
841
  }
822
842
  @keyframes fade-slide-up-right{
823
843
  0%{
824
- transform:translate(-12px, 4px);
844
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), var(--sn-primitive-dimension-4, 4px));
825
845
  opacity:0;
826
846
  }
827
847
  100%{
@@ -831,7 +851,7 @@
831
851
  }
832
852
  @keyframes slide-right{
833
853
  0%{
834
- transform:translate(-12px, 0);
854
+ transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), 0);
835
855
  }
836
856
  100%{
837
857
  transform:translate(0, 0);
@@ -851,7 +871,9 @@
851
871
  }
852
872
  .searchWrap:not([data-mobile]){
853
873
  flex:1 1 auto;
854
- padding:var(--sn-primitive-dimension-2, 2px) var(--sn-primitive-dimension-10, 10px);
874
+ box-sizing:border-box;
875
+ margin:0 var(--sn-primitive-dimension-4, 4px);
876
+ padding:var(--sn-primitive-dimension-4, 4px) var(--sn-primitive-dimension-12, 12px);
855
877
  }
856
878
 
857
879
  .search{
@@ -881,13 +903,15 @@
881
903
  display:flex;
882
904
  align-items:center;
883
905
  justify-content:center;
906
+ box-sizing:border-box;
884
907
  width:var(--sn-primitive-dimension-24, 24px);
885
908
  height:var(--sn-primitive-dimension-24, 24px);
886
909
  border-radius:var(--sn-density-radius-2xs, var(--sn-platform-comfort-radius-2xs, var(--sn-primitive-dimension-4, 4px)));
887
- background:var(--sn-theme-color-neutral-decor, var(--sn-brand-color-neutral-80, var(--sn-brand-palette-gray-80, #e3e5ed)));
910
+ color:var(--sn-theme-color-neutral-onAccent, var(--sn-brand-color-neutral-99, var(--sn-brand-palette-gray-99, #ffffff)));
911
+ background:var(--sn-theme-color-neutral-accent, var(--sn-brand-color-neutral-50, var(--sn-brand-palette-gray-50, #8b8fa7)));
888
912
  }
889
913
  .userMenuDroplist{
890
- width:272px;
914
+ width:256px;
891
915
  }
892
916
 
893
917
  .userMenuTrigger{