@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.
Files changed (559) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +201 -0
  3. package/README.md +717 -0
  4. package/dist/cjs/components/HeaderButton/HeaderButton.d.ts +14 -0
  5. package/dist/cjs/components/HeaderButton/HeaderButton.js +33 -0
  6. package/dist/cjs/components/HeaderButton/index.d.ts +1 -0
  7. package/dist/cjs/components/HeaderButton/index.js +17 -0
  8. package/dist/cjs/components/HeaderButton/styles.module.css +3 -0
  9. package/dist/cjs/components/HeaderLayout/HeaderLayout.d.ts +11 -0
  10. package/dist/cjs/components/HeaderLayout/HeaderLayout.js +16 -0
  11. package/dist/cjs/components/HeaderLayout/index.d.ts +1 -0
  12. package/dist/cjs/components/HeaderLayout/index.js +17 -0
  13. package/dist/cjs/components/HeaderLayout/styles.module.css +37 -0
  14. package/dist/cjs/components/Logo/Logo.d.ts +14 -0
  15. package/dist/cjs/components/Logo/Logo.js +35 -0
  16. package/dist/cjs/components/Logo/constants.d.ts +10 -0
  17. package/dist/cjs/components/Logo/constants.js +14 -0
  18. package/dist/cjs/components/Logo/index.d.ts +1 -0
  19. package/dist/cjs/components/Logo/index.js +17 -0
  20. package/dist/cjs/components/Logo/styles.module.css +53 -0
  21. package/dist/cjs/components/MainMenu/MainMenu.d.ts +2 -0
  22. package/dist/cjs/components/MainMenu/MainMenu.js +25 -0
  23. package/dist/cjs/components/MainMenu/constants.d.ts +14 -0
  24. package/dist/cjs/components/MainMenu/constants.js +24 -0
  25. package/dist/cjs/components/MainMenu/helperComponents/Banners/MenuBanner.d.ts +16 -0
  26. package/dist/cjs/components/MainMenu/helperComponents/Banners/MenuBanner.js +27 -0
  27. package/dist/cjs/components/MainMenu/helperComponents/Banners/constants.d.ts +7 -0
  28. package/dist/cjs/components/MainMenu/helperComponents/Banners/constants.js +10 -0
  29. package/dist/cjs/components/MainMenu/helperComponents/Banners/index.d.ts +2 -0
  30. package/dist/cjs/components/MainMenu/helperComponents/Banners/index.js +18 -0
  31. package/dist/cjs/components/MainMenu/helperComponents/Banners/styles.module.css +61 -0
  32. package/dist/cjs/components/MainMenu/helperComponents/Content/Content.d.ts +30 -0
  33. package/dist/cjs/components/MainMenu/helperComponents/Content/Content.js +100 -0
  34. package/dist/cjs/components/MainMenu/helperComponents/Content/constants.d.ts +9 -0
  35. package/dist/cjs/components/MainMenu/helperComponents/Content/constants.js +12 -0
  36. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.d.ts +18 -0
  37. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.js +35 -0
  38. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.d.ts +1 -0
  39. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.js +17 -0
  40. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.css +27 -0
  41. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +11 -0
  42. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +35 -0
  43. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +8 -0
  44. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +23 -0
  45. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.d.ts +6 -0
  46. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.js +15 -0
  47. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.d.ts +9 -0
  48. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.js +15 -0
  49. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.d.ts +5 -0
  50. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.js +12 -0
  51. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +6 -0
  52. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +28 -0
  53. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.d.ts +5 -0
  54. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.js +58 -0
  55. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.d.ts +2 -0
  56. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.js +18 -0
  57. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/styles.module.css +66 -0
  58. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.d.ts +5 -0
  59. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.js +21 -0
  60. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.d.ts +3 -0
  61. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.js +19 -0
  62. package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +231 -0
  63. package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.d.ts +24 -0
  64. package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.js +158 -0
  65. package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.d.ts +16 -0
  66. package/dist/cjs/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.js +59 -0
  67. package/dist/cjs/components/MainMenu/helperComponents/Content/index.d.ts +2 -0
  68. package/dist/cjs/components/MainMenu/helperComponents/Content/index.js +18 -0
  69. package/dist/cjs/components/MainMenu/helperComponents/Content/styles.module.css +8 -0
  70. package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.d.ts +12 -0
  71. package/dist/cjs/components/MainMenu/helperComponents/Favorites/Favorites.js +79 -0
  72. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.d.ts +3 -0
  73. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.js +7 -0
  74. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.d.ts +3 -0
  75. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.js +7 -0
  76. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.d.ts +6 -0
  77. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.js +17 -0
  78. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.d.ts +1 -0
  79. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.js +17 -0
  80. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/EmptyState/styles.module.css +23 -0
  81. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.d.ts +1 -0
  82. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.js +12 -0
  83. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.d.ts +19 -0
  84. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.js +30 -0
  85. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.d.ts +8 -0
  86. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.js +28 -0
  87. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/index.d.ts +4 -0
  88. package/dist/cjs/components/MainMenu/helperComponents/Favorites/components/index.js +20 -0
  89. package/dist/cjs/components/MainMenu/helperComponents/Favorites/constants.d.ts +15 -0
  90. package/dist/cjs/components/MainMenu/helperComponents/Favorites/constants.js +16 -0
  91. package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.d.ts +25 -0
  92. package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.js +92 -0
  93. package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.d.ts +1 -0
  94. package/dist/cjs/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.js +37 -0
  95. package/dist/cjs/components/MainMenu/helperComponents/Favorites/index.d.ts +2 -0
  96. package/dist/cjs/components/MainMenu/helperComponents/Favorites/index.js +18 -0
  97. package/dist/cjs/components/MainMenu/helperComponents/Favorites/styles.module.css +87 -0
  98. package/dist/cjs/components/MainMenu/helperComponents/Favorites/utils.d.ts +6 -0
  99. package/dist/cjs/components/MainMenu/helperComponents/Favorites/utils.js +15 -0
  100. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.d.ts +2 -0
  101. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.js +63 -0
  102. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/constants.d.ts +3 -0
  103. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/constants.js +7 -0
  104. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/index.d.ts +1 -0
  105. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/index.js +17 -0
  106. package/dist/cjs/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +98 -0
  107. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +7 -0
  108. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.js +17 -0
  109. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/index.d.ts +1 -0
  110. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/index.js +17 -0
  111. package/dist/cjs/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.css +13 -0
  112. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.d.ts +2 -0
  113. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +36 -0
  114. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/index.d.ts +1 -0
  115. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/index.js +17 -0
  116. package/dist/cjs/components/MainMenu/helperComponents/MenuMobile/styles.module.css +25 -0
  117. package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/MountAnimation.d.ts +7 -0
  118. package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/MountAnimation.js +13 -0
  119. package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/index.d.ts +1 -0
  120. package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/index.js +5 -0
  121. package/dist/cjs/components/MainMenu/helperComponents/MountAnimation/styles.module.css +60 -0
  122. package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.d.ts +6 -0
  123. package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.js +37 -0
  124. package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.d.ts +1 -0
  125. package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.js +17 -0
  126. package/dist/cjs/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/styles.module.css +12 -0
  127. package/dist/cjs/components/MainMenu/helperComponents/Search/Search.d.ts +7 -0
  128. package/dist/cjs/components/MainMenu/helperComponents/Search/Search.js +15 -0
  129. package/dist/cjs/components/MainMenu/helperComponents/Search/index.d.ts +1 -0
  130. package/dist/cjs/components/MainMenu/helperComponents/Search/index.js +17 -0
  131. package/dist/cjs/components/MainMenu/helperComponents/Search/styles.module.css +8 -0
  132. package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.d.ts +19 -0
  133. package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +53 -0
  134. package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/index.d.ts +1 -0
  135. package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/index.js +17 -0
  136. package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/styles.module.css +12 -0
  137. package/dist/cjs/components/MainMenu/hooks/useMainMenuDnd.d.ts +30 -0
  138. package/dist/cjs/components/MainMenu/hooks/useMainMenuDnd.js +93 -0
  139. package/dist/cjs/components/MainMenu/hooks/useMenuItems.d.ts +8 -0
  140. package/dist/cjs/components/MainMenu/hooks/useMenuItems.js +39 -0
  141. package/dist/cjs/components/MainMenu/index.d.ts +5 -0
  142. package/dist/cjs/components/MainMenu/index.js +21 -0
  143. package/dist/cjs/components/MainMenu/types.d.ts +284 -0
  144. package/dist/cjs/components/MainMenu/types.js +2 -0
  145. package/dist/cjs/components/MainMenu/utils/dedupeSearchGroups.d.ts +15 -0
  146. package/dist/cjs/components/MainMenu/utils/dedupeSearchGroups.js +32 -0
  147. package/dist/cjs/components/MainMenu/utils/dnd/favoriteListCollisionDetection.d.ts +2 -0
  148. package/dist/cjs/components/MainMenu/utils/dnd/favoriteListCollisionDetection.js +32 -0
  149. package/dist/cjs/components/MainMenu/utils/dnd/getDragReferenceY.d.ts +9 -0
  150. package/dist/cjs/components/MainMenu/utils/dnd/getDragReferenceY.js +17 -0
  151. package/dist/cjs/components/MainMenu/utils/dnd/getFavoriteInsertIndex.d.ts +12 -0
  152. package/dist/cjs/components/MainMenu/utils/dnd/getFavoriteInsertIndex.js +36 -0
  153. package/dist/cjs/components/MainMenu/utils/dnd/ids.d.ts +8 -0
  154. package/dist/cjs/components/MainMenu/utils/dnd/ids.js +48 -0
  155. package/dist/cjs/components/MainMenu/utils/dnd/index.d.ts +5 -0
  156. package/dist/cjs/components/MainMenu/utils/dnd/index.js +21 -0
  157. package/dist/cjs/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.d.ts +10 -0
  158. package/dist/cjs/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.js +45 -0
  159. package/dist/cjs/components/MainMenu/utils/filterLinksGroupsFuzzy.d.ts +2 -0
  160. package/dist/cjs/components/MainMenu/utils/filterLinksGroupsFuzzy.js +155 -0
  161. package/dist/cjs/components/MainMenu/utils/flatLinksGroups.d.ts +2 -0
  162. package/dist/cjs/components/MainMenu/utils/flatLinksGroups.js +7 -0
  163. package/dist/cjs/components/MainMenu/utils/getAvatarNameFromLabel.d.ts +14 -0
  164. package/dist/cjs/components/MainMenu/utils/getAvatarNameFromLabel.js +24 -0
  165. package/dist/cjs/components/MainMenu/utils/getLinkEmblem.d.ts +3 -0
  166. package/dist/cjs/components/MainMenu/utils/getLinkEmblem.js +18 -0
  167. package/dist/cjs/components/MainMenu/utils/index.d.ts +12 -0
  168. package/dist/cjs/components/MainMenu/utils/index.js +28 -0
  169. package/dist/cjs/components/MainMenu/utils/innerLink.d.ts +7 -0
  170. package/dist/cjs/components/MainMenu/utils/innerLink.js +42 -0
  171. package/dist/cjs/components/MainMenu/utils/mapInnerLinksToListItems.d.ts +3 -0
  172. package/dist/cjs/components/MainMenu/utils/mapInnerLinksToListItems.js +16 -0
  173. package/dist/cjs/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.d.ts +2 -0
  174. package/dist/cjs/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.js +9 -0
  175. package/dist/cjs/components/MainMenu/utils/pinGroupToBottom.d.ts +2 -0
  176. package/dist/cjs/components/MainMenu/utils/pinGroupToBottom.js +15 -0
  177. package/dist/cjs/components/MainMenu/utils/resolveGroupBlockColor.d.ts +8 -0
  178. package/dist/cjs/components/MainMenu/utils/resolveGroupBlockColor.js +12 -0
  179. package/dist/cjs/components/MainMenu/utils/resolveInnerLinksByIds.d.ts +2 -0
  180. package/dist/cjs/components/MainMenu/utils/resolveInnerLinksByIds.js +11 -0
  181. package/dist/cjs/components/MainMenu/utils/search.d.ts +1 -0
  182. package/dist/cjs/components/MainMenu/utils/search.js +27 -0
  183. package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +7 -0
  184. package/dist/cjs/components/PathBreadcrumbs/PathBreadcrumbs.js +12 -0
  185. package/dist/cjs/components/PathBreadcrumbs/index.d.ts +1 -0
  186. package/dist/cjs/components/PathBreadcrumbs/index.js +17 -0
  187. package/dist/cjs/components/PathBreadcrumbs/styles.module.css +4 -0
  188. package/dist/cjs/components/PlatformLogo/Container.d.ts +12 -0
  189. package/dist/cjs/components/PlatformLogo/Container.js +16 -0
  190. package/dist/cjs/components/PlatformLogo/index.d.ts +6 -0
  191. package/dist/cjs/components/PlatformLogo/index.js +11 -0
  192. package/dist/cjs/components/PlatformLogo/styles.module.css +9 -0
  193. package/dist/cjs/components/UserMenu/UserMenu.d.ts +14 -0
  194. package/dist/cjs/components/UserMenu/UserMenu.js +46 -0
  195. package/dist/cjs/components/UserMenu/hooks/useLogoutItem.d.ts +4 -0
  196. package/dist/cjs/components/UserMenu/hooks/useLogoutItem.js +20 -0
  197. package/dist/cjs/components/UserMenu/hooks/useProfileItem.d.ts +3 -0
  198. package/dist/cjs/components/UserMenu/hooks/useProfileItem.js +24 -0
  199. package/dist/cjs/components/UserMenu/hooks/useThemeItem.d.ts +6 -0
  200. package/dist/cjs/components/UserMenu/hooks/useThemeItem.js +54 -0
  201. package/dist/cjs/components/UserMenu/hooks/useUserMenuItems.d.ts +87 -0
  202. package/dist/cjs/components/UserMenu/hooks/useUserMenuItems.js +45 -0
  203. package/dist/cjs/components/UserMenu/index.d.ts +2 -0
  204. package/dist/cjs/components/UserMenu/index.js +18 -0
  205. package/dist/cjs/components/UserMenu/styles.module.css +7 -0
  206. package/dist/cjs/components/UserMenu/types.d.ts +20 -0
  207. package/dist/cjs/components/UserMenu/types.js +8 -0
  208. package/dist/cjs/components/index.d.ts +7 -0
  209. package/dist/cjs/components/index.js +23 -0
  210. package/dist/cjs/constants.d.ts +20 -0
  211. package/dist/cjs/constants.js +23 -0
  212. package/dist/cjs/index.d.ts +4 -0
  213. package/dist/cjs/index.js +22 -0
  214. package/dist/cjs/locale/index.d.ts +118 -0
  215. package/dist/cjs/locale/index.js +63 -0
  216. package/dist/cjs/mobileOverlays.d.ts +21 -0
  217. package/dist/cjs/mobileOverlays.js +18 -0
  218. package/dist/cjs/package.json +3 -0
  219. package/dist/cjs/style.css +844 -0
  220. package/dist/cjs/utils/shouldBeOpenedInNewTab.d.ts +2 -0
  221. package/dist/cjs/utils/shouldBeOpenedInNewTab.js +6 -0
  222. package/dist/esm/components/HeaderButton/HeaderButton.d.ts +14 -0
  223. package/dist/esm/components/HeaderButton/HeaderButton.js +27 -0
  224. package/dist/esm/components/HeaderButton/index.d.ts +1 -0
  225. package/dist/esm/components/HeaderButton/index.js +1 -0
  226. package/dist/esm/components/HeaderButton/styles.module.css +3 -0
  227. package/dist/esm/components/HeaderLayout/HeaderLayout.d.ts +11 -0
  228. package/dist/esm/components/HeaderLayout/HeaderLayout.js +10 -0
  229. package/dist/esm/components/HeaderLayout/index.d.ts +1 -0
  230. package/dist/esm/components/HeaderLayout/index.js +1 -0
  231. package/dist/esm/components/HeaderLayout/styles.module.css +37 -0
  232. package/dist/esm/components/Logo/Logo.d.ts +14 -0
  233. package/dist/esm/components/Logo/Logo.js +29 -0
  234. package/dist/esm/components/Logo/constants.d.ts +10 -0
  235. package/dist/esm/components/Logo/constants.js +11 -0
  236. package/dist/esm/components/Logo/index.d.ts +1 -0
  237. package/dist/esm/components/Logo/index.js +1 -0
  238. package/dist/esm/components/Logo/styles.module.css +53 -0
  239. package/dist/esm/components/MainMenu/MainMenu.d.ts +2 -0
  240. package/dist/esm/components/MainMenu/MainMenu.js +22 -0
  241. package/dist/esm/components/MainMenu/constants.d.ts +14 -0
  242. package/dist/esm/components/MainMenu/constants.js +21 -0
  243. package/dist/esm/components/MainMenu/helperComponents/Banners/MenuBanner.d.ts +16 -0
  244. package/dist/esm/components/MainMenu/helperComponents/Banners/MenuBanner.js +21 -0
  245. package/dist/esm/components/MainMenu/helperComponents/Banners/constants.d.ts +7 -0
  246. package/dist/esm/components/MainMenu/helperComponents/Banners/constants.js +7 -0
  247. package/dist/esm/components/MainMenu/helperComponents/Banners/index.d.ts +2 -0
  248. package/dist/esm/components/MainMenu/helperComponents/Banners/index.js +2 -0
  249. package/dist/esm/components/MainMenu/helperComponents/Banners/styles.module.css +61 -0
  250. package/dist/esm/components/MainMenu/helperComponents/Content/Content.d.ts +30 -0
  251. package/dist/esm/components/MainMenu/helperComponents/Content/Content.js +94 -0
  252. package/dist/esm/components/MainMenu/helperComponents/Content/constants.d.ts +9 -0
  253. package/dist/esm/components/MainMenu/helperComponents/Content/constants.js +9 -0
  254. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.d.ts +18 -0
  255. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.js +29 -0
  256. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.d.ts +1 -0
  257. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.js +1 -0
  258. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.css +27 -0
  259. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +11 -0
  260. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +28 -0
  261. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +8 -0
  262. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +17 -0
  263. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.d.ts +6 -0
  264. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.js +9 -0
  265. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.d.ts +9 -0
  266. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.js +9 -0
  267. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.d.ts +5 -0
  268. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.js +6 -0
  269. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +6 -0
  270. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +22 -0
  271. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.d.ts +5 -0
  272. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.js +52 -0
  273. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.d.ts +2 -0
  274. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.js +2 -0
  275. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/styles.module.css +66 -0
  276. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.d.ts +5 -0
  277. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.js +5 -0
  278. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.d.ts +3 -0
  279. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.js +3 -0
  280. package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.css +231 -0
  281. package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.d.ts +24 -0
  282. package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.js +155 -0
  283. package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.d.ts +16 -0
  284. package/dist/esm/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.js +56 -0
  285. package/dist/esm/components/MainMenu/helperComponents/Content/index.d.ts +2 -0
  286. package/dist/esm/components/MainMenu/helperComponents/Content/index.js +2 -0
  287. package/dist/esm/components/MainMenu/helperComponents/Content/styles.module.css +8 -0
  288. package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.d.ts +12 -0
  289. package/dist/esm/components/MainMenu/helperComponents/Favorites/Favorites.js +73 -0
  290. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.d.ts +3 -0
  291. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.js +4 -0
  292. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.d.ts +3 -0
  293. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.js +4 -0
  294. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.d.ts +6 -0
  295. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.js +11 -0
  296. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.d.ts +1 -0
  297. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.js +1 -0
  298. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/EmptyState/styles.module.css +23 -0
  299. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.d.ts +1 -0
  300. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.js +6 -0
  301. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.d.ts +19 -0
  302. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.js +24 -0
  303. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.d.ts +8 -0
  304. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.js +22 -0
  305. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/index.d.ts +4 -0
  306. package/dist/esm/components/MainMenu/helperComponents/Favorites/components/index.js +4 -0
  307. package/dist/esm/components/MainMenu/helperComponents/Favorites/constants.d.ts +15 -0
  308. package/dist/esm/components/MainMenu/helperComponents/Favorites/constants.js +13 -0
  309. package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.d.ts +25 -0
  310. package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.js +89 -0
  311. package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.d.ts +1 -0
  312. package/dist/esm/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.js +34 -0
  313. package/dist/esm/components/MainMenu/helperComponents/Favorites/index.d.ts +2 -0
  314. package/dist/esm/components/MainMenu/helperComponents/Favorites/index.js +2 -0
  315. package/dist/esm/components/MainMenu/helperComponents/Favorites/styles.module.css +87 -0
  316. package/dist/esm/components/MainMenu/helperComponents/Favorites/utils.d.ts +6 -0
  317. package/dist/esm/components/MainMenu/helperComponents/Favorites/utils.js +12 -0
  318. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.d.ts +2 -0
  319. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.js +57 -0
  320. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/constants.d.ts +3 -0
  321. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/constants.js +4 -0
  322. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/index.d.ts +1 -0
  323. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/index.js +1 -0
  324. package/dist/esm/components/MainMenu/helperComponents/MenuDesktop/styles.module.css +98 -0
  325. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.d.ts +7 -0
  326. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.js +11 -0
  327. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/index.d.ts +1 -0
  328. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/index.js +1 -0
  329. package/dist/esm/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.css +13 -0
  330. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.d.ts +2 -0
  331. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/MenuMobile.js +30 -0
  332. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/index.d.ts +1 -0
  333. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/index.js +1 -0
  334. package/dist/esm/components/MainMenu/helperComponents/MenuMobile/styles.module.css +25 -0
  335. package/dist/esm/components/MainMenu/helperComponents/MountAnimation/MountAnimation.d.ts +7 -0
  336. package/dist/esm/components/MainMenu/helperComponents/MountAnimation/MountAnimation.js +7 -0
  337. package/dist/esm/components/MainMenu/helperComponents/MountAnimation/index.d.ts +1 -0
  338. package/dist/esm/components/MainMenu/helperComponents/MountAnimation/index.js +1 -0
  339. package/dist/esm/components/MainMenu/helperComponents/MountAnimation/styles.module.css +60 -0
  340. package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.d.ts +6 -0
  341. package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.js +31 -0
  342. package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.d.ts +1 -0
  343. package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.js +1 -0
  344. package/dist/esm/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/styles.module.css +12 -0
  345. package/dist/esm/components/MainMenu/helperComponents/Search/Search.d.ts +7 -0
  346. package/dist/esm/components/MainMenu/helperComponents/Search/Search.js +9 -0
  347. package/dist/esm/components/MainMenu/helperComponents/Search/index.d.ts +1 -0
  348. package/dist/esm/components/MainMenu/helperComponents/Search/index.js +1 -0
  349. package/dist/esm/components/MainMenu/helperComponents/Search/styles.module.css +8 -0
  350. package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.d.ts +19 -0
  351. package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +46 -0
  352. package/dist/esm/components/MainMenu/helperComponents/ServiceCard/index.d.ts +1 -0
  353. package/dist/esm/components/MainMenu/helperComponents/ServiceCard/index.js +1 -0
  354. package/dist/esm/components/MainMenu/helperComponents/ServiceCard/styles.module.css +12 -0
  355. package/dist/esm/components/MainMenu/hooks/useMainMenuDnd.d.ts +30 -0
  356. package/dist/esm/components/MainMenu/hooks/useMainMenuDnd.js +88 -0
  357. package/dist/esm/components/MainMenu/hooks/useMenuItems.d.ts +8 -0
  358. package/dist/esm/components/MainMenu/hooks/useMenuItems.js +36 -0
  359. package/dist/esm/components/MainMenu/index.d.ts +5 -0
  360. package/dist/esm/components/MainMenu/index.js +5 -0
  361. package/dist/esm/components/MainMenu/types.d.ts +284 -0
  362. package/dist/esm/components/MainMenu/types.js +1 -0
  363. package/dist/esm/components/MainMenu/utils/dedupeSearchGroups.d.ts +15 -0
  364. package/dist/esm/components/MainMenu/utils/dedupeSearchGroups.js +29 -0
  365. package/dist/esm/components/MainMenu/utils/dnd/favoriteListCollisionDetection.d.ts +2 -0
  366. package/dist/esm/components/MainMenu/utils/dnd/favoriteListCollisionDetection.js +28 -0
  367. package/dist/esm/components/MainMenu/utils/dnd/getDragReferenceY.d.ts +9 -0
  368. package/dist/esm/components/MainMenu/utils/dnd/getDragReferenceY.js +14 -0
  369. package/dist/esm/components/MainMenu/utils/dnd/getFavoriteInsertIndex.d.ts +12 -0
  370. package/dist/esm/components/MainMenu/utils/dnd/getFavoriteInsertIndex.js +32 -0
  371. package/dist/esm/components/MainMenu/utils/dnd/ids.d.ts +8 -0
  372. package/dist/esm/components/MainMenu/utils/dnd/ids.js +38 -0
  373. package/dist/esm/components/MainMenu/utils/dnd/index.d.ts +5 -0
  374. package/dist/esm/components/MainMenu/utils/dnd/index.js +5 -0
  375. package/dist/esm/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.d.ts +10 -0
  376. package/dist/esm/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.js +42 -0
  377. package/dist/esm/components/MainMenu/utils/filterLinksGroupsFuzzy.d.ts +2 -0
  378. package/dist/esm/components/MainMenu/utils/filterLinksGroupsFuzzy.js +149 -0
  379. package/dist/esm/components/MainMenu/utils/flatLinksGroups.d.ts +2 -0
  380. package/dist/esm/components/MainMenu/utils/flatLinksGroups.js +4 -0
  381. package/dist/esm/components/MainMenu/utils/getAvatarNameFromLabel.d.ts +14 -0
  382. package/dist/esm/components/MainMenu/utils/getAvatarNameFromLabel.js +21 -0
  383. package/dist/esm/components/MainMenu/utils/getLinkEmblem.d.ts +3 -0
  384. package/dist/esm/components/MainMenu/utils/getLinkEmblem.js +15 -0
  385. package/dist/esm/components/MainMenu/utils/index.d.ts +12 -0
  386. package/dist/esm/components/MainMenu/utils/index.js +12 -0
  387. package/dist/esm/components/MainMenu/utils/innerLink.d.ts +7 -0
  388. package/dist/esm/components/MainMenu/utils/innerLink.js +34 -0
  389. package/dist/esm/components/MainMenu/utils/mapInnerLinksToListItems.d.ts +3 -0
  390. package/dist/esm/components/MainMenu/utils/mapInnerLinksToListItems.js +13 -0
  391. package/dist/esm/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.d.ts +2 -0
  392. package/dist/esm/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.js +6 -0
  393. package/dist/esm/components/MainMenu/utils/pinGroupToBottom.d.ts +2 -0
  394. package/dist/esm/components/MainMenu/utils/pinGroupToBottom.js +12 -0
  395. package/dist/esm/components/MainMenu/utils/resolveGroupBlockColor.d.ts +8 -0
  396. package/dist/esm/components/MainMenu/utils/resolveGroupBlockColor.js +9 -0
  397. package/dist/esm/components/MainMenu/utils/resolveInnerLinksByIds.d.ts +2 -0
  398. package/dist/esm/components/MainMenu/utils/resolveInnerLinksByIds.js +8 -0
  399. package/dist/esm/components/MainMenu/utils/search.d.ts +1 -0
  400. package/dist/esm/components/MainMenu/utils/search.js +24 -0
  401. package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.d.ts +7 -0
  402. package/dist/esm/components/PathBreadcrumbs/PathBreadcrumbs.js +6 -0
  403. package/dist/esm/components/PathBreadcrumbs/index.d.ts +1 -0
  404. package/dist/esm/components/PathBreadcrumbs/index.js +1 -0
  405. package/dist/esm/components/PathBreadcrumbs/styles.module.css +4 -0
  406. package/dist/esm/components/PlatformLogo/Container.d.ts +12 -0
  407. package/dist/esm/components/PlatformLogo/Container.js +8 -0
  408. package/dist/esm/components/PlatformLogo/index.d.ts +6 -0
  409. package/dist/esm/components/PlatformLogo/index.js +8 -0
  410. package/dist/esm/components/PlatformLogo/styles.module.css +9 -0
  411. package/dist/esm/components/UserMenu/UserMenu.d.ts +14 -0
  412. package/dist/esm/components/UserMenu/UserMenu.js +40 -0
  413. package/dist/esm/components/UserMenu/hooks/useLogoutItem.d.ts +4 -0
  414. package/dist/esm/components/UserMenu/hooks/useLogoutItem.js +17 -0
  415. package/dist/esm/components/UserMenu/hooks/useProfileItem.d.ts +3 -0
  416. package/dist/esm/components/UserMenu/hooks/useProfileItem.js +21 -0
  417. package/dist/esm/components/UserMenu/hooks/useThemeItem.d.ts +6 -0
  418. package/dist/esm/components/UserMenu/hooks/useThemeItem.js +51 -0
  419. package/dist/esm/components/UserMenu/hooks/useUserMenuItems.d.ts +87 -0
  420. package/dist/esm/components/UserMenu/hooks/useUserMenuItems.js +42 -0
  421. package/dist/esm/components/UserMenu/index.d.ts +2 -0
  422. package/dist/esm/components/UserMenu/index.js +2 -0
  423. package/dist/esm/components/UserMenu/styles.module.css +7 -0
  424. package/dist/esm/components/UserMenu/types.d.ts +20 -0
  425. package/dist/esm/components/UserMenu/types.js +5 -0
  426. package/dist/esm/components/index.d.ts +7 -0
  427. package/dist/esm/components/index.js +7 -0
  428. package/dist/esm/constants.d.ts +20 -0
  429. package/dist/esm/constants.js +20 -0
  430. package/dist/esm/index.d.ts +4 -0
  431. package/dist/esm/index.js +4 -0
  432. package/dist/esm/locale/index.d.ts +118 -0
  433. package/dist/esm/locale/index.js +60 -0
  434. package/dist/esm/mobileOverlays.d.ts +21 -0
  435. package/dist/esm/mobileOverlays.js +15 -0
  436. package/dist/esm/style.css +844 -0
  437. package/dist/esm/utils/shouldBeOpenedInNewTab.d.ts +2 -0
  438. package/dist/esm/utils/shouldBeOpenedInNewTab.js +3 -0
  439. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  440. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  441. package/package.json +77 -0
  442. package/src/components/HeaderButton/HeaderButton.tsx +57 -0
  443. package/src/components/HeaderButton/index.ts +1 -0
  444. package/src/components/HeaderButton/styles.module.scss +3 -0
  445. package/src/components/HeaderLayout/HeaderLayout.tsx +56 -0
  446. package/src/components/HeaderLayout/index.ts +1 -0
  447. package/src/components/HeaderLayout/styles.module.scss +42 -0
  448. package/src/components/Logo/Logo.tsx +76 -0
  449. package/src/components/Logo/constants.ts +17 -0
  450. package/src/components/Logo/index.ts +1 -0
  451. package/src/components/Logo/styles.module.scss +64 -0
  452. package/src/components/MainMenu/MainMenu.tsx +84 -0
  453. package/src/components/MainMenu/constants.ts +24 -0
  454. package/src/components/MainMenu/helperComponents/Banners/MenuBanner.tsx +103 -0
  455. package/src/components/MainMenu/helperComponents/Banners/constants.ts +7 -0
  456. package/src/components/MainMenu/helperComponents/Banners/index.ts +2 -0
  457. package/src/components/MainMenu/helperComponents/Banners/styles.module.scss +75 -0
  458. package/src/components/MainMenu/helperComponents/Content/Content.tsx +267 -0
  459. package/src/components/MainMenu/helperComponents/Content/constants.ts +9 -0
  460. package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/ContentToolbar.tsx +136 -0
  461. package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/index.ts +1 -0
  462. package/src/components/MainMenu/helperComponents/Content/helperComponents/ContentToolbar/styles.module.scss +31 -0
  463. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.tsx +131 -0
  464. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.tsx +64 -0
  465. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupDragHandle.tsx +29 -0
  466. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupHeader.tsx +47 -0
  467. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupSkeleton.tsx +35 -0
  468. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.tsx +79 -0
  469. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategoryTitle.tsx +128 -0
  470. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/index.ts +2 -0
  471. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/styles.module.scss +77 -0
  472. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/index.ts +5 -0
  473. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/index.ts +3 -0
  474. package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/styles.module.scss +270 -0
  475. package/src/components/MainMenu/helperComponents/Content/hooks/useContentSegmentsSortable.ts +250 -0
  476. package/src/components/MainMenu/helperComponents/Content/hooks/useSegmentDnd.tsx +104 -0
  477. package/src/components/MainMenu/helperComponents/Content/index.ts +2 -0
  478. package/src/components/MainMenu/helperComponents/Content/styles.module.scss +11 -0
  479. package/src/components/MainMenu/helperComponents/Favorites/Favorites.tsx +176 -0
  480. package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyFavoriteSVG.tsx +24 -0
  481. package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyRecentSVG.tsx +38 -0
  482. package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/EmptyState.tsx +36 -0
  483. package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/index.ts +1 -0
  484. package/src/components/MainMenu/helperComponents/Favorites/components/EmptyState/styles.module.scss +27 -0
  485. package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesItemsSkeleton.tsx +15 -0
  486. package/src/components/MainMenu/helperComponents/Favorites/components/FavoritesSortable.tsx +78 -0
  487. package/src/components/MainMenu/helperComponents/Favorites/components/SortableFavoriteCard.tsx +70 -0
  488. package/src/components/MainMenu/helperComponents/Favorites/components/index.ts +4 -0
  489. package/src/components/MainMenu/helperComponents/Favorites/constants.ts +18 -0
  490. package/src/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesDnd.tsx +123 -0
  491. package/src/components/MainMenu/helperComponents/Favorites/hooks/useFavoritesInsertIndicator.ts +41 -0
  492. package/src/components/MainMenu/helperComponents/Favorites/index.ts +2 -0
  493. package/src/components/MainMenu/helperComponents/Favorites/styles.module.scss +101 -0
  494. package/src/components/MainMenu/helperComponents/Favorites/utils.ts +22 -0
  495. package/src/components/MainMenu/helperComponents/MenuDesktop/MenuDesktop.tsx +172 -0
  496. package/src/components/MainMenu/helperComponents/MenuDesktop/constants.ts +6 -0
  497. package/src/components/MainMenu/helperComponents/MenuDesktop/index.ts +1 -0
  498. package/src/components/MainMenu/helperComponents/MenuDesktop/styles.module.scss +118 -0
  499. package/src/components/MainMenu/helperComponents/MenuHeaderBrand/MenuHeaderBrand.tsx +27 -0
  500. package/src/components/MainMenu/helperComponents/MenuHeaderBrand/index.ts +1 -0
  501. package/src/components/MainMenu/helperComponents/MenuHeaderBrand/styles.module.scss +17 -0
  502. package/src/components/MainMenu/helperComponents/MenuMobile/MenuMobile.tsx +101 -0
  503. package/src/components/MainMenu/helperComponents/MenuMobile/index.ts +1 -0
  504. package/src/components/MainMenu/helperComponents/MenuMobile/styles.module.scss +32 -0
  505. package/src/components/MainMenu/helperComponents/MountAnimation/MountAnimation.tsx +20 -0
  506. package/src/components/MainMenu/helperComponents/MountAnimation/index.ts +1 -0
  507. package/src/components/MainMenu/helperComponents/MountAnimation/styles.module.scss +77 -0
  508. package/src/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/ScrollWithAnimatedStickyPanel.tsx +54 -0
  509. package/src/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/index.ts +1 -0
  510. package/src/components/MainMenu/helperComponents/ScrollWithAnimatedStickyPanel/styles.module.scss +16 -0
  511. package/src/components/MainMenu/helperComponents/Search/Search.tsx +34 -0
  512. package/src/components/MainMenu/helperComponents/Search/index.ts +1 -0
  513. package/src/components/MainMenu/helperComponents/Search/styles.module.scss +14 -0
  514. package/src/components/MainMenu/helperComponents/ServiceCard/ServiceCard.tsx +111 -0
  515. package/src/components/MainMenu/helperComponents/ServiceCard/index.ts +1 -0
  516. package/src/components/MainMenu/helperComponents/ServiceCard/styles.module.scss +14 -0
  517. package/src/components/MainMenu/hooks/useMainMenuDnd.tsx +187 -0
  518. package/src/components/MainMenu/hooks/useMenuItems.tsx +59 -0
  519. package/src/components/MainMenu/index.ts +5 -0
  520. package/src/components/MainMenu/types.ts +311 -0
  521. package/src/components/MainMenu/utils/dedupeSearchGroups.ts +35 -0
  522. package/src/components/MainMenu/utils/dnd/favoriteListCollisionDetection.ts +35 -0
  523. package/src/components/MainMenu/utils/dnd/getDragReferenceY.ts +26 -0
  524. package/src/components/MainMenu/utils/dnd/getFavoriteInsertIndex.ts +63 -0
  525. package/src/components/MainMenu/utils/dnd/ids.ts +53 -0
  526. package/src/components/MainMenu/utils/dnd/index.ts +5 -0
  527. package/src/components/MainMenu/utils/dnd/resolveFavoriteOrderOnDragEnd.ts +74 -0
  528. package/src/components/MainMenu/utils/filterLinksGroupsFuzzy.ts +205 -0
  529. package/src/components/MainMenu/utils/flatLinksGroups.ts +6 -0
  530. package/src/components/MainMenu/utils/getAvatarNameFromLabel.ts +24 -0
  531. package/src/components/MainMenu/utils/getLinkEmblem.tsx +27 -0
  532. package/src/components/MainMenu/utils/index.ts +12 -0
  533. package/src/components/MainMenu/utils/innerLink.ts +45 -0
  534. package/src/components/MainMenu/utils/mapInnerLinksToListItems.tsx +17 -0
  535. package/src/components/MainMenu/utils/mapOrderedFavoriteIdsToLinks.ts +13 -0
  536. package/src/components/MainMenu/utils/pinGroupToBottom.ts +17 -0
  537. package/src/components/MainMenu/utils/resolveGroupBlockColor.ts +14 -0
  538. package/src/components/MainMenu/utils/resolveInnerLinksByIds.ts +12 -0
  539. package/src/components/MainMenu/utils/search.ts +32 -0
  540. package/src/components/PathBreadcrumbs/PathBreadcrumbs.tsx +21 -0
  541. package/src/components/PathBreadcrumbs/index.ts +1 -0
  542. package/src/components/PathBreadcrumbs/styles.module.scss +7 -0
  543. package/src/components/PlatformLogo/Container.tsx +31 -0
  544. package/src/components/PlatformLogo/index.ts +17 -0
  545. package/src/components/PlatformLogo/styles.module.scss +13 -0
  546. package/src/components/UserMenu/UserMenu.tsx +106 -0
  547. package/src/components/UserMenu/hooks/useLogoutItem.tsx +23 -0
  548. package/src/components/UserMenu/hooks/useProfileItem.tsx +33 -0
  549. package/src/components/UserMenu/hooks/useThemeItem.tsx +70 -0
  550. package/src/components/UserMenu/hooks/useUserMenuItems.ts +77 -0
  551. package/src/components/UserMenu/index.ts +2 -0
  552. package/src/components/UserMenu/styles.module.scss +7 -0
  553. package/src/components/UserMenu/types.ts +24 -0
  554. package/src/components/index.ts +7 -0
  555. package/src/constants.ts +20 -0
  556. package/src/index.ts +4 -0
  557. package/src/locale/index.ts +64 -0
  558. package/src/mobileOverlays.ts +26 -0
  559. package/src/utils/shouldBeOpenedInNewTab.ts +5 -0
