@gravity-ui/navigation 5.0.0 → 6.0.0-beta.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 (366) 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 +3 -3
  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 +45 -103
  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 +10 -34
  43. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +51 -75
  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/Item/Item.css +1 -25
  48. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +1 -17
  49. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +73 -60
  50. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
  51. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
  52. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +20 -0
  53. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +18 -0
  54. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +45 -0
  55. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -0
  56. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopupNestContext.d.ts +5 -0
  57. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopupNestContext.js +8 -0
  58. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopupNestContext.js.map +1 -0
  59. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +3 -0
  60. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +19 -0
  61. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -0
  62. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -1
  63. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +4 -0
  64. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +9 -12
  65. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -1
  66. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +1 -1
  67. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.d.ts +27 -0
  68. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js +171 -0
  69. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js.map +1 -0
  70. package/build/cjs/components/AsideHeader/components/CompositeBar/grouping.d.ts +11 -0
  71. package/build/cjs/components/AsideHeader/components/CompositeBar/grouping.js +68 -0
  72. package/build/cjs/components/AsideHeader/components/CompositeBar/grouping.js.map +1 -0
  73. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +21 -5
  74. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +104 -55
  75. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
  76. package/build/cjs/components/AsideHeader/components/FirstPanel.js +20 -45
  77. package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -1
  78. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
  79. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +0 -2
  80. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +1 -12
  81. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
  82. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
  83. package/build/cjs/components/AsideHeader/components/Header.js +4 -13
  84. package/build/cjs/components/AsideHeader/components/Header.js.map +1 -1
  85. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.css +1 -1
  86. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +3 -3
  87. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
  88. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.css +1 -1
  89. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -4
  90. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +6 -18
  91. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
  92. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.css +1 -1
  93. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
  94. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +2 -7
  95. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
  96. package/build/cjs/components/AsideHeader/components/Panels.d.ts +1 -1
  97. package/build/cjs/components/AsideHeader/components/Panels.js +3 -17
  98. package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
  99. package/build/cjs/components/AsideHeader/i18n/en.json.js +1 -4
  100. package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -1
  101. package/build/cjs/components/AsideHeader/i18n/index.d.ts +4 -4
  102. package/build/cjs/components/AsideHeader/i18n/ru.json.js +1 -4
  103. package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -1
  104. package/build/cjs/components/AsideHeader/index.d.ts +3 -3
  105. package/build/cjs/components/AsideHeader/types.d.ts +22 -39
  106. package/build/cjs/components/AsideHeader/types.js.map +1 -1
  107. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +1 -6
  108. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +6 -41
  109. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  110. package/build/cjs/components/Footer/desktop/Footer.js +1 -1
  111. package/build/cjs/components/Footer/desktop/Footer.js.map +1 -1
  112. package/build/cjs/components/Footer/mobile/Footer.js +1 -1
  113. package/build/cjs/components/Footer/mobile/Footer.js.map +1 -1
  114. package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +4 -2
  115. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +13 -2
  116. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  117. package/build/cjs/components/Logo/Logo.css +1 -1
  118. package/build/cjs/components/Logo/Logo.d.ts +3 -7
  119. package/build/cjs/components/Logo/Logo.js +6 -19
  120. package/build/cjs/components/Logo/Logo.js.map +1 -1
  121. package/build/cjs/components/Logo/Logo.module.scss.js +1 -1
  122. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -1
  123. package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +1 -1
  124. package/build/cjs/components/MobileHeader/MobileHeader.d.ts +1 -1
  125. package/build/cjs/components/MobileHeader/MobileHeader.js +7 -7
  126. package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -1
  127. package/build/cjs/components/MobileHeader/types.d.ts +1 -1
  128. package/build/cjs/components/MobileLogo/MobileLogo.d.ts +1 -1
  129. package/build/cjs/components/MobileLogo/MobileLogo.js +2 -2
  130. package/build/cjs/components/MobileLogo/MobileLogo.js.map +1 -1
  131. package/build/cjs/components/constants.d.ts +5 -10
  132. package/build/cjs/components/constants.js +7 -17
  133. package/build/cjs/components/constants.js.map +1 -1
  134. package/build/cjs/components/types.d.ts +19 -15
  135. package/build/cjs/index.js +0 -4
  136. package/build/cjs/index.js.map +1 -1
  137. package/build/esm/assets/icons/{divider-collapsed-compact.svg.js → control-menu-button.svg.js} +7 -7
  138. package/build/esm/assets/icons/control-menu-button.svg.js.map +1 -0
  139. package/build/esm/components/AsideHeader/AsideHeader.css +1 -1
  140. package/build/esm/components/AsideHeader/AsideHeader.js +3 -3
  141. package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -1
  142. package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +1 -1
  143. package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +4 -28
  144. package/build/esm/components/AsideHeader/AsideHeaderContext.js +8 -9
  145. package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -1
  146. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
  147. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +12 -0
  148. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +42 -0
  149. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
  150. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +4 -0
  151. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
  152. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/index.d.ts +1 -0
  153. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
  154. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +46 -104
  155. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -1
  156. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +1 -1
  157. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.d.ts +0 -1
  158. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js +1 -2
  159. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -1
  160. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -0
  161. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
  162. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
  163. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +1 -0
  164. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
  165. package/build/esm/components/AsideHeader/components/AllPagesPanel/index.d.ts +1 -0
  166. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -3
  167. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +15 -67
  168. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
  169. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
  170. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +27 -0
  171. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
  172. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
  173. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +1 -2
  174. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +13 -18
  175. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
  176. package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
  177. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -1
  178. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +10 -34
  179. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +55 -78
  180. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
  181. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
  182. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
  183. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -25
  184. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +1 -17
  185. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +76 -63
  186. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
  187. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
  188. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +20 -0
  189. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +18 -0
  190. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +43 -0
  191. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -0
  192. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopupNestContext.d.ts +5 -0
  193. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopupNestContext.js +6 -0
  194. package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopupNestContext.js.map +1 -0
  195. package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +3 -0
  196. package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +17 -0
  197. package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -0
  198. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -1
  199. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +4 -0
  200. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +10 -13
  201. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -1
  202. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +1 -1
  203. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.d.ts +27 -0
  204. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js +169 -0
  205. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js.map +1 -0
  206. package/build/esm/components/AsideHeader/components/CompositeBar/grouping.d.ts +11 -0
  207. package/build/esm/components/AsideHeader/components/CompositeBar/grouping.js +65 -0
  208. package/build/esm/components/AsideHeader/components/CompositeBar/grouping.js.map +1 -0
  209. package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +21 -5
  210. package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +100 -55
  211. package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
  212. package/build/esm/components/AsideHeader/components/FirstPanel.js +21 -46
  213. package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -1
  214. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
  215. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +0 -2
  216. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +1 -12
  217. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
  218. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
  219. package/build/esm/components/AsideHeader/components/Header.js +5 -14
  220. package/build/esm/components/AsideHeader/components/Header.js.map +1 -1
  221. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.css +1 -1
  222. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +4 -4
  223. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
  224. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.css +1 -1
  225. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -4
  226. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +7 -19
  227. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
  228. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.css +1 -1
  229. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
  230. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +2 -7
  231. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
  232. package/build/esm/components/AsideHeader/components/Panels.d.ts +1 -1
  233. package/build/esm/components/AsideHeader/components/Panels.js +4 -18
  234. package/build/esm/components/AsideHeader/components/Panels.js.map +1 -1
  235. package/build/esm/components/AsideHeader/i18n/en.json.js +2 -4
  236. package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -1
  237. package/build/esm/components/AsideHeader/i18n/index.d.ts +4 -4
  238. package/build/esm/components/AsideHeader/i18n/ru.json.js +2 -4
  239. package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -1
  240. package/build/esm/components/AsideHeader/index.d.ts +3 -3
  241. package/build/esm/components/AsideHeader/types.d.ts +22 -39
  242. package/build/esm/components/AsideHeader/types.js.map +1 -1
  243. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +1 -6
  244. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +6 -41
  245. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  246. package/build/esm/components/Footer/desktop/Footer.js +1 -1
  247. package/build/esm/components/Footer/desktop/Footer.js.map +1 -1
  248. package/build/esm/components/Footer/mobile/Footer.js +1 -1
  249. package/build/esm/components/Footer/mobile/Footer.js.map +1 -1
  250. package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +4 -2
  251. package/build/esm/components/HotkeysPanel/HotkeysPanel.js +13 -2
  252. package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  253. package/build/esm/components/Logo/Logo.css +1 -1
  254. package/build/esm/components/Logo/Logo.d.ts +3 -7
  255. package/build/esm/components/Logo/Logo.js +6 -19
  256. package/build/esm/components/Logo/Logo.js.map +1 -1
  257. package/build/esm/components/Logo/Logo.module.scss.js +1 -1
  258. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -1
  259. package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +1 -1
  260. package/build/esm/components/MobileHeader/MobileHeader.d.ts +1 -1
  261. package/build/esm/components/MobileHeader/MobileHeader.js +8 -8
  262. package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -1
  263. package/build/esm/components/MobileHeader/types.d.ts +1 -1
  264. package/build/esm/components/MobileLogo/MobileLogo.d.ts +1 -1
  265. package/build/esm/components/MobileLogo/MobileLogo.js +2 -2
  266. package/build/esm/components/MobileLogo/MobileLogo.js.map +1 -1
  267. package/build/esm/components/constants.d.ts +5 -10
  268. package/build/esm/components/constants.js +6 -11
  269. package/build/esm/components/constants.js.map +1 -1
  270. package/build/esm/components/types.d.ts +19 -15
  271. package/build/esm/index.js +1 -2
  272. package/build/esm/index.js.map +1 -1
  273. package/codemods/bin/cli.js +6 -19
  274. package/codemods/transforms/unifyInterfaces.ts +0 -1
  275. package/package.json +4 -3
  276. package/build/cjs/assets/icons/divider-collapsed-compact.svg.js.map +0 -1
  277. package/build/cjs/components/AsideHeader/FooterLayoutContext.d.ts +0 -7
  278. package/build/cjs/components/AsideHeader/FooterLayoutContext.js +0 -10
  279. package/build/cjs/components/AsideHeader/FooterLayoutContext.js.map +0 -1
  280. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +0 -3
  281. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js +0 -17
  282. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js.map +0 -1
  283. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +0 -9
  284. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +0 -27
  285. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +0 -1
  286. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.d.ts +0 -2
  287. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js +0 -13
  288. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js.map +0 -1
  289. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +0 -73
  290. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +0 -144
  291. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +0 -1
  292. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +0 -5
  293. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +0 -45
  294. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +0 -1
  295. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +0 -21
  296. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +0 -146
  297. package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +0 -1
  298. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.css +0 -1
  299. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.d.ts +0 -19
  300. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js +0 -95
  301. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js.map +0 -1
  302. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +0 -8
  303. package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +0 -1
  304. package/build/cjs/components/AsideHeader/components/FooterBar/constants.d.ts +0 -1
  305. package/build/cjs/components/AsideHeader/components/FooterBar/constants.js +0 -6
  306. package/build/cjs/components/AsideHeader/components/FooterBar/constants.js.map +0 -1
  307. package/build/cjs/components/AsideHeader/components/FooterBar/index.d.ts +0 -1
  308. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.d.ts +0 -6
  309. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.js +0 -57
  310. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.js.map +0 -1
  311. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.d.ts +0 -9
  312. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js +0 -67
  313. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js.map +0 -1
  314. package/build/cjs/components/AsideHeader/utils/getGroupHeight.d.ts +0 -2
  315. package/build/cjs/components/AsideHeader/utils/getGroupHeight.js +0 -16
  316. package/build/cjs/components/AsideHeader/utils/getGroupHeight.js.map +0 -1
  317. package/build/cjs/components/utils/getCollapsedWidth.d.ts +0 -1
  318. package/build/cjs/components/utils/getCollapsedWidth.js +0 -10
  319. package/build/cjs/components/utils/getCollapsedWidth.js.map +0 -1
  320. package/build/esm/assets/icons/divider-collapsed-compact.svg.js.map +0 -1
  321. package/build/esm/components/AsideHeader/FooterLayoutContext.d.ts +0 -7
  322. package/build/esm/components/AsideHeader/FooterLayoutContext.js +0 -7
  323. package/build/esm/components/AsideHeader/FooterLayoutContext.js.map +0 -1
  324. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +0 -3
  325. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js +0 -15
  326. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js.map +0 -1
  327. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +0 -9
  328. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +0 -25
  329. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +0 -1
  330. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.d.ts +0 -2
  331. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js +0 -11
  332. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js.map +0 -1
  333. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +0 -73
  334. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +0 -136
  335. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +0 -1
  336. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +0 -5
  337. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +0 -43
  338. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +0 -1
  339. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +0 -21
  340. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +0 -144
  341. package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +0 -1
  342. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.css +0 -1
  343. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.d.ts +0 -19
  344. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js +0 -93
  345. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js.map +0 -1
  346. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +0 -4
  347. package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +0 -1
  348. package/build/esm/components/AsideHeader/components/FooterBar/constants.d.ts +0 -1
  349. package/build/esm/components/AsideHeader/components/FooterBar/constants.js +0 -4
  350. package/build/esm/components/AsideHeader/components/FooterBar/constants.js.map +0 -1
  351. package/build/esm/components/AsideHeader/components/FooterBar/index.d.ts +0 -1
  352. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.d.ts +0 -6
  353. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.js +0 -55
  354. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.js.map +0 -1
  355. package/build/esm/components/AsideHeader/hooks/useIsExpanded.d.ts +0 -9
  356. package/build/esm/components/AsideHeader/hooks/useIsExpanded.js +0 -65
  357. package/build/esm/components/AsideHeader/hooks/useIsExpanded.js.map +0 -1
  358. package/build/esm/components/AsideHeader/utils/getGroupHeight.d.ts +0 -2
  359. package/build/esm/components/AsideHeader/utils/getGroupHeight.js +0 -14
  360. package/build/esm/components/AsideHeader/utils/getGroupHeight.js.map +0 -1
  361. package/build/esm/components/utils/getCollapsedWidth.d.ts +0 -1
  362. package/build/esm/components/utils/getCollapsedWidth.js +0 -8
  363. package/build/esm/components/utils/getCollapsedWidth.js.map +0 -1
  364. package/codemods/transforms/compactToIsExpanded.ts +0 -345
  365. package/codemods/transforms/compactToPinned.ts +0 -135
  366. package/codemods/transforms/v5.ts +0 -36
