@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
|
@@ -30,15 +30,10 @@ export type InnerLink = {
|
|
|
30
30
|
label: string;
|
|
31
31
|
/** Краткое описание сервиса — отображается при включённом переключателе «Описание». */
|
|
32
32
|
description?: string;
|
|
33
|
-
/** Колбэк клика по карточке. */
|
|
34
33
|
onClick(e?: MouseEvent<HTMLElement>): void;
|
|
35
|
-
/** Ссылка карточки (рендерится как `<a>`). */
|
|
36
34
|
href?: string;
|
|
37
|
-
/** Карточка недоступна для клика/drag и визуально приглушена. */
|
|
38
35
|
disabled?: boolean;
|
|
39
|
-
/** Карточка скрыта (не рендерится, но остаётся в данных — например, для поиска). */
|
|
40
36
|
hidden?: boolean;
|
|
41
|
-
/** Промо-тег карточки. */
|
|
42
37
|
badge?: CardServiceLightProps['promoTag'];
|
|
43
38
|
/** Разрешено ли добавление карточки в избранное. default=true - разрешено */
|
|
44
39
|
favoritesEnabled?: boolean;
|
|
@@ -67,17 +62,13 @@ export type InnerLink = {
|
|
|
67
62
|
aliases: string[];
|
|
68
63
|
};
|
|
69
64
|
type TitleStatic = {
|
|
70
|
-
/** Текст заголовка. */
|
|
71
65
|
text: string;
|
|
72
66
|
onClick?: never;
|
|
73
67
|
href?: never;
|
|
74
68
|
};
|
|
75
69
|
type TitleClickable = {
|
|
76
|
-
/** Текст заголовка. */
|
|
77
70
|
text: string;
|
|
78
|
-
/** Ссылка заголовка (рендерится как `<a>`). */
|
|
79
71
|
href?: string;
|
|
80
|
-
/** Колбэк клика по заголовку. */
|
|
81
72
|
onClick?(e?: MouseEvent<HTMLElement>): void;
|
|
82
73
|
};
|
|
83
74
|
export type LinksGroupTitle = TitleStatic | TitleClickable;
|
|
@@ -93,7 +84,6 @@ export type LinksGroup = {
|
|
|
93
84
|
id: string;
|
|
94
85
|
/** Заголовок группы в сетке карточек и в боковой навигации. */
|
|
95
86
|
label: LinksGroupTitle;
|
|
96
|
-
/** Иконка группы. */
|
|
97
87
|
icon?: JSXElementConstructor<{
|
|
98
88
|
size?: number;
|
|
99
89
|
className?: string;
|
|
@@ -102,9 +92,7 @@ export type LinksGroup = {
|
|
|
102
92
|
* Синонимы заголовка группы для fuzzy-поиска.
|
|
103
93
|
*/
|
|
104
94
|
aliases?: string[];
|
|
105
|
-
/** Колбэк клика по заголовку группы. */
|
|
106
95
|
onClick?(e?: MouseEvent<HTMLElement>): void;
|
|
107
|
-
/** Группа скрыта (не рендерится, но остаётся в данных — например, для поиска). */
|
|
108
96
|
hidden?: boolean;
|
|
109
97
|
/**
|
|
110
98
|
* Разрешено ли добавление карточек группы в избранное.
|
|
@@ -116,7 +104,7 @@ export type LinksGroup = {
|
|
|
116
104
|
items: InnerLink[];
|
|
117
105
|
/** Цвет блока группы. */
|
|
118
106
|
blockColor?: LinksGroupBlockColor;
|
|
119
|
-
/** Визуальное выделение
|
|
107
|
+
/** Визуальное выделение группы */
|
|
120
108
|
highlight?: boolean;
|
|
121
109
|
};
|
|
122
110
|
/**
|
|
@@ -160,11 +148,8 @@ export type MainMenuSegmentPrefs = {
|
|
|
160
148
|
expanded?: string[];
|
|
161
149
|
};
|
|
162
150
|
export type SearchProps = Pick<SearchPropsSnack, 'onBlur' | 'onFocus'> & {
|
|
163
|
-
/** Текущее значение поисковой строки. */
|
|
164
151
|
value: string;
|
|
165
|
-
/** Колбэк изменения значения поисковой строки. */
|
|
166
152
|
onChange(value: string): void;
|
|
167
|
-
/** Колбэк вызывается, когда поиск по текущему значению не дал результатов. */
|
|
168
153
|
onSearchNoResult?(value: string): void;
|
|
169
154
|
};
|
|
170
155
|
export type FavoriteProps = {
|
|
@@ -208,9 +193,7 @@ export type FavoriteProps = {
|
|
|
208
193
|
loading?: boolean;
|
|
209
194
|
};
|
|
210
195
|
export type MainMenuToggleProps = {
|
|
211
|
-
/** Текущее значение переключателя. */
|
|
212
196
|
value: boolean;
|
|
213
|
-
/** Колбэк изменения значения переключателя. */
|
|
214
197
|
onChange(value: boolean): void;
|
|
215
198
|
};
|
|
216
199
|
/**
|
|
@@ -237,25 +220,14 @@ export type MainMenuPreferencesProps = {
|
|
|
237
220
|
showGroupsColors?: MainMenuToggleProps;
|
|
238
221
|
};
|
|
239
222
|
export type MainMenuSettingsItem = Pick<InnerLink, 'id' | 'label' | 'icon' | 'onClick' | 'href' | 'hidden'> & {
|
|
240
|
-
/** Разделитель до/после пункта. */
|
|
241
223
|
divider?: 'before' | 'after';
|
|
242
224
|
};
|
|
243
225
|
export type MainMenuProps = Pick<ContentProps, 'segments' | 'searchGroups' | 'segmentPrefs' | 'activeSegmentId' | 'onActiveSegmentChange' | 'onSegmentOrderChange' | 'onSegmentExpandedChange' | 'onSegmentServiceClick' | 'favorite' | 'preferences' | 'loading' | 'rightTop'> & {
|
|
244
|
-
/** Кнопка открытия меню недоступна для клика. */
|
|
245
226
|
disabled?: boolean;
|
|
246
|
-
/**
|
|
247
|
-
* Открыто ли меню.
|
|
248
|
-
*
|
|
249
|
-
* Не передано — состояние открытия неуправляемое (меню само переключает себя по клику на кнопку).
|
|
250
|
-
*/
|
|
251
227
|
open?: boolean;
|
|
252
|
-
/** Колбэк открытия/закрытия меню. */
|
|
253
228
|
setOpen?(open: boolean): void;
|
|
254
|
-
/** Логотип в шапке меню. */
|
|
255
229
|
logo?: ReactNode;
|
|
256
|
-
/** Слот над поиском в левой колонке (desktop) / над поиском в списке (mobile). */
|
|
257
230
|
leftTop?: ReactNode;
|
|
258
|
-
/** Слот под пунктами настроек в левой колонке (desktop) / в конце списка (mobile). */
|
|
259
231
|
leftBottom?: ReactNode;
|
|
260
232
|
/**
|
|
261
233
|
* Пункты левой колонки (desktop) / нижней части списка (mobile).
|
|
@@ -273,9 +245,7 @@ export type MainMenuProps = Pick<ContentProps, 'segments' | 'searchGroups' | 'se
|
|
|
273
245
|
* Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`).
|
|
274
246
|
*/
|
|
275
247
|
platformGroups?: LinksGroup[];
|
|
276
|
-
/** Избранное. Без пропа секция «Избранное» не отображается. */
|
|
277
248
|
favorite?: FavoriteProps;
|
|
278
|
-
/** Поиск по сервисам. Без пропа поисковая строка не отображается. */
|
|
279
249
|
search?: SearchProps;
|
|
280
250
|
/**
|
|
281
251
|
* Ширина дровера, с которой открывается меню (desktop only)
|
|
@@ -1,7 +1,2 @@
|
|
|
1
1
|
import { LinksGroup } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Строит поисковый индекс по группам один раз. Индексация каталога не зависит от строки поиска,
|
|
4
|
-
* поэтому вызывать `search` на каждый ввод дешевле, чем пересоздавать `Fuse` на каждый символ.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createLinksGroupsSearcher(links: LinksGroup[]): (searchValue: string) => LinksGroup[];
|
|
7
2
|
export declare function filterLinksGroupsFuzzy(searchValue: string, links: LinksGroup[]): LinksGroup[];
|
|
@@ -54,10 +54,16 @@ function isGroupLabelMatch(matchKey) {
|
|
|
54
54
|
matchKey === SEARCH_GROUPS_ACCESSOR.GroupId ||
|
|
55
55
|
matchKey === SEARCH_GROUPS_ACCESSOR.GroupAliases);
|
|
56
56
|
}
|
|
57
|
-
function
|
|
57
|
+
export function filterLinksGroupsFuzzy(searchValue, links) {
|
|
58
58
|
if (!searchValue) {
|
|
59
59
|
return links;
|
|
60
60
|
}
|
|
61
|
+
const itemsMap = createItemsMap(links);
|
|
62
|
+
const linksFuse = new Fuse(links, {
|
|
63
|
+
keys: Object.values(SEARCH_GROUPS_ACCESSOR),
|
|
64
|
+
includeMatches: true,
|
|
65
|
+
threshold: FUZZY_SEARCH_THRESHOLD,
|
|
66
|
+
});
|
|
61
67
|
let fuseSearchResults = linksFuse.search(searchValue);
|
|
62
68
|
if (fuseSearchResults.length < 1) {
|
|
63
69
|
const fixedLayoutValue = toggleLayout(searchValue);
|
|
@@ -149,22 +155,3 @@ function searchLinksGroups(searchValue, links, itemsMap, linksFuse) {
|
|
|
149
155
|
return accResult;
|
|
150
156
|
}, []);
|
|
151
157
|
}
|
|
152
|
-
/**
|
|
153
|
-
* Строит поисковый индекс по группам один раз. Индексация каталога не зависит от строки поиска,
|
|
154
|
-
* поэтому вызывать `search` на каждый ввод дешевле, чем пересоздавать `Fuse` на каждый символ.
|
|
155
|
-
*/
|
|
156
|
-
export function createLinksGroupsSearcher(links) {
|
|
157
|
-
const itemsMap = createItemsMap(links);
|
|
158
|
-
const linksFuse = new Fuse(links, {
|
|
159
|
-
keys: Object.values(SEARCH_GROUPS_ACCESSOR),
|
|
160
|
-
includeMatches: true,
|
|
161
|
-
threshold: FUZZY_SEARCH_THRESHOLD,
|
|
162
|
-
});
|
|
163
|
-
return (searchValue) => searchLinksGroups(searchValue, links, itemsMap, linksFuse);
|
|
164
|
-
}
|
|
165
|
-
export function filterLinksGroupsFuzzy(searchValue, links) {
|
|
166
|
-
if (!searchValue) {
|
|
167
|
-
return links;
|
|
168
|
-
}
|
|
169
|
-
return createLinksGroupsSearcher(links)(searchValue);
|
|
170
|
-
}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
import { InnerLink, LinksGroup } from '../types.js';
|
|
2
2
|
export declare function flatLinksGroups(groups?: LinksGroup[]): InnerLink[];
|
|
3
|
-
/** Все видимые сервисы каталога по id (включая вложенные). Строится один раз на набор групп. */
|
|
4
|
-
export declare function buildServicesById(groups?: LinksGroup[]): Map<string, InnerLink>;
|
|
@@ -2,7 +2,3 @@ import { flatInnerLinks } from './innerLink.js';
|
|
|
2
2
|
export function flatLinksGroups(groups = []) {
|
|
3
3
|
return groups.flatMap(({ items }) => flatInnerLinks(items));
|
|
4
4
|
}
|
|
5
|
-
/** Все видимые сервисы каталога по id (включая вложенные). Строится один раз на набор групп. */
|
|
6
|
-
export function buildServicesById(groups = []) {
|
|
7
|
-
return new Map(flatLinksGroups(groups).map(service => [service.id, service]));
|
|
8
|
-
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { InnerLink } from '../types.js';
|
|
2
|
-
export declare function resolveInnerLinksByIds(ids: string[],
|
|
1
|
+
import { InnerLink, LinksGroup } from '../types.js';
|
|
2
|
+
export declare function resolveInnerLinksByIds(ids: string[], groups: LinksGroup[]): InnerLink[];
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { flatLinksGroups } from './flatLinksGroups.js';
|
|
2
|
+
export function resolveInnerLinksByIds(ids, groups) {
|
|
2
3
|
if (!ids.length) {
|
|
3
4
|
return [];
|
|
4
5
|
}
|
|
5
|
-
|
|
6
|
+
const itemsById = new Map(flatLinksGroups(groups).map(item => [item.id, item]));
|
|
7
|
+
return ids.map(id => itemsById.get(id)).filter((item) => Boolean(item));
|
|
6
8
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { BreadcrumbsProps } from '@cloud-ru/ds-breadcrumbs';
|
|
2
2
|
type PathBreadcrumbsProps = {
|
|
3
|
-
/** Пункты хлебных крошек. */
|
|
4
3
|
items: BreadcrumbsProps['items'];
|
|
5
|
-
/** Мобильная раскладка — уменьшенный размер. */
|
|
6
4
|
isMobile?: boolean;
|
|
7
5
|
};
|
|
8
6
|
export declare function PathBreadcrumbs({ isMobile, items }: PathBreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
import { BaseItemProps, DroplistProps } from '@cloud-ru/ds-list';
|
|
2
2
|
import { ThemeProps, UserProfileProps } from './types.js';
|
|
3
3
|
export type UserMenuProps = {
|
|
4
|
-
/** Профиль пользователя (имя, email, счётчик приглашений). */
|
|
5
4
|
profile?: UserProfileProps;
|
|
6
|
-
/** Переключатель темы в меню. Без пропа не отображается. */
|
|
7
5
|
theme?: ThemeProps;
|
|
8
|
-
/** Дополнительные пункты меню (например, список организаций). */
|
|
9
6
|
items?: DroplistProps['items'];
|
|
10
|
-
/** Пункты настроек в нижней части меню. */
|
|
11
7
|
settingItems?: BaseItemProps[];
|
|
12
|
-
/** Колбэк клика по пункту «Выйти». */
|
|
13
8
|
onLogout?(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Открыто ли меню.
|
|
16
|
-
*
|
|
17
|
-
* Не передано — состояние открытия неуправляемое (меню само переключает себя по клику на кнопку).
|
|
18
|
-
*/
|
|
19
9
|
open?: boolean;
|
|
20
|
-
/** Колбэк открытия/закрытия меню. */
|
|
21
10
|
setOpen?(open: boolean): void;
|
|
22
|
-
/** Текст подсказки для кнопки-триггера. */
|
|
23
11
|
triggerTooltip?: string;
|
|
24
|
-
/** Колбэк клика по кнопке-триггеру. */
|
|
25
12
|
onClick?(): void;
|
|
26
13
|
};
|
|
27
14
|
export declare function UserMenu({ profile, open: openProp, setOpen: setOpenProp, onLogout, items, settingItems, theme, onClick, triggerTooltip, }: UserMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { MouseEvent, ReactNode } from 'react';
|
|
2
2
|
export type UserProfileProps = {
|
|
3
|
-
/** Полное имя пользователя. Отображается в аватаре (первые буквы) и в пункте профиля меню. */
|
|
4
3
|
fullName?: string;
|
|
5
|
-
/** Email пользователя. */
|
|
6
4
|
email?: string;
|
|
7
|
-
/** Число активных приглашений — отображается счётчиком на кнопке-триггере меню. */
|
|
8
5
|
inviteCount?: number;
|
|
9
|
-
/** Колбэк клика по пункту профиля. */
|
|
10
6
|
onClick?(e: MouseEvent<HTMLElement>): void;
|
|
11
|
-
/** Оборачивает содержимое пункта профиля — например, ссылкой или дополнительной разметкой. */
|
|
12
7
|
itemWrapRender?(node: ReactNode): ReactNode;
|
|
13
8
|
};
|
|
14
9
|
type ValueOf<T> = T[keyof T];
|
|
@@ -19,9 +14,7 @@ export declare const THEME_MODE: {
|
|
|
19
14
|
};
|
|
20
15
|
export type ThemeMode = ValueOf<typeof THEME_MODE>;
|
|
21
16
|
export type ThemeProps = {
|
|
22
|
-
/** Текущий режим темы. Без пропа переключатель темы в меню не отображается. */
|
|
23
17
|
value?: ThemeMode;
|
|
24
|
-
/** Колбэк изменения режима темы. */
|
|
25
18
|
onChange?(themeMode: ThemeMode): void;
|
|
26
19
|
};
|
|
27
20
|
export {};
|
package/dist/esm/style.css
CHANGED
|
@@ -320,8 +320,6 @@
|
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
.group{
|
|
323
|
-
content-visibility:auto;
|
|
324
|
-
contain-intrinsic-size:auto var(--sn-primitive-dimension-128, 128px);
|
|
325
323
|
position:relative;
|
|
326
324
|
overflow-x:clip;
|
|
327
325
|
display:flex;
|
|
@@ -332,14 +330,6 @@
|
|
|
332
330
|
border-radius:var(--sn-density-radius-2xs, var(--sn-platform-comfort-radius-2xs, var(--sn-primitive-dimension-4, 4px)));
|
|
333
331
|
background-color:var(--sn-theme-color-neutral-background1Level, var(--sn-brand-color-neutral-95, var(--sn-brand-palette-gray-95, #fdfdfd)));
|
|
334
332
|
}
|
|
335
|
-
.group[data-appear]{
|
|
336
|
-
animation:group-appear 0.24s cubic-bezier(0.4, 0, 0.2, 1) backwards;
|
|
337
|
-
}
|
|
338
|
-
@media (prefers-reduced-motion: reduce){
|
|
339
|
-
.group[data-appear]{
|
|
340
|
-
animation:none;
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
333
|
.group[data-drag-preview]{
|
|
344
334
|
cursor:grabbing;
|
|
345
335
|
}
|
|
@@ -518,23 +508,6 @@
|
|
|
518
508
|
.skeletonService{
|
|
519
509
|
padding:var(--sn-primitive-dimension-4, 4px);
|
|
520
510
|
}
|
|
521
|
-
|
|
522
|
-
@keyframes group-appear{
|
|
523
|
-
from{
|
|
524
|
-
transform:translate(calc(-1 * var(--sn-primitive-dimension-12, 12px)), var(--sn-primitive-dimension-4, 4px));
|
|
525
|
-
opacity:0;
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
.content{
|
|
529
|
-
display:flex;
|
|
530
|
-
flex-direction:column;
|
|
531
|
-
gap:var(--sn-primitive-dimension-4, 4px);
|
|
532
|
-
width:100%;
|
|
533
|
-
min-width:0;
|
|
534
|
-
}
|
|
535
|
-
.content[data-mobile]{
|
|
536
|
-
gap:var(--sn-primitive-dimension-8, 8px);
|
|
537
|
-
}
|
|
538
511
|
.content[data-empty]{
|
|
539
512
|
height:100%;
|
|
540
513
|
}
|
|
@@ -542,12 +515,6 @@
|
|
|
542
515
|
flex:1 1 auto;
|
|
543
516
|
}
|
|
544
517
|
|
|
545
|
-
.top{
|
|
546
|
-
display:flex;
|
|
547
|
-
flex-direction:column;
|
|
548
|
-
gap:inherit;
|
|
549
|
-
}
|
|
550
|
-
|
|
551
518
|
.noData{
|
|
552
519
|
flex:1 1 auto;
|
|
553
520
|
place-self:center center;
|
|
@@ -735,6 +702,11 @@
|
|
|
735
702
|
.rightContent{
|
|
736
703
|
container-type:inline-size;
|
|
737
704
|
overflow-x:clip;
|
|
705
|
+
display:flex;
|
|
706
|
+
flex-direction:column;
|
|
707
|
+
gap:var(--sn-primitive-dimension-4, 4px);
|
|
708
|
+
width:100%;
|
|
709
|
+
min-width:0;
|
|
738
710
|
padding:var(--sn-primitive-dimension-16, 16px);
|
|
739
711
|
}
|
|
740
712
|
|
|
@@ -786,6 +758,13 @@
|
|
|
786
758
|
padding:0 var(--sn-primitive-dimension-4, 4px);
|
|
787
759
|
}
|
|
788
760
|
|
|
761
|
+
.rightContent{
|
|
762
|
+
display:flex;
|
|
763
|
+
flex-direction:column;
|
|
764
|
+
gap:var(--sn-primitive-dimension-8, 8px);
|
|
765
|
+
min-width:0;
|
|
766
|
+
}
|
|
767
|
+
|
|
789
768
|
.drawerMobile{
|
|
790
769
|
background-color:var(--sn-theme-color-neutral-background, var(--sn-brand-color-neutral-90, var(--sn-brand-palette-gray-90, #eeeff3))) !important;
|
|
791
770
|
}
|
|
@@ -887,15 +866,10 @@
|
|
|
887
866
|
border-radius:var(--sn-density-radius-3xs, var(--sn-platform-comfort-radius-3xs, var(--sn-primitive-dimension-2, 2px)));
|
|
888
867
|
}
|
|
889
868
|
|
|
890
|
-
.draggableCard
|
|
891
|
-
.staticCard{
|
|
869
|
+
.draggableCard{
|
|
892
870
|
display:flex;
|
|
893
871
|
min-width:0;
|
|
894
872
|
}
|
|
895
|
-
|
|
896
|
-
.staticCard{
|
|
897
|
-
position:relative;
|
|
898
|
-
}
|
|
899
873
|
.breadcrumbs{
|
|
900
874
|
display:flex;
|
|
901
875
|
align-items:center;
|