@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,10 +1,9 @@
1
1
  export { AsideHeader } from './components/AsideHeader/AsideHeader.js';
2
- export { AsideHeaderContextProvider, useAsideHeaderContext, useAsideHeaderContextOptional } from './components/AsideHeader/AsideHeaderContext.js';
2
+ export { AsideHeaderContextProvider, useAsideHeaderContext } from './components/AsideHeader/AsideHeaderContext.js';
3
3
  export { FooterItem } from './components/AsideHeader/components/FooterItem/FooterItem.js';
4
4
  export { PageLayout } from './components/AsideHeader/components/PageLayout/PageLayout.js';
5
5
  export { PageLayoutAside } from './components/AsideHeader/components/PageLayout/PageLayoutAside.js';
6
6
  export { AsideFallback } from './components/AsideHeader/components/PageLayout/AsideFallback.js';
7
- export { FooterLayoutContext, useFooterLayout } from './components/AsideHeader/FooterLayoutContext.js';
8
7
  export { ActionBar } from './components/ActionBar/ActionBar.js';
9
8
  export { Title } from './components/Title/Title.js';
10
9
  export { HotkeysPanel } from './components/HotkeysPanel/HotkeysPanel.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -9,7 +9,7 @@ const {program} = require('commander');
9
9
  const PACKAGE_DIR = path.dirname(__dirname);
10
10
  const TRANSFORMS_DIR = path.join(PACKAGE_DIR, 'transforms');
11
11
 
12
- const AVAILABLE_TRANSFORMS = ['v4', 'v5'];
12
+ const AVAILABLE_TRANSFORMS = ['v4'];
13
13
 
14
14
  // Get available transforms
15
15
  const availableTransforms = fs
@@ -114,30 +114,18 @@ program
114
114
  });
115
115
  });
116
116
 
117
- // Command to run v4 transforms
117
+ // Default command to run v4 transforms
118
118
  program
119
119
  .command('v4 <path>')
120
- .description('Run v4 migration transforms')
120
+ .description('Run all transforms in sequence')
121
121
  .option('-d, --dry', 'Dry run (no changes will be made)')
122
122
  .option('-v, --verbose', 'Verbose output')
123
123
  .option('--ignore-pattern <pattern>', 'Ignore files matching this pattern')
124
124
  .action((targetPath, options) => {
125
- console.log('Running v4 migration transforms...');
125
+ console.log('Running all transforms in sequence...');
126
126
  runTransform('v4', targetPath, options);
127
127
  });
128
128
 
129
- // Command to run v5 transforms
130
- program
131
- .command('v5 <path>')
132
- .description('Run v5 migration transforms (compact → isExpanded)')
133
- .option('-d, --dry', 'Dry run (no changes will be made)')
134
- .option('-v, --verbose', 'Verbose output')
135
- .option('--ignore-pattern <pattern>', 'Ignore files matching this pattern')
136
- .action((targetPath, options) => {
137
- console.log('Running v5 migration transforms...');
138
- runTransform('v5', targetPath, options);
139
- });
140
-
141
129
  // Help command
142
130
  program
143
131
  .command('help')