@@ -1,93 +0,0 @@
1
- import './FooterBar.css';
2
- import React__default, { memo, useCallback, useMemo } from 'react';
3
- import { Ellipsis } from '@gravity-ui/icons';
4
- import { Tooltip, DropdownMenu } from '@gravity-ui/uikit';
5
- import { ASIDE_HEADER_EXPAND_DELAY } from '../../../constants.js';
6
- import { createBlock } from '../../../utils/cn.js';
7
- import { FooterLayoutContext } from '../../FooterLayoutContext.js';
8
- import i18n from '../../i18n/index.js';
9
- import { FooterItem } from '../FooterItem/FooterItem.js';
10
- import { MAX_VISIBLE_ITEMS } from './constants.js';
11
- import styles from './FooterBar.module.scss.js';
12
-
13
- const isValidFooterElement = (child) => {
14
- return React__default.isValidElement(child) && child.type === FooterItem;
15
- };
16
- const getChildKey = (child, fallbackIndex) => {
17
- if (React__default.isValidElement(child) && child.key) {
18
- return child.key;
19
- }
20
- return fallbackIndex;
21
- };
22
- // Get title from child props for tooltip
23
- const getChildTitle = (child) => {
24
- if (React__default.isValidElement(child) && child.props) {
25
- return child.props.title;
26
- }
27
- return undefined;
28
- };
29
- const b = createBlock('footer-bar', styles);
30
- const FooterBar = memo(({ children, renderAfter, setCollapseBlocker, isPinned, isExpanded, maxVisibleItems = MAX_VISIBLE_ITEMS, }) => {
31
- const childArray = React__default.Children.toArray(children).filter(Boolean);
32
- // If only 1 element, render in vertical mode regardless of isPinned
33
- const isHorizontal = isPinned && childArray.length > 1;
34
- const handleDropdownOpenToggle = useCallback((isOpened) => {
35
- setCollapseBlocker === null || setCollapseBlocker === undefined ? undefined : setCollapseBlocker(isOpened);
36
- }, [setCollapseBlocker]);
37
- const renderDropdownChild = useCallback((child) => {
38
- if (!isValidFooterElement(child)) {
39
- return child;
40
- }
41
- // In dropdown, always show text
42
- return React__default.cloneElement(child, {
43
- isExpanded: true,
44
- layout: 'vertical',
45
- });
46
- }, []);
47
- const { visibleChildren, hiddenChildren } = useMemo(() => {
48
- if (childArray.length <= maxVisibleItems) {
49
- return {
50
- visibleChildren: childArray,
51
- hiddenChildren: [],
52
- };
53
- }
54
- // Reserve one slot for "more" button
55
- const visibleCount = maxVisibleItems - 1;
56
- return {
57
- visibleChildren: childArray.slice(0, visibleCount),
58
- hiddenChildren: childArray.slice(visibleCount),
59
- };
60
- }, [childArray, maxVisibleItems]);
61
- const value = useMemo(() => ({
62
- layout: isHorizontal ? 'horizontal' : 'vertical',
63
- isExpanded,
64
- }), [isHorizontal, isExpanded]);
65
- const dropdownItems = useMemo(() => hiddenChildren.map((child) => ({
66
- text: renderDropdownChild(child),
67
- action: () => { }, // clicks are handled by the child itself
68
- })), [hiddenChildren, renderDropdownChild]);
69
- const afterContent = React__default.useMemo(() => (renderAfter ? renderAfter({ setCollapseBlocker }) : null), [renderAfter, setCollapseBlocker]);
70
- return (React__default.createElement("div", { className: b() },
71
- React__default.createElement("div", { className: b('items', { horizontal: isHorizontal }) },
72
- React__default.createElement(FooterLayoutContext.Provider, { value: value }, visibleChildren.map((child, index) => {
73
- const title = getChildTitle(child);
74
- // In horizontal mode, wrap in Tooltip to show title on hover
75
- if (isHorizontal && title) {
76
- return (React__default.createElement(Tooltip, { key: getChildKey(child, index), content: title, placement: "top", openDelay: ASIDE_HEADER_EXPAND_DELAY },
77
- React__default.createElement("div", { className: b('item') }, child)));
78
- }
79
- return (React__default.createElement("div", { key: getChildKey(child, index), className: b('item') }, child));
80
- })),
81
- hiddenChildren.length > 0 && (React__default.createElement("div", { className: b('item', { more: true }) },
82
- React__default.createElement(DropdownMenu, { onOpenToggle: handleDropdownOpenToggle, items: dropdownItems, popupProps: {
83
- placement: isHorizontal ? 'top' : 'right',
84
- className: b('dropdown-popup'),
85
- }, switcherWrapperClassName: b('dropdown-switcher'), renderSwitcher: ({ onClick }) => (React__default.createElement(FooterItem, { id: "more", title: i18n('label_others'), icon: Ellipsis, isExpanded: !isHorizontal && isExpanded, layout: isHorizontal ? 'horizontal' : 'vertical', onItemClick: (_, __, event) => {
86
- onClick(event);
87
- } })) })))),
88
- afterContent && (React__default.createElement("div", { className: b('after', { horizontal: isHorizontal }) }, afterContent))));
89
- });
90
- FooterBar.displayName = 'FooterBar';
91
-
92
- export { FooterBar };
93
- //# sourceMappingURL=FooterBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FooterBar.js","sources":["../../../../../../../src/components/AsideHeader/components/FooterBar/FooterBar.tsx"],"sourcesContent":["import React, {memo, useCallback, useMemo} from 'react';\n\nimport {Ellipsis} from '@gravity-ui/icons';\nimport type {DropdownMenuItem} from '@gravity-ui/uikit';\nimport {DropdownMenu, Tooltip} from '@gravity-ui/uikit';\n\nimport {ASIDE_HEADER_EXPAND_DELAY} from '../../../constants';\nimport {createBlock} from '../../../utils/cn';\nimport {FooterLayoutContext, FooterLayoutContextValue} from '../../FooterLayoutContext';\nimport i18n from '../../i18n';\nimport {SetCollapseBlocker} from '../../types';\nimport {FooterItem} from '../FooterItem/FooterItem';\n\nimport {MAX_VISIBLE_ITEMS} from './constants';\n\nimport styles from './FooterBar.module.scss';\n\nconst isValidFooterElement = (child: React.ReactNode): child is React.ReactElement => {\n return React.isValidElement(child) && child.type === FooterItem;\n};\n\nconst getChildKey = (child: React.ReactNode, fallbackIndex: number): string | number => {\n if (React.isValidElement(child) && child.key) {\n return child.key;\n }\n return fallbackIndex;\n};\n\n// Get title from child props for tooltip\nconst getChildTitle = (child: React.ReactNode): React.ReactNode => {\n if (React.isValidElement(child) && child.props) {\n return (child.props as {title?: React.ReactNode}).title;\n }\n return undefined;\n};\n\nconst b = createBlock('footer-bar', styles);\n\nexport interface FooterBarProps {\n /** Array of footer elements (ReactNode[]) */\n children: React.ReactNode[];\n /** Render function for additional content after items (e.g., user profile). Receives options with setCollapseBlocker. */\n renderAfter?: (options?: {setCollapseBlocker?: SetCollapseBlocker}) => React.ReactNode;\n /** Registers a temporary block on collapse (e.g. while dropdown is open). Returns release function. */\n setCollapseBlocker?: SetCollapseBlocker;\n /** When `true`, the navigation is pinned (expanded). Items render horizontally. */\n isPinned: boolean;\n /** When `true`, the navigation is expanded (hover or pinned). */\n isExpanded: boolean;\n /** Maximum number of visible items before showing \"more\" button. Default: 5 */\n maxVisibleItems?: number;\n}\n\nexport const FooterBar = memo<FooterBarProps>(\n ({\n children,\n renderAfter,\n setCollapseBlocker,\n isPinned,\n isExpanded,\n maxVisibleItems = MAX_VISIBLE_ITEMS,\n }) => {\n const childArray = React.Children.toArray(children).filter(Boolean);\n\n // If only 1 element, render in vertical mode regardless of isPinned\n const isHorizontal = isPinned && childArray.length > 1;\n\n const handleDropdownOpenToggle = useCallback(\n (isOpened: boolean) => {\n setCollapseBlocker?.(isOpened);\n },\n [setCollapseBlocker],\n );\n\n const renderDropdownChild = useCallback((child: React.ReactNode): React.ReactNode => {\n if (!isValidFooterElement(child)) {\n return child;\n }\n\n // In dropdown, always show text\n return React.cloneElement(child, {\n isExpanded: true,\n layout: 'vertical',\n });\n }, []);\n\n const {visibleChildren, hiddenChildren} = useMemo(() => {\n if (childArray.length <= maxVisibleItems) {\n return {\n visibleChildren: childArray,\n hiddenChildren: [],\n };\n }\n\n // Reserve one slot for \"more\" button\n const visibleCount = maxVisibleItems - 1;\n return {\n visibleChildren: childArray.slice(0, visibleCount),\n hiddenChildren: childArray.slice(visibleCount),\n };\n }, [childArray, maxVisibleItems]);\n\n const value: FooterLayoutContextValue = useMemo(\n () => ({\n layout: isHorizontal ? 'horizontal' : 'vertical',\n isExpanded,\n }),\n [isHorizontal, isExpanded],\n );\n\n const dropdownItems: DropdownMenuItem[] = useMemo(\n () =>\n hiddenChildren.map((child) => ({\n text: renderDropdownChild(child),\n action: () => {}, // clicks are handled by the child itself\n })),\n [hiddenChildren, renderDropdownChild],\n );\n\n const afterContent = React.useMemo(\n () => (renderAfter ? renderAfter({setCollapseBlocker}) : null),\n [renderAfter, setCollapseBlocker],\n );\n\n return (\n <div className={b()}>\n <div className={b('items', {horizontal: isHorizontal})}>\n <FooterLayoutContext.Provider value={value}>\n {visibleChildren.map((child, index) => {\n const title = getChildTitle(child);\n\n // In horizontal mode, wrap in Tooltip to show title on hover\n if (isHorizontal && title) {\n return (\n <Tooltip\n key={getChildKey(child, index)}\n content={title}\n placement=\"top\"\n openDelay={ASIDE_HEADER_EXPAND_DELAY}\n >\n <div className={b('item')}>{child}</div>\n </Tooltip>\n );\n }\n\n return (\n <div key={getChildKey(child, index)} className={b('item')}>\n {child}\n </div>\n );\n })}\n </FooterLayoutContext.Provider>\n\n {hiddenChildren.length > 0 && (\n <div className={b('item', {more: true})}>\n <DropdownMenu\n onOpenToggle={handleDropdownOpenToggle}\n items={dropdownItems}\n popupProps={{\n placement: isHorizontal ? 'top' : 'right',\n className: b('dropdown-popup'),\n }}\n switcherWrapperClassName={b('dropdown-switcher')}\n renderSwitcher={({onClick}) => (\n <FooterItem\n id=\"more\"\n title={i18n('label_others')}\n icon={Ellipsis}\n isExpanded={!isHorizontal && isExpanded}\n layout={isHorizontal ? 'horizontal' : 'vertical'}\n onItemClick={(_, __, event) => {\n onClick(event as React.MouseEvent<HTMLElement>);\n }}\n />\n )}\n />\n </div>\n )}\n </div>\n\n {afterContent && (\n <div className={b('after', {horizontal: isHorizontal})}>{afterContent}</div>\n )}\n </div>\n );\n },\n);\n\nFooterBar.displayName = 'FooterBar';\n"],"names":["React"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- var styles = {"gn-footer-bar":"FooterBar-module__gn-footer-bar___dunXC","gnFooterBar":"FooterBar-module__gn-footer-bar___dunXC","gn-footer-bar__items":"FooterBar-module__gn-footer-bar__items___xBsUq","gnFooterBarItems":"FooterBar-module__gn-footer-bar__items___xBsUq","gn-footer-bar__items_horizontal":"FooterBar-module__gn-footer-bar__items_horizontal___DEeK6","gnFooterBarItemsHorizontal":"FooterBar-module__gn-footer-bar__items_horizontal___DEeK6","gn-footer-bar__item":"FooterBar-module__gn-footer-bar__item___KAJSe","gnFooterBarItem":"FooterBar-module__gn-footer-bar__item___KAJSe","gn-footer-bar__items_vertical":"FooterBar-module__gn-footer-bar__items_vertical___3A7jw","gnFooterBarItemsVertical":"FooterBar-module__gn-footer-bar__items_vertical___3A7jw","gn-footer-bar__after":"FooterBar-module__gn-footer-bar__after___yB8To","gnFooterBarAfter":"FooterBar-module__gn-footer-bar__after___yB8To","gn-footer-bar__after_horizontal":"FooterBar-module__gn-footer-bar__after_horizontal___t4KyN","gnFooterBarAfterHorizontal":"FooterBar-module__gn-footer-bar__after_horizontal___t4KyN","gn-footer-bar__dropdown-switcher":"FooterBar-module__gn-footer-bar__dropdown-switcher___Czw-L","gnFooterBarDropdownSwitcher":"FooterBar-module__gn-footer-bar__dropdown-switcher___Czw-L","gn-footer-bar__dropdown-popup":"FooterBar-module__gn-footer-bar__dropdown-popup___nWoMR","gnFooterBarDropdownPopup":"FooterBar-module__gn-footer-bar__dropdown-popup___nWoMR"};
2
-
3
- export { styles as default };
4
- //# sourceMappingURL=FooterBar.module.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FooterBar.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1 +0,0 @@
1
- export declare const MAX_VISIBLE_ITEMS = 5;
@@ -1,4 +0,0 @@
1
- const MAX_VISIBLE_ITEMS = 5;
2
-
3
- export { MAX_VISIBLE_ITEMS };
4
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../../src/components/AsideHeader/components/FooterBar/constants.ts"],"sourcesContent":["export const MAX_VISIBLE_ITEMS = 5;\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB,GAAG;;;;"}
@@ -1 +0,0 @@
1
- export { FooterBar } from './FooterBar';
@@ -1,6 +0,0 @@
1
- interface ToggleDelayConfig {
2
- enableDelay: number;
3
- disableDelay: number;
4
- }
5
- export declare function useDelayedToggle(currentValue: boolean, config?: ToggleDelayConfig, maybeShouldThrottleFn?: (value: boolean, previousValue: boolean) => boolean): boolean;
6
- export {};
@@ -1,55 +0,0 @@
1
- import { useRef, useState, useEffect } from 'react';
2
-
3
- function defaultComparator(value, previousValue) {
4
- return value !== previousValue;
5
- }
6
- function isTogglingOn(currentValue, previousValue) {
7
- return !previousValue && Boolean(currentValue);
8
- }
9
- function isTogglingOff(currentValue, previousValue) {
10
- return Boolean(previousValue) && !currentValue;
11
- }
12
- function useDelayedToggle(currentValue, config, maybeShouldThrottleFn) {
13
- const shouldThrottleFn = defaultComparator;
14
- const timerRef = useRef(null);
15
- const valueCacheRef = useRef(currentValue);
16
- const [value, setValue] = useState(currentValue);
17
- const delayConfig = config;
18
- useEffect(() => {
19
- function clear() {
20
- if (timerRef.current) {
21
- clearTimeout(timerRef.current);
22
- timerRef.current = null;
23
- }
24
- }
25
- if (currentValue !== valueCacheRef.current) {
26
- clear();
27
- const shouldThrottle = shouldThrottleFn(currentValue, valueCacheRef.current);
28
- const previousValue = valueCacheRef.current;
29
- valueCacheRef.current = currentValue;
30
- if (shouldThrottle) {
31
- let delay;
32
- if (isTogglingOn(currentValue, previousValue)) {
33
- delay = delayConfig.enableDelay;
34
- }
35
- else if (isTogglingOff(currentValue, previousValue)) {
36
- delay = delayConfig.disableDelay;
37
- }
38
- else {
39
- delay = delayConfig.enableDelay;
40
- }
41
- timerRef.current = setTimeout(() => {
42
- setValue(currentValue);
43
- }, delay);
44
- }
45
- else {
46
- setValue(currentValue);
47
- }
48
- }
49
- return clear;
50
- }, [currentValue, delayConfig.enableDelay, delayConfig.disableDelay, shouldThrottleFn]);
51
- return value;
52
- }
53
-
54
- export { useDelayedToggle };
55
- //# sourceMappingURL=useDelayedToggle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDelayedToggle.js","sources":["../../../../../../src/components/AsideHeader/hooks/useDelayedToggle.ts"],"sourcesContent":["import {useEffect, useRef, useState} from 'react';\n\ninterface ToggleDelayConfig {\n enableDelay: number;\n disableDelay: number;\n}\n\nconst DEFAULT_CONFIG: ToggleDelayConfig = {\n enableDelay: 500,\n disableDelay: 200,\n};\n\nfunction defaultComparator(value: boolean, previousValue: boolean): boolean {\n return value !== previousValue;\n}\n\nfunction isTogglingOn(currentValue: boolean, previousValue: boolean): boolean {\n return !previousValue && Boolean(currentValue);\n}\n\nfunction isTogglingOff(currentValue: boolean, previousValue: boolean): boolean {\n return Boolean(previousValue) && !currentValue;\n}\n\nexport function useDelayedToggle(\n currentValue: boolean,\n config?: ToggleDelayConfig,\n maybeShouldThrottleFn?: (value: boolean, previousValue: boolean) => boolean,\n): boolean {\n const shouldThrottleFn = maybeShouldThrottleFn || defaultComparator;\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n const valueCacheRef = useRef(currentValue);\n const [value, setValue] = useState(currentValue);\n\n const delayConfig = config || DEFAULT_CONFIG;\n\n useEffect(() => {\n function clear() {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n }\n\n if (currentValue !== valueCacheRef.current) {\n clear();\n\n const shouldThrottle = shouldThrottleFn(currentValue, valueCacheRef.current);\n const previousValue = valueCacheRef.current;\n\n valueCacheRef.current = currentValue;\n\n if (shouldThrottle) {\n let delay: number;\n\n if (isTogglingOn(currentValue, previousValue)) {\n delay = delayConfig.enableDelay;\n } else if (isTogglingOff(currentValue, previousValue)) {\n delay = delayConfig.disableDelay;\n } else {\n delay = delayConfig.enableDelay;\n }\n\n timerRef.current = setTimeout(() => {\n setValue(currentValue);\n }, delay);\n } else {\n setValue(currentValue);\n }\n }\n\n return clear;\n }, [currentValue, delayConfig.enableDelay, delayConfig.disableDelay, shouldThrottleFn]);\n\n return value;\n}\n"],"names":[],"mappings":";;AAYA,SAAS,iBAAiB,CAAC,KAAc,EAAE,aAAsB,EAAA;IAC7D,OAAO,KAAK,KAAK,aAAa;AAClC;AAEA,SAAS,YAAY,CAAC,YAAqB,EAAE,aAAsB,EAAA;AAC/D,IAAA,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;AAClD;AAEA,SAAS,aAAa,CAAC,YAAqB,EAAE,aAAsB,EAAA;AAChE,IAAA,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY;AAClD;SAEgB,gBAAgB,CAC5B,YAAqB,EACrB,MAA0B,EAC1B,qBAA2E,EAAA;AAE3E,IAAA,MAAM,gBAAgB,GAA4B,iBAAiB;AACnE,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC;AACpD,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;AAEhD,IAAA,MAAM,WAAW,GAAG,MAAwB;IAE5C,SAAS,CAAC,MAAK;AACX,QAAA,SAAS,KAAK,GAAA;AACV,YAAA,IAAI,QAAQ,CAAC,OAAO,EAAE;AAClB,gBAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9B,gBAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;;;AAI/B,QAAA,IAAI,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE;AACxC,YAAA,KAAK,EAAE;YAEP,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC;AAC5E,YAAA,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO;AAE3C,YAAA,aAAa,CAAC,OAAO,GAAG,YAAY;YAEpC,IAAI,cAAc,EAAE;AAChB,gBAAA,IAAI,KAAa;AAEjB,gBAAA,IAAI,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;AAC3C,oBAAA,KAAK,GAAG,WAAW,CAAC,WAAW;;AAC5B,qBAAA,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;AACnD,oBAAA,KAAK,GAAG,WAAW,CAAC,YAAY;;qBAC7B;AACH,oBAAA,KAAK,GAAG,WAAW,CAAC,WAAW;;AAGnC,gBAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;oBAC/B,QAAQ,CAAC,YAAY,CAAC;iBACzB,EAAE,KAAK,CAAC;;iBACN;gBACH,QAAQ,CAAC,YAAY,CAAC;;;AAI9B,QAAA,OAAO,KAAK;AAChB,KAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAEvF,IAAA,OAAO,KAAK;AAChB;;;;"}
@@ -1,9 +0,0 @@
1
- import { SetCollapseBlocker } from '../types';
2
- interface UseIsExpandedResult {
3
- isExpanded: boolean;
4
- onExpand: () => void;
5
- onFold: () => void;
6
- setCollapseBlocker: SetCollapseBlocker;
7
- }
8
- export declare const useIsExpanded: (externalPinned: boolean) => UseIsExpandedResult;
9
- export {};
@@ -1,65 +0,0 @@
1
- import { useState, useRef, useEffect, useCallback } from 'react';
2
- import { ASIDE_HEADER_EXPAND_DELAY, ASIDE_HEADER_EXPAND_TRANSITION_DELAY } from '../../constants.js';
3
- import { useDelayedToggle } from './useDelayedToggle.js';
4
-
5
- const useIsExpanded = (externalPinned) => {
6
- const [isExpanded, setIsExpanded] = useState(externalPinned);
7
- const [isMouseInside, setIsMouseInside] = useState(false);
8
- const collapseBlockerCountRef = useRef(0);
9
- const pendingFoldRef = useRef(false);
10
- useEffect(() => {
11
- if (!externalPinned && isExpanded) {
12
- return;
13
- }
14
- setIsExpanded(externalPinned);
15
- // We need to run this effect only when externalPinned changes
16
- // eslint-disable-next-line react-hooks/exhaustive-deps
17
- }, [externalPinned]);
18
- const delayedShouldExpand = useDelayedToggle(isMouseInside, {
19
- enableDelay: ASIDE_HEADER_EXPAND_DELAY,
20
- disableDelay: ASIDE_HEADER_EXPAND_TRANSITION_DELAY,
21
- });
22
- // Update isExpanded based on hover
23
- useEffect(() => {
24
- if (!externalPinned) {
25
- setIsExpanded(delayedShouldExpand);
26
- }
27
- // Re-run when externalPinned changes so we sync to hover state after pin/unpin
28
- // eslint-disable-next-line react-hooks/exhaustive-deps
29
- }, [delayedShouldExpand, externalPinned]);
30
- const performFold = useCallback(() => {
31
- setIsMouseInside(false);
32
- }, []);
33
- const handleExpand = useCallback(() => {
34
- pendingFoldRef.current = false;
35
- setIsMouseInside(true);
36
- }, []);
37
- const handleFold = useCallback(() => {
38
- if (collapseBlockerCountRef.current > 0) {
39
- pendingFoldRef.current = true;
40
- return;
41
- }
42
- performFold();
43
- }, [performFold]);
44
- const setCollapseBlocker = useCallback((isBlocked) => {
45
- if (isBlocked) {
46
- collapseBlockerCountRef.current += 1;
47
- }
48
- else if (collapseBlockerCountRef.current > 0) {
49
- collapseBlockerCountRef.current -= 1;
50
- if (collapseBlockerCountRef.current === 0 && pendingFoldRef.current) {
51
- pendingFoldRef.current = false;
52
- performFold();
53
- }
54
- }
55
- }, [performFold]);
56
- return {
57
- isExpanded,
58
- onExpand: handleExpand,
59
- onFold: handleFold,
60
- setCollapseBlocker,
61
- };
62
- };
63
-
64
- export { useIsExpanded };
65
- //# sourceMappingURL=useIsExpanded.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsExpanded.js","sources":["../../../../../../src/components/AsideHeader/hooks/useIsExpanded.ts"],"sourcesContent":["import {useCallback, useEffect, useRef, useState} from 'react';\n\nimport {ASIDE_HEADER_EXPAND_DELAY, ASIDE_HEADER_EXPAND_TRANSITION_DELAY} from '../../constants';\nimport {SetCollapseBlocker} from '../types';\n\nimport {useDelayedToggle} from './useDelayedToggle';\n\ninterface UseIsExpandedResult {\n isExpanded: boolean;\n onExpand: () => void;\n onFold: () => void;\n setCollapseBlocker: SetCollapseBlocker;\n}\n\nexport const useIsExpanded = (externalPinned: boolean): UseIsExpandedResult => {\n const [isExpanded, setIsExpanded] = useState(externalPinned);\n const [isMouseInside, setIsMouseInside] = useState(false);\n const collapseBlockerCountRef = useRef(0);\n const pendingFoldRef = useRef(false);\n\n useEffect(() => {\n if (!externalPinned && isExpanded) {\n return;\n }\n\n setIsExpanded(externalPinned);\n // We need to run this effect only when externalPinned changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [externalPinned]);\n\n const delayedShouldExpand = useDelayedToggle(isMouseInside, {\n enableDelay: ASIDE_HEADER_EXPAND_DELAY,\n disableDelay: ASIDE_HEADER_EXPAND_TRANSITION_DELAY,\n });\n\n // Update isExpanded based on hover\n useEffect(() => {\n if (!externalPinned) {\n setIsExpanded(delayedShouldExpand);\n }\n // Re-run when externalPinned changes so we sync to hover state after pin/unpin\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [delayedShouldExpand, externalPinned]);\n\n const performFold = useCallback(() => {\n setIsMouseInside(false);\n }, []);\n\n const handleExpand = useCallback(() => {\n pendingFoldRef.current = false;\n\n setIsMouseInside(true);\n }, []);\n\n const handleFold = useCallback(() => {\n if (collapseBlockerCountRef.current > 0) {\n pendingFoldRef.current = true;\n\n return;\n }\n\n performFold();\n }, [performFold]);\n\n const setCollapseBlocker = useCallback(\n (isBlocked: boolean) => {\n if (isBlocked) {\n collapseBlockerCountRef.current += 1;\n } else if (collapseBlockerCountRef.current > 0) {\n collapseBlockerCountRef.current -= 1;\n\n if (collapseBlockerCountRef.current === 0 && pendingFoldRef.current) {\n pendingFoldRef.current = false;\n performFold();\n }\n }\n },\n [performFold],\n );\n\n return {\n isExpanded,\n onExpand: handleExpand,\n onFold: handleFold,\n setCollapseBlocker,\n };\n};\n"],"names":[],"mappings":";;;;AAca,MAAA,aAAa,GAAG,CAAC,cAAuB,KAAyB;IAC1E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAA,MAAM,uBAAuB,GAAG,MAAM,CAAC,CAAC,CAAC;AACzC,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;IAEpC,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,cAAc,IAAI,UAAU,EAAE;YAC/B;;QAGJ,aAAa,CAAC,cAAc,CAAC;;;AAGjC,KAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAEpB,IAAA,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,aAAa,EAAE;AACxD,QAAA,WAAW,EAAE,yBAAyB;AACtC,QAAA,YAAY,EAAE,oCAAoC;AACrD,KAAA,CAAC;;IAGF,SAAS,CAAC,MAAK;QACX,IAAI,CAAC,cAAc,EAAE;YACjB,aAAa,CAAC,mBAAmB,CAAC;;;;AAI1C,KAAC,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AAEzC,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;QACjC,gBAAgB,CAAC,KAAK,CAAC;KAC1B,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,MAAK;AAClC,QAAA,cAAc,CAAC,OAAO,GAAG,KAAK;QAE9B,gBAAgB,CAAC,IAAI,CAAC;KACzB,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAChC,QAAA,IAAI,uBAAuB,CAAC,OAAO,GAAG,CAAC,EAAE;AACrC,YAAA,cAAc,CAAC,OAAO,GAAG,IAAI;YAE7B;;AAGJ,QAAA,WAAW,EAAE;AACjB,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAEjB,IAAA,MAAM,kBAAkB,GAAG,WAAW,CAClC,CAAC,SAAkB,KAAI;QACnB,IAAI,SAAS,EAAE;AACX,YAAA,uBAAuB,CAAC,OAAO,IAAI,CAAC;;AACjC,aAAA,IAAI,uBAAuB,CAAC,OAAO,GAAG,CAAC,EAAE;AAC5C,YAAA,uBAAuB,CAAC,OAAO,IAAI,CAAC;YAEpC,IAAI,uBAAuB,CAAC,OAAO,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE;AACjE,gBAAA,cAAc,CAAC,OAAO,GAAG,KAAK;AAC9B,gBAAA,WAAW,EAAE;;;AAGzB,KAAC,EACD,CAAC,WAAW,CAAC,CAChB;IAED,OAAO;QACH,UAAU;AACV,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,MAAM,EAAE,UAAU;QAClB,kBAAkB;KACrB;AACL;;;;"}
@@ -1,2 +0,0 @@
1
- import { MenuItemsWithGroups } from '../types';
2
- export declare function getGroupBlockHeight(items: MenuItemsWithGroups[], isCompactMode?: boolean): number;
@@ -1,14 +0,0 @@
1
- import { ITEM_GAP, ITEM_HEIGHT_COMPACT, ITEM_HEIGHT } from '../../constants.js';
2
-
3
- function getGroupBlockHeight(items, isCompactMode) {
4
- const itemHeight = isCompactMode ? ITEM_HEIGHT_COMPACT : ITEM_HEIGHT;
5
- if (items.length === 0) {
6
- return itemHeight;
7
- }
8
- const gaps = items.length * ITEM_GAP;
9
- // +1 accounts for the group header item in addition to the menu items
10
- return (items.length + 1) * itemHeight + gaps;
11
- }
12
-
13
- export { getGroupBlockHeight };
14
- //# sourceMappingURL=getGroupHeight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getGroupHeight.js","sources":["../../../../../../src/components/AsideHeader/utils/getGroupHeight.ts"],"sourcesContent":["import {ITEM_GAP, ITEM_HEIGHT, ITEM_HEIGHT_COMPACT} from '../../constants';\nimport {MenuItemsWithGroups} from '../types';\n\nexport function getGroupBlockHeight(items: MenuItemsWithGroups[], isCompactMode?: boolean) {\n const itemHeight = isCompactMode ? ITEM_HEIGHT_COMPACT : ITEM_HEIGHT;\n\n if (items.length === 0) {\n return itemHeight;\n }\n\n const gaps = items.length * ITEM_GAP;\n\n // +1 accounts for the group header item in addition to the menu items\n return (items.length + 1) * itemHeight + gaps;\n}\n"],"names":[],"mappings":";;AAGgB,SAAA,mBAAmB,CAAC,KAA4B,EAAE,aAAuB,EAAA;IACrF,MAAM,UAAU,GAAG,aAAa,GAAG,mBAAmB,GAAG,WAAW;AAEpE,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpB,QAAA,OAAO,UAAU;;AAGrB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;;IAGpC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,IAAI;AACjD;;;;"}
@@ -1 +0,0 @@
1
- export declare function getCollapsedWidth(isCompactMode?: boolean): number;
@@ -1,8 +0,0 @@
1
- import { ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE, ASIDE_HEADER_COLLAPSED_WIDTH } from '../constants.js';
2
-
3
- function getCollapsedWidth(isCompactMode) {
4
- return isCompactMode ? ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE : ASIDE_HEADER_COLLAPSED_WIDTH;
5
- }
6
-
7
- export { getCollapsedWidth };
8
- //# sourceMappingURL=getCollapsedWidth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCollapsedWidth.js","sources":["../../../../../src/components/utils/getCollapsedWidth.ts"],"sourcesContent":["import {\n ASIDE_HEADER_COLLAPSED_WIDTH,\n ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE,\n} from '../constants';\n\nexport function getCollapsedWidth(isCompactMode?: boolean): number {\n return isCompactMode ? ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE : ASIDE_HEADER_COLLAPSED_WIDTH;\n}\n"],"names":[],"mappings":";;AAKM,SAAU,iBAAiB,CAAC,aAAuB,EAAA;IACrD,OAAO,aAAa,GAAG,yCAAyC,GAAG,4BAA4B;AACnG;;;;"}