@cloud-ru/ds-uikit-product-header 1.0.1-preview-7665e9c3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/LICENSE +201 -0
- package/README.md +717 -0
- package/dist/cjs/components/HeaderButton/HeaderButton.d.ts +14 -0
- package/dist/cjs/components/HeaderButton/HeaderButton.js +33 -0
- package/dist/cjs/components/HeaderButton/index.d.ts +1 -0
- package/dist/cjs/components/HeaderButton/index.js +17 -0
- package/dist/cjs/components/HeaderButton/styles.module.css +3 -0
- package/dist/cjs/components/HeaderLayout/HeaderLayout.d.ts +11 -0
- package/dist/cjs/components/HeaderLayout/HeaderLayout.js +16 -0
- package/dist/cjs/components/HeaderLayout/index.d.ts +1 -0
- package/dist/cjs/components/HeaderLayout/index.js +17 -0
- package/dist/cjs/components/HeaderLayout/styles.module.css +37 -0
- package/dist/cjs/components/Logo/Logo.d.ts +14 -0
- package/dist/cjs/components/Logo/Logo.js +35 -0
- package/dist/cjs/components/Logo/constants.d.ts +10 -0
- package/dist/cjs/components/Logo/constants.js +14 -0
- package/dist/cjs/components/Logo/index.d.ts +1 -0
- package/dist/cjs/components/Logo/index.js +17 -0
- package/dist/cjs/components/Logo/styles.module.css +53 -0
- package/dist/cjs/components/MainMenu/MainMenu.d.ts +2 -0
- package/dist/cjs/components/MainMenu/MainMenu.js +25 -0
- package/dist/cjs/components/MainMenu/constants.d.ts +14 -0
- package/dist/cjs/components/MainMenu/constants.js +24 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/MenuBanner.d.ts +16 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/MenuBanner.js +27 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/constants.d.ts +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/constants.js +10 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/index.d.ts +2 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/index.js +18 -0
- package/dist/cjs/components/MainMenu/helperComponents/Banners/styles.module.css +61 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/Content.d.ts +30 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/Content.js +100 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/constants.d.ts +9 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/constants.js +12 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.d.ts +18 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.js +35 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.css +27 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +11 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +35 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +8 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +23 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.d.ts +6 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.js +15 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.d.ts +9 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.js +15 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.d.ts +5 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.js +12 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +6 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +28 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.d.ts +5 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.js +58 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.d.ts +2 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.js +18 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/styles.module.css +66 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.d.ts +5 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.js +21 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.d.ts +3 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.js +19 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +231 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.d.ts +24 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.js +158 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.d.ts +16 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.js +59 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/index.d.ts +2 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/index.js +18 -0
- package/dist/cjs/components/MainMenu/helperComponents/Content/styles.module.css +8 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.d.ts +12 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.js +79 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.d.ts +3 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.js +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.d.ts +3 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.js +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.d.ts +6 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/styles.module.css +23 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.js +12 -0
- 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 +8 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.js +28 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/index.d.ts +4 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/index.js +20 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/constants.d.ts +15 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/constants.js +16 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.d.ts +25 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.js +92 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.js +37 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/index.d.ts +2 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/index.js +18 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/styles.module.css +87 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/utils.d.ts +6 -0
- package/dist/cjs/components/MainMenu/helperComponents/Favorites/utils.js +15 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.d.ts +2 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.js +63 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/constants.d.ts +3 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/constants.js +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +98 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.css +13 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.d.ts +2 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +36 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/styles.module.css +25 -0
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/MountAnimation.d.ts +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/MountAnimation.js +13 -0
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/index.js +5 -0
- package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/styles.module.css +60 -0
- package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.d.ts +6 -0
- package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.js +37 -0
- package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/styles.module.css +12 -0
- package/dist/cjs/components/MainMenu/helperComponents/Search/Search.d.ts +7 -0
- package/dist/cjs/components/MainMenu/helperComponents/Search/Search.js +15 -0
- package/dist/cjs/components/MainMenu/helperComponents/Search/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/Search/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/Search/styles.module.css +8 -0
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.d.ts +19 -0
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +53 -0
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/index.js +17 -0
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/styles.module.css +12 -0
- package/dist/cjs/components/MainMenu/hooks/useMainMenuDnd.d.ts +30 -0
- package/dist/cjs/components/MainMenu/hooks/useMainMenuDnd.js +93 -0
- package/dist/cjs/components/MainMenu/hooks/useMenuItems.d.ts +8 -0
- package/dist/cjs/components/MainMenu/hooks/useMenuItems.js +39 -0
- package/dist/cjs/components/MainMenu/index.d.ts +5 -0
- package/dist/cjs/components/MainMenu/index.js +21 -0
- package/dist/cjs/components/MainMenu/types.d.ts +284 -0
- package/dist/cjs/components/MainMenu/types.js +2 -0
- package/dist/cjs/components/MainMenu/utils/dedupeSearchGroups.d.ts +15 -0
- package/dist/cjs/components/MainMenu/utils/dedupeSearchGroups.js +32 -0
- package/dist/cjs/components/MainMenu/utils/dnd/favoriteListCollisionDetection.d.ts +2 -0
- package/dist/cjs/components/MainMenu/utils/dnd/favoriteListCollisionDetection.js +32 -0
- package/dist/cjs/components/MainMenu/utils/dnd/getDragReferenceY.d.ts +9 -0
- package/dist/cjs/components/MainMenu/utils/dnd/getDragReferenceY.js +17 -0
- package/dist/cjs/components/MainMenu/utils/dnd/getFavoriteInsertIndex.d.ts +12 -0
- package/dist/cjs/components/MainMenu/utils/dnd/getFavoriteInsertIndex.js +36 -0
- package/dist/cjs/components/MainMenu/utils/dnd/ids.d.ts +8 -0
- package/dist/cjs/components/MainMenu/utils/dnd/ids.js +48 -0
- package/dist/cjs/components/MainMenu/utils/dnd/index.d.ts +5 -0
- package/dist/cjs/components/MainMenu/utils/dnd/index.js +21 -0
- package/dist/cjs/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.d.ts +10 -0
- package/dist/cjs/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.js +45 -0
- package/dist/cjs/components/MainMenu/utils/filterLinksGroupsFuzzy.d.ts +2 -0
- package/dist/cjs/components/MainMenu/utils/filterLinksGroupsFuzzy.js +155 -0
- package/dist/cjs/components/MainMenu/utils/flatLinksGroups.d.ts +2 -0
- package/dist/cjs/components/MainMenu/utils/flatLinksGroups.js +7 -0
- package/dist/cjs/components/MainMenu/utils/getAvatarNameFromLabel.d.ts +14 -0
- package/dist/cjs/components/MainMenu/utils/getAvatarNameFromLabel.js +24 -0
- package/dist/cjs/components/MainMenu/utils/getLinkEmblem.d.ts +3 -0
- package/dist/cjs/components/MainMenu/utils/getLinkEmblem.js +18 -0
- package/dist/cjs/components/MainMenu/utils/index.d.ts +12 -0
- package/dist/cjs/components/MainMenu/utils/index.js +28 -0
- package/dist/cjs/components/MainMenu/utils/innerLink.d.ts +7 -0
- package/dist/cjs/components/MainMenu/utils/innerLink.js +42 -0
- package/dist/cjs/components/MainMenu/utils/mapInnerLinksToListItems.d.ts +3 -0
- package/dist/cjs/components/MainMenu/utils/mapInnerLinksToListItems.js +16 -0
- package/dist/cjs/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.d.ts +2 -0
- package/dist/cjs/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.js +9 -0
- package/dist/cjs/components/MainMenu/utils/pinGroupToBottom.d.ts +2 -0
- package/dist/cjs/components/MainMenu/utils/pinGroupToBottom.js +15 -0
- package/dist/cjs/components/MainMenu/utils/resolveGroupBlockColor.d.ts +8 -0
- package/dist/cjs/components/MainMenu/utils/resolveGroupBlockColor.js +12 -0
- package/dist/cjs/components/MainMenu/utils/resolveInnerLinksByIds.d.ts +2 -0
- package/dist/cjs/components/MainMenu/utils/resolveInnerLinksByIds.js +11 -0
- package/dist/cjs/components/MainMenu/utils/search.d.ts +1 -0
- package/dist/cjs/components/MainMenu/utils/search.js +27 -0
- package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +7 -0
- package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.js +12 -0
- package/dist/cjs/components/PathBreadcrumbs/index.d.ts +1 -0
- package/dist/cjs/components/PathBreadcrumbs/index.js +17 -0
- package/dist/cjs/components/PathBreadcrumbs/styles.module.css +4 -0
- package/dist/cjs/components/PlatformLogo/Container.d.ts +12 -0
- package/dist/cjs/components/PlatformLogo/Container.js +16 -0
- package/dist/cjs/components/PlatformLogo/index.d.ts +6 -0
- package/dist/cjs/components/PlatformLogo/index.js +11 -0
- package/dist/cjs/components/PlatformLogo/styles.module.css +9 -0
- package/dist/cjs/components/UserMenu/UserMenu.d.ts +14 -0
- package/dist/cjs/components/UserMenu/UserMenu.js +46 -0
- package/dist/cjs/components/UserMenu/hooks/useLogoutItem.d.ts +4 -0
- package/dist/cjs/components/UserMenu/hooks/useLogoutItem.js +20 -0
- package/dist/cjs/components/UserMenu/hooks/useProfileItem.d.ts +3 -0
- package/dist/cjs/components/UserMenu/hooks/useProfileItem.js +24 -0
- package/dist/cjs/components/UserMenu/hooks/useThemeItem.d.ts +6 -0
- package/dist/cjs/components/UserMenu/hooks/useThemeItem.js +54 -0
- package/dist/cjs/components/UserMenu/hooks/useUserMenuItems.d.ts +87 -0
- package/dist/cjs/components/UserMenu/hooks/useUserMenuItems.js +45 -0
- package/dist/cjs/components/UserMenu/index.d.ts +2 -0
- package/dist/cjs/components/UserMenu/index.js +18 -0
- package/dist/cjs/components/UserMenu/styles.module.css +7 -0
- package/dist/cjs/components/UserMenu/types.d.ts +20 -0
- package/dist/cjs/components/UserMenu/types.js +8 -0
- package/dist/cjs/components/index.d.ts +7 -0
- package/dist/cjs/components/index.js +23 -0
- package/dist/cjs/constants.d.ts +20 -0
- package/dist/cjs/constants.js +23 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/locale/index.d.ts +118 -0
- package/dist/cjs/locale/index.js +63 -0
- package/dist/cjs/mobileOverlays.d.ts +21 -0
- package/dist/cjs/mobileOverlays.js +18 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/style.css +844 -0
- package/dist/cjs/utils/shouldBeOpenedInNewTab.d.ts +2 -0
- package/dist/cjs/utils/shouldBeOpenedInNewTab.js +6 -0
- package/dist/esm/components/HeaderButton/HeaderButton.d.ts +14 -0
- package/dist/esm/components/HeaderButton/HeaderButton.js +27 -0
- package/dist/esm/components/HeaderButton/index.d.ts +1 -0
- package/dist/esm/components/HeaderButton/index.js +1 -0
- package/dist/esm/components/HeaderButton/styles.module.css +3 -0
- package/dist/esm/components/HeaderLayout/HeaderLayout.d.ts +11 -0
- package/dist/esm/components/HeaderLayout/HeaderLayout.js +10 -0
- package/dist/esm/components/HeaderLayout/index.d.ts +1 -0
- package/dist/esm/components/HeaderLayout/index.js +1 -0
- package/dist/esm/components/HeaderLayout/styles.module.css +37 -0
- package/dist/esm/components/Logo/Logo.d.ts +14 -0
- package/dist/esm/components/Logo/Logo.js +29 -0
- package/dist/esm/components/Logo/constants.d.ts +10 -0
- package/dist/esm/components/Logo/constants.js +11 -0
- package/dist/esm/components/Logo/index.d.ts +1 -0
- package/dist/esm/components/Logo/index.js +1 -0
- package/dist/esm/components/Logo/styles.module.css +53 -0
- package/dist/esm/components/MainMenu/MainMenu.d.ts +2 -0
- package/dist/esm/components/MainMenu/MainMenu.js +22 -0
- package/dist/esm/components/MainMenu/constants.d.ts +14 -0
- package/dist/esm/components/MainMenu/constants.js +21 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/MenuBanner.d.ts +16 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/MenuBanner.js +21 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/constants.d.ts +7 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/constants.js +7 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/index.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/index.js +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Banners/styles.module.css +61 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/Content.d.ts +30 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/Content.js +94 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/constants.d.ts +9 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/constants.js +9 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.d.ts +18 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.js +29 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.css +27 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +11 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +28 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +8 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +17 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.d.ts +6 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.js +9 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.d.ts +9 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.js +9 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.d.ts +5 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.js +6 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +6 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +22 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.d.ts +5 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.js +52 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.js +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/styles.module.css +66 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.d.ts +5 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.js +5 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.d.ts +3 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.js +3 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +231 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.d.ts +24 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.js +155 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.d.ts +16 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.js +56 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/index.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/index.js +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/styles.module.css +8 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.d.ts +12 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.js +73 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.d.ts +3 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.js +4 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.d.ts +3 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.js +4 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.d.ts +6 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.js +11 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/styles.module.css +23 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.js +6 -0
- 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 +8 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.js +22 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/index.d.ts +4 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/components/index.js +4 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/constants.d.ts +15 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/constants.js +13 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.d.ts +25 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.js +89 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.js +34 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/index.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/index.js +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/styles.module.css +87 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/utils.d.ts +6 -0
- package/dist/esm/components/MainMenu/helperComponents/Favorites/utils.js +12 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.js +57 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/constants.d.ts +3 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/constants.js +4 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +98 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +7 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.js +11 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.css +13 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +30 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MenuMobile/styles.module.css +25 -0
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/MountAnimation.d.ts +7 -0
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/MountAnimation.js +7 -0
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/MountAnimation/styles.module.css +60 -0
- package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.d.ts +6 -0
- package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.js +31 -0
- package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/styles.module.css +12 -0
- package/dist/esm/components/MainMenu/helperComponents/Search/Search.d.ts +7 -0
- package/dist/esm/components/MainMenu/helperComponents/Search/Search.js +9 -0
- package/dist/esm/components/MainMenu/helperComponents/Search/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Search/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/Search/styles.module.css +8 -0
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.d.ts +19 -0
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +46 -0
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/index.js +1 -0
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/styles.module.css +12 -0
- package/dist/esm/components/MainMenu/hooks/useMainMenuDnd.d.ts +30 -0
- package/dist/esm/components/MainMenu/hooks/useMainMenuDnd.js +88 -0
- package/dist/esm/components/MainMenu/hooks/useMenuItems.d.ts +8 -0
- package/dist/esm/components/MainMenu/hooks/useMenuItems.js +36 -0
- package/dist/esm/components/MainMenu/index.d.ts +5 -0
- package/dist/esm/components/MainMenu/index.js +5 -0
- package/dist/esm/components/MainMenu/types.d.ts +284 -0
- package/dist/esm/components/MainMenu/types.js +1 -0
- package/dist/esm/components/MainMenu/utils/dedupeSearchGroups.d.ts +15 -0
- package/dist/esm/components/MainMenu/utils/dedupeSearchGroups.js +29 -0
- package/dist/esm/components/MainMenu/utils/dnd/favoriteListCollisionDetection.d.ts +2 -0
- package/dist/esm/components/MainMenu/utils/dnd/favoriteListCollisionDetection.js +28 -0
- package/dist/esm/components/MainMenu/utils/dnd/getDragReferenceY.d.ts +9 -0
- package/dist/esm/components/MainMenu/utils/dnd/getDragReferenceY.js +14 -0
- package/dist/esm/components/MainMenu/utils/dnd/getFavoriteInsertIndex.d.ts +12 -0
- package/dist/esm/components/MainMenu/utils/dnd/getFavoriteInsertIndex.js +32 -0
- package/dist/esm/components/MainMenu/utils/dnd/ids.d.ts +8 -0
- package/dist/esm/components/MainMenu/utils/dnd/ids.js +38 -0
- package/dist/esm/components/MainMenu/utils/dnd/index.d.ts +5 -0
- package/dist/esm/components/MainMenu/utils/dnd/index.js +5 -0
- package/dist/esm/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.d.ts +10 -0
- package/dist/esm/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.js +42 -0
- package/dist/esm/components/MainMenu/utils/filterLinksGroupsFuzzy.d.ts +2 -0
- package/dist/esm/components/MainMenu/utils/filterLinksGroupsFuzzy.js +149 -0
- package/dist/esm/components/MainMenu/utils/flatLinksGroups.d.ts +2 -0
- package/dist/esm/components/MainMenu/utils/flatLinksGroups.js +4 -0
- package/dist/esm/components/MainMenu/utils/getAvatarNameFromLabel.d.ts +14 -0
- package/dist/esm/components/MainMenu/utils/getAvatarNameFromLabel.js +21 -0
- package/dist/esm/components/MainMenu/utils/getLinkEmblem.d.ts +3 -0
- package/dist/esm/components/MainMenu/utils/getLinkEmblem.js +15 -0
- package/dist/esm/components/MainMenu/utils/index.d.ts +12 -0
- package/dist/esm/components/MainMenu/utils/index.js +12 -0
- package/dist/esm/components/MainMenu/utils/innerLink.d.ts +7 -0
- package/dist/esm/components/MainMenu/utils/innerLink.js +34 -0
- package/dist/esm/components/MainMenu/utils/mapInnerLinksToListItems.d.ts +3 -0
- package/dist/esm/components/MainMenu/utils/mapInnerLinksToListItems.js +13 -0
- package/dist/esm/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.d.ts +2 -0
- package/dist/esm/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.js +6 -0
- package/dist/esm/components/MainMenu/utils/pinGroupToBottom.d.ts +2 -0
- package/dist/esm/components/MainMenu/utils/pinGroupToBottom.js +12 -0
- package/dist/esm/components/MainMenu/utils/resolveGroupBlockColor.d.ts +8 -0
- package/dist/esm/components/MainMenu/utils/resolveGroupBlockColor.js +9 -0
- package/dist/esm/components/MainMenu/utils/resolveInnerLinksByIds.d.ts +2 -0
- package/dist/esm/components/MainMenu/utils/resolveInnerLinksByIds.js +8 -0
- package/dist/esm/components/MainMenu/utils/search.d.ts +1 -0
- package/dist/esm/components/MainMenu/utils/search.js +24 -0
- package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +7 -0
- package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.js +6 -0
- package/dist/esm/components/PathBreadcrumbs/index.d.ts +1 -0
- package/dist/esm/components/PathBreadcrumbs/index.js +1 -0
- package/dist/esm/components/PathBreadcrumbs/styles.module.css +4 -0
- package/dist/esm/components/PlatformLogo/Container.d.ts +12 -0
- package/dist/esm/components/PlatformLogo/Container.js +8 -0
- package/dist/esm/components/PlatformLogo/index.d.ts +6 -0
- package/dist/esm/components/PlatformLogo/index.js +8 -0
- package/dist/esm/components/PlatformLogo/styles.module.css +9 -0
- package/dist/esm/components/UserMenu/UserMenu.d.ts +14 -0
- package/dist/esm/components/UserMenu/UserMenu.js +40 -0
- package/dist/esm/components/UserMenu/hooks/useLogoutItem.d.ts +4 -0
- package/dist/esm/components/UserMenu/hooks/useLogoutItem.js +17 -0
- package/dist/esm/components/UserMenu/hooks/useProfileItem.d.ts +3 -0
- package/dist/esm/components/UserMenu/hooks/useProfileItem.js +21 -0
- package/dist/esm/components/UserMenu/hooks/useThemeItem.d.ts +6 -0
- package/dist/esm/components/UserMenu/hooks/useThemeItem.js +51 -0
- package/dist/esm/components/UserMenu/hooks/useUserMenuItems.d.ts +87 -0
- package/dist/esm/components/UserMenu/hooks/useUserMenuItems.js +42 -0
- package/dist/esm/components/UserMenu/index.d.ts +2 -0
- package/dist/esm/components/UserMenu/index.js +2 -0
- package/dist/esm/components/UserMenu/styles.module.css +7 -0
- package/dist/esm/components/UserMenu/types.d.ts +20 -0
- package/dist/esm/components/UserMenu/types.js +5 -0
- package/dist/esm/components/index.d.ts +7 -0
- package/dist/esm/components/index.js +7 -0
- package/dist/esm/constants.d.ts +20 -0
- package/dist/esm/constants.js +20 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/locale/index.d.ts +118 -0
- package/dist/esm/locale/index.js +60 -0
- package/dist/esm/mobileOverlays.d.ts +21 -0
- package/dist/esm/mobileOverlays.js +15 -0
- package/dist/esm/style.css +844 -0
- package/dist/esm/utils/shouldBeOpenedInNewTab.d.ts +2 -0
- package/dist/esm/utils/shouldBeOpenedInNewTab.js +3 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +77 -0
- package/src/components/HeaderButton/HeaderButton.tsx +57 -0
- package/src/components/HeaderButton/index.ts +1 -0
- package/src/components/HeaderButton/styles.module.scss +3 -0
- package/src/components/HeaderLayout/HeaderLayout.tsx +56 -0
- package/src/components/HeaderLayout/index.ts +1 -0
- package/src/components/HeaderLayout/styles.module.scss +42 -0
- package/src/components/Logo/Logo.tsx +76 -0
- package/src/components/Logo/constants.ts +17 -0
- package/src/components/Logo/index.ts +1 -0
- package/src/components/Logo/styles.module.scss +64 -0
- package/src/components/MainMenu/MainMenu.tsx +84 -0
- package/src/components/MainMenu/constants.ts +24 -0
- package/src/components/MainMenu/helperComponents/Banners/MenuBanner.tsx +103 -0
- package/src/components/MainMenu/helperComponents/Banners/constants.ts +7 -0
- package/src/components/MainMenu/helperComponents/Banners/index.ts +2 -0
- package/src/components/MainMenu/helperComponents/Banners/styles.module.scss +75 -0
- package/src/components/MainMenu/helperComponents/Content/Content.tsx +267 -0
- package/src/components/MainMenu/helperComponents/Content/constants.ts +9 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.tsx +136 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.scss +31 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.tsx +131 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.tsx +64 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.tsx +29 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.tsx +47 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.tsx +35 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.tsx +79 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.tsx +128 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.ts +2 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/styles.module.scss +77 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.ts +5 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.ts +3 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.scss +270 -0
- package/src/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.ts +250 -0
- package/src/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.tsx +104 -0
- package/src/components/MainMenu/helperComponents/Content/index.ts +2 -0
- package/src/components/MainMenu/helperComponents/Content/styles.module.scss +11 -0
- package/src/components/MainMenu/helperComponents/Favorites/Favorites.tsx +176 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.tsx +24 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.tsx +38 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.tsx +36 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/styles.module.scss +27 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.tsx +15 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.tsx +78 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.tsx +70 -0
- package/src/components/MainMenu/helperComponents/Favorites/components/index.ts +4 -0
- package/src/components/MainMenu/helperComponents/Favorites/constants.ts +18 -0
- package/src/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.tsx +123 -0
- package/src/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.ts +41 -0
- package/src/components/MainMenu/helperComponents/Favorites/index.ts +2 -0
- package/src/components/MainMenu/helperComponents/Favorites/styles.module.scss +101 -0
- package/src/components/MainMenu/helperComponents/Favorites/utils.ts +22 -0
- package/src/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.tsx +172 -0
- package/src/components/MainMenu/helperComponents/MenuDesktop/constants.ts +6 -0
- package/src/components/MainMenu/helperComponents/MenuDesktop/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/MenuDesktop/styles.module.scss +118 -0
- package/src/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.tsx +27 -0
- package/src/components/MainMenu/helperComponents/MenuHeaderBrand/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.scss +17 -0
- package/src/components/MainMenu/helperComponents/MenuMobile/MenuMobile.tsx +101 -0
- package/src/components/MainMenu/helperComponents/MenuMobile/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/MenuMobile/styles.module.scss +32 -0
- package/src/components/MainMenu/helperComponents/MountAnimation/MountAnimation.tsx +20 -0
- package/src/components/MainMenu/helperComponents/MountAnimation/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/MountAnimation/styles.module.scss +77 -0
- package/src/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.tsx +54 -0
- package/src/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/styles.module.scss +16 -0
- package/src/components/MainMenu/helperComponents/Search/Search.tsx +34 -0
- package/src/components/MainMenu/helperComponents/Search/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/Search/styles.module.scss +14 -0
- package/src/components/MainMenu/helperComponents/ServiceCard/ServiceCard.tsx +111 -0
- package/src/components/MainMenu/helperComponents/ServiceCard/index.ts +1 -0
- package/src/components/MainMenu/helperComponents/ServiceCard/styles.module.scss +14 -0
- package/src/components/MainMenu/hooks/useMainMenuDnd.tsx +187 -0
- package/src/components/MainMenu/hooks/useMenuItems.tsx +59 -0
- package/src/components/MainMenu/index.ts +5 -0
- package/src/components/MainMenu/types.ts +311 -0
- package/src/components/MainMenu/utils/dedupeSearchGroups.ts +35 -0
- package/src/components/MainMenu/utils/dnd/favoriteListCollisionDetection.ts +35 -0
- package/src/components/MainMenu/utils/dnd/getDragReferenceY.ts +26 -0
- package/src/components/MainMenu/utils/dnd/getFavoriteInsertIndex.ts +63 -0
- package/src/components/MainMenu/utils/dnd/ids.ts +53 -0
- package/src/components/MainMenu/utils/dnd/index.ts +5 -0
- package/src/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.ts +74 -0
- package/src/components/MainMenu/utils/filterLinksGroupsFuzzy.ts +205 -0
- package/src/components/MainMenu/utils/flatLinksGroups.ts +6 -0
- package/src/components/MainMenu/utils/getAvatarNameFromLabel.ts +24 -0
- package/src/components/MainMenu/utils/getLinkEmblem.tsx +27 -0
- package/src/components/MainMenu/utils/index.ts +12 -0
- package/src/components/MainMenu/utils/innerLink.ts +45 -0
- package/src/components/MainMenu/utils/mapInnerLinksToListItems.tsx +17 -0
- package/src/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.ts +13 -0
- package/src/components/MainMenu/utils/pinGroupToBottom.ts +17 -0
- package/src/components/MainMenu/utils/resolveGroupBlockColor.ts +14 -0
- package/src/components/MainMenu/utils/resolveInnerLinksByIds.ts +12 -0
- package/src/components/MainMenu/utils/search.ts +32 -0
- package/src/components/PathBreadcrumbs/PathBreadcrumbs.tsx +21 -0
- package/src/components/PathBreadcrumbs/index.ts +1 -0
- package/src/components/PathBreadcrumbs/styles.module.scss +7 -0
- package/src/components/PlatformLogo/Container.tsx +31 -0
- package/src/components/PlatformLogo/index.ts +17 -0
- package/src/components/PlatformLogo/styles.module.scss +13 -0
- package/src/components/UserMenu/UserMenu.tsx +106 -0
- package/src/components/UserMenu/hooks/useLogoutItem.tsx +23 -0
- package/src/components/UserMenu/hooks/useProfileItem.tsx +33 -0
- package/src/components/UserMenu/hooks/useThemeItem.tsx +70 -0
- package/src/components/UserMenu/hooks/useUserMenuItems.ts +77 -0
- package/src/components/UserMenu/index.ts +2 -0
- package/src/components/UserMenu/styles.module.scss +7 -0
- package/src/components/UserMenu/types.ts +24 -0
- package/src/components/index.ts +7 -0
- package/src/constants.ts +20 -0
- package/src/index.ts +4 -0
- package/src/locale/index.ts +64 -0
- package/src/mobileOverlays.ts +26 -0
- package/src/utils/shouldBeOpenedInNewTab.ts +5 -0
package/README.md
ADDED
|
@@ -0,0 +1,717 @@
|
|
|
1
|
+
# Header
|
|
2
|
+
|
|
3
|
+
`@cloud-ru/ds-uikit-product-header` — Продуктовая шапка консоли — HeaderLayout, MainMenu, UserMenu, Logo, PathBreadcrumbs и PlatformLogo.
|
|
4
|
+
|
|
5
|
+
Пакет `@cloud-ru/ds-uikit-product-header` — продуктовая шапка консоли: компоновка слотов (`HeaderLayout`), главное меню навигации (`MainMenu`), меню пользователя (`UserMenu`), логотип (`Logo`), хлебные крошки (`PathBreadcrumbs`) и иконки платформ (`PlatformLogo`).
|
|
6
|
+
|
|
7
|
+
## Установка
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm add @cloud-ru/ds-uikit-product-header
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { HeaderLayout, MainMenu, UserMenu } from '@cloud-ru/ds-uikit-product-header';
|
|
15
|
+
import '@cloud-ru/ds-uikit-product-header/style.css';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Container
|
|
19
|
+
|
|
20
|
+
### Props
|
|
21
|
+
|
|
22
|
+
| Prop | Type | Default | Description |
|
|
23
|
+
|------|------|---------|-------------|
|
|
24
|
+
| `className` | `string` | — | |
|
|
25
|
+
| `data-test-id` | `string` | — | |
|
|
26
|
+
|
|
27
|
+
## Content
|
|
28
|
+
|
|
29
|
+
### Props
|
|
30
|
+
|
|
31
|
+
| Prop | Type | Default | Description |
|
|
32
|
+
|------|------|---------|-------------|
|
|
33
|
+
| `activeSegmentId` | `string` | — | Активный сегмент правой панели. Не передано — неуправляемое состояние <br/> (дефолт — первый сегмент с видимыми карточками). |
|
|
34
|
+
| `className` | `string` | — | |
|
|
35
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
36
|
+
| `footer` | `ReactNode` | — | |
|
|
37
|
+
| `isMobile` | `boolean` | — | |
|
|
38
|
+
| `loading` | `boolean` | — | Флаг загрузки данных |
|
|
39
|
+
| `onActiveSegmentChange` | `((segmentId: string) => void)` | — | Колбэк смены активного сегмента правой панели. |
|
|
40
|
+
| `onClose` | `(() => void)` | — | |
|
|
41
|
+
| `onSegmentExpandedChange` | `((segmentId: string, expandedGroupIds: string[]) => void)` | — | |
|
|
42
|
+
| `onSegmentOrderChange` | `((segmentId: string, orderedGroupIds: string[]) => void)` | — | |
|
|
43
|
+
| `preferences` | `MainMenuPreferencesProps` | — | |
|
|
44
|
+
| `rightTop` | `ReactNode` | — | Слот над тулбаром правой колонки (например, баннеры) |
|
|
45
|
+
| `search` | `ReactNode` | — | |
|
|
46
|
+
| `searchGroups` | `LinksGroup[]` | `[]` | Результаты поиска (уже смерженные); в обычном режиме не используются. |
|
|
47
|
+
| `searchValue` | `string` | — | |
|
|
48
|
+
| `segmentPrefs` | `MainMenuSegmentPrefs[]` | — | |
|
|
49
|
+
| `segments` | `MainMenuSegment[]` | — | |
|
|
50
|
+
|
|
51
|
+
## ContentToolbar
|
|
52
|
+
|
|
53
|
+
### Props
|
|
54
|
+
|
|
55
|
+
| Prop | Type | Default | Description |
|
|
56
|
+
|------|------|---------|-------------|
|
|
57
|
+
| `allGroupsExpanded` | `boolean` | — | |
|
|
58
|
+
| `isMobile` | `boolean` | — | |
|
|
59
|
+
| `onSegmentChange` | `(segment: string) => void` | — | |
|
|
60
|
+
| `onToggleAllGroupsExpanded` | `() => void` | — | |
|
|
61
|
+
| `preferences` | `MainMenuPreferencesProps` | — | Настройки меню (модалка по кнопке). Не передано — кнопка настроек не отображается. |
|
|
62
|
+
| `segment` | `string` | — | |
|
|
63
|
+
| `segmentItems` | `ContentToolbarSegmentItem[]` | — | |
|
|
64
|
+
|
|
65
|
+
## DraggableServiceCard
|
|
66
|
+
|
|
67
|
+
### Props
|
|
68
|
+
|
|
69
|
+
| Prop | Type | Default | Description |
|
|
70
|
+
|------|------|---------|-------------|
|
|
71
|
+
| `className` | `string` | — | |
|
|
72
|
+
| `dragDisabled` | `boolean` | — | |
|
|
73
|
+
| `dragPreview` | `boolean` | — | |
|
|
74
|
+
| `expandable` | `{ value: boolean; onClick(): void; }` | — | |
|
|
75
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
76
|
+
| `groupId` | `string` | — | |
|
|
77
|
+
| `isMobile` | `boolean` | — | |
|
|
78
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
79
|
+
| `service` | `InnerLink` | — | |
|
|
80
|
+
| `showDescription` | `boolean` | — | |
|
|
81
|
+
| `tabIndex` | `number` | — | |
|
|
82
|
+
|
|
83
|
+
## EmptyFavoriteSVG
|
|
84
|
+
|
|
85
|
+
### Props
|
|
86
|
+
|
|
87
|
+
| Prop | Type | Default | Description |
|
|
88
|
+
|------|------|---------|-------------|
|
|
89
|
+
| `className` | `string` | — | |
|
|
90
|
+
|
|
91
|
+
## EmptyRecentSVG
|
|
92
|
+
|
|
93
|
+
### Props
|
|
94
|
+
|
|
95
|
+
| Prop | Type | Default | Description |
|
|
96
|
+
|------|------|---------|-------------|
|
|
97
|
+
| `className` | `string` | — | |
|
|
98
|
+
|
|
99
|
+
## EmptyState
|
|
100
|
+
|
|
101
|
+
### Props
|
|
102
|
+
|
|
103
|
+
| Prop | Type | Default | Description |
|
|
104
|
+
|------|------|---------|-------------|
|
|
105
|
+
| `isFavoritesSegment` | `boolean` | — | |
|
|
106
|
+
| `isMobile` | `boolean` | — | |
|
|
107
|
+
|
|
108
|
+
## Favorites
|
|
109
|
+
|
|
110
|
+
### Props `FavoritesProps`
|
|
111
|
+
|
|
112
|
+
| Prop | Type | Default | Description |
|
|
113
|
+
|------|------|---------|-------------|
|
|
114
|
+
| `allServiceGroups` | `LinksGroup` | — | Группы сервисов для разрешения id в карточки |
|
|
115
|
+
| `favorite` | `FavoriteProps` | — | Список избранных сервисов |
|
|
116
|
+
| `headerClassName` | `string` | — | CSS-класс строки заголовка (segment + кнопка настроек) |
|
|
117
|
+
| `isMobile` | `boolean` | — | Флаг мобильной раскладки |
|
|
118
|
+
|
|
119
|
+
#### Related types
|
|
120
|
+
|
|
121
|
+
**FavoriteProps**
|
|
122
|
+
|
|
123
|
+
| Prop | Type | Default | Description |
|
|
124
|
+
|------|------|---------|-------------|
|
|
125
|
+
| `actions` | `BaseItemProps` | — | Действия для списка сервисов |
|
|
126
|
+
| `loading` | `boolean \| undefined` | — | Флаг загрузки данных |
|
|
127
|
+
| `onChange` | `(productId: string) => (addingValue: boolean, position?: number) => void` | — | Колбэк переключения избранного для карточки сервиса. <br/> `position` передаётся при добавлении через drag из сетки сервисов — индекс, <br/> на который должна встать карточка среди избранного (см. <br/> {@link <br/> FavoriteProps.onOrderChange <br/> } <br/> ). <br/> При переключении избранного кликом не передаётся. |
|
|
128
|
+
| `onFavoriteServiceClick` | `((serviceId: string, event?: MouseEvent<HTMLElement>) => void) \| undefined` | — | Колбэк клика по карточке сервиса в сегменте «Избранное» |
|
|
129
|
+
| `onOrderChange` | `((orderedIds: string[]) => void) \| undefined` | — | Колбэк вызывается после перетаскивания карточек внутри избранного с новым порядком id. <br/> Добавление новой карточки через drag из сетки сервисов идёт через <br/> {@link <br/> FavoriteProps.onChange <br/> } <br/> с `position` — этот колбэк для такого добавления не вызывается. |
|
|
130
|
+
| `onRecentServiceClick` | `((serviceId: string, event?: MouseEvent<HTMLElement>) => void) \| undefined` | — | Колбэк клика по карточке сервиса в сегменте «Недавнее» |
|
|
131
|
+
| `onSegmentChange` | `((segment: FavoritesSegment) => void) \| undefined` | — | Колбэк смены сегмента панели избранного. |
|
|
132
|
+
| `recentServices` | `string[] \| undefined` | — | Список id недавно открытых сервисов |
|
|
133
|
+
| `segment` | `"favorites"` \| `"recent"` | — | Активный сегмент («Избранное» / «Недавнее») в панели избранного. <br/> Не передано — неуправляемое состояние (дефолт `'favorites'`). |
|
|
134
|
+
| `value` | `string[]` | — | Список id избранных сервисов |
|
|
135
|
+
|
|
136
|
+
- `FavoritesSegment` = `"favorites"` \| `"recent"`
|
|
137
|
+
|
|
138
|
+
**InnerLink**
|
|
139
|
+
|
|
140
|
+
| Prop | Type | Default | Description |
|
|
141
|
+
|------|------|---------|-------------|
|
|
142
|
+
| `aliases` | `string[]` | — | Синонимы для fuzzy-поиска. |
|
|
143
|
+
| `badge` | `CardServiceLightProps` \| `PromoTagPredefinedBaseProps` | — | |
|
|
144
|
+
| `description` | `string \| undefined` | — | Краткое описание сервиса — отображается при включённом переключателе «Описание». |
|
|
145
|
+
| `disabled` | `boolean \| undefined` | — | |
|
|
146
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
147
|
+
| `href` | `string \| undefined` | — | |
|
|
148
|
+
| `icon` | `JSXElementConstructor<{ size?: number; className?: string; }> \| undefined` | — | Иконка карточки. <br/> Если не задана, вместо иконки рендерится `Avatar` с двухбуквенным текстом по `label` <br/> (см. `getAvatarNameFromLabel`). |
|
|
149
|
+
| `id` | `string` | — | Уникальный идентификатор карточки (также используется в избранном и при поиске). <br/> Один и тот же сервис может быть представлен в разных сегментах с разной <br/> детализацией (простая карточка в общем каталоге и раскрытая с вложенными <br/> сервисами версия в другом сегменте) — в этом случае обеим версиям задаётся <br/> общий `id`. При поиске из совпадений с одинаковым `id` в разных сегментах <br/> остаётся только первое по приоритету сегментов (см. <br/> {@link <br/> MainMenuProps.segments <br/> } <br/> ). |
|
|
150
|
+
| `items` | `InnerLink` | — | Вложенные сервисы подкатегории. <br/> При наличии карточка раскрывается аккордеоном: в свёрнутом виде — обычная карточка <br/> с кнопкой раскрытия, в развёрнутом — заголовок <br/> {@link <br/> TitleClickable <br/> } <br/> и сетка вложенных сервисов. |
|
|
151
|
+
| `label` | `string` | — | Заголовок карточки. |
|
|
152
|
+
| `onClick` | `(e?: MouseEvent<HTMLElement>) => void` | — | |
|
|
153
|
+
|
|
154
|
+
**LinksGroup**
|
|
155
|
+
|
|
156
|
+
| Prop | Type | Default | Description |
|
|
157
|
+
|------|------|---------|-------------|
|
|
158
|
+
| `aliases` | `string[] \| undefined` | — | Синонимы заголовка группы для fuzzy-поиска. |
|
|
159
|
+
| `blockColor` | `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"` | — | Цвет блока группы. |
|
|
160
|
+
| `favoritesEnabled` | `boolean \| undefined` | — | Разрешено ли добавление карточек группы в избранное. |
|
|
161
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
162
|
+
| `highlight` | `boolean \| undefined` | — | Визуальное выделение группы |
|
|
163
|
+
| `id` | `string` | — | Уникальный идентификатор группы (якорь скролла, поиск по id). |
|
|
164
|
+
| `items` | `InnerLink` | — | Карточки сервисов или ссылок внутри группы. |
|
|
165
|
+
| `label` | `LinksGroupTitle` \| `TitleClickable` \| `TitleStatic` | — | Заголовок группы в сетке карточек и в боковой навигации. |
|
|
166
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
167
|
+
|
|
168
|
+
- `LinksGroupBlockColor` = `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"`
|
|
169
|
+
|
|
170
|
+
- `LinksGroupTitle` = `TitleStatic | TitleClickable`
|
|
171
|
+
|
|
172
|
+
**TitleClickable**
|
|
173
|
+
|
|
174
|
+
| Prop | Type | Default | Description |
|
|
175
|
+
|------|------|---------|-------------|
|
|
176
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
177
|
+
| `text` | `string` | — | |
|
|
178
|
+
|
|
179
|
+
**TitleStatic**
|
|
180
|
+
|
|
181
|
+
| Prop | Type | Default | Description |
|
|
182
|
+
|------|------|---------|-------------|
|
|
183
|
+
| `onClick` | `undefined` | — | |
|
|
184
|
+
| `text` | `string` | — | |
|
|
185
|
+
|
|
186
|
+
## FavoritesSortable
|
|
187
|
+
|
|
188
|
+
### Props
|
|
189
|
+
|
|
190
|
+
| Prop | Type | Default | Description |
|
|
191
|
+
|------|------|---------|-------------|
|
|
192
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
193
|
+
| `favoriteItems` | `InnerLink[]` | — | |
|
|
194
|
+
| `isEmpty` | `boolean` | — | |
|
|
195
|
+
| `onFavoriteServiceClick` | `(service: InnerLink) => (event: MouseEvent<HTMLElement, MouseEvent>) => void` | — | |
|
|
196
|
+
| `recentCards` | `ReactNode` | — | |
|
|
197
|
+
| `segment` | `"favorites"` \| `"recent"` | — | |
|
|
198
|
+
| `setSegment` | `(segment: FavoritesSegment) => void` | — | |
|
|
199
|
+
|
|
200
|
+
## HeaderButton
|
|
201
|
+
|
|
202
|
+
### Props `HeaderButtonProps`
|
|
203
|
+
|
|
204
|
+
| Prop | Type | Default | Description |
|
|
205
|
+
|------|------|---------|-------------|
|
|
206
|
+
| `as` | `T` | — | Элемент или компонент для рендера: 'button' \| 'a' \| ComponentType (например Link из react-router-dom) |
|
|
207
|
+
| `className` | `any` | — | Дополнительный класс |
|
|
208
|
+
| `counter` | `CounterProps` | — | Пропсы для counter. `appearance` можно задать явно (по умолчанию наследуется от appearance кнопки). |
|
|
209
|
+
| `data-test-id` | `any` | — | |
|
|
210
|
+
| `disabled` | `any` | — | Отключена |
|
|
211
|
+
| `fullWidth` | `any` | — | На всю ширину |
|
|
212
|
+
| `icon` | `any` | — | Иконка |
|
|
213
|
+
| `iconPosition` | `IconPosition` | — | Позиция иконки относительно текста |
|
|
214
|
+
| `innerRef` | `PolymorphicRef` \| `T` | — | Ref на реальный DOM-элемент/инстанс, который рендерится через `as`. <br/> Используем явный проп, чтобы не зависеть от `forwardRef` и не тащить type-assertions на экспорт. |
|
|
215
|
+
| `isMobile` | `boolean` | — | |
|
|
216
|
+
| `label` | `any` | — | Текст кнопки |
|
|
217
|
+
| `loading` | `any` | — | Состояние загрузки |
|
|
218
|
+
| `minWidth` | `any` | — | Минимальная ширина контейнера (`min-width` из токена размера). По умолчанию `true`. <br/> `false` — кнопка сжимается по контенту вместо фиксированного минимума. |
|
|
219
|
+
| `tooltip` | `TooltipProps` | — | Настройки тултипа. `placement` и `disableSpanWrapper` зафиксированы под анатомию хедера |
|
|
220
|
+
|
|
221
|
+
## HeaderLayout
|
|
222
|
+
|
|
223
|
+
### Props `HeaderLayoutProps`
|
|
224
|
+
|
|
225
|
+
| Prop | Type | Default | Description |
|
|
226
|
+
|------|------|---------|-------------|
|
|
227
|
+
| `breadcrumbs` | `ReactNode` | — | |
|
|
228
|
+
| `className` | `string` | — | |
|
|
229
|
+
| `data-test-id` | `string` | — | |
|
|
230
|
+
| `logo` | `ReactNode` | — | |
|
|
231
|
+
| `menu` | `ReactNode` | — | |
|
|
232
|
+
| `select` | `ReactNode` | — | |
|
|
233
|
+
| `toolbar` | `ReactNode` | — | |
|
|
234
|
+
|
|
235
|
+
## Logo
|
|
236
|
+
|
|
237
|
+
### Props `LogoProps`
|
|
238
|
+
|
|
239
|
+
| Prop | Type | Default | Description |
|
|
240
|
+
|------|------|---------|-------------|
|
|
241
|
+
| `className` | `string` | — | |
|
|
242
|
+
| `data-test-id` | `string` | — | |
|
|
243
|
+
| `href` | `string` | — | |
|
|
244
|
+
| `loading` | `boolean` | — | |
|
|
245
|
+
| `mode` | `"develop"` \| `"hybrid"` \| `"prod"` \| `"stage"` | — | |
|
|
246
|
+
| `onClick` | `MouseEventHandler<HTMLAnchorElement>` | — | |
|
|
247
|
+
| `path` | `string` | — | |
|
|
248
|
+
| `tooltip` | `TooltipProps` | — | |
|
|
249
|
+
|
|
250
|
+
#### Related types
|
|
251
|
+
|
|
252
|
+
- `HeaderLogoMode` = `"develop"` \| `"hybrid"` \| `"prod"` \| `"stage"`
|
|
253
|
+
|
|
254
|
+
## MainMenu
|
|
255
|
+
|
|
256
|
+
### Props `MainMenuProps`
|
|
257
|
+
|
|
258
|
+
| Prop | Type | Default | Description |
|
|
259
|
+
|------|------|---------|-------------|
|
|
260
|
+
| `activeSegmentId` | `string` | — | Активный сегмент правой панели (значение SegmentControl, см. {@link MainMenuSegment.id}). <br/> Не передано — неуправляемое состояние (дефолт — первый сегмент с видимыми карточками). |
|
|
261
|
+
| `defaultWidth` | `number` | — | Ширина дровера, с которой открывается меню (desktop only) |
|
|
262
|
+
| `disabled` | `boolean` | — | |
|
|
263
|
+
| `draggerTooltip` | `string` | — | Текст подсказки для драггера (desktop only) |
|
|
264
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
265
|
+
| `leftTop` | `ReactNode` | — | |
|
|
266
|
+
| `loading` | `boolean` | — | Флаг загрузки данных |
|
|
267
|
+
| `logo` | `ReactNode` | — | |
|
|
268
|
+
| `onActiveSegmentChange` | `((segmentId: string) => void)` | — | Колбэк смены активного сегмента правой панели. |
|
|
269
|
+
| `onSegmentExpandedChange` | `((segmentId: string, expandedGroupIds: string[]) => void)` | — | Колбэк при изменении набора раскрытых групп сегмента <br/> (без id синтетической группы избранного). |
|
|
270
|
+
| `onSegmentOrderChange` | `((segmentId: string, orderedGroupIds: string[]) => void)` | — | Колбэк после DnD групп в сегменте (без id синтетической группы избранного). |
|
|
271
|
+
| `onWidthChangeEnd` | `((width: number) => void)` | — | Вызывается при окончании изменения ширины дровера (desktop only) |
|
|
272
|
+
| `open` | `boolean` | — | |
|
|
273
|
+
| `platformGroups` | `LinksGroup` | — | Платформенные группы (например «Облачные продукты», «Другие продукты»). <br/> Без поиска в сетке карточек **не отображаются**. <br/> С поиском: попадают в результаты при совпадении; порядок — <br/> после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`. <br/> Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`). |
|
|
274
|
+
| `preferences` | `MainMenuPreferencesProps` | — | Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп. <br/> Не передано — кнопка настроек в тулбаре не отображается. |
|
|
275
|
+
| `rightTop` | `ReactNode` | — | |
|
|
276
|
+
| `search` | `SearchProps` | — | |
|
|
277
|
+
| `segmentPrefs` | `MainMenuSegmentPrefs` | — | Пользовательские prefs сегментов (порядок / раскрытие групп). <br/> Нет записи для сегмента или omit `order` / `expanded` → uncontrolled для этого поля. |
|
|
278
|
+
| `segments` | `MainMenuSegment` | — | Сегменты правой панели (сетка карточек) — только каталог. <br/> При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`. <br/> Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только <br/> первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются. <br/> При `segments.length > 1` показывается SegmentControl (скрывается во время поиска). <br/> Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже. |
|
|
279
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
280
|
+
| `settingItems` | `BaseItemWithoutNonGroup` \| `CommonGroupItem` \| `ListProps` \| `ScrollProps` | — | Пункты левой колонки (desktop) / нижней части списка (mobile). <br/> Плоский список `List` (`BaseItem` и при необходимости `type: 'group'` с `divider` для разделителей). <br/> Не связан с сегментами правой панели и не меняется при сортировке групп в сегментах. |
|
|
281
|
+
|
|
282
|
+
#### Related types
|
|
283
|
+
|
|
284
|
+
**EmptyStateProps**
|
|
285
|
+
|
|
286
|
+
| Prop | Type | Default | Description |
|
|
287
|
+
|------|------|---------|-------------|
|
|
288
|
+
| `isFavoritesSegment` | `boolean` | — | |
|
|
289
|
+
| `isMobile` | `boolean \| undefined` | — | |
|
|
290
|
+
|
|
291
|
+
**LinksGroup**
|
|
292
|
+
|
|
293
|
+
| Prop | Type | Default | Description |
|
|
294
|
+
|------|------|---------|-------------|
|
|
295
|
+
| `aliases` | `string[] \| undefined` | — | Синонимы заголовка группы для fuzzy-поиска. |
|
|
296
|
+
| `blockColor` | `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"` | — | Цвет блока группы. |
|
|
297
|
+
| `favoritesEnabled` | `boolean \| undefined` | — | Разрешено ли добавление карточек группы в избранное. |
|
|
298
|
+
| `hidden` | `boolean \| undefined` | — | |
|
|
299
|
+
| `highlight` | `boolean \| undefined` | — | Визуальное выделение группы |
|
|
300
|
+
| `id` | `string` | — | Уникальный идентификатор группы (якорь скролла, поиск по id). |
|
|
301
|
+
| `items` | `InnerLink` | — | Карточки сервисов или ссылок внутри группы. |
|
|
302
|
+
| `label` | `LinksGroupTitle` \| `TitleClickable` \| `TitleStatic` | — | Заголовок группы в сетке карточек и в боковой навигации. |
|
|
303
|
+
| `onClick` | `((e?: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
304
|
+
|
|
305
|
+
**MainMenuSegment**
|
|
306
|
+
|
|
307
|
+
| Prop | Type | Default | Description |
|
|
308
|
+
|------|------|---------|-------------|
|
|
309
|
+
| `icon` | `string \| number \| boolean \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal \| null \| undefined` | — | Иконка сегмента в SegmentControl; без неё — только `label`. |
|
|
310
|
+
| `id` | `string` | — | Уникальный идентификатор сегмента (значение SegmentControl). |
|
|
311
|
+
| `items` | `LinksGroup` | — | Группы карточек сегмента (каталог). |
|
|
312
|
+
| `label` | `string` | — | Подпись сегмента в SegmentControl. |
|
|
313
|
+
| `pinBottomOnSearch` | `boolean \| undefined` | — | Группы сегмента в выдаче поиска — после совпадений из обычных сегментов и `platformGroups`. |
|
|
314
|
+
|
|
315
|
+
**MainMenuSegmentPrefs**
|
|
316
|
+
|
|
317
|
+
| Prop | Type | Default | Description |
|
|
318
|
+
|------|------|---------|-------------|
|
|
319
|
+
| `expanded` | `string[] \| undefined` | — | Id раскрытых групп. Если не передан — uncontrolled (по умолчанию все раскрыты). |
|
|
320
|
+
| `id` | `string` | — | Id сегмента из <br/> {@link <br/> MainMenuSegment.id <br/> } <br/> . |
|
|
321
|
+
| `order` | `string[] \| undefined` | — | Порядок id групп. Если не передан — uncontrolled для этого сегмента <br/> (дефолт = порядок `items`; новые группы добавляются в конец). |
|
|
322
|
+
|
|
323
|
+
## MainMenuDndContext
|
|
324
|
+
|
|
325
|
+
### Props
|
|
326
|
+
|
|
327
|
+
| Prop | Type | Default | Description |
|
|
328
|
+
|------|------|---------|-------------|
|
|
329
|
+
| `collisionDetection` | `CollisionDetection` | — | |
|
|
330
|
+
| `dragOverlay` | `string \| number \| boolean \| Iterable<ReactNode> \| Element \| null` | — | |
|
|
331
|
+
| `modifiers` | `Modifier[]` | — | |
|
|
332
|
+
| `onDragCancel` | `(({ active }: DragCancelEvent) => void)` | — | |
|
|
333
|
+
| `onDragEnd` | `(({ active, over, delta, activatorEvent }: DragEndEvent) => void)` | — | |
|
|
334
|
+
| `onDragStart` | `(({ active }: DragStartEvent) => void)` | — | |
|
|
335
|
+
| `overlayContextValue` | `{ setGroupDragOverlay: Dispatch<SetStateAction<ReactNode>>; }` | — | |
|
|
336
|
+
| `sensors` | `SensorDescriptor<SensorOptions>[]` | — | |
|
|
337
|
+
|
|
338
|
+
## MenuBanner
|
|
339
|
+
|
|
340
|
+
### Props `MenuBannerProps`
|
|
341
|
+
|
|
342
|
+
| Prop | Type | Default | Description |
|
|
343
|
+
|------|------|---------|-------------|
|
|
344
|
+
| `afterTitle` | `ReactNode` | — | Слот справа от заголовка и промо-тега |
|
|
345
|
+
| `className` | `string` | — | CSS-класс корневого элемента |
|
|
346
|
+
| `data-test-id` | `string` | — | |
|
|
347
|
+
| `onClose` | `MouseEventHandler<HTMLElement>` | — | Колбэк закрытия. При наличии отображается кнопка «Закрыть» на hover |
|
|
348
|
+
| `promoTag` | `PromoTagOwnProps` \| `PromoTagProps` | — | Текст промо-тега рядом с заголовком |
|
|
349
|
+
| `title` | `string` | — | Заголовок баннера |
|
|
350
|
+
|
|
351
|
+
## MenuDesktop
|
|
352
|
+
|
|
353
|
+
### Props
|
|
354
|
+
|
|
355
|
+
| Prop | Type | Default | Description |
|
|
356
|
+
|------|------|---------|-------------|
|
|
357
|
+
| `activeSegmentId` | `string` | — | Активный сегмент правой панели (значение SegmentControl, см. {@link MainMenuSegment.id}). <br/> Не передано — неуправляемое состояние (дефолт — первый сегмент с видимыми карточками). |
|
|
358
|
+
| `defaultWidth` | `number` | `1208 + 24` | Ширина дровера, с которой открывается меню (desktop only) |
|
|
359
|
+
| `disabled` | `boolean` | — | |
|
|
360
|
+
| `draggerTooltip` | `string` | — | Текст подсказки для драггера (desktop only) |
|
|
361
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
362
|
+
| `leftTop` | `ReactNode` | — | |
|
|
363
|
+
| `loading` | `boolean` | — | Флаг загрузки данных |
|
|
364
|
+
| `logo` | `ReactNode` | — | |
|
|
365
|
+
| `onActiveSegmentChange` | `((segmentId: string) => void)` | — | Колбэк смены активного сегмента правой панели. |
|
|
366
|
+
| `onSegmentExpandedChange` | `((segmentId: string, expandedGroupIds: string[]) => void)` | — | Колбэк при изменении набора раскрытых групп сегмента <br/> (без id синтетической группы избранного). |
|
|
367
|
+
| `onSegmentOrderChange` | `((segmentId: string, orderedGroupIds: string[]) => void)` | — | Колбэк после DnD групп в сегменте (без id синтетической группы избранного). |
|
|
368
|
+
| `onWidthChangeEnd` | `((width: number) => void)` | — | Вызывается при окончании изменения ширины дровера (desktop only) |
|
|
369
|
+
| `open` | `boolean` | — | |
|
|
370
|
+
| `platformGroups` | `LinksGroup[]` | — | Платформенные группы (например «Облачные продукты», «Другие продукты»). <br/> Без поиска в сетке карточек **не отображаются**. <br/> С поиском: попадают в результаты при совпадении; порядок — <br/> после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`. <br/> Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`). |
|
|
371
|
+
| `preferences` | `MainMenuPreferencesProps` | — | Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп. <br/> Не передано — кнопка настроек в тулбаре не отображается. |
|
|
372
|
+
| `rightTop` | `ReactNode` | — | |
|
|
373
|
+
| `search` | `SearchProps` | — | |
|
|
374
|
+
| `segmentPrefs` | `MainMenuSegmentPrefs[]` | — | Пользовательские prefs сегментов (порядок / раскрытие групп). <br/> Нет записи для сегмента или omit `order` / `expanded` → uncontrolled для этого поля. |
|
|
375
|
+
| `segments` | `MainMenuSegment[]` | — | Сегменты правой панели (сетка карточек) — только каталог. <br/> При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`. <br/> Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только <br/> первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются. <br/> При `segments.length > 1` показывается SegmentControl (скрывается во время поиска). <br/> Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже. |
|
|
376
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
377
|
+
| `settingItems` | `Item[]` | — | Пункты левой колонки (desktop) / нижней части списка (mobile). <br/> Плоский список `List` (`BaseItem` и при необходимости `type: 'group'` с `divider` для разделителей). <br/> Не связан с сегментами правой панели и не меняется при сортировке групп в сегментах. |
|
|
378
|
+
|
|
379
|
+
## MenuHeaderBrand
|
|
380
|
+
|
|
381
|
+
### Props
|
|
382
|
+
|
|
383
|
+
| Prop | Type | Default | Description |
|
|
384
|
+
|------|------|---------|-------------|
|
|
385
|
+
| `className` | `string` | — | |
|
|
386
|
+
| `logo` | `ReactNode` | — | |
|
|
387
|
+
| `onClose` | `() => void` | — | |
|
|
388
|
+
|
|
389
|
+
## MenuMobile
|
|
390
|
+
|
|
391
|
+
### Props
|
|
392
|
+
|
|
393
|
+
| Prop | Type | Default | Description |
|
|
394
|
+
|------|------|---------|-------------|
|
|
395
|
+
| `activeSegmentId` | `string` | — | Активный сегмент правой панели (значение SegmentControl, см. {@link MainMenuSegment.id}). <br/> Не передано — неуправляемое состояние (дефолт — первый сегмент с видимыми карточками). |
|
|
396
|
+
| `defaultWidth` | `number` | — | Ширина дровера, с которой открывается меню (desktop only) |
|
|
397
|
+
| `disabled` | `boolean` | — | |
|
|
398
|
+
| `draggerTooltip` | `string` | — | Текст подсказки для драггера (desktop only) |
|
|
399
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
400
|
+
| `leftTop` | `ReactNode` | — | |
|
|
401
|
+
| `loading` | `boolean` | — | Флаг загрузки данных |
|
|
402
|
+
| `logo` | `ReactNode` | — | |
|
|
403
|
+
| `onActiveSegmentChange` | `((segmentId: string) => void)` | — | Колбэк смены активного сегмента правой панели. |
|
|
404
|
+
| `onSegmentExpandedChange` | `((segmentId: string, expandedGroupIds: string[]) => void)` | — | Колбэк при изменении набора раскрытых групп сегмента <br/> (без id синтетической группы избранного). |
|
|
405
|
+
| `onSegmentOrderChange` | `((segmentId: string, orderedGroupIds: string[]) => void)` | — | Колбэк после DnD групп в сегменте (без id синтетической группы избранного). |
|
|
406
|
+
| `onWidthChangeEnd` | `((width: number) => void)` | — | Вызывается при окончании изменения ширины дровера (desktop only) |
|
|
407
|
+
| `open` | `boolean` | — | |
|
|
408
|
+
| `platformGroups` | `LinksGroup[]` | — | Платформенные группы (например «Облачные продукты», «Другие продукты»). <br/> Без поиска в сетке карточек **не отображаются**. <br/> С поиском: попадают в результаты при совпадении; порядок — <br/> после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`. <br/> Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`). |
|
|
409
|
+
| `preferences` | `MainMenuPreferencesProps` | — | Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп. <br/> Не передано — кнопка настроек в тулбаре не отображается. |
|
|
410
|
+
| `rightTop` | `ReactNode` | — | |
|
|
411
|
+
| `search` | `SearchProps` | — | |
|
|
412
|
+
| `segmentPrefs` | `MainMenuSegmentPrefs[]` | — | Пользовательские prefs сегментов (порядок / раскрытие групп). <br/> Нет записи для сегмента или omit `order` / `expanded` → uncontrolled для этого поля. |
|
|
413
|
+
| `segments` | `MainMenuSegment[]` | — | Сегменты правой панели (сетка карточек) — только каталог. <br/> При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`. <br/> Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только <br/> первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются. <br/> При `segments.length > 1` показывается SegmentControl (скрывается во время поиска). <br/> Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже. |
|
|
414
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
415
|
+
| `settingItems` | `Item[]` | — | Пункты левой колонки (desktop) / нижней части списка (mobile). <br/> Плоский список `List` (`BaseItem` и при необходимости `type: 'group'` с `divider` для разделителей). <br/> Не связан с сегментами правой панели и не меняется при сортировке групп в сегментах. |
|
|
416
|
+
|
|
417
|
+
## MountAnimation
|
|
418
|
+
|
|
419
|
+
### Props
|
|
420
|
+
|
|
421
|
+
| Prop | Type | Default | Description |
|
|
422
|
+
|------|------|---------|-------------|
|
|
423
|
+
| `className` | `string` | — | |
|
|
424
|
+
| `data-test-id` | `string` | — | |
|
|
425
|
+
| `type` | `"fade-in"` \| `"fade-slide-up"` \| `"fade-slide-up-right"` \| `"slide-right"` | `slide-right` | |
|
|
426
|
+
|
|
427
|
+
## PathBreadcrumbs
|
|
428
|
+
|
|
429
|
+
### Props `PathBreadcrumbsProps`
|
|
430
|
+
|
|
431
|
+
| Prop | Type | Default | Description |
|
|
432
|
+
|------|------|---------|-------------|
|
|
433
|
+
| `isMobile` | `boolean` | — | |
|
|
434
|
+
| `items` | `BreadcrumbsProps` \| `Item` | — | |
|
|
435
|
+
|
|
436
|
+
## ScrollWithAnimatedStickyPanel
|
|
437
|
+
|
|
438
|
+
### Props
|
|
439
|
+
|
|
440
|
+
| Prop | Type | Default | Description |
|
|
441
|
+
|------|------|---------|-------------|
|
|
442
|
+
| `panel` | `ReactNode` | — | |
|
|
443
|
+
|
|
444
|
+
## Search
|
|
445
|
+
|
|
446
|
+
### Props
|
|
447
|
+
|
|
448
|
+
| Prop | Type | Default | Description |
|
|
449
|
+
|------|------|---------|-------------|
|
|
450
|
+
| `isMobile` | `boolean` | `false` | |
|
|
451
|
+
| `onBlur` | `FocusEventHandler<HTMLInputElement>` | — | Колбек обработки потери фокуса |
|
|
452
|
+
| `onChange` | `(value: string) => void` | — | |
|
|
453
|
+
| `onFocus` | `FocusEventHandler<HTMLInputElement>` | — | Колбек обработки получения фокуса |
|
|
454
|
+
| `onSearchNoResult` | `((value: string) => void)` | — | |
|
|
455
|
+
| `value` | `string` | — | |
|
|
456
|
+
|
|
457
|
+
## ServiceCard
|
|
458
|
+
|
|
459
|
+
### Props
|
|
460
|
+
|
|
461
|
+
| Prop | Type | Default | Description |
|
|
462
|
+
|------|------|---------|-------------|
|
|
463
|
+
| `className` | `string` | — | |
|
|
464
|
+
| `dragPreview` | `boolean` | — | |
|
|
465
|
+
| `expandable` | `{ value: boolean; onClick(): void; }` | — | |
|
|
466
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
467
|
+
| `isMobile` | `boolean` | — | |
|
|
468
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
469
|
+
| `service` | `InnerLink` | — | |
|
|
470
|
+
| `showDescription` | `boolean` | — | |
|
|
471
|
+
| `tabIndex` | `number` | — | |
|
|
472
|
+
|
|
473
|
+
## SortableFavoriteCard
|
|
474
|
+
|
|
475
|
+
### Props
|
|
476
|
+
|
|
477
|
+
| Prop | Type | Default | Description |
|
|
478
|
+
|------|------|---------|-------------|
|
|
479
|
+
| `className` | `string` | — | CSS-класс корневого элемента |
|
|
480
|
+
| `data-test-id` | `string` | — | Support prop для тестов |
|
|
481
|
+
| `expandable` | `{ value: boolean; onClick(): void; }` | — | |
|
|
482
|
+
| `favorite` | `FavoriteProps` | — | Настройки кнопки «Избранное». <br/> Keyboard: ArrowRight на карточке → tooltip (если есть) → Favorite; ArrowLeft — в обратном порядке. |
|
|
483
|
+
| `icon` | `ReactElement<any, string \| JSXElementConstructor<any>>` | — | Иконка сервиса |
|
|
484
|
+
| `isFirst` | `boolean` | — | |
|
|
485
|
+
| `promoTag` | `Omit<PromoTagPredefinedProps, "as" \| "innerRef" \| "trigger">` | — | Настройки promo tag. При отсутствии не отображается |
|
|
486
|
+
| `serviceId` | `string` | — | |
|
|
487
|
+
| `showInsertIndicatorAfter` | `boolean` | — | |
|
|
488
|
+
| `showInsertIndicatorBefore` | `boolean` | — | |
|
|
489
|
+
| `title` | `string` | — | Заголовок карточки |
|
|
490
|
+
| `tooltip` | `Omit<TooltipProps, "size" \| "trigger">` | — | Подсказка с иконкой «?» рядом с заголовком |
|
|
491
|
+
|
|
492
|
+
## SortableGroup
|
|
493
|
+
|
|
494
|
+
### Props
|
|
495
|
+
|
|
496
|
+
| Prop | Type | Default | Description |
|
|
497
|
+
|------|------|---------|-------------|
|
|
498
|
+
| `blockColor` | `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"` | — | |
|
|
499
|
+
| `enableServiceDrag` | `boolean` | — | |
|
|
500
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
501
|
+
| `highlight` | `boolean` | — | |
|
|
502
|
+
| `id` | `string` | — | |
|
|
503
|
+
| `isExpanded` | `boolean` | — | |
|
|
504
|
+
| `isMobile` | `boolean` | — | |
|
|
505
|
+
| `items` | `InnerLink[]` | — | |
|
|
506
|
+
| `label` | `LinksGroupTitle` | — | |
|
|
507
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
508
|
+
| `showDescription` | `boolean` | — | |
|
|
509
|
+
|
|
510
|
+
## SortableGroupCards
|
|
511
|
+
|
|
512
|
+
### Props
|
|
513
|
+
|
|
514
|
+
| Prop | Type | Default | Description |
|
|
515
|
+
|------|------|---------|-------------|
|
|
516
|
+
| `enableServiceDrag` | `boolean` | — | |
|
|
517
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
518
|
+
| `groupId` | `string` | — | |
|
|
519
|
+
| `isMobile` | `boolean` | — | |
|
|
520
|
+
| `items` | `InnerLink[]` | — | |
|
|
521
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
522
|
+
| `showDescription` | `boolean` | — | |
|
|
523
|
+
|
|
524
|
+
## SortableGroupDragHandle
|
|
525
|
+
|
|
526
|
+
### Props
|
|
527
|
+
|
|
528
|
+
| Prop | Type | Default | Description |
|
|
529
|
+
|------|------|---------|-------------|
|
|
530
|
+
| `attributes` | `DraggableAttributes` | — | |
|
|
531
|
+
| `listeners` | `DraggableSyntheticListeners` | — | |
|
|
532
|
+
|
|
533
|
+
## SortableGroupDragPreview
|
|
534
|
+
|
|
535
|
+
### Props
|
|
536
|
+
|
|
537
|
+
| Prop | Type | Default | Description |
|
|
538
|
+
|------|------|---------|-------------|
|
|
539
|
+
| `blockColor` | `"blue"` \| `"green"` \| `"neutral"` \| `"orange"` \| `"pink"` \| `"primary"` \| `"red"` \| `"violet"` \| `"yellow"` | — | |
|
|
540
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
541
|
+
| `highlight` | `boolean` | — | |
|
|
542
|
+
| `id` | `string` | — | |
|
|
543
|
+
| `isExpanded` | `boolean` | — | |
|
|
544
|
+
| `isMobile` | `boolean` | — | |
|
|
545
|
+
| `items` | `InnerLink[]` | — | |
|
|
546
|
+
| `label` | `LinksGroupTitle` | — | |
|
|
547
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
548
|
+
| `showDescription` | `boolean` | — | |
|
|
549
|
+
|
|
550
|
+
## SortableGroupHeader
|
|
551
|
+
|
|
552
|
+
### Props
|
|
553
|
+
|
|
554
|
+
| Prop | Type | Default | Description |
|
|
555
|
+
|------|------|---------|-------------|
|
|
556
|
+
| `attributes` | `DraggableAttributes` | — | |
|
|
557
|
+
| `enableServiceDrag` | `boolean` | — | |
|
|
558
|
+
| `isExpanded` | `boolean` | — | |
|
|
559
|
+
| `isMobile` | `boolean` | — | |
|
|
560
|
+
| `label` | `LinksGroupTitle` | — | |
|
|
561
|
+
| `listeners` | `DraggableSyntheticListeners` | — | |
|
|
562
|
+
|
|
563
|
+
## SortableGroupSkeleton
|
|
564
|
+
|
|
565
|
+
### Props
|
|
566
|
+
|
|
567
|
+
| Prop | Type | Default | Description |
|
|
568
|
+
|------|------|---------|-------------|
|
|
569
|
+
| `isMobile` | `boolean` | — | |
|
|
570
|
+
|
|
571
|
+
## SubCategory
|
|
572
|
+
|
|
573
|
+
### Props
|
|
574
|
+
|
|
575
|
+
| Prop | Type | Default | Description |
|
|
576
|
+
|------|------|---------|-------------|
|
|
577
|
+
| `dragDisabled` | `boolean` | — | |
|
|
578
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
579
|
+
| `groupId` | `string` | — | |
|
|
580
|
+
| `isMobile` | `boolean` | — | |
|
|
581
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
582
|
+
| `service` | `InnerLink` | — | |
|
|
583
|
+
| `showDescription` | `boolean` | — | |
|
|
584
|
+
|
|
585
|
+
## SubCategoryTitle
|
|
586
|
+
|
|
587
|
+
### Props
|
|
588
|
+
|
|
589
|
+
| Prop | Type | Default | Description |
|
|
590
|
+
|------|------|---------|-------------|
|
|
591
|
+
| `dragDisabled` | `boolean` | — | |
|
|
592
|
+
| `expandable` | `{ value: boolean; onClick(): void; }` | — | |
|
|
593
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
594
|
+
| `groupId` | `string` | — | |
|
|
595
|
+
| `isMobile` | `boolean` | — | |
|
|
596
|
+
| `onServiceClick` | `((service: InnerLink, event: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
597
|
+
| `service` | `InnerLink` | — | |
|
|
598
|
+
| `showDescription` | `boolean` | — | |
|
|
599
|
+
|
|
600
|
+
## useFavoritesDnd
|
|
601
|
+
|
|
602
|
+
### Props
|
|
603
|
+
|
|
604
|
+
| Prop | Type | Default | Description |
|
|
605
|
+
|------|------|---------|-------------|
|
|
606
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
607
|
+
| `favoriteItems` | `InnerLink[]` | — | |
|
|
608
|
+
| `segment` | `"favorites"` \| `"recent"` | — | |
|
|
609
|
+
| `setSegment` | `(segment: FavoritesSegment) => void` | — | |
|
|
610
|
+
|
|
611
|
+
## useLogoutItem
|
|
612
|
+
|
|
613
|
+
### Props
|
|
614
|
+
|
|
615
|
+
| Prop | Type | Default | Description |
|
|
616
|
+
|------|------|---------|-------------|
|
|
617
|
+
| `onLogout` | `(() => void)` | — | |
|
|
618
|
+
|
|
619
|
+
## useMainMenuDnd
|
|
620
|
+
|
|
621
|
+
### Props
|
|
622
|
+
|
|
623
|
+
| Prop | Type | Default | Description |
|
|
624
|
+
|------|------|---------|-------------|
|
|
625
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
626
|
+
| `groups` | `LinksGroup[]` | — | Все группы карточек из сегментов (для резолва сервисов при DnD в избранное). |
|
|
627
|
+
| `showDescription` | `boolean` | — | |
|
|
628
|
+
|
|
629
|
+
## useMenuItems
|
|
630
|
+
|
|
631
|
+
### Props
|
|
632
|
+
|
|
633
|
+
| Prop | Type | Default | Description |
|
|
634
|
+
|------|------|---------|-------------|
|
|
635
|
+
| `platformGroups` | `LinksGroup[]` | `[]` | Платформенные группы (например «Облачные продукты», «Другие продукты»). <br/> Без поиска в сетке карточек **не отображаются**. <br/> С поиском: попадают в результаты при совпадении; порядок — <br/> после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`. <br/> Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`). |
|
|
636
|
+
| `search` | `SearchProps` | — | |
|
|
637
|
+
| `segments` | `MainMenuSegment[]` | — | Сегменты правой панели (сетка карточек) — только каталог. <br/> При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`. <br/> Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только <br/> первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются. <br/> При `segments.length > 1` показывается SegmentControl (скрывается во время поиска). <br/> Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже. |
|
|
638
|
+
|
|
639
|
+
## useProfileItem
|
|
640
|
+
|
|
641
|
+
### Props
|
|
642
|
+
|
|
643
|
+
| Prop | Type | Default | Description |
|
|
644
|
+
|------|------|---------|-------------|
|
|
645
|
+
| `email` | `string` | `` | |
|
|
646
|
+
| `fullName` | `string` | `` | |
|
|
647
|
+
| `inviteCount` | `number` | — | |
|
|
648
|
+
| `itemWrapRender` | `((node: ReactNode) => ReactNode)` | — | |
|
|
649
|
+
| `onClick` | `((e: MouseEvent<HTMLElement, MouseEvent>) => void)` | — | |
|
|
650
|
+
|
|
651
|
+
## UserMenu
|
|
652
|
+
|
|
653
|
+
### Props `UserMenuProps`
|
|
654
|
+
|
|
655
|
+
| Prop | Type | Default | Description |
|
|
656
|
+
|------|------|---------|-------------|
|
|
657
|
+
| `items` | `BaseItemWithoutNonGroup` \| `CommonGroupItem` \| `ListProps` \| `ScrollProps` | — | |
|
|
658
|
+
| `onClick` | `(() => void)` | — | |
|
|
659
|
+
| `onLogout` | `(() => void)` | — | |
|
|
660
|
+
| `open` | `boolean` | — | |
|
|
661
|
+
| `profile` | `UserProfileProps` | `{}` | |
|
|
662
|
+
| `setOpen` | `((open: boolean) => void)` | — | |
|
|
663
|
+
| `settingItems` | `BaseItemProps` | — | |
|
|
664
|
+
| `theme` | `ThemeProps` | — | |
|
|
665
|
+
| `triggerTooltip` | `string` | — | |
|
|
666
|
+
|
|
667
|
+
#### Related types
|
|
668
|
+
|
|
669
|
+
**EmptyStateProps**
|
|
670
|
+
|
|
671
|
+
| Prop | Type | Default | Description |
|
|
672
|
+
|------|------|---------|-------------|
|
|
673
|
+
| `isFavoritesSegment` | `boolean` | — | |
|
|
674
|
+
| `isMobile` | `boolean \| undefined` | — | |
|
|
675
|
+
|
|
676
|
+
- `ThemeMode` = `"dark"` \| `"light"` \| `"system"`
|
|
677
|
+
|
|
678
|
+
**ThemeProps**
|
|
679
|
+
|
|
680
|
+
| Prop | Type | Default | Description |
|
|
681
|
+
|------|------|---------|-------------|
|
|
682
|
+
| `onChange` | `((themeMode: ThemeMode) => void) \| undefined` | — | |
|
|
683
|
+
| `value` | `"dark"` \| `"light"` \| `"system"` | — | |
|
|
684
|
+
|
|
685
|
+
**UserProfileProps**
|
|
686
|
+
|
|
687
|
+
| Prop | Type | Default | Description |
|
|
688
|
+
|------|------|---------|-------------|
|
|
689
|
+
| `email` | `string \| undefined` | — | |
|
|
690
|
+
| `fullName` | `string \| undefined` | — | |
|
|
691
|
+
| `inviteCount` | `number \| undefined` | — | |
|
|
692
|
+
| `itemWrapRender` | `((node: ReactNode) => ReactNode) \| undefined` | — | |
|
|
693
|
+
| `onClick` | `((e: MouseEvent<HTMLElement>) => void) \| undefined` | — | |
|
|
694
|
+
|
|
695
|
+
## useSegmentDnd
|
|
696
|
+
|
|
697
|
+
### Props
|
|
698
|
+
|
|
699
|
+
| Prop | Type | Default | Description |
|
|
700
|
+
|------|------|---------|-------------|
|
|
701
|
+
| `expandedIds` | `string[]` | — | |
|
|
702
|
+
| `favorite` | `FavoriteProps` | — | |
|
|
703
|
+
| `onSortableDragEnd` | `(event: DragEndEvent) => void` | — | |
|
|
704
|
+
| `showDescription` | `boolean` | — | |
|
|
705
|
+
| `showGroupsColors` | `boolean` | — | |
|
|
706
|
+
| `visibleGroups` | `LinksGroup[]` | — | |
|
|
707
|
+
|
|
708
|
+
## useThemeItem
|
|
709
|
+
|
|
710
|
+
### Props
|
|
711
|
+
|
|
712
|
+
| Prop | Type | Default | Description |
|
|
713
|
+
|------|------|---------|-------------|
|
|
714
|
+
| `isMobile` | `boolean` | — | |
|
|
715
|
+
| `onChange` | `((themeMode: ThemeMode) => void)` | — | |
|
|
716
|
+
| `onClose` | `(() => void)` | — | |
|
|
717
|
+
| `value` | `"dark"` \| `"light"` \| `"system"` | — | |
|