@cloud-ru/ds-uikit-product-header 1.5.2-preview-b174c2b1.0 → 1.5.2
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/README.md +91 -91
- package/dist/cjs/components/HeaderButton/HeaderButton.d.ts +0 -1
- package/dist/cjs/components/HeaderLayout/HeaderLayout.d.ts +0 -6
- package/dist/cjs/components/Logo/Logo.d.ts +0 -7
- package/dist/cjs/components/MainMenu/MainMenu.js +6 -9
- package/dist/cjs/components/MainMenu/helperComponents/Content/Content.d.ts +0 -6
- package/dist/cjs/components/MainMenu/helperComponents/Content/Content.js +11 -35
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.d.ts +0 -9
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +4 -23
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +10 -38
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +4 -7
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +4 -9
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.d.ts +0 -2
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.d.ts +1 -3
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.js +4 -6
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.d.ts +0 -1
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +4 -9
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +12 -17
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.d.ts +3 -8
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.js +18 -24
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +0 -17
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.js +2 -4
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.d.ts +4 -4
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.js +3 -3
- package/dist/cjs/components/MainMenu/helperComponents/Content/styles.module.css +0 -16
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.d.ts +4 -4
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.js +33 -15
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.d.ts +1 -4
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.js +2 -4
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.d.ts +19 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.js +30 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.d.ts +1 -7
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.js +2 -4
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/index.d.ts +1 -2
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/index.js +1 -2
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.d.ts +25 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/{useFavoritesReorder.js → useFavoritesDnd.js} +22 -21
- package/dist/cjs/components/MainMenu/helperComponents/MenuBottom/MenuBottom.d.ts +0 -2
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.d.ts +1 -1
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.js +7 -7
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +5 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +0 -3
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.d.ts +1 -1
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +6 -5
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/styles.module.css +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/MountAnimation.d.ts +1 -1
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/MountAnimation.js +1 -4
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.d.ts +6 -30
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +21 -30
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/styles.module.css +1 -6
- package/dist/cjs/components/MainMenu/hooks/useMainMenuDnd.d.ts +4 -6
- package/dist/cjs/components/MainMenu/hooks/useMainMenuDnd.js +6 -4
- package/dist/cjs/components/MainMenu/hooks/useMenuItems.js +7 -12
- package/dist/cjs/components/MainMenu/types.d.ts +1 -31
- package/dist/cjs/components/MainMenu/utils/filterLinksGroupsFuzzy.d.ts +0 -5
- package/dist/cjs/components/MainMenu/utils/filterLinksGroupsFuzzy.js +7 -21
- package/dist/cjs/components/MainMenu/utils/flatLinksGroups.d.ts +0 -2
- package/dist/cjs/components/MainMenu/utils/flatLinksGroups.js +0 -5
- package/dist/cjs/components/MainMenu/utils/resolveInnerLinksByIds.d.ts +2 -2
- package/dist/cjs/components/MainMenu/utils/resolveInnerLinksByIds.js +4 -2
- package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +0 -2
- package/dist/cjs/components/UserMenu/UserMenu.d.ts +0 -13
- package/dist/cjs/components/UserMenu/types.d.ts +0 -7
- package/dist/cjs/style.css +13 -39
- package/dist/esm/components/HeaderButton/HeaderButton.d.ts +0 -1
- package/dist/esm/components/HeaderLayout/HeaderLayout.d.ts +0 -6
- package/dist/esm/components/Logo/Logo.d.ts +0 -7
- package/dist/esm/components/MainMenu/MainMenu.js +7 -10
- package/dist/esm/components/MainMenu/helperComponents/Content/Content.d.ts +0 -6
- package/dist/esm/components/MainMenu/helperComponents/Content/Content.js +13 -37
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.d.ts +0 -9
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +4 -23
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +9 -37
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +4 -7
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +4 -9
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.d.ts +0 -2
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.d.ts +1 -3
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.js +3 -5
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.d.ts +0 -1
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +4 -9
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +13 -18
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.d.ts +3 -8
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.js +19 -25
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +0 -17
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.js +2 -4
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.d.ts +4 -4
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.js +3 -3
- package/dist/esm/components/MainMenu/helperComponents/Content/styles.module.css +0 -16
- package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.d.ts +4 -4
- package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.js +35 -17
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.d.ts +1 -4
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.js +1 -3
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.d.ts +19 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.js +24 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.d.ts +1 -7
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.js +1 -3
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/index.d.ts +1 -2
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/index.js +1 -2
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.d.ts +25 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/{useFavoritesReorder.js → useFavoritesDnd.js} +22 -21
- package/dist/esm/components/MainMenu/helperComponents/MenuBottom/MenuBottom.d.ts +0 -2
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.d.ts +1 -1
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.js +7 -7
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +5 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +0 -3
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.d.ts +1 -1
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +6 -5
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/styles.module.css +7 -0
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/MountAnimation.d.ts +1 -1
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/MountAnimation.js +1 -4
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.d.ts +6 -30
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +20 -30
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/styles.module.css +1 -6
- package/dist/esm/components/MainMenu/hooks/useMainMenuDnd.d.ts +4 -6
- package/dist/esm/components/MainMenu/hooks/useMainMenuDnd.js +8 -6
- package/dist/esm/components/MainMenu/hooks/useMenuItems.js +8 -13
- package/dist/esm/components/MainMenu/types.d.ts +1 -31
- package/dist/esm/components/MainMenu/utils/filterLinksGroupsFuzzy.d.ts +0 -5
- package/dist/esm/components/MainMenu/utils/filterLinksGroupsFuzzy.js +7 -20
- package/dist/esm/components/MainMenu/utils/flatLinksGroups.d.ts +0 -2
- package/dist/esm/components/MainMenu/utils/flatLinksGroups.js +0 -4
- package/dist/esm/components/MainMenu/utils/resolveInnerLinksByIds.d.ts +2 -2
- package/dist/esm/components/MainMenu/utils/resolveInnerLinksByIds.js +4 -2
- package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +0 -2
- package/dist/esm/components/UserMenu/UserMenu.d.ts +0 -13
- package/dist/esm/components/UserMenu/types.d.ts +0 -7
- package/dist/esm/style.css +13 -39
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +28 -28
- package/src/components/HeaderButton/HeaderButton.tsx +0 -1
- package/src/components/HeaderLayout/HeaderLayout.tsx +0 -6
- package/src/components/Logo/Logo.tsx +0 -7
- package/src/components/MainMenu/MainMenu.tsx +6 -11
- package/src/components/MainMenu/helperComponents/Content/Content.tsx +59 -104
- package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.tsx +0 -9
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.tsx +47 -106
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.tsx +30 -20
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.tsx +0 -2
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.tsx +6 -11
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.tsx +0 -1
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.tsx +87 -72
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.tsx +48 -65
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.scss +0 -27
- package/src/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.ts +2 -4
- package/src/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.tsx +7 -8
- package/src/components/MainMenu/helperComponents/Content/styles.module.scss +0 -19
- package/src/components/MainMenu/helperComponents/Favorites/Favorites.tsx +82 -43
- package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.tsx +1 -6
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.tsx +78 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.tsx +1 -8
- package/src/components/MainMenu/helperComponents/Favorites/components/index.ts +1 -2
- package/src/components/MainMenu/helperComponents/Favorites/hooks/{useFavoritesReorder.tsx → useFavoritesDnd.tsx} +30 -32
- package/src/components/MainMenu/helperComponents/MenuBottom/MenuBottom.tsx +0 -2
- package/src/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.tsx +11 -17
- package/src/components/MainMenu/helperComponents/MenuDesktop/styles.module.scss +6 -0
- package/src/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.tsx +0 -3
- package/src/components/MainMenu/helperComponents/MenuMobile/MenuMobile.tsx +10 -7
- package/src/components/MainMenu/helperComponents/MenuMobile/styles.module.scss +7 -0
- package/src/components/MainMenu/helperComponents/MountAnimation/MountAnimation.tsx +1 -5
- package/src/components/MainMenu/helperComponents/ServiceCard/ServiceCard.tsx +41 -92
- package/src/components/MainMenu/helperComponents/ServiceCard/styles.module.scss +1 -7
- package/src/components/MainMenu/hooks/useMainMenuDnd.tsx +12 -9
- package/src/components/MainMenu/hooks/useMenuItems.tsx +10 -34
- package/src/components/MainMenu/types.ts +1 -31
- package/src/components/MainMenu/utils/filterLinksGroupsFuzzy.ts +8 -29
- package/src/components/MainMenu/utils/flatLinksGroups.ts +0 -5
- package/src/components/MainMenu/utils/resolveInnerLinksByIds.ts +6 -3
- package/src/components/PathBreadcrumbs/PathBreadcrumbs.tsx +0 -2
- package/src/components/UserMenu/UserMenu.tsx +0 -13
- package/src/components/UserMenu/types.ts +0 -7
- package/dist/cjs/components/MainMenu/helperComponents/Content/cardsContext.d.ts +0 -20
- package/dist/cjs/components/MainMenu/helperComponents/Content/cardsContext.js +0 -17
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useProgressiveCount.d.ts +0 -12
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useProgressiveCount.js +0 -39
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesDesktop.d.ts +0 -35
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesDesktop.js +0 -27
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesList.d.ts +0 -21
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesList.js +0 -31
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesMobile.d.ts +0 -28
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesMobile.js +0 -20
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesReorderList.d.ts +0 -24
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesReorderList.js +0 -36
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/RecentList.d.ts +0 -24
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/RecentList.js +0 -30
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesAutoSwitch.d.ts +0 -16
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesAutoSwitch.js +0 -28
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesReorder.d.ts +0 -30
- package/dist/cjs/utils/noop.d.ts +0 -1
- package/dist/cjs/utils/noop.js +0 -5
- package/dist/esm/components/MainMenu/helperComponents/Content/cardsContext.d.ts +0 -20
- package/dist/esm/components/MainMenu/helperComponents/Content/cardsContext.js +0 -13
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useProgressiveCount.d.ts +0 -12
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useProgressiveCount.js +0 -35
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesDesktop.d.ts +0 -35
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesDesktop.js +0 -24
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesList.d.ts +0 -21
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesList.js +0 -25
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesMobile.d.ts +0 -28
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesMobile.js +0 -17
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesReorderList.d.ts +0 -24
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesReorderList.js +0 -30
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/RecentList.d.ts +0 -24
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/RecentList.js +0 -24
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesAutoSwitch.d.ts +0 -16
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesAutoSwitch.js +0 -25
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesReorder.d.ts +0 -30
- package/dist/esm/utils/noop.d.ts +0 -1
- package/dist/esm/utils/noop.js +0 -1
- package/src/components/MainMenu/helperComponents/Content/cardsContext.ts +0 -36
- package/src/components/MainMenu/helperComponents/Content/hooks/useProgressiveCount.ts +0 -46
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesDesktop.tsx +0 -71
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesList.tsx +0 -59
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesMobile.tsx +0 -60
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesReorderList.tsx +0 -75
- package/src/components/MainMenu/helperComponents/Favorites/components/RecentList.tsx +0 -62
- package/src/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesAutoSwitch.ts +0 -32
- package/src/utils/noop.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 1.5.2 (2026-09-28)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @ds/uikit-product-header
|
|
9
|
+
|
|
6
10
|
## 1.5.1 (2026-09-25)
|
|
7
11
|
|
|
8
12
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -98,13 +98,13 @@ export function PartialSlots() {
|
|
|
98
98
|
|
|
99
99
|
| Prop | Type | Default | Description |
|
|
100
100
|
|------|------|---------|-------------|
|
|
101
|
-
| `breadcrumbs` | `ReactNode` | — |
|
|
102
|
-
| `className` | `string` | — |
|
|
101
|
+
| `breadcrumbs` | `ReactNode` | — | |
|
|
102
|
+
| `className` | `string` | — | |
|
|
103
103
|
| `data-test-id` | `string` | — | |
|
|
104
|
-
| `logo` | `ReactNode` | — |
|
|
105
|
-
| `menu` | `ReactNode` | — |
|
|
106
|
-
| `select` | `ReactNode` | — |
|
|
107
|
-
| `toolbar` | `ReactNode` | — |
|
|
104
|
+
| `logo` | `ReactNode` | — | |
|
|
105
|
+
| `menu` | `ReactNode` | — | |
|
|
106
|
+
| `select` | `ReactNode` | — | |
|
|
107
|
+
| `toolbar` | `ReactNode` | — | |
|
|
108
108
|
|
|
109
109
|
## MainMenu
|
|
110
110
|
|
|
@@ -292,27 +292,27 @@ function LocalMainMenu() {
|
|
|
292
292
|
|------|------|---------|-------------|
|
|
293
293
|
| `activeSegmentId` | `string` | — | Активный сегмент правой панели (значение SegmentControl, см. {@link MainMenuSegment.id}). <br/> Не передано — неуправляемое состояние (дефолт — первый сегмент с видимыми карточками). |
|
|
294
294
|
| `defaultWidth` | `number` | — | Ширина дровера, с которой открывается меню (desktop only) |
|
|
295
|
-
| `disabled` | `boolean` | — |
|
|
295
|
+
| `disabled` | `boolean` | — | |
|
|
296
296
|
| `draggerTooltip` | `string` | — | Текст подсказки для драггера (desktop only) |
|
|
297
|
-
| `favorite` | `FavoriteProps` | — |
|
|
298
|
-
| `leftBottom` | `ReactNode` | — |
|
|
299
|
-
| `leftTop` | `ReactNode` | — |
|
|
297
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
298
|
+
| `leftBottom` | `ReactNode` | — | |
|
|
299
|
+
| `leftTop` | `ReactNode` | — | |
|
|
300
300
|
| `loading` | `boolean` | — | Флаг загрузки данных |
|
|
301
|
-
| `logo` | `ReactNode` | — |
|
|
301
|
+
| `logo` | `ReactNode` | — | |
|
|
302
302
|
| `onActiveSegmentChange` | `((segmentId: string) => void)` | — | Колбэк смены активного сегмента правой панели. |
|
|
303
303
|
| `onSegmentExpandedChange` | `((segmentId: string, expandedGroupIds: string[]) => void)` | — | Колбэк при изменении набора раскрытых групп сегмента <br/> (без id синтетической группы избранного). |
|
|
304
304
|
| `onSegmentOrderChange` | `((segmentId: string, orderedGroupIds: string[]) => void)` | — | Колбэк после DnD групп в сегменте (без id синтетической группы избранного). |
|
|
305
305
|
| `onSegmentServiceClick` | `((service: InnerLink, e?: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | Колбэк клика по карточке сервиса в сегменте. |
|
|
306
306
|
| `onWidthChangeEnd` | `((width: number) => void)` | — | Вызывается при окончании изменения ширины дровера (desktop only) |
|
|
307
|
-
| `open` | `boolean` | — |
|
|
307
|
+
| `open` | `boolean` | — | |
|
|
308
308
|
| `platformGroups` | `LinksGroup` | — | Платформенные группы (например «Облачные продукты», «Другие продукты»). <br/> Без поиска в сетке карточек **не отображаются**. <br/> С поиском: попадают в результаты при совпадении; порядок — <br/> после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`. <br/> Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`). |
|
|
309
309
|
| `preferences` | `MainMenuPreferencesProps` | — | Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп. <br/> Не передано — кнопка настроек в тулбаре не отображается. |
|
|
310
310
|
| `rightTop` | `ReactNode` | — | Слот над тулбаром правой колонки (например, баннеры) |
|
|
311
|
-
| `search` | `SearchProps` | — |
|
|
311
|
+
| `search` | `SearchProps` | — | |
|
|
312
312
|
| `searchGroups` | `LinksGroup` | — | Результаты поиска (уже смерженные); в обычном режиме не используются. |
|
|
313
313
|
| `segmentPrefs` | `MainMenuSegmentPrefs` | — | Пользовательские prefs сегментов (порядок / раскрытие групп). <br/> Нет записи для сегмента или omit `order` / `expanded` → uncontrolled для этого поля. |
|
|
314
314
|
| `segments` | `MainMenuSegment` | — | Сегменты правой панели (сетка карточек) — только каталог. <br/> При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`. <br/> Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только <br/> первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются. <br/> При `segments.length > 1` показывается SegmentControl (скрывается во время поиска). <br/> Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже. |
|
|
315
|
-
| `setOpen` | `((open: boolean) => void)` | — |
|
|
315
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
316
316
|
| `settingItems` | `InnerLink` \| `MainMenuSettingsItem` | — | Пункты левой колонки (desktop) / нижней части списка (mobile). <br/> Плоский список (`dividerBefore` для разделителей). <br/> Не связан с сегментами правой панели и не меняется при сортировке групп в сегментах. |
|
|
317
317
|
|
|
318
318
|
##### Related types
|
|
@@ -339,17 +339,17 @@ function LocalMainMenu() {
|
|
|
339
339
|
| Prop | Type | Default | Description |
|
|
340
340
|
|------|------|---------|-------------|
|
|
341
341
|
| `aliases` | `string[]` | — | Синонимы для fuzzy-поиска. |
|
|
342
|
-
| `badge` | `CardServiceLightProps` \| `PromoTagPredefinedBaseProps` | — |
|
|
342
|
+
| `badge` | `CardServiceLightProps` \| `PromoTagPredefinedBaseProps` | — | |
|
|
343
343
|
| `description` | `string \| undefined` | — | Краткое описание сервиса — отображается при включённом переключателе «Описание». |
|
|
344
|
-
| `disabled` | `boolean \| undefined` | — |
|
|
344
|
+
| `disabled` | `boolean \| undefined` | — | |
|
|
345
345
|
| `favoritesEnabled` | `boolean \| undefined` | — | Разрешено ли добавление карточки в избранное. default=true - разрешено |
|
|
346
|
-
| `hidden` | `boolean \| undefined` | — |
|
|
347
|
-
| `href` | `string \| undefined` | — |
|
|
346
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
347
|
+
| `href` | `string \| undefined` | — | |
|
|
348
348
|
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | Иконка карточки. |
|
|
349
349
|
| `id` | `string` | — | Уникальный идентификатор карточки (также используется в избранном и при поиске). <br/> Один и тот же сервис может быть представлен в разных сегментах с разной <br/> детализацией (простая карточка в общем каталоге и раскрытая с вложенными <br/> сервисами версия в другом сегменте) — в этом случае обеим версиям задаётся <br/> общий `id`. При поиске из совпадений с одинаковым `id` в разных сегментах <br/> остаётся только первое по приоритету сегментов (см. <br/> {@link <br/> MainMenuProps.segments <br/> } <br/> ). |
|
|
350
350
|
| `items` | `InnerLink` | — | Вложенные сервисы подкатегории. <br/> При наличии карточка раскрывается аккордеоном: в свёрнутом виде — обычная карточка <br/> с кнопкой раскрытия, в развёрнутом — заголовок <br/> {@link <br/> TitleClickable <br/> } <br/> и сетка вложенных сервисов. |
|
|
351
351
|
| `label` | `string` | — | Заголовок карточки. |
|
|
352
|
-
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — |
|
|
352
|
+
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — | |
|
|
353
353
|
| `viewMode` | `"expandable"` \| `"expanded"` \| `"flat-link"` \| `"group-title-only"` | — | Режим отображения карточки. default='expandable'. <br/> - `'expandable'` — подкатегория при наличии реальных <br/> {@link <br/> items <br/> } <br/> : заголовок <br/> {@link <br/> TitleClickable <br/> } <br/> с шевроном и сетка вложенных сервисов (раскрытие/схлопывание — <br/> см. <br/> {@link <br/> expandableEnabled <br/> } <br/> ). Без `items` — обычная карточка сервиса. <br/> - `'group-title-only'` — заголовок подкатегории ( <br/> {@link <br/> TitleClickable <br/> } <br/> с шевроном) без <br/> раскрываемого тела, даже если `items` заданы: карточка ведёт себя как обычная ссылка. <br/> Полезно для группы, чьи вложенные сервисы показываются на отдельной странице. <br/> - `'flat-link'` — всегда обычная карточка сервиса, даже если `items` заданы. |
|
|
354
354
|
|
|
355
355
|
- `InnerLinkViewMode` = `"expandable"` \| `"expanded"` \| `"flat-link"` \| `"group-title-only"`
|
|
@@ -361,13 +361,13 @@ function LocalMainMenu() {
|
|
|
361
361
|
| `aliases` | `string[] \| undefined` | — | Синонимы заголовка группы для fuzzy-поиска. |
|
|
362
362
|
| `blockColor` | `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"` | — | Цвет блока группы. |
|
|
363
363
|
| `favoritesEnabled` | `boolean \| undefined` | — | Разрешено ли добавление карточек группы в избранное. |
|
|
364
|
-
| `hidden` | `boolean \| undefined` | — |
|
|
365
|
-
| `highlight` | `boolean \| undefined` | — | Визуальное выделение
|
|
366
|
-
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — |
|
|
364
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
365
|
+
| `highlight` | `boolean \| undefined` | — | Визуальное выделение группы |
|
|
366
|
+
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | |
|
|
367
367
|
| `id` | `string` | — | Уникальный идентификатор группы (якорь скролла, поиск по id). |
|
|
368
368
|
| `items` | `InnerLink` | — | Карточки сервисов или ссылок внутри группы. |
|
|
369
369
|
| `label` | `LinksGroupTitle` \| `TitleClickable` \| `TitleStatic` | — | Заголовок группы в сетке карточек и в боковой навигации. |
|
|
370
|
-
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — |
|
|
370
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
371
371
|
|
|
372
372
|
- `LinksGroupBlockColor` = `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"`
|
|
373
373
|
|
|
@@ -404,38 +404,38 @@ function LocalMainMenu() {
|
|
|
404
404
|
|
|
405
405
|
| Prop | Type | Default | Description |
|
|
406
406
|
|------|------|---------|-------------|
|
|
407
|
-
| `divider` | `"after"` \| `"before"` | — |
|
|
408
|
-
| `hidden` | `boolean \| undefined` | — |
|
|
409
|
-
| `href` | `string \| undefined` | — |
|
|
407
|
+
| `divider` | `"after"` \| `"before"` | — | |
|
|
408
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
409
|
+
| `href` | `string \| undefined` | — | |
|
|
410
410
|
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | Иконка карточки. |
|
|
411
411
|
| `id` | `string` | — | Уникальный идентификатор карточки (также используется в избранном и при поиске). <br/> Один и тот же сервис может быть представлен в разных сегментах с разной <br/> детализацией (простая карточка в общем каталоге и раскрытая с вложенными <br/> сервисами версия в другом сегменте) — в этом случае обеим версиям задаётся <br/> общий `id`. При поиске из совпадений с одинаковым `id` в разных сегментах <br/> остаётся только первое по приоритету сегментов (см. <br/> {@link <br/> MainMenuProps.segments <br/> } <br/> ). |
|
|
412
412
|
| `label` | `string` | — | Заголовок карточки. |
|
|
413
|
-
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — |
|
|
413
|
+
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — | |
|
|
414
414
|
|
|
415
415
|
**MainMenuToggleProps**
|
|
416
416
|
|
|
417
417
|
| Prop | Type | Default | Description |
|
|
418
418
|
|------|------|---------|-------------|
|
|
419
|
-
| `onChange` | `(value: boolean) => void` | — |
|
|
420
|
-
| `value` | `boolean` | — |
|
|
419
|
+
| `onChange` | `(value: boolean) => void` | — | |
|
|
420
|
+
| `value` | `boolean` | — | |
|
|
421
421
|
|
|
422
422
|
**SearchProps**
|
|
423
423
|
|
|
424
424
|
| Prop | Type | Default | Description |
|
|
425
425
|
|------|------|---------|-------------|
|
|
426
426
|
| `onBlur` | `FocusEventHandler<HTMLInputElement> \| undefined` | — | Колбек обработки потери фокуса |
|
|
427
|
-
| `onChange` | `(value: string) => void` | — |
|
|
427
|
+
| `onChange` | `(value: string) => void` | — | |
|
|
428
428
|
| `onFocus` | `FocusEventHandler<HTMLInputElement> \| undefined` | — | Колбек обработки получения фокуса |
|
|
429
|
-
| `onSearchNoResult` | `((value: string) => void) \| undefined` | — |
|
|
430
|
-
| `value` | `string` | — |
|
|
429
|
+
| `onSearchNoResult` | `((value: string) => void) \| undefined` | — | |
|
|
430
|
+
| `value` | `string` | — | |
|
|
431
431
|
|
|
432
432
|
**TitleClickable**
|
|
433
433
|
|
|
434
434
|
| Prop | Type | Default | Description |
|
|
435
435
|
|------|------|---------|-------------|
|
|
436
|
-
| `href` | `string \| undefined` | — |
|
|
437
|
-
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — |
|
|
438
|
-
| `text` | `string` | — |
|
|
436
|
+
| `href` | `string \| undefined` | — | |
|
|
437
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
438
|
+
| `text` | `string` | — | |
|
|
439
439
|
|
|
440
440
|
**TitleStatic**
|
|
441
441
|
|
|
@@ -443,7 +443,7 @@ function LocalMainMenu() {
|
|
|
443
443
|
|------|------|---------|-------------|
|
|
444
444
|
| `href` | `undefined` | — | |
|
|
445
445
|
| `onClick` | `undefined` | — | |
|
|
446
|
-
| `text` | `string` | — |
|
|
446
|
+
| `text` | `string` | — | |
|
|
447
447
|
|
|
448
448
|
### Смотри также
|
|
449
449
|
|
|
@@ -466,27 +466,27 @@ import { MainMenu, MenuMobile } from '@cloud-ru/ds-uikit-product-header';
|
|
|
466
466
|
|------|------|---------|-------------|
|
|
467
467
|
| `activeSegmentId` | `string` | — | Активный сегмент правой панели (значение SegmentControl, см. {@link MainMenuSegment.id}). <br/> Не передано — неуправляемое состояние (дефолт — первый сегмент с видимыми карточками). |
|
|
468
468
|
| `defaultWidth` | `number` | — | Ширина дровера, с которой открывается меню (desktop only) |
|
|
469
|
-
| `disabled` | `boolean` | — |
|
|
469
|
+
| `disabled` | `boolean` | — | |
|
|
470
470
|
| `draggerTooltip` | `string` | — | Текст подсказки для драггера (desktop only) |
|
|
471
|
-
| `favorite` | `FavoriteProps` | — |
|
|
472
|
-
| `leftBottom` | `ReactNode` | — |
|
|
473
|
-
| `leftTop` | `ReactNode` | — |
|
|
471
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
472
|
+
| `leftBottom` | `ReactNode` | — | |
|
|
473
|
+
| `leftTop` | `ReactNode` | — | |
|
|
474
474
|
| `loading` | `boolean` | — | Флаг загрузки данных |
|
|
475
|
-
| `logo` | `ReactNode` | — |
|
|
475
|
+
| `logo` | `ReactNode` | — | |
|
|
476
476
|
| `onActiveSegmentChange` | `((segmentId: string) => void)` | — | Колбэк смены активного сегмента правой панели. |
|
|
477
477
|
| `onSegmentExpandedChange` | `((segmentId: string, expandedGroupIds: string[]) => void)` | — | Колбэк при изменении набора раскрытых групп сегмента <br/> (без id синтетической группы избранного). |
|
|
478
478
|
| `onSegmentOrderChange` | `((segmentId: string, orderedGroupIds: string[]) => void)` | — | Колбэк после DnD групп в сегменте (без id синтетической группы избранного). |
|
|
479
479
|
| `onSegmentServiceClick` | `((service: InnerLink, e?: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | Колбэк клика по карточке сервиса в сегменте. |
|
|
480
480
|
| `onWidthChangeEnd` | `((width: number) => void)` | — | Вызывается при окончании изменения ширины дровера (desktop only) |
|
|
481
|
-
| `open` | `boolean` |
|
|
481
|
+
| `open` | `boolean` | — | |
|
|
482
482
|
| `platformGroups` | `LinksGroup` | — | Платформенные группы (например «Облачные продукты», «Другие продукты»). <br/> Без поиска в сетке карточек **не отображаются**. <br/> С поиском: попадают в результаты при совпадении; порядок — <br/> после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`. <br/> Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`). |
|
|
483
483
|
| `preferences` | `MainMenuPreferencesProps` | — | Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп. <br/> Не передано — кнопка настроек в тулбаре не отображается. |
|
|
484
484
|
| `rightTop` | `ReactNode` | — | Слот над тулбаром правой колонки (например, баннеры) |
|
|
485
|
-
| `search` | `SearchProps` | — |
|
|
485
|
+
| `search` | `SearchProps` | — | |
|
|
486
486
|
| `searchGroups` | `LinksGroup` | — | Результаты поиска (уже смерженные); в обычном режиме не используются. |
|
|
487
487
|
| `segmentPrefs` | `MainMenuSegmentPrefs` | — | Пользовательские prefs сегментов (порядок / раскрытие групп). <br/> Нет записи для сегмента или omit `order` / `expanded` → uncontrolled для этого поля. |
|
|
488
488
|
| `segments` | `MainMenuSegment` | — | Сегменты правой панели (сетка карточек) — только каталог. <br/> При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`. <br/> Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только <br/> первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются. <br/> При `segments.length > 1` показывается SegmentControl (скрывается во время поиска). <br/> Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже. |
|
|
489
|
-
| `setOpen` | `((open: boolean) => void)` | — |
|
|
489
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
490
490
|
| `settingItems` | `InnerLink` \| `MainMenuSettingsItem` | — | Пункты левой колонки (desktop) / нижней части списка (mobile). <br/> Плоский список (`dividerBefore` для разделителей). <br/> Не связан с сегментами правой панели и не меняется при сортировке групп в сегментах. |
|
|
491
491
|
|
|
492
492
|
##### Related types
|
|
@@ -513,17 +513,17 @@ import { MainMenu, MenuMobile } from '@cloud-ru/ds-uikit-product-header';
|
|
|
513
513
|
| Prop | Type | Default | Description |
|
|
514
514
|
|------|------|---------|-------------|
|
|
515
515
|
| `aliases` | `string[]` | — | Синонимы для fuzzy-поиска. |
|
|
516
|
-
| `badge` | `CardServiceLightProps` \| `PromoTagPredefinedBaseProps` | — |
|
|
516
|
+
| `badge` | `CardServiceLightProps` \| `PromoTagPredefinedBaseProps` | — | |
|
|
517
517
|
| `description` | `string \| undefined` | — | Краткое описание сервиса — отображается при включённом переключателе «Описание». |
|
|
518
|
-
| `disabled` | `boolean \| undefined` | — |
|
|
518
|
+
| `disabled` | `boolean \| undefined` | — | |
|
|
519
519
|
| `favoritesEnabled` | `boolean \| undefined` | — | Разрешено ли добавление карточки в избранное. default=true - разрешено |
|
|
520
|
-
| `hidden` | `boolean \| undefined` | — |
|
|
521
|
-
| `href` | `string \| undefined` | — |
|
|
520
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
521
|
+
| `href` | `string \| undefined` | — | |
|
|
522
522
|
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | Иконка карточки. |
|
|
523
523
|
| `id` | `string` | — | Уникальный идентификатор карточки (также используется в избранном и при поиске). <br/> Один и тот же сервис может быть представлен в разных сегментах с разной <br/> детализацией (простая карточка в общем каталоге и раскрытая с вложенными <br/> сервисами версия в другом сегменте) — в этом случае обеим версиям задаётся <br/> общий `id`. При поиске из совпадений с одинаковым `id` в разных сегментах <br/> остаётся только первое по приоритету сегментов (см. <br/> {@link <br/> MainMenuProps.segments <br/> } <br/> ). |
|
|
524
524
|
| `items` | `InnerLink` | — | Вложенные сервисы подкатегории. <br/> При наличии карточка раскрывается аккордеоном: в свёрнутом виде — обычная карточка <br/> с кнопкой раскрытия, в развёрнутом — заголовок <br/> {@link <br/> TitleClickable <br/> } <br/> и сетка вложенных сервисов. |
|
|
525
525
|
| `label` | `string` | — | Заголовок карточки. |
|
|
526
|
-
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — |
|
|
526
|
+
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — | |
|
|
527
527
|
| `viewMode` | `"expandable"` \| `"expanded"` \| `"flat-link"` \| `"group-title-only"` | — | Режим отображения карточки. default='expandable'. <br/> - `'expandable'` — подкатегория при наличии реальных <br/> {@link <br/> items <br/> } <br/> : заголовок <br/> {@link <br/> TitleClickable <br/> } <br/> с шевроном и сетка вложенных сервисов (раскрытие/схлопывание — <br/> см. <br/> {@link <br/> expandableEnabled <br/> } <br/> ). Без `items` — обычная карточка сервиса. <br/> - `'group-title-only'` — заголовок подкатегории ( <br/> {@link <br/> TitleClickable <br/> } <br/> с шевроном) без <br/> раскрываемого тела, даже если `items` заданы: карточка ведёт себя как обычная ссылка. <br/> Полезно для группы, чьи вложенные сервисы показываются на отдельной странице. <br/> - `'flat-link'` — всегда обычная карточка сервиса, даже если `items` заданы. |
|
|
528
528
|
|
|
529
529
|
- `InnerLinkViewMode` = `"expandable"` \| `"expanded"` \| `"flat-link"` \| `"group-title-only"`
|
|
@@ -535,13 +535,13 @@ import { MainMenu, MenuMobile } from '@cloud-ru/ds-uikit-product-header';
|
|
|
535
535
|
| `aliases` | `string[] \| undefined` | — | Синонимы заголовка группы для fuzzy-поиска. |
|
|
536
536
|
| `blockColor` | `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"` | — | Цвет блока группы. |
|
|
537
537
|
| `favoritesEnabled` | `boolean \| undefined` | — | Разрешено ли добавление карточек группы в избранное. |
|
|
538
|
-
| `hidden` | `boolean \| undefined` | — |
|
|
539
|
-
| `highlight` | `boolean \| undefined` | — | Визуальное выделение
|
|
540
|
-
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — |
|
|
538
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
539
|
+
| `highlight` | `boolean \| undefined` | — | Визуальное выделение группы |
|
|
540
|
+
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | |
|
|
541
541
|
| `id` | `string` | — | Уникальный идентификатор группы (якорь скролла, поиск по id). |
|
|
542
542
|
| `items` | `InnerLink` | — | Карточки сервисов или ссылок внутри группы. |
|
|
543
543
|
| `label` | `LinksGroupTitle` \| `TitleClickable` \| `TitleStatic` | — | Заголовок группы в сетке карточек и в боковой навигации. |
|
|
544
|
-
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — |
|
|
544
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
545
545
|
|
|
546
546
|
- `LinksGroupBlockColor` = `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"`
|
|
547
547
|
|
|
@@ -578,38 +578,38 @@ import { MainMenu, MenuMobile } from '@cloud-ru/ds-uikit-product-header';
|
|
|
578
578
|
|
|
579
579
|
| Prop | Type | Default | Description |
|
|
580
580
|
|------|------|---------|-------------|
|
|
581
|
-
| `divider` | `"after"` \| `"before"` | — |
|
|
582
|
-
| `hidden` | `boolean \| undefined` | — |
|
|
583
|
-
| `href` | `string \| undefined` | — |
|
|
581
|
+
| `divider` | `"after"` \| `"before"` | — | |
|
|
582
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
583
|
+
| `href` | `string \| undefined` | — | |
|
|
584
584
|
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | Иконка карточки. |
|
|
585
585
|
| `id` | `string` | — | Уникальный идентификатор карточки (также используется в избранном и при поиске). <br/> Один и тот же сервис может быть представлен в разных сегментах с разной <br/> детализацией (простая карточка в общем каталоге и раскрытая с вложенными <br/> сервисами версия в другом сегменте) — в этом случае обеим версиям задаётся <br/> общий `id`. При поиске из совпадений с одинаковым `id` в разных сегментах <br/> остаётся только первое по приоритету сегментов (см. <br/> {@link <br/> MainMenuProps.segments <br/> } <br/> ). |
|
|
586
586
|
| `label` | `string` | — | Заголовок карточки. |
|
|
587
|
-
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — |
|
|
587
|
+
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — | |
|
|
588
588
|
|
|
589
589
|
**MainMenuToggleProps**
|
|
590
590
|
|
|
591
591
|
| Prop | Type | Default | Description |
|
|
592
592
|
|------|------|---------|-------------|
|
|
593
|
-
| `onChange` | `(value: boolean) => void` | — |
|
|
594
|
-
| `value` | `boolean` | — |
|
|
593
|
+
| `onChange` | `(value: boolean) => void` | — | |
|
|
594
|
+
| `value` | `boolean` | — | |
|
|
595
595
|
|
|
596
596
|
**SearchProps**
|
|
597
597
|
|
|
598
598
|
| Prop | Type | Default | Description |
|
|
599
599
|
|------|------|---------|-------------|
|
|
600
600
|
| `onBlur` | `FocusEventHandler<HTMLInputElement> \| undefined` | — | Колбек обработки потери фокуса |
|
|
601
|
-
| `onChange` | `(value: string) => void` | — |
|
|
601
|
+
| `onChange` | `(value: string) => void` | — | |
|
|
602
602
|
| `onFocus` | `FocusEventHandler<HTMLInputElement> \| undefined` | — | Колбек обработки получения фокуса |
|
|
603
|
-
| `onSearchNoResult` | `((value: string) => void) \| undefined` | — |
|
|
604
|
-
| `value` | `string` | — |
|
|
603
|
+
| `onSearchNoResult` | `((value: string) => void) \| undefined` | — | |
|
|
604
|
+
| `value` | `string` | — | |
|
|
605
605
|
|
|
606
606
|
**TitleClickable**
|
|
607
607
|
|
|
608
608
|
| Prop | Type | Default | Description |
|
|
609
609
|
|------|------|---------|-------------|
|
|
610
|
-
| `href` | `string \| undefined` | — |
|
|
611
|
-
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — |
|
|
612
|
-
| `text` | `string` | — |
|
|
610
|
+
| `href` | `string \| undefined` | — | |
|
|
611
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
612
|
+
| `text` | `string` | — | |
|
|
613
613
|
|
|
614
614
|
**TitleStatic**
|
|
615
615
|
|
|
@@ -617,7 +617,7 @@ import { MainMenu, MenuMobile } from '@cloud-ru/ds-uikit-product-header';
|
|
|
617
617
|
|------|------|---------|-------------|
|
|
618
618
|
| `href` | `undefined` | — | |
|
|
619
619
|
| `onClick` | `undefined` | — | |
|
|
620
|
-
| `text` | `string` | — |
|
|
620
|
+
| `text` | `string` | — | |
|
|
621
621
|
|
|
622
622
|
### Адаптивность
|
|
623
623
|
|
|
@@ -693,15 +693,15 @@ export function ControlledTheme() {
|
|
|
693
693
|
|
|
694
694
|
| Prop | Type | Default | Description |
|
|
695
695
|
|------|------|---------|-------------|
|
|
696
|
-
| `items` | `BaseItemWithoutNonGroup` \| `CommonGroupItem` \| `DroplistProps` \| `ScrollProps` | — |
|
|
697
|
-
| `onClick` | `(() => void)` | — |
|
|
698
|
-
| `onLogout` | `(() => void)` | — |
|
|
699
|
-
| `open` | `boolean` | — |
|
|
700
|
-
| `profile` | `UserProfileProps` | `{}` |
|
|
701
|
-
| `setOpen` | `((open: boolean) => void)` | — |
|
|
702
|
-
| `settingItems` | `BaseItemProps` | — |
|
|
703
|
-
| `theme` | `ThemeProps` | — |
|
|
704
|
-
| `triggerTooltip` | `string` | — |
|
|
696
|
+
| `items` | `BaseItemWithoutNonGroup` \| `CommonGroupItem` \| `DroplistProps` \| `ScrollProps` | — | |
|
|
697
|
+
| `onClick` | `(() => void)` | — | |
|
|
698
|
+
| `onLogout` | `(() => void)` | — | |
|
|
699
|
+
| `open` | `boolean` | — | |
|
|
700
|
+
| `profile` | `UserProfileProps` | `{}` | |
|
|
701
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
702
|
+
| `settingItems` | `BaseItemProps` | — | |
|
|
703
|
+
| `theme` | `ThemeProps` | — | |
|
|
704
|
+
| `triggerTooltip` | `string` | — | |
|
|
705
705
|
|
|
706
706
|
##### Related types
|
|
707
707
|
|
|
@@ -711,18 +711,18 @@ export function ControlledTheme() {
|
|
|
711
711
|
|
|
712
712
|
| Prop | Type | Default | Description |
|
|
713
713
|
|------|------|---------|-------------|
|
|
714
|
-
| `onChange` | `((themeMode: ThemeMode) => void) \| undefined` | — |
|
|
715
|
-
| `value` | `"dark"` \| `"light"` \| `"system"` | — |
|
|
714
|
+
| `onChange` | `((themeMode: ThemeMode) => void) \| undefined` | — | |
|
|
715
|
+
| `value` | `"dark"` \| `"light"` \| `"system"` | — | |
|
|
716
716
|
|
|
717
717
|
**UserProfileProps**
|
|
718
718
|
|
|
719
719
|
| Prop | Type | Default | Description |
|
|
720
720
|
|------|------|---------|-------------|
|
|
721
|
-
| `email` | `string \| undefined` | — |
|
|
722
|
-
| `fullName` | `string \| undefined` | — |
|
|
723
|
-
| `inviteCount` | `number \| undefined` | — |
|
|
724
|
-
| `itemWrapRender` | `((node: ReactNode) => ReactNode) \| undefined` | — |
|
|
725
|
-
| `onClick` | `((e: MouseEvent<HTMLElement>) => void) \| undefined` | — |
|
|
721
|
+
| `email` | `string \| undefined` | — | |
|
|
722
|
+
| `fullName` | `string \| undefined` | — | |
|
|
723
|
+
| `inviteCount` | `number \| undefined` | — | |
|
|
724
|
+
| `itemWrapRender` | `((node: ReactNode) => ReactNode) \| undefined` | — | |
|
|
725
|
+
| `onClick` | `((e: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
726
726
|
|
|
727
727
|
## Logo
|
|
728
728
|
|
|
@@ -773,14 +773,14 @@ export function WithMode() {
|
|
|
773
773
|
|
|
774
774
|
| Prop | Type | Default | Description |
|
|
775
775
|
|------|------|---------|-------------|
|
|
776
|
-
| `className` | `string` | — |
|
|
776
|
+
| `className` | `string` | — | |
|
|
777
777
|
| `data-test-id` | `string` | — | |
|
|
778
|
-
| `href` | `string` | — |
|
|
779
|
-
| `loading` | `boolean` | — |
|
|
780
|
-
| `mode` | `"develop"` \| `"hybrid"` \| `"prod"` \| `"stage"` | — |
|
|
781
|
-
| `onClick` | `MouseEventHandler<HTMLAnchorElement>` | — |
|
|
782
|
-
| `path` | `string` | — |
|
|
783
|
-
| `tooltip` | `TooltipProps` | — |
|
|
778
|
+
| `href` | `string` | — | |
|
|
779
|
+
| `loading` | `boolean` | — | |
|
|
780
|
+
| `mode` | `"develop"` \| `"hybrid"` \| `"prod"` \| `"stage"` | — | |
|
|
781
|
+
| `onClick` | `MouseEventHandler<HTMLAnchorElement>` | — | |
|
|
782
|
+
| `path` | `string` | — | |
|
|
783
|
+
| `tooltip` | `TooltipProps` | — | |
|
|
784
784
|
|
|
785
785
|
##### Related types
|
|
786
786
|
|
|
@@ -821,5 +821,5 @@ export function Basic() {
|
|
|
821
821
|
|
|
822
822
|
| Prop | Type | Default | Description |
|
|
823
823
|
|------|------|---------|-------------|
|
|
824
|
-
| `isMobile` | `boolean` | — |
|
|
825
|
-
| `items` | `BreadcrumbsProps` \| `Item` | — |
|
|
824
|
+
| `isMobile` | `boolean` | — | |
|
|
825
|
+
| `items` | `BreadcrumbsProps` \| `Item` | — | |
|
|
@@ -4,7 +4,6 @@ import { ElementType } from 'react';
|
|
|
4
4
|
export type HeaderButtonProps<T extends ElementType = 'button'> = Omit<ButtonProps<T>, 'size' | 'appearance' | 'view'> & {
|
|
5
5
|
/** Настройки тултипа. `placement` и `disableSpanWrapper` зафиксированы под анатомию хедера */
|
|
6
6
|
tooltip?: Omit<TooltipProps, 'placement'>;
|
|
7
|
-
/** Мобильная раскладка — тултип не показывается (на mobile нет hover). */
|
|
8
7
|
isMobile?: boolean;
|
|
9
8
|
};
|
|
10
9
|
/**
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { WithSupportProps } from '@cloud-ru/ds-utils';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
export type HeaderLayoutProps = WithSupportProps<{
|
|
4
|
-
/** CSS-класс корневого элемента. */
|
|
5
4
|
className?: string;
|
|
6
|
-
/** Слот главного меню (слева, после логотипа). */
|
|
7
5
|
menu?: ReactNode;
|
|
8
|
-
/** Слот логотипа (крайний левый). */
|
|
9
6
|
logo?: ReactNode;
|
|
10
|
-
/** Слот селектора (например, выбор облака/организации), после меню. */
|
|
11
7
|
select?: ReactNode;
|
|
12
|
-
/** Слот хлебных крошек. На mobile переносится под основную строку хедера. */
|
|
13
8
|
breadcrumbs?: ReactNode;
|
|
14
|
-
/** Слот тулбара — правая часть хедера. */
|
|
15
9
|
toolbar?: ReactNode;
|
|
16
10
|
}>;
|
|
17
11
|
export declare function HeaderLayout({ menu, logo, select, breadcrumbs, toolbar, className, ...rest }: HeaderLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,19 +3,12 @@ import { WithSupportProps } from '@cloud-ru/ds-utils';
|
|
|
3
3
|
import { MouseEventHandler } from 'react';
|
|
4
4
|
import { HeaderLogoMode } from './constants';
|
|
5
5
|
export type LogoProps = WithSupportProps<{
|
|
6
|
-
/** Флаг загрузки — логотип показывается в состоянии загрузки кнопки. */
|
|
7
6
|
loading?: boolean;
|
|
8
|
-
/** Путь до кастомного изображения логотипа. Без пропа (или при ошибке загрузки) — дефолтная иконка. */
|
|
9
7
|
path?: string;
|
|
10
|
-
/** Режим окружения — отображается промо-тегом рядом с дефолтной иконкой (не для `'prod'`). */
|
|
11
8
|
mode?: HeaderLogoMode;
|
|
12
|
-
/** Ссылка логотипа. */
|
|
13
9
|
href: string;
|
|
14
|
-
/** Колбэк клика по логотипу. */
|
|
15
10
|
onClick?: MouseEventHandler<HTMLAnchorElement>;
|
|
16
|
-
/** CSS-класс корневого элемента. */
|
|
17
11
|
className?: string;
|
|
18
|
-
/** Настройки тултипа логотипа. */
|
|
19
12
|
tooltip?: TooltipProps;
|
|
20
13
|
}>;
|
|
21
14
|
export declare function Logo({ path, loading, mode, href, onClick, className, tooltip, ...rest }: LogoProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -14,16 +14,13 @@ const MenuMobile_1 = require("./helperComponents/MenuMobile");
|
|
|
14
14
|
function MainMenu({ open: openProp, setOpen: setOpenProp, settingItems, platformGroups, logo, leftTop, leftBottom, rightTop, segments, segmentPrefs, activeSegmentId, onActiveSegmentChange, onSegmentOrderChange, onSegmentExpandedChange, onSegmentServiceClick, favorite, search, preferences, disabled, defaultWidth, onWidthChangeEnd, draggerTooltip, loading, }) {
|
|
15
15
|
const { t } = locale_1.headerLocale.useTranslations();
|
|
16
16
|
const [open = false, setOpen] = (0, utils_1.useValueControl)({ value: openProp, onChange: setOpenProp });
|
|
17
|
-
const searchValue = search?.value;
|
|
18
|
-
const onSearchChange = search?.onChange;
|
|
19
17
|
(0, react_1.useEffect)(() => {
|
|
20
|
-
if (!open &&
|
|
21
|
-
|
|
22
|
-
}, [open,
|
|
23
|
-
const handleOpen = (0, react_1.useCallback)(() => {
|
|
24
|
-
setOpen(true);
|
|
25
|
-
}, [setOpen]);
|
|
18
|
+
if (!open && search?.value)
|
|
19
|
+
search?.onChange('');
|
|
20
|
+
}, [open, search]);
|
|
26
21
|
const isMobile = (0, useMobileLayout_1.useMobileLayout)();
|
|
27
22
|
const MenuComponent = isMobile ? MenuMobile_1.MenuMobile : MenuDesktop_1.MenuDesktop;
|
|
28
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(HeaderButton_1.HeaderButton, { tooltip: open ? undefined : { tip: t('services') }, isMobile: isMobile, disabled: disabled, icon: (0, jsx_runtime_1.jsx)(product_1.MainMenuSVG, {}), onClick:
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(HeaderButton_1.HeaderButton, { tooltip: open ? undefined : { tip: t('services') }, isMobile: isMobile, disabled: disabled, icon: (0, jsx_runtime_1.jsx)(product_1.MainMenuSVG, {}), onClick: () => {
|
|
24
|
+
setOpen(true);
|
|
25
|
+
}, "data-test-id": constants_1.TEST_IDS.mainMenu.drawerButton }), (0, jsx_runtime_1.jsx)(MenuComponent, { settingItems: settingItems, segments: segments, segmentPrefs: segmentPrefs, activeSegmentId: activeSegmentId, onActiveSegmentChange: onActiveSegmentChange, onSegmentOrderChange: onSegmentOrderChange, onSegmentExpandedChange: onSegmentExpandedChange, onSegmentServiceClick: onSegmentServiceClick, platformGroups: platformGroups, search: search, logo: logo, leftTop: leftTop, leftBottom: leftBottom, rightTop: rightTop, favorite: favorite, open: open, setOpen: setOpen, preferences: preferences, defaultWidth: defaultWidth, onWidthChangeEnd: onWidthChangeEnd, draggerTooltip: draggerTooltip, loading: loading })] }));
|
|
29
26
|
}
|
|
@@ -40,7 +40,6 @@ export type ContentProps = {
|
|
|
40
40
|
* Колбэк клика по карточке сервиса в сегменте.
|
|
41
41
|
*/
|
|
42
42
|
onSegmentServiceClick?(service: InnerLink, e?: MouseEvent<HTMLElement>): void;
|
|
43
|
-
/** Избранное. Без пропа группа-предок карточек драга из избранного не активируется. */
|
|
44
43
|
favorite?: FavoriteProps;
|
|
45
44
|
/**
|
|
46
45
|
* Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп.
|
|
@@ -48,17 +47,12 @@ export type ContentProps = {
|
|
|
48
47
|
* Не передано — кнопка настроек в тулбаре не отображается.
|
|
49
48
|
*/
|
|
50
49
|
preferences?: MainMenuPreferencesProps;
|
|
51
|
-
/** Текущее значение поисковой строки — переключает контент между каталогом и результатами поиска. */
|
|
52
50
|
searchValue?: string;
|
|
53
|
-
/** Слот поисковой строки — рендерится над контентом. */
|
|
54
51
|
search?: ReactNode;
|
|
55
52
|
/** Слот над тулбаром правой колонки (например, баннеры) */
|
|
56
53
|
rightTop?: ReactNode;
|
|
57
|
-
/** Слот под сеткой карточек. */
|
|
58
54
|
footer?: ReactNode;
|
|
59
|
-
/** Мобильная раскладка. */
|
|
60
55
|
isMobile?: boolean;
|
|
61
|
-
/** CSS-класс корневого элемента. */
|
|
62
56
|
className?: string;
|
|
63
57
|
/** Флаг загрузки данных */
|
|
64
58
|
loading?: boolean;
|