@gravity-ui/navigation 5.0.0 → 5.0.1

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 (472) hide show
  1. package/build/cjs/assets/icons/{divider-collapsed-compact.svg.js → control-menu-button.svg.js} +7 -7
  2. package/build/cjs/assets/icons/control-menu-button.svg.js.map +1 -0
  3. package/build/cjs/components/AsideHeader/AsideHeader.css +1 -1
  4. package/build/cjs/components/AsideHeader/AsideHeader.js +4 -4
  5. package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -1
  6. package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js +1 -1
  7. package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +4 -28
  8. package/build/cjs/components/AsideHeader/AsideHeaderContext.js +8 -9
  9. package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -1
  10. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
  11. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +12 -0
  12. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +44 -0
  13. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
  14. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +8 -0
  15. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
  16. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/index.d.ts +1 -0
  17. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
  18. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +47 -104
  19. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -1
  20. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +1 -1
  21. package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.d.ts +0 -1
  22. package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js +0 -2
  23. package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -1
  24. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -0
  25. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
  26. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
  27. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +1 -0
  28. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
  29. package/build/cjs/components/AsideHeader/components/AllPagesPanel/index.d.ts +1 -0
  30. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -3
  31. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +15 -67
  32. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
  33. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
  34. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +29 -0
  35. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
  36. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
  37. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +1 -2
  38. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +11 -16
  39. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
  40. package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
  41. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -1
  42. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +5 -35
  43. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +127 -79
  44. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
  45. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
  46. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
  47. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +2 -2
  48. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -1
  49. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -25
  50. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +2 -9
  51. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +63 -46
  52. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
  53. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
  54. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +7 -0
  55. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +9 -0
  56. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +34 -0
  57. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
  58. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +8 -0
  59. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +1 -0
  60. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +24 -0
  61. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +29 -0
  62. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
  63. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/index.d.ts +2 -0
  64. package/build/cjs/components/AsideHeader/components/CompositeBar/constants.d.ts +3 -0
  65. package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js +4 -0
  66. package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js.map +1 -1
  67. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +9 -5
  68. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +73 -57
  69. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
  70. package/build/cjs/components/AsideHeader/components/FirstPanel.js +20 -45
  71. package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -1
  72. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
  73. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +0 -2
  74. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +1 -12
  75. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
  76. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
  77. package/build/cjs/components/AsideHeader/components/Header.js +4 -13
  78. package/build/cjs/components/AsideHeader/components/Header.js.map +1 -1
  79. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.css +1 -1
  80. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +3 -3
  81. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
  82. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.css +1 -1
  83. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -4
  84. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +6 -18
  85. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
  86. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.css +1 -1
  87. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
  88. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +2 -7
  89. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
  90. package/build/cjs/components/AsideHeader/components/Panels.d.ts +1 -1
  91. package/build/cjs/components/AsideHeader/components/Panels.js +4 -18
  92. package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
  93. package/build/cjs/components/AsideHeader/i18n/en.json.js +1 -4
  94. package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -1
  95. package/build/cjs/components/AsideHeader/i18n/index.d.ts +4 -4
  96. package/build/cjs/components/AsideHeader/i18n/ru.json.js +1 -4
  97. package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -1
  98. package/build/cjs/components/AsideHeader/index.d.ts +2 -3
  99. package/build/cjs/components/AsideHeader/types.d.ts +9 -40
  100. package/build/cjs/components/AsideHeader/types.js.map +1 -1
  101. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +1 -6
  102. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +7 -41
  103. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  104. package/build/cjs/components/Footer/MenuItem/MenuItem.js +2 -2
  105. package/build/cjs/components/Footer/MenuItem/MenuItem.js.map +1 -1
  106. package/build/cjs/components/Footer/desktop/Footer.js +1 -1
  107. package/build/cjs/components/Footer/desktop/Footer.js.map +1 -1
  108. package/build/cjs/components/Footer/mobile/Footer.js +1 -1
  109. package/build/cjs/components/Footer/mobile/Footer.js.map +1 -1
  110. package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +4 -2
  111. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +16 -4
  112. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  113. package/build/cjs/components/Logo/Logo.css +1 -1
  114. package/build/cjs/components/Logo/Logo.d.ts +3 -7
  115. package/build/cjs/components/Logo/Logo.js +7 -20
  116. package/build/cjs/components/Logo/Logo.js.map +1 -1
  117. package/build/cjs/components/Logo/Logo.module.scss.js +1 -1
  118. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -1
  119. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +1 -1
  120. package/build/cjs/components/MobileHeader/MobileHeader.d.ts +1 -1
  121. package/build/cjs/components/MobileHeader/MobileHeader.js +9 -9
  122. package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -1
  123. package/build/cjs/components/MobileHeader/types.d.ts +1 -1
  124. package/build/cjs/components/MobileLogo/MobileLogo.d.ts +1 -1
  125. package/build/cjs/components/MobileLogo/MobileLogo.js +2 -2
  126. package/build/cjs/components/MobileLogo/MobileLogo.js.map +1 -1
  127. package/build/cjs/components/Settings/Settings.js +4 -4
  128. package/build/cjs/components/Settings/Settings.js.map +1 -1
  129. package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js +2 -2
  130. package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js.map +1 -1
  131. package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js +3 -3
  132. package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -1
  133. package/build/cjs/components/Settings/SettingsSection.js +2 -2
  134. package/build/cjs/components/Settings/SettingsSection.js.map +1 -1
  135. package/build/cjs/components/TopAlert/useTopAlertHeight.js +2 -2
  136. package/build/cjs/components/TopAlert/useTopAlertHeight.js.map +1 -1
  137. package/build/cjs/components/constants.d.ts +4 -10
  138. package/build/cjs/components/constants.js +5 -17
  139. package/build/cjs/components/constants.js.map +1 -1
  140. package/build/cjs/components/types.d.ts +12 -24
  141. package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +2 -2
  142. package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -1
  143. package/build/cjs/index.js +0 -4
  144. package/build/cjs/index.js.map +1 -1
  145. package/build/esm/assets/icons/{divider-collapsed-compact.svg.js → control-menu-button.svg.js} +7 -7
  146. package/build/esm/assets/icons/control-menu-button.svg.js.map +1 -0
  147. package/build/esm/components/AsideHeader/AsideHeader.css +1 -1
  148. package/build/esm/components/AsideHeader/AsideHeader.js +4 -4
  149. package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -1
  150. package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +1 -1
  151. package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +4 -28
  152. package/build/esm/components/AsideHeader/AsideHeaderContext.js +8 -9
  153. package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -1
  154. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
  155. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +12 -0
  156. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +42 -0
  157. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
  158. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +4 -0
  159. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
  160. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/index.d.ts +1 -0
  161. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
  162. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +48 -105
  163. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -1
  164. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +1 -1
  165. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.d.ts +0 -1
  166. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js +1 -2
  167. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -1
  168. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -0
  169. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
  170. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
  171. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +1 -0
  172. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
  173. package/build/esm/components/AsideHeader/components/AllPagesPanel/index.d.ts +1 -0
  174. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -3
  175. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +15 -67
  176. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
  177. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
  178. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +27 -0
  179. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
  180. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
  181. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +1 -2
  182. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +13 -18
  183. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
  184. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
  185. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -1
  186. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +5 -35
  187. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +129 -80
  188. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
  189. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
  190. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
  191. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +1 -1
  192. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -25
  193. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +2 -9
  194. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +66 -49
  195. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
  196. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
  197. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +7 -0
  198. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +9 -0
  199. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +32 -0
  200. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
  201. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +4 -0
  202. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +1 -0
  203. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +24 -0
  204. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +26 -0
  205. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
  206. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/index.d.ts +2 -0
  207. package/build/esm/components/AsideHeader/components/CompositeBar/constants.d.ts +3 -0
  208. package/build/esm/components/AsideHeader/components/CompositeBar/constants.js +3 -1
  209. package/build/esm/components/AsideHeader/components/CompositeBar/constants.js.map +1 -1
  210. package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +9 -5
  211. package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +72 -57
  212. package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
  213. package/build/esm/components/AsideHeader/components/FirstPanel.js +21 -46
  214. package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -1
  215. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
  216. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +0 -2
  217. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +1 -12
  218. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
  219. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
  220. package/build/esm/components/AsideHeader/components/Header.js +5 -14
  221. package/build/esm/components/AsideHeader/components/Header.js.map +1 -1
  222. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.css +1 -1
  223. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +4 -4
  224. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
  225. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.css +1 -1
  226. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -4
  227. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +7 -19
  228. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
  229. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.css +1 -1
  230. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
  231. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +2 -7
  232. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
  233. package/build/esm/components/AsideHeader/components/Panels.d.ts +1 -1
  234. package/build/esm/components/AsideHeader/components/Panels.js +5 -19
  235. package/build/esm/components/AsideHeader/components/Panels.js.map +1 -1
  236. package/build/esm/components/AsideHeader/i18n/en.json.js +2 -4
  237. package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -1
  238. package/build/esm/components/AsideHeader/i18n/index.d.ts +4 -4
  239. package/build/esm/components/AsideHeader/i18n/ru.json.js +2 -4
  240. package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -1
  241. package/build/esm/components/AsideHeader/index.d.ts +2 -3
  242. package/build/esm/components/AsideHeader/types.d.ts +9 -40
  243. package/build/esm/components/AsideHeader/types.js.map +1 -1
  244. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +1 -6
  245. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +7 -41
  246. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  247. package/build/esm/components/Footer/MenuItem/MenuItem.js +1 -1
  248. package/build/esm/components/Footer/desktop/Footer.js +1 -1
  249. package/build/esm/components/Footer/desktop/Footer.js.map +1 -1
  250. package/build/esm/components/Footer/mobile/Footer.js +1 -1
  251. package/build/esm/components/Footer/mobile/Footer.js.map +1 -1
  252. package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +4 -2
  253. package/build/esm/components/HotkeysPanel/HotkeysPanel.js +17 -5
  254. package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  255. package/build/esm/components/Logo/Logo.css +1 -1
  256. package/build/esm/components/Logo/Logo.d.ts +3 -7
  257. package/build/esm/components/Logo/Logo.js +7 -20
  258. package/build/esm/components/Logo/Logo.js.map +1 -1
  259. package/build/esm/components/Logo/Logo.module.scss.js +1 -1
  260. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -1
  261. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +1 -1
  262. package/build/esm/components/MobileHeader/MobileHeader.d.ts +1 -1
  263. package/build/esm/components/MobileHeader/MobileHeader.js +9 -9
  264. package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -1
  265. package/build/esm/components/MobileHeader/types.d.ts +1 -1
  266. package/build/esm/components/MobileLogo/MobileLogo.d.ts +1 -1
  267. package/build/esm/components/MobileLogo/MobileLogo.js +2 -2
  268. package/build/esm/components/MobileLogo/MobileLogo.js.map +1 -1
  269. package/build/esm/components/Settings/Settings.js +2 -2
  270. package/build/esm/components/Settings/SettingsSearch/AllResultsPage.js +1 -1
  271. package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js +1 -1
  272. package/build/esm/components/Settings/SettingsSection.js +1 -1
  273. package/build/esm/components/TopAlert/useTopAlertHeight.js +1 -1
  274. package/build/esm/components/constants.d.ts +4 -10
  275. package/build/esm/components/constants.js +5 -11
  276. package/build/esm/components/constants.js.map +1 -1
  277. package/build/esm/components/types.d.ts +12 -24
  278. package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +1 -1
  279. package/build/esm/index.js +1 -2
  280. package/build/esm/index.js.map +1 -1
  281. package/codemods/bin/cli.js +6 -19
  282. package/codemods/transforms/unifyInterfaces.ts +0 -1
  283. package/package.json +7 -4
  284. package/build/cjs/_virtual/_commonjsHelpers.js +0 -11
  285. package/build/cjs/_virtual/_commonjsHelpers.js.map +0 -1
  286. package/build/cjs/_virtual/debounce.js +0 -12
  287. package/build/cjs/_virtual/debounce.js.map +0 -1
  288. package/build/cjs/_virtual/identity.js +0 -12
  289. package/build/cjs/_virtual/identity.js.map +0 -1
  290. package/build/cjs/_virtual/last.js +0 -12
  291. package/build/cjs/_virtual/last.js.map +0 -1
  292. package/build/cjs/assets/icons/divider-collapsed-compact.svg.js.map +0 -1
  293. package/build/cjs/components/AsideHeader/FooterLayoutContext.d.ts +0 -7
  294. package/build/cjs/components/AsideHeader/FooterLayoutContext.js +0 -10
  295. package/build/cjs/components/AsideHeader/FooterLayoutContext.js.map +0 -1
  296. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +0 -3
  297. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js +0 -17
  298. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js.map +0 -1
  299. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +0 -9
  300. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +0 -27
  301. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +0 -1
  302. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.d.ts +0 -2
  303. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js +0 -13
  304. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js.map +0 -1
  305. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +0 -73
  306. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +0 -144
  307. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +0 -1
  308. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +0 -5
  309. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +0 -45
  310. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +0 -1
  311. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +0 -1
  312. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +0 -8
  313. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +0 -27
  314. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +0 -1
  315. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +0 -8
  316. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js.map +0 -1
  317. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/index.d.ts +0 -1
  318. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +0 -21
  319. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +0 -146
  320. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +0 -1
  321. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.css +0 -1
  322. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.d.ts +0 -19
  323. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js +0 -95
  324. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js.map +0 -1
  325. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +0 -8
  326. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +0 -1
  327. package/build/cjs/components/AsideHeader/components/FooterBar/constants.d.ts +0 -1
  328. package/build/cjs/components/AsideHeader/components/FooterBar/constants.js +0 -6
  329. package/build/cjs/components/AsideHeader/components/FooterBar/constants.js.map +0 -1
  330. package/build/cjs/components/AsideHeader/components/FooterBar/index.d.ts +0 -1
  331. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.d.ts +0 -6
  332. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.js +0 -57
  333. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.js.map +0 -1
  334. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.d.ts +0 -9
  335. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js +0 -67
  336. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js.map +0 -1
  337. package/build/cjs/components/AsideHeader/utils/getGroupHeight.d.ts +0 -2
  338. package/build/cjs/components/AsideHeader/utils/getGroupHeight.js +0 -16
  339. package/build/cjs/components/AsideHeader/utils/getGroupHeight.js.map +0 -1
  340. package/build/cjs/components/utils/getCollapsedWidth.d.ts +0 -1
  341. package/build/cjs/components/utils/getCollapsedWidth.js +0 -10
  342. package/build/cjs/components/utils/getCollapsedWidth.js.map +0 -1
  343. package/build/cjs/node_modules/lodash/_Symbol.js +0 -21
  344. package/build/cjs/node_modules/lodash/_Symbol.js.map +0 -1
  345. package/build/cjs/node_modules/lodash/_baseGetTag.js +0 -45
  346. package/build/cjs/node_modules/lodash/_baseGetTag.js.map +0 -1
  347. package/build/cjs/node_modules/lodash/_baseTrim.js +0 -34
  348. package/build/cjs/node_modules/lodash/_baseTrim.js.map +0 -1
  349. package/build/cjs/node_modules/lodash/_freeGlobal.js +0 -20
  350. package/build/cjs/node_modules/lodash/_freeGlobal.js.map +0 -1
  351. package/build/cjs/node_modules/lodash/_getRawTag.js +0 -61
  352. package/build/cjs/node_modules/lodash/_getRawTag.js.map +0 -1
  353. package/build/cjs/node_modules/lodash/_objectToString.js +0 -36
  354. package/build/cjs/node_modules/lodash/_objectToString.js.map +0 -1
  355. package/build/cjs/node_modules/lodash/_root.js +0 -24
  356. package/build/cjs/node_modules/lodash/_root.js.map +0 -1
  357. package/build/cjs/node_modules/lodash/_trimmedEndIndex.js +0 -33
  358. package/build/cjs/node_modules/lodash/_trimmedEndIndex.js.map +0 -1
  359. package/build/cjs/node_modules/lodash/debounce.js +0 -208
  360. package/build/cjs/node_modules/lodash/debounce.js.map +0 -1
  361. package/build/cjs/node_modules/lodash/identity.js +0 -35
  362. package/build/cjs/node_modules/lodash/identity.js.map +0 -1
  363. package/build/cjs/node_modules/lodash/isObject.js +0 -45
  364. package/build/cjs/node_modules/lodash/isObject.js.map +0 -1
  365. package/build/cjs/node_modules/lodash/isObjectLike.js +0 -43
  366. package/build/cjs/node_modules/lodash/isObjectLike.js.map +0 -1
  367. package/build/cjs/node_modules/lodash/isSymbol.js +0 -45
  368. package/build/cjs/node_modules/lodash/isSymbol.js.map +0 -1
  369. package/build/cjs/node_modules/lodash/last.js +0 -34
  370. package/build/cjs/node_modules/lodash/last.js.map +0 -1
  371. package/build/cjs/node_modules/lodash/now.js +0 -38
  372. package/build/cjs/node_modules/lodash/now.js.map +0 -1
  373. package/build/cjs/node_modules/lodash/toNumber.js +0 -81
  374. package/build/cjs/node_modules/lodash/toNumber.js.map +0 -1
  375. package/build/cjs/node_modules/tslib/tslib.es6.js +0 -38
  376. package/build/cjs/node_modules/tslib/tslib.es6.js.map +0 -1
  377. package/build/esm/_virtual/_commonjsHelpers.js +0 -8
  378. package/build/esm/_virtual/_commonjsHelpers.js.map +0 -1
  379. package/build/esm/_virtual/debounce.js +0 -8
  380. package/build/esm/_virtual/debounce.js.map +0 -1
  381. package/build/esm/_virtual/identity.js +0 -8
  382. package/build/esm/_virtual/identity.js.map +0 -1
  383. package/build/esm/_virtual/last.js +0 -8
  384. package/build/esm/_virtual/last.js.map +0 -1
  385. package/build/esm/assets/icons/divider-collapsed-compact.svg.js.map +0 -1
  386. package/build/esm/components/AsideHeader/FooterLayoutContext.d.ts +0 -7
  387. package/build/esm/components/AsideHeader/FooterLayoutContext.js +0 -7
  388. package/build/esm/components/AsideHeader/FooterLayoutContext.js.map +0 -1
  389. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +0 -3
  390. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js +0 -15
  391. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js.map +0 -1
  392. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +0 -9
  393. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +0 -25
  394. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +0 -1
  395. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.d.ts +0 -2
  396. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js +0 -11
  397. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js.map +0 -1
  398. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +0 -73
  399. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +0 -136
  400. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +0 -1
  401. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +0 -5
  402. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +0 -43
  403. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +0 -1
  404. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +0 -1
  405. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +0 -8
  406. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +0 -25
  407. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +0 -1
  408. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +0 -4
  409. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js.map +0 -1
  410. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/index.d.ts +0 -1
  411. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +0 -21
  412. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +0 -144
  413. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +0 -1
  414. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.css +0 -1
  415. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.d.ts +0 -19
  416. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js +0 -93
  417. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js.map +0 -1
  418. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +0 -4
  419. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +0 -1
  420. package/build/esm/components/AsideHeader/components/FooterBar/constants.d.ts +0 -1
  421. package/build/esm/components/AsideHeader/components/FooterBar/constants.js +0 -4
  422. package/build/esm/components/AsideHeader/components/FooterBar/constants.js.map +0 -1
  423. package/build/esm/components/AsideHeader/components/FooterBar/index.d.ts +0 -1
  424. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.d.ts +0 -6
  425. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.js +0 -55
  426. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.js.map +0 -1
  427. package/build/esm/components/AsideHeader/hooks/useIsExpanded.d.ts +0 -9
  428. package/build/esm/components/AsideHeader/hooks/useIsExpanded.js +0 -65
  429. package/build/esm/components/AsideHeader/hooks/useIsExpanded.js.map +0 -1
  430. package/build/esm/components/AsideHeader/utils/getGroupHeight.d.ts +0 -2
  431. package/build/esm/components/AsideHeader/utils/getGroupHeight.js +0 -14
  432. package/build/esm/components/AsideHeader/utils/getGroupHeight.js.map +0 -1
  433. package/build/esm/components/utils/getCollapsedWidth.d.ts +0 -1
  434. package/build/esm/components/utils/getCollapsedWidth.js +0 -8
  435. package/build/esm/components/utils/getCollapsedWidth.js.map +0 -1
  436. package/build/esm/node_modules/lodash/_Symbol.js +0 -19
  437. package/build/esm/node_modules/lodash/_Symbol.js.map +0 -1
  438. package/build/esm/node_modules/lodash/_baseGetTag.js +0 -43
  439. package/build/esm/node_modules/lodash/_baseGetTag.js.map +0 -1
  440. package/build/esm/node_modules/lodash/_baseTrim.js +0 -32
  441. package/build/esm/node_modules/lodash/_baseTrim.js.map +0 -1
  442. package/build/esm/node_modules/lodash/_freeGlobal.js +0 -18
  443. package/build/esm/node_modules/lodash/_freeGlobal.js.map +0 -1
  444. package/build/esm/node_modules/lodash/_getRawTag.js +0 -59
  445. package/build/esm/node_modules/lodash/_getRawTag.js.map +0 -1
  446. package/build/esm/node_modules/lodash/_objectToString.js +0 -34
  447. package/build/esm/node_modules/lodash/_objectToString.js.map +0 -1
  448. package/build/esm/node_modules/lodash/_root.js +0 -22
  449. package/build/esm/node_modules/lodash/_root.js.map +0 -1
  450. package/build/esm/node_modules/lodash/_trimmedEndIndex.js +0 -31
  451. package/build/esm/node_modules/lodash/_trimmedEndIndex.js.map +0 -1
  452. package/build/esm/node_modules/lodash/debounce.js +0 -206
  453. package/build/esm/node_modules/lodash/debounce.js.map +0 -1
  454. package/build/esm/node_modules/lodash/identity.js +0 -33
  455. package/build/esm/node_modules/lodash/identity.js.map +0 -1
  456. package/build/esm/node_modules/lodash/isObject.js +0 -43
  457. package/build/esm/node_modules/lodash/isObject.js.map +0 -1
  458. package/build/esm/node_modules/lodash/isObjectLike.js +0 -41
  459. package/build/esm/node_modules/lodash/isObjectLike.js.map +0 -1
  460. package/build/esm/node_modules/lodash/isSymbol.js +0 -43
  461. package/build/esm/node_modules/lodash/isSymbol.js.map +0 -1
  462. package/build/esm/node_modules/lodash/last.js +0 -32
  463. package/build/esm/node_modules/lodash/last.js.map +0 -1
  464. package/build/esm/node_modules/lodash/now.js +0 -36
  465. package/build/esm/node_modules/lodash/now.js.map +0 -1
  466. package/build/esm/node_modules/lodash/toNumber.js +0 -79
  467. package/build/esm/node_modules/lodash/toNumber.js.map +0 -1
  468. package/build/esm/node_modules/tslib/tslib.es6.js +0 -36
  469. package/build/esm/node_modules/tslib/tslib.es6.js.map +0 -1
  470. package/codemods/transforms/compactToIsExpanded.ts +0 -345
  471. package/codemods/transforms/compactToPinned.ts +0 -135
  472. package/codemods/transforms/v5.ts +0 -36