@@ -0,0 +1,30 @@
1
+ import { DragCancelEvent, DragEndEvent, DragStartEvent, Modifier } from '@dnd-kit/core';
2
+ import { ReactNode } from 'react';
3
+ import { FavoriteProps, LinksGroup } from '../types';
4
+ type MainMenuDndOverlayContextValue = {
5
+ setGroupDragOverlay(overlay: ReactNode): void;
6
+ };
7
+ export declare function useMainMenuDndOverlay(): MainMenuDndOverlayContextValue;
8
+ type UseMainMenuDndProps = {
9
+ favorite?: FavoriteProps;
10
+ /** Все группы карточек из сегментов (для резолва сервисов при DnD в избранное). */
11
+ groups: LinksGroup[];
12
+ showDescription: boolean;
13
+ };
14
+ export declare function useMainMenuDnd({ favorite, groups, showDescription }: UseMainMenuDndProps): {
15
+ sensors: import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
16
+ modifiers: Modifier[];
17
+ collisionDetection: import("@dnd-kit/core").CollisionDetection;
18
+ onDragStart: ({ active }: DragStartEvent) => void;
19
+ onDragEnd: ({ active, over, delta, activatorEvent }: DragEndEvent) => void;
20
+ onDragCancel: ({ active }: DragCancelEvent) => void;
21
+ dragOverlay: string | number | boolean | Iterable<ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
22
+ overlayContextValue: {
23
+ setGroupDragOverlay: import("react").Dispatch<import("react").SetStateAction<ReactNode>>;
24
+ };
25
+ };
26
+ export type MainMenuDndContextProps = ReturnType<typeof useMainMenuDnd> & {
27
+ children: ReactNode;
28
+ };
29
+ export declare function MainMenuDndContext({ children, sensors, modifiers, collisionDetection, onDragStart, onDragEnd, onDragCancel, dragOverlay, overlayContextValue, }: Partial<MainMenuDndContextProps>): import("react/jsx-runtime").JSX.Element;
30
+ export {};
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMainMenuDndOverlay = useMainMenuDndOverlay;
4
+ exports.useMainMenuDnd = useMainMenuDnd;
5
+ exports.MainMenuDndContext = MainMenuDndContext;
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const core_1 = require("@dnd-kit/core");
8
+ const modifiers_1 = require("@dnd-kit/modifiers");
9
+ const sortable_1 = require("@dnd-kit/sortable");
10
+ const react_1 = require("react");
11
+ const ServiceCard_1 = require("../helperComponents/ServiceCard");
12
+ const utils_1 = require("../utils");
13
+ const restrictGroupDragToVerticalAxis = args => {
14
+ if (args.active?.id != null && (0, utils_1.isServiceSourceDragId)(args.active.id)) {
15
+ return args.transform;
16
+ }
17
+ if (args.active?.id != null && (0, utils_1.isServiceFavoriteDragId)(args.active.id)) {
18
+ return (0, modifiers_1.restrictToVerticalAxis)(args);
19
+ }
20
+ return (0, modifiers_1.restrictToVerticalAxis)(args);
21
+ };
22
+ const MainMenuDndOverlayContext = (0, react_1.createContext)(null);
23
+ function useMainMenuDndOverlay() {
24
+ const context = (0, react_1.useContext)(MainMenuDndOverlayContext);
25
+ return (context ?? {
26
+ setGroupDragOverlay: () => { },
27
+ });
28
+ }
29
+ function useMainMenuDnd({ favorite, groups, showDescription }) {
30
+ const [activeServiceId, setActiveServiceId] = (0, react_1.useState)(null);
31
+ const [groupDragOverlay, setGroupDragOverlay] = (0, react_1.useState)(null);
32
+ const servicesById = (0, react_1.useMemo)(() => new Map((0, utils_1.flatLinksGroups)(groups).map(service => [service.id, service])), [groups]);
33
+ const activeService = activeServiceId ? servicesById.get(activeServiceId) : undefined;
34
+ const sensors = (0, core_1.useSensors)((0, core_1.useSensor)(core_1.PointerSensor, { activationConstraint: { distance: 8 } }), (0, core_1.useSensor)(core_1.KeyboardSensor, { coordinateGetter: sortable_1.sortableKeyboardCoordinates }));
35
+ const handleDragStart = (0, react_1.useCallback)(({ active }) => {
36
+ if ((0, utils_1.isServiceSourceDragId)(active.id)) {
37
+ setActiveServiceId((0, utils_1.parseServiceDragId)(active.id));
38
+ }
39
+ }, []);
40
+ const { value: favoriteIds, onChange: onFavoriteChange, onOrderChange: onFavoriteOrderChange } = favorite ?? {};
41
+ const handleDragEnd = (0, react_1.useCallback)(({ active, over, delta, activatorEvent }) => {
42
+ if ((0, utils_1.isServiceDragId)(active.id) && favoriteIds) {
43
+ const nextOrderIds = (0, utils_1.resolveFavoriteOrderOnDragEnd)({
44
+ activeId: active.id,
45
+ overId: over?.id,
46
+ favoriteIds,
47
+ referenceY: (0, utils_1.getDragReferenceY)({
48
+ activatorEvent,
49
+ deltaY: delta.y,
50
+ activeRect: active.rect.current.translated,
51
+ }),
52
+ overRect: over?.rect,
53
+ });
54
+ if (nextOrderIds) {
55
+ const activeServiceId = (0, utils_1.parseServiceDragId)(active.id);
56
+ if (favoriteIds.includes(activeServiceId)) {
57
+ onFavoriteOrderChange?.(nextOrderIds);
58
+ }
59
+ else {
60
+ onFavoriteChange?.(activeServiceId)(true, nextOrderIds.indexOf(activeServiceId));
61
+ }
62
+ }
63
+ }
64
+ if ((0, utils_1.isServiceSourceDragId)(active.id)) {
65
+ setActiveServiceId(null);
66
+ }
67
+ }, [favoriteIds, onFavoriteChange, onFavoriteOrderChange]);
68
+ const handleDragCancel = (0, react_1.useCallback)(({ active }) => {
69
+ if (active && (0, utils_1.isServiceSourceDragId)(active.id)) {
70
+ setActiveServiceId(null);
71
+ }
72
+ }, []);
73
+ const serviceDragOverlay = activeService ? ((0, jsx_runtime_1.jsx)(ServiceCard_1.ServiceCard, { service: activeService, showDescription: showDescription, dragPreview: true })) : null;
74
+ const dragOverlay = serviceDragOverlay ?? groupDragOverlay;
75
+ const overlayContextValue = (0, react_1.useMemo)(() => ({
76
+ setGroupDragOverlay,
77
+ }), []);
78
+ return {
79
+ sensors,
80
+ modifiers: [restrictGroupDragToVerticalAxis],
81
+ collisionDetection: utils_1.favoriteListCollisionDetection,
82
+ onDragStart: handleDragStart,
83
+ onDragEnd: handleDragEnd,
84
+ onDragCancel: handleDragCancel,
85
+ dragOverlay,
86
+ overlayContextValue,
87
+ };
88
+ }
89
+ function MainMenuDndContext({ children, sensors, modifiers, collisionDetection, onDragStart, onDragEnd, onDragCancel, dragOverlay, overlayContextValue, }) {
90
+ return ((0, jsx_runtime_1.jsx)(MainMenuDndOverlayContext.Provider, { value: overlayContextValue ?? null, children: (0, jsx_runtime_1.jsxs)(core_1.DndContext, { sensors: sensors, collisionDetection: collisionDetection, onDragStart: onDragStart, onDragEnd: onDragEnd, onDragCancel: onDragCancel, modifiers: modifiers, measuring: {
91
+ droppable: { strategy: core_1.MeasuringStrategy.Always },
92
+ }, children: [children, (0, jsx_runtime_1.jsx)(core_1.DragOverlay, { dropAnimation: null, children: dragOverlay })] }) }));
93
+ }
@@ -0,0 +1,8 @@
1
+ import { LinksGroup, MainMenuProps } from '../types';
2
+ type UseMenuItemsProps = Pick<MainMenuProps, 'segments' | 'search' | 'platformGroups'>;
3
+ export declare function useMenuItems({ search, segments, platformGroups }: UseMenuItemsProps): {
4
+ resultItems: LinksGroup[];
5
+ searchRef: import("react").RefObject<HTMLInputElement>;
6
+ scrollRef: import("react").RefObject<HTMLDivElement>;
7
+ };
8
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMenuItems = useMenuItems;
4
+ const react_1 = require("react");
5
+ const utils_1 = require("../utils");
6
+ function getVisibleGroups(items) {
7
+ return items.filter(group => (0, utils_1.getLinksGroupVisibleItemsCount)(group) > 0);
8
+ }
9
+ function useMenuItems({ search, segments, platformGroups = [] }) {
10
+ const { value: searchValue = '', onSearchNoResult } = search || {};
11
+ const searchRef = (0, react_1.useRef)(null);
12
+ const scrollRef = (0, react_1.useRef)(null);
13
+ const regularSegments = (0, react_1.useMemo)(() => segments?.filter(segment => !segment.pinBottomOnSearch) ?? [], [segments]);
14
+ const pinnedSegments = (0, react_1.useMemo)(() => segments?.filter(segment => segment.pinBottomOnSearch) ?? [], [segments]);
15
+ const regularGroups = (0, react_1.useMemo)(() => regularSegments.flatMap(segment => getVisibleGroups(segment.items)), [regularSegments]);
16
+ const pinnedGroups = (0, react_1.useMemo)(() => pinnedSegments.flatMap(segment => getVisibleGroups(segment.items)), [pinnedSegments]);
17
+ const resultItems = (0, react_1.useMemo)(() => {
18
+ if (!searchValue) {
19
+ return regularGroups;
20
+ }
21
+ const searchIn = (groups) => (0, utils_1.filterLinksGroupsFuzzy)(searchValue, groups);
22
+ const regularResults = regularSegments.flatMap(segment => searchIn(getVisibleGroups(segment.items)));
23
+ const platformResults = platformGroups.length > 0 ? searchIn(platformGroups) : [];
24
+ const pinnedResults = pinnedSegments.flatMap(segment => searchIn(getVisibleGroups(segment.items)));
25
+ const combined = (0, utils_1.dedupeSearchGroups)([...regularResults, ...platformResults, ...pinnedResults]);
26
+ const pinnedGroupIds = pinnedGroups.map(({ id }) => id);
27
+ return pinnedGroupIds.length > 0 ? (0, utils_1.pinGroupToBottom)(combined, pinnedGroupIds) : combined;
28
+ }, [searchValue, regularSegments, regularGroups, platformGroups, pinnedSegments, pinnedGroups]);
29
+ (0, react_1.useEffect)(() => {
30
+ if (searchValue && !resultItems.length) {
31
+ onSearchNoResult?.(searchValue);
32
+ }
33
+ }, [searchValue, resultItems.length, onSearchNoResult]);
34
+ return {
35
+ resultItems,
36
+ searchRef,
37
+ scrollRef,
38
+ };
39
+ }
@@ -0,0 +1,5 @@
1
+ export * from './MainMenu';
2
+ export * from './helperComponents/Banners';
3
+ export * from './helperComponents/Favorites';
4
+ export * from './types';
5
+ export * from './utils/mapInnerLinksToListItems';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MainMenu"), exports);
18
+ __exportStar(require("./helperComponents/Banners"), exports);
19
+ __exportStar(require("./helperComponents/Favorites"), exports);
20
+ __exportStar(require("./types"), exports);
21
+ __exportStar(require("./utils/mapInnerLinksToListItems"), exports);
@@ -0,0 +1,284 @@
1
+ import { BaseItemProps, ListProps } from '@cloud-ru/ds-list';
2
+ import { SearchProps as SearchPropsSnack } from '@cloud-ru/ds-search';
3
+ import { CardServiceLightProps } from '@cloud-ru/ds-uikit-product-card-predefined';
4
+ import { JSXElementConstructor, MouseEvent, ReactNode } from 'react';
5
+ import { FavoritesSegment } from './helperComponents/Favorites/constants';
6
+ /**
7
+ * Карточка сервиса или ссылки внутри {@link LinksGroup}.
8
+ *
9
+ * Отображается в сетке MainMenu (`CardServiceSmall`) и может попадать в боковое меню (`mapInnerLinksToListItems`).
10
+ */
11
+ export type InnerLink = {
12
+ /**
13
+ * Уникальный идентификатор карточки (также используется в избранном и при поиске).
14
+ *
15
+ * Один и тот же сервис может быть представлен в разных сегментах с разной
16
+ * детализацией (простая карточка в общем каталоге и раскрытая с вложенными
17
+ * сервисами версия в другом сегменте) — в этом случае обеим версиям задаётся
18
+ * общий `id`. При поиске из совпадений с одинаковым `id` в разных сегментах
19
+ * остаётся только первое по приоритету сегментов (см. {@link MainMenuProps.segments}).
20
+ */
21
+ id: string;
22
+ /**
23
+ * Иконка карточки.
24
+ *
25
+ * Если не задана, вместо иконки рендерится `Avatar` с двухбуквенным текстом по `label`
26
+ * (см. `getAvatarNameFromLabel`).
27
+ */
28
+ icon?: JSXElementConstructor<{
29
+ size?: number;
30
+ className?: string;
31
+ }>;
32
+ /** Заголовок карточки. */
33
+ label: string;
34
+ /** Краткое описание сервиса — отображается при включённом переключателе «Описание». */
35
+ description?: string;
36
+ onClick(e?: MouseEvent<HTMLElement>): void;
37
+ href?: string;
38
+ disabled?: boolean;
39
+ hidden?: boolean;
40
+ badge?: CardServiceLightProps['promoTag'];
41
+ /**
42
+ * Вложенные сервисы подкатегории.
43
+ *
44
+ * При наличии карточка раскрывается аккордеоном: в свёрнутом виде — обычная карточка
45
+ * с кнопкой раскрытия, в развёрнутом — заголовок {@link TitleClickable} и сетка вложенных сервисов.
46
+ */
47
+ items?: InnerLink[];
48
+ /**
49
+ * Синонимы для fuzzy-поиска.
50
+ */
51
+ aliases: string[];
52
+ };
53
+ type TitleStatic = {
54
+ text: string;
55
+ onClick?: never;
56
+ };
57
+ type TitleClickable = {
58
+ text: string;
59
+ onClick?(e?: MouseEvent<HTMLElement>): void;
60
+ };
61
+ export type LinksGroupTitle = TitleStatic | TitleClickable;
62
+ export type LinksGroupBlockColor = 'neutral' | 'primary' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'pink';
63
+ /**
64
+ * Группа карточек MainMenu с общим заголовком.
65
+ *
66
+ * Используется в `segments[].items` и `platformGroups`.
67
+ * При активном поиске группа может отображаться целиком или с отфильтрованным списком `items`.
68
+ */
69
+ export type LinksGroup = {
70
+ /** Уникальный идентификатор группы (якорь скролла, поиск по id). */
71
+ id: string;
72
+ /** Заголовок группы в сетке карточек и в боковой навигации. */
73
+ label: LinksGroupTitle;
74
+ /**
75
+ * Синонимы заголовка группы для fuzzy-поиска.
76
+ */
77
+ aliases?: string[];
78
+ onClick?(e?: MouseEvent<HTMLElement>): void;
79
+ hidden?: boolean;
80
+ /**
81
+ * Разрешено ли добавление карточек группы в избранное.
82
+ *
83
+ * @default true — избранное доступно, если не передано `false`.
84
+ */
85
+ favoritesEnabled?: boolean;
86
+ /** Карточки сервисов или ссылок внутри группы. */
87
+ items: InnerLink[];
88
+ /** Цвет блока группы. */
89
+ blockColor?: LinksGroupBlockColor;
90
+ /** Визуальное выделение группы */
91
+ highlight?: boolean;
92
+ };
93
+ /**
94
+ * Сегмент правой панели MainMenu (переключатель в тулбаре над сеткой карточек).
95
+ *
96
+ * Только каталог: порядок и раскрытие групп задаются через {@link MainMenuSegmentPrefs}
97
+ * и колбэки `onSegmentOrderChange` / `onSegmentExpandedChange` на {@link MainMenuProps}.
98
+ */
99
+ export type MainMenuSegment = {
100
+ /** Уникальный идентификатор сегмента (значение SegmentControl). */
101
+ id: string;
102
+ /** Подпись сегмента в SegmentControl. */
103
+ label: string;
104
+ /** Иконка сегмента в SegmentControl; без неё — только `label`. */
105
+ icon?: ReactNode;
106
+ /** Группы карточек сегмента (каталог). */
107
+ items: LinksGroup[];
108
+ /**
109
+ * Группы сегмента в выдаче поиска — после совпадений из обычных сегментов и `platformGroups`.
110
+ *
111
+ * @default false
112
+ */
113
+ pinBottomOnSearch?: boolean;
114
+ };
115
+ /**
116
+ * Пользовательские prefs сегмента (порядок и раскрытие групп).
117
+ *
118
+ * Передаются отдельно от каталога {@link MainMenuSegment}, чтобы `segments` оставался стабильным.
119
+ */
120
+ export type MainMenuSegmentPrefs = {
121
+ /** Id сегмента из {@link MainMenuSegment.id}. */
122
+ id: string;
123
+ /**
124
+ * Порядок id групп. Если не передан — uncontrolled для этого сегмента
125
+ * (дефолт = порядок `items`; новые группы добавляются в конец).
126
+ */
127
+ order?: string[];
128
+ /**
129
+ * Id раскрытых групп. Если не передан — uncontrolled (по умолчанию все раскрыты).
130
+ */
131
+ expanded?: string[];
132
+ };
133
+ export type SearchProps = Pick<SearchPropsSnack, 'onBlur' | 'onFocus'> & {
134
+ value: string;
135
+ onChange(value: string): void;
136
+ onSearchNoResult?(value: string): void;
137
+ };
138
+ export type FavoriteProps = {
139
+ /** Список id избранных сервисов */
140
+ value: string[];
141
+ /**
142
+ * Колбэк переключения избранного для карточки сервиса.
143
+ *
144
+ * `position` передаётся при добавлении через drag из сетки сервисов — индекс,
145
+ * на который должна встать карточка среди избранного (см. {@link FavoriteProps.onOrderChange}).
146
+ * При переключении избранного кликом не передаётся.
147
+ */
148
+ onChange(productId: string): (addingValue: boolean, position?: number) => void;
149
+ /**
150
+ * Колбэк вызывается после перетаскивания карточек внутри избранного с новым порядком id.
151
+ *
152
+ * Добавление новой карточки через drag из сетки сервисов идёт через
153
+ * {@link FavoriteProps.onChange} с `position` — этот колбэк для такого добавления не вызывается.
154
+ */
155
+ onOrderChange?(orderedIds: string[]): void;
156
+ /** Список id недавно открытых сервисов */
157
+ recentServices?: string[];
158
+ /** Колбэк клика по карточке сервиса в сегменте «Избранное» */
159
+ onFavoriteServiceClick?(serviceId: string, event?: MouseEvent<HTMLElement>): void;
160
+ /** Колбэк клика по карточке сервиса в сегменте «Недавнее» */
161
+ onRecentServiceClick?(serviceId: string, event?: MouseEvent<HTMLElement>): void;
162
+ /** Действия для списка сервисов */
163
+ actions?: {
164
+ items: BaseItemProps[];
165
+ onDroplistOpenChange?(open: boolean): void;
166
+ };
167
+ /**
168
+ * Активный сегмент («Избранное» / «Недавнее») в панели избранного.
169
+ *
170
+ * Не передано — неуправляемое состояние (дефолт `'favorites'`).
171
+ */
172
+ segment?: FavoritesSegment;
173
+ /** Колбэк смены сегмента панели избранного. */
174
+ onSegmentChange?(segment: FavoritesSegment): void;
175
+ /** Флаг загрузки данных */
176
+ loading?: boolean;
177
+ };
178
+ export type MainMenuToggleProps = {
179
+ value: boolean;
180
+ onChange(value: boolean): void;
181
+ };
182
+ /**
183
+ * Настройки меню, управляемые из модалки по кнопке в тулбаре сетки карточек.
184
+ *
185
+ * Проп опционален на уровне {@link MainMenuProps.preferences} целиком — без него кнопка
186
+ * настроек в тулбаре не отображается.
187
+ */
188
+ export type MainMenuPreferencesProps = {
189
+ /**
190
+ * Открыта ли модалка настроек.
191
+ *
192
+ * Не передано — состояние открытия неуправляемое (модалка сама переключает себя по клику на кнопку).
193
+ */
194
+ open?: boolean;
195
+ /** Колбэк открытия/закрытия модалки. */
196
+ onOpenChange?(open: boolean): void;
197
+ /** Показывать описания сервисов в карточках. */
198
+ showDescription: MainMenuToggleProps;
199
+ /**
200
+ * Отображать цвета блоков групп ({@link LinksGroup.blockColor}).
201
+ * `value: false` скрывает цвета всех групп независимо от заданного `blockColor`.
202
+ */
203
+ showGroupsColors?: MainMenuToggleProps;
204
+ };
205
+ export type MainMenuProps = {
206
+ disabled?: boolean;
207
+ open?: boolean;
208
+ setOpen?(open: boolean): void;
209
+ logo?: ReactNode;
210
+ leftTop?: ReactNode;
211
+ rightTop?: ReactNode;
212
+ /**
213
+ * Сегменты правой панели (сетка карточек) — только каталог.
214
+ *
215
+ * При поиске: совпадения из сегментов без `pinBottomOnSearch` → `platformGroups` → сегменты с `pinBottomOnSearch`.
216
+ * Если один и тот же {@link InnerLink.id} совпал сразу в нескольких сегментах — остаётся только
217
+ * первое по этому приоритету вхождение, остальные (и опустевшие после этого группы) не показываются.
218
+ * При `segments.length > 1` показывается SegmentControl (скрывается во время поиска).
219
+ * Порядок и раскрытие групп — через `segmentPrefs` и колбэки ниже.
220
+ */
221
+ segments?: MainMenuSegment[];
222
+ /**
223
+ * Пользовательские prefs сегментов (порядок / раскрытие групп).
224
+ *
225
+ * Нет записи для сегмента или omit `order` / `expanded` → uncontrolled для этого поля.
226
+ */
227
+ segmentPrefs?: MainMenuSegmentPrefs[];
228
+ /**
229
+ * Активный сегмент правой панели (значение SegmentControl, см. {@link MainMenuSegment.id}).
230
+ *
231
+ * Не передано — неуправляемое состояние (дефолт — первый сегмент с видимыми карточками).
232
+ */
233
+ activeSegmentId?: string;
234
+ /** Колбэк смены активного сегмента правой панели. */
235
+ onActiveSegmentChange?(segmentId: string): void;
236
+ /**
237
+ * Колбэк после DnD групп в сегменте (без id синтетической группы избранного).
238
+ */
239
+ onSegmentOrderChange?(segmentId: string, orderedGroupIds: string[]): void;
240
+ /**
241
+ * Колбэк при изменении набора раскрытых групп сегмента
242
+ * (без id синтетической группы избранного).
243
+ */
244
+ onSegmentExpandedChange?(segmentId: string, expandedGroupIds: string[]): void;
245
+ /**
246
+ * Пункты левой колонки (desktop) / нижней части списка (mobile).
247
+ *
248
+ * Плоский список `List` (`BaseItem` и при необходимости `type: 'group'` с `divider` для разделителей).
249
+ * Не связан с сегментами правой панели и не меняется при сортировке групп в сегментах.
250
+ */
251
+ settingItems?: ListProps['items'];
252
+ /**
253
+ * Платформенные группы (например «Облачные продукты», «Другие продукты»).
254
+ *
255
+ * Без поиска в сетке карточек **не отображаются**.
256
+ * С поиском: попадают в результаты при совпадении; порядок —
257
+ * после совпадений из сегментов без `pinBottomOnSearch`, перед сегментами с `pinBottomOnSearch`.
258
+ * Обычно `favoritesEnabled: false`; карточки могут быть без `icon` (Avatar по `label`).
259
+ */
260
+ platformGroups?: LinksGroup[];
261
+ favorite?: FavoriteProps;
262
+ search?: SearchProps;
263
+ /**
264
+ * Настройки меню (модалка по кнопке в тулбаре): описания карточек, цвета групп.
265
+ *
266
+ * Не передано — кнопка настроек в тулбаре не отображается.
267
+ */
268
+ preferences?: MainMenuPreferencesProps;
269
+ /**
270
+ * Ширина дровера, с которой открывается меню (desktop only)
271
+ */
272
+ defaultWidth?: number;
273
+ /**
274
+ * Вызывается при окончании изменения ширины дровера (desktop only)
275
+ */
276
+ onWidthChangeEnd?: (width: number) => void;
277
+ /**
278
+ * Текст подсказки для драггера (desktop only)
279
+ */
280
+ draggerTooltip?: string;
281
+ /** Флаг загрузки данных */
282
+ loading?: boolean;
283
+ };
284
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { LinksGroup } from '../types';
2
+ /**
3
+ * Один и тот же сервис может быть представлен в разных сегментах с разной
4
+ * детализацией — например, простой карточкой в общем каталоге и раскрытой
5
+ * аккордеоном карточкой с вложенными сервисами в «Центре управления». Обе
6
+ * версии используют общий {@link InnerLink.id}.
7
+ *
8
+ * При поиске результаты сегментов объединяются в один список (см.
9
+ * {@link MainMenuProps.segments}), поэтому такой сервис может совпасть сразу в
10
+ * нескольких сегментах. Функция оставляет только первое по порядку `groups`
11
+ * (то есть по приоритету сегментов) вхождение каждого id, а группы, опустевшие
12
+ * после удаления дублей, убирает целиком — иначе группа с тем же заголовком
13
+ * задублируется в выдаче.
14
+ */
15
+ export declare function dedupeSearchGroups(groups: LinksGroup[]): LinksGroup[];
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dedupeSearchGroups = dedupeSearchGroups;
4
+ /**
5
+ * Один и тот же сервис может быть представлен в разных сегментах с разной
6
+ * детализацией — например, простой карточкой в общем каталоге и раскрытой
7
+ * аккордеоном карточкой с вложенными сервисами в «Центре управления». Обе
8
+ * версии используют общий {@link InnerLink.id}.
9
+ *
10
+ * При поиске результаты сегментов объединяются в один список (см.
11
+ * {@link MainMenuProps.segments}), поэтому такой сервис может совпасть сразу в
12
+ * нескольких сегментах. Функция оставляет только первое по порядку `groups`
13
+ * (то есть по приоритету сегментов) вхождение каждого id, а группы, опустевшие
14
+ * после удаления дублей, убирает целиком — иначе группа с тем же заголовком
15
+ * задублируется в выдаче.
16
+ */
17
+ function dedupeSearchGroups(groups) {
18
+ const seenItemIds = new Set();
19
+ return groups.reduce((acc, group) => {
20
+ const items = group.items.filter(item => {
21
+ if (seenItemIds.has(item.id)) {
22
+ return false;
23
+ }
24
+ seenItemIds.add(item.id);
25
+ return true;
26
+ });
27
+ if (items.length > 0) {
28
+ acc.push({ ...group, items });
29
+ }
30
+ return acc;
31
+ }, []);
32
+ }
@@ -0,0 +1,2 @@
1
+ import { CollisionDetection } from '@dnd-kit/core';
2
+ export declare const favoriteListCollisionDetection: CollisionDetection;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.favoriteListCollisionDetection = void 0;
4
+ const core_1 = require("@dnd-kit/core");
5
+ const ids_1 = require("./ids");
6
+ const favoriteListCollisionDetection = args => {
7
+ const collisions = (0, core_1.closestCenter)(args);
8
+ // Group reorder: ignore favorites droppables so they don't steal collisions from groups.
9
+ if (!(0, ids_1.isServiceDragId)(args.active.id)) {
10
+ return collisions.filter(({ id }) => !(0, ids_1.isFavoritesDroppableId)(id));
11
+ }
12
+ // Favorite reorder: stay among favorite cards.
13
+ if ((0, ids_1.isServiceFavoriteDragId)(args.active.id)) {
14
+ return collisions.filter(({ id }) => (0, ids_1.isServiceFavoriteDragId)(id));
15
+ }
16
+ // Source → favorites: only when pointer (or rect) actually hits the favorites panel.
17
+ // closestCenter always returns a nearest favorite even while still over the catalog —
18
+ // that would add the card on a pick-up-and-release without moving into favorites.
19
+ // const hits = args.pointerCoordinates ? pointerWithin(args) : rectIntersection(args);
20
+ const hits = (0, core_1.rectIntersection)(args);
21
+ const hasFavoriteCards = args.droppableContainers.some(({ id }) => id != null && (0, ids_1.isServiceFavoriteDragId)(id));
22
+ // With cards in the list, ignore FAVORITES_DROP_ID — padding/gaps would otherwise
23
+ // oscillate between "append" and a card-based insert index.
24
+ const favoriteHits = hits.filter(({ id }) => {
25
+ if ((0, ids_1.isServiceFavoriteDragId)(id)) {
26
+ return true;
27
+ }
28
+ return id === ids_1.FAVORITES_DROP_ID && !hasFavoriteCards;
29
+ });
30
+ return favoriteHits;
31
+ };
32
+ exports.favoriteListCollisionDetection = favoriteListCollisionDetection;
@@ -0,0 +1,9 @@
1
+ import { ClientRectLike } from './getFavoriteInsertIndex';
2
+ type GetDragReferenceYParams = {
3
+ activatorEvent?: Event | null;
4
+ deltaY?: number;
5
+ activeRect?: ClientRectLike | null;
6
+ };
7
+ /** Pointer Y (activator + delta), or active rect center as fallback (keyboard). */
8
+ export declare function getDragReferenceY({ activatorEvent, deltaY, activeRect }: GetDragReferenceYParams): number | null;
9
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDragReferenceY = getDragReferenceY;
4
+ const utilities_1 = require("@dnd-kit/utilities");
5
+ /** Pointer Y (activator + delta), or active rect center as fallback (keyboard). */
6
+ function getDragReferenceY({ activatorEvent, deltaY = 0, activeRect }) {
7
+ if (activatorEvent) {
8
+ const coordinates = (0, utilities_1.getEventCoordinates)(activatorEvent);
9
+ if (coordinates) {
10
+ return coordinates.y + deltaY;
11
+ }
12
+ }
13
+ if (!activeRect) {
14
+ return null;
15
+ }
16
+ return activeRect.top + activeRect.height / 2;
17
+ }
@@ -0,0 +1,12 @@
1
+ export type ClientRectLike = Pick<ClientRect, 'top' | 'height'>;
2
+ /** Before `overIndex` if referenceY is above the over item center, otherwise after. */
3
+ export declare function getInsertIndexByRects(overIndex: number, referenceY?: number | null, overRect?: ClientRectLike | null): number;
4
+ export type GetFavoriteInsertIndexParams = {
5
+ activeId: string | number;
6
+ overId?: string | number;
7
+ favoriteIds: string[];
8
+ referenceY?: number | null;
9
+ overRect?: ClientRectLike | null;
10
+ };
11
+ /** Insert index for a new source card; shared by indicator and drag-end. */
12
+ export declare function getFavoriteInsertIndex({ activeId, overId, favoriteIds, referenceY, overRect, }: GetFavoriteInsertIndexParams): number | null;