@cloud-ru/ds-uikit-product-header-legacy 0.1.4 → 0.1.5
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/README.md +58 -12
- package/dist/cjs/components/MainMenu/MainMenu.d.ts +1 -1
- package/dist/cjs/components/MainMenu/MainMenu.js +15 -3
- package/dist/cjs/components/MainMenu/types.d.ts +9 -0
- package/dist/esm/components/MainMenu/MainMenu.d.ts +1 -1
- package/dist/esm/components/MainMenu/MainMenu.js +15 -3
- package/dist/esm/components/MainMenu/types.d.ts +9 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/components/MainMenu/MainMenu.tsx +16 -14
- package/src/components/MainMenu/types.ts +10 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/ds-uikit-product-header-legacy",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -35,21 +35,21 @@
|
|
|
35
35
|
"classnames": "^2.5.1",
|
|
36
36
|
"fuse.js": "^7.1.0",
|
|
37
37
|
"@cloud-ru/ds-adaptive": "^1.0.1",
|
|
38
|
-
"@cloud-ru/ds-avatar": "^1.0.2",
|
|
39
|
-
"@cloud-ru/ds-button": "^1.0.2",
|
|
40
38
|
"@cloud-ru/ds-chips": "^1.0.13",
|
|
39
|
+
"@cloud-ru/ds-button": "^1.0.2",
|
|
40
|
+
"@cloud-ru/ds-icon-predefined": "^1.0.1",
|
|
41
41
|
"@cloud-ru/ds-divider": "^1.0.1",
|
|
42
|
-
"@cloud-ru/ds-drawer": "^1.1.1",
|
|
43
42
|
"@cloud-ru/ds-icons": "^1.1.0",
|
|
44
|
-
"@cloud-ru/ds-
|
|
45
|
-
"@cloud-ru/ds-info-block": "^1.0.1",
|
|
46
|
-
"@cloud-ru/ds-locale": "^1.0.0",
|
|
43
|
+
"@cloud-ru/ds-avatar": "^1.0.2",
|
|
47
44
|
"@cloud-ru/ds-list": "^2.1.2",
|
|
45
|
+
"@cloud-ru/ds-drawer": "^1.1.1",
|
|
46
|
+
"@cloud-ru/ds-info-block": "^1.0.1",
|
|
48
47
|
"@cloud-ru/ds-scroll": "^1.0.2",
|
|
49
|
-
"@cloud-ru/ds-typography": "^1.0.0",
|
|
50
48
|
"@cloud-ru/ds-search-private": "^1.0.6",
|
|
51
|
-
"@cloud-ru/ds-
|
|
49
|
+
"@cloud-ru/ds-locale": "^1.0.0",
|
|
50
|
+
"@cloud-ru/ds-typography": "^1.0.0",
|
|
52
51
|
"@cloud-ru/ds-uikit-product-card-predefined": "^3.0.4",
|
|
52
|
+
"@cloud-ru/ds-uikit-product-title-clickable": "^1.0.7",
|
|
53
53
|
"@cloud-ru/ds-utils": "^1.1.0"
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -24,12 +24,26 @@ export function MainMenu({
|
|
|
24
24
|
favorite,
|
|
25
25
|
search,
|
|
26
26
|
sidebarBottomSlot,
|
|
27
|
+
customMobileMenu,
|
|
27
28
|
disabled,
|
|
28
29
|
...rest
|
|
29
30
|
}: WithSupportProps<MainMenuProps & { disabled?: boolean }>): ReactElement {
|
|
30
31
|
const [open = false, setOpen] = useValueControl<boolean>({ value: openProp, onChange: setOpenProp });
|
|
31
32
|
const isMobile = useMobileLayout();
|
|
32
|
-
|
|
33
|
+
|
|
34
|
+
const menuProps = {
|
|
35
|
+
open,
|
|
36
|
+
setOpen,
|
|
37
|
+
leftTop,
|
|
38
|
+
rightTop,
|
|
39
|
+
settingItems,
|
|
40
|
+
serviceGroups,
|
|
41
|
+
platformGroups,
|
|
42
|
+
onLinkChange,
|
|
43
|
+
favorite,
|
|
44
|
+
search,
|
|
45
|
+
sidebarBottomSlot,
|
|
46
|
+
};
|
|
33
47
|
|
|
34
48
|
return (
|
|
35
49
|
<>
|
|
@@ -44,19 +58,7 @@ export function MainMenu({
|
|
|
44
58
|
data-test-id={TEST_IDS.trigger}
|
|
45
59
|
/>
|
|
46
60
|
|
|
47
|
-
<
|
|
48
|
-
open={open}
|
|
49
|
-
setOpen={setOpen}
|
|
50
|
-
leftTop={leftTop}
|
|
51
|
-
rightTop={rightTop}
|
|
52
|
-
settingItems={settingItems}
|
|
53
|
-
serviceGroups={serviceGroups}
|
|
54
|
-
platformGroups={platformGroups}
|
|
55
|
-
onLinkChange={onLinkChange}
|
|
56
|
-
favorite={favorite}
|
|
57
|
-
search={search}
|
|
58
|
-
sidebarBottomSlot={sidebarBottomSlot}
|
|
59
|
-
/>
|
|
61
|
+
{isMobile ? (customMobileMenu ?? <MenuMobile {...menuProps} />) : <MenuDesktop {...menuProps} />}
|
|
60
62
|
</>
|
|
61
63
|
);
|
|
62
64
|
}
|
|
@@ -113,6 +113,8 @@ export type MainMenuProps = {
|
|
|
113
113
|
* Без поиска: пункты в нижней части левой колонки (desktop), не в сетке карточек.
|
|
114
114
|
* С поиском: группа попадает в результаты только при совпадении; отображается **последней**
|
|
115
115
|
* (ниже `serviceGroups` и `platformGroups`). Обычно `favoritesEnabled: false`.
|
|
116
|
+
*
|
|
117
|
+
* Mobile: `CardServiceLight` + `Divider` внизу scroll-body.
|
|
116
118
|
*/
|
|
117
119
|
settingItems?: LinksGroup;
|
|
118
120
|
/**
|
|
@@ -142,4 +144,12 @@ export type MainMenuProps = {
|
|
|
142
144
|
|
|
143
145
|
/** Нижний слот левой колонки sidebar (Figma `bottom > items`). */
|
|
144
146
|
sidebarBottomSlot?: ReactNode;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Только mobile: заменяет legacy `MenuMobile` (левый drawer).
|
|
150
|
+
* Например, `MenuMobile` из `@cloud-ru/ds-uikit-product-header` (bottom sheet).
|
|
151
|
+
*
|
|
152
|
+
* Передавайте те же `open` / `setOpen`, что и в `MainMenu` (controlled), иначе триггер и кастомное меню разойдутся.
|
|
153
|
+
*/
|
|
154
|
+
customMobileMenu?: ReactNode;
|
|
145
155
|
};
|