@@ -1,106 +1,155 @@
1
1
  import './CompositeBar.css';
2
- import React__default, { useRef, useState, useCallback } from 'react';
3
- import { ChevronRight, ChevronDown } from '@gravity-ui/icons';
2
+ import React__default, { useRef, useContext, useCallback } from 'react';
4
3
  import { List } from '@gravity-ui/uikit';
4
+ import AutoSizer from 'react-virtualized-auto-sizer';
5
+ import { ASIDE_HEADER_COMPACT_WIDTH } from '../../../constants.js';
5
6
  import { createBlock } from '../../../utils/cn.js';
6
- import { UNGROUPED_ID } from '../AllPagesPanel/constants.js';
7
7
  import { Item } from './Item/Item.js';
8
- import { ScrollableWithScrollbar } from './ScrollableWithScrollbar/ScrollableWithScrollbar.js';
9
- import { COLLAPSE_ITEM_ID, ITEM_TYPE_REGULAR } from './constants.js';
10
- import { getSelectedItemIndex, getItemHeight, getItemsHeight } from './utils.js';
8
+ import { MultipleTooltip } from './MultipleTooltip/MultipleTooltip.js';
9
+ import { MultipleTooltipProvider, MultipleTooltipContext } from './MultipleTooltip/MultipleTooltipContext.js';
10
+ import { COLLAPSE_ITEM_ID } from './constants.js';
11
+ import { getItemsMinHeight, getAutosizeListItems, getSelectedItemIndex, getItemHeight, getItemsHeight, getMoreButtonItem } from './utils.js';
11
12
  import styles from './CompositeBar.module.scss.js';