@@ -150,9 +138,8 @@ program
150
138
  program.on('--help', () => {
151
139
  console.log('');
152
140
  console.log('Examples:');
153
- console.log(' $ navigation-codemod v4 ./src');
154
- console.log(' $ navigation-codemod v5 ./src');
155
- console.log(' $ navigation-codemod v5 ./src --dry');
141
+ console.log(' $ navigation-codemod transform v4 ./src');
142
+ console.log(' $ navigation-codemod transform v4 ./src --dry');
156
143
  console.log(' $ navigation-codemod list');
157
144
  console.log('');
158
145
  console.log('Available transforms:');
@@ -129,7 +129,6 @@ function updateImports(root: Collection, j: JSCodeshift): boolean {
129
129
  });
130
130
 
131
131
  if (hasBeenModified) {
132
- // eslint-disable-next-line no-param-reassign
133
132
  path.node.specifiers = newSpecifiers;
134
133
  hasChanges = true;
135
134
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/navigation",
3
- "version": "5.0.0",
3
+ "version": "6.0.0-beta.1",
4
4
  "description": "Gravity UI Navigation components",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -52,7 +52,6 @@
52
52
  "dependencies": {
53
53
  "commander": "^11.0.0",
54
54
  "jscodeshift": "^0.15.0",
55
- "react-transition-group": "^4.4.5",
56
55
  "tslib": "^2.8.1"
57
56
  },
58
57
  "devDependencies": {
@@ -89,11 +88,12 @@
89
88
  "@storybook/test-runner": "^0.17.0",
90
89
  "@storybook/theming": "^8.5.0",
91
90
  "@svgr/rollup": "^8.1.0",
91
+ "@testing-library/react": "^16.3.2",
92
92
  "@types/jest": "^28.1.0",
93
93
  "@types/jscodeshift": "^0.12.0",
94
94
  "@types/lodash": "^4.17.14",
95
95
  "@types/react": "^18.3.18",
96
- "@types/react-transition-group": "^4.4.12",
96
+ "@types/react-virtualized-auto-sizer": "^1.0.4",
97
97
  "@vitejs/plugin-react": "^4.3.4",
98
98
  "axe-playwright": "^2.0.3",
99
99
  "babel-jest": "^28.0.0",
@@ -104,6 +104,7 @@
104
104
  "eslint-plugin-testing-library": "^6.5.0",
105
105
  "husky": "^9.1.7",
106
106
  "jest": "^28.0.0",
107
+ "jest-environment-jsdom": "^30.3.0",
107
108
  "knip": "^5.66.4",
108
109
  "nano-staged": "^0.6.0",
109
110
  "npm-run-all": "^4.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"divider-collapsed-compact.svg.js","sources":["../../../../assets/icons/divider-collapsed-compact.svg"],"sourcesContent":["<svg width=\"40\" height=\"22\" viewBox=\"0 0 40 22\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M40 0v22c-.6-.8-5-4.6-12.6-6.4L9.3 11.9A11.4 11.4 0 0 1 0 0Z\"/></svg>\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,KAAK;AACT,SAAS,QAAQ,GAAG,EAAE,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAE/Q,IAAC,0BAA0B,GAAG,SAAS,0BAA0B,CAAC,KAAK,EAAE;AAC5E,EAAE,oBAAoBA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,OAAO,EAAE;AACb,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgBA,gBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACxE,IAAI,CAAC,EAAE;AACP,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- export interface FooterLayoutContextValue {
3
- layout: 'horizontal' | 'vertical';
4
- isExpanded: boolean;
5
- }
6
- export declare const FooterLayoutContext: React.Context<FooterLayoutContextValue | undefined>;
7
- export declare const useFooterLayout: () => FooterLayoutContextValue | undefined;
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
-
5
- const FooterLayoutContext = React.createContext(undefined);
6
- const useFooterLayout = () => React.useContext(FooterLayoutContext);
7
-
8
- exports.FooterLayoutContext = FooterLayoutContext;
9
- exports.useFooterLayout = useFooterLayout;
10
- //# sourceMappingURL=FooterLayoutContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FooterLayoutContext.js","sources":["../../../../../src/components/AsideHeader/FooterLayoutContext.ts"],"sourcesContent":["import React from 'react';\n\nexport interface FooterLayoutContextValue {\n layout: 'horizontal' | 'vertical';\n isExpanded: boolean;\n}\n\nexport const FooterLayoutContext = React.createContext<FooterLayoutContextValue | undefined>(\n undefined,\n);\n\nexport const useFooterLayout = (): FooterLayoutContextValue | undefined =>\n React.useContext(FooterLayoutContext);\n"],"names":[],"mappings":";;;;AAOa,MAAA,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAClD,SAAS;AAGN,MAAM,eAAe,GAAG,MAC3B,KAAK,CAAC,UAAU,CAAC,mBAAmB;;;;;"}
@@ -1,3 +0,0 @@
1
- import { MenuItem } from '../../../../types';
2
- import { MenuItemsWithGroups } from '../../../types';
3
- export declare function buildExpandedFromFlatList(flatList: MenuItemsWithGroups[]): MenuItem[];
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- function buildExpandedFromFlatList(flatList) {
4
- const expanded = [];
5
- flatList.forEach((item) => {
6
- if ('items' in item && item.items && item.items.length > 0) {
7
- expanded.push(...item.items);
8
- }
9
- else {
10
- expanded.push(item);
11
- }
12
- });
13
- return expanded;
14
- }
15
-
16
- exports.buildExpandedFromFlatList = buildExpandedFromFlatList;
17
- //# sourceMappingURL=buildExpandedFromFlatList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildExpandedFromFlatList.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.ts"],"sourcesContent":["import {MenuItem} from '../../../../types';\nimport {MenuItemsWithGroups} from '../../../types';\n\nexport function buildExpandedFromFlatList(flatList: MenuItemsWithGroups[]): MenuItem[] {\n const expanded: MenuItem[] = [];\n\n flatList.forEach((item) => {\n if ('items' in item && item.items && item.items.length > 0) {\n expanded.push(...item.items);\n } else {\n expanded.push(item);\n }\n });\n\n return expanded;\n}\n"],"names":[],"mappings":";;AAGM,SAAU,yBAAyB,CAAC,QAA+B,EAAA;IACrE,MAAM,QAAQ,GAAe,EAAE;AAE/B,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACtB,QAAA,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;;aACzB;AACH,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;AAE3B,KAAC,CAAC;AAEF,IAAA,OAAO,QAAQ;AACnB;;;;"}
@@ -1,9 +0,0 @@
1
- import { MenuItemsWithGroups } from '../../../types';
2
- /**
3
- * Returns index in expanded list for the sortableIndex-th sortable item in flatList.
4
- *
5
- * @param sortableIndex - Index in the list of sortable (non-divider) items.
6
- * @param flatList - Flat list with groups and dividers.
7
- * @returns Index in the expanded (flattened) menu list.
8
- */
9
- export declare function getExpandedIndexForSortableIndex(sortableIndex: number, flatList: MenuItemsWithGroups[]): number;
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- var getIsMenuItem = require('./getIsMenuItem.js');
4
- var getRealIndexInGroup = require('./getRealIndexInGroup.js');
5
-
6
- /**
7
- * Returns index in expanded list for the sortableIndex-th sortable item in flatList.
8
- *
9
- * @param sortableIndex - Index in the list of sortable (non-divider) items.
10
- * @param flatList - Flat list with groups and dividers.
11
- * @returns Index in the expanded (flattened) menu list.
12
- */
13
- function getExpandedIndexForSortableIndex(sortableIndex, flatList) {
14
- let sortableCount = 0;
15
- for (let i = 0; i < flatList.length; i++) {
16
- if (getIsMenuItem.getIsMenuItem(flatList[i])) {
17
- if (sortableCount === sortableIndex) {
18
- return getRealIndexInGroup.getRealIndexInExpandedMenu(i, flatList);
19
- }
20
- sortableCount++;
21
- }
22
- }
23
- return 0;
24
- }
25
-
26
- exports.getExpandedIndexForSortableIndex = getExpandedIndexForSortableIndex;
27
- //# sourceMappingURL=getExpandedIndexForSortableIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getExpandedIndexForSortableIndex.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {getIsMenuItem} from './getIsMenuItem';\nimport {getRealIndexInExpandedMenu} from './getRealIndexInGroup';\n\n/**\n * Returns index in expanded list for the sortableIndex-th sortable item in flatList.\n *\n * @param sortableIndex - Index in the list of sortable (non-divider) items.\n * @param flatList - Flat list with groups and dividers.\n * @returns Index in the expanded (flattened) menu list.\n */\nexport function getExpandedIndexForSortableIndex(\n sortableIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let sortableCount = 0;\n for (let i = 0; i < flatList.length; i++) {\n if (getIsMenuItem(flatList[i])) {\n if (sortableCount === sortableIndex) {\n return getRealIndexInExpandedMenu(i, flatList);\n }\n sortableCount++;\n }\n }\n return 0;\n}\n"],"names":["getIsMenuItem","getRealIndexInExpandedMenu"],"mappings":";;;;;AAKA;;;;;;AAMG;AACa,SAAA,gCAAgC,CAC5C,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAIA,2BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5B,YAAA,IAAI,aAAa,KAAK,aAAa,EAAE;AACjC,gBAAA,OAAOC,8CAA0B,CAAC,CAAC,EAAE,QAAQ,CAAC;;AAElD,YAAA,aAAa,EAAE;;;AAGvB,IAAA,OAAO,CAAC;AACZ;;;;"}
@@ -1,2 +0,0 @@
1
- import { MenuItemsWithGroups } from 'src/components/AsideHeader/types';
2
- export declare function getIsMenuItem(item: MenuItemsWithGroups): boolean;
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var constants = require('../constants.js');
4
-
5
- function getIsMenuItem(item) {
6
- const isDivider = item.type === 'divider';
7
- const isAction = item.type === 'action';
8
- const isAllPages = item.id === constants.ALL_PAGES_ID;
9
- return !isDivider && !isAction && !isAllPages;
10
- }
11
-
12
- exports.getIsMenuItem = getIsMenuItem;
13
- //# sourceMappingURL=getIsMenuItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getIsMenuItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.ts"],"sourcesContent":["import {MenuItemsWithGroups} from 'src/components/AsideHeader/types';\n\nimport {ALL_PAGES_ID} from '../constants';\n\nexport function getIsMenuItem(item: MenuItemsWithGroups): boolean {\n const isDivider = item.type === 'divider';\n const isAction = item.type === 'action';\n const isAllPages = item.id === ALL_PAGES_ID;\n\n return !isDivider && !isAction && !isAllPages;\n}\n"],"names":["ALL_PAGES_ID"],"mappings":";;;;AAIM,SAAU,aAAa,CAAC,IAAyB,EAAA;AACnD,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS;AACzC,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;AACvC,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,KAAKA,sBAAY;IAE3C,OAAO,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU;AACjD;;;;"}
@@ -1,73 +0,0 @@
1
- import { MenuItemsWithGroups } from '../../../types';
2
- import { buildExpandedFromFlatList } from './buildExpandedFromFlatList';
3
- /**
4
- * Returns index in flatList of the sortableIndex-th sortable item (getIsMenuItem).
5
- * Used when groupIndex from the List is the index in the filtered list without dividers.
6
- *
7
- * @param sortableIndex - Index in the list of sortable (non-divider) items.
8
- * @param flatList - Flat list with groups and dividers.
9
- * @returns Index in flatList of the sortableIndex-th sortable item.
10
- */
11
- export declare function getFlatListIndexForSortableIndex(sortableIndex: number, flatList: MenuItemsWithGroups[]): number;
12
- /**
13
- * Returns index in groupItems array for the sortableIndex-th sortable (non-divider) item.
14
- * Used when oldIndex/newIndex from sort are indices in the sortable-only list.
15
- *
16
- * @param sortableIndex - Index in the list of sortable (non-divider) items.
17
- * @param groupItems - Items of the group (may contain dividers).
18
- * @returns Index in groupItems of the sortableIndex-th sortable item.
19
- */
20
- export declare function getIndexInGroupItemsForSortableIndex(sortableIndex: number, groupItems: MenuItemsWithGroups[]): number;
21
- export declare function getRealIndexInExpandedMenu(flatListIndex: number, flatList: MenuItemsWithGroups[]): number;
22
- /**
23
- * Returns index in the expanded menu for an item in a group.
24
- * itemIndexInGroup is the index in the sortable-only list (dividers are not counted).
25
- *
26
- * @param groupIndex - Index of the group in the flat list.
27
- * @param itemIndexInGroup - Index in the sortable-only list within the group.
28
- * @param flatList - Flat list with groups and dividers.
29
- * @returns Index in the expanded (flattened) menu list.
30
- */
31
- export declare function getRealIndexInGroup(groupIndex: number, itemIndexInGroup: number, flatList: MenuItemsWithGroups[]): number;
32
- type GroupWithItems = MenuItemsWithGroups & {
33
- items: MenuItemsWithGroups[];
34
- };
35
- /**
36
- * Returns group item and its index in flat list by sortable index (index in list without dividers).
37
- *
38
- * @param sortableIndex - Index in the filtered list (getIsMenuItem).
39
- * @param flatList - Flat list with groups and dividers.
40
- * @returns Object with flatListGroupIndex and groupItem, or null if not a group with items.
41
- */
42
- export declare function getGroupAtSortableIndex(sortableIndex: number, flatList: MenuItemsWithGroups[]): {
43
- flatListGroupIndex: number;
44
- groupItem: GroupWithItems;
45
- } | null;
46
- /**
47
- * Returns new flat list with group items replaced at the given index.
48
- *
49
- * @param flatList - Current flat list.
50
- * @param flatListGroupIndex - Index of the group in flat list.
51
- * @param newGroupItems - New items array for the group.
52
- * @returns New flat list with updated group.
53
- */
54
- export declare function updateGroupItemsInFlatList(flatList: MenuItemsWithGroups[], flatListGroupIndex: number, newGroupItems: MenuItemsWithGroups[]): MenuItemsWithGroups[];
55
- interface SecondLevelSortResult {
56
- newFlatList: MenuItemsWithGroups[];
57
- expandedItems: ReturnType<typeof buildExpandedFromFlatList>;
58
- realOldIndex: number;
59
- realNewIndex: number;
60
- changedItem: ReturnType<typeof buildExpandedFromFlatList>[number] | undefined;
61
- }
62
- /**
63
- * Applies second-level sort (within a group) and returns new flat list, expanded items and indices.
64
- * Keeps dividers in place inside the group.
65
- *
66
- * @param groupIndex - Sortable index of the group (from List, without dividers).
67
- * @param oldIndex - Sortable index of dragged item in the group.
68
- * @param newIndex - Sortable index of drop position in the group.
69
- * @param currentFlatList - Current flat list.
70
- * @returns Result with newFlatList, expandedItems, indices and changedItem, or null if invalid.
71
- */
72
- export declare function applySecondLevelSort(groupIndex: number, oldIndex: number, newIndex: number, currentFlatList: MenuItemsWithGroups[]): SecondLevelSortResult | null;
73
- export {};
@@ -1,144 +0,0 @@
1
- 'use strict';
2
-
3
- var buildExpandedFromFlatList = require('./buildExpandedFromFlatList.js');
4
- var getIsMenuItem = require('./getIsMenuItem.js');
5
- var sortMenuItemsWithDividers = require('./sortMenuItemsWithDividers.js');
6
-
7
- /**
8
- * Returns index in flatList of the sortableIndex-th sortable item (getIsMenuItem).
9
- * Used when groupIndex from the List is the index in the filtered list without dividers.
10
- *
11
- * @param sortableIndex - Index in the list of sortable (non-divider) items.
12
- * @param flatList - Flat list with groups and dividers.
13
- * @returns Index in flatList of the sortableIndex-th sortable item.
14
- */
15
- function getFlatListIndexForSortableIndex(sortableIndex, flatList) {
16
- let sortableCount = 0;
17
- for (let i = 0; i < flatList.length; i++) {
18
- if (getIsMenuItem.getIsMenuItem(flatList[i])) {
19
- if (sortableCount === sortableIndex) {
20
- return i;
21
- }
22
- sortableCount++;
23
- }
24
- }
25
- return 0;
26
- }
27
- /**
28
- * Returns index in groupItems array for the sortableIndex-th sortable (non-divider) item.
29
- * Used when oldIndex/newIndex from sort are indices in the sortable-only list.
30
- *
31
- * @param sortableIndex - Index in the list of sortable (non-divider) items.
32
- * @param groupItems - Items of the group (may contain dividers).
33
- * @returns Index in groupItems of the sortableIndex-th sortable item.
34
- */
35
- function getIndexInGroupItemsForSortableIndex(sortableIndex, groupItems) {
36
- let sortableCount = 0;
37
- for (let i = 0; i < groupItems.length; i++) {
38
- if (getIsMenuItem.getIsMenuItem(groupItems[i])) {
39
- if (sortableCount === sortableIndex) {
40
- return i;
41
- }
42
- sortableCount++;
43
- }
44
- }
45
- return 0;
46
- }
47
- function getRealIndexInExpandedMenu(flatListIndex, flatList) {
48
- let realIndex = 0;
49
- for (let i = 0; i < flatListIndex; i++) {
50
- const item = flatList[i];
51
- if ('items' in item && item.items && item.items.length > 0) {
52
- realIndex += item.items.length;
53
- }
54
- else {
55
- realIndex += 1;
56
- }
57
- }
58
- return realIndex;
59
- }
60
- /**
61
- * Returns index in the expanded menu for an item in a group.
62
- * itemIndexInGroup is the index in the sortable-only list (dividers are not counted).
63
- *
64
- * @param groupIndex - Index of the group in the flat list.
65
- * @param itemIndexInGroup - Index in the sortable-only list within the group.
66
- * @param flatList - Flat list with groups and dividers.
67
- * @returns Index in the expanded (flattened) menu list.
68
- */
69
- function getRealIndexInGroup(groupIndex, itemIndexInGroup, flatList) {
70
- const groupStartIndex = getRealIndexInExpandedMenu(groupIndex, flatList);
71
- const groupItem = flatList[groupIndex];
72
- if ('items' in groupItem && groupItem.items && groupItem.items.length > 0) {
73
- const positionInGroup = getIndexInGroupItemsForSortableIndex(itemIndexInGroup, groupItem.items);
74
- return groupStartIndex + positionInGroup;
75
- }
76
- return groupStartIndex + itemIndexInGroup;
77
- }
78
- /**
79
- * Returns group item and its index in flat list by sortable index (index in list without dividers).
80
- *
81
- * @param sortableIndex - Index in the filtered list (getIsMenuItem).
82
- * @param flatList - Flat list with groups and dividers.
83
- * @returns Object with flatListGroupIndex and groupItem, or null if not a group with items.
84
- */
85
- function getGroupAtSortableIndex(sortableIndex, flatList) {
86
- var _a;
87
- const flatListGroupIndex = getFlatListIndexForSortableIndex(sortableIndex, flatList);
88
- const groupItem = flatList[flatListGroupIndex];
89
- if (!groupItem || !('items' in groupItem) || !((_a = groupItem.items) === null || _a === undefined ? undefined : _a.length)) {
90
- return null;
91
- }
92
- return { flatListGroupIndex, groupItem: groupItem };
93
- }
94
- /**
95
- * Returns new flat list with group items replaced at the given index.
96
- *
97
- * @param flatList - Current flat list.
98
- * @param flatListGroupIndex - Index of the group in flat list.
99
- * @param newGroupItems - New items array for the group.
100
- * @returns New flat list with updated group.
101
- */
102
- function updateGroupItemsInFlatList(flatList, flatListGroupIndex, newGroupItems) {
103
- return flatList.map((item, i) => i === flatListGroupIndex && 'items' in item ? Object.assign(Object.assign({}, item), { items: newGroupItems }) : item);
104
- }
105
- /**
106
- * Applies second-level sort (within a group) and returns new flat list, expanded items and indices.
107
- * Keeps dividers in place inside the group.
108
- *
109
- * @param groupIndex - Sortable index of the group (from List, without dividers).
110
- * @param oldIndex - Sortable index of dragged item in the group.
111
- * @param newIndex - Sortable index of drop position in the group.
112
- * @param currentFlatList - Current flat list.
113
- * @returns Result with newFlatList, expandedItems, indices and changedItem, or null if invalid.
114
- */
115
- function applySecondLevelSort(groupIndex, oldIndex, newIndex, currentFlatList) {
116
- const groupData = getGroupAtSortableIndex(groupIndex, currentFlatList);
117
- if (!groupData) {
118
- return null;
119
- }
120
- const { flatListGroupIndex, groupItem } = groupData;
121
- const sortedGroupItems = sortMenuItemsWithDividers.sortMenuItemsWithDividers(oldIndex, newIndex, groupItem.items);
122
- const newFlatList = updateGroupItemsInFlatList(currentFlatList, flatListGroupIndex, sortedGroupItems);
123
- const expandedItems = buildExpandedFromFlatList.buildExpandedFromFlatList(newFlatList);
124
- const expandedItemsOld = buildExpandedFromFlatList.buildExpandedFromFlatList(currentFlatList);
125
- const realOldIndex = getRealIndexInGroup(flatListGroupIndex, oldIndex, currentFlatList);
126
- const realNewIndex = getRealIndexInGroup(flatListGroupIndex, newIndex, newFlatList);
127
- const changedItem = expandedItemsOld[realOldIndex];
128
- return {
129
- newFlatList,
130
- expandedItems,
131
- realOldIndex,
132
- realNewIndex,
133
- changedItem,
134
- };
135
- }
136
-
137
- exports.applySecondLevelSort = applySecondLevelSort;
138
- exports.getFlatListIndexForSortableIndex = getFlatListIndexForSortableIndex;
139
- exports.getGroupAtSortableIndex = getGroupAtSortableIndex;
140
- exports.getIndexInGroupItemsForSortableIndex = getIndexInGroupItemsForSortableIndex;
141
- exports.getRealIndexInExpandedMenu = getRealIndexInExpandedMenu;
142
- exports.getRealIndexInGroup = getRealIndexInGroup;
143
- exports.updateGroupItemsInFlatList = updateGroupItemsInFlatList;
144
- //# sourceMappingURL=getRealIndexInGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRealIndexInGroup.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {buildExpandedFromFlatList} from './buildExpandedFromFlatList';\nimport {getIsMenuItem} from './getIsMenuItem';\nimport {sortMenuItemsWithDividers} from './sortMenuItemsWithDividers';\n\n/**\n * Returns index in flatList of the sortableIndex-th sortable item (getIsMenuItem).\n * Used when groupIndex from the List is the index in the filtered list without dividers.\n *\n * @param sortableIndex - Index in the list of sortable (non-divider) items.\n * @param flatList - Flat list with groups and dividers.\n * @returns Index in flatList of the sortableIndex-th sortable item.\n */\nexport function getFlatListIndexForSortableIndex(\n sortableIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let sortableCount = 0;\n for (let i = 0; i < flatList.length; i++) {\n if (getIsMenuItem(flatList[i])) {\n if (sortableCount === sortableIndex) {\n return i;\n }\n sortableCount++;\n }\n }\n return 0;\n}\n\n/**\n * Returns index in groupItems array for the sortableIndex-th sortable (non-divider) item.\n * Used when oldIndex/newIndex from sort are indices in the sortable-only list.\n *\n * @param sortableIndex - Index in the list of sortable (non-divider) items.\n * @param groupItems - Items of the group (may contain dividers).\n * @returns Index in groupItems of the sortableIndex-th sortable item.\n */\nexport function getIndexInGroupItemsForSortableIndex(\n sortableIndex: number,\n groupItems: MenuItemsWithGroups[],\n): number {\n let sortableCount = 0;\n for (let i = 0; i < groupItems.length; i++) {\n if (getIsMenuItem(groupItems[i])) {\n if (sortableCount === sortableIndex) {\n return i;\n }\n sortableCount++;\n }\n }\n return 0;\n}\n\nexport function getRealIndexInExpandedMenu(\n flatListIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let realIndex = 0;\n\n for (let i = 0; i < flatListIndex; i++) {\n const item = flatList[i];\n\n if ('items' in item && item.items && item.items.length > 0) {\n realIndex += item.items.length;\n } else {\n realIndex += 1;\n }\n }\n\n return realIndex;\n}\n\n/**\n * Returns index in the expanded menu for an item in a group.\n * itemIndexInGroup is the index in the sortable-only list (dividers are not counted).\n *\n * @param groupIndex - Index of the group in the flat list.\n * @param itemIndexInGroup - Index in the sortable-only list within the group.\n * @param flatList - Flat list with groups and dividers.\n * @returns Index in the expanded (flattened) menu list.\n */\nexport function getRealIndexInGroup(\n groupIndex: number,\n itemIndexInGroup: number,\n flatList: MenuItemsWithGroups[],\n): number {\n const groupStartIndex = getRealIndexInExpandedMenu(groupIndex, flatList);\n const groupItem = flatList[groupIndex];\n\n if ('items' in groupItem && groupItem.items && groupItem.items.length > 0) {\n const positionInGroup = getIndexInGroupItemsForSortableIndex(\n itemIndexInGroup,\n groupItem.items,\n );\n return groupStartIndex + positionInGroup;\n }\n\n return groupStartIndex + itemIndexInGroup;\n}\n\ntype GroupWithItems = MenuItemsWithGroups & {items: MenuItemsWithGroups[]};\n\n/**\n * Returns group item and its index in flat list by sortable index (index in list without dividers).\n *\n * @param sortableIndex - Index in the filtered list (getIsMenuItem).\n * @param flatList - Flat list with groups and dividers.\n * @returns Object with flatListGroupIndex and groupItem, or null if not a group with items.\n */\nexport function getGroupAtSortableIndex(\n sortableIndex: number,\n flatList: MenuItemsWithGroups[],\n): {flatListGroupIndex: number; groupItem: GroupWithItems} | null {\n const flatListGroupIndex = getFlatListIndexForSortableIndex(sortableIndex, flatList);\n const groupItem = flatList[flatListGroupIndex];\n\n if (!groupItem || !('items' in groupItem) || !(groupItem as GroupWithItems).items?.length) {\n return null;\n }\n\n return {flatListGroupIndex, groupItem: groupItem as GroupWithItems};\n}\n\n/**\n * Returns new flat list with group items replaced at the given index.\n *\n * @param flatList - Current flat list.\n * @param flatListGroupIndex - Index of the group in flat list.\n * @param newGroupItems - New items array for the group.\n * @returns New flat list with updated group.\n */\nexport function updateGroupItemsInFlatList(\n flatList: MenuItemsWithGroups[],\n flatListGroupIndex: number,\n newGroupItems: MenuItemsWithGroups[],\n): MenuItemsWithGroups[] {\n return flatList.map((item, i) =>\n i === flatListGroupIndex && 'items' in item ? {...item, items: newGroupItems} : item,\n );\n}\n\ninterface SecondLevelSortResult {\n newFlatList: MenuItemsWithGroups[];\n expandedItems: ReturnType<typeof buildExpandedFromFlatList>;\n realOldIndex: number;\n realNewIndex: number;\n changedItem: ReturnType<typeof buildExpandedFromFlatList>[number] | undefined;\n}\n\n/**\n * Applies second-level sort (within a group) and returns new flat list, expanded items and indices.\n * Keeps dividers in place inside the group.\n *\n * @param groupIndex - Sortable index of the group (from List, without dividers).\n * @param oldIndex - Sortable index of dragged item in the group.\n * @param newIndex - Sortable index of drop position in the group.\n * @param currentFlatList - Current flat list.\n * @returns Result with newFlatList, expandedItems, indices and changedItem, or null if invalid.\n */\nexport function applySecondLevelSort(\n groupIndex: number,\n oldIndex: number,\n newIndex: number,\n currentFlatList: MenuItemsWithGroups[],\n): SecondLevelSortResult | null {\n const groupData = getGroupAtSortableIndex(groupIndex, currentFlatList);\n\n if (!groupData) {\n return null;\n }\n\n const {flatListGroupIndex, groupItem} = groupData;\n const sortedGroupItems = sortMenuItemsWithDividers(oldIndex, newIndex, groupItem.items);\n const newFlatList = updateGroupItemsInFlatList(\n currentFlatList,\n flatListGroupIndex,\n sortedGroupItems,\n );\n const expandedItems = buildExpandedFromFlatList(newFlatList);\n const expandedItemsOld = buildExpandedFromFlatList(currentFlatList);\n const realOldIndex = getRealIndexInGroup(flatListGroupIndex, oldIndex, currentFlatList);\n const realNewIndex = getRealIndexInGroup(flatListGroupIndex, newIndex, newFlatList);\n const changedItem = expandedItemsOld[realOldIndex];\n\n return {\n newFlatList,\n expandedItems,\n realOldIndex,\n realNewIndex,\n changedItem,\n };\n}\n"],"names":["getIsMenuItem","sortMenuItemsWithDividers","buildExpandedFromFlatList"],"mappings":";;;;;;AAMA;;;;;;;AAOG;AACa,SAAA,gCAAgC,CAC5C,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAIA,2BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5B,YAAA,IAAI,aAAa,KAAK,aAAa,EAAE;AACjC,gBAAA,OAAO,CAAC;;AAEZ,YAAA,aAAa,EAAE;;;AAGvB,IAAA,OAAO,CAAC;AACZ;AAEA;;;;;;;AAOG;AACa,SAAA,oCAAoC,CAChD,aAAqB,EACrB,UAAiC,EAAA;IAEjC,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAIA,2BAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9B,YAAA,IAAI,aAAa,KAAK,aAAa,EAAE;AACjC,gBAAA,OAAO,CAAC;;AAEZ,YAAA,aAAa,EAAE;;;AAGvB,IAAA,OAAO,CAAC;AACZ;AAEgB,SAAA,0BAA0B,CACtC,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,SAAS,GAAG,CAAC;AAEjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACxD,YAAA,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;;aAC3B;YACH,SAAS,IAAI,CAAC;;;AAItB,IAAA,OAAO,SAAS;AACpB;AAEA;;;;;;;;AAQG;SACa,mBAAmB,CAC/B,UAAkB,EAClB,gBAAwB,EACxB,QAA+B,EAAA;IAE/B,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC;AACxE,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;AAEtC,IAAA,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvE,MAAM,eAAe,GAAG,oCAAoC,CACxD,gBAAgB,EAChB,SAAS,CAAC,KAAK,CAClB;QACD,OAAO,eAAe,GAAG,eAAe;;IAG5C,OAAO,eAAe,GAAG,gBAAgB;AAC7C;AAIA;;;;;;AAMG;AACa,SAAA,uBAAuB,CACnC,aAAqB,EACrB,QAA+B,EAAA;;IAE/B,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,aAAa,EAAE,QAAQ,CAAC;AACpF,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAE9C,IAAI,CAAC,SAAS,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,EAAC,CAAA,EAAA,GAAC,SAA4B,CAAC,KAAK,gDAAE,MAAM,CAAA,EAAE;AACvF,QAAA,OAAO,IAAI;;AAGf,IAAA,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAE,SAA2B,EAAC;AACvE;AAEA;;;;;;;AAOG;SACa,0BAA0B,CACtC,QAA+B,EAC/B,kBAA0B,EAC1B,aAAoC,EAAA;AAEpC,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KACxB,CAAC,KAAK,kBAAkB,IAAI,OAAO,IAAI,IAAI,GAAE,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,IAAI,CAAE,EAAA,EAAA,KAAK,EAAE,aAAa,EAAE,CAAA,GAAE,IAAI,CACvF;AACL;AAUA;;;;;;;;;AASG;AACG,SAAU,oBAAoB,CAChC,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,eAAsC,EAAA;IAEtC,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,EAAE,eAAe,CAAC;IAEtE,IAAI,CAAC,SAAS,EAAE;AACZ,QAAA,OAAO,IAAI;;AAGf,IAAA,MAAM,EAAC,kBAAkB,EAAE,SAAS,EAAC,GAAG,SAAS;AACjD,IAAA,MAAM,gBAAgB,GAAGC,mDAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;IACvF,MAAM,WAAW,GAAG,0BAA0B,CAC1C,eAAe,EACf,kBAAkB,EAClB,gBAAgB,CACnB;AACD,IAAA,MAAM,aAAa,GAAGC,mDAAyB,CAAC,WAAW,CAAC;AAC5D,IAAA,MAAM,gBAAgB,GAAGA,mDAAyB,CAAC,eAAe,CAAC;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,eAAe,CAAC;IACvF,MAAM,YAAY,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC;AACnF,IAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAElD,OAAO;QACH,WAAW;QACX,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,WAAW;KACd;AACL;;;;;;;;;;"}
@@ -1,5 +0,0 @@
1
- import { MenuItemsWithGroups } from '../../../types';
2
- /**
3
- * Sorts menu items while preserving divider and action positions at their original locations.
4
- */
5
- export declare function sortMenuItemsWithDividers(oldIndex: number, newIndex: number, currentFlatList: MenuItemsWithGroups[]): MenuItemsWithGroups[];
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- var getIsMenuItem = require('./getIsMenuItem.js');
4
-
5
- /** Items that stay at their position when sorting (not draggable). */
6
- function isFixedPositionItem(item) {
7
- return item.type === 'divider' || item.type === 'action';
8
- }
9
- /**
10
- * Sorts menu items while preserving divider and action positions at their original locations.
11
- */
12
- function sortMenuItemsWithDividers(oldIndex, newIndex, currentFlatList) {
13
- const fixedPositionItems = [];
14
- const sortableItems = [];
15
- currentFlatList.forEach((item, index) => {
16
- if (isFixedPositionItem(item)) {
17
- fixedPositionItems.push({ index, item });
18
- }
19
- else if (getIsMenuItem.getIsMenuItem(item)) {
20
- sortableItems.push(item);
21
- }
22
- });
23
- if (sortableItems[oldIndex] === undefined || sortableItems[newIndex] === undefined) {
24
- return currentFlatList;
25
- }
26
- const sortedItems = [...sortableItems];
27
- const [movedElement] = sortedItems.splice(oldIndex, 1);
28
- sortedItems.splice(newIndex, 0, movedElement);
29
- const result = [];
30
- const fixedMap = new Map(fixedPositionItems.map((f) => [f.index, f.item]));
31
- let sortableIndex = 0;
32
- for (let originalIndex = 0; originalIndex < currentFlatList.length; originalIndex++) {
33
- const fixedItem = fixedMap.get(originalIndex);
34
- if (fixedItem) {
35
- result.push(fixedItem);
36
- }
37
- else if (sortableIndex < sortedItems.length) {
38
- result.push(sortedItems[sortableIndex++]);
39
- }
40
- }
41
- return result;
42
- }
43
-
44
- exports.sortMenuItemsWithDividers = sortMenuItemsWithDividers;
45
- //# sourceMappingURL=sortMenuItemsWithDividers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortMenuItemsWithDividers.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {getIsMenuItem} from './getIsMenuItem';\n\n/** Items that stay at their position when sorting (not draggable). */\nfunction isFixedPositionItem(item: MenuItemsWithGroups): boolean {\n return item.type === 'divider' || item.type === 'action';\n}\n\n/**\n * Sorts menu items while preserving divider and action positions at their original locations.\n */\nexport function sortMenuItemsWithDividers(\n oldIndex: number,\n newIndex: number,\n currentFlatList: MenuItemsWithGroups[],\n): MenuItemsWithGroups[] {\n const fixedPositionItems: Array<{index: number; item: MenuItemsWithGroups}> = [];\n const sortableItems: MenuItemsWithGroups[] = [];\n\n currentFlatList.forEach((item, index) => {\n if (isFixedPositionItem(item)) {\n fixedPositionItems.push({index, item});\n } else if (getIsMenuItem(item)) {\n sortableItems.push(item);\n }\n });\n\n if (sortableItems[oldIndex] === undefined || sortableItems[newIndex] === undefined) {\n return currentFlatList;\n }\n\n const sortedItems = [...sortableItems];\n const [movedElement] = sortedItems.splice(oldIndex, 1);\n sortedItems.splice(newIndex, 0, movedElement);\n\n const result: MenuItemsWithGroups[] = [];\n const fixedMap = new Map(fixedPositionItems.map((f) => [f.index, f.item]));\n let sortableIndex = 0;\n\n for (let originalIndex = 0; originalIndex < currentFlatList.length; originalIndex++) {\n const fixedItem = fixedMap.get(originalIndex);\n\n if (fixedItem) {\n result.push(fixedItem);\n } else if (sortableIndex < sortedItems.length) {\n result.push(sortedItems[sortableIndex++]);\n }\n }\n\n return result;\n}\n"],"names":["getIsMenuItem"],"mappings":";;;;AAIA;AACA,SAAS,mBAAmB,CAAC,IAAyB,EAAA;IAClD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;AAC5D;AAEA;;AAEG;SACa,yBAAyB,CACrC,QAAgB,EAChB,QAAgB,EAChB,eAAsC,EAAA;IAEtC,MAAM,kBAAkB,GAAsD,EAAE;IAChF,MAAM,aAAa,GAA0B,EAAE;IAE/C,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACpC,QAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAC3B,kBAAkB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;;AACnC,aAAA,IAAIA,2BAAa,CAAC,IAAI,CAAC,EAAE;AAC5B,YAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEhC,KAAC,CAAC;AAEF,IAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;AAChF,QAAA,OAAO,eAAe;;AAG1B,IAAA,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC;AACtC,IAAA,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC;IAE7C,MAAM,MAAM,GAA0B,EAAE;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,IAAI,aAAa,GAAG,CAAC;AAErB,IAAA,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;QACjF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QAE7C,IAAI,SAAS,EAAE;AACX,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;;AACnB,aAAA,IAAI,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;;;AAIjD,IAAA,OAAO,MAAM;AACjB;;;;"}
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- type ScrollbarState = {
3
- scrollTop: number;
4
- scrollHeight: number;
5
- clientHeight: number;
6
- };
7
- type UseScrollbarOptions = {
8
- recalcDeps?: React.DependencyList;
9
- };
10
- export declare function useScrollbar(options?: UseScrollbarOptions): {
11
- scrollRef: React.RefObject<HTMLDivElement>;
12
- scrollState: ScrollbarState;
13
- updateScrollState: () => void;
14
- showScrollbar: boolean;
15
- thumbHeight: number;
16
- thumbTop: number;
17
- handleThumbMouseDown: (e: React.MouseEvent) => void;
18
- handleTrackClick: (e: React.MouseEvent<HTMLDivElement>) => void;
19
- handleScrollbarKeyDown: (e: React.KeyboardEvent) => void;
20
- };
21
- export {};