12
13
 
13
14
  const b = createBlock('composite-bar', styles);
14
- const CompositeBarView = ({ type, items, onItemClick, onMoreClick, compositeId, className, menuItemClassName, enableSorting = false, editMode = false, isExpanded, onToggleGroupCollapsed, onToggleMenuGroupVisibility, onToggleMenuItemVisibility, onFirstLevelSortEnd, onSecondLevelSortEnd, setCollapseBlocker, isCompactMode, }) => {
15
+ const CompositeBarView = ({ type, items, onItemClick, onMoreClick, collapseItems, multipleTooltip = false, compact, compositeId, }) => {
15
16
  const ref = useRef(null);
16
- const [hoveredGroupId, setHoveredGroupId] = useState(null);
17
+ const tooltipRef = useRef(null);
18
+ const { setValue: setMultipleTooltipContextValue, active: multipleTooltipActive, activeIndex, lastClickedItemIndex, } = useContext(MultipleTooltipContext);
19
+ React__default.useEffect(() => {
20
+ function handleBlurWindow() {
21
+ if (multipleTooltip && multipleTooltipActive) {
22
+ setMultipleTooltipContextValue({ active: false });
23
+ }
24
+ }
25
+ window.addEventListener('blur', handleBlurWindow);
26
+ return () => {
27
+ window.removeEventListener('blur', handleBlurWindow);
28
+ };
29
+ }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);
30
+ const onTooltipMouseEnter = useCallback((e) => {
31
+ if (multipleTooltip &&
32
+ compact &&
33
+ !multipleTooltipActive &&
34
+ document.hasFocus() &&
35
+ activeIndex !== lastClickedItemIndex &&
36
+ e.clientX <= ASIDE_HEADER_COMPACT_WIDTH) {
37
+ setMultipleTooltipContextValue === null || setMultipleTooltipContextValue === undefined ? undefined : setMultipleTooltipContextValue({
38
+ active: true,
39
+ });
40
+ }
41
+ }, [
42
+ multipleTooltip,
43
+ compact,
44
+ multipleTooltipActive,
45
+ activeIndex,
46
+ lastClickedItemIndex,
47
+ setMultipleTooltipContextValue,
48
+ ]);
49
+ const onTooltipMouseLeave = useCallback(() => {
50
+ if (multipleTooltip && multipleTooltipActive && document.hasFocus()) {
51
+ setMultipleTooltipContextValue === null || setMultipleTooltipContextValue === undefined ? undefined : setMultipleTooltipContextValue({
52
+ active: false,
53
+ lastClickedItemIndex: undefined,
54
+ });
55
+ }
56
+ }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);
57
+ const onMouseEnterByIndex = useCallback((itemIndex) => () => {
58
+ if (multipleTooltip && document.hasFocus()) {
59
+ let multipleTooltipActiveValue = multipleTooltipActive;
60
+ if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {
61
+ multipleTooltipActiveValue = true;
62
+ }
63
+ if (activeIndex === itemIndex &&
64
+ multipleTooltipActive === multipleTooltipActiveValue) {
65
+ return;
66
+ }
67
+ setMultipleTooltipContextValue({
68
+ activeIndex: itemIndex,
69
+ active: multipleTooltipActiveValue,
70
+ });
71
+ }
72
+ }, [
73
+ multipleTooltip,
74
+ multipleTooltipActive,
75
+ lastClickedItemIndex,
76
+ activeIndex,
77
+ setMultipleTooltipContextValue,
78
+ ]);
17
79
  const onMouseLeave = useCallback(() => {
18
80
  var _a;
19
- if (!isExpanded && document.hasFocus()) {
81
+ if (compact && document.hasFocus()) {
20
82
  (_a = ref.current) === null || _a === undefined ? undefined : _a.activateItem(undefined);
83
+ if (multipleTooltip &&
84
+ (activeIndex !== undefined || lastClickedItemIndex !== undefined)) {
85
+ setMultipleTooltipContextValue({
86
+ activeIndex: undefined,
87
+ lastClickedItemIndex: undefined,
88
+ });
89
+ }
90
+ }
91
+ }, [
92
+ activeIndex,
93
+ compact,
94
+ lastClickedItemIndex,
95
+ multipleTooltip,
96
+ setMultipleTooltipContextValue,
97
+ ]);
98
+ const onItemClickByIndex = useCallback((itemIndex, orginalItemClick) => (item, collapsed, event) => {
99
+ if (compact &&
100
+ multipleTooltip &&
101
+ itemIndex !== lastClickedItemIndex &&
102
+ item.id !== COLLAPSE_ITEM_ID) {
103
+ setMultipleTooltipContextValue({
104
+ lastClickedItemIndex: itemIndex,
105
+ active: false,
106
+ });
21
107
  }
22
- }, [isExpanded]);
23
- const onItemClickByIndex = useCallback((_itemIndex, orginalItemClick) => (item, collapsed, event, options) => {
24
108
  // Handle clicks on the "more" button (collapse item)
25
109
  if (item.id === COLLAPSE_ITEM_ID && collapsed) {
26
110
  onMoreClick === null || onMoreClick === undefined ? undefined : onMoreClick();
27
111
  }
28
112
  else {
29
- onItemClick === null || onItemClick === undefined ? undefined : onItemClick(Object.assign(Object.assign({}, item), { onItemClick: orginalItemClick }), collapsed, event, options);
113
+ onItemClick === null || onItemClick === undefined ? undefined : onItemClick(Object.assign(Object.assign({}, item), {
114
+ // For collapsed popup items, preserve the item's own onItemClick
115
+ // since orginalItemClick belongs to the collapse button, not the item
116
+ onItemClick: collapsed ? item.onItemClick : orginalItemClick }), collapsed, event);
30
117
  }
31
- }, [onItemClick, onMoreClick]);
32
- const handleFirstLevelSortEnd = useCallback(({ oldIndex, newIndex }) => {
33
- if (onFirstLevelSortEnd) {
34
- onFirstLevelSortEnd({ oldIndex, newIndex });
35
- }
36
- }, [onFirstLevelSortEnd]);
37
- const handleSecondLevelSortEnd = useCallback((groupIndex) => ({ oldIndex, newIndex }) => {
38
- if (onSecondLevelSortEnd) {
39
- onSecondLevelSortEnd(groupIndex)({ oldIndex, newIndex });
40
- }
41
- }, [onSecondLevelSortEnd]);
42
- if (!items || items.length === 0) {
43
- return null;
44
- }
45
- return (React__default.createElement("div", { className: className },
46
- React__default.createElement(List, { id: compositeId, ref: ref, items: items, selectedItemIndex: type === 'menu' ? getSelectedItemIndex(items) : undefined, itemHeight: (item) => getItemHeight(item, isCompactMode), itemsHeight: (items) => getItemsHeight(items, isCompactMode), itemClassName: b('root-menu-item', { collapsed: !isExpanded }, menuItemClassName), virtualized: false, filterable: false, sortable: enableSorting, onSortEnd: enableSorting ? handleFirstLevelSortEnd : undefined, renderItem: (item, _isItemActive, itemIndex) => {
47
- const groupId = item.groupId;
48
- const itemType = item.type || ITEM_TYPE_REGULAR;
49
- if (!groupId) {
50
- return (React__default.createElement(Item, Object.assign({}, item, { className: b('menu-item', {
51
- collapsed: !isExpanded,
52
- type: itemType,
53
- }), isExpanded: isExpanded, editMode: editMode, onMouseLeave: onMouseLeave, onItemClick: onItemClickByIndex(itemIndex, item.onItemClick), setCollapseBlocker: setCollapseBlocker, onToggleVisibility: onToggleMenuItemVisibility
54
- ? () => onToggleMenuItemVisibility(item)
55
- : undefined })));
56
- }
57
- const isCollapsible = Boolean('collapsible' in item && item.collapsible);
58
- const isCollapsed = Boolean('isCollapsed' in item && item.isCollapsed);
59
- const groupListItems = ('items' in item && item.items) || [];
60
- const hasHeader = item.title || item.icon || isCollapsible;
61
- const isUngrouped = item.id === UNGROUPED_ID;
62
- const isGroupHovered = hoveredGroupId === item.id;
63
- let groupIcon = item.icon;
64
- if (isGroupHovered) {
65
- groupIcon = isCollapsed ? ChevronRight : ChevronDown;
66
- }
67
- return (React__default.createElement("div", { className: b('menu-group', { expanded: !isCollapsed, wrapper: true }) },
68
- hasHeader && !isUngrouped && (React__default.createElement(Item, Object.assign({}, item, { className: b('menu-group-header', { collapsed: isCollapsed }), icon: groupIcon, isExpanded: isExpanded, editMode: editMode, setCollapseBlocker: setCollapseBlocker, onMouseEnter: () => {
69
- setHoveredGroupId(item.id);
70
- }, onMouseLeave: () => {
71
- setHoveredGroupId(null);
72
- }, onItemClick: onItemClickByIndex(itemIndex, onToggleGroupCollapsed
73
- ? () => onToggleGroupCollapsed(groupId)
74
- : undefined), onToggleVisibility: onToggleMenuGroupVisibility
75
- ? () => onToggleMenuGroupVisibility(groupId)
76
- : undefined }))),
77
- !isCollapsed && (React__default.createElement(List, { items: groupListItems, sortable: enableSorting, onSortEnd: handleSecondLevelSortEnd(itemIndex), virtualized: false, filterable: false, itemClassName: b('menu-group-item', {
78
- edit: enableSorting,
79
- collapsed: !isExpanded,
80
- }), itemHeight: (item) => getItemHeight(item, isCompactMode), itemsHeight: (items) => getItemsHeight(items, isCompactMode), renderItem: (nestedItem, _isNestedItemActive, nestedItemIndex) => {
81
- return (React__default.createElement(Item, Object.assign({}, nestedItem, { isExpanded: isExpanded, className: b('group-item'), editMode: editMode, setCollapseBlocker: setCollapseBlocker, onMouseEnter: () => {
82
- setHoveredGroupId(nestedItem.id);
83
- }, onMouseLeave: () => {
84
- setHoveredGroupId(null);
85
- }, onItemClick: onItemClickByIndex(
86
- // +1 because the first item is the group header
87
- itemIndex + nestedItemIndex + 1, nestedItem.onItemClick), onToggleVisibility: onToggleMenuItemVisibility
88
- ? () => onToggleMenuItemVisibility(nestedItem)
89
- : undefined })));
90
- } }))));
91
- } })));
118
+ }, [
119
+ compact,
120
+ lastClickedItemIndex,
121
+ multipleTooltip,
122
+ onItemClick,
123
+ onMoreClick,
124
+ setMultipleTooltipContextValue,
125
+ ]);
126
+ return (React__default.createElement(React__default.Fragment, null,
127
+ React__default.createElement("div", { ref: tooltipRef, onMouseEnter: onTooltipMouseEnter, onMouseLeave: onTooltipMouseLeave },
128
+ React__default.createElement(List, { id: compositeId, ref: ref, items: items, selectedItemIndex: type === 'menu' ? getSelectedItemIndex(items) : undefined, itemHeight: getItemHeight, itemsHeight: getItemsHeight, itemClassName: b('root-menu-item'), virtualized: false, filterable: false, sortable: false, renderItem: (item, _isItemActive, itemIndex) => (React__default.createElement(Item, Object.assign({}, item, { enableTooltip: multipleTooltip ? false : item.enableTooltip, compact: compact, onMouseEnter: onMouseEnterByIndex(itemIndex), onMouseLeave: onMouseLeave, onItemClick: onItemClickByIndex(itemIndex, item.onItemClick), collapseItems: collapseItems }))) })),
129
+ type === 'menu' && multipleTooltip && (React__default.createElement(MultipleTooltip, { open: compact && multipleTooltipActive, anchorRef: tooltipRef, placement: ['right-start'], items: items }))));
92
130
  };
93
- const CompositeBar = ({ type, items, onItemClick, onMoreClick, onToggleGroupCollapsed, setCollapseBlocker, isExpanded, compositeId, className, menuItemClassName, editMode = false, isCompactMode, }) => {
94
- if (!items || items.length === 0) {
131
+ const CompositeBar = ({ type, items, menuMoreTitle, onItemClick, onMoreClick, multipleTooltip = false, compact, compositeId, }) => {
132
+ if (items.length === 0) {
95
133
  return null;
96
134
  }
135
+ let node;
97
136
  if (type === 'menu') {
98
- return (React__default.createElement(ScrollableWithScrollbar, { className: b(null, className), recalcDeps: [items.length] },
99
- React__default.createElement(CompositeBarView, { compositeId: compositeId, menuItemClassName: menuItemClassName, type: "menu", isExpanded: isExpanded, items: items, onItemClick: onItemClick, onMoreClick: onMoreClick, onToggleGroupCollapsed: onToggleGroupCollapsed, setCollapseBlocker: setCollapseBlocker, editMode: editMode, isCompactMode: isCompactMode })));
137
+ const minHeight = getItemsMinHeight(items);
138
+ const collapseItem = getMoreButtonItem(menuMoreTitle);
139
+ node = (React__default.createElement("div", { className: b({ autosizer: true }), style: { minHeight } }, items.length !== 0 && (React__default.createElement(AutoSizer, null, (size) => {
140
+ const width = Number.isNaN(size.width) ? 0 : size.width;
141
+ const height = Number.isNaN(size.height) ? 0 : size.height;
142
+ const { listItems, collapseItems } = getAutosizeListItems(items, height, collapseItem);
143
+ return (React__default.createElement("div", { style: { width, height } },
144
+ React__default.createElement(CompositeBarView, { compositeId: compositeId, type: "menu", compact: compact, items: listItems, onItemClick: onItemClick, onMoreClick: onMoreClick, collapseItems: collapseItems, multipleTooltip: multipleTooltip })));
145
+ }))));
146
+ }
147
+ else {
148
+ node = (React__default.createElement("div", { className: b({ subheader: true }) },
149
+ React__default.createElement(CompositeBarView, { type: "subheader", compact: compact, items: items, onItemClick: onItemClick })));
100
150
  }
101
- return (React__default.createElement("div", { className: b({ subheader: true }, className) },
102
- React__default.createElement(CompositeBarView, { menuItemClassName: menuItemClassName, type: "subheader", isExpanded: isExpanded, items: items, onItemClick: onItemClick, setCollapseBlocker: setCollapseBlocker, editMode: editMode, isCompactMode: isCompactMode })));
151
+ return React__default.createElement(MultipleTooltipProvider, null, node);
103
152
  };
104
153
 
105
- export { CompositeBar, CompositeBarView };
154
+ export { CompositeBar };
106
155
  //# sourceMappingURL=CompositeBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeBar.js","sources":["../../../../../../../src/components/AsideHeader/components/CompositeBar/CompositeBar.tsx"],"sourcesContent":["import React, {FC, useCallback, useRef, useState} from 'react';\n\nimport {ChevronDown, ChevronRight} from '@gravity-ui/icons';\nimport {List, ListSortParams} from '@gravity-ui/uikit';\n\nimport {createBlock} from '../../../utils/cn';\nimport {AsideHeaderItem, MenuItemsWithGroups, SetCollapseBlocker} from '../../types';\nimport {UNGROUPED_ID} from '../AllPagesPanel/constants';\n\nimport {Item, ItemProps} from './Item/Item';\nimport {ScrollableWithScrollbar} from './ScrollableWithScrollbar';\nimport {COLLAPSE_ITEM_ID, ITEM_TYPE_REGULAR} from './constants';\nimport {getItemHeight, getItemsHeight, getSelectedItemIndex} from './utils';\n\nimport styles from './CompositeBar.module.scss';\n\nconst b = createBlock('composite-bar', styles);\n\ntype CompositeBarProps = {\n type: 'menu' | 'subheader';\n setCollapseBlocker?: SetCollapseBlocker;\n items?: MenuItemsWithGroups[];\n onItemClick?: (\n item: AsideHeaderItem,\n collapsed: boolean,\n event: React.MouseEvent<HTMLElement, MouseEvent>,\n options: {setCollapseBlocker: SetCollapseBlocker | undefined},\n ) => void;\n menuMoreTitle?: string;\n onMoreClick?: () => void;\n /** When `true`, the navigation is expanded. When `false`, it is collapsed. */\n isExpanded: boolean;\n compositeId?: string;\n className?: string;\n menuItemClassName?: string;\n editMode?: boolean;\n onToggleGroupCollapsed?: (groupId: string) => void;\n /** When `true`, menu items use compact height. */\n isCompactMode?: boolean;\n};\n\ntype CompositeBarViewProps = CompositeBarProps & {\n compositeId?: string;\n items?: MenuItemsWithGroups[];\n collapsedIds?: Record<string, boolean>;\n enableSorting?: boolean;\n editMode?: boolean;\n onToggleGroupCollapsed?: (groupId: string) => void;\n onToggleMenuItemVisibility?: (item: AsideHeaderItem) => void;\n onToggleMenuGroupVisibility?: (groupId: string) => void;\n onFirstLevelSortEnd?: (params: {oldIndex: number; newIndex: number}) => void;\n onSecondLevelSortEnd?: (\n groupIndex: number,\n ) => (params: {oldIndex: number; newIndex: number}) => void;\n /** When `true`, menu items use compact height. */\n isCompactMode?: boolean;\n};\n\nexport const CompositeBarView: FC<CompositeBarViewProps> = ({\n type,\n items,\n onItemClick,\n onMoreClick,\n compositeId,\n className,\n menuItemClassName,\n enableSorting = false,\n editMode = false,\n isExpanded,\n onToggleGroupCollapsed,\n onToggleMenuGroupVisibility,\n onToggleMenuItemVisibility,\n onFirstLevelSortEnd,\n onSecondLevelSortEnd,\n setCollapseBlocker,\n isCompactMode,\n}) => {\n const ref = useRef<List<AsideHeaderItem>>(null);\n const [hoveredGroupId, setHoveredGroupId] = useState<string | null>(null);\n\n const onMouseLeave = useCallback(() => {\n if (!isExpanded && document.hasFocus()) {\n ref.current?.activateItem(undefined as unknown as number);\n }\n }, [isExpanded]);\n\n const onItemClickByIndex = useCallback(\n (\n _itemIndex: number,\n orginalItemClick: AsideHeaderItem['onItemClick'],\n ): ItemProps['onItemClick'] =>\n (item, collapsed, event, options) => {\n // Handle clicks on the \"more\" button (collapse item)\n if (item.id === COLLAPSE_ITEM_ID && collapsed) {\n onMoreClick?.();\n } else {\n onItemClick?.(\n {...item, onItemClick: orginalItemClick},\n collapsed,\n event,\n options,\n );\n }\n },\n [onItemClick, onMoreClick],\n );\n\n const handleFirstLevelSortEnd = useCallback(\n ({oldIndex, newIndex}: ListSortParams) => {\n if (onFirstLevelSortEnd) {\n onFirstLevelSortEnd({oldIndex, newIndex});\n }\n },\n [onFirstLevelSortEnd],\n );\n\n const handleSecondLevelSortEnd = useCallback(\n (groupIndex: number) =>\n ({oldIndex, newIndex}: ListSortParams) => {\n if (onSecondLevelSortEnd) {\n onSecondLevelSortEnd(groupIndex)({oldIndex, newIndex});\n }\n },\n [onSecondLevelSortEnd],\n );\n\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <div className={className}>\n <List<MenuItemsWithGroups>\n id={compositeId}\n ref={ref}\n items={items}\n selectedItemIndex={type === 'menu' ? getSelectedItemIndex(items) : undefined}\n itemHeight={(item) => getItemHeight(item, isCompactMode)}\n itemsHeight={(items) => getItemsHeight(items, isCompactMode)}\n itemClassName={b('root-menu-item', {collapsed: !isExpanded}, menuItemClassName)}\n virtualized={false}\n filterable={false}\n sortable={enableSorting}\n onSortEnd={enableSorting ? handleFirstLevelSortEnd : undefined}\n renderItem={(item, _isItemActive, itemIndex) => {\n const groupId = item.groupId;\n const itemType = item.type || ITEM_TYPE_REGULAR;\n\n if (!groupId) {\n return (\n <Item\n {...item}\n className={b('menu-item', {\n collapsed: !isExpanded,\n type: itemType,\n })}\n isExpanded={isExpanded}\n editMode={editMode}\n onMouseLeave={onMouseLeave}\n onItemClick={onItemClickByIndex(itemIndex, item.onItemClick)}\n setCollapseBlocker={setCollapseBlocker}\n onToggleVisibility={\n onToggleMenuItemVisibility\n ? () => onToggleMenuItemVisibility(item)\n : undefined\n }\n />\n );\n }\n\n const isCollapsible = Boolean('collapsible' in item && item.collapsible);\n const isCollapsed = Boolean('isCollapsed' in item && item.isCollapsed);\n const groupListItems = ('items' in item && item.items) || [];\n const hasHeader = item.title || item.icon || isCollapsible;\n\n const isUngrouped = item.id === UNGROUPED_ID;\n const isGroupHovered = hoveredGroupId === item.id;\n\n let groupIcon = item.icon;\n\n if (isGroupHovered) {\n groupIcon = isCollapsed ? ChevronRight : ChevronDown;\n }\n\n return (\n <div className={b('menu-group', {expanded: !isCollapsed, wrapper: true})}>\n {hasHeader && !isUngrouped && (\n <Item\n {...item}\n className={b('menu-group-header', {collapsed: isCollapsed})}\n icon={groupIcon}\n isExpanded={isExpanded}\n editMode={editMode}\n setCollapseBlocker={setCollapseBlocker}\n onMouseEnter={() => {\n setHoveredGroupId(item.id);\n }}\n onMouseLeave={() => {\n setHoveredGroupId(null);\n }}\n onItemClick={onItemClickByIndex(\n itemIndex,\n onToggleGroupCollapsed\n ? () => onToggleGroupCollapsed(groupId)\n : undefined,\n )}\n onToggleVisibility={\n onToggleMenuGroupVisibility\n ? () => onToggleMenuGroupVisibility(groupId)\n : undefined\n }\n />\n )}\n\n {!isCollapsed && (\n <List<MenuItemsWithGroups>\n items={groupListItems}\n sortable={enableSorting}\n onSortEnd={handleSecondLevelSortEnd(itemIndex)}\n virtualized={false}\n filterable={false}\n itemClassName={b('menu-group-item', {\n edit: enableSorting,\n collapsed: !isExpanded,\n })}\n itemHeight={(item) => getItemHeight(item, isCompactMode)}\n itemsHeight={(items) => getItemsHeight(items, isCompactMode)}\n renderItem={(\n nestedItem,\n _isNestedItemActive,\n nestedItemIndex,\n ) => {\n return (\n <Item\n {...nestedItem}\n isExpanded={isExpanded}\n className={b('group-item')}\n editMode={editMode}\n setCollapseBlocker={setCollapseBlocker}\n onMouseEnter={() => {\n setHoveredGroupId(nestedItem.id);\n }}\n onMouseLeave={() => {\n setHoveredGroupId(null);\n }}\n onItemClick={onItemClickByIndex(\n // +1 because the first item is the group header\n itemIndex + nestedItemIndex + 1,\n nestedItem.onItemClick,\n )}\n onToggleVisibility={\n onToggleMenuItemVisibility\n ? () =>\n onToggleMenuItemVisibility(nestedItem)\n : undefined\n }\n />\n );\n }}\n />\n )}\n </div>\n );\n }}\n />\n </div>\n );\n};\n\nexport const CompositeBar: FC<CompositeBarProps> = ({\n type,\n items,\n onItemClick,\n onMoreClick,\n onToggleGroupCollapsed,\n setCollapseBlocker,\n isExpanded,\n compositeId,\n className,\n menuItemClassName,\n editMode = false,\n isCompactMode,\n}) => {\n if (!items || items.length === 0) {\n return null;\n }\n\n if (type === 'menu') {\n return (\n <ScrollableWithScrollbar className={b(null, className)} recalcDeps={[items.length]}>\n <CompositeBarView\n compositeId={compositeId}\n menuItemClassName={menuItemClassName}\n type=\"menu\"\n isExpanded={isExpanded}\n items={items}\n onItemClick={onItemClick}\n onMoreClick={onMoreClick}\n onToggleGroupCollapsed={onToggleGroupCollapsed}\n setCollapseBlocker={setCollapseBlocker}\n editMode={editMode}\n isCompactMode={isCompactMode}\n />\n </ScrollableWithScrollbar>\n );\n }\n\n return (\n <div className={b({subheader: true}, className)}>\n <CompositeBarView\n menuItemClassName={menuItemClassName}\n type=\"subheader\"\n isExpanded={isExpanded}\n items={items}\n onItemClick={onItemClick}\n setCollapseBlocker={setCollapseBlocker}\n editMode={editMode}\n isCompactMode={isCompactMode}\n />\n </div>\n );\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"CompositeBar.js","sources":["../../../../../../../src/components/AsideHeader/components/CompositeBar/CompositeBar.tsx"],"sourcesContent":["import React, {FC, ReactNode, useCallback, useContext, useRef} from 'react';\n\nimport {List} from '@gravity-ui/uikit';\nimport AutoSizer, {Size} from 'react-virtualized-auto-sizer';\n\nimport {ASIDE_HEADER_COMPACT_WIDTH} from '../../../constants';\nimport {createBlock} from '../../../utils/cn';\nimport {AsideHeaderItem} from '../../types';\n\nimport {Item, ItemProps} from './Item/Item';\nimport {MultipleTooltip, MultipleTooltipContext, MultipleTooltipProvider} from './MultipleTooltip';\nimport {COLLAPSE_ITEM_ID} from './constants';\nimport {\n getAutosizeListItems,\n getItemHeight,\n getItemsHeight,\n getItemsMinHeight,\n getMoreButtonItem,\n getSelectedItemIndex,\n} from './utils';\n\nimport styles from './CompositeBar.module.scss';\n\nconst b = createBlock('composite-bar', styles);\n\ntype CompositeBarProps = {\n type: 'menu' | 'subheader';\n items: AsideHeaderItem[];\n onItemClick?: (\n item: AsideHeaderItem,\n collapsed: boolean,\n event: React.MouseEvent<HTMLElement, MouseEvent>,\n ) => void;\n multipleTooltip?: boolean;\n menuMoreTitle?: string;\n onMoreClick?: () => void;\n compact: boolean;\n compositeId?: string;\n};\n\ntype CompositeBarViewProps = CompositeBarProps & {\n collapseItems?: AsideHeaderItem[];\n};\n\nconst CompositeBarView: FC<CompositeBarViewProps> = ({\n type,\n items,\n onItemClick,\n onMoreClick,\n collapseItems,\n multipleTooltip = false,\n compact,\n compositeId,\n}) => {\n const ref = useRef<List<AsideHeaderItem>>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n\n const {\n setValue: setMultipleTooltipContextValue,\n active: multipleTooltipActive,\n activeIndex,\n lastClickedItemIndex,\n } = useContext(MultipleTooltipContext);\n\n React.useEffect(() => {\n function handleBlurWindow() {\n if (multipleTooltip && multipleTooltipActive) {\n setMultipleTooltipContextValue({active: false});\n }\n }\n\n window.addEventListener('blur', handleBlurWindow);\n\n return () => {\n window.removeEventListener('blur', handleBlurWindow);\n };\n }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);\n\n const onTooltipMouseEnter = useCallback(\n (e: {clientX: number}) => {\n if (\n multipleTooltip &&\n compact &&\n !multipleTooltipActive &&\n document.hasFocus() &&\n activeIndex !== lastClickedItemIndex &&\n e.clientX <= ASIDE_HEADER_COMPACT_WIDTH\n ) {\n setMultipleTooltipContextValue?.({\n active: true,\n });\n }\n },\n [\n multipleTooltip,\n compact,\n multipleTooltipActive,\n activeIndex,\n lastClickedItemIndex,\n setMultipleTooltipContextValue,\n ],\n );\n\n const onTooltipMouseLeave = useCallback(() => {\n if (multipleTooltip && multipleTooltipActive && document.hasFocus()) {\n setMultipleTooltipContextValue?.({\n active: false,\n lastClickedItemIndex: undefined,\n });\n }\n }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);\n\n const onMouseEnterByIndex = useCallback(\n (itemIndex: number) => () => {\n if (multipleTooltip && document.hasFocus()) {\n let multipleTooltipActiveValue = multipleTooltipActive;\n if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {\n multipleTooltipActiveValue = true;\n }\n if (\n activeIndex === itemIndex &&\n multipleTooltipActive === multipleTooltipActiveValue\n ) {\n return;\n }\n setMultipleTooltipContextValue({\n activeIndex: itemIndex,\n active: multipleTooltipActiveValue,\n });\n }\n },\n [\n multipleTooltip,\n multipleTooltipActive,\n lastClickedItemIndex,\n activeIndex,\n setMultipleTooltipContextValue,\n ],\n );\n\n const onMouseLeave = useCallback(() => {\n if (compact && document.hasFocus()) {\n ref.current?.activateItem(undefined as unknown as number);\n if (\n multipleTooltip &&\n (activeIndex !== undefined || lastClickedItemIndex !== undefined)\n ) {\n setMultipleTooltipContextValue({\n activeIndex: undefined,\n lastClickedItemIndex: undefined,\n });\n }\n }\n }, [\n activeIndex,\n compact,\n lastClickedItemIndex,\n multipleTooltip,\n setMultipleTooltipContextValue,\n ]);\n\n const onItemClickByIndex = useCallback(\n (\n itemIndex: number,\n orginalItemClick: AsideHeaderItem['onItemClick'],\n ): ItemProps['onItemClick'] =>\n (item, collapsed, event) => {\n if (\n compact &&\n multipleTooltip &&\n itemIndex !== lastClickedItemIndex &&\n item.id !== COLLAPSE_ITEM_ID\n ) {\n setMultipleTooltipContextValue({\n lastClickedItemIndex: itemIndex,\n active: false,\n });\n }\n\n // Handle clicks on the \"more\" button (collapse item)\n if (item.id === COLLAPSE_ITEM_ID && collapsed) {\n onMoreClick?.();\n } else {\n onItemClick?.(\n {\n ...item,\n // For collapsed popup items, preserve the item's own onItemClick\n // since orginalItemClick belongs to the collapse button, not the item\n onItemClick: collapsed ? item.onItemClick : orginalItemClick,\n },\n collapsed,\n event,\n );\n }\n },\n [\n compact,\n lastClickedItemIndex,\n multipleTooltip,\n onItemClick,\n onMoreClick,\n setMultipleTooltipContextValue,\n ],\n );\n\n return (\n <React.Fragment>\n <div\n ref={tooltipRef}\n onMouseEnter={onTooltipMouseEnter}\n onMouseLeave={onTooltipMouseLeave}\n >\n <List<AsideHeaderItem>\n id={compositeId}\n ref={ref}\n items={items}\n selectedItemIndex={type === 'menu' ? getSelectedItemIndex(items) : undefined}\n itemHeight={getItemHeight}\n itemsHeight={getItemsHeight}\n itemClassName={b('root-menu-item')}\n virtualized={false}\n filterable={false}\n sortable={false}\n renderItem={(item, _isItemActive, itemIndex) => (\n <Item\n {...item}\n enableTooltip={multipleTooltip ? false : item.enableTooltip}\n compact={compact}\n onMouseEnter={onMouseEnterByIndex(itemIndex)}\n onMouseLeave={onMouseLeave}\n onItemClick={onItemClickByIndex(itemIndex, item.onItemClick)}\n collapseItems={collapseItems}\n />\n )}\n />\n </div>\n {type === 'menu' && multipleTooltip && (\n <MultipleTooltip\n open={compact && multipleTooltipActive}\n anchorRef={tooltipRef}\n placement={['right-start']}\n items={items}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport const CompositeBar: FC<CompositeBarProps> = ({\n type,\n items,\n menuMoreTitle,\n onItemClick,\n onMoreClick,\n multipleTooltip = false,\n compact,\n compositeId,\n}) => {\n if (items.length === 0) {\n return null;\n }\n let node: ReactNode;\n\n if (type === 'menu') {\n const minHeight = getItemsMinHeight(items);\n const collapseItem = getMoreButtonItem(menuMoreTitle);\n node = (\n <div className={b({autosizer: true})} style={{minHeight}}>\n {items.length !== 0 && (\n <AutoSizer>\n {(size: Size) => {\n const width = Number.isNaN(size.width) ? 0 : size.width;\n const height = Number.isNaN(size.height) ? 0 : size.height;\n\n const {listItems, collapseItems} = getAutosizeListItems(\n items,\n height,\n collapseItem,\n );\n return (\n <div style={{width, height}}>\n <CompositeBarView\n compositeId={compositeId}\n type=\"menu\"\n compact={compact}\n items={listItems}\n onItemClick={onItemClick}\n onMoreClick={onMoreClick}\n collapseItems={collapseItems}\n multipleTooltip={multipleTooltip}\n />\n </div>\n );\n }}\n </AutoSizer>\n )}\n </div>\n );\n } else {\n node = (\n <div className={b({subheader: true})}>\n <CompositeBarView\n type=\"subheader\"\n compact={compact}\n items={items}\n onItemClick={onItemClick}\n />\n </div>\n );\n }\n return <MultipleTooltipProvider>{node}</MultipleTooltipProvider>;\n};\n"],"names":["React"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var styles = {"gn-composite-bar":"CompositeBar-module__gn-composite-bar___WoCDY","gnCompositeBar":"CompositeBar-module__gn-composite-bar___WoCDY","gn-composite-bar__root-menu-item":"CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF","gnCompositeBarRootMenuItem":"CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF","gn-composite-bar__menu-group-item":"CompositeBar-module__gn-composite-bar__menu-group-item___TLcnI","gnCompositeBarMenuGroupItem":"CompositeBar-module__gn-composite-bar__menu-group-item___TLcnI","gn-composite-bar__menu-group-header":"CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21","gnCompositeBarMenuGroupHeader":"CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21","gn-composite-bar__menu-group":"CompositeBar-module__gn-composite-bar__menu-group___3hCzS","gnCompositeBarMenuGroup":"CompositeBar-module__gn-composite-bar__menu-group___3hCzS","gn-composite-bar__root-menu-item_compact":"CompositeBar-module__gn-composite-bar__root-menu-item_compact___vvKTD","gnCompositeBarRootMenuItemCompact":"CompositeBar-module__gn-composite-bar__root-menu-item_compact___vvKTD","gn-composite-bar__group-item":"CompositeBar-module__gn-composite-bar__group-item___L1pJ8","gnCompositeBarGroupItem":"CompositeBar-module__gn-composite-bar__group-item___L1pJ8","gn-composite-bar__menu-group-item_edit":"CompositeBar-module__gn-composite-bar__menu-group-item_edit___Es8er","gnCompositeBarMenuGroupItemEdit":"CompositeBar-module__gn-composite-bar__menu-group-item_edit___Es8er","gn-composite-bar__menu-group-item_compact":"CompositeBar-module__gn-composite-bar__menu-group-item_compact___-7tZl","gnCompositeBarMenuGroupItemCompact":"CompositeBar-module__gn-composite-bar__menu-group-item_compact___-7tZl","gn-composite-bar__menu-group-header_collapsed":"CompositeBar-module__gn-composite-bar__menu-group-header_collapsed___bTXn1","gnCompositeBarMenuGroupHeaderCollapsed":"CompositeBar-module__gn-composite-bar__menu-group-header_collapsed___bTXn1","gn-composite-bar__menu-item_type_regular":"CompositeBar-module__gn-composite-bar__menu-item_type_regular___8DHUR","gnCompositeBarMenuItemTypeRegular":"CompositeBar-module__gn-composite-bar__menu-item_type_regular___8DHUR","gn-composite-bar__menu-group_expanded":"CompositeBar-module__gn-composite-bar__menu-group_expanded___GY0oS","gnCompositeBarMenuGroupExpanded":"CompositeBar-module__gn-composite-bar__menu-group_expanded___GY0oS","gn-composite-bar__menu-group-toggle":"CompositeBar-module__gn-composite-bar__menu-group-toggle___4--VW","gnCompositeBarMenuGroupToggle":"CompositeBar-module__gn-composite-bar__menu-group-toggle___4--VW","gn-composite-bar__menu-group-toggle-placeholder":"CompositeBar-module__gn-composite-bar__menu-group-toggle-placeholder___vAqkn","gnCompositeBarMenuGroupTogglePlaceholder":"CompositeBar-module__gn-composite-bar__menu-group-toggle-placeholder___vAqkn","gn-composite-bar__menu-group-icon":"CompositeBar-module__gn-composite-bar__menu-group-icon___YVg-C","gnCompositeBarMenuGroupIcon":"CompositeBar-module__gn-composite-bar__menu-group-icon___YVg-C","gn-composite-bar__menu-item":"CompositeBar-module__gn-composite-bar__menu-item___zaw-R","gnCompositeBarMenuItem":"CompositeBar-module__gn-composite-bar__menu-item___zaw-R"};
1
+ var styles = {"gn-composite-bar":"CompositeBar-module__gn-composite-bar___WoCDY","gnCompositeBar":"CompositeBar-module__gn-composite-bar___WoCDY","gn-composite-bar__root-menu-item":"CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF","gnCompositeBarRootMenuItem":"CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF"};
2
2
 
3
3
  export { styles as default };
4
4
  //# sourceMappingURL=CompositeBar.module.scss.js.map
@@ -1 +1 @@
1
- .HighlightedItem-module__gn-composite-bar-highlighted-item___8jg4a{--_--background-color:var(--g-color-base-background);--_--item-background-color-hover:var(--g-color-base-selection-hover);--_--item-selected-background-color-active:var(--g-color-base-selection);display:flex;justify-content:center;position:absolute;z-index:10000}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v{align-items:center;background-color:var(--gn-aside-header-background-color,var(--_--background-color));border-radius:7px;box-shadow:0 8px 20px 0 var(--g-color-sfx-shadow);cursor:pointer;display:flex;height:var(--_--item-height,36px);justify-content:center;overflow:hidden;position:relative;transform:translateY(1px);width:var(--_--item-height,36px)}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v:before{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color-active));content:"";height:100%;position:absolute;width:100%;z-index:-1}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v:hover:before{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover))}
1
+ .HighlightedItem-module__gn-composite-bar-highlighted-item___8jg4a{--_--background-color:var(--g-color-base-background);--_--item-icon-background-size:38px;--_--item-background-color-hover:var(--g-color-base-selection-hover);--_--item-selected-background-color-active:var(--g-color-base-selection);display:flex;justify-content:center;position:absolute;z-index:10000}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v{align-items:center;background-color:var(--gn-aside-header-background-color,var(--_--background-color));border-radius:7px;box-shadow:0 8px 20px 0 var(--g-color-sfx-shadow);cursor:pointer;display:flex;height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));justify-content:center;overflow:hidden;position:relative;transform:translateY(1px);width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size))}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v:before{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color-active));content:"";height:100%;position:absolute;width:100%;z-index:-1}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v:hover:before{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover))}
@@ -1,7 +1,7 @@
1
1
  import './HighlightedItem.css';
2
2
  import React__default, { useState, useMemo, useCallback, useEffect } from 'react';
3
3
  import { Portal } from '@gravity-ui/uikit';
4
- import debounceFn from '../../../../../_virtual/debounce.js';
4
+ import debounceFn from 'lodash/debounce';
5
5
  import { createBlock, block } from '../../../../utils/cn.js';
6
6
  import { useAsideHeaderInnerContext } from '../../../AsideHeaderContext.js';
7
7
  import styles from './HighlightedItem.module.scss.js';
@@ -1,25 +1 @@
1
- .Item-module__gn-composite-bar-item___-pkx5{background:none;border:none;color:inherit;font:inherit;outline:inherit;text-decoration:inherit}.Item-module__gn-composite-bar-item___-pkx5:focus-visible{outline:solid var(--g-color-line-misc);outline-offset:-2px}.Item-module__gn-composite-bar-item___-pkx5{--gn-composite-bar-item-action-size:var(--_--item-height);--_--horizontal-divider-line-color:var(--g-color-line-generic);--_--item-background-color-hover:var(--g-color-base-simple-hover);--_--item-general-icon-color:var(--g-color-text-primary);--_--item-icon-color:var(--g-color-text-complementary);--_--item-text-color:var(--g-color-text-primary);--_--item-collapsed-radius:7px;--_--item-action-color:var(--g-color-base-float);--_--item-action-color-hover:var(--g-color-base-float-hover);--_--item-selected-text-color:var(--g-color-text-primary);--_--item-selected-background-color:var(--g-color-base-selection);--_--zone-bg:transparent;--_--zone-bg-hover:var(
2
- --gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover)
3
- );--_--zone-current-bg:var(
4
- --gn-aside-header-item-current-background-color,var(--_--item-selected-background-color)
5
- );--_--zone-current-bg-hover:var(
6
- --gn-aside-header-item-current-background-color-hover,var(--_--zone-current-bg)
7
- );align-items:center;cursor:pointer;display:flex;height:var(--_--item-height,36px);min-width:0;padding:0;width:100%}.gn-composite-bar_subheader .Item-module__gn-composite-bar-item___-pkx5{--_--zone-bg:var(--gn-aside-top-item-background-color,transparent);--_--zone-bg-hover:var(
8
- --gn-aside-top-item-background-color-hover,var(--_--item-background-color-hover)
9
- );--_--zone-current-bg:var(
10
- --gn-aside-top-item-current-background-color,var(--_--item-selected-background-color)
11
- );--_--zone-current-bg-hover:var(
12
- --gn-aside-top-item-current-background-color-hover,var(--_--zone-current-bg)
13
- )}.gn-composite-bar__menu-group_wrapper .Item-module__gn-composite-bar-item___-pkx5{--_--zone-bg-hover:var(
14
- --gn-aside-main-group-item-background-color-hover,var(--_--item-background-color-hover)
15
- );--_--zone-current-bg:var(
16
- --gn-aside-main-group-item-current-background-color,var(--_--item-selected-background-color)
17
- );--_--zone-current-bg-hover:var(
18
- --gn-aside-main-group-item-current-background-color-hover,var(--_--zone-current-bg)
19
- )}.gn-footer-item .Item-module__gn-composite-bar-item___-pkx5{--_--zone-bg-hover:var(
20
- --gn-aside-bottom-item-background-color-hover,var(--_--item-background-color-hover)
21
- );--_--zone-current-bg:var(
22
- --gn-aside-bottom-item-current-background-color,var(--_--item-selected-background-color)
23
- );--_--zone-current-bg-hover:var(
24
- --gn-aside-bottom-item-current-background-color-hover,var(--_--zone-current-bg)
25
- )}.Item-module__gn-composite-bar-item___-pkx5.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--_--zone-bg)}.Item-module__gn-composite-bar-item___-pkx5.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item___-pkx5.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--_--item-height);left:50%;margin-left:calc(var(--_--item-height)/-2);margin-top:calc(var(--_--item-height)/-2);position:absolute;top:50%;width:var(--_--item-height);z-index:-1}.Item-module__gn-composite-bar-item___-pkx5.Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--_--zone-current-bg)}.Item-module__gn-composite-bar-item___-pkx5:hover.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--_--zone-current-bg-hover)}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--_--zone-bg-hover)}.Item-module__gn-composite-bar-item__icon-place___jPKRh{align-items:center;color:var(--gn-aside-header-item-icon-color,var(--_--item-icon-color));display:flex;flex-shrink:0;height:100%;justify-content:center;width:var(--_--item-height,36px)}.Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-main-group-item-current-background-color,var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-item-icon-color,var(--_--item-icon-color))))}.gn-composite-bar-highlighted-item .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color))}.gn-composite-bar-highlighted-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color)))}.gn-composite-bar_subheader .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-top-item-icon-color,var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color)))}.gn-composite-bar_subheader .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-top-item-current-icon-color,var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color))))}.gn-footer-item .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-bottom-item-icon-color,var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color)))}.gn-footer-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon-place___jPKRh{color:var(--gn-aside-bottom-item-current-icon-color,var(--gn-aside-header-item-current-icon-color,var(--_--item-general-icon-color)))}.Item-module__gn-composite-bar-item__title___wj5L5{align-items:center;display:flex;justify-content:space-between;margin:0 var(--g-spacing-4) 0 var(--g-spacing-2);overflow:hidden}.Item-module__gn-composite-bar-item__transition-title-enter-active___AAvSZ, .Item-module__gn-composite-bar-item__transition-title-enter___4n6yR{opacity:0}.Item-module__gn-composite-bar-item__transition-title-enter-done___Ilzkv, .Item-module__gn-composite-bar-item__transition-title-exit___5-JKk{opacity:1;transition:opacity 50ms ease-in-out}.Item-module__gn-composite-bar-item__transition-title-exit-active___Dif7T, .Item-module__gn-composite-bar-item__transition-title-exit-done___PJvzY{opacity:0}.Item-module__gn-composite-bar-item__visibility-button___QaJg-{margin-left:auto}.Item-module__gn-composite-bar-item__title-text___cILJo{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--gn-aside-header-item-text-color,var(--_--item-text-color));display:-webkit-box;font-size:var(--g-text-body-short-font-size);line-height:var(--g-text-body-short-line-height);overflow:hidden;text-align:start}.Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-header-item-current-text-color,var(--_--item-selected-text-color))}.gn-composite-bar_subheader .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-top-item-text-color,var(--_--item-text-color))}.gn-composite-bar_subheader .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-top-item-current-text-color,var(--_--item-selected-text-color))}.gn-footer-item .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-bottom-item-text-color,var(--_--item-text-color))}.gn-footer-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-bottom-item-current-text-color,var(--_--item-selected-text-color))}.Item-module__gn-composite-bar-item__title-adornment___Xcopn{margin:0 10px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX{background:none;border:none;color:inherit;font:inherit;outline:inherit;text-decoration:inherit}.Item-module__gn-composite-bar-item__collapse-item___Up6IX:focus-visible{outline:solid var(--g-color-line-misc);outline-offset:-2px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX{--_--item-icon-color:var(--g-color-text-misc);align-items:center;cursor:pointer;display:flex;height:100%;padding:0 16px;width:100%}.Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao{color:var(--gn-aside-header-item-icon-color,var(--_--item-icon-color));margin-right:10px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX .Item-module__gn-composite-bar-item__title-adornment___Xcopn{margin-right:0}.Item-module__gn-composite-bar-item__menu-divider___hkm-Z{border-top:1px solid var(--gn-aside-header-divider-horizontal-color,var(--_--horizontal-divider-line-color));cursor:default;margin:0 10px;width:100%}.Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to{padding:4px 0}.Item-module__gn-composite-bar-item__link___McAVN{align-items:center;display:flex;height:100%;width:100%}.Item-module__gn-composite-bar-item__link___McAVN, .Item-module__gn-composite-bar-item__link___McAVN:active, .Item-module__gn-composite-bar-item__link___McAVN:focus, .Item-module__gn-composite-bar-item__link___McAVN:hover, .Item-module__gn-composite-bar-item__link___McAVN:visited{color:inherit;outline:none;text-decoration:none}.Item-module__gn-composite-bar-item__btn-icon___SwT65{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Item-module__gn-composite-bar-item_type_action___2jxO8{background:var(--gn-aside-header-item-action-color,var(--_--item-action-color));border-radius:var(--gn-composite-bar-item-action-size);box-shadow:0 0 0 1px rgba(0,0,0,.03),0 5px 6px rgba(0,0,0,.12);height:var(--gn-composite-bar-item-action-size);justify-content:center;margin-bottom:var(--g-spacing-2);transition:transform .1s ease-out,background-color .15s linear}.Item-module__gn-composite-bar-item_type_action___2jxO8:focus-visible{box-shadow:0 0 0 2px var(--g-color-line-misc)}.Item-module__gn-composite-bar-item_type_action___2jxO8:hover{background-color:var(--gn-aside-header-item-action-color-hover,var(--_--item-action-color-hover))}.Item-module__gn-composite-bar-item_type_action___2jxO8:active{box-shadow:0 1px 2px var(--g-color-sfx-shadow);transform:scale(.96);transition:none}.Item-module__gn-composite-bar-item_type_action___2jxO8 .Item-module__gn-composite-bar-item__icon-place___jPKRh{width:var(--gn-composite-bar-item-action-size)}.Item-module__gn-composite-bar-item_type_action___2jxO8.gn-footer-item{width:calc(100% - var(--_--item-margin-inline)*2)}.Item-module__gn-composite-bar-item_collapsed___Ichlf.Item-module__gn-composite-bar-item_type_action___2jxO8{width:var(--gn-composite-bar-item-action-size)}.Item-module__gn-composite-bar-item_collapsed___Ichlf.Item-module__gn-composite-bar-item_type_action___2jxO8 .Item-module__gn-composite-bar-item__title___wj5L5{margin:0}
1
+ .Item-module__gn-composite-bar-item___-pkx5{background:none;border:none;color:inherit;font:inherit;outline:inherit;text-decoration:inherit}.Item-module__gn-composite-bar-item___-pkx5:focus-visible{outline:solid var(--g-color-line-misc);outline-offset:-2px}.Item-module__gn-composite-bar-item___-pkx5{--gn-composite-bar-item-action-size:36px;--_--horizontal-divider-line-color:var(--g-color-line-generic);--_--item-background-color-hover:var(--g-color-base-simple-hover);--_--item-general-icon-color:var(--g-color-text-primary);--_--item-icon-color:var(--g-color-text-complementary);--_--item-text-color:var(--g-color-text-primary);--_--item-collapsed-radius:7px;--_--item-action-color:var(--g-color-base-float);--_--item-action-color-hover:var(--g-color-base-float-hover);--_--item-selected-text-color:var(--g-color-text-primary);--_--item-selected-background-color:var(--g-color-base-selection);align-items:center;cursor:pointer;display:flex;height:100%;min-width:0;padding:0;width:100%}.Item-module__gn-composite-bar-item___-pkx5.gn-footer-item{height:40px}.Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-item-icon-color,var(--_--item-icon-color))}.Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-item-icon-color,var(--_--item-icon-color)))}.gn-composite-bar-highlighted-item .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-composite-bar_subheader .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-footer-item .Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color))}.gn-composite-bar-highlighted-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-composite-bar_subheader .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-footer-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color)))}.Item-module__gn-composite-bar-item__icon-tooltip___PxU2i .Item-module__g-action-tooltip__description___UsHcG{color:var(--g-color-text-light-primary);margin-block-start:0}.Item-module__gn-composite-bar-item__icon-place___jPKRh{align-items:center;display:flex;flex-shrink:0;height:100%;justify-content:center;width:var(--gn-aside-header-min-width)}.Item-module__gn-composite-bar-item__title___wj5L5{align-items:center;display:flex;margin-right:16px;overflow:hidden}.Item-module__gn-composite-bar-item__title-text___cILJo{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--gn-aside-header-item-text-color,var(--_--item-text-color));display:-webkit-box;overflow:hidden;text-align:start}.Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-header-item-current-text-color,var(--_--item-selected-text-color))}.Item-module__gn-composite-bar-item__title-adornment___Xcopn{margin:0 10px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX{background:none;border:none;color:inherit;font:inherit;outline:inherit;text-decoration:inherit}.Item-module__gn-composite-bar-item__collapse-item___Up6IX:focus-visible{outline:solid var(--g-color-line-misc);outline-offset:-2px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX{--_--item-icon-color:var(--g-color-text-misc);align-items:center;cursor:pointer;display:flex;height:100%;padding:0 16px;width:100%}.Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao{color:var(--gn-aside-header-item-icon-color,var(--_--item-icon-color));margin-right:10px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX .Item-module__gn-composite-bar-item__title-adornment___Xcopn{margin-right:0}.Item-module__gn-composite-bar-item__menu-divider___hkm-Z{border-top:1px solid var(--gn-aside-header-divider-horizontal-color,var(--_--horizontal-divider-line-color));cursor:default;margin:0 8px;width:100%}.Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to{padding:4px 0}.Item-module__gn-composite-bar-item__link___McAVN{align-items:center;display:flex;height:100%;width:100%}.Item-module__gn-composite-bar-item__link___McAVN, .Item-module__gn-composite-bar-item__link___McAVN:active, .Item-module__gn-composite-bar-item__link___McAVN:focus, .Item-module__gn-composite-bar-item__link___McAVN:hover, .Item-module__gn-composite-bar-item__link___McAVN:visited{color:inherit;outline:none;text-decoration:none}.Item-module__gn-composite-bar-item__btn-icon___SwT65{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Item-module__gn-composite-bar-item_type_action___2jxO8{background:var(--gn-aside-header-item-action-color,var(--_--item-action-color));border-radius:var(--gn-composite-bar-item-action-size);box-shadow:0 0 0 1px rgba(0,0,0,.03),0 5px 6px rgba(0,0,0,.12);height:var(--gn-composite-bar-item-action-size);justify-content:center;margin:0 10px 8px;transition:transform .1s ease-out,background-color .15s linear}.Item-module__gn-composite-bar-item_type_action___2jxO8:focus-visible{box-shadow:0 0 0 2px var(--g-color-line-misc)}.Item-module__gn-composite-bar-item_type_action___2jxO8:hover{background-color:var(--gn-aside-header-item-action-color-hover,var(--_--item-action-color-hover))}.Item-module__gn-composite-bar-item_type_action___2jxO8:active{box-shadow:0 1px 2px var(--g-color-sfx-shadow);transform:scale(.96);transition:none}.Item-module__gn-composite-bar-item_type_action___2jxO8 .Item-module__gn-composite-bar-item__icon-place___jPKRh{width:var(--gn-composite-bar-item-action-size)}.Item-module__gn-composite-bar-item_type_action___2jxO8.gn-footer-item{width:calc(100% - 20px)}.Item-module__gn-composite-bar-item__icon-tooltip___PxU2i{align-items:center;box-sizing:border-box;display:flex;height:30px;padding:8px 12px}.Item-module__gn-composite-bar-item__icon-tooltip___PxU2i .g-action-tooltip__description{color:var(--g-color-text-light-primary);margin:0;margin-block:0}.Item-module__gn-composite-bar-item__icon-tooltip_item-type_action___HUhUR{margin-left:10px}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_compact___PVTeM).Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color));border-radius:var(--gn-aside-header-item-expanded-radius)}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_compact___PVTeM):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--gn-aside-header-item-current-background-color-hover,var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color)));border-radius:var(--gn-aside-header-item-expanded-radius)}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_compact___PVTeM):not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover));border-radius:var(--gn-aside-header-item-expanded-radius)}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_type_action___2jxO8{width:var(--gn-composite-bar-item-action-size)}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_type_action___2jxO8 .Item-module__gn-composite-bar-item__title___wj5L5{margin:0}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color));border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));left:50%;margin-left:-19px;margin-top:-19px;position:absolute;top:50%;width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));z-index:-1}.Item-module__gn-composite-bar-item_compact___PVTeM:hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item_compact___PVTeM:hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{background-color:var(--gn-aside-header-item-current-background-color-hover,var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color)));border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));left:50%;margin-left:-19px;margin-top:-19px;position:absolute;top:50%;width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));z-index:-1}.Item-module__gn-composite-bar-item_compact___PVTeM:not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item_compact___PVTeM:not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover));border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));left:50%;margin-left:-19px;margin-top:-19px;position:absolute;top:50%;width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));z-index:-1}
@@ -1,19 +1,12 @@
1
1
  import React from 'react';
2
- import { AsideHeaderItem, SetCollapseBlocker } from '../../../types';
2
+ import { AsideHeaderItem } from 'src/components/AsideHeader/types';
3
3
  export interface ItemProps extends AsideHeaderItem {
4
4
  }
5
5
  interface ItemInnerProps extends ItemProps {
6
- /** Registers a temporary block on collapse (e.g. while dropdown is open). Returns release function. */
7
- setCollapseBlocker?: SetCollapseBlocker;
8
- /** When `true`, the item is displayed in expanded form. */
9
- isExpanded?: boolean;
10
- /** Layout mode: 'horizontal' shows icon only, 'vertical' shows icon and title. Used in FooterBar. */
11
- layout?: 'horizontal' | 'vertical';
12
6
  className?: string;
7
+ collapseItems?: AsideHeaderItem[];
13
8
  onMouseEnter?: () => void;
14
9
  onMouseLeave?: () => void;
15
- editMode?: boolean;
16
- onToggleVisibility?: () => void;
17
10
  }
18
11
  export declare const Item: React.FC<ItemInnerProps>;
19
12
  export {};